@rokkit/themes 1.0.0-next.132 → 1.0.0-next.135

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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -80
  3. package/build.mjs +148 -150
  4. package/dist/base.css +689 -623
  5. package/dist/glass.css +212 -203
  6. package/dist/index.css +1464 -1257
  7. package/dist/material.css +203 -171
  8. package/dist/minimal.css +171 -147
  9. package/dist/rokkit.css +189 -113
  10. package/package.json +11 -4
  11. package/src/base/breadcrumbs.css +28 -28
  12. package/src/base/button.css +10 -3
  13. package/src/base/card.css +17 -17
  14. package/src/base/carousel.css +67 -67
  15. package/src/base/display.css +8 -8
  16. package/src/base/floating-navigation.css +32 -8
  17. package/src/base/graph-paper.css +49 -49
  18. package/src/base/pill.css +35 -35
  19. package/src/base/progress.css +21 -21
  20. package/src/base/range.css +57 -57
  21. package/src/base/rating.css +20 -18
  22. package/src/base/reveal.css +16 -16
  23. package/src/base/search-filter.css +61 -61
  24. package/src/base/shine.css +7 -7
  25. package/src/base/stepper.css +75 -75
  26. package/src/base/switch.css +55 -55
  27. package/src/base/table.css +49 -49
  28. package/src/base/tilt.css +4 -4
  29. package/src/base/timeline.css +38 -38
  30. package/src/base/tree.css +48 -15
  31. package/src/glass/button.css +11 -10
  32. package/src/glass/card.css +16 -13
  33. package/src/glass/floating-action.css +13 -13
  34. package/src/glass/floating-navigation.css +2 -2
  35. package/src/glass/input.css +32 -30
  36. package/src/glass/list.css +21 -21
  37. package/src/glass/menu.css +16 -16
  38. package/src/glass/range.css +10 -10
  39. package/src/glass/search-filter.css +8 -8
  40. package/src/glass/select.css +32 -32
  41. package/src/glass/switch.css +6 -6
  42. package/src/glass/table.css +14 -14
  43. package/src/glass/tabs.css +3 -3
  44. package/src/glass/timeline.css +8 -8
  45. package/src/glass/toggle.css +7 -7
  46. package/src/glass/toolbar.css +15 -15
  47. package/src/glass/tree.css +27 -21
  48. package/src/material/button.css +12 -8
  49. package/src/material/card.css +1 -1
  50. package/src/material/input.css +30 -14
  51. package/src/material/list.css +27 -23
  52. package/src/material/menu.css +16 -16
  53. package/src/material/range.css +11 -11
  54. package/src/material/search-filter.css +8 -8
  55. package/src/material/select.css +31 -31
  56. package/src/material/switch.css +6 -6
  57. package/src/material/table.css +20 -16
  58. package/src/material/timeline.css +8 -8
  59. package/src/material/toggle.css +7 -7
  60. package/src/material/toolbar.css +17 -16
  61. package/src/material/tree.css +22 -19
  62. package/src/minimal/button.css +7 -4
  63. package/src/minimal/card.css +13 -11
  64. package/src/minimal/floating-action.css +11 -11
  65. package/src/minimal/floating-navigation.css +1 -1
  66. package/src/minimal/input.css +14 -10
  67. package/src/minimal/list.css +27 -23
  68. package/src/minimal/menu.css +15 -15
  69. package/src/minimal/range.css +10 -10
  70. package/src/minimal/search-filter.css +8 -8
  71. package/src/minimal/select.css +4 -2
  72. package/src/minimal/switch.css +6 -6
  73. package/src/minimal/table.css +17 -15
  74. package/src/minimal/tabs.css +5 -3
  75. package/src/minimal/timeline.css +7 -7
  76. package/src/minimal/toggle.css +7 -7
  77. package/src/minimal/toolbar.css +17 -16
  78. package/src/minimal/tree.css +26 -20
  79. package/src/rokkit/button.css +40 -11
  80. package/src/rokkit/card.css +16 -14
  81. package/src/rokkit/floating-navigation.css +2 -2
  82. package/src/rokkit/input.css +10 -6
  83. package/src/rokkit/list.css +7 -2
  84. package/src/rokkit/range.css +11 -11
  85. package/src/rokkit/search-filter.css +8 -8
  86. package/src/rokkit/select.css +41 -36
  87. package/src/rokkit/switch.css +6 -6
  88. package/src/rokkit/table.css +17 -15
  89. package/src/rokkit/tabs.css +11 -6
  90. package/src/rokkit/timeline.css +8 -8
  91. package/src/rokkit/tree.css +35 -9
