/********************************************************
+*   (c) Mojang. All rights reserved                       *
+*   (c) Microsoft. All rights reserved.                   *
+*********************************************************/

{
  "namespace": "common_toggles",

  "content_toggle_image_panel": {
    "ignored": "$ignore_content_toggle_image",
    "type": "panel",
    "$content_toggle_image_size|default": [ "100%c", "100%" ],
    "$content_toggle_image_panel_size|default": [ "100%c", "100%" ],
    "size": "$content_toggle_image_panel_size",
    "$content_toggle_variables|default": [],
    "variables": "$content_toggle_variables",
    "controls": [
      {
        "icon": {
          "type": "image",
          "$content_toggle_image_size|default": [ 24, 24 ],
          "$content_toggle_image_uv|default": [],
          "$content_toggle_image_uv_size|default": [],
          "size": "$content_toggle_image_size",
          "texture": "$content_toggle_image",
          "$content_toggle_image_color_binding|default": "$f_color_format",
          "color": "$content_toggle_image_color_binding",
          "uv": "$content_toggle_image_uv",
          "uv_size": "$content_toggle_image_uv_size",
          "$content_toggle_image_binding_type|default": "none",
          "$content_toggle_image_binding_condition|default": "none",
          "bindings": [
            {
              "binding_name": "$content_toggle_image_color_binding",
              "binding_name_override": "#color",
              "binding_type": "$content_toggle_image_binding_type",
              "binding_condition": "$content_toggle_image_binding_condition",
              "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
              "binding_collection_name": "$toggle_grid_collection_name"
            },
            {
              "binding_type": "$toggle_parent_collection_details",
              "binding_collection_name": "$toggle_parent_collection_details_name",
              "binding_collection_prefix": "$toggle_parent_collection_details_prefix"
            }
          ]
        }
      }
    ]
  },

  "content_toggle_label_panel": {
    "type": "panel",
    "size": [ "fill", "100%" ],
    "controls": [
      {
        "toggle_label": {
          "type": "label",
          "layer": 3,
          "$content_toggle_label_size|default": [ "100%", "default" ],
          "size": "$content_toggle_label_size",
          "$content_toggle_label_max_size|default": [ "100%", "100% - 4px" ],
          "max_size": "$content_toggle_label_max_size",
          "$content_toggle_label_offset|default": [ 0, 0 ],
          "offset": "$content_toggle_label_offset",
          "text_alignment": "left",
          "color": "$text_color",
          "$content_toggle_label|default": "#content_toggle_label",
          "text": "$content_toggle_label",
          "$content_toggle_label_tts_override|default": "",
          "tts_override_control_value": "$content_toggle_label_tts_override",
          "$content_toggle_label_font_type|default": "default",
          "font_type": "$content_toggle_label_font_type",
          "$content_toggle_label_font_scale_factor|default": 1.0,
          "font_scale_factor": "$content_toggle_label_font_scale_factor",
          "$content_toggle_label_binding_type|default": "none",
          "$content_toggle_label_binding_condition|default": "none",
          "$content_toggle_label_tts_override_binding_type|default": "none",
          "bindings": [
            {
              "binding_type": "$content_toggle_label_binding_type",
              "binding_condition": "$content_toggle_label_binding_condition",
              "binding_collection_name": "$toggle_grid_collection_name",
              "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
              "binding_name": "$content_toggle_label"
            },
            {
              "binding_type": "$toggle_parent_collection_details",
              "binding_collection_name": "$toggle_parent_collection_details_name",
              "binding_collection_prefix": "$toggle_parent_collection_details_prefix"
            },
            {
              "binding_type": "$content_toggle_label_tts_override_binding_type",
              "binding_condition": "$content_toggle_label_binding_condition",
              "binding_collection_name": "$toggle_grid_collection_name",
              "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
              "binding_name": "$content_toggle_label_tts_override"
            }
          ]
        }
      }
    ]
  },

  "content_toggle_icon_panel": {
    "ignored": "$ignore_content_toggle_icon",
    "type": "panel",
    "$content_toggle_icon_panel_size|default": [ 10, "100%" ],
    "size": "$content_toggle_icon_panel_size",

    "$checked_toggle_icon|default": "textures/ui/checkbox_check",
    "$checked_hover_toggle_icon|default": "textures/ui/checkbox_checkHover",
    "$unchecked_toggle_icon|default": "textures/ui/checkbox_space",
    "$unchecked_hover_toggle_icon|default": "textures/ui/checkbox_spaceHover",

    "controls": [
      {
        "content_toggle_image": {
          "type": "image",
          "$content_toggle_icon_size|default": [ 10, 10 ],
          "size": "$content_toggle_icon_size",

          "$content_toggle_icon_bindings|default": [],
          "bindings": "$content_toggle_icon_bindings",

          "$content_toggle_icon|default": "$checked_toggle_icon",
          "variables": [
            {
              "requires": "$toggle_checked_hover",
              "$content_toggle_icon": "$checked_hover_toggle_icon"
            },
            {
              "requires": "$toggle_unchecked",
              "$content_toggle_icon": "$unchecked_toggle_icon"
            },
            {
              "requires": "$toggle_unchecked_hover",
              "$content_toggle_icon": "$unchecked_hover_toggle_icon"
            }
          ],

          "texture": "$content_toggle_icon"
        }
      }
    ]
  },

  "toggle_content_panel": {
    "type": "stack_panel",
    "orientation": "horizontal",
    "$toggle_content_panel_size|default": [ "100% - 4px", "100% - 4px" ],
    "size": "$toggle_content_panel_size",
    "$toggle_content_panel_offset|default": [ 0, 0 ],
    "offset": "$toggle_content_panel_offset",
    "$toggle_content_panel_anchor|default": "center",
    "anchor_to": "$toggle_content_panel_anchor",
    "anchor_from": "$toggle_content_panel_anchor",
    "layer": 3,
    "$ignore_content_toggle_icon|default": false,
    "$ignore_content_toggle_image|default": false,
    "$content_toggle_image_panel|default": "common_toggles.content_toggle_image_panel",
    "$content_toggle_panel_content|default": "common_toggles.content_toggle_label_panel",
    "controls": [
      {
        "toggle_image_panel@$content_toggle_image_panel": {
          "ignored": "$ignore_content_toggle_image"
        }
      },
      {
        "toggle_image_padding_label": {
          "ignored": "$ignore_content_toggle_image",
          "type": "panel",
          "size": [ 4, "100%" ]
        }
      },
      {
        "toggle_label_panel@$content_toggle_panel_content": {}
      },
      {
        "toggle_label_padding_toggle_icon": {
          "type": "panel",
          "size": [ 6, "100%" ]
        }
      },
      {
        "toggle_icon@common_toggles.content_toggle_icon_panel": {
          "ignored": "$ignore_content_toggle_icon"
        }
      }
    ]
  },

  "vertical_form_fitting_toggle_content": {
    "type": "stack_panel",
    "orientation": "horizontal",
    "size": [ "100%", "100%c" ],

    "$toggle_content_panel_size": [ "100% - 4px", "100% + 4px" ],
    "$content_toggle_image_size": [ "100%c", "100%sm" ],
    "$content_toggle_icon_panel_size": [ "100%c", "100%sm" ],

    "$toggle_content_panel_offset|default": [ 0, 0 ],
    "offset": "$toggle_content_panel_offset",
    "$toggle_content_panel_anchor|default": "center",
    "anchor_to": "$toggle_content_panel_anchor",
    "anchor_from": "$toggle_content_panel_anchor",
    "layer": 3,
    "$ignore_content_toggle_icon|default": false,
    "$ignore_content_toggle_image|default": false,
    "$content_toggle_image_panel|default": "common_toggles.content_toggle_image_panel",
    "$content_toggle_panel_content|default": "common_toggles.content_toggle_label_panel",
    "controls": [
      {
        "toggle_image_panel@$content_toggle_image_panel": {
          "ignored": "$ignore_content_toggle_image"
        }
      },
      {
        "toggle_image_padding_label": {
          "ignored": "$ignore_content_toggle_image",
          "type": "panel",
          "size": [ 4, "100%sm" ]
        }
      },
      {
        "toggle_label_panel@$content_toggle_panel_content": {
          "size": [ "fill", "100%c" ],
          "$content_toggle_label_max_size": [ "100%", 30 ]
        }
      },
      {
        "toggle_label_padding_toggle_icon": {
          "type": "panel",
          "size": [ 6, "100%sm" ]
        }
      },
      {
        "toggle_icon@common_toggles.content_toggle_icon_panel": {
          "ignored": "$ignore_content_toggle_icon"
        }
      }
    ]
  },

  /////////////////////////////////
  //
  //  TOGGLE BUTTON NO COLLECTION
  //
  /////////////////////////////////

  "light_text_toggle@common_toggles.light_ui_toggle": {
    "$button_type_panel": "common_buttons.new_ui_binding_button_label",
    "$button_offset|default": [ 0, 0 ],
    "$button_text|default": "",
    "$pressed_alpha|default": 1,

    // For text bindings
    "$button_text_binding_type|default": "none",
    "$button_text_grid_collection_name|default": "",
    "$button_binding_condition|default": "none"
  },

  "light_image_toggle@common_toggles.light_ui_toggle": {
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_image",
    "$button_offset|default": [ 0, 0 ]
  },

  "light_content_toggle@common_toggles.light_ui_toggle": {
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_content_panel",
    "$button_offset|default": [ 0, 0 ]
  },

  "dark_ui_toggle@common_toggles.light_ui_toggle": {
    "$template_toggle": "common_toggles.dark_template_toggle"
  },

  "dark_text_toggle@common_toggles.dark_ui_toggle": {
    "$button_type_panel": "common_buttons.new_ui_binding_button_label",
    "$button_offset|default": [ 0, 0 ],
    "$button_text|default": "",
    "$pressed_alpha|default": 1,

    // For text bindings
    "$button_text_binding_type|default": "none",
    "$button_text_grid_collection_name|default": "",
    "$button_binding_condition|default": "none"
  },

  "dark_image_toggle@common_toggles.dark_ui_toggle": {
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_image",
    "$button_offset|default": [ 0, 0 ]
  },

  "dark_content_toggle@common_toggles.dark_ui_toggle": {
    "size": [ "100%", "100%" ],
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_content_panel",
    "$button_offset|default": [ 0, 0 ]
  },

  "dark_vertical_template_toggle@common_toggles.dark_template_toggle": {
    "size": [ "100%", "100%c" ]
  },

  "dark_vertical_form_fitting_content_toggle": {
    "type": "panel",
    "size": [ "100%", "100%c" ],

    "$toggle_state_panel_size": [ "100%", "100%c" ],
    "$toggle_button_type_panel|default": "common_buttons.height_fitting_button_content_panel",
    "$button_type_panel": "$toggle_button_type_panel",
    "$button_content|default": "common_toggles.vertical_form_fitting_toggle_content",
    "$ui_button_panel": "common_buttons.new_ui_height_fitting_button_panel",
    "$button_offset|default": [ 0, 0 ],

    "controls": [
      {
        "dark_content_toggle@common_toggles.light_ui_toggle": {
          "size": [ "100%", "100%c" ],
          "$template_toggle": "common_toggles.dark_vertical_template_toggle"
        }
      }
    ]
  },

  "dark_template_toggle@common_toggles.light_template_toggle": {
    "$default_texture|default": "textures/ui/button_borderless_dark",
    "$hover_texture|default": "textures/ui/button_borderless_darkpressednohover",
    "$pressed_texture|default": "textures/ui/button_borderless_darkhover",
    "$pressed_no_hover_texture|default": "textures/ui/button_borderless_darkpressed",

    "$default_text_color|default": "$dark_toggle_default_text_color",
    "$hover_text_color|default": "$dark_toggle_hover_text_color",
    "$default_checked_text_color|default": "$dark_toggle_checked_default_text_color",
    "$hover_checked_text_color|default": "$dark_toggle_checked_hover_text_color",

    "$default_glyph_color|default": "$dark_glyph_toggle_default_color",
    "$hover_glyph_color|default": "$dark_glyph_toggle_hover_color",
    "$default_checked_glyph_color|default": "$dark_glyph_toggle_checked_default_color",
    "$hover_checked_glyph_color|default": "$dark_glyph_toggle_checked_hover_color"
  },

  "light_template_toggle@common.toggle": {
    "$unchecked_control|default": "common_toggles.toggle_unchecked",
    "$checked_control|default": "common_toggles.toggle_checked",
    "$unchecked_hover_control|default": "common_toggles.toggle_unchecked_hover",
    "$checked_hover_control|default": "common_toggles.toggle_checked_hover",
    "$unchecked_locked_control|default": "common_toggles.toggle_locked",
    "$unchecked_locked_hover_control|default": "common_toggles.toggle_locked",
    "$checked_locked_control|default": "common_toggles.toggle_locked",
    "$checked_locked_hover_control|default": "common_toggles.toggle_locked",

    "$default_texture|default": "textures/ui/button_borderless_light",
    "$hover_texture|default": "textures/ui/button_borderless_lightpressednohover",
    "$pressed_texture|default": "textures/ui/button_borderless_lighthover",
    "$pressed_no_hover_texture|default": "textures/ui/button_borderless_lightpressed",
    "$locked_texture|default": "textures/ui/disabledButtonNoBorder",
    "$default_chevron|default": "textures/ui/dropdown_chevron",
    "$default_chevron_nohover|default": "textures/ui/dropdown_chevron",
    "$default_chevron_hover|default": "textures/ui/chevron_white_down",

    "$default_texture_alpha|default": 1.0,
    "$default_checked_texture_alpha|default": 1.0,
    "$hover_texture_alpha|default": 1.0,
    "$hover_checked_texture_alpha|default": 1.0,

    "$default_texture_color|default": "$f_color_format",
    "$default_checked_texture_color|default": "$f_color_format",
    "$hover_texture_color|default": "$f_color_format",
    "$hover_checked_texture_color|default": "$f_color_format",

    "$default_text_color|default": "$light_toggle_default_text_color",
    "$hover_text_color|default": "$light_toggle_hover_text_color",
    "$default_checked_text_color|default": "$light_toggle_checked_default_text_color",
    "$hover_checked_text_color|default": "$light_toggle_checked_hover_text_color",

    "$default_glyph_color|default": "$light_glyph_toggle_default_color",
    "$hover_glyph_color|default": "$light_glyph_toggle_hover_color",
    "$default_checked_glyph_color|default": "$light_glyph_toggle_checked_default_color",
    "$hover_checked_glyph_color|default": "$light_glyph_toggle_checked_hover_color",

    "$checked_image|default": "common.empty_panel",
    "$unchecked_image|default": "common.empty_panel",
    "$default_border_visible|default": true,
    "$hover_border_visible|default": true,
    "$default_border_color": "$light_border_toggle_default_color",
    "$hover_border_color": "$light_border_toggle_hover_color",
    "$locked_alpha": 1,

    "$toggle_binding_type|default": "none",
    "$toggle_parent_collection_details|default": "none",
    "$toggle_parent_collection_details_name|default": "",
    "$toggle_parent_collection_details_prefix|default": "",
    "$toggle_enabled_binding_type|default": "none",
    "$toggle_property_bag_binding_type|default": "none",
    "$toggle_property_bag_binding_condition|default": "visible",
    "$toggle_property_bag_binding_name|default": "#fill_toggle_property_bag",
    "$toggle_tab_focus_binding_type|default": "none",
    "$toggle_tab_focus_id_binding_type|default": "none",
    "$toggle_tab_focus_override_left_binding_type|default": "none",
    "$toggle_tab_focus_override_right_binding_type|default": "none",
    "$toggle_tab_focus_override_down_binding_type|default": "none",
    "$toggle_tab_focus_override_up_binding_type|default": "none",
    "$toggle_on_hover_binding_type|default": "none",
    "$toggle_tab_focus_binding_name|default": "",
    "$toggle_tab_focus_id_binding_name|default": "",
    "$toggle_tab_focus_override_right|default": "#focus_override_right",
    "$toggle_tab_focus_override_down|default": "#focus_override_down",
    "$toggle_tab_focus_override_up|default": "#focus_override_up",
    "$toggle_tab_focus_override_left|default": "#focus_override_left",
    "$toggle_on_hover_binding_name|default": "",
    "$toggle_focus_wrap_enabled|default": true,
    "$toggle_focus_magnet_enabled|default": true,

    "$toggle_unchecked|default": false,
    "$toggle_unchecked_hover|default": false,
    "$toggle_checked|default": false,
    "$toggle_checked_hover|default": false,

    "$default_state|default": false,
    "$hover_state|default": false,
    "$pressed_state|default": false,
    "$locked_state|default": false,

    "$enable_hover_event_mapping|default": false,
    "$toggle_hover_event_mapping|default": "",

    "$enable_focus_id_bind|default": false,
    "$focus_id_binding_name|default": "",

    "$enable_focus_enabled_bind|default": false,
    "$focus_enabled_binding_name|default": "",

    "$toggle_consume_hover_events|default": true,
    "consume_hover_events": "$toggle_consume_hover_events",

    "$button_mappings|default": [
      {
        "from_button_id": "button.menu_select",
        "to_button_id": "button.menu_select",
        "mapping_type": "pressed"
      },
      {
        "from_button_id": "button.menu_ok",
        "to_button_id": "button.menu_ok",
        "mapping_type": "focused"
      },
      {
        "from_button_id": "button.controller_back",
        "to_button_id": "button.controller_back",
        "mapping_type": "focused",
        "ignored": "(not $allow_controller_back_button_mapping)"
      },
      {
        "ignored": "(not $enable_directional_toggling)",
        "from_button_id": "button.menu_left",
        "to_button_id": "$toggle_off_button",
        "mapping_type": "pressed",
        "input_mode_condition": "gamepad"
      },
      {
        "ignored": "(not $enable_directional_toggling)",
        "from_button_id": "button.menu_right",
        "to_button_id": "$toggle_on_button",
        "mapping_type": "pressed",
        "input_mode_condition": "gamepad"
      },
      {
        "ignored": "(not $enable_hover_event_mapping)",
        "to_button_id": "$toggle_hover_event_mapping",
        "mapping_type": "pressed"
      }
    ],

    "focus_wrap_enabled": "$toggle_focus_wrap_enabled",
    "focus_magnet_enabled": "$toggle_focus_magnet_enabled",

    "$custom_toggle_binding_type|default": "none",
    "$custom_toggle_binding_condition|default": "visible",
    "$custom_toggle_state_binding_name|default": "",
    "$custom_toggle_state_binding_name_override|default": "",

    "$toggle_tts_header_binding_type|default": "none",
    "$toggle_tts_header_binding_condition|default": "visible",
    "$toggle_tts_header_binding_collection_name|default": "",
    "$toggle_tts_header|default": "",

    "button_mappings": "$button_mappings",
    "$toggle_bindings|default": [
      {
        "binding_type": "$toggle_binding_type",
        "binding_condition": "$toggle_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_state_binding_name",
        "binding_name_override": "#toggle_state"
      },
      {
        "binding_type": "$toggle_enabled_binding_type",
        "binding_condition": "$toggle_enabled_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_enabled_binding_name",
        "binding_name_override": "#enabled"
      },
      {
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_type": "collection_details",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix"
      },
      {
        "binding_type": "$toggle_parent_collection_details",
        "binding_collection_name": "$toggle_parent_collection_details_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix"
      },
      {
        "binding_type": "$toggle_property_bag_binding_type",
        "binding_condition": "$toggle_property_bag_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_property_bag_binding_name"
      },
      {
        "binding_type": "$toggle_tab_focus_binding_type",
        "binding_name": "$toggle_tab_focus_binding_name",
        "binding_name_override": "#default_focus_precedence"
      },
      {
        "binding_type": "$toggle_tab_focus_id_binding_type",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_tab_focus_id_binding_name",
        "binding_name_override": "#focus_identifier"
      },
      {
        "binding_type": "$toggle_tab_focus_override_right_binding_type",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_tab_focus_override_right",
        "binding_name_override": "#focus_change_right"
      },
      {
        "binding_type": "$toggle_tab_focus_override_left_binding_type",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_tab_focus_override_left",
        "binding_name_override": "#focus_change_left"
      },
      {
        "binding_type": "$toggle_tab_focus_override_down_binding_type",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_tab_focus_override_down",
        "binding_name_override": "#focus_change_down"
      },
      {
        "binding_type": "$toggle_tab_focus_override_up_binding_type",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$toggle_tab_focus_override_up",
        "binding_name_override": "#focus_change_up"
      },
      {
        "binding_type": "$toggle_on_hover_binding_type",
        "binding_name": "$toggle_on_hover_binding_name",
        "binding_name_override": "#toggle_on_hover"
      },
      {
        "binding_type": "$custom_toggle_binding_type",
        "binding_condition": "$custom_toggle_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_name": "$custom_toggle_state_binding_name",
        "binding_name_override": "$custom_toggle_state_binding_name_override"
      },
      {
        "binding_type": "$toggle_tts_header_binding_type",
        "binding_condition": "$toggle_tts_header_binding_condition",
        "binding_collection_name": "$toggle_tts_header_binding_collection_name",
        "binding_name": "$toggle_tts_header"
      },
      {
        "ignored": "(not $enable_focus_id_bind)",
        "binding_name": "$focus_id_binding_name",
        "binding_name_override": "#focus_identifier"
      },
      {
        "ignored": "(not $enable_focus_enabled_bind)",
        "binding_name": "$focus_enabled_binding_name",
        "binding_name_override": "#focus_enabled"
      }
    ],
    "bindings": "$toggle_bindings"
  },

  "light_ui_toggle": {
    "type": "panel",

    "$toggle_view_binding_name|default": "this_toggle",
    "$template_toggle|default": "common_toggles.light_template_toggle",

    "controls": [
      {
        // done as a child to allow for parent bindings
        "$toggle_view_binding_name@$template_toggle": {
        }
      }
    ]
  },

  "switch_toggle@common_toggles.light_image_toggle": {
    "$unchecked_control": "common_toggles.toggle_unchecked",
    "$checked_control": "common_toggles.toggle_checked",
    "$unchecked_hover_control": "common_toggles.toggle_unchecked_hover",
    "$checked_hover_control": "common_toggles.toggle_checked_hover",
    "$unchecked_locked_control": "common_toggles.toggle_unchecked_locked",
    "$unchecked_locked_hover_control": "common_toggles.toggle_unchecked_locked",
    "$checked_locked_control": "common_toggles.toggle_checked_locked",
    "$checked_locked_hover_control": "common_toggles.toggle_checked_locked",

    "$default_texture": "textures/ui/toggle_off",
    "$hover_texture": "textures/ui/toggle_on",
    "$pressed_texture": "textures/ui/toggle_off_hover",
    "$pressed_no_hover_texture": "textures/ui/toggle_on_hover",
    "$unchecked_locked_texture": "textures/ui/toggle_off",
    "$checked_locked_texture": "textures/ui/toggle_on",

    "$border_visible": false,
    "$locked_alpha": 0.5
  },


  /////////////////////////////////
  //
  //  TOGGLE BUTTON FOR COLLECTION
  //
  /////////////////////////////////

  "light_text_toggle_collection@common_toggles.light_ui_toggle_collection": {
    "$button_type_panel": "common_buttons.new_ui_binding_button_label",
    "$button_offset|default": [ 0, 0 ],
    "$button_text|default": "",
    "$pressed_alpha|default": 1,

    // For text bindings
    "$button_text_binding_type|default": "none",
    "$button_text_grid_collection_name|default": "",
    "$button_binding_condition|default": "none"
  },

  "light_image_toggle_collection@common_toggles.light_ui_toggle_collection": {
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_image",
    "$button_offset|default": [ 0, 0 ]
  },

  "dark_text_toggle_collection@common_toggles.dark_ui_toggle_collection": {
    "$button_type_panel": "common_buttons.new_ui_binding_button_label",
    "$button_offset|default": [ 0, 0 ],
    "$button_text|default": "",
    "$pressed_alpha|default": 1,

    // For text bindings
    "$button_text_binding_type|default": "none",
    "$button_text_grid_collection_name|default": "",
    "$button_binding_condition|default": "none"
  },

  "dark_image_toggle_collection@common_toggles.dark_ui_toggle_collection": {
    "$button_type_panel": "common_buttons.button_content_panel",
    "$button_content|default": "common_toggles.toggle_image",
    "$button_offset|default": [ 0, 0 ]
  },


  "dark_ui_toggle_collection@common_toggles.light_ui_toggle_collection": {
    "$default_texture|default": "textures/ui/button_borderless_dark",
    "$hover_texture|default": "textures/ui/button_borderless_darkpressednohover",
    "$pressed_texture|default": "textures/ui/button_borderless_darkhover",
    "$pressed_no_hover_texture|default": "textures/ui/button_borderless_darkpressed",

    "$default_text_color|default": "$dark_toggle_default_text_color",
    "$hover_text_color|default": "$dark_toggle_hover_text_color",
    "$default_checked_text_color|default": "$dark_toggle_checked_default_text_color",
    "$hover_checked_text_color|default": "$dark_toggle_checked_hover_text_color",

    "$default_glyph_color|default": "$dark_glyph_toggle_default_color",
    "$hover_glyph_color|default": "$dark_glyph_toggle_hover_color",
    "$default_checked_glyph_color|default": "$dark_glyph_toggle_checked_default_color",
    "$hover_checked_glyph_color|default": "$dark_glyph_toggle_checked_hover_color"
  },

  "light_ui_toggle_collection": {
    "type": "panel",

    "$unchecked_control|default": "common_toggles.toggle_unchecked",
    "$checked_control|default": "common_toggles.toggle_checked",
    "$unchecked_hover_control|default": "common_toggles.toggle_unchecked_hover",
    "$checked_hover_control|default": "common_toggles.toggle_checked_hover",
    "$unchecked_locked_control|default": "common_toggles.toggle_locked",
    "$unchecked_locked_hover_control|default": "common_toggles.toggle_locked",
    "$checked_locked_control|default": "common_toggles.toggle_locked",
    "$checked_locked_hover_control|default": "common_toggles.toggle_locked",

    "$default_texture|default": "textures/ui/button_borderless_light",
    "$hover_texture|default": "textures/ui/button_borderless_lightpressednohover",
    "$pressed_texture|default": "textures/ui/button_borderless_lighthover",
    "$pressed_no_hover_texture|default": "textures/ui/button_borderless_lightpressed",
    "$locked_texture|default": "textures/ui/disabledButtonNoBorder",

    "$default_texture_alpha|default": 1.0,
    "$default_checked_texture_alpha|default": 1.0,
    "$hover_texture_alpha|default": 1.0,
    "$hover_checked_texture_alpha|default": 1.0,

    "$default_texture_color|default": "$f_color_format",
    "$default_checked_texture_color|default": "$f_color_format",
    "$hover_texture_color|default": "$f_color_format",
    "$hover_checked_texture_color|default": "$f_color_format",

    "$default_text_color|default": "$light_toggle_default_text_color",
    "$hover_text_color|default": "$light_toggle_hover_text_color",
    "$default_checked_text_color|default": "$light_toggle_checked_default_text_color",
    "$hover_checked_text_color|default": "$light_toggle_checked_hover_text_color",

    "$default_glyph_color|default": "$light_glyph_toggle_default_color",
    "$hover_glyph_color|default": "$light_glyph_toggle_hover_color",
    "$default_checked_glyph_color|default": "$light_glyph_toggle_checked_default_color",
    "$hover_checked_glyph_color|default": "$light_glyph_toggle_checked_hover_color",

    "$checked_image|default": "common.empty_panel",
    "$unchecked_image|default": "common.empty_panel",
    "$default_border_visible|default": true,
    "$hover_border_visible|default": true,
    "$default_border_color": "$dark_border_toggle_default_color",
    "$hover_border_color": "$dark_border_toggle_hover_color",
    "$locked_alpha": 1,

    "$toggle_binding_type|default": "none",
    "$toggle_enabled_binding_type|default": "none",
    "$toggle_tab_focus_binding_type|default": "none",
    "$toggle_on_hover_binding_type|default": "none",
    "$toggle_view_binding_name|default": "this_toggle",
    "$template_toggle|default": "common.toggle",
    "$toggle_tab_focus_binding_name|default": "",
    "$toggle_on_hover_binding_name|default": "",

    "$toggle_unchecked|default": false,
    "$toggle_unchecked_hover|default": false,
    "$toggle_checked|default": false,
    "$toggle_checked_hover|default": false,
    "$toggle_locked|default": false,
    "$toggle_parent_collection_details_prefix|default": "",

    "$toggle_focus_wrap_enabled|default": true,
    "$toggle_focus_magnet_enabled|default": true,
    "$toggle_bindings|default": [
      {
        "binding_type": "$toggle_binding_type",
        "binding_condition": "$toggle_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
        "binding_name": "$toggle_state_binding_name",
        "binding_name_override": "#toggle_state"
      },
      {
        "binding_type": "$toggle_enabled_binding_type",
        "binding_condition": "$toggle_enabled_binding_condition",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
        "binding_name": "$toggle_enabled_binding_name",
        "binding_name_override": "#enabled"
      },
      {
        "binding_type": "collection_details",
        "binding_collection_name": "$toggle_grid_collection_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix"
      },
      {
        "binding_type": "$toggle_tab_focus_binding_type",
        "binding_name": "$toggle_tab_focus_binding_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
        "binding_name_override": "#default_focus_precedence"
      },
      {
        "binding_type": "$toggle_on_hover_binding_type",
        "binding_name": "$toggle_on_hover_binding_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
        "binding_name_override": "#toggle_on_hover"
      },
      {
        "binding_type": "$toggle_tts_header_binding_type",
        "binding_collection_name": "$toggle_tts_header_binding_collection_name",
        "binding_collection_prefix": "$toggle_parent_collection_details_prefix",
        "binding_name": "$toggle_tts_header"
      }
    ],

    "controls": [
      {
        // done as a child to allow for parent bindings
        "$toggle_view_binding_name@$template_toggle": {
          "focus_wrap_enabled": false,
          "bindings": "$toggle_bindings"
        }
      }
    ]
  },

  "switch_toggle_collection@common_toggles.light_image_toggle_collection": {
    "$unchecked_control": "common_toggles.toggle_unchecked",
    "$checked_control": "common_toggles.toggle_checked",
    "$unchecked_hover_control": "common_toggles.toggle_unchecked_hover",
    "$checked_hover_control": "common_toggles.toggle_checked_hover",
    "$unchecked_locked_control": "common_toggles.toggle_unchecked_locked",
    "$unchecked_locked_hover_control": "common_toggles.toggle_unchecked_locked",
    "$checked_locked_control": "common_toggles.toggle_checked_locked",
    "$checked_locked_hover_control": "common_toggles.toggle_checked_locked",

    "$default_texture": "textures/ui/toggle_off",
    "$hover_texture": "textures/ui/toggle_on",
    "$pressed_texture": "textures/ui/toggle_off_hover",
    "$pressed_no_hover_texture": "textures/ui/toggle_on_hover",
    "$unchecked_locked_texture": "textures/ui/toggle_off",
    "$checked_locked_texture": "textures/ui/toggle_on",

    "$border_visible": false,
    "$locked_alpha": 0.5
  },

  "toggle_state_panel": {
    "type": "panel",

    "$toggle_state_panel_size|default": [ "100%", "100%" ],
    "size": "$toggle_state_panel_size",

    "$ui_button_panel|default": "common_buttons.new_ui_button_panel",
    "controls": [
      { "button_panel@$ui_button_panel": {} }
    ]
  },

  "toggle_unchecked@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$default_texture",
    "$content_alpha": "$default_texture_alpha",
    "$button_image_color": "$default_texture_color",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "$unchecked_image",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_unchecked": true,
    "$default_state": true,
    "layer": 1
  },

  "toggle_checked@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$hover_texture",
    "$content_alpha": "$default_checked_texture_alpha",
    "$button_image_color": "$default_checked_texture_color",
    "$text_color": "$default_checked_text_color",
    "$glyph_color": "$default_checked_glyph_color",
    "$toggle_image": "$checked_image",
    "$border_layer": 2,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_checked": true,
    "$pressed_state": true,
    "layer": 2
  },

  "toggle_unchecked_hover@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$pressed_texture",
    "$content_alpha": "$hover_texture_alpha",
    "$button_image_color": "$hover_texture_color",
    "$text_color": "$hover_text_color",
    "$glyph_color": "$hover_glyph_color",
    "$toggle_image": "$unchecked_image",
    "$border_layer": 3,
    "$border_visible": "$hover_border_visible",
    "$border_color": "$hover_border_color",
    "$toggle_unchecked_hover": true,
    "$hover_state": true,
    "layer": 3
  },

  "toggle_checked_hover@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$pressed_no_hover_texture",
    "$content_alpha": "$hover_checked_texture_alpha",
    "$button_image_color": "$hover_checked_texture_color",
    "$text_color": "$hover_checked_text_color",
    "$glyph_color": "$hover_checked_glyph_color",
    "$toggle_image": "$checked_image",
    "$border_layer": 4,
    "$border_visible": "$hover_border_visible",
    "$border_color": "$hover_border_color",
    "$toggle_checked_hover": true,
    "$pressed_state": true,
    "layer": 4
  },

  "toggle_locked@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$locked_texture",
    "$content_alpha": "$locked_alpha",
    "$button_image_color": "$default_texture_color",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "$unchecked_image",
    "$button_image": "common_buttons.locked_button_image",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_locked": true,
    "$default_state": true,
    "layer": 1
  },

  "toggle_unchecked_locked@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$unchecked_locked_texture",
    "$content_alpha": "$locked_alpha",
    "$button_image_color": "$default_texture_color",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "$unchecked_image",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_locked": true,
    "$default_state": true,
    "layer": 1
  },

  "toggle_checked_locked@common_toggles.toggle_state_panel": {
    "$new_ui_button_texture": "$checked_locked_texture",
    "$content_alpha": "$locked_alpha",
    "$button_image_color": "$default_checked_texture_color",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "$checked_image",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_locked": true,
    "$pressed_state": true,
    "layer": 1
  },

  "toggle_unchecked_hover_with_chevron@toggle_unchecked_hover": {
    "$default_chevron": "$default_chevron_hover"
  },

  "toggle_checked_hover_with_chevron@toggle_checked_hover": {
    "$default_chevron": "$default_chevron_nohover"
  },

  "toggle_image": {
    "type": "panel",
    "controls": [
      { "image@$toggle_image": {} }
    ]
  },

  /////////////////////////////////
  //
  //  RADIO IMAGES
  //
  /////////////////////////////////

  "radio_off_icon": {
    "type": "image",
    "texture": "textures/ui/radio_off",
    "size": [ 10, 10 ]
  },

  "radio_off_hover_icon": {
    "type": "image",
    "texture": "textures/ui/radio_off_hover",
    "size": [ 10, 10 ]
  },

  "radio_on_icon": {
    "type": "image",
    "texture": "textures/ui/radio_on",
    "size": [ 10, 10 ]
  },

  "radio_on_hover_icon": {
    "type": "image",
    "texture": "textures/ui/radio_on_hover",
    "size": [ 10, 10 ]
  },



  //---------------------------------------------------------------------------
  // Checkbox button common
  //---------------------------------------------------------------------------

  "check_box_button_toggle_image": {
    "type": "image",
    "size": [ 10, 10 ],
    "anchor_from": "right_middle",
    "anchor_to": "right_middle",
    "texture": "$toggle_texture"
  },

  //---------------------------------------------------------------------------
  // Checkbox toggle states
  //---------------------------------------------------------------------------
  "checkbox_button_checked_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_checkHover"
  },

  "checkbox_button_unchecked_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_space"
  },

  "checkbox_button_checked_hover_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_checkHover"
  },

  "checkbox_button_unchecked_hover_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_spaceHover"
  },

  "checkbox_button_checked_locked_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_check_locked"
  },

  "checkbox_button_unchecked_locked_state@common_toggles.check_box_button_toggle_image": {
    "$toggle_texture": "textures/ui/checkbox_space_locked"
  },

  //---------------------------------------------------------------------------
  // Checkbox button states
  //---------------------------------------------------------------------------

  "toggle_checkbox_unchecked@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$default_texture",
    "$content_alpha": "$default_texture_alpha",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_unchecked_state",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_unchecked": true,
    "layer": 1
  },

  "toggle_checkbox_checked@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$hover_texture",
    "$content_alpha": "$default_checked_texture_alpha",
    "$text_color": "$default_checked_text_color",
    "$glyph_color": "$default_checked_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_checked_state",
    "$border_layer": 2,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_checked": true,
    "layer": 2
  },

  "toggle_checkbox_unchecked_hover@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$pressed_texture",
    "$content_alpha": "$default_texture_alpha",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_unchecked_hover_state",
    "$border_layer": 3,
    "$border_visible": "$hover_border_visible",
    "$border_color": "$hover_border_color",
    "$toggle_unchecked_hover": true,
    "layer": 3
  },

  "toggle_checkbox_checked_hover@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$pressed_no_hover_texture",
    "$content_alpha": "$default_checked_texture_alpha",
    "$text_color": "$default_checked_text_color",
    "$glyph_color": "$default_checked_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_checked_hover_state",
    "$border_layer": 4,
    "$border_visible": "$hover_border_visible",
    "$border_color": "$hover_border_color",
    "$toggle_checked_hover": true,
    "layer": 4
  },

  "toggle_checkbox_unchecked_locked@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$unchecked_locked_texture",
    "$content_alpha": "$locked_alpha",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_unchecked_locked_state",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_locked": true,
    "layer": 1
  },

  "toggle_checkbox_checked_locked@common_toggles.check_box_button_ui_panel": {
    "$new_ui_button_texture": "$checked_locked_texture",
    "$content_alpha": "$locked_alpha",
    "$text_color": "$default_text_color",
    "$glyph_color": "$default_glyph_color",
    "$toggle_image": "common_toggles.checkbox_button_checked_locked_state",
    "$border_layer": 1,
    "$border_visible": "$default_border_visible",
    "$border_color": "$default_border_color",
    "$toggle_locked": true,
    "layer": 1
  },

  //---------------------------------------------------------------------------
  // Checkbox button templates
  //---------------------------------------------------------------------------

  "check_box_button_ui_panel@common_buttons.new_ui_button_panel": {
    "controls": [
      {
        "toggle_image": {
          "type": "panel",
          "$button_content_size|default": [ "100%", "80%" ],
          "size": "$button_content_size",
          "$anchor": "left_middle",
          "$text_alignment": "left",
          "$button_text_size": [ "100%", "100%" ],
          "controls": [
            {
              "$button_image@$button_image": {
                "ignored": "(not $button_image_visible)",
                "size": "$button_image_size",
                "offset": "$image_offset",
                "anchor_from": "$image_anchor",
                "anchor_to": "$image_anchor",
                "layer": 1
              }
            },
            {
              "button_content": {
                "type": "panel",
                "size": "$button_content_size",
                "controls": [
                  {
                    "$button_type_panel@$button_type_panel": {
                      "layer": 3
                    }
                  }
                ]
              }
            },
            {
              "border@common_buttons.focus_border": {
                "color": "$border_color",
                "layer": "$border_layer",
                "alpha": "$border_alpha",
                "ignored": "(not $border_visible)"
              }
            },
            {
              "checkbox_image": {
                "type": "panel",
                "offset": [ -6, 0 ],
                "layer": 10,
                "controls": [
                  { "image@$toggle_image": {} }
                ]
              }
            }
          ]
        }
      }
    ]
  },

  "button_and_checkbox_template@common_toggles.light_template_toggle": {
    "$unchecked_control|default": "common_toggles.toggle_checkbox_unchecked",
    "$checked_control|default": "common_toggles.toggle_checkbox_checked",
    "$unchecked_hover_control|default": "common_toggles.toggle_checkbox_unchecked_hover",
    "$checked_hover_control|default": "common_toggles.toggle_checkbox_checked_hover",
    "$unchecked_locked_control|default": "common_toggles.toggle_checkbox_unchecked_locked",
    "$unchecked_locked_hover_control|default": "common_toggles.toggle_checkbox_unchecked_locked",
    "$checked_locked_control|default": "common_toggles.toggle_checkbox_checked_locked",
    "$checked_locked_hover_control|default": "common_toggles.toggle_checkbox_checked_locked",

    "$default_texture|default": "textures/ui/button_borderless_light",
    "$hover_texture|default": "textures/ui/button_borderless_light",
    "$pressed_texture|default": "textures/ui/button_borderless_light",
    "$pressed_no_hover_texture|default": "textures/ui/button_borderless_light",
    "$locked_texture|default": "textures/ui/disabledButtonNoBorder",
    "$unchecked_locked_texture|default": "textures/ui/disabledButtonNoBorder",
    "$checked_locked_texture|default": "textures/ui/disabledButtonNoBorder",

    "$toggle_binding_type|default": "none"
  },


  "button_with_checkbox_toggle@common_toggles.light_text_toggle": {
    "$template_toggle": "common_toggles.button_and_checkbox_template"
  }

}
