@soxa-ui/theme-base 0.0.0-stage → 0.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +399 -2
  3. package/dist/setup/index.d.ts +31 -0
  4. package/dist/setup/index.js +4 -0
  5. package/dist/setup/plugins/index.d.ts +3 -0
  6. package/dist/setup/plugins/table-head.plugin.d.ts +44 -0
  7. package/dist/setup/plugins/table-head.plugin.js +86 -0
  8. package/dist/setup/plugins/tabs-view.plugin.d.ts +32 -0
  9. package/dist/setup/plugins/tabs-view.plugin.js +100 -0
  10. package/dist/setup/plugins/toasts-front.plugin.d.ts +63 -0
  11. package/dist/setup/plugins/toasts-front.plugin.js +131 -0
  12. package/dist/setup/plugins/transitions.d.ts +43 -0
  13. package/dist/setup/plugins/transitions.js +75 -0
  14. package/package.json +55 -4
  15. package/src/anchored.css +75 -0
  16. package/src/caption.css +71 -0
  17. package/src/components/accordion.css +96 -0
  18. package/src/components/button.css +139 -0
  19. package/src/components/calendar.css +594 -0
  20. package/src/components/check-box.css +121 -0
  21. package/src/components/date-input.css +224 -0
  22. package/src/components/date-picker.css +208 -0
  23. package/src/components/dialog.css +95 -0
  24. package/src/components/drag-and-drop.css +18 -0
  25. package/src/components/drawer.css +171 -0
  26. package/src/components/field.css +440 -0
  27. package/src/components/icon.css +61 -0
  28. package/src/components/input.css +189 -0
  29. package/src/components/label.css +160 -0
  30. package/src/components/list-box.css +165 -0
  31. package/src/components/menu.css +224 -0
  32. package/src/components/number-input.css +183 -0
  33. package/src/components/pagination.css +164 -0
  34. package/src/components/popover.css +164 -0
  35. package/src/components/progress-linear.css +88 -0
  36. package/src/components/progress-spinner.css +127 -0
  37. package/src/components/radio-group.css +130 -0
  38. package/src/components/rating.css +141 -0
  39. package/src/components/scroller.css +136 -0
  40. package/src/components/select.css +233 -0
  41. package/src/components/skeleton.css +33 -0
  42. package/src/components/slider.css +482 -0
  43. package/src/components/switch.css +142 -0
  44. package/src/components/table.css +1513 -0
  45. package/src/components/tabs.css +166 -0
  46. package/src/components/tags.css +371 -0
  47. package/src/components/textarea.css +179 -0
  48. package/src/components/toasts.css +447 -0
  49. package/src/components/tooltip.css +59 -0
  50. package/src/direction.css +30 -0
  51. package/src/disabled.css +26 -0
  52. package/src/group.css +90 -0
  53. package/src/index.css +97 -0
  54. package/src/modal.css +183 -0
  55. package/src/place.css +30 -0
  56. package/src/required.css +40 -0
  57. package/src/reset.css +172 -0
  58. package/src/swipe.css +71 -0
  59. package/src/target.css +46 -0
  60. package/theme-contract.json +3373 -0
  61. package/theme-variables.json +336 -0
