# Copyright 2004-2026 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
# (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

# This file is generated by generate_styles.py.

all_properties = {
    "activate_sound": [
        "activate_sound",
    ],
    "adjust_spacing": [
        "adjust_spacing",
    ],
    "aft_bar": [
        "aft_bar",
    ],
    "aft_gutter": [
        "aft_gutter",
    ],
    "alt": [
        "alt",
    ],
    "altruby_style": [
        "altruby_style",
    ],
    "antialias": [
        "antialias",
    ],
    "axis": [
        "axis",
    ],
    "background": [
        "background",
    ],
    "bar_invert": [
        "bar_invert",
    ],
    "bar_resizing": [
        "bar_resizing",
    ],
    "bar_vertical": [
        "bar_vertical",
    ],
    "black_color": [
        "black_color",
    ],
    "bold": [
        "bold",
    ],
    "bottom_margin": [
        "bottom_margin",
    ],
    "bottom_padding": [
        "bottom_padding",
    ],
    "box_align": [
        "box_align",
    ],
    "box_justify": [
        "box_justify",
    ],
    "box_layout": [
        "box_layout",
    ],
    "box_reverse": [
        "box_reverse",
    ],
    "box_wrap": [
        "box_wrap",
    ],
    "box_wrap_spacing": [
        "box_wrap_spacing",
    ],
    "caret": [
        "caret",
    ],
    "child": [
        "child",
    ],
    "clipping": [
        "clipping",
    ],
    "color": [
        "color",
    ],
    "debug": [
        "debug",
    ],
    "drop_shadow": [
        "drop_shadow",
    ],
    "drop_shadow_color": [
        "drop_shadow_color",
    ],
    "emoji_font": [
        "emoji_font",
    ],
    "extra_alt": [
        "extra_alt",
    ],
    "first_indent": [
        "first_indent",
    ],
    "first_spacing": [
        "first_spacing",
    ],
    "fit_first": [
        "fit_first",
    ],
    "focus_mask": [
        "focus_mask",
    ],
    "focus_rect": [
        "focus_rect",
    ],
    "font": [
        "font",
    ],
    "font_features": [
        "font_features",
    ],
    "fore_bar": [
        "fore_bar",
    ],
    "fore_gutter": [
        "fore_gutter",
    ],
    "foreground": [
        "foreground",
    ],
    "group_alt": [
        "group_alt",
    ],
    "hinting": [
        "hinting",
    ],
    "hover_sound": [
        "hover_sound",
    ],
    "hyperlink_functions": [
        "hyperlink_functions",
    ],
    "instance": [
        "instance",
    ],
    "italic": [
        "italic",
    ],
    "justify": [
        "justify",
    ],
    "kerning": [
        "kerning",
    ],
    "key_events": [
        "key_events",
    ],
    "keyboard_focus": [
        "keyboard_focus",
    ],
    "keyboard_focus_insets": [
        "keyboard_focus_insets",
    ],
    "language": [
        "language",
    ],
    "layout": [
        "layout",
    ],
    "left_margin": [
        "left_margin",
    ],
    "left_padding": [
        "left_padding",
    ],
    "line_leading": [
        "line_leading",
    ],
    "line_overlap_split": [
        "line_overlap_split",
    ],
    "line_spacing": [
        "line_spacing",
    ],
    "min_width": [
        "min_width",
    ],
    "mipmap": [
        "mipmap",
    ],
    "modal": [
        "modal",
    ],
    "mouse": [
        "mouse",
    ],
    "newline_indent": [
        "newline_indent",
    ],
    "order_reverse": [
        "order_reverse",
    ],
    "outline_scaling": [
        "outline_scaling",
    ],
    "outlines": [
        "outlines",
    ],
    "prefer_emoji": [
        "prefer_emoji",
    ],
    "reading_order": [
        "reading_order",
    ],
    "rest_indent": [
        "rest_indent",
    ],
    "right_margin": [
        "right_margin",
    ],
    "right_padding": [
        "right_padding",
    ],
    "ruby_line_leading": [
        "ruby_line_leading",
    ],
    "ruby_style": [
        "ruby_style",
    ],
    "shaper": [
        "shaper",
    ],
    "size": [
        "size",
    ],
    "size_group": [
        "size_group",
    ],
    "slow_abortable": [
        "slow_abortable",
    ],
    "slow_cps": [
        "slow_cps",
    ],
    "slow_cps_multiplier": [
        "slow_cps_multiplier",
    ],
    "spacing": [
        "spacing",
    ],
    "strikethrough": [
        "strikethrough",
    ],
    "subpixel": [
        "subpixel",
    ],
    "subtitle_width": [
        "subtitle_width",
    ],
    "text_align": [
        "text_align",
    ],
    "text_y_fudge": [
        "text_y_fudge",
    ],
    "textshader": [
        "textshader",
    ],
    "thumb": [
        "thumb",
    ],
    "thumb_align": [
        "thumb_align",
    ],
    "thumb_offset": [
        "thumb_offset",
    ],
    "thumb_shadow": [
        "thumb_shadow",
    ],
    "time_policy": [
        "time_policy",
    ],
    "top_margin": [
        "top_margin",
    ],
    "top_padding": [
        "top_padding",
    ],
    "underline": [
        "underline",
    ],
    "unscrollable": [
        "unscrollable",
    ],
    "vertical": [
        "vertical",
    ],
    "xanchor": [
        "xanchor",
    ],
    "xfill": [
        "xfill",
    ],
    "xfit": [
        "xfit",
    ],
    "xmaximum": [
        "xmaximum",
    ],
    "xminimum": [
        "xminimum",
    ],
    "xoffset": [
        "xoffset",
    ],
    "xpos": [
        "xpos",
    ],
    "xspacing": [
        "xspacing",
    ],
    "yanchor": [
        "yanchor",
    ],
    "yfill": [
        "yfill",
    ],
    "yfit": [
        "yfit",
    ],
    "ymaximum": [
        "ymaximum",
    ],
    "yminimum": [
        "yminimum",
    ],
    "yoffset": [
        "yoffset",
    ],
    "ypos": [
        "ypos",
    ],
    "yspacing": [
        "yspacing",
    ],
    "margin": [
        "left_margin",
        "top_margin",
        "right_margin",
        "bottom_margin",
    ],
    "xmargin": [
        "left_margin",
        "right_margin",
    ],
    "ymargin": [
        "top_margin",
        "bottom_margin",
    ],
    "xalign": [
        "xpos",
        "xanchor",
    ],
    "yalign": [
        "ypos",
        "yanchor",
    ],
    "padding": [
        "left_padding",
        "top_padding",
        "right_padding",
        "bottom_padding",
    ],
    "xpadding": [
        "left_padding",
        "right_padding",
    ],
    "ypadding": [
        "top_padding",
        "bottom_padding",
    ],
    "minwidth": [
        "min_width",
    ],
    "textalign": [
        "text_align",
    ],
    "slow_speed": [
        "slow_cps",
    ],
    "enable_hover": [
    ],
    "left_gutter": [
        "fore_gutter",
    ],
    "right_gutter": [
        "aft_gutter",
    ],
    "top_gutter": [
        "fore_gutter",
    ],
    "bottom_gutter": [
        "aft_gutter",
    ],
    "left_bar": [
        "fore_bar",
    ],
    "right_bar": [
        "aft_bar",
    ],
    "top_bar": [
        "fore_bar",
    ],
    "bottom_bar": [
        "aft_bar",
    ],
    "base_bar": [
        "fore_bar",
        "aft_bar",
    ],
    "box_spacing": [
        "spacing",
    ],
    "box_first_spacing": [
        "first_spacing",
    ],
    "pos": [
        "xpos",
        "ypos",
    ],
    "anchor": [
        "xanchor",
        "yanchor",
    ],
    "offset": [
        "xoffset",
        "yoffset",
    ],
    "align": [
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
    ],
    "maximum": [
        "xmaximum",
        "ymaximum",
    ],
    "minimum": [
        "xminimum",
        "yminimum",
    ],
    "xsize": [
        "xminimum",
        "xmaximum",
    ],
    "ysize": [
        "yminimum",
        "ymaximum",
    ],
    "xysize": [
        "xminimum",
        "xmaximum",
        "yminimum",
        "ymaximum",
    ],
    "area": [
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
        "xfill",
        "yfill",
        "xmaximum",
        "ymaximum",
        "xminimum",
        "yminimum",
    ],
    "xcenter": [
        "xpos",
        "xanchor",
    ],
    "ycenter": [
        "ypos",
        "yanchor",
    ],
    "xycenter": [
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
    ],
}