@@ -10,8 +10,8 @@
10
10
  ============================================================================= */
11
11
 
12
12
  [data-timeline] {
13
- display: flex;
14
- flex-direction: column;
13
+ display: flex;
14
+ flex-direction: column;
15
15
  }
16
16
 
17
17
  /* =============================================================================
@@ -19,9 +19,9 @@
19
19
  ============================================================================= */
20
20
 
21
21
  [data-timeline-item] {
22
- display: grid;
23
- grid-template-columns: 2.5rem 1fr;
24
- gap: 0.75rem;
22
+ display: grid;
23
+ grid-template-columns: 2.5rem 1fr;
24
+ gap: 0.75rem;
25
25
  }
26
26
 
27
27
  /* =============================================================================
@@ -29,33 +29,33 @@
29
29
  ============================================================================= */
30
30
 
31
31
  [data-timeline-marker] {
32
- display: flex;
33
- flex-direction: column;
34
- align-items: center;
32
+ display: flex;
33
+ flex-direction: column;
34
+ align-items: center;
35
35
  }
36
36
 
37
37
  [data-timeline-circle] {
38
- width: 2rem;
39
- height: 2rem;
40
- min-height: 2rem;
41
- border-radius: 9999px;
42
- border: 2px solid currentColor;
43
- display: flex;
44
- align-items: center;
45
- justify-content: center;
46
- font-weight: 600;
47
- font-size: 0.75rem;
48
- transition:
49
- background-color 0.2s ease,
50
- border-color 0.2s ease,
51
- color 0.2s ease;
38
+ width: 2rem;
39
+ height: 2rem;
40
+ min-height: 2rem;
41
+ border-radius: 9999px;
42
+ border: 2px solid currentColor;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ font-weight: 600;
47
+ font-size: 0.75rem;
48
+ transition:
49
+ background-color 0.2s ease,
50
+ border-color 0.2s ease,
51
+ color 0.2s ease;
52
52
  }
53
53
 
54
54
  [data-timeline-connector] {
55
- width: 2px;
56
- flex: 1;
57
- min-height: 1.5rem;
58
- transition: background-color 0.2s ease;
55
+ width: 2px;
56
+ flex: 1;
57
+ min-height: 1.5rem;
58
+ transition: background-color 0.2s ease;
59
59
  }
60
60
 
61
61
  /* =============================================================================
@@ -63,22 +63,22 @@
63
63
  ============================================================================= */
64
64
 
65
65
  [data-timeline-body] {
66
- padding-bottom: 1.5rem;
67
- min-height: 2rem;
68
- display: flex;
69
- flex-direction: column;
70
- justify-content: flex-start;
71
- padding-top: 0.25rem;
66
+ padding-bottom: 1.5rem;
67
+ min-height: 2rem;
68
+ display: flex;
69
+ flex-direction: column;
70
+ justify-content: flex-start;
71
+ padding-top: 0.25rem;
72
72
  }
73
73
 
74
74
  [data-timeline-title] {
75
- font-weight: 600;
76
- font-size: 0.9375rem;
77
- line-height: 1.4;
75
+ font-weight: 600;
76
+ font-size: 0.9375rem;
77
+ line-height: 1.4;
78
78
  }
79
79
 
80
80
  [data-timeline-description] {
81
- margin-top: 0.25rem;
82
- font-size: 0.8125rem;
83
- line-height: 1.5;
81
+ margin-top: 0.25rem;
82
+ font-size: 0.8125rem;
83
+ line-height: 1.5;
84
84
  }
package/src/base/tree.css CHANGED
@@ -111,25 +111,58 @@
111
111
  }
112
112
 
113
113
  /* Solid (default visible style) */
