@rokkit/themes 1.0.0-next.151 → 1.0.0-next.152

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 (262) hide show
  1. package/build.mjs +14 -5
  2. package/dist/ant-design.css +89 -25
  3. package/dist/base.css +488 -40
  4. package/dist/bits-ui.css +69 -16
  5. package/dist/carbon.css +82 -31
  6. package/dist/daisy-ui.css +73 -16
  7. package/dist/frosted.css +1953 -0
  8. package/dist/grada-ui.css +186 -37
  9. package/dist/index.css +2433 -1065
  10. package/dist/material.css +95 -18
  11. package/dist/minimal.css +120 -47
  12. package/dist/rokkit.css +174 -17
  13. package/dist/shadcn.css +70 -24
  14. package/package.json +5 -5
  15. package/src/ant-design/button.css +31 -24
  16. package/src/ant-design/card.css +4 -4
  17. package/src/ant-design/chart.css +5 -5
  18. package/src/ant-design/dropdown.css +7 -7
  19. package/src/ant-design/floating-action.css +5 -5
  20. package/src/ant-design/floating-navigation.css +4 -4
  21. package/src/ant-design/grid.css +1 -1
  22. package/src/ant-design/index.css +1 -0
  23. package/src/ant-design/input.css +4 -2
  24. package/src/ant-design/list.css +11 -11
  25. package/src/ant-design/menu.css +6 -6
  26. package/src/ant-design/range.css +1 -1
  27. package/src/ant-design/search-filter.css +2 -2
  28. package/src/ant-design/select.css +12 -12
  29. package/src/ant-design/status-list.css +1 -1
  30. package/src/ant-design/step-indicator.css +38 -0
  31. package/src/ant-design/switch.css +2 -2
  32. package/src/ant-design/table.css +8 -6
  33. package/src/ant-design/tabs.css +13 -9
  34. package/src/ant-design/toggle.css +3 -3
  35. package/src/ant-design/toolbar.css +7 -7
  36. package/src/ant-design/tree.css +21 -11
  37. package/src/ant-design/upload-progress.css +1 -1
  38. package/src/ant-design/upload-target.css +1 -1
  39. package/src/base/avatar.css +82 -0
  40. package/src/base/badge.css +41 -0
  41. package/src/base/button.css +6 -6
  42. package/src/base/card.css +7 -4
  43. package/src/base/chart.css +5 -5
  44. package/src/base/density.css +51 -0
  45. package/src/base/divider.css +49 -0
  46. package/src/base/dropdown.css +5 -4
  47. package/src/base/index.css +6 -0
  48. package/src/base/input.css +3 -1
  49. package/src/base/list.css +12 -7
  50. package/src/base/menu.css +7 -5
  51. package/src/base/stack.css +76 -0
  52. package/src/base/step-indicator.css +74 -0
  53. package/src/base/swatch.css +12 -6
  54. package/src/base/table.css +52 -2
  55. package/src/bits-ui/button.css +18 -18
  56. package/src/bits-ui/card.css +4 -4
  57. package/src/bits-ui/chart.css +5 -5
  58. package/src/bits-ui/dropdown.css +5 -5
  59. package/src/bits-ui/floating-action.css +5 -5
  60. package/src/bits-ui/floating-navigation.css +2 -2
  61. package/src/bits-ui/index.css +1 -0
  62. package/src/bits-ui/input.css +8 -4
  63. package/src/bits-ui/list.css +4 -4
  64. package/src/bits-ui/menu.css +5 -5
  65. package/src/bits-ui/range.css +2 -2
  66. package/src/bits-ui/search-filter.css +2 -2
  67. package/src/bits-ui/select.css +9 -9
  68. package/src/bits-ui/status-list.css +1 -1
  69. package/src/bits-ui/step-indicator.css +40 -0
  70. package/src/bits-ui/switch.css +2 -2
  71. package/src/bits-ui/table.css +1 -1
  72. package/src/bits-ui/tabs.css +5 -5
  73. package/src/bits-ui/toggle.css +2 -2
  74. package/src/bits-ui/toolbar.css +7 -7
  75. package/src/bits-ui/tree.css +12 -4
  76. package/src/bits-ui/upload-progress.css +1 -1
  77. package/src/carbon/button.css +23 -20
  78. package/src/carbon/card.css +5 -5
  79. package/src/carbon/chart.css +5 -5
  80. package/src/carbon/dropdown.css +8 -8
  81. package/src/carbon/floating-action.css +8 -8
  82. package/src/carbon/floating-navigation.css +5 -5
  83. package/src/carbon/index.css +1 -0
  84. package/src/carbon/input.css +2 -2
  85. package/src/carbon/list.css +12 -14
  86. package/src/carbon/menu.css +8 -8
  87. package/src/carbon/range.css +2 -2
  88. package/src/carbon/search-filter.css +2 -2
  89. package/src/carbon/select.css +13 -13
  90. package/src/carbon/status-list.css +1 -1
  91. package/src/carbon/step-indicator.css +40 -0
  92. package/src/carbon/switch.css +3 -3
  93. package/src/carbon/table.css +6 -6
  94. package/src/carbon/tabs.css +10 -8
  95. package/src/carbon/toc.css +2 -2
  96. package/src/carbon/toggle.css +3 -3
  97. package/src/carbon/toolbar.css +8 -9
  98. package/src/carbon/tree.css +22 -14
  99. package/src/carbon/upload-progress.css +2 -2
  100. package/src/carbon/upload-target.css +2 -2
  101. package/src/daisy-ui/button.css +20 -19
  102. package/src/daisy-ui/card.css +5 -5
  103. package/src/daisy-ui/chart.css +5 -5
  104. package/src/daisy-ui/dropdown.css +8 -8
  105. package/src/daisy-ui/floating-action.css +6 -6
  106. package/src/daisy-ui/floating-navigation.css +5 -5
  107. package/src/daisy-ui/grid.css +1 -1
  108. package/src/daisy-ui/index.css +1 -0
  109. package/src/daisy-ui/input.css +5 -3
  110. package/src/daisy-ui/list.css +9 -9
  111. package/src/daisy-ui/menu.css +7 -7
  112. package/src/daisy-ui/range.css +3 -3
  113. package/src/daisy-ui/search-filter.css +3 -3
  114. package/src/daisy-ui/select.css +14 -14
  115. package/src/daisy-ui/status-list.css +1 -1
  116. package/src/daisy-ui/step-indicator.css +37 -0
  117. package/src/daisy-ui/switch.css +3 -3
  118. package/src/daisy-ui/table.css +7 -5
  119. package/src/daisy-ui/tabs.css +10 -6
  120. package/src/daisy-ui/toggle.css +3 -3
  121. package/src/daisy-ui/toolbar.css +6 -6
  122. package/src/daisy-ui/tree.css +20 -10
  123. package/src/daisy-ui/upload-target.css +1 -1
  124. package/src/frosted/button.css +224 -0
  125. package/src/frosted/card.css +130 -0
  126. package/src/frosted/chart.css +38 -0
  127. package/src/frosted/dropdown.css +66 -0
  128. package/src/{glass → frosted}/floating-action.css +10 -10
  129. package/src/{glass → frosted}/floating-navigation.css +13 -13
  130. package/src/{glass → frosted}/index.css +1 -0
  131. package/src/frosted/input.css +135 -0
  132. package/src/frosted/list.css +122 -0
  133. package/src/frosted/menu.css +108 -0
  134. package/src/frosted/message.css +35 -0
  135. package/src/{glass → frosted}/range.css +10 -10
  136. package/src/{glass → frosted}/search-filter.css +8 -8
  137. package/src/{glass → frosted}/select.css +34 -34
  138. package/src/frosted/status-list.css +66 -0
  139. package/src/frosted/step-indicator.css +41 -0
  140. package/src/frosted/swatch.css +21 -0
  141. package/src/frosted/switch.css +43 -0
  142. package/src/frosted/table.css +106 -0
  143. package/src/{glass → frosted}/tabs.css +10 -10
  144. package/src/{glass → frosted}/timeline.css +7 -7
  145. package/src/frosted/toc.css +18 -0
  146. package/src/{glass → frosted}/toggle.css +9 -9
  147. package/src/{glass → frosted}/toolbar.css +16 -16
  148. package/src/{glass → frosted}/tree.css +20 -20
  149. package/src/grada-ui/button.css +20 -6
  150. package/src/grada-ui/card.css +12 -6
  151. package/src/grada-ui/chart.css +5 -5
  152. package/src/grada-ui/dropdown.css +7 -3
  153. package/src/grada-ui/floating-action.css +11 -4
  154. package/src/grada-ui/floating-navigation.css +5 -1
  155. package/src/grada-ui/index.css +1 -0
  156. package/src/grada-ui/input.css +2 -2
  157. package/src/grada-ui/list.css +15 -3
  158. package/src/grada-ui/menu.css +2 -2
  159. package/src/grada-ui/range.css +5 -1
  160. package/src/grada-ui/search-filter.css +6 -2
  161. package/src/grada-ui/select.css +27 -9
  162. package/src/grada-ui/status-list.css +5 -1
  163. package/src/grada-ui/step-indicator.css +37 -0
  164. package/src/grada-ui/switch.css +7 -3
  165. package/src/grada-ui/table.css +2 -2
  166. package/src/grada-ui/tabs.css +5 -1
  167. package/src/grada-ui/timeline.css +10 -2
  168. package/src/grada-ui/toggle.css +7 -3
  169. package/src/grada-ui/toolbar.css +10 -2
  170. package/src/grada-ui/tree.css +8 -2
  171. package/src/index.css +2 -2
  172. package/src/material/button.css +5 -5
  173. package/src/material/card.css +4 -4
  174. package/src/material/chart.css +5 -5
  175. package/src/material/dropdown.css +7 -7
  176. package/src/material/floating-action.css +5 -5
  177. package/src/material/floating-navigation.css +4 -4
  178. package/src/material/index.css +1 -0
  179. package/src/material/input.css +1 -1
  180. package/src/material/list.css +11 -11
  181. package/src/material/menu.css +6 -6
  182. package/src/material/message.css +0 -1
  183. package/src/material/range.css +1 -1
  184. package/src/material/search-filter.css +1 -1
  185. package/src/material/select.css +14 -12
  186. package/src/material/status-list.css +1 -1
  187. package/src/material/step-indicator.css +41 -0
  188. package/src/material/swatch.css +4 -2
  189. package/src/material/switch.css +2 -2
  190. package/src/material/table.css +24 -5
  191. package/src/material/tabs.css +6 -3
  192. package/src/material/toggle.css +3 -3
  193. package/src/material/toolbar.css +7 -7
  194. package/src/material/tree.css +17 -7
  195. package/src/minimal/button.css +7 -7
  196. package/src/minimal/card.css +4 -4
  197. package/src/minimal/chart.css +5 -5
  198. package/src/minimal/dropdown.css +7 -7
  199. package/src/minimal/floating-action.css +5 -5
  200. package/src/minimal/floating-navigation.css +4 -4
  201. package/src/minimal/index.css +1 -0
  202. package/src/minimal/list.css +18 -16
  203. package/src/minimal/menu.css +6 -6
  204. package/src/minimal/message.css +0 -1
  205. package/src/minimal/range.css +1 -1
  206. package/src/minimal/search-filter.css +1 -1
  207. package/src/minimal/select.css +11 -11
  208. package/src/minimal/status-list.css +1 -1
  209. package/src/minimal/step-indicator.css +40 -0
  210. package/src/minimal/swatch.css +4 -2
  211. package/src/minimal/table.css +24 -5
  212. package/src/minimal/tabs.css +10 -8
  213. package/src/minimal/toggle.css +1 -1
  214. package/src/minimal/toolbar.css +7 -7
  215. package/src/minimal/tree.css +14 -6
  216. package/src/rokkit/avatar.css +29 -0
  217. package/src/rokkit/badge.css +29 -0
  218. package/src/rokkit/button.css +1 -1
  219. package/src/rokkit/chart.css +5 -5
  220. package/src/rokkit/divider.css +26 -0
  221. package/src/rokkit/index.css +5 -0
  222. package/src/rokkit/stack.css +6 -0
  223. package/src/rokkit/step-indicator.css +41 -0
  224. package/src/rokkit/swatch.css +4 -2
  225. package/src/rokkit/table.css +25 -6
  226. package/src/shadcn/button.css +20 -21
  227. package/src/shadcn/card.css +4 -4
  228. package/src/shadcn/chart.css +5 -5
  229. package/src/shadcn/dropdown.css +7 -7
  230. package/src/shadcn/floating-action.css +5 -5
  231. package/src/shadcn/floating-navigation.css +4 -4
  232. package/src/shadcn/index.css +1 -0
  233. package/src/shadcn/input.css +4 -2
  234. package/src/shadcn/list.css +13 -15
  235. package/src/shadcn/menu.css +7 -7
  236. package/src/shadcn/range.css +2 -2
  237. package/src/shadcn/search-filter.css +2 -2
  238. package/src/shadcn/select.css +13 -13
  239. package/src/shadcn/status-list.css +1 -1
  240. package/src/shadcn/step-indicator.css +37 -0
  241. package/src/shadcn/switch.css +2 -2
  242. package/src/shadcn/table.css +4 -4
  243. package/src/shadcn/tabs.css +10 -8
  244. package/src/shadcn/toc.css +2 -2
  245. package/src/shadcn/toggle.css +4 -4
  246. package/src/shadcn/toolbar.css +8 -9
  247. package/src/shadcn/tree.css +21 -13
  248. package/src/shadcn/upload-progress.css +1 -1
  249. package/dist/glass.css +0 -1760
  250. package/src/glass/button.css +0 -174
  251. package/src/glass/card.css +0 -103
  252. package/src/glass/chart.css +0 -38
  253. package/src/glass/dropdown.css +0 -50
  254. package/src/glass/input.css +0 -128
  255. package/src/glass/list.css +0 -122
  256. package/src/glass/menu.css +0 -92
  257. package/src/glass/message.css +0 -36
  258. package/src/glass/status-list.css +0 -66
  259. package/src/glass/swatch.css +0 -19
  260. package/src/glass/switch.css +0 -28
  261. package/src/glass/table.css +0 -87
  262. package/src/glass/toc.css +0 -18