proxy_properties = {
    "margin": frozenset([
        "left_margin",
        "top_margin",
        "right_margin",
        "bottom_margin",
    ]),
    "xmargin": frozenset([
        "left_margin",
        "right_margin",
    ]),
    "ymargin": frozenset([
        "top_margin",
        "bottom_margin",
    ]),
    "xalign": frozenset([
        "xpos",
        "xanchor",
    ]),
    "yalign": frozenset([
        "ypos",
        "yanchor",
    ]),
    "padding": frozenset([
        "left_padding",
        "top_padding",
        "right_padding",
        "bottom_padding",
    ]),
    "xpadding": frozenset([
        "left_padding",
        "right_padding",
    ]),
    "ypadding": frozenset([
        "top_padding",
        "bottom_padding",
    ]),
    "minwidth": frozenset([
        "min_width",
    ]),
    "textalign": frozenset([
        "text_align",
    ]),
    "slow_speed": frozenset([
        "slow_cps",
    ]),
    "enable_hover": frozenset(),
    "left_gutter": frozenset([
        "fore_gutter",
    ]),
    "right_gutter": frozenset([
        "aft_gutter",
    ]),
    "top_gutter": frozenset([
        "fore_gutter",
    ]),
    "bottom_gutter": frozenset([
        "aft_gutter",
    ]),
    "left_bar": frozenset([
        "fore_bar",
    ]),
    "right_bar": frozenset([
        "aft_bar",
    ]),
    "top_bar": frozenset([
        "fore_bar",
    ]),
    "bottom_bar": frozenset([
        "aft_bar",
    ]),
    "base_bar": frozenset([
        "fore_bar",
        "aft_bar",
    ]),
    "box_spacing": frozenset([
        "spacing",
    ]),
    "box_first_spacing": frozenset([
        "first_spacing",
    ]),
    "pos": frozenset([
        "xpos",
        "ypos",
    ]),
    "anchor": frozenset([
        "xanchor",
        "yanchor",
    ]),
    "offset": frozenset([
        "xoffset",
        "yoffset",
    ]),
    "align": frozenset([
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
    ]),
    "maximum": frozenset([
        "xmaximum",
        "ymaximum",
    ]),
    "minimum": frozenset([
        "xminimum",
        "yminimum",
    ]),
    "xsize": frozenset([
        "xminimum",
        "xmaximum",
    ]),
    "ysize": frozenset([
        "yminimum",
        "ymaximum",
    ]),
    "xysize": frozenset([
        "xminimum",
        "xmaximum",
        "yminimum",
        "ymaximum",
    ]),
    "area": frozenset([
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
        "xfill",
        "yfill",
        "xmaximum",
        "ymaximum",
        "xminimum",
        "yminimum",
    ]),
    "xcenter": frozenset([
        "xpos",
        "xanchor",
    ]),
    "ycenter": frozenset([
        "ypos",
        "yanchor",
    ]),
    "xycenter": frozenset([
        "xpos",
        "ypos",
        "xanchor",
        "yanchor",
    ]),
}

