@teseor/css 1.8.0 → 1.9.0

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 (183) hide show
  1. package/dist/compiled.css +1 -1
  2. package/dist/index.css +115 -115
  3. package/package.json +1 -1
  4. package/src/components/actions/button/button.api.json +29 -32
  5. package/src/components/actions/button/index.scss +36 -11
  6. package/src/components/actions/button-group/button-group.api.json +3 -1
  7. package/src/components/actions/button-group/index.scss +4 -0
  8. package/src/components/actions/close-button/close-button.api.json +31 -18
  9. package/src/components/actions/close-button/index.scss +26 -6
  10. package/src/components/content/divider/divider.api.json +12 -7
  11. package/src/components/content/divider/index.scss +11 -4
  12. package/src/components/content/scroll-area/index.scss +15 -1
  13. package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
  14. package/src/components/content/scroll-area/scroll-area.api.json +33 -22
  15. package/src/components/content/scroll-area/scroll-area.docs.json +70 -1
  16. package/src/components/content/spacer/index.scss +6 -1
  17. package/src/components/content/spacer/spacer.api.json +8 -1
  18. package/src/components/data-display/avatar/avatar.api.json +36 -17
  19. package/src/components/data-display/avatar/index.scss +20 -2
  20. package/src/components/data-display/badge/badge.api.json +30 -48
  21. package/src/components/data-display/badge/index.scss +13 -0
  22. package/src/components/data-display/card/card.api.json +21 -23
  23. package/src/components/data-display/card/index.scss +19 -4
  24. package/src/components/data-display/data-list/data-list.api.json +9 -4
  25. package/src/components/data-display/data-list/index.scss +28 -11
  26. package/src/components/data-display/icon/icon.api.json +11 -22
  27. package/src/components/data-display/icon/index.scss +9 -4
  28. package/src/components/data-display/image/image.api.json +40 -26
  29. package/src/components/data-display/image/image.docs.json +1 -1
  30. package/src/components/data-display/image/index.scss +15 -1
  31. package/src/components/data-display/stat/index.scss +13 -1
  32. package/src/components/data-display/stat/stat.api.json +45 -7
  33. package/src/components/data-display/status/index.scss +8 -0
  34. package/src/components/data-display/status/status.api.json +10 -6
  35. package/src/components/data-display/table/index.scss +20 -6
  36. package/src/components/data-display/table/table.api.json +11 -5
  37. package/src/components/data-display/tag/index.scss +28 -3
  38. package/src/components/data-display/tag/tag.api.json +48 -22
  39. package/src/components/disclosure/accordion/accordion.api.json +7 -3
  40. package/src/components/disclosure/accordion/index.scss +8 -2
  41. package/src/components/disclosure/disclosure/disclosure.api.json +15 -8
  42. package/src/components/disclosure/disclosure/index.scss +21 -6
  43. package/src/components/feedback/alert/alert.api.json +40 -65
  44. package/src/components/feedback/alert/index.scss +26 -7
  45. package/src/components/feedback/progress/index.scss +16 -3
  46. package/src/components/feedback/progress/progress.api.json +13 -8
  47. package/src/components/feedback/progress-circle/index.scss +15 -2
  48. package/src/components/feedback/progress-circle/progress-circle.api.json +17 -8
  49. package/src/components/feedback/skeleton/index.scss +9 -2
  50. package/src/components/feedback/skeleton/skeleton.api.json +8 -4
  51. package/src/components/feedback/spinner/index.scss +14 -1
  52. package/src/components/feedback/spinner/spinner.api.json +27 -13
  53. package/src/components/feedback/toast/index.scss +39 -15
  54. package/src/components/feedback/toast/toast.api.json +39 -13
  55. package/src/components/forms/checkbox/checkbox.api.json +22 -11
  56. package/src/components/forms/checkbox/index.scss +27 -9
  57. package/src/components/forms/checkbox-group/checkbox-group.api.json +33 -14
  58. package/src/components/forms/checkbox-group/index.scss +22 -5
  59. package/src/components/forms/field/field.api.json +5 -3
  60. package/src/components/forms/field/index.scss +4 -0
  61. package/src/components/forms/fieldset/fieldset.api.json +29 -10
  62. package/src/components/forms/fieldset/index.scss +21 -4
  63. package/src/components/forms/form/form.api.json +15 -11
  64. package/src/components/forms/form/index.scss +10 -0
  65. package/src/components/forms/form-error/form-error.api.json +7 -3
  66. package/src/components/forms/form-error/index.scss +7 -1
  67. package/src/components/forms/form-helper/form-helper.api.json +7 -3
  68. package/src/components/forms/form-helper/index.scss +7 -1
  69. package/src/components/forms/input/index.scss +43 -12
  70. package/src/components/forms/input/input.api.json +36 -38
  71. package/src/components/forms/label/index.scss +14 -5
  72. package/src/components/forms/label/label.api.json +9 -4
  73. package/src/components/forms/number-input/index.scss +40 -15
  74. package/src/components/forms/number-input/number-input-visual.png +0 -0
  75. package/src/components/forms/number-input/number-input.api.json +48 -19
  76. package/src/components/forms/number-input/number-input.docs.json +49 -0
  77. package/src/components/forms/password-input/index.scss +44 -13
  78. package/src/components/forms/password-input/password-input-visual.png +0 -0
  79. package/src/components/forms/password-input/password-input.api.json +56 -25
  80. package/src/components/forms/password-input/password-input.docs.json +40 -0
  81. package/src/components/forms/radio/index.scss +27 -10
  82. package/src/components/forms/radio/radio.api.json +20 -10
  83. package/src/components/forms/radio-group/index.scss +22 -5
  84. package/src/components/forms/radio-group/radio-group.api.json +33 -14
  85. package/src/components/forms/search-input/index.scss +42 -11
  86. package/src/components/forms/search-input/search-input-visual.png +0 -0
  87. package/src/components/forms/search-input/search-input.api.json +66 -25
  88. package/src/components/forms/search-input/search-input.docs.json +36 -0
  89. package/src/components/forms/select/index.scss +40 -11
  90. package/src/components/forms/select/select.api.json +35 -17
  91. package/src/components/forms/slider/index.scss +28 -10
  92. package/src/components/forms/slider/slider.api.json +35 -20
  93. package/src/components/forms/textarea/index.scss +40 -9
  94. package/src/components/forms/textarea/textarea.api.json +40 -20
  95. package/src/components/forms/toggle/index.scss +18 -6
  96. package/src/components/forms/toggle/toggle.api.json +17 -8
  97. package/src/components/navigation/breadcrumb/breadcrumb.api.json +25 -11
  98. package/src/components/navigation/breadcrumb/index.scss +17 -4
  99. package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
  100. package/src/components/navigation/dropdown-menu/dropdown-menu.api.json +7 -3
  101. package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +18 -0
  102. package/src/components/navigation/dropdown-menu/index.scss +15 -5
  103. package/src/components/navigation/menu/index.scss +41 -17
  104. package/src/components/navigation/menu/menu.api.json +24 -13
  105. package/src/components/navigation/nav/index.scss +30 -11
  106. package/src/components/navigation/nav/nav.api.json +42 -18
  107. package/src/components/navigation/pagination/index.scss +21 -5
  108. package/src/components/navigation/pagination/pagination.api.json +21 -12
  109. package/src/components/navigation/tabs/index.scss +43 -15
  110. package/src/components/navigation/tabs/tabs.api.json +49 -22
  111. package/src/components/overlays/dialog/dialog.api.json +9 -4
  112. package/src/components/overlays/dialog/index.scss +12 -3
  113. package/src/components/overlays/drawer/drawer-visual.png +0 -0
  114. package/src/components/overlays/drawer/drawer.api.json +26 -13
  115. package/src/components/overlays/drawer/index.scss +51 -26
  116. package/src/components/overlays/modal/index.scss +18 -3
  117. package/src/components/overlays/modal/modal.api.json +22 -12
  118. package/src/components/overlays/overlay/index.scss +17 -5
  119. package/src/components/overlays/overlay/overlay.api.json +11 -6
  120. package/src/components/overlays/popover/index.scss +26 -9
  121. package/src/components/overlays/popover/popover.api.json +18 -9
  122. package/src/components/overlays/tooltip/index.scss +17 -2
  123. package/src/components/overlays/tooltip/tooltip.api.json +19 -10
  124. package/src/components/typography/blockquote/blockquote.api.json +34 -7
  125. package/src/components/typography/blockquote/index.scss +17 -4
  126. package/src/components/typography/code/code.api.json +26 -11
  127. package/src/components/typography/code/index.scss +23 -6
  128. package/src/components/typography/code-block/code-block-visual.png +0 -0
  129. package/src/components/typography/code-block/code-block.api.json +31 -12
  130. package/src/components/typography/code-block/code-block.docs.json +18 -0
  131. package/src/components/typography/code-block/index.scss +26 -7
  132. package/src/components/typography/heading/heading.api.json +37 -18
  133. package/src/components/typography/heading/index.scss +18 -0
  134. package/src/components/typography/kbd/index.scss +14 -2
  135. package/src/components/typography/kbd/kbd.api.json +41 -8
  136. package/src/components/typography/link/index.scss +16 -3
  137. package/src/components/typography/link/link.api.json +17 -9
  138. package/src/components/typography/list/index.scss +7 -0
  139. package/src/components/typography/list/list.api.json +12 -7
  140. package/src/components/typography/list/list.docs.json +3 -0
  141. package/src/components/typography/mark/index.scss +7 -0
  142. package/src/components/typography/mark/mark.api.json +26 -5
  143. package/src/config/tokens/_variables.scss +44 -0
  144. package/src/config/tokens/motion/index.scss +2 -0
  145. package/src/config/tokens/zindex/index.scss +1 -0
  146. package/src/debug/grid-overlay.scss +4 -3
  147. package/src/layout/app-shell/app-shell-visual.png +0 -0
  148. package/src/layout/app-shell/app-shell.api.json +6 -26
  149. package/src/layout/app-shell/app-shell.docs.json +18 -0
  150. package/src/layout/app-shell/index.scss +4 -0
  151. package/src/layout/aspect-ratio/aspect-ratio.api.json +2 -7
  152. package/src/layout/aspect-ratio/index.scss +4 -0
  153. package/src/layout/box/box.api.json +25 -8
  154. package/src/layout/box/index.scss +26 -8
  155. package/src/layout/center/center.api.json +1 -0
  156. package/src/layout/center/index.scss +3 -0
  157. package/src/layout/column/column.api.json +2 -1
  158. package/src/layout/column/index.scss +15 -6
  159. package/src/layout/container/container.api.json +4 -3
  160. package/src/layout/container/index.scss +13 -6
  161. package/src/layout/content/content.api.json +7 -3
  162. package/src/layout/content/index.scss +10 -1
  163. package/src/layout/footer/footer-visual.png +0 -0
  164. package/src/layout/footer/footer.api.json +11 -5
  165. package/src/layout/footer/footer.docs.json +9 -0
  166. package/src/layout/footer/index.scss +21 -5
  167. package/src/layout/grid/grid.api.json +2 -1
  168. package/src/layout/grid/index.scss +6 -1
  169. package/src/layout/main/index.scss +8 -2
  170. package/src/layout/main/main.api.json +1 -0
  171. package/src/layout/nav-rail/index.scss +14 -3
  172. package/src/layout/nav-rail/nav-rail.api.json +11 -5
  173. package/src/layout/page-header/index.scss +21 -6
  174. package/src/layout/page-header/page-header.api.json +9 -4
  175. package/src/layout/row/index.scss +13 -5
  176. package/src/layout/row/row.api.json +2 -1
  177. package/src/layout/sidebar/index.scss +18 -8
  178. package/src/layout/sidebar/sidebar.api.json +1 -0
  179. package/src/layout/sidebar/sidebar.docs.json +2 -1
  180. package/src/layout/sidebar-nav/index.scss +56 -18
  181. package/src/layout/sidebar-nav/sidebar-nav.api.json +90 -11
  182. package/src/layout/topbar/index.scss +20 -5
  183. package/src/layout/topbar/topbar.api.json +11 -5
