@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
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Card - Frosted Glass Theme Styles
3
+ *
4
+ * Liquid frosted glass: milky translucent surface, specular top-edge shine,
5
+ * deep backdrop blur. More opaque than Apple liquid glass but still glassy.
6
+ */
7
+
8
+ /* =============================================================================
9
+ Base Card Styles
10
+ ============================================================================= */
11
+
12
+ [data-style='frosted'] [data-card] {
13
+ @apply text-surface-z9 border shadow-lg backdrop-blur-xl;
14
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 30%, transparent);
15
+ border-color: rgba(255, 255, 255, 0.18);
16
+ box-shadow:
17
+ inset 0 1px 0 rgba(255, 255, 255, 0.22),
18
+ 0 8px 32px rgba(0, 0, 0, 0.1);
19
+ }
20
+
21
+ /* Interactive cards (buttons) */
22
+ [data-style='frosted'] [data-card][data-card-interactive] {
23
+ cursor: pointer;
24
+ transition:
25
+ transform 0.2s ease,
26
+ box-shadow 0.2s ease,
27
+ background 0.2s ease;
28
+ }
29
+
30
+ [data-style='frosted'] [data-card][data-card-interactive]:hover {
31
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 42%, transparent);
32
+ box-shadow:
33
+ inset 0 1px 0 rgba(255, 255, 255, 0.28),
34
+ 0 16px 40px rgba(0, 0, 0, 0.14);
35
+ transform: translateY(-2px);
36
+ }
37
+
38
+ [data-style='frosted'] [data-card][data-card-interactive]:active {
39
+ box-shadow:
40
+ inset 0 1px 0 rgba(255, 255, 255, 0.18),
41
+ 0 4px 16px rgba(0, 0, 0, 0.1);
42
+ transform: translateY(0);
43
+ }
44
+
45
+ /* =============================================================================
46
+ Card Sections
47
+ ============================================================================= */
48
+
49
+ [data-style='frosted'] [data-card-header] {
50
+ border-bottom: 1px solid rgba(255, 255, 255, 0.12);
51
+ }
52
+
53
+ [data-style='frosted'] [data-card-body] {
54
+ @apply text-surface-z8;
55
+ }
56
+
57
+ [data-style='frosted'] [data-card-footer] {
58
+ @apply text-surface-z7;
59
+ border-top: 1px solid rgba(255, 255, 255, 0.12);
60
+ }
61
+
62
+ /* =============================================================================
63
+ Focus States
64
+ ============================================================================= */
65
+
66
+ [data-style='frosted'] [data-card][data-card-interactive]:focus-visible {
67
+ outline: none;
68
+ box-shadow:
69
+ inset 0 1px 0 rgba(255, 255, 255, 0.22),
70
+ 0 0 0 2px rgba(255, 255, 255, 0.25);
71
+ }
72
+
73
+ /* =============================================================================
74
+ Disabled State
75
+ ============================================================================= */
76
+
77
+ [data-style='frosted'] [data-card][data-card-interactive][data-disabled],
78
+ [data-style='frosted'] [data-card][data-card-interactive]:disabled {
79
+ @apply cursor-not-allowed opacity-50;
80
+ transform: none;
81
+ }
82
+
83
+ /* =============================================================================
84
+ Variants
85
+ ============================================================================= */
86
+
87
+ /* Primary — tinted primary glass */
88
+ [data-style='frosted'] [data-card][data-variant='primary'] {
89
+ @apply text-on-primary border shadow-lg backdrop-blur-xl;
90
+ background: color-mix(in srgb, var(--color-primary-500, #6366f1) 45%, transparent);
91
+ border-color: rgba(255, 255, 255, 0.22);
92
+ box-shadow:
93
+ inset 0 1px 0 rgba(255, 255, 255, 0.28),
94
+ 0 8px 32px rgba(0, 0, 0, 0.12);
95
+ }
96
+
97
+ [data-style='frosted'] [data-card][data-variant='primary'] [data-card-header],
98
+ [data-style='frosted'] [data-card][data-variant='primary'] [data-card-footer] {
99
+ border-color: rgba(255, 255, 255, 0.15);
100
+ }
101
+
102
+ [data-style='frosted'] [data-card][data-variant='primary'] [data-card-body] {
103
+ @apply text-on-primary/80;
104
+ }
105
+
106
+ /* Secondary — tinted secondary glass */
107
+ [data-style='frosted'] [data-card][data-variant='secondary'] {
108
+ @apply text-on-secondary border shadow-lg backdrop-blur-xl;
109
+ background: color-mix(in srgb, var(--color-secondary-500, #ec4899) 45%, transparent);
110
+ border-color: rgba(255, 255, 255, 0.22);
111
+ box-shadow:
112
+ inset 0 1px 0 rgba(255, 255, 255, 0.28),
113
+ 0 8px 32px rgba(0, 0, 0, 0.12);
114
+ }
115
+
116
+ [data-style='frosted'] [data-card][data-variant='secondary'] [data-card-header],
117
+ [data-style='frosted'] [data-card][data-variant='secondary'] [data-card-footer] {
118
+ border-color: rgba(255, 255, 255, 0.15);
119
+ }
120
+
121
+ [data-style='frosted'] [data-card][data-variant='secondary'] [data-card-body] {
122
+ @apply text-on-secondary/80;
123
+ }
124
+
125
+ /* Tertiary — barely-there frosted glass */
126
+ [data-style='frosted'] [data-card][data-variant='tertiary'] {
127
+ @apply text-surface-z7 border backdrop-blur-xl;
128
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 16%, transparent);
129
+ border-color: rgba(255, 255, 255, 0.12);
130
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Chart - Glass Theme Styles
3
+ */
4
+
5
+ [data-style='frosted'] [data-chart-axis-line],
6
+ [data-style='frosted'] [data-chart-tick] line {
7
+ @apply stroke-surface-z3;
8
+ }
9
+
10
+ [data-style='frosted'] [data-chart-tick-label] {
11
+ @apply fill-surface-z5;
12
+ }
13
+
14
+ [data-style='frosted'] [data-chart-grid-line] {
15
+ @apply stroke-surface-z3;
16
+ stroke-opacity: 0.5;
17
+ stroke-dasharray: 2 4;
18
+ }
19
+
20
+ [data-style='frosted'] [data-chart-legend-label] {
21
+ @apply fill-surface-z5;
22
+ }
23
+
24
+ [data-style='frosted'] [data-chart-legend-item]:hover {
25
+ @apply text-surface-z8;
26
+ }
27
+
28
+ [data-style='frosted'] [data-plot-element='bar'][data-dimmed],
29
+ [data-style='frosted'] [data-plot-element='point'][data-dimmed],
30
+ [data-style='frosted'] [data-plot-element='arc'][data-dimmed],
31
+ [data-style='frosted'] [data-plot-element='line'][data-dimmed],
32
+ [data-style='frosted'] [data-plot-element='area'][data-dimmed] {
33
+ opacity: 0.15;
34
+ }
35
+
36
+ [data-style='frosted'] [data-facet-title] {
37
+ @apply text-surface-z5;
38
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Dropdown - Frosted Glass Theme Styles
3
+ *
4
+ * Liquid frosted glass: translucent trigger + deeply blurred panel with specular border.
5
+ */
6
+
7
+ [data-style='frosted'] [data-dropdown-trigger] {
8
+ @apply text-surface-z8 border bg-none backdrop-blur-xl;
9
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 25%, transparent);
10
+ border-color: rgba(255, 255, 255, 0.2);
11
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
12
+ }
13
+
14
+ [data-style='frosted'] [data-dropdown-trigger]:hover:not(:disabled) {
15
+ @apply text-surface-z10 bg-none;
16
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 36%, transparent);
17
+ border-color: rgba(255, 255, 255, 0.28);
18
+ }
19
+
20
+ [data-style='frosted'] [data-dropdown-trigger]:focus-visible {
21
+ outline: none;
22
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
23
+ }
24
+
25
+ [data-style='frosted'] [data-dropdown][data-open='true'] [data-dropdown-trigger] {
26
+ @apply bg-none;
27
+ background: color-mix(in srgb, var(--color-primary-500, #6366f1) 35%, transparent);
28
+ border-color: rgba(255, 255, 255, 0.3);
29
+ }
30
+
31
+ [data-style='frosted'] [data-dropdown-trigger] [data-dropdown-icon] {
32
+ @apply text-surface-z5;
33
+ }
34
+
35
+ [data-style='frosted'] [data-dropdown-trigger] [data-dropdown-arrow] {
36
+ @apply text-surface-z5;
37
+ }
38
+
39
+ [data-style='frosted'] [data-dropdown-panel] {
40
+ @apply border bg-none shadow-xl backdrop-blur-2xl;
41
+ background: color-mix(in srgb, var(--color-surface-z2, #888) 45%, transparent);
42
+ border-color: rgba(255, 255, 255, 0.2);
43
+ box-shadow:
44
+ inset 0 1px 0 rgba(255, 255, 255, 0.2),
45
+ 0 16px 48px rgba(0, 0, 0, 0.14);
46
+ }
47
+
48
+ [data-style='frosted'] [data-dropdown-option] {
49
+ @apply text-surface-z8;
50
+ }
51
+
52
+ [data-style='frosted'] [data-dropdown-option]:hover:not(:disabled),
53
+ [data-style='frosted'] [data-dropdown-option]:focus:not(:disabled) {
54
+ @apply text-surface-z10 bg-none outline-none;
55
+ background: rgba(255, 255, 255, 0.08);
56
+ }
57
+
58
+ [data-style='frosted'] [data-dropdown-option][data-active='true'] {
59
+ @apply text-surface-z10 bg-none;
60
+ background: color-mix(in srgb, var(--color-primary-500, #6366f1) 22%, transparent);
61
+ }
62
+
63
+ [data-style='frosted'] [data-dropdown-separator] {
64
+ @apply bg-none;
65
+ background: rgba(255, 255, 255, 0.1);
66
+ }
@@ -8,20 +8,20 @@
8
8
  FAB Trigger Button
9
9
  ============================================================================= */
10
10
 
11
- [data-style='glass'] [data-fab-trigger] {
11
+ [data-style='frosted'] [data-fab-trigger] {
12
12
  @apply bg-primary-z5/80 text-white shadow-lg backdrop-blur-md;
13
13
  }
14
14
 
15
- [data-style='glass'] [data-fab-trigger]:hover:not(:disabled) {
15
+ [data-style='frosted'] [data-fab-trigger]:hover:not(:disabled) {
16
16
  @apply bg-primary-z5/90 shadow-xl;
17
17
  transform: scale(1.05);
18
18
  }
19
19
 
20
- [data-style='glass'] [data-fab-trigger]:focus-visible {
20
+ [data-style='frosted'] [data-fab-trigger]:focus-visible {
21
21
  @apply ring-surface-z5/40 ring-2 outline-none;
22
22
  }
23
23
 
24
- [data-style='glass'] [data-fab][data-open='true'] [data-fab-trigger] {
24
+ [data-style='frosted'] [data-fab][data-open='true'] [data-fab-trigger] {
25
25
  @apply bg-surface-z6/80;
26
26
  transform: rotate(45deg);
27
27
  }
@@ -30,24 +30,24 @@
30
30
  FAB Items
31
31
  ============================================================================= */
32
32
 
33
- [data-style='glass'] [data-fab-item] {
33
+ [data-style='frosted'] [data-fab-item] {
34
34
  @apply text-surface-z9 bg-surface-z1/70 border-surface-z5/20 border shadow-md backdrop-blur-md;
35
35
  }
36
36
 
37
- [data-style='glass'] [data-fab-item]:hover:not(:disabled) {
37
+ [data-style='frosted'] [data-fab-item]:hover:not(:disabled) {
38
38
  @apply text-surface-z10 bg-surface-z2/80 shadow-lg;
39
39
  }
40
40
 
41
- [data-style='glass'] [data-fab-item]:focus-visible {
41
+ [data-style='frosted'] [data-fab-item]:focus-visible {
42
42
  @apply ring-surface-z5/40 ring-2 outline-none;
43
43
  }
44
44
 
45
45
  /* Item icon */
46
- [data-style='glass'] [data-fab-item] [data-fab-item-icon] {
46
+ [data-style='frosted'] [data-fab-item] [data-fab-item-icon] {
47
47
  @apply text-primary-z6;
48
48
  }
49
49
 
50
- [data-style='glass'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
50
+ [data-style='frosted'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
51
51
  @apply text-primary-z7;
52
52
  }
53
53
 
@@ -55,7 +55,7 @@
55
55
  Backdrop
56
56
  ============================================================================= */
57
57
 
58
- [data-style='glass'] [data-fab-backdrop] {
58
+ [data-style='frosted'] [data-fab-backdrop] {
59
59
  background: rgba(0, 0, 0, 0.3);
60
60
  backdrop-filter: blur(4px);
61
61
  }
@@ -8,7 +8,7 @@
8
8
  Container
9
9
  ============================================================================= */
10
10
 
11
- [data-style='glass'] [data-floating-nav] {
11
+ [data-style='frosted'] [data-floating-nav] {
12
12
  @apply bg-surface-z1/70 border-surface-z5/20 border shadow-xl backdrop-blur-xl;
13
13
  }
14
14
 
@@ -16,19 +16,19 @@
16
16
  Header
17
17
  ============================================================================= */
18
18
 
19
- [data-style='glass'] [data-floating-nav-title] {
19
+ [data-style='frosted'] [data-floating-nav-title] {
20
20
  @apply text-surface-z6;
21
21
  }
22
22
 
23
- [data-style='glass'] [data-floating-nav-pin] {
23
+ [data-style='frosted'] [data-floating-nav-pin] {
24
24
  @apply text-surface-z6;
25
25
  }
26
26
 
27
- [data-style='glass'] [data-floating-nav-pin]:hover {
27
+ [data-style='frosted'] [data-floating-nav-pin]:hover {
28
28
  @apply text-primary-z6;
29
29
  }
30
30
 
31
- [data-style='glass'] [data-floating-nav-pin][aria-pressed='true'] {
31
+ [data-style='frosted'] [data-floating-nav-pin][aria-pressed='true'] {
32
32
  @apply text-primary-z7;
33
33
  }
34
34
 
@@ -36,32 +36,32 @@
36
36
  Items
37
37
  ============================================================================= */
38
38
 
39
- [data-style='glass'] [data-floating-nav-item] {
39
+ [data-style='frosted'] [data-floating-nav-item] {
40
40
  @apply text-surface-z8;
41
41
  }
42
42
 
43
- [data-style='glass'] [data-floating-nav-item]:hover {
43
+ [data-style='frosted'] [data-floating-nav-item]:hover {
44
44
  @apply text-surface-z10 bg-surface-z2/50;
45
45
  }
46
46
 
47
- [data-style='glass'] [data-floating-nav-item][data-active] {
47
+ [data-style='frosted'] [data-floating-nav-item][data-active] {
48
48
  @apply text-primary-z7 bg-primary-z5/10;
49
49
  }
50
50
 
51
- [data-style='glass'] [data-floating-nav-item]:focus-visible {
51
+ [data-style='frosted'] [data-floating-nav-item]:focus-visible {
52
52
  @apply ring-surface-z5/40 ring-2 outline-none;
53
53
  }
54
54
 
55
55
  /* Icon */
56
- [data-style='glass'] [data-floating-nav-icon] {
56
+ [data-style='frosted'] [data-floating-nav-icon] {
57
57
  @apply text-surface-z6;
58
58
  }
59
59
 
60
- [data-style='glass'] [data-floating-nav-item]:hover [data-floating-nav-icon] {
60
+ [data-style='frosted'] [data-floating-nav-item]:hover [data-floating-nav-icon] {
61
61
  @apply text-primary-z6;
62
62
  }
63
63
 
64
- [data-style='glass'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
64
+ [data-style='frosted'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
65
65
  @apply text-primary-z7;
66
66
  }
67
67
 
@@ -69,6 +69,6 @@
69
69
  Active Indicator
70
70
  ============================================================================= */
71
71
 
72
- [data-style='glass'] [data-floating-nav-indicator] {
72
+ [data-style='frosted'] [data-floating-nav-indicator] {
73
73
  @apply bg-primary-z5/80;
74
74
  }
@@ -26,5 +26,6 @@
26
26
  @import './card.css';
27
27
  @import './message.css';
28
28
  @import './status-list.css';
29
+ @import './step-indicator.css';
29
30
  @import './chart.css';
30
31
  @import './swatch.css';
@@ -0,0 +1,135 @@
1
+ /* Glass Theme - Form field and input styles
2
+ * Glassmorphism inputs with blur, transparency, and subtle borders.
3
+ */
4
+
5
+ /* Field root: text color, spacing */
6
+ [data-style='frosted'] [data-field-root] {
7
+ @apply text-surface-z9 gap-1 rounded-md transition-all;
8
+ }
9
+
10
+ /* Disabled state */
11
+ [data-style='frosted'] [data-field-root][data-field-disabled] [data-input-root] {
12
+ @apply cursor-not-allowed opacity-50;
13
+ }
14
+
15
+ /* Labels */
16
+ [data-style='frosted'] [data-field] > label {
17
+ @apply text-surface-z7;
18
+ }
19
+
20
+ [data-style='frosted'] [data-form-root] label {
21
+ @apply text-surface-z7;
22
+ }
23
+
24
+ /* Info field value */
25
+ [data-style='frosted'] [data-field-info] {
26
+ @apply text-primary-z6 font-medium;
27
+ }
28
+
29
+ /* Separator */
30
+ [data-style='frosted'] [data-form-separator] {
31
+ @apply border-surface-z5/20;
32
+ }
33
+
34
+ /* Input root: frosted glass container — p-0.5 gives a small gap between border and content.
35
+ * No backdrop-blur here: it creates a stacking context that traps select dropdowns.
36
+ * The semi-transparent background + specular border provides the liquid glass look. */
37
+ [data-style='frosted'] [data-input-root] {
38
+ @apply flex items-center rounded-md border p-0.5 transition-all;
39
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 22%, transparent);
40
+ background-image: none;
41
+ border-color: rgba(255, 255, 255, 0.2);
42
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
43
+ }
44
+
45
+ [data-style='frosted'] [data-input-root]:hover {
46
+ border-color: rgba(255, 255, 255, 0.28);
47
+ }
48
+
49
+ [data-style='frosted'] [data-input-root]:focus-within {
50
+ background: color-mix(in srgb, var(--color-surface-z3, #888) 28%, transparent);
51
+ background-image: none;
52
+ border-color: rgba(255, 255, 255, 0.35);
53
+ box-shadow:
54
+ inset 0 1px 0 rgba(255, 255, 255, 0.18),
55
+ 0 0 0 2px rgba(255, 255, 255, 0.12);
56
+ }
57
+
58
+ /* Standard inputs inside wrapper */
59
+ [data-style='frosted'] [data-input-root] input:not([type='checkbox'], [type='radio'], [type='color']),
60
+ [data-style='frosted'] [data-input-root] select {
61
+ @apply text-surface-z8 rounded-md border-none bg-transparent px-3 focus:outline-none;
62
+ font-size: 0.875rem;
63
+ height: 2.25rem;
64
+ }
65
+
66
+ [data-style='frosted'] [data-input-root] textarea {
67
+ @apply text-surface-z8 rounded-md border-none bg-transparent px-3 py-2 focus:outline-none;
68
+ font-size: 0.875rem;
69
+ }
70
+
71
+ /* Select inside input-root: suppress standalone glass select styles */
72
+ [data-style='frosted'] [data-input-root] [data-select-trigger] {
73
+ @apply text-surface-z8 rounded-md border-none bg-transparent shadow-none ring-0 focus:outline-none;
74
+ background-image: none;
75
+ backdrop-filter: none;
76
+ }
77
+
78
+ /* Suppress standalone select open-state when inside input-root */
79
+ [data-style='frosted'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
80
+ @apply border-none shadow-none ring-0;
81
+ }
82
+
83
+ /* Placeholders */
84
+ [data-style='frosted'] [data-input-root] input::placeholder,
85
+ [data-style='frosted'] [data-input-root] textarea::placeholder {
86
+ @apply text-surface-z5;
87
+ }
88
+
89
+ /* Checkbox field */
90
+ [data-style='frosted'] [data-field-type='checkbox'] [data-field] {
91
+ @apply flex items-center leading-loose;
92
+ }
93
+
94
+ /* Checkbox icon */
95
+ [data-style='frosted'] [data-checkbox-icon] {
96
+ @apply text-surface-z5 cursor-pointer rounded text-lg transition-colors;
97
+ }
98
+
99
+ [data-style='frosted'] [data-checkbox-icon]:focus-visible {
100
+ @apply outline-primary-z4 outline-2 outline-offset-2;
101
+ }
102
+
103
+ [data-style='frosted']
104
+ [data-checkbox-root][data-variant='custom']:has(input:checked)
105
+ [data-checkbox-icon] {
106
+ @apply text-primary-z6;
107
+ }
108
+
109
+ [data-style='frosted'] [data-field] textarea {
110
+ @apply resize-vertical min-h-20 py-2;
111
+ }
112
+
113
+ /* Color input */
114
+ [data-style='frosted'] [data-field-type='color'] [data-input-root] {
115
+ @apply overflow-hidden;
116
+ }
117
+
118
+ [data-style='frosted'] [data-field-type='color'] input[type='color'] {
119
+ @apply flex min-h-11 flex-1 rounded-md bg-transparent focus:outline-none;
120
+ }
121
+
122
+ /* Description and message */
123
+ [data-style='frosted'] [data-description],
124
+ [data-style='frosted'] [data-message] {
125
+ @apply text-surface-z6;
126
+ }
127
+
128
+ [data-style='frosted'] [data-message] {
129
+ @apply rounded-md px-2 py-1;
130
+ }
131
+
132
+ /* Error state */
133
+ [data-style='frosted'] [data-field-root][data-field-state='fail'] [data-input-root] {
134
+ @apply border-danger-z5/50;
135
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * List - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ List Container
9
+ ============================================================================= */
10
+
11
+ [data-style='frosted'] [data-list]:focus-within {
12
+ @apply ring-surface-z5/40 rounded ring-1;
13
+ }
14
+
15
+ /* =============================================================================
16
+ List Items
17
+ ============================================================================= */
18
+
19
+ [data-style='frosted'] [data-list] [data-list-item] {
20
+ @apply text-surface-z8;
21
+ }
22
+
23
+ [data-style='frosted'] [data-list] a[data-list-item],
24
+ [data-style='frosted'] [data-list] button[data-list-item] {
25
+ @apply text-surface-z7;
26
+ }
27
+
28
+ /* Hover and focus (keyboard navigation) */
29
+ [data-style='frosted'] [data-list] [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
30
+ [data-style='frosted'] [data-list] [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
31
+ @apply bg-surface-z2/15 text-surface-z10 bg-none outline-none;
32
+ }
33
+
34
+ /* Active state — muted when list not focused */
35
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true'] {
36
+ @apply bg-surface-z2/15 text-primary-z9 bg-none;
37
+ }
38
+
39
+ /* Active state — full highlight when list has focus */
40
+ [data-style='frosted'] [data-list]:focus-within [data-list-item][data-active='true'] {
41
+ @apply bg-primary-z5/30 text-primary-z9 bg-none;
42
+ }
43
+
44
+ /* Active + hover/focus */
45
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true']:hover:not(:disabled),
46
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true']:focus:not(:disabled) {
47
+ @apply bg-primary-z5/40 bg-none;
48
+ }
49
+
50
+ /* =============================================================================
51
+ Item Elements
52
+ ============================================================================= */
53
+
54
+ [data-style='frosted'] [data-list] [data-list-item] [data-item-icon] {
55
+ @apply text-surface-z5;
56
+ }
57
+
58
+ [data-style='frosted'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon],
59
+ [data-style='frosted'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon] {
60
+ @apply text-surface-z7;
61
+ }
62
+
63
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true'] [data-item-icon] {
64
+ @apply text-primary-z6;
65
+ }
66
+
67
+ [data-style='frosted'] [data-list] [data-list-item] [data-item-description] {
68
+ @apply text-surface-z5;
69
+ }
70
+
71
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true'] [data-item-description] {
72
+ @apply text-primary-z7;
73
+ }
74
+
75
+ [data-style='frosted'] [data-list] [data-list-item] [data-item-badge] {
76
+ @apply bg-surface-z2/15 text-surface-z6 bg-none;
77
+ }
78
+
79
+ [data-style='frosted'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
80
+ @apply bg-primary-z5/25 text-primary-z8 bg-none;
81
+ }
82
+
83
+ /* =============================================================================
84
+ Groups
85
+ ============================================================================= */
86
+
87
+ [data-style='frosted'] [data-list] [data-list-group] {
88
+ @apply text-surface-z6;
89
+ }
90
+
91
+ [data-style='frosted'] [data-list] [data-list-group]:hover:not(:disabled),
92
+ [data-style='frosted'] [data-list] [data-list-group]:focus:not(:disabled) {
93
+ @apply bg-surface-z3/25 text-surface-z8 bg-none;
94
+ }
95
+
96
+ /* =============================================================================
97
+ Separator
98
+ ============================================================================= */
99
+
100
+ [data-style='frosted'] [data-list] [data-list-separator] {
101
+ @apply bg-surface-z5/20 bg-none;
102
+ }
103
+
104
+ /* =============================================================================
105
+ Multi-Selection
106
+ ============================================================================= */
107
+
108
+ [data-style='frosted'] [data-list] [data-list-item][data-selected='true'] {
109
+ @apply bg-primary-z5/20 text-primary-z9 bg-none;
110
+ }
111
+
112
+ [data-style='frosted'] [data-list]:focus-within [data-list-item][data-selected='true'] {
113
+ @apply bg-primary-z5/30 bg-none;
114
+ }
115
+
116
+ [data-style='frosted'] [data-list] [data-list-item][data-selected='true']:hover:not(:disabled) {
117
+ @apply bg-primary-z5/40 bg-none;
118
+ }
119
+
120
+ [data-style='frosted'] [data-list] [data-list-item][data-selected='true'] [data-item-icon] {
121
+ @apply text-primary-z6;
122
+ }