114
- [data-tree][data-line-style='solid'] [data-connector-v] { border-right-style: solid; }
115
- [data-tree][data-line-style='solid'] [data-connector-h] { border-bottom-style: solid; }
116
- [data-tree][data-line-style='solid'] [data-connector-corner] { border-bottom-style: solid; border-right-style: solid; }
117
- [data-tree][data-line-style='solid'] [data-connector-rtl] [data-connector-v] { border-left-style: solid; }
118
- [data-tree][data-line-style='solid'] [data-connector-rtl] [data-connector-corner] { border-left-style: solid; }
114
+ [data-tree][data-line-style='solid'] [data-connector-v] {
115
+ border-right-style: solid;
116
+ }
117
+ [data-tree][data-line-style='solid'] [data-connector-h] {
118
+ border-bottom-style: solid;
119
+ }
120
+ [data-tree][data-line-style='solid'] [data-connector-corner] {
121
+ border-bottom-style: solid;
122
+ border-right-style: solid;
123
+ }
124
+ [data-tree][data-line-style='solid'] [data-connector-rtl] [data-connector-v] {
125
+ border-left-style: solid;
126
+ }
127
+ [data-tree][data-line-style='solid'] [data-connector-rtl] [data-connector-corner] {
128
+ border-left-style: solid;
129
+ }
119
130
 
120
131
  /* Dashed */
121
- [data-tree][data-line-style='dashed'] [data-connector-v] { border-right-style: dashed; }
122
- [data-tree][data-line-style='dashed'] [data-connector-h] { border-bottom-style: dashed; }
123
- [data-tree][data-line-style='dashed'] [data-connector-corner] { border-bottom-style: dashed; border-right-style: dashed; }
124
- [data-tree][data-line-style='dashed'] [data-connector-rtl] [data-connector-v] { border-left-style: dashed; }
125
- [data-tree][data-line-style='dashed'] [data-connector-rtl] [data-connector-corner] { border-left-style: dashed; }
132
+ [data-tree][data-line-style='dashed'] [data-connector-v] {
133
+ border-right-style: dashed;
134
+ }
135
+ [data-tree][data-line-style='dashed'] [data-connector-h] {
136
+ border-bottom-style: dashed;
137
+ }
138
+ [data-tree][data-line-style='dashed'] [data-connector-corner] {
139
+ border-bottom-style: dashed;
140
+ border-right-style: dashed;
141
+ }
142
+ [data-tree][data-line-style='dashed'] [data-connector-rtl] [data-connector-v] {
143
+ border-left-style: dashed;
144
+ }
145
+ [data-tree][data-line-style='dashed'] [data-connector-rtl] [data-connector-corner] {
146
+ border-left-style: dashed;
147
+ }
126
148
 
127
149
  /* Dotted */
128
- [data-tree][data-line-style='dotted'] [data-connector-v] { border-right-style: dotted; }
129
- [data-tree][data-line-style='dotted'] [data-connector-h] { border-bottom-style: dotted; }
130
- [data-tree][data-line-style='dotted'] [data-connector-corner] { border-bottom-style: dotted; border-right-style: dotted; }
131
- [data-tree][data-line-style='dotted'] [data-connector-rtl] [data-connector-v] { border-left-style: dotted; }
132
- [data-tree][data-line-style='dotted'] [data-connector-rtl] [data-connector-corner] { border-left-style: dotted; }
150
+ [data-tree][data-line-style='dotted'] [data-connector-v] {
151
+ border-right-style: dotted;
152
+ }
153
+ [data-tree][data-line-style='dotted'] [data-connector-h] {
154
+ border-bottom-style: dotted;
155
+ }
156
+ [data-tree][data-line-style='dotted'] [data-connector-corner] {
157
+ border-bottom-style: dotted;
158
+ border-right-style: dotted;
159
+ }
160
+ [data-tree][data-line-style='dotted'] [data-connector-rtl] [data-connector-v] {
161
+ border-left-style: dotted;
162
+ }
163
+ [data-tree][data-line-style='dotted'] [data-connector-rtl] [data-connector-corner] {
164
+ border-left-style: dotted;
165
+ }
133
166
 
