@teseor/css 1.8.0 → 1.10.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,12 +1,32 @@
1
+ @use '../../config/tokens/variables' as t;
2
+
3
+ // @component sidebar-nav
4
+ // @element nav
1
5
  // Sidebar Navigation
2
6
  // Primary navigation for sidebar with groups, items, and nested levels
3
7
 
4
8
  @layer primitives {
5
9
  .sidebar-nav {
10
+ --_border-width-sm: var(--ui-border-width-sm);
11
+ --_space-2: var(--ui-space-2);
12
+ --_space-1: var(--ui-space-1);
13
+ --_space-half: var(--ui-space-half);
14
+ --_size-xs: var(--ui-size-xs);
15
+ --_weight-medium: var(--ui-weight-medium);
16
+ --_color-text-muted: var(--ui-color-text-muted);
17
+ --_duration-fast: var(--ui-duration-fast);
18
+ --_easing-default: var(--ui-easing-default);
19
+ --_color-focus: var(--ui-color-focus);
20
+ --_opacity-disabled: var(--ui-opacity-disabled, #{t.$opacity-disabled});
21
+ --_size-md: var(--ui-size-md);
6
22
  // Tokens
23
+ // @desc Overall width
7
24
  --_width: var(--ui-sidebar-nav-width, calc(var(--ui-unit) * 30));
25
+ // @desc Background color
8
26
  --_bg: var(--ui-sidebar-nav-bg, var(--ui-color-bg-subtle));
27
+ // @desc Border color
9
28
  --_border-color: var(--ui-sidebar-nav-border-color, var(--ui-color-border));
29
+ // @desc Padding on all sides
10
30
  --_padding: var(--ui-sidebar-nav-padding, var(--ui-space-2));
11
31
 
12
32
  // Styles
@@ -21,13 +41,14 @@
21
41
 
22
42
  // Header - sticky at top
23
43
  .sidebar-nav__header {
44
+ // @desc Header padding on all sides
24
45
  --_padding: var(--ui-sidebar-nav-header-padding, var(--ui-space-2));
25
46
 
26
47
  flex-shrink: 0;
27
48
 
28
49
  padding: var(--_padding);
29
50
 
30
- box-shadow: inset 0 calc(var(--ui-border-width-sm) * -1) 0 0 var(--_border-color);
51
+ box-shadow: inset 0 calc(var(--_border-width-sm) * -1) 0 0 var(--_border-color);
31
52
  }
32
53
 
33
54
  // Content - scrollable
@@ -40,29 +61,33 @@
40
61
 
41
62
  // Footer - sticky at bottom
42
63
  .sidebar-nav__footer {
64
+ // @desc Footer padding on all sides
43
65
  --_padding: var(--ui-sidebar-nav-footer-padding, var(--ui-space-2));
44
66
 
45
67
  flex-shrink: 0;
46
68
 
47
69
  padding: var(--_padding);
48
70
 
49
- box-shadow: inset 0 var(--ui-border-width-sm) 0 0 var(--_border-color);
71
+ box-shadow: inset 0 var(--_border-width-sm) 0 0 var(--_border-color);
50
72
  }
51
73
 
52
74
  // Group container
53
75
  .sidebar-nav__group {
54
- margin-block-end: var(--ui-space-2);
76
+ margin-block-end: var(--_space-2);
55
77
  }
56
78
 
57
79
  // Group label (section heading)
58
80
  .sidebar-nav__group-label {
81
+ // @desc Group label size
59
82
  --_font-size: var(--ui-sidebar-nav-group-label-size, var(--ui-size-xs));
83
+ // @desc Group label color
60
84
  --_color: var(--ui-sidebar-nav-group-label-color, var(--ui-color-text-muted));
85
+ // @desc Group label weight
61
86
  --_weight: var(--ui-sidebar-nav-group-label-weight, var(--ui-weight-bold));
62
87
 
63
88
  display: block;
64
89
 
65
- padding: var(--ui-space-1) var(--ui-space-2);
90
+ padding: var(--_space-1) var(--_space-2);
66
91
  margin: 0;
67
92
 
68
93
  font-size: var(--_font-size);
@@ -76,7 +101,7 @@
76
101
  .sidebar-nav__group-items {
77
102
  display: flex;
78
103
  flex-direction: column;
79
- gap: var(--ui-space-half);
104
+ gap: var(--_space-half);
80
105
 
81
106
  padding: 0;
82
107
  margin: 0;
@@ -93,13 +118,13 @@
93
118
  display: block;
94
119
  list-style: none;
95
120
 
96
- padding: var(--ui-space-1) var(--ui-space-2);
121
+ padding: var(--_space-1) var(--_space-2);
97
122
  margin: 0;
98
- margin-block-start: var(--ui-space-1);
123
+ margin-block-start: var(--_space-1);
99
124
 
100
- font-size: var(--ui-size-xs);
101
- font-weight: var(--ui-weight-medium);
102
- color: var(--ui-color-text-muted);
125
+ font-size: var(--_size-xs);
126
+ font-weight: var(--_weight-medium);
127
+ color: var(--_color-text-muted);
103
128
 
104
129
  cursor: pointer;
105
130
  user-select: none;
@@ -111,16 +136,22 @@
111
136
 
112
137
  // Nav item (link wrapper)
113
138
  .sidebar-nav__item {
139
+ // @desc Item overall height
114
140
  --_height: var(--ui-sidebar-nav-item-height, var(--ui-row-2));
141
+ // @desc Item horizontal padding
115
142
  --_padding-inline: var(--ui-sidebar-nav-item-padding-inline, var(--ui-space-2));
143
+ // @desc Item overall size
116
144
  --_font-size: var(--ui-sidebar-nav-item-size, var(--ui-size-sm));
145
+ // @desc Item text color
117
146
  --_color: var(--ui-sidebar-nav-item-color, var(--ui-color-text));
147
+ // @desc Item background color
118
148
  --_bg: var(--ui-sidebar-nav-item-bg, transparent);
149
+ // @desc Item corner radius
119
150
  --_radius: var(--ui-sidebar-nav-item-radius, var(--ui-radius-sm));
120
151
 
121
152
  display: flex;
122
153
  align-items: center;
123
- gap: var(--ui-space-1);
154
+ gap: var(--_space-1);
124
155
 
125
156
  min-block-size: var(--_height);
126
157
  padding-inline: var(--_padding-inline);
@@ -135,11 +166,12 @@
135
166
  cursor: pointer;
136
167
 
137
168
  transition:
138
- background var(--ui-duration-fast) var(--ui-easing-default),
139
- color var(--ui-duration-fast) var(--ui-easing-default);
169
+ background var(--_duration-fast) var(--_easing-default),
170
+ color var(--_duration-fast) var(--_easing-default);
140
171
  }
141
172
 
142
173
  .sidebar-nav__item:hover {
174
+ // @desc Item hover bg
143
175
  --_bg: var(--ui-sidebar-nav-item-hover-bg, var(--ui-color-bg-muted));
144
176
  }
145
177
 
@@ -148,19 +180,23 @@
148
180
  }
149
181
 
150
182
  .sidebar-nav__item:focus-visible {
151
- outline: 2px solid var(--ui-color-focus);
183
+ outline: 2px solid var(--_color-focus);
152
184
  outline-offset: -2px;
153
185
  }
154
186
 
155
187
  // Active state
156
188
  .sidebar-nav__item--active {
189
+ // @desc Item active bg
157
190
  --_bg: var(--ui-sidebar-nav-item-active-bg, var(--ui-color-primary-subtle));
191
+ // @desc Item active color
158
192
  --_color: var(--ui-sidebar-nav-item-active-color, var(--ui-color-primary-hover));
193
+ // @desc Item active weight
159
194
  --_weight: var(--ui-sidebar-nav-item-active-weight, var(--ui-weight-medium));
160
195
  }
161
196
 
162
197
  // Nested item indent
163
198
  .sidebar-nav__item--nested {
199
+ // @desc Item nested indent
164
200
  --_padding-inline-start: var(--ui-sidebar-nav-item-nested-indent, var(--ui-space-4));
165
201
 
166
202
  padding-inline-start: var(--_padding-inline-start);
@@ -168,7 +204,7 @@
168
204
 
169
205
  // Disabled state
170
206
  .sidebar-nav__item--disabled {
171
- opacity: var(--ui-opacity-disabled, 0.5);
207
+ opacity: var(--_opacity-disabled);
172
208
  cursor: not-allowed;
173
209
  pointer-events: none;
174
210
  }
@@ -180,8 +216,8 @@
180
216
  align-items: center;
181
217
  justify-content: center;
182
218
 
183
- block-size: var(--ui-size-md);
184
- inline-size: var(--ui-size-md);
219
+ block-size: var(--_size-md);
220
+ inline-size: var(--_size-md);
185
221
  }
186
222
 
187
223
  // Label text
@@ -203,7 +239,9 @@
203
239
  }
204
240
 
205
241
  // Collapsed mode - icon only
242
+ // @modifier boolean collapsed
206
243
  .sidebar-nav--collapsed {
244
+ // @desc Width collapsed
207
245
  --_width: var(--ui-sidebar-nav-width-collapsed, var(--ui-row-3));
208
246
 
209
247
  .sidebar-nav__label,
@@ -216,7 +254,7 @@
216
254
  .sidebar-nav__item {
217
255
  justify-content: center;
218
256
 
219
- padding-inline: var(--ui-space-1);
257
+ padding-inline: var(--_space-1);
220
258
  }
221
259
  }
222
260
  }
@@ -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": "sidebar-nav",
3
4
  "element": "nav",
4
5
  "modifiers": {
@@ -13,16 +14,17 @@
13
14
  "group": {},
14
15
  "group-label": {},
15
16
  "group-items": {},
17
+ "subgroup": {},
16
18
  "subgroup-label": {},
17
19
  "item": {
18
20
  "modifiers": {
19
21
  "active": {
20
22
  "type": "boolean"
21
23
  },
22
- "disabled": {
24
+ "nested": {
23
25
  "type": "boolean"
24
26
  },
25
- "nested": {
27
+ "disabled": {
26
28
  "type": "boolean"
27
29
  }
28
30
  }
@@ -34,31 +36,108 @@
34
36
  "cssVars": [
35
37
  {
36
38
  "name": "--ui-sidebar-nav-width",
37
- "default": "calc(var(--ui-unit) * 30)"
39
+ "default": "calc(var(--ui-unit) * 30)",
40
+ "description": "Overall width"
38
41
  },
39
42
  {
40
- "name": "--ui-sidebar-nav-width-collapsed",
41
- "default": "var(--ui-row-3)"
43
+ "name": "--ui-sidebar-nav-bg",
44
+ "default": "var(--ui-color-bg-subtle)",
45
+ "description": "Background color"
42
46
  },
43
47
  {
44
- "name": "--ui-sidebar-nav-bg",
45
- "default": "var(--ui-color-bg-subtle)"
48
+ "name": "--ui-sidebar-nav-border-color",
49
+ "default": "var(--ui-color-border)",
50
+ "description": "Border color"
51
+ },
52
+ {
53
+ "name": "--ui-sidebar-nav-padding",
54
+ "default": "var(--ui-space-2)",
55
+ "description": "Padding on all sides"
56
+ },
57
+ {
58
+ "name": "--ui-sidebar-nav-header-padding",
59
+ "default": "var(--ui-space-2)",
60
+ "description": "Header padding on all sides"
61
+ },
62
+ {
63
+ "name": "--ui-sidebar-nav-footer-padding",
64
+ "default": "var(--ui-space-2)",
65
+ "description": "Footer padding on all sides"
66
+ },
67
+ {
68
+ "name": "--ui-sidebar-nav-group-label-size",
69
+ "default": "var(--ui-size-xs)",
70
+ "description": "Group label size"
71
+ },
72
+ {
73
+ "name": "--ui-sidebar-nav-group-label-color",
74
+ "default": "var(--ui-color-text-muted)",
75
+ "description": "Group label color"
76
+ },
77
+ {
78
+ "name": "--ui-sidebar-nav-group-label-weight",
79
+ "default": "var(--ui-weight-bold)",
80
+ "description": "Group label weight"
46
81
  },
47
82
  {
48
83
  "name": "--ui-sidebar-nav-item-height",
49
- "default": "var(--ui-row-2)"
84
+ "default": "var(--ui-row-2)",
85
+ "description": "Item overall height"
86
+ },
87
+ {
88
+ "name": "--ui-sidebar-nav-item-padding-inline",
89
+ "default": "var(--ui-space-2)",
90
+ "description": "Item horizontal padding"
91
+ },
92
+ {
93
+ "name": "--ui-sidebar-nav-item-size",
94
+ "default": "var(--ui-size-sm)",
95
+ "description": "Item overall size"
96
+ },
97
+ {
98
+ "name": "--ui-sidebar-nav-item-color",
99
+ "default": "var(--ui-color-text)",
100
+ "description": "Item text color"
101
+ },
102
+ {
103
+ "name": "--ui-sidebar-nav-item-bg",
104
+ "default": "transparent",
105
+ "description": "Item background color"
106
+ },
107
+ {
108
+ "name": "--ui-sidebar-nav-item-radius",
109
+ "default": "var(--ui-radius-sm)",
110
+ "description": "Item corner radius"
50
111
  },
51
112
  {
52
113
  "name": "--ui-sidebar-nav-item-hover-bg",
53
- "default": "var(--ui-color-bg-muted)"
114
+ "default": "var(--ui-color-bg-muted)",
115
+ "description": "Item hover bg"
54
116
  },
55
117
  {
56
118
  "name": "--ui-sidebar-nav-item-active-bg",
57
- "default": "var(--ui-color-primary-subtle)"
119
+ "default": "var(--ui-color-primary-subtle)",
120
+ "description": "Item active bg"
58
121
  },
59
122
  {
60
123
  "name": "--ui-sidebar-nav-item-active-color",
61
- "default": "var(--ui-color-primary)"
124
+ "default": "var(--ui-color-primary-hover)",
125
+ "description": "Item active color"
126
+ },
127
+ {
128
+ "name": "--ui-sidebar-nav-item-active-weight",
129
+ "default": "var(--ui-weight-medium)",
130
+ "description": "Item active weight"
131
+ },
132
+ {
133
+ "name": "--ui-sidebar-nav-item-nested-indent",
134
+ "default": "var(--ui-space-4)",
135
+ "description": "Item nested indent"
136
+ },
137
+ {
138
+ "name": "--ui-sidebar-nav-width-collapsed",
139
+ "default": "var(--ui-row-3)",
140
+ "description": "Width collapsed"
62
141
  }
63
142
  ]
64
143
  }
@@ -1,9 +1,20 @@
1
+ // @component topbar
2
+ // @element header
3
+
1
4
  @layer primitives {
2
5
  .topbar {
6
+ --_space-2: var(--ui-space-2);
7
+ --_border-width-sm: var(--ui-border-width-sm);
8
+ --_shadow-sm: var(--ui-shadow-sm);
9
+ // @desc Overall height
3
10
  --_height: var(--ui-topbar-height, var(--ui-row-3));
11
+ // @desc Background color
4
12
  --_bg: var(--ui-topbar-bg, var(--ui-color-bg));
13
+ // @desc Horizontal padding
5
14
  --_padding-inline: var(--ui-topbar-padding-inline, var(--ui-space-3));
15
+ // @desc Border color
6
16
  --_border-color: var(--ui-topbar-border-color, var(--ui-color-border));
17
+ // @desc Z-index stacking order
7
18
  --_z: var(--ui-topbar-z, var(--ui-z-sticky));
8
19
 
9
20
  display: flex;
@@ -21,7 +32,7 @@
21
32
  display: flex;
22
33
  flex-shrink: 0;
23
34
  align-items: center;
24
- gap: var(--ui-space-2);
35
+ gap: var(--_space-2);
25
36
  }
26
37
 
27
38
  .topbar__center {
@@ -29,22 +40,24 @@
29
40
  flex: 1;
30
41
  align-items: center;
31
42
  justify-content: center;
32
- gap: var(--ui-space-2);
43
+ gap: var(--_space-2);
33
44
  }
34
45
 
35
46
  .topbar__end {
36
47
  display: flex;
37
48
  flex-shrink: 0;
38
49
  align-items: center;
39
- gap: var(--ui-space-2);
50
+ gap: var(--_space-2);
40
51
  }
41
52
 
42
53
  // Position modifiers
54
+ // @modifier boolean sticky
43
55
  .topbar--sticky {
44
56
  position: sticky;
45
57
  inset-block-start: 0;
46
58
  }
47
59
 
60
+ // @modifier boolean fixed
48
61
  .topbar--fixed {
49
62
  position: fixed;
50
63
  inset-block-start: 0;
@@ -52,11 +65,13 @@
52
65
  }
53
66
 
54
67
  // Visual modifiers
68
+ // @modifier boolean bordered
55
69
  .topbar--bordered {
56
- box-shadow: inset 0 calc(var(--ui-border-width-sm) * -1) 0 0 var(--_border-color);
70
+ box-shadow: inset 0 calc(var(--_border-width-sm) * -1) 0 0 var(--_border-color);
57
71
  }
58
72
 
73
+ // @modifier boolean raised
59
74
  .topbar--raised {
60
- box-shadow: var(--ui-shadow-sm);
75
+ box-shadow: var(--_shadow-sm);
61
76
  }
62
77
  }
@@ -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": "topbar",
3
4
  "element": "header",
4
5
  "modifiers": {
@@ -23,23 +24,28 @@
23
24
  "cssVars": [
24
25
  {
25
26
  "name": "--ui-topbar-height",
26
- "default": "var(--ui-row-3)"
27
+ "default": "var(--ui-row-3)",
28
+ "description": "Overall height"
27
29
  },
28
30
  {
29
31
  "name": "--ui-topbar-bg",
30
- "default": "var(--ui-color-bg)"
32
+ "default": "var(--ui-color-bg)",
33
+ "description": "Background color"
31
34
  },
32
35
  {
33
36
  "name": "--ui-topbar-padding-inline",
34
- "default": "var(--ui-space-3)"
37
+ "default": "var(--ui-space-3)",
38
+ "description": "Horizontal padding"
35
39
  },
36
40
  {
37
41
  "name": "--ui-topbar-border-color",
38
- "default": "var(--ui-color-border)"
42
+ "default": "var(--ui-color-border)",
43
+ "description": "Border color"
39
44
  },
40
45
  {
41
46
  "name": "--ui-topbar-z",
42
- "default": "var(--ui-z-sticky)"
47
+ "default": "var(--ui-z-sticky)",
48
+ "description": "Z-index stacking order"
43
49
  }
44
50
  ]
45
51
  }