package/dist/base.css CHANGED
@@ -13,6 +13,58 @@
13
13
  * Import individual files for tree-shaking, or this file for all base styles.
14
14
  */
15
15
 
16
+ /**
17
+ * Density System — CSS Custom Property Scale
18
+ *
19
+ * Sets the spatial rhythm tokens inherited by all components.
20
+ * Place data-density on any container; descendants inherit automatically.
21
+ *
22
+ * Axes: compact → comfortable (default) → cozy
23
+ */
24
+
25
+ :root,
26
+ [data-density='comfortable'] {
27
+ --density-spacing-base: 1rem;
28
+ --density-spacing-xs: 0.25rem;
29
+ --density-spacing-sm: 0.5rem;
30
+ --density-spacing-md: 0.75rem;
31
+ --density-spacing-lg: 1rem;
32
+ --density-spacing-xl: 1.5rem;
33
+
34
+ --density-line-height: 1.5;
35
+ --density-icon-size: 1.25rem;
36
+ --density-border-width: 1px;
37
+ --density-radius-base: var(--radius-md, 0.375rem);
38
+ }
39
+
40
+ [data-density='compact'] {
41
+ --density-spacing-base: 0.75rem;
42
+ --density-spacing-xs: 0.125rem;
43
+ --density-spacing-sm: 0.25rem;
44
+ --density-spacing-md: 0.5rem;
45
+ --density-spacing-lg: 0.75rem;
46
+ --density-spacing-xl: 1rem;
47
+
48
+ --density-line-height: 1.375;
49
+ --density-icon-size: 1rem;
50
+ --density-border-width: 1px;
51
+ --density-radius-base: var(--radius-sm, 0.25rem);
52
+ }
53
+
54
+ [data-density='cozy'] {
55
+ --density-spacing-base: 1.25rem;
56
+ --density-spacing-xs: 0.375rem;
57
+ --density-spacing-sm: 0.625rem;
58
+ --density-spacing-md: 1rem;
59
+ --density-spacing-lg: 1.25rem;
60
+ --density-spacing-xl: 2rem;
61
+
62
+ --density-line-height: 1.75;
63
+ --density-icon-size: 1.5rem;
64
+ --density-border-width: 1px;
65
+ --density-radius-base: var(--radius-lg, 0.5rem);
66
+ }
67
+
16
68
  /**
17
69
  * Button - Base Structural Styles
18
70
  *
@@ -97,25 +149,25 @@
97
149
  font-size: 1.25rem;
98
150
  }
99
151
 
100
- /* Medium (default) */
152
+ /* Medium (default) — responds to density */
101
153
  [data-button][data-size='md'],