134
167
  /* =============================================================================
135
168
  Tree Item Content
@@ -12,22 +12,22 @@
12
12
  [data-style='glass'] [data-button]:not([data-style])[data-variant='default'],
13
13
  [data-style='glass'] [data-button][data-style='default']:not([data-variant]),
14
14
  [data-style='glass'] [data-button]:not([data-style]):not([data-variant]) {
15
- @apply backdrop-blur-md border shadow-sm bg-surface-z2/70 border-surface-z5/20 text-surface-z9;
15
+ @apply bg-surface-z2/70 border-surface-z5/20 text-surface-z9 border shadow-sm backdrop-blur-md;
16
16
  }
17
17
 
18
18
  [data-style='glass'] [data-button][data-style='default'][data-variant='primary'],
19
19
  [data-style='glass'] [data-button]:not([data-style])[data-variant='primary'] {
20
- @apply backdrop-blur-md shadow-sm bg-primary-z5/80 text-on-primary;
20
+ @apply bg-primary-z5/80 text-on-primary shadow-sm backdrop-blur-md;
21
21
  }
22
22
 
23
23
  [data-style='glass'] [data-button][data-style='default'][data-variant='secondary'],
24
24
  [data-style='glass'] [data-button]:not([data-style])[data-variant='secondary'] {
25
- @apply backdrop-blur-md shadow-sm bg-secondary-z4/80 text-on-secondary;
25
+ @apply bg-secondary-z4/80 text-on-secondary shadow-sm backdrop-blur-md;
26
26
  }
27
27
 
28
28
  [data-style='glass'] [data-button][data-style='default'][data-variant='danger'],
29
29
  [data-style='glass'] [data-button]:not([data-style])[data-variant='danger'] {
30
- @apply backdrop-blur-md shadow-sm bg-danger-z4/80 text-on-danger;
30
+ @apply bg-danger-z4/80 text-on-danger shadow-sm backdrop-blur-md;
31
31
  }
32
32
 
33
33
  /* =============================================================================
@@ -82,22 +82,23 @@
82
82
 
83
83
  [data-style='glass'] [data-button][data-style='gradient'][data-variant='default'],
84
84
  [data-style='glass'] [data-button][data-style='gradient']:not([data-variant]) {
85
- @apply from-surface-z3/80 to-surface-z1/60 text-surface-z10 backdrop-blur-md bg-gradient-to-br;
85
+ @apply from-surface-z3/80 to-surface-z1/60 text-surface-z10 bg-gradient-to-br backdrop-blur-md;
86
86
  }
87
87
 
88
88
  [data-style='glass'] [data-button][data-style='gradient'][data-variant='primary'] {
89
- @apply from-primary-z5/80 to-primary-z3/60 text-on-primary backdrop-blur-md bg-gradient-to-br;
89
+ @apply from-primary-z5/80 to-primary-z3/60 text-on-primary bg-gradient-to-br backdrop-blur-md;
90
90
  }
91
91
 
92
92
  [data-style='glass'] [data-button][data-style='gradient'][data-variant='secondary'] {
93
- @apply from-secondary-z5/80 to-secondary-z3/60 text-on-secondary backdrop-blur-md bg-gradient-to-br;
93
+ @apply from-secondary-z5/80 to-secondary-z3/60 text-on-secondary bg-gradient-to-br backdrop-blur-md;
94
94
  }
95
95
 
96
96
  [data-style='glass'] [data-button][data-style='gradient'][data-variant='danger'] {
97
- @apply from-danger-z5/80 to-danger-z3/60 text-on-danger backdrop-blur-md bg-gradient-to-br;
97
+ @apply from-danger-z5/80 to-danger-z3/60 text-on-danger bg-gradient-to-br backdrop-blur-md;
98
98
  }
99
99
 
100
- [data-style='glass'] [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
100
+ [data-style='glass']
101
+ [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
101
102
  filter: brightness(1.1);
102
103
  }
103
104
 
@@ -148,5 +149,5 @@
148
149
  ============================================================================= */
149
150
 
150
151
  [data-style='glass'] [data-button]:focus-visible {
151
- @apply outline-none ring-2 ring-surface-z5/40;
152
+ @apply ring-surface-z5/40 ring-2 outline-none;
152
153
  }
@@ -9,23 +9,26 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='glass'] [data-card] {
12
- @apply backdrop-blur-md border shadow-lg bg-surface-z2/60 border-surface-z5/20 text-surface-z9;
12
+ @apply bg-surface-z2/60 border-surface-z5/20 text-surface-z9 border shadow-lg backdrop-blur-md;
13
13
  }
14
14
 
15
15
  /* Interactive cards (buttons) */
16
16
  [data-style='glass'] [data-card][data-card-interactive] {
17
- cursor: pointer;
18
- transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
17
+ cursor: pointer;
18
+ transition:
19
+ transform 0.2s ease,
20
+ box-shadow 0.2s ease,
21
+ background-color 0.2s ease;
19
22
  }
20
23
 