@@ -0,0 +1,336 @@
1
+ {
2
+ "base-reads": {
3
+ "--so-disabled-opacity": "Disabled opacity: dims the box or root of a disabled component. The base layer sets descendants of the dimmed node to 1; default: 0.35.",
4
+ "--so-caption-gap-sm": "Caption scale: inline gap between a caption and its control (Label, Field and radio text), size sm.",
5
+ "--so-caption-gap-normal": "Caption scale: inline gap between a caption and its control (Label, Field and radio text), size normal.",
6
+ "--so-caption-gap-lg": "Caption scale: inline gap between a caption and its control (Label, Field and radio text), size lg.",
7
+ "--so-caption-gap-xl": "Caption scale: inline gap between a caption and its control (Label, Field and radio text), size xl.",
8
+ "--so-caption-gap-2xl": "Caption scale: inline gap between a caption and its control (Label, Field and radio text), size 2xl.",
9
+ "--so-caption-stack-sm": "Caption scale: block gap above and below a control, between the label above and help text below, size sm.",
10
+ "--so-caption-stack-normal": "Caption scale: block gap above and below a control, between the label above and help text below, size normal.",
11
+ "--so-caption-stack-lg": "Caption scale: block gap above and below a control, between the label above and help text below, size lg.",
12
+ "--so-caption-stack-xl": "Caption scale: block gap above and below a control, between the label above and help text below, size xl.",
13
+ "--so-caption-stack-2xl": "Caption scale: block gap above and below a control, between the label above and help text below, size 2xl.",
14
+ "--so-caption-font-size-sm": "Caption font size, size sm; surrounding font size - 2px; normal has no font-size override and inherits the surrounding font.",
15
+ "--so-caption-line-height-sm": "Caption line height, size sm.",
16
+ "--so-caption-font-size-lg": "Caption font size, size lg; surrounding font size + 2px.",
17
+ "--so-caption-line-height-lg": "Caption line height, size lg.",
18
+ "--so-caption-font-size-xl": "Caption font size, size xl; surrounding font size + 4px.",
19
+ "--so-caption-line-height-xl": "Caption line height, size xl.",
20
+ "--so-caption-font-size-2xl": "Caption font size, size 2xl; surrounding font size + 8px.",
21
+ "--so-caption-line-height-2xl": "Caption line height, size 2xl.",
22
+ "--so-caption-note-font-size-sm": "Control note font size (Field help/error text and Slider tick labels), size sm; surrounding font size - 4px.",
23
+ "--so-caption-note-line-height-sm": "Control note line height, size sm.",
24
+ "--so-caption-note-font-size-normal": "Control note font size (Field help/error text and Slider tick labels), size normal; surrounding font size - 2px.",
25
+ "--so-caption-note-line-height-normal": "Control note line height, size normal.",
26
+ "--so-caption-note-font-size-lg": "Control note font size (Field help/error text and Slider tick labels), size lg; inherits the surrounding font size.",
27
+ "--so-caption-note-line-height-lg": "Control note line height, size lg.",
28
+ "--so-caption-note-font-size-xl": "Control note font size (Field help/error text and Slider tick labels), size xl; surrounding font size + 2px.",
29
+ "--so-caption-note-line-height-xl": "Control note line height, size xl.",
30
+ "--so-caption-note-font-size-2xl": "Control note font size (Field help/error text and Slider tick labels), size 2xl; surrounding font size + 4px.",
31
+ "--so-caption-note-line-height-2xl": "Control note line height, size 2xl.",
32
+ "--so-required-size": "Side length of the required-field dot on a control.",
33
+ "--so-required-offset": "Required-field dot offset from the top and inline-start corner of a control; negative values move it outward.",
34
+ "--so-target-size": "Minimum pointer target size (WCAG 2.5.8): side length of field clear buttons, NumberInput step buttons, Select arrow, DatePicker calendar button, tag close button and Table sort button; also the swipe grip hit area.",
35
+ "--so-button-height-sm": "Button height; other component parts use it to align with a button in the same row, size sm.",
36
+ "--so-button-height-normal": "Button height; other component parts use it to align with a button in the same row, size normal.",
37
+ "--so-button-height-lg": "Button height; other component parts use it to align with a button in the same row, size lg.",
38
+ "--so-button-height-xl": "Button height; other component parts use it to align with a button in the same row, size xl.",
39
+ "--so-button-height-2xl": "Button height; other component parts use it to align with a button in the same row, size 2xl.",
40
+ "--so-button-padding-sm": "Button inline padding on each side, size sm.",
41
+ "--so-button-padding-normal": "Button inline padding on each side, size normal.",
42
+ "--so-button-padding-lg": "Button inline padding on each side, size lg.",
43
+ "--so-button-padding-xl": "Button inline padding on each side, size xl.",
44
+ "--so-button-padding-2xl": "Button inline padding on each side, size 2xl.",
45
+ "--so-button-gap-sm": "Gap between Button row parts (slots and text); also the Scroller navigation-to-track gap and Pagination cell gap, size sm.",
46
+ "--so-button-gap-normal": "Gap between Button row parts (slots and text); also the Scroller navigation-to-track gap and Pagination cell gap, size normal.",
47
+ "--so-button-gap-lg": "Gap between Button row parts (slots and text); also the Scroller navigation-to-track gap and Pagination cell gap, size lg.",
48
+ "--so-button-gap-xl": "Gap between Button row parts (slots and text); also the Scroller navigation-to-track gap and Pagination cell gap, size xl.",
49
+ "--so-button-gap-2xl": "Gap between Button row parts (slots and text); also the Scroller navigation-to-track gap and Pagination cell gap, size 2xl.",
50
+ "--so-button-font-size-sm": "Button font size; also used by the Pagination row and Calendar month heading, size sm; surrounding font size - 2px; normal has no font-size override and inherits the surrounding font.",
51
+ "--so-button-line-height-sm": "Button line height, size sm.",
52
+ "--so-button-font-size-lg": "Button font size; also used by the Pagination row and Calendar month heading, size lg; surrounding font size + 2px.",
53
+ "--so-button-line-height-lg": "Button line height, size lg.",
54
+ "--so-button-font-size-xl": "Button font size; also used by the Pagination row and Calendar month heading, size xl; surrounding font size + 4px.",
55
+ "--so-button-line-height-xl": "Button line height, size xl.",
56
+ "--so-button-font-size-2xl": "Button font size; also used by the Pagination row and Calendar month heading, size 2xl; surrounding font size + 8px.",
57
+ "--so-button-line-height-2xl": "Button line height, size 2xl.",
58
+ "--so-check-box-size-sm": "CheckBox box side length; also the radio ring size, size sm.",
59
+ "--so-check-box-size-normal": "CheckBox box side length; also the radio ring size, size normal.",
60
+ "--so-check-box-size-lg": "CheckBox box side length; also the radio ring size, size lg.",
61
+ "--so-check-box-size-xl": "CheckBox box side length; also the radio ring size, size xl.",
62
+ "--so-check-box-size-2xl": "CheckBox box side length; also the radio ring size, size 2xl.",
63
+ "--so-accordion-gap": "Gap between Accordion sections.",
64
+ "--so-accordion-header-padding": "Accordion section header block padding.",
65
+ "--so-accordion-content-padding": "Expanded Accordion panel block padding.",
66
+ "--so-icon-size-sm": "Icon side length in em of the surrounding font; also used by the CheckBox mark, size sm.",
67
+ "--so-icon-size-normal": "Icon side length in em of the surrounding font; also used by the CheckBox mark, size normal.",
68
+ "--so-icon-size-lg": "Icon side length in em of the surrounding font; also used by the CheckBox mark, size lg.",
69
+ "--so-icon-size-xl": "Icon side length in em of the surrounding font; also used by the CheckBox mark, size xl.",
70
+ "--so-icon-size-2xl": "Icon side length in em of the surrounding font; also used by the CheckBox mark, size 2xl.",
71
+ "--so-input-height-sm": "Input, NumberInput, DateInput and DatePicker range box height; also the Textarea row and adjacent Field label spacer, size sm.",
72
+ "--so-input-height-normal": "Input, NumberInput, DateInput and DatePicker range box height; also the Textarea row and adjacent Field label spacer, size normal.",
73
+ "--so-input-height-lg": "Input, NumberInput, DateInput and DatePicker range box height; also the Textarea row and adjacent Field label spacer, size lg.",
74
+ "--so-input-height-xl": "Input, NumberInput, DateInput and DatePicker range box height; also the Textarea row and adjacent Field label spacer, size xl.",
75
+ "--so-input-height-2xl": "Input, NumberInput, DateInput and DatePicker range box height; also the Textarea row and adjacent Field label spacer, size 2xl.",
76
+ "--so-input-font-size-sm": "Field text font size; also the DateInput segment row, DatePicker range dash and Select arrow icon, size sm; surrounding font size - 2px; normal has no font-size override and inherits the surrounding font.",
77
+ "--so-input-line-height-sm": "Textarea and Select arrow line height; a single-line field uses its full height as the line height, size sm.",
78
+ "--so-input-line-height-normal": "Textarea and Select arrow line height; a single-line field uses its full height as the line height, size normal.",
79
+ "--so-input-font-size-lg": "Field text font size; also the DateInput segment row, DatePicker range dash and Select arrow icon, size lg; surrounding font size + 2px.",
80
+ "--so-input-line-height-lg": "Textarea and Select arrow line height; a single-line field uses its full height as the line height, size lg.",
81
+ "--so-input-font-size-xl": "Field text font size; also the DateInput segment row, DatePicker range dash and Select arrow icon, size xl; surrounding font size + 4px.",
82
+ "--so-input-line-height-xl": "Textarea and Select arrow line height; a single-line field uses its full height as the line height, size xl.",
83
+ "--so-input-font-size-2xl": "Field text font size; also the DateInput segment row, DatePicker range dash and Select arrow icon, size 2xl; surrounding font size + 8px.",
84
+ "--so-input-line-height-2xl": "Textarea and Select arrow line height; a single-line field uses its full height as the line height, size 2xl.",
85
+ "--so-input-indent-sm": "Inline text inset from the border of Input, NumberInput, Textarea and DateInput, size sm.",
86
+ "--so-input-indent-normal": "Inline text inset from the border of Input, NumberInput, Textarea and DateInput, size normal.",
87
+ "--so-input-indent-lg": "Inline text inset from the border of Input, NumberInput, Textarea and DateInput, size lg.",
88
+ "--so-input-indent-xl": "Inline text inset from the border of Input, NumberInput, Textarea and DateInput, size xl.",
89
+ "--so-input-indent-2xl": "Inline text inset from the border of Input, NumberInput, Textarea and DateInput, size 2xl.",
90
+ "--so-input-slot-gap": "Field slot clearance from the top and bottom borders: slot row height is field height minus two borders and two clearances. Also used by DateInput and the DatePicker range box.",
91
+ "--so-input-slot-padding": "Field slot outer inline padding and NumberInput step-button pair inline padding; for the DatePicker range box, calendar button inset from the border.",
92
+ "--so-input-slot-spacing": "Gap between field slot parts and between NumberInput step buttons; for the DatePicker range box, gap between clear and calendar buttons.",
93
+ "--so-input-min-width": "Minimum width of Input, Textarea, NumberInput and the Select root, preventing collapse in narrow containers. Also the default length of horizontal Slider and ProgressLinear.",
94
+ "--so-input-text-min-width": "Minimum width of the editable field area; slots yield space in narrow fields.",
95
+ "--so-input-border": "Input border thickness. The theme draws the border and sets this on the block; slot row height excludes it. Without a theme: 0.",
96
+ "--so-field-columns": "Field columns with an inline-start label. Set by the application: for example, a form subgrid or a single column in a narrow container.",
97
+ "--so-field-error-gap": "Gap between the Field error icon and its text, in em.",
98
+ "--so-field-required-size": "Side length of the required-field dot by the Field label, in em of the label font.",
99
+ "--so-field-required-gap": "Required-field dot offset from the Field label text, in em.",
100
+ "--so-field-required-lift": "Required-field dot rise above the Field label baseline, in em.",
101
+ "--so-number-input-border": "NumberInput border thickness. The theme draws the border and sets this on the block; slot row height excludes it. Without a theme: 0.",
102
+ "--so-switch-width-sm": "Switch track width, size sm.",
103
+ "--so-switch-width-normal": "Switch track width, size normal.",
104
+ "--so-switch-width-lg": "Switch track width, size lg.",
105
+ "--so-switch-width-xl": "Switch track width, size xl.",
106
+ "--so-switch-width-2xl": "Switch track width, size 2xl.",
107
+ "--so-switch-height-sm": "Switch track height; the thumb is this height minus two insets, size sm.",
108
+ "--so-switch-height-normal": "Switch track height; the thumb is this height minus two insets, size normal.",
109
+ "--so-switch-height-lg": "Switch track height; the thumb is this height minus two insets, size lg.",
110
+ "--so-switch-height-xl": "Switch track height; the thumb is this height minus two insets, size xl.",
111
+ "--so-switch-height-2xl": "Switch track height; the thumb is this height minus two insets, size 2xl.",
112
+ "--so-switch-inset": "Switch thumb inset from the track edges.",
113
+ "--so-switch-required-offset": "Required-field dot offset from the Switch track corner.",
114
+ "--so-tabs-gap": "Gap between tabs in the list and between the list and its leading/trailing row slots.",
115
+ "--so-tabs-panel-gap": "Gap between a vertical tab row and its panel.",
116
+ "--so-tabs-panel-margin": "Horizontal tab panel top and bottom margin, separating it from the row.",
117
+ "--so-tabs-slot-padding": "Tab row leading/trailing slot inline padding.",
118
+ "--so-tabs-row-padding": "Tab row block padding; also the close button inset from the top and bottom.",
119
+ "--so-tabs-close-padding": "Tab close button inline padding.",
120
+ "--so-tags-gap": "Gap between tags in a row; also used by custom tag layouts in a slot.",
121
+ "--so-tags-field-gap": "Gap between tags in a field slot.",
122
+ "--so-tags-bleed": "Space for the theme tag focus ring in a scroll row: row padding and scroll padding.",
123
+ "--so-tags-close-padding": "Tag close button padding around its icon.",
124
+ "--so-tags-item-height-sm": "Tag pill height, size sm.",
125
+ "--so-tags-item-height-normal": "Tag pill height, size normal.",
126
+ "--so-tags-item-height-lg": "Tag pill height, size lg.",
127
+ "--so-tags-item-height-xl": "Tag pill height, size xl.",
128
+ "--so-tags-item-height-2xl": "Tag pill height, size 2xl.",
129
+ "--so-tags-item-font-size-sm": "Tag row and close button font size, size sm; surrounding font size - 4px.",
130
+ "--so-tags-item-line-height-sm": "Tag line height, size sm.",
131
+ "--so-tags-item-font-size-normal": "Tag row and close button font size, size normal; surrounding font size - 2px.",
132
+ "--so-tags-item-line-height-normal": "Tag line height, size normal.",
133
+ "--so-tags-item-font-size-lg": "Tag row and close button font size, size lg; inherits the surrounding font size.",
134
+ "--so-tags-item-line-height-lg": "Tag line height, size lg.",
135
+ "--so-tags-item-font-size-xl": "Tag row and close button font size, size xl; surrounding font size + 2px.",
136
+ "--so-tags-item-line-height-xl": "Tag line height, size xl.",
137
+ "--so-tags-item-font-size-2xl": "Tag row and close button font size, size 2xl; surrounding font size + 4px.",
138
+ "--so-tags-item-line-height-2xl": "Tag line height, size 2xl.",
139
+ "--so-tags-item-padding-sm": "Tag row inline padding and close button inset from the pill end, size sm.",
140
+ "--so-tags-item-padding-normal": "Tag row inline padding and close button inset from the pill end, size normal.",
141
+ "--so-tags-item-padding-lg": "Tag row inline padding and close button inset from the pill end, size lg.",
142
+ "--so-tags-item-padding-xl": "Tag row inline padding and close button inset from the pill end, size xl.",
143
+ "--so-tags-item-padding-2xl": "Tag row inline padding and close button inset from the pill end, size 2xl.",
144
+ "--so-tags-item-gap-sm": "Gap between tag row parts and the close button, size sm.",
145
+ "--so-tags-item-gap-normal": "Gap between tag row parts and the close button, size normal.",
146
+ "--so-tags-item-gap-lg": "Gap between tag row parts and the close button, size lg.",
147
+ "--so-tags-item-gap-xl": "Gap between tag row parts and the close button, size xl.",
148
+ "--so-tags-item-gap-2xl": "Gap between tag row parts and the close button, size 2xl.",
149
+ "--so-tags-fade": "Width of the scroll tag row edge hint inside a field. The theme draws the hint and sets this on the row; the scroll viewport excludes it. Without a hint: 0.",
150
+ "--so-group-separator-width": "Menu, ListBox and Select group separator line thickness. The theme draws the line and sets this on the list; a section without a separator reserves the same space. Without a theme: 0.",
151
+ "--so-list-box-gap": "Gap between ListBox items, groups and root parts; also used by the Select list.",
152
+ "--so-list-box-padding": "ListBox root padding around the header, list and footer; also used by the Select list.",
153
+ "--so-list-box-min-width": "ListBox minimum width; also used by the Menu panel.",
154
+ "--so-list-box-max-width": "ListBox maximum width; also used by the Menu panel, limited to the viewport width.",
155
+ "--so-list-box-group-label-padding": "ListBox and Select group label top and bottom padding.",
156
+ "--so-filler-height": "Virtual spacer height for omitted ListBox/Select items and Table rows. Written inline on the spacer by the library; themes must not set it. Fallback: 0.",
157
+ "--so-select-max-height": "Select list maximum height when maxRows is unset. The library writes an explicit row limit inline on the list.",
158
+ "--so-select-item-padding": "Select option row block padding.",
159
+ "--so-menu-padding": "Menu item list padding; the separator extends by the same amount to span the full list width.",
160
+ "--so-menu-separator-margin": "Menu separator top and bottom margin; these margins separate sections because the menu list has no gaps.",
161
+ "--so-menu-group-label-padding": "Menu group label top and bottom padding.",
162
+ "--so-menu-dot-size": "Side length of the selected Menu radio dot, in em of the row font.",
163
+ "--so-menu-shortcut-gap": "Menu shortcut hint and item arrow offset from the item text, in em.",
164
+ "--so-popover-max-width": "Maximum width of an anchored Popover panel, limited to the viewport width.",
165
+ "--so-popover-max-height": "Maximum height of an anchored Popover panel, limited to half the viewport height; also used by the Menu panel.",
166
+ "--so-popover-padding": "Popover content padding; also used by Menu item panel content.",
167
+ "--so-popover-close-offset": "Popover close button inset from the panel top and inline end.",
168
+ "--so-tooltip-max-width": "Tooltip maximum width, limited to the viewport width.",
169
+ "--so-tooltip-padding-inline": "Tooltip inline padding; also used by Slider thumb tooltips.",
170
+ "--so-tooltip-padding-block": "Tooltip top and bottom padding; also used by Slider thumb tooltips.",
171
+ "--so-tooltip-line": "Tooltip and Slider thumb tooltip line height. The theme sets font size without line height; Slider uses this line height to reserve space above the thumbs for an always-visible tooltip.",
172
+ "--so-panel-surface": "Surface of overlay panels (Popover, Select, DatePicker, Menu, Dialog and Drawer), the Calendar month picker card and toast cards. The theme sets it on the panel and uses it as the background; the base layer uses it for the local surface inside the panel (--so-place-surface). Unset without a theme.",
173
+ "--so-place-surface": "Local surface behind components. The theme sets it on the document root for the page; the application sets it alongside its own card background. Inside overlays the base layer derives it from --so-panel-surface. Makes the sticky Table header backing opaque; no backing when unset.",
174
+ "--so-swipe-grip-length": "Swipe grip mark length along the panel edge for Popover, Select, DatePicker and Drawer.",
175
+ "--so-swipe-grip-thickness": "Swipe grip mark thickness.",
176
+ "--so-modal-padding": "Modal layer content inset from the Dialog or Drawer panel edge.",
177
+ "--so-modal-gap": "Gap between modal layer header, body and footer, implemented as body top and bottom padding.",
178
+ "--so-modal-title-line": "Modal title line height; header buttons align with the center of its first line.",
179
+ "--so-modal-footer-gap": "Gap between modal footer actions.",
180
+ "--so-modal-button-gap": "Gap between modal header buttons.",
181
+ "--so-dialog-width": "Dialog width. The document root supplies the default; the library writes the width prop inline on the window.",
182
+ "--so-dialog-height": "Dialog height. Defaults to content height; the library writes the height prop inline on the window.",
183
+ "--so-dialog-offset": "Dialog inset from viewport edges without an explicit side offset; also limits the maximum size.",
184
+ "--so-dialog-offset-top": "Dialog top inset, written by the library from the offset prop and layout:offset:before adjustments. Themes must not set it. Fallback: --so-dialog-offset.",
185
+ "--so-dialog-offset-bottom": "Dialog bottom inset, written by the library. Themes must not set it. Fallback: --so-dialog-offset.",
186
+ "--so-dialog-offset-start": "Dialog inline-start inset, written by the library. Themes must not set it. Fallback: --so-dialog-offset.",
187
+ "--so-dialog-offset-end": "Dialog inline-end inset, written by the library. Themes must not set it. Fallback: --so-dialog-offset.",
188
+ "--so-drawer-width": "Drawer width at a side edge. The document root supplies the default; the library writes the width prop inline on the panel.",
189
+ "--so-drawer-height": "Drawer height at the top or bottom edge. Defaults to content height; the library writes the height prop inline on the panel.",
190
+ "--so-drawer-gap": "Backdrop strip at the edge opposite the Drawer; maximum panel size is the viewport minus this strip.",
191
+ "--so-textarea-border": "Textarea border thickness. The theme draws the border and sets this on the block; text padding excludes it. Without a theme: 0.",
192
+ "--so-scroller-bleed": "Space for Scroller content focus rings: viewport padding that does not increase the track height above or below it; the snap viewport is at least this wide.",
193
+ "--so-scroller-fade": "Scroller track edge hint width. The theme draws the hint and sets this on the track root; the snap viewport lies between the hints. Without hints: 0.",
194
+ "--so-slider-thumb-size-sm": "Slider thumb side length and thumb band height; half is the root travel-end padding, one third is the halo; aligns an adjacent Field label with the band, size sm.",
195
+ "--so-slider-thumb-size-normal": "Slider thumb side length and thumb band height; half is the root travel-end padding, one third is the halo; aligns an adjacent Field label with the band, size normal.",
196
+ "--so-slider-thumb-size-lg": "Slider thumb side length and thumb band height; half is the root travel-end padding, one third is the halo; aligns an adjacent Field label with the band, size lg.",
197
+ "--so-slider-thumb-size-xl": "Slider thumb side length and thumb band height; half is the root travel-end padding, one third is the halo; aligns an adjacent Field label with the band, size xl.",
198
+ "--so-slider-thumb-size-2xl": "Slider thumb side length and thumb band height; half is the root travel-end padding, one third is the halo; aligns an adjacent Field label with the band, size 2xl.",
199
+ "--so-slider-rail-size-sm": "Slider rail and fill thickness; also the ProgressLinear thickness, size sm.",
200
+ "--so-slider-rail-size-normal": "Slider rail and fill thickness; also the ProgressLinear thickness, size normal.",
201
+ "--so-slider-rail-size-lg": "Slider rail and fill thickness; also the ProgressLinear thickness, size lg.",
202
+ "--so-slider-rail-size-xl": "Slider rail and fill thickness; also the ProgressLinear thickness, size xl.",
203
+ "--so-slider-rail-size-2xl": "Slider rail and fill thickness; also the ProgressLinear thickness, size 2xl.",
204
+ "--so-slider-gap-sm": "Gap between Slider tick labels/tooltip and the thumb band, size sm.",
205
+ "--so-slider-gap-normal": "Gap between Slider tick labels/tooltip and the thumb band, size normal.",
206
+ "--so-slider-gap-lg": "Gap between Slider tick labels/tooltip and the thumb band, size lg.",
207
+ "--so-slider-gap-xl": "Gap between Slider tick labels/tooltip and the thumb band, size xl.",
208
+ "--so-slider-gap-2xl": "Gap between Slider tick labels/tooltip and the thumb band, size 2xl.",
209
+ "--so-slider-length": "Default vertical Slider length; also used by vertical ProgressLinear.",
210
+ "--so-slider-thumb-border": "Slider thumb border thickness. The theme draws the border and sets this on the slider; the tooltip is positioned beyond this border at the thumb edge. Without a theme: 0.",
211
+ "--so-slider-position": "Slider thumb/tick center position from the axis start, as a percentage. Written inline on the thumb/tick by the library; themes must not set it. Fallback: 0%.",
212
+ "--so-slider-range-start": "Slider fill start from the axis start, as a percentage. Written inline on the fill by the library; themes must not set it. Fallback: 0%.",
213
+ "--so-slider-range-end": "Slider fill end from the axis start, as a percentage. Written inline on the fill by the library; themes must not set it. Fallback: 0%.",
214
+ "--so-rating-star-size-sm": "Rating star icon box side length; star boxes touch each other, size sm.",
215
+ "--so-rating-star-size-normal": "Rating star icon box side length; star boxes touch each other, size normal.",
216
+ "--so-rating-star-size-lg": "Rating star icon box side length; star boxes touch each other, size lg.",
217
+ "--so-rating-star-size-xl": "Rating star icon box side length; star boxes touch each other, size xl.",
218
+ "--so-rating-star-size-2xl": "Rating star icon box side length; star boxes touch each other, size 2xl.",
219
+ "--so-rating-fraction": "Filled fraction of a Rating star, from 0 to 1. Written inline on the star by the library; themes must not set it. Fallback: 0.",
220
+ "--so-progress-linear-percent": "ProgressLinear completion percentage. Written inline on the root by the library while progress is determinate; themes must not set it. Fallback: 0%.",
221
+ "--so-progress-spinner-size-sm": "ProgressSpinner ring diameter; ring thickness is one eighth of it, size sm.",
222
+ "--so-progress-spinner-size-normal": "ProgressSpinner ring diameter; ring thickness is one eighth of it, size normal.",
223
+ "--so-progress-spinner-size-lg": "ProgressSpinner ring diameter; ring thickness is one eighth of it, size lg.",
224
+ "--so-progress-spinner-size-xl": "ProgressSpinner ring diameter; ring thickness is one eighth of it, size xl.",
225
+ "--so-progress-spinner-size-2xl": "ProgressSpinner ring diameter; ring thickness is one eighth of it, size 2xl.",
226
+ "--so-progress-spinner-fraction": "ProgressSpinner completion fraction, from 0 to 1. Written inline on the root by the library while progress is determinate; themes must not set it. Fallback: 0.",
227
+ "--so-calendar-bleed": "Space around a Calendar day tile for its focus ring: the cell is wider than the tile by this amount on each side. The cell determines the heading row, month height, navigation button placement and footer edges; twice this space gives the month picker card gaps.",
228
+ "--so-calendar-day-font-size-sm": "Calendar day number and month/year picker tile font size; weekday labels use the next smaller size (the same at sm), size sm; surrounding font size - 4px.",
229
+ "--so-calendar-day-line-height-sm": "Calendar day number line height, size sm.",
230
+ "--so-calendar-day-font-size-normal": "Calendar day number and month/year picker tile font size; weekday labels use the next smaller size (the same at sm), size normal; surrounding font size - 2px.",
231
+ "--so-calendar-day-line-height-normal": "Calendar day number line height, size normal.",
232
+ "--so-calendar-day-font-size-lg": "Calendar day number and month/year picker tile font size; weekday labels use the next smaller size (the same at sm), size lg; inherits the surrounding font size.",
233
+ "--so-calendar-day-line-height-lg": "Calendar day number line height, size lg.",
234
+ "--so-calendar-day-font-size-xl": "Calendar day number and month/year picker tile font size; weekday labels use the next smaller size (the same at sm), size xl; surrounding font size + 2px.",
235
+ "--so-calendar-day-line-height-xl": "Calendar day number line height, size xl.",
236
+ "--so-calendar-day-font-size-2xl": "Calendar day number and month/year picker tile font size; weekday labels use the next smaller size (the same at sm), size 2xl; surrounding font size + 4px.",
237
+ "--so-calendar-day-line-height-2xl": "Calendar day number line height, size 2xl.",
238
+ "--so-date-input-border": "DateInput border thickness. The theme draws the border and sets this on the block; slot row height excludes it. Without a theme: 0.",
239
+ "--so-date-input-segment-padding": "DateInput highlighted segment padding from its digits, in em of the row font; combined with the row inset, this gives the field text inset.",
240
+ "--so-date-input-literal-padding": "DateInput segment separator padding, in em of the row font.",
241
+ "--so-date-picker-border": "DatePicker range box border thickness. The theme draws the border and sets this on the block; slot row height excludes it. Without a theme: 0.",
242
+ "--so-date-picker-padding": "DatePicker panel content padding around the calendar.",
243
+ "--so-toasts-offset": "Toast region inset from viewport edges, in addition to the safe-area inset.",
244
+ "--so-toasts-width": "Toast width; fills the region width on narrow screens.",
245
+ "--so-toasts-gap": "Gap between toasts in a column; also the toast slot clipping allowance for shadow and focus rings, and how far each rear cascade toast peeks out from under the preceding toast.",
246
+ "--so-toasts-padding-block": "Toast card top and bottom padding.",
247
+ "--so-toasts-padding-inline": "Toast card inline padding.",
248
+ "--so-toasts-line": "Toast text line height. The theme sets font size without line height; the icon box and close button align with the center of the first line.",
249
+ "--so-toasts-card-gap": "Gap between icon, text and close button in the toast card row.",
250
+ "--so-toasts-body-gap": "Gap between toast title, description and custom content.",
251
+ "--so-toasts-content-gap": "Gap between custom toast content parts (action buttons).",
252
+ "--so-toasts-content-offset": "Custom toast content offset from the text above it.",
253
+ "--so-toasts-spinner-size": "Loading ring diameter in place of the toast icon, in em of the icon box; follows the type icon glyph circumference.",
254
+ "--so-toasts-cascade-narrow": "Width fraction by which each rear toast narrows per cascade level, as a number.",
255
+ "--so-toasts-cascade-layers": "Number of visible rear toast cascade layers; deeper toasts sit behind the last visible layer and are transparent.",
256
+ "--so-toasts-depth": "Toast depth in the cascade, as a numeric position in the collection. Written on the toast by markup; themes must not set it. Fallback: 0.",
257
+ "--so-toasts-front-height": "Front cascade toast height, written on the region by TToastsFrontPlugin (@soxa-ui/theme-base/setup), installed by the theme. Rear toasts use this height; without it they fill the cascade cell to the same height.",
258
+ "--so-table-bleed": "Space around a Table cell button for its focus ring: cell top/bottom padding. Body row height is Button height plus twice this space; cell inline padding is Button padding plus this space.",
259
+ "--so-table-head-trim": "Amount by which the Table header row is shorter than a body row.",
260
+ "--so-table-font-size-sm": "Table cell and header label font size, one step below Button, size sm; surrounding font size - 4px.",
261
+ "--so-table-line-height-sm": "Table cell and header label line height, size sm.",
262
+ "--so-table-font-size-normal": "Table cell and header label font size, one step below Button, size normal; surrounding font size - 2px.",
263
+ "--so-table-line-height-normal": "Table cell and header label line height, size normal.",
264
+ "--so-table-font-size-lg": "Table cell and header label font size, one step below Button, size lg; inherits the surrounding font size.",
265
+ "--so-table-line-height-lg": "Table cell and header label line height, size lg.",
266
+ "--so-table-font-size-xl": "Table cell and header label font size, one step below Button, size xl; surrounding font size + 2px.",
267
+ "--so-table-line-height-xl": "Table cell and header label line height, size xl.",
268
+ "--so-table-font-size-2xl": "Table cell and header label font size, one step below Button, size 2xl; surrounding font size + 4px.",
269
+ "--so-table-line-height-2xl": "Table cell and header label line height, size 2xl.",
270
+ "--so-table-column-min-width": "Minimum Table column width when no width is set. Before core lays out columns, its width is this minimum plus both cell paddings. Fixed layout does not inspect cell content; the minimum is the header width itself.",
271
+ "--so-table-sort-gap": "Gap between a Table header label and sort button, keeping the button hit area off the label.",
272
+ "--so-table-sort-padding": "Table sort button padding around its arrow, on each side, in units of the header font.",
273
+ "--so-table-resizer-width": "Table column resize handle hit strip width, centered on the column boundary (on the table edge for the last column).",
274
+ "--so-table-column-width": "Table column width, written by core on the header from the column width or available-space layout. Themes must not set it; without it the column shares the remaining space.",
275
+ "--so-table-head-offset": "Sticky Table header offset from the scroll edge. The application sets a positive offset on the table or wrapper for its sticky bar; the base layer sets a negative offset for a table viewport directly in Dialog/Drawer bodies or Popover content. Fallback: 0.",
276
+ "--so-table-head-height": "Sticky Table header height, written on the table root by TTableHeadPlugin (@soxa-ui/theme-base/setup), installed by the theme. Keeps body focus below the header and the backing under its full height. Fallback: one header row.",
277
+ "--so-table-head-border": "Line thickness under the sticky Table header. The theme draws the line and sets this on the header; the header backing stops before it. Without a theme: 0.",
278
+ "--so-table-body-shift": "Neighboring Table column cell shift in reorderPreview: column. The base layer distributes it to cells by column number. The theme sets it on the body using its motion while a column is dragged, for at most thirty columns (the base layer rule limit). Without it cells stay in place.",
279
+ "--so-table-body-dragged": "Dragged Table column cell visibility in reorderPreview: column (hidden hides cells in their original positions). The theme sets it on the body using its motion, with the same column-count limit. Fallback: row visibility.",
280
+ "--so-swipe-offset": "Layer offset during swipe-to-dismiss, in signed pixels along the viewport axis. The gesture plugin writes it on the dragged layer (Popover, Select, DatePicker, Drawer or toast); themes must not set it. The base layer uses it in translate and registers it without inheritance. Fallback: 0px.",
281
+ "--so-table-column-drag": "Dragged Table header inline offset during column reorder. The gesture plugin writes it on the header to follow the pointer and, after release, to reach the destination. Themes must not set it. The base layer uses it in translate; the theme transitions the landing. Fallback: 0."
282
+ },
283
+ "theme-reads": {
284
+ "--so-dir-sign": "Writing direction sign from the nearest dir: 1 for left-to-right, -1 for right-to-left. Written by the base layer dir rules; themes multiply mirroring transforms (scale, gradient angle or offset) by it.",
285
+ "--so-label-gap": "Inline gap between Label text and its control. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
286
+ "--so-label-stack": "Block gap above and below the Label control. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
287
+ "--so-field-gap": "Inline gap between the Field label and field. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
288
+ "--so-field-stack": "Block gap above the Field and below it for help text. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
289
+ "--so-radio-control-size": "Radio ring side length, using the CheckBox box size. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
290
+ "--so-switch-width": "Switch track width. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
291
+ "--so-switch-height": "Switch track height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
292
+ "--so-input-height": "Input field height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
293
+ "--so-input-slot-row": "Input slot row height: field height minus two borders and two clearances, derived from field height. Themes read it and set the size step and border instead.",
294
+ "--so-number-input-height": "NumberInput field height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
295
+ "--so-number-input-slot-row": "NumberInput slot row height: field height minus two borders and two clearances. Themes read it and set the size step and border instead.",
296
+ "--so-textarea-row": "Textarea row height, using the Input height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
297
+ "--so-textarea-indent": "Textarea text inset from the border. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
298
+ "--so-tags-item-height": "Tag pill height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
299
+ "--so-slider-thumb-size": "Slider thumb side length. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
300
+ "--so-slider-rail-size": "Slider rail and fill thickness. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
301
+ "--so-slider-gap": "Gap between Slider tick labels/tooltip and the thumb band. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
302
+ "--so-slider-tick-size": "Slider tick side length: half the rail thickness plus one pixel, derived from rail thickness. Read by the theme.",
303
+ "--so-slider-halo-size": "Slider thumb halo size: one third of the thumb side length, derived from thumb size. The theme reads it to draw the halo.",
304
+ "--so-rating-star-size": "Rating star side length. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
305
+ "--so-progress-linear-thickness": "ProgressLinear thickness, using the Slider rail size. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
306
+ "--so-progress-spinner-size": "ProgressSpinner ring diameter. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
307
+ "--so-pagination-cell": "Pagination cell side length, using Button height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
308
+ "--so-pagination-gap": "Pagination cell gap, using Button gap. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
309
+ "--so-calendar-day": "Calendar day tile side length, using Button height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
310
+ "--so-calendar-cell": "Calendar day cell size: day tile plus two focus-ring allowances, derived from the tile. Read by the theme.",
311
+ "--so-calendar-head": "Calendar heading row height: the day tile height, derived from the tile. Read by the theme.",
312
+ "--so-calendar-gap": "Gap between Calendar months: half a day cell, derived from the cell. Read by the theme.",
313
+ "--so-date-input-height": "DateInput field height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
314
+ "--so-date-input-indent": "DateInput segment row inset from the border. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
315
+ "--so-date-input-slot-row": "DateInput slot row height: field height minus two borders and two clearances. Themes read it and set the size step and border instead.",
316
+ "--so-date-picker-height": "DatePicker range box height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
317
+ "--so-date-picker-slot-row": "DatePicker range box slot row height: box height minus two borders and two clearances. Themes read it and set the size step and border instead.",
318
+ "--so-date-picker-button": "DatePicker clear/calendar button side length: its field slot row height. Read by the theme.",
319
+ "--so-toasts-lift": "Cascade toast block-axis step away from the viewport edge, derived from toast depth, visible layer count and gap. The base layer includes it with the swipe offset in translate; themes read it when defining their own cascade toast translate for entry/exit.",
320
+ "--so-toasts-peek-sign": "Direction in which rear cascade toasts peek out: 1 at the viewport top, -1 at the bottom. Written by the base layer from the region placement; read by the theme.",
321
+ "--so-table-button": "Table cell button height, using Button height. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
322
+ "--so-table-button-inline": "Table cell button inline padding, using Button padding. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
323
+ "--so-table-row": "Table row height: button height plus two focus-ring allowances, derived from button height. Read by the theme.",
324
+ "--so-table-head-row": "Table header row height: row height minus the header trim, derived from row height. Read by the theme.",
325
+ "--so-table-cell-inline": "Table cell inline padding: button padding plus focus-ring allowance, derived from button padding. Read by the theme.",
326
+ "--so-table-check": "Table selection-column checkbox side length, using the CheckBox box size. The base block resolves its size scale step into this variable; themes read it and set the scale step instead.",
327
+ "--so-tabs-active-pos": "Active tab position along the row main axis, measured from its edge. Written on the Tabs row (__bar: list plus edge slots) by TTabsViewPlugin (@soxa-ui/theme-base/setup), installed by the theme. The theme uses it to draw the active marker on the row. Absent without the plugin.",
328
+ "--so-tabs-active-size": "Active tab length along the row main axis. Written on the Tabs row by TTabsViewPlugin; absent without the plugin.",
329
+ "--so-tabs-gap-pos": "Start of the Tabs row line gap under the active tab, measured from the row edge. Written on the row by TTabsViewPlugin; absent without the plugin.",
330
+ "--so-tabs-gap-size": "Length of the Tabs row line gap under the active tab. Written on the row by TTabsViewPlugin; absent without the plugin.",
331
+ "--so-tabs-active-moving": "Active marker movement flag: 1 while row pseudo-element transitions finish. Written on the row by TTabsViewPlugin; the theme uses it for marker transition duration: calc(var(--so-tabs-active-moving, 0) * 200ms).",
332
+ "--so-table-column-ghost": "Table column resize ghost inline offset during deferred handle dragging (data-resize-ghost). Written on the header by the resize plugin; the theme draws the ghost and uses it in translate.",
333
+ "--so-table-column-ghost-size": "Table column resize ghost height from the header top to the table bottom inside its viewport. Written on the header by the resize plugin.",
334
+ "--so-table-column-shift": "Dragged Table column width, used to move neighbors during reorder. The gesture plugin writes it on the header in reorderPreview: head, or on the root in column mode. The theme animates neighbors with it and sets body variables (--so-table-body-shift)."
335
+ }
336
+ }