prefix_priority = {
    "selected_hover_": 6,
    "selected_idle_": 6,
    "selected_insensitive_": 6,
    "selected_": 4,
    "hover_": 2,
    "idle_": 2,
    "insensitive_": 2,
    "": 0,
    "activate_": 0,
    "selected_activate_": 0,
}

prefix_alts = {
    "selected_hover_": [
        "selected_hover_",
    ],
    "selected_idle_": [
        "selected_idle_",
    ],
    "selected_insensitive_": [
        "selected_insensitive_",
    ],
    "selected_": [
        "selected_hover_",
        "selected_idle_",
        "selected_insensitive_",
    ],
    "hover_": [
        "hover_",
        "selected_hover_",
    ],
    "idle_": [
        "idle_",
        "selected_idle_",
    ],
    "insensitive_": [
        "insensitive_",
        "selected_insensitive_",
    ],
    "": [
        "selected_hover_",
        "selected_idle_",
        "selected_insensitive_",
        "idle_",
        "hover_",
        "insensitive_",
    ],
    "activate_": [],
    "selected_activate_": [],
}

prefix_search = {
    "idle_": [
        "idle_",
        "",
    ],
    "hover_": [
        "hover_",
        "",
    ],
    "insensitive_": [
        "insensitive_",
        "",
        "idle_",
    ],
    "selected_idle_": [
        "selected_idle_",
        "selected_",
        "",
        "idle_",
    ],
    "selected_hover_": [
        "selected_hover_",
        "hover_",
        "selected_",
        "",
    ],
    "selected_insensitive_": [
        "selected_insensitive_",
        "insensitive_",
        "selected_",
        "",
        "selected_idle_",
        "idle_",
    ],
    "": [
        "",
    ],
}

property_priority = {
    "left_margin": 1,
    "top_margin": 1,
    "right_margin": 1,
    "bottom_margin": 1,
    "xpos": 1,
    "xanchor": 1,
    "ypos": 1,
    "yanchor": 1,
    "left_padding": 1,
    "top_padding": 1,
    "right_padding": 1,
    "bottom_padding": 1,
    "xoffset": 1,
    "yoffset": 1,
    "xminimum": 1,
    "yminimum": 1,
    "xmaximum": 1,
    "ymaximum": 1,
    "xfill": 1,
    "yfill": 1,
}