21
24
  [data-style='glass'] [data-card][data-card-interactive]:hover {
22
- @apply shadow-xl bg-surface-z2/80;
23
- transform: translateY(-2px);
25
+ @apply bg-surface-z2/80 shadow-xl;
26
+ transform: translateY(-2px);
24
27
  }
25
28
 
26
29
  [data-style='glass'] [data-card][data-card-interactive]:active {
27
- @apply shadow-lg;
28
- transform: translateY(0);
30
+ @apply shadow-lg;
31
+ transform: translateY(0);
29
32
  }
30
33
 
31
34
  /* =============================================================================
@@ -33,15 +36,15 @@
33
36
  ============================================================================= */
34
37
 
35
38
  [data-style='glass'] [data-card-header] {
36
- @apply border-surface-z5/20 border-b;
39
+ @apply border-surface-z5/20 border-b;
37
40
  }
38
41
 
39
42
  [data-style='glass'] [data-card-body] {
40
- @apply text-surface-z8;
43
+ @apply text-surface-z8;
41
44
  }
42
45
 
43
46
  [data-style='glass'] [data-card-footer] {
44
- @apply border-surface-z5/20 border-t text-surface-z7;
47
+ @apply border-surface-z5/20 text-surface-z7 border-t;
45
48
  }
46
49
 
47
50
  /* =============================================================================
@@ -49,7 +52,7 @@
49
52
  ============================================================================= */
50
53
 
51
54
  [data-style='glass'] [data-card][data-card-interactive]:focus-visible {
52
- @apply outline-none ring-2 ring-surface-z5/40;
55
+ @apply ring-surface-z5/40 ring-2 outline-none;
53
56
  }
54
57
 
55
58
  /* =============================================================================
@@ -58,6 +61,6 @@
58
61
 
59
62
  [data-style='glass'] [data-card][data-card-interactive][data-disabled],
60
63
  [data-style='glass'] [data-card][data-card-interactive]:disabled {
61
- @apply opacity-50 cursor-not-allowed;
62
- transform: none;
64
+ @apply cursor-not-allowed opacity-50;
65
+ transform: none;
63
66
  }
@@ -9,21 +9,21 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='glass'] [data-fab-trigger] {
12
- @apply text-white backdrop-blur-md bg-primary-z5/80 shadow-lg;
12
+ @apply bg-primary-z5/80 text-white shadow-lg backdrop-blur-md;
13
13
  }
14
14
 
15
15
  [data-style='glass'] [data-fab-trigger]:hover:not(:disabled) {
16
- @apply bg-primary-z5/90 shadow-xl;
17
- transform: scale(1.05);
16
+ @apply bg-primary-z5/90 shadow-xl;
17
+ transform: scale(1.05);
18
18
  }
19
19
 
20
20
  [data-style='glass'] [data-fab-trigger]:focus-visible {
21
- @apply outline-none ring-2 ring-surface-z5/40;
21
+ @apply ring-surface-z5/40 ring-2 outline-none;
22
22
  }
23
23
 
24
24
  [data-style='glass'] [data-fab][data-open='true'] [data-fab-trigger] {
25
- @apply bg-surface-z6/80;
26
- transform: rotate(45deg);
25
+ @apply bg-surface-z6/80;
26
+ transform: rotate(45deg);
27
27
  }
28
28
 
29
29
  /* =============================================================================
@@ -31,24 +31,24 @@
31
31
  ============================================================================= */
32
32
 
33
33
  [data-style='glass'] [data-fab-item] {
34
- @apply text-surface-z9 backdrop-blur-md border shadow-md bg-surface-z1/70 border-surface-z5/20;
34
+ @apply text-surface-z9 bg-surface-z1/70 border-surface-z5/20 border shadow-md backdrop-blur-md;
35
35
  }
36
36
 
37
37
  [data-style='glass'] [data-fab-item]:hover:not(:disabled) {
38
- @apply text-surface-z10 bg-surface-z2/80 shadow-lg;
38
+ @apply text-surface-z10 bg-surface-z2/80 shadow-lg;
39
39
  }
40
40
 
41
41
  [data-style='glass'] [data-fab-item]:focus-visible {
42
- @apply outline-none ring-2 ring-surface-z5/40;
42
+ @apply ring-surface-z5/40 ring-2 outline-none;
43
43
  }
44
44
 
45
45
  /* Item icon */
