class GizmoItem(BaseSettingsModel):
    """Nuke gizmo item """
    toolbar_menu_name: str = SettingsField(
        title="Toolbar Menu Name"
    )
    toolbar_icon_path: MultiplatformPathModel = SettingsField(
        default_factory=MultiplatformPathModel,
        title="Toolbar Icon Path",
        description="Leave it empty to use the AYON icon."
    )
    options: str = SettingsField(
        "gizmo_source_dir",
        title="Gizmo Menu Options",
        description="Switch between gizmo menu options",
        enum_resolver=gizmo_enum_options,
        conditional_enum=True,
        section="Gizmos"
    )
    gizmo_source_dir: MultiplatformPathListModel = SettingsField(
        default_factory=MultiplatformPathListModel,
        title="Gizmo Directory Path"
    )
    gizmo_definition: list[GizmoDefinitionItem] = SettingsField(
        default_factory=list, title="Gizmo Definition")