@@ -1,85 +1,126 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "search-input",
3
4
  "element": "div",
4
5
  "modifiers": {
5
6
  "size": {
6
7
  "values": ["sm", "lg"]
7
8
  },
8
- "has-clear": {
9
- "type": "boolean"
10
- },
11
9
  "block": {
12
10
  "type": "boolean"
13
11
  },
14
12
  "disabled": {
15
13
  "type": "boolean"
14
+ },
15
+ "has-clear": {
16
+ "type": "boolean"
16
17
  }
17
18
  },
18
19
  "elements": {
19
- "icon": {},
20
20
  "field": {},
21
+ "icon": {},
21
22
  "clear": {}
22
23
  },
23
24
  "cssVars": [
24
25
  {
25
26
  "name": "--ui-search-input-height",
26
- "default": "var(--ui-row-2)"
27
- },
28
- {
29
- "name": "--ui-search-input-height-sm",
30
- "default": "calc(var(--ui-row) * 1.5)"
31
- },
32
- {
33
- "name": "--ui-search-input-height-lg",
34
- "default": "calc(var(--ui-row) * 2.5)"
27
+ "default": "var(--ui-row-2)",
28
+ "description": "Overall height"
35
29
  },
36
30
  {
37
31
  "name": "--ui-search-input-padding-x",
38
- "default": "var(--ui-space-1)"
32
+ "default": "var(--ui-space-1)",
33
+ "description": "Horizontal padding"
39
34
  },
40
35
  {
41
36
  "name": "--ui-search-input-font-size",
42
- "default": "var(--ui-font-size-sm)"
37
+ "default": "var(--ui-font-size-sm)",
38
+ "description": "Font size"
43
39
  },
44
40
  {
45
41
  "name": "--ui-search-input-radius",
46
- "default": "var(--ui-radius-md)"
42
+ "default": "var(--ui-radius-md)",
43
+ "description": "Corner radius"
47
44
  },
48
45
  {
49
46
  "name": "--ui-search-input-bg",
50
- "default": "var(--ui-color-bg)"
47
+ "default": "var(--ui-color-bg)",
48
+ "description": "Background color"
51
49
  },
52
50
  {
53
51
  "name": "--ui-search-input-border-color",
54
- "default": "var(--ui-color-border-strong)"
52
+ "default": "var(--ui-color-border-strong)",
53
+ "description": "Border color"
55
54
  },
56
55
  {
57
56
  "name": "--ui-search-input-border-color-focus",
58
- "default": "var(--ui-color-primary)"
57
+ "default": "var(--ui-color-primary)",
58
+ "description": "Border color focus"
59
59
  },
60
60
  {
61
61
  "name": "--ui-search-input-text",
62
- "default": "var(--ui-color-text)"
62
+ "default": "var(--ui-color-text)",
63
+ "description": "Text"
63
64
  },
64
65
  {
65
66
  "name": "--ui-search-input-placeholder",
66
- "default": "var(--ui-color-text-muted)"
67
+ "default": "var(--ui-color-text-muted)",
68
+ "description": "Placeholder"
67
69
  },
68
70
  {
69
71
  "name": "--ui-search-input-icon-color",
70
- "default": "var(--ui-color-text-muted)"
72
+ "default": "var(--ui-color-text-muted)",
73
+ "description": "Icon color"
71
74
  },
72
75
  {
73
76
  "name": "--ui-search-input-icon-size",
74
- "default": "var(--ui-size-md)"
77
+ "default": "var(--ui-size-md)",
78
+ "description": "Icon dimensions"
75
79
  },
76
80
  {
77
81
  "name": "--ui-search-input-clear-color",
78
- "default": "var(--ui-color-text-muted)"
82
+ "default": "var(--ui-color-text-muted)",
83
+ "description": "Clear color"
79
84
  },
80
85
  {
81
86
  "name": "--ui-search-input-clear-hover-bg",
82
- "default": "var(--ui-color-bg-muted)"
87
+ "default": "var(--ui-color-bg-muted)",
88
+ "description": "Clear hover bg"
89
+ },
90
+ {
91
+ "name": "--ui-search-input-height-sm",
92
+ "default": "calc(var(--ui-row) * 1.5)",
93
+ "description": "Overall height at small size"
94
+ },
95
+ {
96
+ "name": "--ui-search-input-font-size-sm",
97
+ "default": "var(--ui-font-size-xs)",
98
+ "description": "Font size at small size"
99
+ },
100
+ {
101
+ "name": "--ui-search-input-icon-size-sm",
102
+ "default": "var(--ui-size-sm)",
103
+ "description": "Icon dimensions at small size"
104
+ },
105
+ {
106
+ "name": "--ui-search-input-height-lg",
107
+ "default": "calc(var(--ui-row) * 2.5)",
108
+ "description": "Overall height at large size"
109
+ },
110
+ {
111
+ "name": "--ui-search-input-padding-x-lg",
112
+ "default": "var(--ui-space-2)",
113
+ "description": "Horizontal padding at large size"
114
+ },
115
+ {
116
+ "name": "--ui-search-input-font-size-lg",
117
+ "default": "var(--ui-font-size-md)",
118
+ "description": "Font size at large size"
119
+ },
120
+ {
121
+ "name": "--ui-search-input-icon-size-lg",
122
+ "default": "var(--ui-size-lg)",
123
+ "description": "Icon dimensions at large size"
83
124
  }
84
125
  ]