46
46
  [data-style='glass'] [data-fab-item] [data-fab-item-icon] {
47
- @apply text-primary-z6;
47
+ @apply text-primary-z6;
48
48
  }
49
49
 
50
50
  [data-style='glass'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
51
- @apply text-primary-z7;
51
+ @apply text-primary-z7;
52
52
  }
53
53
 
54
54
  /* =============================================================================
@@ -56,6 +56,6 @@
56
56
  ============================================================================= */
57
57
 
58
58
  [data-style='glass'] [data-fab-backdrop] {
59
- background: rgba(0, 0, 0, 0.3);
60
- backdrop-filter: blur(4px);
59
+ background: rgba(0, 0, 0, 0.3);
60
+ backdrop-filter: blur(4px);
61
61
  }
@@ -9,7 +9,7 @@
9
9
  ============================================================================= */
10
10
 
11
11
  [data-style='glass'] [data-floating-nav] {
12
- @apply backdrop-blur-xl border shadow-xl bg-surface-z1/70 border-surface-z5/20;
12
+ @apply bg-surface-z1/70 border-surface-z5/20 border shadow-xl backdrop-blur-xl;
13
13
  }
14
14
 
15
15
  /* =============================================================================
@@ -49,7 +49,7 @@
49
49
  }
50
50
 
51
51
  [data-style='glass'] [data-floating-nav-item]:focus-visible {
52
- @apply outline-none ring-2 ring-surface-z5/40;
52
+ @apply ring-surface-z5/40 ring-2 outline-none;
53
53
  }
54
54
 
55
55
  /* Icon */
@@ -4,121 +4,123 @@
4
4
 
5
5
  /* Field root: text color, spacing */
6
6
  [data-style='glass'] [data-field-root] {
7
- @apply text-surface-z9 gap-1 rounded-md transition-all;
7
+ @apply text-surface-z9 gap-1 rounded-md transition-all;
8
8
  }
9
9
 
10
10
  /* Disabled state */
11
11
  [data-style='glass'] [data-field-root][data-field-disabled] [data-input-root] {
12
- @apply cursor-not-allowed opacity-50;
12
+ @apply cursor-not-allowed opacity-50;
13
13
  }
14
14
 
15
15
  /* Labels */
16
16
  [data-style='glass'] [data-field] > label {
17
- @apply text-surface-z7;
17
+ @apply text-surface-z7;
18
18
  }
19
19
 
20
20
  [data-style='glass'] [data-form-root] label {
21
- @apply text-surface-z7;
21
+ @apply text-surface-z7;
22
22
  }
23
23
 
24
24
  /* Info field value */
25
25
  [data-style='glass'] [data-field-info] {
26
- @apply text-primary-z6 font-medium;
26
+ @apply text-primary-z6 font-medium;
27
27
  }
28
28
 
29
29
  /* Separator */
30
30
  [data-style='glass'] [data-form-separator] {
31
- @apply border-surface-z5/20;
31
+ @apply border-surface-z5/20;
32
32
  }
33
33
 
34
34
  /* Input root: glass container — p-0.5 gives a small gap between border and content.
35
35
  * No backdrop-blur here: it creates a stacking context that traps select dropdowns.
36
36
  * The semi-transparent background provides the frosted glass look. */
37
37
  [data-style='glass'] [data-input-root] {
38
- @apply flex items-center rounded-md p-0.5 transition-all border bg-surface-z1/70 border-surface-z5/20;
38
+ @apply bg-surface-z1/70 border-surface-z5/20 flex items-center rounded-md border p-0.5 transition-all;
39
39
  }
40
40
 
41
41
  [data-style='glass'] [data-input-root]:hover {
42
- @apply border-surface-z5/30;
42
+ @apply border-surface-z5/30;
43
43
  }
44
44
 
45
45
  [data-style='glass'] [data-input-root]:focus-within {
46
- @apply border-primary-z5/50 bg-surface-z1/70;
46
+ @apply border-primary-z5/50 bg-surface-z1/70;
47
47
  }
48
48
 
49
49
  /* Standard inputs inside wrapper */
50
50
  [data-style='glass'] [data-input-root] input:not([type='checkbox'], [type='radio'], [type='color']),
51
51
  [data-style='glass'] [data-input-root] select {
52
- @apply bg-transparent text-surface-z8 rounded-md border-none px-3 focus:outline-none;
53
- font-size: 0.875rem;
54
- height: 2.25rem;
52
+ @apply text-surface-z8 rounded-md border-none bg-transparent px-3 focus:outline-none;
53
+ font-size: 0.875rem;
54
+ height: 2.25rem;
55
55
  }