102
154
  [data-button]:not([data-size]) {
103
- height: 2.25rem;
104
- padding-inline: 1rem;
155
+ height: calc(var(--density-icon-size) + var(--density-spacing-sm) * 2);
156
+ padding-inline: var(--density-spacing-lg);
105
157
  font-size: 0.875rem;
106
- gap: 0.5rem;
158
+ gap: var(--density-spacing-sm);
107
159
  }
108
160
 
109
161
  [data-button][data-size='md'][data-icon-only],
110
162
  [data-button]:not([data-size])[data-icon-only] {
111
- width: 2.25rem;
163
+ width: calc(var(--density-icon-size) + var(--density-spacing-sm) * 2);
112
164
  }
113
165
 
114
166
  [data-button][data-size='md'] [data-item-icon],
115
167
  [data-button][data-size='md'] [data-button-icon-right],
116
168
  [data-button]:not([data-size]) [data-item-icon],
117
169
  [data-button]:not([data-size]) [data-button-icon-right] {
118
- font-size: 1.5rem;
170
+ font-size: var(--density-icon-size);
119
171
  }
120
172
 
121
173
  /* Large */
@@ -404,8 +456,8 @@
404
456
 
405
457
  [data-menu][data-size='md'] [data-menu-trigger],
406
458
  [data-menu]:not([data-size]) [data-menu-trigger] {
407
- height: 2rem;
408
- padding-inline: 0.625rem;
459
+ height: calc(var(--density-icon-size) + var(--density-spacing-xs) * 2);
460
+ padding-inline: var(--density-spacing-md);
409
461
  font-size: 0.875rem;
410
462
  }