85
126
  }
@@ -176,6 +176,42 @@
176
176
  }
177
177
  ]
178
178
  },
179
+ {
180
+ "title": "Block",
181
+ "description": "Full-width layout.",
182
+ "examples": [
183
+ {
184
+ "items": [
185
+ {
186
+ "tag": "div",
187
+ "class": "ui-search-input ui-search-input--block",
188
+ "children": [
189
+ {
190
+ "tag": "span",
191
+ "class": "ui-search-input__icon",
192
+ "children": [
193
+ {
194
+ "tag": "svg",
195
+ "attrs": { "viewBox": "0 0 24 24" },
196
+ "children": [
197
+ { "tag": "circle", "attrs": { "cx": "11", "cy": "11", "r": "8" } },
198
+ { "tag": "path", "attrs": { "d": "m21 21-4.3-4.3" } }
199
+ ]
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "tag": "input",
205
+ "class": "ui-search-input__field",
206
+ "attrs": { "type": "search", "placeholder": "Full width search..." }
207
+ }
208
+ ]
209
+ }
210
+ ],
211
+ "code": "<div class=\"ui-search-input ui-search-input--block\">...</div>"
212
+ }
213
+ ]
214
+ },
179
215
  {
180
216
  "title": "Disabled",
181
217
  "examples": [
@@ -5,31 +5,55 @@
5
5
 
6
6
  @layer components.tokens {
7
7
  .select {
8
+ --_space-half: var(--ui-space-half, #{t.$space-0});
9
+ --_border-width-sm: var(--ui-border-width-sm, #{t.$border-width-sm});
10
+ --_duration-fast: var(--ui-duration-fast, #{t.$duration-fast});
11
+ --_ease-default: var(--ui-ease-default, ease);
12
+ --_color-border-strong: var(--ui-color-border-strong, #{t.$color-border-strong});
13
+ --_border-width-md: var(--ui-border-width-md, #{t.$border-width-md});
14
+ --_color-focus: var(--ui-color-focus, #{t.$color-focus});
15
+ --_opacity-disabled: var(--ui-opacity-disabled, #{t.$opacity-disabled});
16
+ --_color-text-muted: var(--ui-color-text-muted, #{t.$color-text-muted});
17
+ // @desc Overall height
8
18
  --_height: var(--ui-select-height, var(--ui-row-2, #{t.$row-2}));
19
+ // @desc Horizontal padding
9
20
  --_padding-x: var(--ui-select-padding-x, var(--ui-space-1, #{t.$space-1}));
21
+ // @desc Font size
10
22
  --_font-size: var(--ui-select-font-size, var(--ui-font-size-sm, #{t.$font-size-sm}));
23
+ // @desc Corner radius
11
24
  --_radius: var(--ui-select-radius, var(--ui-radius-md, #{t.$radius-md}));
25
+ // @desc Background color
12
26
  --_bg: var(--ui-select-bg, var(--ui-color-bg, #{t.$color-bg}));
27
+ // @desc Border color
13
28
  --_border-color: var(--ui-select-border-color, var(--ui-color-border-strong, #{t.$color-border-strong}));
29
+ // @desc Border color focus
14
30
  --_border-color-focus: var(--ui-select-border-color-focus, var(--ui-color-primary, #{t.$color-primary}));
31
+ // @desc Text color
15
32
  --_color: var(--ui-select-color, var(--ui-color-text, #{t.$color-text}));
33
+ // @desc Icon color
16
34
  --_icon-color: var(--ui-select-icon-color, var(--ui-color-text-muted, #{t.$color-text-muted}));
17
35
  }
18
36
 
19
37
  // @modifier size
20
38
  .select--sm {
39
+ // @desc Overall height at small size
21
40
  --_height: var(--ui-select-height-sm, calc(#{t.$row} * 1.5));
41
+ // @desc Font size at small size
22
42
  --_font-size: var(--ui-select-font-size-sm, var(--ui-font-size-xs, #{t.$font-size-xs}));
23
43
  }
24
44
 
25
45
  .select--lg {
46
+ // @desc Overall height at large size
26
47
  --_height: var(--ui-select-height-lg, calc(#{t.$row} * 2.5));
48
+ // @desc Horizontal padding at large size
27
49
  --_padding-x: var(--ui-select-padding-x-lg, var(--ui-space-2, #{t.$space-2}));
50
+ // @desc Font size at large size
28
51
  --_font-size: var(--ui-select-font-size-lg, var(--ui-font-size-md, #{t.$font-size-md}));
29
52
  }
30
53
 
31
54
  // @modifier variant
32
55
  .select--filled {
56
+ // @desc Filled bg
33
57
  --_bg: var(--ui-select-filled-bg, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
34
58
  --_border-color: transparent;
35
59
  }
@@ -41,12 +65,16 @@
41
65
 
42
66
  // @modifier state
43
67
  .select--error {
68
+ // @desc Error border
44
69
  --_border-color: var(--ui-select-error-border, var(--ui-color-danger, #{t.$color-danger}));
70
+ // @desc Error border
45
71
  --_border-color-focus: var(--ui-select-error-border, var(--ui-color-danger, #{t.$color-danger}));
46
72
  }
47
73
 
48
74
  .select--success {
75
+ // @desc Success border
49
76
  --_border-color: var(--ui-select-success-border, var(--ui-color-success, #{t.$color-success}));
77
+ // @desc Success border
50
78
  --_border-color-focus: var(--ui-select-success-border, var(--ui-color-success, #{t.$color-success}));
51
79
  }
52
80
  }
@@ -59,7 +87,7 @@
59
87
  block-size: var(--_height);
60
88
  // Extra padding for arrow
61
89
  padding-inline-start: var(--_padding-x);
62
- padding-inline-end: calc(var(--_height) - var(--ui-space-half, #{t.$space-0}));
90
+ padding-inline-end: calc(var(--_height) - var(--_space-half));
63
91
 
64
92
  font-family: inherit;
65
93
  font-size: var(--_font-size);
@@ -69,39 +97,40 @@
69
97
  background-color: var(--_bg);
70
98
  // Chevron down arrow
71
99
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
72
- border: var(--ui-border-width-sm, #{t.$border-width-sm}) solid var(--_border-color);
100
+ border: var(--_border-width-sm) solid var(--_border-color);
73
101
  border-radius: var(--_radius);
74
102
  cursor: pointer;
75
103
  // Reset native select
76
104
  appearance: none;
77
105
 
78
106
  transition:
79
- border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),
80
- box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease);
107
+ border-color var(--_duration-fast) var(--_ease-default),
108
+ box-shadow var(--_duration-fast) var(--_ease-default);
81
109
  background-repeat: no-repeat;
82
- background-position: right var(--ui-space-half, #{t.$space-0}) center;
110
+ background-position: right var(--_space-half) center;
83
111
  background-size: calc(var(--_height) * 0.5);
84
112
 
85
113
  &:hover:not(:disabled, :focus-visible) {
86
- border-color: var(--ui-color-border-strong, #{t.$color-border-strong});
114
+ border-color: var(--_color-border-strong);
87
115
  }
88
116
 
89
117
  &:focus-visible,
90
118
  &--focus {
91
119
  border-color: var(--_border-color-focus);
92
- outline: var(--ui-border-width-md, #{t.$border-width-md}) solid transparent;
93
- outline-offset: var(--ui-border-width-sm, #{t.$border-width-sm});
120
+ outline: var(--_border-width-md) solid transparent;
121
+ outline-offset: var(--_border-width-sm);
94
122
 
95
- box-shadow: 0 0 0 var(--ui-border-width-md, #{t.$border-width-md}) var(--ui-color-focus, #{t.$color-focus});
123
+ box-shadow: 0 0 0 var(--_border-width-md) var(--_color-focus);
96
124
  }
97
125
 
98
126
  &:disabled,
99
127
  &--disabled {
100
- opacity: var(--ui-opacity-disabled, 0.5);
128
+ opacity: var(--_opacity-disabled);
101
129
  cursor: not-allowed;
102
130
  }
103
131
 
104
132
  // Full width
133
+ // @modifier boolean block
105
134
  &--block {
106
135
  inline-size: 100%;
107
136
  }
@@ -109,7 +138,7 @@
109
138
  // Placeholder option styling
110
139
  &:invalid,
111
140
  &--placeholder {
112
- color: var(--ui-color-text-muted, #{t.$color-text-muted});
141
+ color: var(--_color-text-muted);
113
142
  }
114
143
  }
115
144
  }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "select",
3
4
  "element": "select",
4
5
  "modifiers": {
@@ -18,71 +19,88 @@
18
19
  "cssVars": [
19
20
  {
20
21
  "name": "--ui-select-height",
21
- "default": "var(--ui-row-2)"
22
+ "default": "var(--ui-row-2)",
23
+ "description": "Overall height"
22
24
  },
23
25
  {
24
26
  "name": "--ui-select-padding-x",
25
- "default": "var(--ui-space-1)"
27
+ "default": "var(--ui-space-1)",
28
+ "description": "Horizontal padding"
26
29
  },
27
30
  {
28
31
  "name": "--ui-select-font-size",
29
- "default": "var(--ui-font-size-sm)"
32
+ "default": "var(--ui-font-size-sm)",
33
+ "description": "Font size"
30
34
  },
31
35
  {
32
36
  "name": "--ui-select-radius",
33
- "default": "var(--ui-radius-md)"
37
+ "default": "var(--ui-radius-md)",
38
+ "description": "Corner radius"
34
39
  },
35
40
  {
36
41
  "name": "--ui-select-bg",
37
- "default": "var(--ui-color-bg)"
42
+ "default": "var(--ui-color-bg)",
43
+ "description": "Background color"
38
44
  },
39
45
  {
40
46
  "name": "--ui-select-border-color",
41
- "default": "var(--ui-color-border-strong)"
47
+ "default": "var(--ui-color-border-strong)",
48
+ "description": "Border color"
42
49
  },
43
50
  {
44
51
  "name": "--ui-select-border-color-focus",
45
- "default": "var(--ui-color-primary)"
52
+ "default": "var(--ui-color-primary)",
53
+ "description": "Border color focus"
46
54
  },
47
55
  {
48
56
  "name": "--ui-select-color",
49
- "default": "var(--ui-color-text)"
57
+ "default": "var(--ui-color-text)",
58
+ "description": "Text color"
50
59
  },
51
60
  {
52
61
  "name": "--ui-select-icon-color",
53
- "default": "var(--ui-color-text-muted)"
62
+ "default": "var(--ui-color-text-muted)",
63
+ "description": "Icon color"
54
64
  },
55
65
  {
56
66
  "name": "--ui-select-height-sm",
57
- "default": "calc(var(--ui-row) * 1.5"
67
+ "default": "calc(var(--ui-row) * 1.5)",
68
+ "description": "Overall height at small size"
58
69
  },
59
70
  {
60
71
  "name": "--ui-select-font-size-sm",
61
- "default": "var(--ui-font-size-xs)"
72
+ "default": "var(--ui-font-size-xs)",
73
+ "description": "Font size at small size"
62
74
  },
63
75
  {
64
76
  "name": "--ui-select-height-lg",
65
- "default": "calc(var(--ui-row) * 2.5"
77
+ "default": "calc(var(--ui-row) * 2.5)",
78
+ "description": "Overall height at large size"
66
79
  },
67
80
  {
68
81
  "name": "--ui-select-padding-x-lg",
69
- "default": "var(--ui-space-2)"
82
+ "default": "var(--ui-space-2)",
83
+ "description": "Horizontal padding at large size"
70
84
  },
71
85
  {
72
86
  "name": "--ui-select-font-size-lg",
73
- "default": "var(--ui-font-size-md)"
87
+ "default": "var(--ui-font-size-md)",
88
+ "description": "Font size at large size"
74
89
  },
75
90
  {
76
91
  "name": "--ui-select-filled-bg",
77
- "default": "var(--ui-color-bg-muted)"
92
+ "default": "var(--ui-color-bg-muted)",
93
+ "description": "Filled bg"
78
94
  },
79
95
  {
80
96
  "name": "--ui-select-error-border",
81
- "default": "var(--ui-color-danger)"
97
+ "default": "var(--ui-color-danger)",
98
+ "description": "Error border"
82
99
  },
83
100
  {
84
101
  "name": "--ui-select-success-border",
85
- "default": "var(--ui-color-success)"
102
+ "default": "var(--ui-color-success)",
103
+ "description": "Success border"
86
104
  }
87
105
  ]
88
106
  }
@@ -5,28 +5,46 @@
5
5
 
6
6
  @layer components.tokens {
7
7
  .slider {
8
+ --_duration-fast: var(--ui-duration-fast, #{t.$duration-fast});
9
+ --_ease-default: var(--ui-ease-default, ease);
10
+ --_border-width-md: var(--ui-border-width-md, #{t.$border-width-md});
11
+ --_opacity-disabled: var(--ui-opacity-disabled, #{t.$opacity-disabled});
12
+ // @desc Overall height
8
13
  --_height: var(--ui-slider-height, var(--ui-row-2, #{t.$row-2}));
14
+ // @desc Track height
9
15
  --_track-height: var(--ui-slider-track-height, #{t.$unit});
10
- --_track-bg: var(--ui-slider-track-bg, var(--ui-color-bg-subtle, rgb(0 0 0 / 0.1)));
16
+ // @desc Track background
17
+ --_track-bg: var(--ui-slider-track-bg, var(--ui-color-bg-subtle, #{t.$overlay-bg-subtle}));
18
+ // @desc Track fill
11
19
  --_track-fill: var(--ui-slider-track-fill, var(--ui-color-primary));
20
+ // @desc Track corner radius
12
21
  --_track-radius: var(--ui-slider-track-radius, var(--ui-radius-full, #{t.$radius-full}));
22
+ // @desc Thumb control size
13
23
  --_thumb-size: var(--ui-slider-thumb-size, calc(#{t.$unit} * 2.5));
24
+ // @desc Thumb background
14
25
  --_thumb-bg: var(--ui-slider-thumb-bg, var(--ui-color-bg, #{t.$color-bg}));
26
+ // @desc Thumb control border color
15
27
  --_thumb-border-color: var(--ui-slider-thumb-border-color, var(--ui-color-primary));
28
+ // @desc Thumb control border thickness
16
29
  --_thumb-border-width: var(--ui-slider-thumb-border-width, var(--ui-border-width-md, #{t.$border-width-md}));
30
+ // @desc Thumb corner radius
17
31
  --_thumb-radius: var(--ui-slider-thumb-radius, var(--ui-radius-full, #{t.$radius-full}));
18
- --_thumb-shadow: var(--ui-slider-thumb-shadow, 0 1px 3px rgb(0 0 0 / 0.2));
32
+ // @desc Thumb control box shadow
33
+ --_thumb-shadow: var(--ui-slider-thumb-shadow, #{t.$slider-thumb-shadow});
34
+ // @desc Focus ring
19
35
  --_focus-ring: var(--ui-slider-focus-ring, var(--ui-color-focus, #{t.$color-focus}));
20
36
  }
21
37
 
22
38
  // @modifier size
23
39
  .slider--sm {
40
+ // @desc Overall height at small size
24
41
  --_height: var(--ui-slider-height-sm, calc(#{t.$row} * 1.5));
25
42
  --_track-height: calc(#{t.$unit} * 0.5);
26
43
  --_thumb-size: calc(#{t.$unit} * 2);
27
44
  }
28
45
 
29
46
  .slider--lg {
47
+ // @desc Overall height at large size
30
48
  --_height: var(--ui-slider-height-lg, calc(#{t.$row} * 2.5));
31
49
  --_track-height: calc(#{t.$unit} * 1.5);
32
50
  --_thumb-size: calc(#{t.$unit} * 3);
@@ -101,8 +119,8 @@
101
119
  appearance: none;
102
120
 
103
121
  transition:
104
- box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),
105
- transform var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease);
122
+ box-shadow var(--_duration-fast) var(--_ease-default),
123
+ transform var(--_duration-fast) var(--_ease-default);
106
124
  }
107
125
 
108
126
  // Firefox thumb
@@ -116,20 +134,20 @@
116
134
  box-shadow: var(--_thumb-shadow);
117
135
 
118
136
  transition:
119
- box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),
120
- transform var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease);
137
+ box-shadow var(--_duration-fast) var(--_ease-default),
138
+ transform var(--_duration-fast) var(--_ease-default);
121
139
  }
122
140
 
123
141
  // Focus state
124
142
  &:focus-visible {
125
- outline: var(--ui-border-width-md, #{t.$border-width-md}) solid transparent;
143
+ outline: var(--_border-width-md) solid transparent;
126
144
 
127
145
  &::-webkit-slider-thumb {
128
- box-shadow: 0 0 0 var(--ui-border-width-md, #{t.$border-width-md}) var(--_focus-ring);
146
+ box-shadow: 0 0 0 var(--_border-width-md) var(--_focus-ring);
129
147
  }
130
148
 
131
149
  &::-moz-range-thumb {
132
- box-shadow: 0 0 0 var(--ui-border-width-md, #{t.$border-width-md}) var(--_focus-ring);
150
+ box-shadow: 0 0 0 var(--_border-width-md) var(--_focus-ring);
133
151
  }
134
152
  }
135
153
 
@@ -146,7 +164,7 @@
146
164
 
147
165
  // Disabled state
148
166
  &:disabled {
149
- opacity: var(--ui-opacity-disabled, 0.5);
167
+ opacity: var(--_opacity-disabled);
150
168
  cursor: not-allowed;
151
169
  }
152
170
  }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "slider",
3
4
  "element": "input",
4
5
  "modifiers": {
@@ -12,59 +13,73 @@
12
13
  "cssVars": [
13
14
  {
14
15
  "name": "--ui-slider-height",
15
- "default": "var(--ui-row-2)"
16
- },
17
- {
18
- "name": "--ui-slider-height-sm",
19
- "default": "calc(var(--ui-row) * 1.5)"
20
- },
21
- {
22
- "name": "--ui-slider-height-lg",
23
- "default": "calc(var(--ui-row) * 2.5)"
16
+ "default": "var(--ui-row-2)",
17
+ "description": "Overall height"
24
18
  },
25
19
  {
26
20
  "name": "--ui-slider-track-height",
27
- "default": "var(--ui-unit)"
21
+ "default": "var(--ui-unit)",
22
+ "description": "Track height"
28
23
  },
29
24
  {
30
25
  "name": "--ui-slider-track-bg",
31
- "default": "var(--ui-color-bg-subtle)"
26
+ "default": "var(--ui-color-bg-subtle)",
27
+ "description": "Track background"
32
28
  },
33
29
  {
34
30
  "name": "--ui-slider-track-fill",
35
- "default": "var(--ui-color-primary)"
31
+ "default": "var(--ui-color-primary)",
32
+ "description": "Track fill"
36
33
  },
37
34
  {
38
35
  "name": "--ui-slider-track-radius",
39
- "default": "var(--ui-radius-full)"
36
+ "default": "var(--ui-radius-full)",
37
+ "description": "Track corner radius"
40
38
  },
41
39
  {
42
40
  "name": "--ui-slider-thumb-size",
43
- "default": "calc(var(--ui-unit) * 2.5)"
41
+ "default": "calc(var(--ui-unit) * 2.5)",
42
+ "description": "Thumb control size"
44
43
  },
45
44
  {
46
45
  "name": "--ui-slider-thumb-bg",
47
- "default": "var(--ui-color-bg)"
46
+ "default": "var(--ui-color-bg)",
47
+ "description": "Thumb background"
48
48
  },
49
49
  {
50
50
  "name": "--ui-slider-thumb-border-color",
51
- "default": "var(--ui-color-primary)"
51
+ "default": "var(--ui-color-primary)",
52
+ "description": "Thumb control border color"
52
53
  },
53
54
  {
54
55
  "name": "--ui-slider-thumb-border-width",
55
- "default": "var(--ui-border-width-md)"
56
+ "default": "var(--ui-border-width-md)",
57
+ "description": "Thumb control border thickness"
56
58
  },
57
59
  {
58
60
  "name": "--ui-slider-thumb-radius",
59
- "default": "var(--ui-radius-full)"
61
+ "default": "var(--ui-radius-full)",
62
+ "description": "Thumb corner radius"
60
63
  },
61
64
  {
62
65
  "name": "--ui-slider-thumb-shadow",
63
- "default": "0 1px 3px rgb(0 0 0 / 0.2)"
66
+ "default": "var(--ui-slider-thumb-shadow)",
67
+ "description": "Thumb control box shadow"
64
68
  },
65
69
  {
66
70
  "name": "--ui-slider-focus-ring",
67
- "default": "var(--ui-color-focus)"
71
+ "default": "var(--ui-color-focus)",
72
+ "description": "Focus ring"
73
+ },
74
+ {
75
+ "name": "--ui-slider-height-sm",
76
+ "default": "calc(var(--ui-row) * 1.5)",
77
+ "description": "Overall height at small size"
78
+ },
79
+ {
80
+ "name": "--ui-slider-height-lg",
81
+ "default": "calc(var(--ui-row) * 2.5)",
82
+ "description": "Overall height at large size"
68
83
  }
69
84
  ]
70
85
  }