56
56
 
57
57
  [data-style='glass'] [data-input-root] textarea {
58
- @apply bg-transparent text-surface-z8 rounded-md border-none px-3 py-2 focus:outline-none;
59
- font-size: 0.875rem;
58
+ @apply text-surface-z8 rounded-md border-none bg-transparent px-3 py-2 focus:outline-none;
59
+ font-size: 0.875rem;
60
60
  }
61
61
 
62
62
  /* Select inside input-root: suppress standalone glass select styles */
63
63
  [data-style='glass'] [data-input-root] [data-select-trigger] {
64
- @apply border-none bg-transparent text-surface-z8 rounded-md shadow-none ring-0 focus:outline-none;
65
- background-image: none;
66
- backdrop-filter: none;
64
+ @apply text-surface-z8 rounded-md border-none bg-transparent shadow-none ring-0 focus:outline-none;
65
+ background-image: none;
66
+ backdrop-filter: none;
67
67
  }
68
68
 
69
69
  /* Suppress standalone select open-state when inside input-root */
70
70
  [data-style='glass'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
71
- @apply border-none ring-0 shadow-none;
71
+ @apply border-none shadow-none ring-0;
72
72
  }
73
73
 
74
74
  /* Placeholders */
75
75
  [data-style='glass'] [data-input-root] input::placeholder,
76
76
  [data-style='glass'] [data-input-root] textarea::placeholder {
77
- @apply text-surface-z5;
77
+ @apply text-surface-z5;
78
78
  }
79
79
 
80
80
  /* Checkbox field */
81
81
  [data-style='glass'] [data-field-type='checkbox'] [data-field] {
82
- @apply flex items-center leading-loose;
82
+ @apply flex items-center leading-loose;
83
83
  }
84
84
 
85
85
  /* Checkbox icon */
86
86
  [data-style='glass'] [data-checkbox-icon] {
87
- @apply text-surface-z5 cursor-pointer transition-colors text-lg rounded;
87
+ @apply text-surface-z5 cursor-pointer rounded text-lg transition-colors;
88
88
  }
89
89
 
90
90
  [data-style='glass'] [data-checkbox-icon]:focus-visible {
91
- @apply outline-2 outline-primary-z4 outline-offset-2;
91
+ @apply outline-primary-z4 outline-2 outline-offset-2;
92
92
  }
93
93
 
94
- [data-style='glass'] [data-checkbox-root][data-variant='custom']:has(input:checked) [data-checkbox-icon] {
95
- @apply text-primary-z6;
94
+ [data-style='glass']
95
+ [data-checkbox-root][data-variant='custom']:has(input:checked)
96
+ [data-checkbox-icon] {
97
+ @apply text-primary-z6;
96
98
  }
97
99
 
98
100
  [data-style='glass'] [data-field] textarea {
99
- @apply resize-vertical min-h-20 py-2;
101
+ @apply resize-vertical min-h-20 py-2;
100
102
  }
101
103
 
102
104
  /* Color input */
103
105
  [data-style='glass'] [data-field-type='color'] [data-input-root] {
104
- @apply overflow-hidden;
106
+ @apply overflow-hidden;
105
107
  }
106
108
 
107
109
  [data-style='glass'] [data-field-type='color'] input[type='color'] {
108
- @apply bg-transparent flex min-h-11 flex-1 rounded-md focus:outline-none;
110
+ @apply flex min-h-11 flex-1 rounded-md bg-transparent focus:outline-none;
109
111
  }
110
112
 
111
113
  /* Description and message */
112
114
  [data-style='glass'] [data-description],
113
115
  [data-style='glass'] [data-message] {
114
- @apply text-surface-z6;
116
+ @apply text-surface-z6;
115
117
  }
116
118
 
117
119
  [data-style='glass'] [data-message] {
118
- @apply rounded-md px-2 py-1;
120
+ @apply rounded-md px-2 py-1;
119
121
  }
120
122
 
121
123
  /* Error state */
122
124
  [data-style='glass'] [data-field-root][data-field-state='fail'] [data-input-root] {
123
- @apply border-danger-z5/50;
125
+ @apply border-danger-z5/50;
124
126
  }