Repository: Avaiga/taipy
File: taipy/gui/_renderers/factory.py (Python)

Code before:
                ("columns[mobile]",),
                ("gap",),
            ]
        ),
        "login": lambda gui, control_type, attrs: _Builder(
            gui=gui, control_type=control_type, element_name="Login", attributes=attrs, default_value=None
        )
        .set_value_and_default(default_val="Log-in")
        .set_attributes(
            [
                ("message", PropertyType.dynamic_string),
                ("on_action", PropertyType.function, "on_login"),
            ]
        ),
        "menu": lambda gui, control_type, attrs: _Builder(
            gui=gui,
            control_type=control_type,
            element_name="MenuCtl",
            attributes=attrs,
        )
        .set_attributes(
            [
                ("lov", PropertyType.lov),
                ("label",),
                ("on_action", PropertyType.function),
                ("selected_ids", PropertyType.single_lov),
                ("inactive_ids", PropertyType.dynamic_list),
                ("active", PropertyType.dynamic_boolean, True),
                ("hover_text", PropertyType.dynamic_string),
                ("width",),
                ("width[mobile]",),
            ]
        )
        ._set_propagate(),
        "metric": lambda gui, control_type, attrs: _Builder(
            gui=gui,
            control_type=control_type,
            element_name="Metric",
            attributes=attrs,
        )
        .set_value_and_default(var_type=PropertyType.dynamic_number, native_type=True)
        .set_attributes(
            [
                ("title",),
                ("active", PropertyType.dynamic_boolean, True),
                ("layout", PropertyType.dynamic_dict),
                ("type", PropertyType.string, "circular"),
                ("min", PropertyType.number, 0),
                ("max", PropertyType.number, 100),
                ("delta", PropertyType.dynamic_number),
                ("delta_color", PropertyType.string),

Review comment (suggestion):
`selected_ids` should be named `selected_items` and have property type `lov_value` if it is the result of the selection of `lov`

Code after:
        .set_attributes(
            [
                ("active", PropertyType.dynamic_boolean, True),
                ("hover_text", PropertyType.dynamic_string),
                ("on_change", PropertyType.function),
                ("on_action", PropertyType.function),
                ("action_keys",),
                ("label",),
                ("change_delay", PropertyType.number, gui._get_config("change_delay", None)),
                ("multiline", PropertyType.boolean, False),
                ("lines_shown", PropertyType.number, 5),
                ("width", PropertyType.string_or_number),
            ]
        ),
        "layout": lambda gui, control_type, attrs: _Builder(
            gui=gui, control_type=control_type, element_name="Layout", attributes=attrs, default_value=None
        )
        .set_value_and_default(with_default=False)
        .set_attributes(
            [
                ("columns[mobile]",),
                ("gap",),
            ]
        ),
        "login": lambda gui, control_type, attrs: _Builder(
            gui=gui, control_type=control_type, element_name="Login", attributes=attrs, default_value=None
        )
        .set_value_and_default(default_val="Log-in")
        .set_attributes(
            [
                ("message", PropertyType.dynamic_string),
                ("on_action", PropertyType.function, "on_login"),
            ]
        ),
        "menu": lambda gui, control_type, attrs: _Builder(
            gui=gui,
            control_type=control_type,
            element_name="MenuCtl",
            attributes=attrs,
        )
        .set_attributes(
            [
                ("lov", PropertyType.lov),
                ("label",),
                ("on_action", PropertyType.function),
                ("selected", PropertyType.dynamic_list),
                ("inactive_ids", PropertyType.dynamic_list),
                ("active", PropertyType.dynamic_boolean, True),
                ("hover_text", PropertyType.dynamic_string),
                ("width",),
                ("width[mobile]",),