123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200includeFunctionsmoduleDefault=structtypet=[`Text_size|`Text_spacing|`Line_color|`Background_color]endmoduleToggle=structtypet=[`Padding_toggle]endmoduleSlider=structtypet=[`Width_slider|`Padding_slider]endmoduleProgressBar=structtypet=[`Padding_progressbar]endmoduleCheckBox=structtypet=[`Padding_checkbox]endmoduleComboBox=structtypet=[`Width_combobox|`Padding_combobox]endmoduleDropdownBox=structtypet=[`Arrow_padding|`Dropdown_items_padding]endmoduleTextBox=structtypet=[`Text_inner_padding|`Text_lines_padding|`Color_selected_fg|`Color_selected_bg]endmoduleSpinner=structtypet=[`Width_spinner|`Padding_spinner]endmoduleScrollBar=structtypet=[`Arrows_size|`Arrows_visible|`Scroll_slider_padding|`Scroll_slider_size|`Scroll_padding|`Scroll_speed]end(* TODO check how scrollbarside works *)moduleListView=structtypet=[`List_items_height|`List_items_padding|`Scrollbar_width|`Scrollbar_side]endmoduleColorPicker=structtypet=[`Color_selector_size|`Huebar_width|`Huebar_padding|`Huebar_selector_height|`Huebar_selector_overflow]endmoduleControl=structtypeprop=[`Border_color_normal|`Base_color_normal|`Text_color_normal|`Border_color_focused|`Base_color_focused|`Text_color_focused|`Border_color_pressed|`Base_color_pressed|`Text_color_pressed|`Border_color_disabled|`Base_color_disabled|`Text_color_disabled|`Border_width|`Text_padding|`Text_alignment]typet=|Defaultof[prop|Default.t]|Labelofprop|Buttonofprop|Toggleof[prop|Toggle.t]|Sliderof[prop|Slider.t]|ProgressBarof[prop|ProgressBar.t]|CheckBoxof[prop|CheckBox.t]|ComboBoxof[prop|ComboBox.t]|DropdownBoxof[prop|DropdownBox.t]|TextBoxof[prop|TextBox.t]|Valueboxofprop|Spinnerof[prop|Spinner.t]|ListViewof[prop|ListView.t]|ColorPickerof[prop|ColorPicker.t]|ScrollBarof[prop|ScrollBar.t]|StatusBarofpropendletprop_to_int=function|`Border_color_normal->ControlProperty.(to_intBorder_color_normal)|`Base_color_normal->ControlProperty.(to_intBase_color_normal)|`Text_color_normal->ControlProperty.(to_intText_color_normal)|`Border_color_focused->ControlProperty.(to_intBorder_color_focused)|`Base_color_focused->ControlProperty.(to_intBase_color_focused)|`Text_color_focused->ControlProperty.(to_intText_color_focused)|`Border_color_pressed->ControlProperty.(to_intBorder_color_pressed)|`Base_color_pressed->ControlProperty.(to_intBase_color_pressed)|`Text_color_pressed->ControlProperty.(to_intText_color_pressed)|`Border_color_disabled->ControlProperty.(to_intBorder_color_disabled)|`Base_color_disabled->ControlProperty.(to_intBase_color_disabled)|`Text_color_disabled->ControlProperty.(to_intText_color_disabled)|`Border_width->ControlProperty.(to_intBorder_width)|`Text_padding->ControlProperty.(to_intText_padding)|`Text_alignment->ControlProperty.(to_intText_alignment)|`Text_size->DefaultProperty.(to_intText_size)|`Text_spacing->DefaultProperty.(to_intText_spacing)|`Line_color->DefaultProperty.(to_intLine_color)|`Background_color->DefaultProperty.(to_intBackground_color)|`Padding_toggle->ToggleProperty.(to_intPadding)|`Width_slider->SliderProperty.(to_intWidth)|`Padding_slider->SliderProperty.(to_intPadding)|`Padding_progressbar->ProgressBarProperty.(to_intPadding)|`Padding_checkbox->CheckBoxProperty.(to_intPadding)|`Width_combobox->ComboBoxProperty.(to_intWidth)|`Padding_combobox->ComboBoxProperty.(to_intPadding)|`Arrow_padding->DropdownBoxProperty.(to_intArrow_padding)|`Dropdown_items_padding->DropdownBoxProperty.(to_intDropdown_items_padding)|`Text_inner_padding->TextBoxProperty.(to_intText_inner_padding)|`Text_lines_padding->TextBoxProperty.(to_intText_lines_padding)|`Color_selected_fg->TextBoxProperty.(to_intColor_selected_fg)|`Color_selected_bg->TextBoxProperty.(to_intColor_selected_bg)|`Width_spinner->SpinnerProperty.(to_intWidth)|`Padding_spinner->SpinnerProperty.(to_intPadding)|`Arrows_size->ScrollBarProperty.(to_intArrows_size)|`Arrows_visible->ScrollBarProperty.(to_intArrows_visible)|`Scroll_slider_padding->ScrollBarProperty.(to_intScroll_slider_padding)|`Scroll_slider_size->ScrollBarProperty.(to_intScroll_slider_size)|`Scroll_padding->ScrollBarProperty.(to_intScroll_padding)|`Scroll_speed->ScrollBarProperty.(to_intScroll_speed)|`List_items_height->ListViewProperty.(to_intList_items_height)|`List_items_padding->ListViewProperty.(to_intList_items_padding)|`Scrollbar_width->ListViewProperty.(to_intScrollbar_width)|`Scrollbar_side->ListViewProperty.(to_intScrollbar_side)|`Color_selector_size->ColorPickerProperty.(to_intColor_selector_size)|`Huebar_width->ColorPickerProperty.(to_intHuebar_width)|`Huebar_padding->ColorPickerProperty.(to_intHuebar_padding)|`Huebar_selector_height->ColorPickerProperty.(to_intHuebar_selector_height)|`Huebar_selector_overflow->ColorPickerProperty.(to_intHuebar_selector_overflow)letget_style=function|Control.Defaultprop->_get_styleWrapped_Control.Default(prop_to_intprop)|Labelprop->_get_styleLabel(prop_to_intprop)|Buttonprop->_get_styleButton(prop_to_intprop)|Toggleprop->_get_styleToggle(prop_to_intprop)|Sliderprop->_get_styleSlider(prop_to_intprop)|ProgressBarprop->_get_styleProgressbar(prop_to_intprop)|CheckBoxprop->_get_styleCheckbox(prop_to_intprop)|ComboBoxprop->_get_styleCombobox(prop_to_intprop)|DropdownBoxprop->_get_styleDropdownbox(prop_to_intprop)|TextBoxprop->_get_styleTextbox(prop_to_intprop)|Valueboxprop->_get_styleValuebox(prop_to_intprop)|Spinnerprop->_get_styleSpinner(prop_to_intprop)|ScrollBarprop->_get_styleScrollbar(prop_to_intprop)|ListViewprop->_get_styleListview(prop_to_intprop)|ColorPickerprop->_get_styleColorpicker(prop_to_intprop)|StatusBarprop->_get_styleStatusbar(prop_to_intprop)letset_stylectlvalue=matchctlwith|Control.Defaultprop->_set_styleWrapped_Control.Default(prop_to_intprop)value|Labelprop->_set_styleLabel(prop_to_intprop)value|Buttonprop->_set_styleButton(prop_to_intprop)value|Toggleprop->_set_styleToggle(prop_to_intprop)value|Sliderprop->_set_styleSlider(prop_to_intprop)value|ProgressBarprop->_set_styleProgressbar(prop_to_intprop)value|CheckBoxprop->_set_styleCheckbox(prop_to_intprop)value|ComboBoxprop->_set_styleCombobox(prop_to_intprop)value|DropdownBoxprop->_set_styleDropdownbox(prop_to_intprop)value|TextBoxprop->_set_styleTextbox(prop_to_intprop)value|Valueboxprop->_set_styleValuebox(prop_to_intprop)value|Spinnerprop->_set_styleSpinner(prop_to_intprop)value|ScrollBarprop->_set_styleScrollbar(prop_to_intprop)value|ListViewprop->_set_styleListview(prop_to_intprop)value|ColorPickerprop->_set_styleColorpicker(prop_to_intprop)value|StatusBarprop->_set_styleStatusbar(prop_to_intprop)value