411
463
 
@@ -548,8 +600,9 @@
548
600
 
549
601
  [data-menu][data-size='md'] [data-menu-item],
550
602
  [data-menu]:not([data-size]) [data-menu-item] {
551
- gap: 0.625rem;
552
- padding: 0.5rem 0.75rem;
603
+ gap: var(--density-spacing-md);
604
+ padding-block: var(--density-spacing-sm);
605
+ padding-inline: var(--density-spacing-md);
553
606
  font-size: 0.875rem;
554
607
  }
555
608
 
@@ -586,7 +639,8 @@
586
639
  }
587
640
  [data-menu][data-size='md'] [data-menu-group],
588
641
  [data-menu]:not([data-size]) [data-menu-group] {
589
- padding: 0.375rem 0.75rem;
642
+ padding-block: var(--density-spacing-xs);
643
+ padding-inline: var(--density-spacing-md);
590
644
  }
591
645
  [data-menu][data-size='lg'] [data-menu-group] {
592
646
  padding: 0.5rem 1rem;
@@ -678,8 +732,8 @@
678
732
 
679
733
  [data-dropdown][data-size='md'] [data-dropdown-trigger],
680
734
  [data-dropdown]:not([data-size]) [data-dropdown-trigger] {
681
- height: 2rem;
682
- padding-inline: 0.625rem;
735
+ height: calc(var(--density-icon-size) + var(--density-spacing-xs) * 2);
736
+ padding-inline: var(--density-spacing-md);
683
737
  font-size: 0.875rem;
684
738
  }
685
739
 
@@ -752,9 +806,10 @@
752
806
  display: flex;
753
807
  align-items: center;
754
808
  width: 100%;
755
- padding-block: 0.375rem;
756
- padding-inline: 0.75rem;
809
+ padding-block: var(--density-spacing-xs);
810
+ padding-inline: var(--density-spacing-md);
757
811
  font-size: 0.875rem;
812
+ line-height: var(--density-line-height);
758
813
  text-align: left;
759
814
  cursor: pointer;
760
815
  border: none;
@@ -1900,9 +1955,11 @@ a[data-list-item],
1900
1955
  button[data-list-item] {
1901
1956
  display: flex;
1902
1957
  align-items: center;
1903
- gap: 0.75rem;
1904
- padding: 0.375rem 0.75rem;
1958
+ gap: var(--density-spacing-md);
1959
+ padding-block: var(--density-spacing-xs);
1960
+ padding-inline: var(--density-spacing-md);
1905
1961
  font-size: 0.875rem;
1962
+ line-height: var(--density-line-height);
1906
1963
  text-decoration: none;
1907
1964
  cursor: pointer;
1908
1965
  transition:
@@ -1936,9 +1993,11 @@ button[data-list-item] {
1936
1993
  [data-list]:not([data-size]) a[data-list-item],
1937
1994
  [data-list][data-size='md'] button[data-list-item],
1938
1995
  [data-list]:not([data-size]) button[data-list-item] {
1939
- gap: 0.625rem;
1940
- padding: 0.375rem 0.75rem;
1996
+ gap: var(--density-spacing-md);
1997
+ padding-block: var(--density-spacing-xs);
1998
+ padding-inline: var(--density-spacing-md);
1941
1999
  font-size: 0.875rem;
2000
+ line-height: var(--density-line-height);
1942
2001
  }
1943
2002
 
1944
2003
  [data-list][data-size='lg'] [data-list-item],
@@ -1961,8 +2020,8 @@ button[data-list-item] {
1961
2020
  display: flex;
1962
2021
  align-items: center;
1963
2022
  width: 100%;
1964
- gap: 0.5rem;
1965
- padding-block: 0.25rem;
2023
+ gap: var(--density-spacing-sm);
2024
+ padding-block: var(--density-spacing-xs);
1966
2025
  font-size: 0.75rem;
1967
2026
  font-weight: 600;
1968
2027
  text-align: left;
@@ -1987,7 +2046,8 @@ button[data-list-item] {
1987
2046
  }
1988
2047
  [data-list][data-size='md'] [data-list-group],
1989
2048
  [data-list]:not([data-size]) [data-list-group] {
1990
- padding: 0.375rem 0.75rem;
2049
+ padding-block: var(--density-spacing-xs);
2050
+ padding-inline: var(--density-spacing-md);
1991
2051
  }
1992
2052
  [data-list][data-size='lg'] [data-list-group] {
1993
2053
  padding: 0.5rem 1rem;
@@ -2998,7 +3058,9 @@ input[type='radio'] {
2998
3058
  flex-shrink: 0;
2999
3059
  cursor: pointer;
3000
3060
  position: relative;
3001
- transition: border-color 150ms ease, background-color 150ms ease;
3061
+ transition:
3062
+ border-color 150ms ease,
3063
+ background-color 150ms ease;
3002
3064
  }
3003
3065
 
3004
3066
  input[type='radio']:checked {
@@ -3220,7 +3282,7 @@ input[type='color'] {
3220
3282
  [data-card] {
3221
3283
  display: flex;
3222
3284
  flex-direction: column;
3223
- border-radius: 0.5rem;
3285
+ border-radius: var(--density-radius-base);
3224
3286
  overflow: hidden;
3225
3287
  text-decoration: none;
3226
3288
  color: inherit;
@@ -3240,16 +3302,19 @@ a[data-card] {
3240
3302
  }
3241
3303
 
3242
3304
  [data-card-header] {
3243
- padding: 1rem 1rem 0.5rem;
3305
+ padding-block: var(--density-spacing-md) var(--density-spacing-sm);
3306
+ padding-inline: var(--density-spacing-lg);
3244
3307
  }
3245
3308
 
3246
3309
  [data-card-body] {
3247
- padding: 0.5rem 1rem;
3310
+ padding-block: var(--density-spacing-sm);
3311
+ padding-inline: var(--density-spacing-lg);
3248
3312
  flex: 1;
3249
3313
  }
3250
3314
 
3251
3315
  [data-card-footer] {
3252
- padding: 0.5rem 1rem 1rem;
3316
+ padding-block: var(--density-spacing-sm) var(--density-spacing-md);
3317
+ padding-inline: var(--density-spacing-lg);
3253
3318
  }
3254
3319
 
3255
3320
  /* ProgressBar — base structural styles */
@@ -3853,6 +3918,9 @@ a[data-card] {
3853
3918
  ============================================================================= */
3854
3919
 
3855
3920
  [data-table-header] th {
3921
+ position: sticky;
3922
+ top: 0;
3923
+ z-index: 1;
3856
3924
  text-align: left;
3857
3925
  font-weight: 600;
3858
3926
  white-space: nowrap;
@@ -3894,6 +3962,10 @@ a[data-card] {
3894
3962
  transition: background-color 150ms ease;
3895
3963
  }
3896
3964
 
3965
+ [data-table][data-selectable='false'] [data-table-row] {
3966
+ cursor: default;
3967
+ }
3968
+
3897
3969
  [data-table-row]:focus {
3898
3970
  outline: none;
3899
3971
  }
@@ -3933,12 +4005,12 @@ a[data-card] {
3933
4005
 
3934
4006
  [data-table][data-size='sm'] [data-table-header-cell],
3935
4007
  [data-table][data-size='sm'] [data-table-cell] {
3936
- padding: 0.25rem 0.5rem;
4008
+ padding: 0.375rem 0.625rem;
3937
4009
  font-size: 0.75rem;
3938
4010
  }
3939
4011
 
3940
4012
  [data-table][data-size='sm'] [data-table-caption] {
3941
- padding: 0.25rem 0.5rem;
4013
+ padding: 0.375rem 0.625rem;
3942
4014
  font-size: 0.75rem;
3943
4015
  }
3944
4016
 
@@ -3971,6 +4043,49 @@ a[data-card] {
3971
4043
  padding: 1.5rem 0.75rem;
3972
4044
  }
3973
4045
 
4046
+ /* =============================================================================
4047
+ Responsive Card Layout (mobile < 640px)
4048
+ ============================================================================= */
4049
+
4050
+ @media (max-width: 639px) {
4051
+ [data-table-responsive] table {
4052
+ display: block;
4053
+ }
4054
+
4055
+ [data-table-responsive] thead {
4056
+ display: none;
4057
+ }
4058
+
4059
+ [data-table-responsive] tbody {
4060
+ display: block;
4061
+ }
4062
+
4063
+ [data-table-responsive] [data-table-row] {
4064
+ display: block;
4065
+ padding: 0.75rem;
4066
+ margin-bottom: 0.5rem;
4067
+ border-radius: 0.5rem;
4068
+ border-bottom: none !important;
4069
+ }
4070
+
4071
+ [data-table-responsive] [data-table-cell] {
4072
+ display: flex;
4073
+ align-items: flex-start;
4074
+ gap: 0.5rem;
4075
+ padding: 0.2rem 0 !important;
4076
+ text-align: left !important;
4077
+ border: none;
4078
+ }
4079
+
4080
+ [data-table-responsive] [data-table-cell]::before {
4081
+ content: attr(data-label);
4082
+ font-weight: 600;
4083
+ font-size: 0.75rem;
4084
+ min-width: 7rem;
4085
+ flex-shrink: 0;
4086
+ }
4087
+ }
4088
+
3974
4089
  /**
3975
4090
  * SearchFilter - Base Structural Styles
3976
4091
  *
@@ -5228,6 +5343,81 @@ a[data-card] {
5228
5343
  margin: 0;
5229
5344
  }
5230
5345
 
5346
+ /* StepIndicator — base structural styles */
5347
+
5348
+ [data-step-indicator] {
5349
+ display: flex;
5350
+ list-style: none;
5351
+ margin: 0;
5352
+ padding: 0;
5353
+ align-items: flex-start;
5354
+ }
5355
+
5356
+ [data-step-item] {
5357
+ display: flex;
5358
+ flex-direction: column;
5359
+ align-items: center;
5360
+ flex: 1;
5361
+ position: relative;
5362
+ }
5363
+
5364
+ /* Connector line between steps */
5365
+ [data-step-item]:not(:last-child)::after {
5366
+ content: '';
5367
+ position: absolute;
5368
+ top: 1.25rem; /* vertically centered with the 2.5rem number circle */
5369
+ left: 50%;
5370
+ width: 100%;
5371
+ height: 2px;
5372
+ }
5373
+
5374
+ /* Reset button element when used as step-number (complete steps) */
5375
+ button[data-step-number] {
5376
+ appearance: none;
5377
+ background: none;
5378
+ padding: 0;
5379
+ cursor: pointer;
5380
+ font-family: inherit;
5381
+ }
5382
+
5383
+ [data-step-number] {
5384
+ width: 2.5rem;
5385
+ height: 2.5rem;
5386
+ border-radius: 9999px;
5387
+ border-width: 2px;
5388
+ border-style: solid;
5389
+ display: flex;
5390
+ align-items: center;
5391
+ justify-content: center;
5392
+ font-weight: 600;
5393
+ font-size: 0.875rem;
5394
+ position: relative;
5395
+ z-index: 1;
5396
+ transition:
5397
+ background-color 0.2s ease,
5398
+ border-color 0.2s ease,
5399
+ color 0.2s ease;
5400
+ }
5401
+
5402
+ [data-step-label] {
5403
+ margin-top: 0.5rem;
5404
+ font-size: 0.8125rem;
5405
+ text-align: center;
5406
+ max-width: 6rem;
5407
+ line-height: 1.3;
5408
+ transition: color 0.2s ease;
5409
+ }
5410
+
5411
+ /* Interaction affordances */
5412
+ [data-step-item][data-step-state='complete'] {
5413
+ cursor: pointer;
5414
+ }
5415
+
5416
+ [data-step-item][data-step-state='current'],
5417
+ [data-step-item][data-step-state='upcoming'] {
5418
+ cursor: default;
5419
+ }
5420
+
5231
5421
  /* Message — base structural styles */
5232
5422
 
5233
5423
  [data-message-root] {
@@ -5452,11 +5642,11 @@ a[data-card] {
5452
5642
  user-select: none;
5453
5643
  }
5454
5644
 
5455
- [data-plot-element="bar"],
5456
- [data-plot-element="line"],
5457
- [data-plot-element="area"],
5458
- [data-plot-element="point"],
5459
- [data-plot-element="arc"] {
5645
+ [data-plot-element='bar'],
5646
+ [data-plot-element='line'],
5647
+ [data-plot-element='area'],
5648
+ [data-plot-element='point'],
5649
+ [data-plot-element='arc'] {
5460
5650
  transition: opacity 0.15s ease;
5461
5651
  }
5462
5652
 
@@ -5490,7 +5680,9 @@ a[data-card] {
5490
5680
  /* Button: padding creates the ring gap; background is the gradient ring */
5491
5681
  [data-swatch-item] {
5492
5682
  cursor:pointer;border-width:0px;background-color:transparent;padding:0.125rem;line-height:1;
5493
- transition: background 120ms ease, outline-color 120ms ease;
5683
+ transition:
5684
+ background 120ms ease,
5685
+ outline-color 120ms ease;
5494
5686
  outline: 2px solid transparent;
5495
5687
  outline-offset: 0;
5496
5688
  }
@@ -5507,7 +5699,11 @@ a[data-card] {
5507
5699
  /* ── Selected: gradient shows through the padding gap as a ring ────────────── */
5508
5700
 
5509
5701
  [data-swatch-item][data-selected] {
5510
- background: linear-gradient(135deg, var(--swatch-fill, currentColor), var(--swatch-stroke, currentColor));
5702
+ background: linear-gradient(
5703
+ 135deg,
5704
+ var(--swatch-fill, currentColor),
5705
+ var(--swatch-stroke, currentColor)
5706
+ );
5511
5707
  }
5512
5708
 
5513
5709
  /* ── Hover + keyboard focus: same visual treatment ────────────────────────── */
@@ -5539,22 +5735,274 @@ a[data-card] {
5539
5735
  }
5540
5736
 
5541
5737
  [data-swatch-square] {
5542
- width:1.5rem;height:1.5rem;border-radius:0.125rem;
5738
+ height:1.5rem;width:1.5rem;border-radius:0.125rem;
5543
5739
  }
5544
5740
 
5545
5741
  [data-swatch-circle] {
5546
- width:1.5rem;height:1.5rem;border-radius:9999px;
5742
+ height:1.5rem;width:1.5rem;border-radius:9999px;
5547
5743
  }
5548
5744
 
5549
5745
  /* ── Size variants ─────────────────────────────────────────────────────────── */
5550
5746
 
5551
5747
  [data-swatch][data-swatch-size='sm'] [data-swatch-square],
5552
5748
  [data-swatch][data-swatch-size='sm'] [data-swatch-circle] {
5553
- width:1.25rem;height:1.25rem;
5749
+ height:1.25rem;width:1.25rem;
5554
5750
  }
5555
5751
 
5556
5752
  [data-swatch][data-swatch-size='lg'] [data-swatch-square],
5557
5753
  [data-swatch][data-swatch-size='lg'] [data-swatch-circle] {
5558
- width:2rem;height:2rem;
5754
+ height:2rem;width:2rem;
5755
+ }
5756
+
5757
+ /* Divider — base structural styles */
5758
+
5759
+ [data-divider] {
5760
+ display: flex;
5761
+ align-items: center;
5762
+ width: 100%;
5763
+ }
5764
+
5765
+ [data-divider][data-orientation='horizontal'] {
5766
+ flex-direction: row;
5767
+ height: 1px;
5768
+ }
5769
+
5770
+ [data-divider][data-orientation='vertical'] {
5771
+ flex-direction: column;
5772
+ width: 1px;
5773
+ height: 100%;
5774
+ align-self: stretch;
5775
+ }
5776
+
5777
+ [data-divider-label] {
5778
+ flex-shrink: 0;
5779
+ padding: 0 0.75rem;
5780
+ font-size: 0.75rem;
5781
+ white-space: nowrap;
5782
+ }
5783
+
5784
+ [data-divider][data-orientation='horizontal']::before,
5785
+ [data-divider][data-orientation='horizontal']::after {
5786
+ content: '';
5787
+ flex: 1;
5788
+ height: 1px;
5789
+ }
5790
+
5791
+ [data-divider][data-orientation='vertical']::before,
5792
+ [data-divider][data-orientation='vertical']::after {
5793
+ content: '';
5794
+ flex: 1;
5795
+ width: 1px;
5796
+ }
5797
+
5798
+ /* Without label, the element itself is the line */
5799
+ [data-divider]:not(:has([data-divider-label]))[data-orientation='horizontal'] {
5800
+ height: 1px;
5801
+ }
5802
+
5803
+ [data-divider]:not(:has([data-divider-label]))[data-orientation='vertical'] {
5804
+ width: 1px;
5805
+ }
5806
+
5807
+ /* Stack — base structural styles */
5808
+
5809
+ [data-stack] {
5810
+ display: flex;
5811
+ }
5812
+
5813
+ [data-stack][data-direction='vertical'] {
5814
+ flex-direction: column;
5815
+ }
5816
+
5817
+ [data-stack][data-direction='horizontal'] {
5818
+ flex-direction: row;
5819
+ }
5820
+
5821
+ /* Gap sizes */
5822
+ [data-stack][data-gap='none'] {
5823
+ gap: 0;
5824
+ }
5825
+
5826
+ [data-stack][data-gap='xs'] {
5827
+ gap: 0.25rem;
5828
+ }
5829
+
5830
+ [data-stack][data-gap='sm'] {
5831
+ gap: 0.5rem;
5832
+ }
5833
+
5834
+ [data-stack][data-gap='md'] {
5835
+ gap: 1rem;
5836
+ }
5837
+
5838
+ [data-stack][data-gap='lg'] {
5839
+ gap: 1.5rem;
5840
+ }
5841
+
5842
+ [data-stack][data-gap='xl'] {
5843
+ gap: 2rem;
5844
+ }
5845
+
5846
+ /* Alignment */
5847
+ [data-stack][data-align='start'] {
5848
+ align-items: flex-start;
5849
+ }
5850
+
5851
+ [data-stack][data-align='center'] {
5852
+ align-items: center;
5853
+ }
5854
+
5855
+ [data-stack][data-align='end'] {
5856
+ align-items: flex-end;
5857
+ }
5858
+
5859
+ [data-stack][data-align='stretch'] {
5860
+ align-items: stretch;
5861
+ }
5862
+
5863
+ /* Justification */
5864
+ [data-stack][data-justify='start'] {
5865
+ justify-content: flex-start;
5866
+ }
5867
+
5868
+ [data-stack][data-justify='center'] {
5869
+ justify-content: center;
5870
+ }
5871
+
5872
+ [data-stack][data-justify='end'] {
5873
+ justify-content: flex-end;
5874
+ }
5875
+
5876
+ [data-stack][data-justify='between'] {
5877
+ justify-content: space-between;
5878
+ }
5879
+
5880
+ [data-stack][data-justify='around'] {
5881
+ justify-content: space-around;
5882
+ }
5883
+
5884
+ /* Badge — base structural styles */
5885
+
5886
+ [data-badge-wrapper] {
5887
+ position: relative;
5888
+ display: inline-flex;
5889
+ }
5890
+
5891
+ [data-badge] {
5892
+ display: inline-flex;
5893
+ align-items: center;
5894
+ justify-content: center;
5895
+ min-width: 1.25rem;
5896
+ height: 1.25rem;
5897
+ padding: 0 0.375rem;
5898
+ border-radius: 9999px;
5899
+ font-size: 0.6875rem;
5900
+ font-weight: 600;
5901
+ line-height: 1;
5902
+ white-space: nowrap;
5903
+ }
5904
+
5905
+ /* Dot mode — small circle with no content */
5906
+ [data-badge][data-dot] {
5907
+ min-width: 0.5rem;
5908
+ width: 0.5rem;
5909
+ height: 0.5rem;
5910
+ padding: 0;
5911
+ }
5912
+
5913
+ /* Positioned inside a wrapper */
5914
+ [data-badge-wrapper] [data-badge] {
5915
+ position: absolute;
5916
+ top: -0.375rem;
5917
+ right: -0.375rem;
5918
+ z-index: 1;
5919
+ }
5920
+
5921
+ [data-badge-wrapper] [data-badge][data-dot] {
5922
+ top: -0.125rem;
5923
+ right: -0.125rem;
5924
+ }
5925
+
5926
+ /* Avatar — base structural styles */
5927
+
5928
+ [data-avatar] {
5929
+ position: relative;
5930
+ display: inline-flex;
5931
+ align-items: center;
5932
+ justify-content: center;
5933
+ flex-shrink: 0;
5934
+ overflow: hidden;
5935
+ user-select: none;
5936
+ }
5937
+
5938
+ /* Shape */
5939
+ [data-avatar][data-shape='circle'] {
5940
+ border-radius: 9999px;
5941
+ }
5942
+
5943
+ [data-avatar][data-shape='square'] {
5944
+ border-radius: 0.375rem;
5945
+ }
5946
+
5947
+ /* Size variants */
5948
+ [data-avatar][data-size='xs'] {
5949
+ width: 1.5rem;
5950
+ height: 1.5rem;
5951
+ font-size: 0.5rem;
5952
+ }
5953
+
5954
+ [data-avatar][data-size='sm'] {
5955
+ width: 2rem;
5956
+ height: 2rem;
5957
+ font-size: 0.625rem;
5958
+ }
5959
+
5960
+ [data-avatar][data-size='md'] {
5961
+ width: 2.5rem;
5962
+ height: 2.5rem;
5963
+ font-size: 0.75rem;
5964
+ }
5965
+
5966
+ [data-avatar][data-size='lg'] {
5967
+ width: 3rem;
5968
+ height: 3rem;
5969
+ font-size: 0.875rem;
5970
+ }
5971
+
5972
+ [data-avatar][data-size='xl'] {
5973
+ width: 4rem;
5974
+ height: 4rem;
5975
+ font-size: 1.125rem;
5976
+ }
5977
+
5978
+ [data-avatar-img] {
5979
+ width: 100%;
5980
+ height: 100%;
5981
+ object-fit: cover;
5982
+ }
5983
+
5984
+ [data-avatar-initials] {
5985
+ font-weight: 600;
5986
+ letter-spacing: 0.02em;
5987
+ line-height: 1;
5988
+ }
5989
+
5990
+ /* Status indicator dot */
5991
+ [data-avatar-status] {
5992
+ position: absolute;
5993
+ bottom: 0;
5994
+ right: 0;
5995
+ width: 25%;
5996
+ height: 25%;
5997
+ min-width: 0.5rem;
5998
+ min-height: 0.5rem;
5999
+ border-radius: 9999px;
6000
+ border: 2px solid transparent;
6001
+ }
6002
+
6003
+ [data-avatar][data-shape='square'] [data-avatar-status] {
6004
+ border-radius: 9999px;
6005
+ bottom: -0.125rem;
6006
+ right: -0.125rem;
5559
6007
  }
5560
6008