@rokkit/themes 1.0.0-next.124 → 1.0.0-next.127

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 (130) hide show
  1. package/README.md +118 -9
  2. package/package.json +31 -27
  3. package/src/base/breadcrumbs.css +46 -0
  4. package/src/base/button.css +243 -0
  5. package/src/base/card.css +36 -0
  6. package/src/base/carousel.css +122 -12
  7. package/src/base/connector.css +106 -0
  8. package/src/base/display.css +91 -0
  9. package/src/base/floating-action.css +388 -0
  10. package/src/base/floating-navigation.css +381 -0
  11. package/src/base/index.css +36 -0
  12. package/src/base/input.css +194 -39
  13. package/src/base/item.css +52 -0
  14. package/src/base/list.css +258 -0
  15. package/src/base/menu.css +322 -0
  16. package/src/base/pill.css +57 -0
  17. package/src/base/progress.css +28 -15
  18. package/src/base/range.css +121 -0
  19. package/src/base/rating.css +40 -0
  20. package/src/base/reveal.css +37 -0
  21. package/src/base/search-filter.css +132 -0
  22. package/src/base/select.css +411 -0
  23. package/src/base/shine.css +14 -0
  24. package/src/base/stepper.css +140 -0
  25. package/src/base/switch.css +152 -0
  26. package/src/base/table.css +143 -33
  27. package/src/base/tabs.css +171 -0
  28. package/src/base/tilt.css +14 -0
  29. package/src/base/timeline.css +84 -0
  30. package/src/base/toggle.css +134 -0
  31. package/src/base/toolbar.css +337 -0
  32. package/src/base/tree.css +156 -11
  33. package/src/glass/button.css +152 -0
  34. package/src/glass/floating-action.css +61 -0
  35. package/src/glass/floating-navigation.css +74 -0
  36. package/src/glass/index.css +23 -0
  37. package/src/glass/input.css +124 -0
  38. package/src/glass/list.css +122 -0
  39. package/src/glass/menu.css +92 -0
  40. package/src/glass/range.css +61 -0
  41. package/src/glass/search-filter.css +49 -0
  42. package/src/glass/select.css +178 -0
  43. package/src/glass/switch.css +28 -0
  44. package/src/glass/table.css +87 -0
  45. package/src/glass/tabs.css +58 -0
  46. package/src/glass/timeline.css +46 -0
  47. package/src/glass/toggle.css +48 -0
  48. package/src/glass/toolbar.css +84 -0
  49. package/src/glass/tree.css +104 -0
  50. package/src/index.css +18 -0
  51. package/src/index.js +25 -2
  52. package/src/material/button.css +153 -0
  53. package/src/material/floating-action.css +60 -0
  54. package/src/material/floating-navigation.css +74 -0
  55. package/src/material/index.css +23 -0
  56. package/src/material/input.css +118 -40
  57. package/src/material/list.css +90 -64
  58. package/src/material/menu.css +92 -0
  59. package/src/material/range.css +62 -0
  60. package/src/material/search-filter.css +49 -0
  61. package/src/material/select.css +170 -0
  62. package/src/material/switch.css +28 -0
  63. package/src/material/table.css +87 -0
  64. package/src/material/tabs.css +62 -0
  65. package/src/material/timeline.css +46 -0
  66. package/src/material/toggle.css +48 -0
  67. package/src/material/toolbar.css +84 -0
  68. package/src/material/tree.css +100 -0
  69. package/src/minimal/button.css +152 -0
  70. package/src/minimal/floating-action.css +59 -0
  71. package/src/minimal/floating-navigation.css +70 -0
  72. package/src/minimal/index.css +23 -0
  73. package/src/minimal/input.css +81 -120
  74. package/src/minimal/list.css +90 -104
  75. package/src/minimal/menu.css +88 -0
  76. package/src/minimal/range.css +61 -0
  77. package/src/minimal/search-filter.css +49 -0
  78. package/src/minimal/select.css +168 -0
  79. package/src/minimal/switch.css +28 -0
  80. package/src/minimal/table.css +87 -0
  81. package/src/minimal/tabs.css +53 -31
  82. package/src/minimal/timeline.css +45 -0
  83. package/src/minimal/toggle.css +48 -0
  84. package/src/minimal/toolbar.css +84 -0
  85. package/src/minimal/tree.css +100 -0
  86. package/src/rokkit/button.css +225 -0
  87. package/src/rokkit/connector.css +11 -0
  88. package/src/rokkit/floating-action.css +65 -0
  89. package/src/rokkit/floating-navigation.css +83 -0
  90. package/src/rokkit/index.css +24 -0
  91. package/src/rokkit/input.css +130 -0
  92. package/src/rokkit/list.css +141 -0
  93. package/src/rokkit/menu.css +123 -0
  94. package/src/rokkit/range.css +62 -0
  95. package/src/rokkit/search-filter.css +49 -0
  96. package/src/rokkit/select.css +185 -0
  97. package/src/rokkit/switch.css +28 -0
  98. package/src/rokkit/table.css +68 -38
  99. package/src/rokkit/tabs.css +82 -0
  100. package/src/rokkit/timeline.css +46 -0
  101. package/src/rokkit/toggle.css +36 -52
  102. package/src/rokkit/toolbar.css +84 -0
  103. package/src/rokkit/tree.css +123 -0
  104. package/src/base/alert.css +0 -30
  105. package/src/base/animation.css +0 -37
  106. package/src/base/atoms.css +0 -58
  107. package/src/base/core.css +0 -107
  108. package/src/base/layout.css +0 -65
  109. package/src/base/molecules.css +0 -109
  110. package/src/base/organisms.css +0 -66
  111. package/src/base/scrollbar.css +0 -16
  112. package/src/base/toggles.css +0 -17
  113. package/src/base.css +0 -13
  114. package/src/markdown.css +0 -955
  115. package/src/material/base.css +0 -12
  116. package/src/material/form.css +0 -30
  117. package/src/material.css +0 -9
  118. package/src/minimal/base.css +0 -8
  119. package/src/minimal/form.css +0 -87
  120. package/src/minimal.css +0 -11
  121. package/src/mixins/mixins.scss +0 -66
  122. package/src/mixins/palette.scss +0 -48
  123. package/src/prism.css +0 -102
  124. package/src/rokkit/alert.css +0 -4
  125. package/src/rokkit/atoms.css +0 -52
  126. package/src/rokkit/carousel.css +0 -19
  127. package/src/rokkit/layout.css +0 -17
  128. package/src/rokkit/molecules.css +0 -124
  129. package/src/rokkit/organisms.css +0 -307
  130. package/src/rokkit.css +0 -11
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Select - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Select Container — elevate when open so dropdown escapes sibling stacking contexts
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-select][data-open='true'] {
12
+ z-index: 50;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Trigger Button
17
+ ============================================================================= */
18
+
19
+ [data-style='glass'] [data-select-trigger] {
20
+ @apply backdrop-blur-md text-surface-z8 border bg-surface-z1/70 border-surface-z5/20;
21
+ }
22
+
23
+ [data-style='glass'] [data-select-trigger]:hover:not(:disabled) {
24
+ @apply text-surface-z10 bg-surface-z2/80 border-surface-z5/30;
25
+ }
26
+
27
+ [data-style='glass'] [data-select-trigger]:focus-visible {
28
+ @apply outline-none ring-1 ring-surface-z5/40;
29
+ }
30
+
31
+ [data-style='glass'] [data-select][data-open='true'] [data-select-trigger] {
32
+ @apply border-primary-z5/50;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Placeholder
37
+ ============================================================================= */
38
+
39
+ [data-style='glass'] [data-select-placeholder] {
40
+ @apply text-surface-z5;
41
+ }
42
+
43
+ /* =============================================================================
44
+ Arrow
45
+ ============================================================================= */
46
+
47
+ [data-style='glass'] [data-select-arrow] {
48
+ @apply text-surface-z5;
49
+ }
50
+
51
+ [data-style='glass'] [data-select-trigger]:hover:not(:disabled) [data-select-arrow] {
52
+ @apply text-surface-z7;
53
+ }
54
+
55
+ /* =============================================================================
56
+ Tags (MultiSelect)
57
+ ============================================================================= */
58
+
59
+ [data-style='glass'] [data-select-tag] {
60
+ @apply text-surface-z8 bg-surface-z2/15;
61
+ }
62
+
63
+ [data-style='glass'] [data-select-tag-remove] {
64
+ @apply text-surface-z6;
65
+ }
66
+
67
+ [data-style='glass'] [data-select-tag-remove]:hover {
68
+ @apply text-surface-z9;
69
+ }
70
+
71
+ /* =============================================================================
72
+ Dropdown Panel
73
+ ============================================================================= */
74
+
75
+ [data-style='glass'] [data-select-dropdown] {
76
+ @apply backdrop-blur-lg border shadow-lg bg-surface-z2/50 border-surface-z5/20;
77
+ }
78
+
79
+ /* =============================================================================
80
+ Options
81
+ ============================================================================= */
82
+
83
+ [data-style='glass'] [data-select-option] {
84
+ @apply text-surface-z8;
85
+ }
86
+
87
+ [data-style='glass'] [data-select-option]:hover:not(:disabled),
88
+ [data-style='glass'] [data-select-option]:focus:not(:disabled) {
89
+ @apply text-surface-z10 bg-surface-z2/80;
90
+ }
91
+
92
+ [data-style='glass'] [data-select-option]:focus-visible {
93
+ @apply outline-none ring-1 ring-inset ring-surface-z5/40;
94
+ }
95
+
96
+ [data-style='glass'] [data-select-option][data-selected='true'] {
97
+ @apply text-primary-z9 bg-primary-z5/40;
98
+ }
99
+
100
+ [data-style='glass'] [data-select-option][data-selected='true']:hover:not(:disabled),
101
+ [data-style='glass'] [data-select-option][data-selected='true']:focus:not(:disabled) {
102
+ @apply bg-primary-z5/60;
103
+ }
104
+
105
+ /* Check mark */
106
+ [data-style='glass'] [data-select-check] {
107
+ @apply text-primary-z6;
108
+ }
109
+
110
+ /* Checkbox */
111
+ [data-style='glass'] [data-select-checkbox] {
112
+ @apply border-surface-z5/40 bg-surface-z1/70;
113
+ }
114
+
115
+ [data-style='glass'] [data-select-checkbox][data-checked='true'] {
116
+ @apply bg-primary-z5 border-primary-z5 text-white;
117
+ }
118
+
119
+ /* Item elements */
120
+ [data-style='glass'] [data-select-option] [data-item-icon] {
121
+ @apply text-surface-z5;
122
+ }
123
+
124
+ [data-style='glass'] [data-select-option]:hover:not(:disabled) [data-item-icon] {
125
+ @apply text-surface-z7;
126
+ }
127
+
128
+ [data-style='glass'] [data-select-option][data-selected='true'] [data-item-icon] {
129
+ @apply text-primary-z6;
130
+ }
131
+
132
+ [data-style='glass'] [data-select-option] [data-item-description] {
133
+ @apply text-surface-z5;
134
+ }
135
+
136
+ [data-style='glass'] [data-select-option][data-selected='true'] [data-item-description] {
137
+ @apply text-primary-z7;
138
+ }
139
+
140
+ /* =============================================================================
141
+ Groups
142
+ ============================================================================= */
143
+
144
+ [data-style='glass'] [data-select-group-label] {
145
+ @apply text-surface-z5;
146
+ }
147
+
148
+ /* =============================================================================
149
+ Divider
150
+ ============================================================================= */
151
+
152
+ [data-style='glass'] [data-select-divider] {
153
+ @apply bg-surface-z5/20;
154
+ }
155
+
156
+ /* =============================================================================
157
+ Filter Input
158
+ ============================================================================= */
159
+
160
+ [data-style='glass'] [data-select-filter] {
161
+ @apply bg-surface-z2/30;
162
+ }
163
+
164
+ [data-style='glass'] [data-select-filter-input] {
165
+ @apply text-surface-z8 border-surface-z5/20 bg-surface-z1/50 border;
166
+ }
167
+
168
+ [data-style='glass'] [data-select-filter-input]:focus {
169
+ @apply border-primary-z5/50 ring-1 ring-surface-z5/30;
170
+ }
171
+
172
+ [data-style='glass'] [data-select-filter-input]::placeholder {
173
+ @apply text-surface-z5;
174
+ }
175
+
176
+ [data-style='glass'] [data-select-empty] {
177
+ @apply text-surface-z5;
178
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Switch - Glass Theme Styles
3
+ */
4
+
5
+ [data-style='glass'] [data-switch-track] {
6
+ @apply bg-surface-z2/50 border-surface-z5/20 backdrop-blur-sm border;
7
+ }
8
+
9
+ [data-style='glass'] [data-switch-thumb] {
10
+ @apply bg-surface-z7/80 backdrop-blur-sm shadow-sm;
11
+ }
12
+
13
+ [data-style='glass'] [data-switch]:focus-visible [data-switch-track] {
14
+ @apply ring-2 ring-primary-z5/70 ring-offset-1;
15
+ }
16
+
17
+ /* On state */
18
+ [data-style='glass'] [data-switch][aria-checked='true'] [data-switch-track] {
19
+ @apply bg-primary-z5/40 border-primary-z5/50;
20
+ }
21
+
22
+ [data-style='glass'] [data-switch][aria-checked='true'] [data-switch-thumb] {
23
+ @apply bg-white/90 shadow-md;
24
+ }
25
+
26
+ [data-style='glass'] [data-switch-label] {
27
+ @apply text-surface-z7;
28
+ }
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Table - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Header
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-table-header] th {
12
+ @apply text-surface-z6 border-b border-surface-z5/20;
13
+ }
14
+
15
+ [data-style='glass'] [data-table-header-cell][data-sortable='true']:hover {
16
+ @apply text-surface-z9;
17
+ }
18
+
19
+ [data-style='glass'] [data-table-header-cell][data-sort-order='ascending'],
20
+ [data-style='glass'] [data-table-header-cell][data-sort-order='descending'] {
21
+ @apply text-primary-z8;
22
+ }
23
+
24
+ [data-style='glass'] [data-table-sort-icon] {
25
+ @apply text-surface-z5;
26
+ }
27
+
28
+ [data-style='glass'] [data-table-header-cell][data-sort-order='ascending'] [data-table-sort-icon],
29
+ [data-style='glass'] [data-table-header-cell][data-sort-order='descending'] [data-table-sort-icon] {
30
+ @apply text-primary-z6;
31
+ }
32
+
33
+ /* =============================================================================
34
+ Caption
35
+ ============================================================================= */
36
+
37
+ [data-style='glass'] [data-table-caption] {
38
+ @apply text-surface-z7;
39
+ }
40
+
41
+ /* =============================================================================
42
+ Rows
43
+ ============================================================================= */
44
+
45
+ [data-style='glass'] [data-table-row] {
46
+ @apply text-surface-z8 border-b border-surface-z5/10;
47
+ }
48
+
49
+ [data-style='glass'] [data-table-row]:hover {
50
+ @apply bg-surface-z2/80;
51
+ }
52
+
53
+ [data-style='glass'] [data-table-row]:focus {
54
+ @apply bg-surface-z2/80 text-surface-z10 outline-none;
55
+ }
56
+
57
+ [data-style='glass'] [data-table-row][data-selected='true'] {
58
+ @apply text-primary-z9 bg-primary-z5/40;
59
+ }
60
+
61
+ /* =============================================================================
62
+ Striped
63
+ ============================================================================= */
64
+
65
+ [data-style='glass'] [data-striped='true'] [data-table-body] tr:nth-child(even) {
66
+ @apply bg-surface-z2/30;
67
+ }
68
+
69
+ /* =============================================================================
70
+ Empty
71
+ ============================================================================= */
72
+
73
+ [data-style='glass'] [data-table-empty] {
74
+ @apply text-surface-z5;
75
+ }
76
+
77
+ /* =============================================================================
78
+ Cell Icon
79
+ ============================================================================= */
80
+
81
+ [data-style='glass'] [data-table-cell] [data-cell-icon] {
82
+ @apply text-surface-z5;
83
+ }
84
+
85
+ [data-style='glass'] [data-table-row][data-selected='true'] [data-cell-icon] {
86
+ @apply text-primary-z6;
87
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Tabs - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Tab List
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-tabs-list] {
12
+ @apply backdrop-blur-md rounded-t-lg border-b bg-surface-z1/70 border-surface-z5/20;
13
+ }
14
+
15
+ [data-style='glass'] [data-tabs][data-position='after'] [data-tabs-list] {
16
+ @apply rounded-t-none rounded-b-lg border-b-0 border-t;
17
+ }
18
+
19
+ /* =============================================================================
20
+ Tab Triggers
21
+ ============================================================================= */
22
+
23
+ [data-style='glass'] [data-tabs-trigger] {
24
+ @apply text-surface-z6;
25
+ }
26
+
27
+ [data-style='glass'] [data-tabs-trigger]:hover:not(:disabled):not([data-disabled]) {
28
+ @apply text-surface-z8 bg-surface-z2/15;
29
+ }
30
+
31
+ /* Selected state */
32
+ [data-style='glass'] [data-tabs-trigger][data-selected] {
33
+ @apply bg-primary-z5/40 text-primary-z9 border-primary-z5/50 backdrop-blur-sm border;
34
+ }
35
+
36
+ /* =============================================================================
37
+ Tab Icon
38
+ ============================================================================= */
39
+
40
+ [data-style='glass'] [data-tabs-trigger] [data-tabs-icon] {
41
+ @apply text-surface-z5;
42
+ }
43
+
44
+ [data-style='glass'] [data-tabs-trigger]:hover:not(:disabled) [data-tabs-icon] {
45
+ @apply text-surface-z7;
46
+ }
47
+
48
+ [data-style='glass'] [data-tabs-trigger][data-selected] [data-tabs-icon] {
49
+ @apply text-primary-z7;
50
+ }
51
+
52
+ /* =============================================================================
53
+ Tab Panel
54
+ ============================================================================= */
55
+
56
+ [data-style='glass'] [data-tabs-content] {
57
+ @apply text-surface-z8;
58
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Timeline - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Circle
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-timeline-circle] {
12
+ @apply border-surface-z5/30 text-surface-z6;
13
+ }
14
+
15
+ [data-style='glass'] [data-timeline-item][data-completed] [data-timeline-circle] {
16
+ @apply bg-primary/80 border-primary/50 text-on-primary backdrop-blur-sm;
17
+ }
18
+
19
+ [data-style='glass'] [data-timeline-item][data-active] [data-timeline-circle] {
20
+ @apply border-primary/60 text-primary;
21
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
22
+ }
23
+
24
+ /* =============================================================================
25
+ Connector
26
+ ============================================================================= */
27
+
28
+ [data-style='glass'] [data-timeline-connector] {
29
+ @apply bg-surface-z5/20;
30
+ }
31
+
32
+ [data-style='glass'] [data-timeline-item][data-completed] [data-timeline-connector] {
33
+ @apply bg-primary/40;
34
+ }
35
+
36
+ /* =============================================================================
37
+ Body
38
+ ============================================================================= */
39
+
40
+ [data-style='glass'] [data-timeline-title] {
41
+ @apply text-surface-z8;
42
+ }
43
+
44
+ [data-style='glass'] [data-timeline-description] {
45
+ @apply text-surface-z6;
46
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Toggle - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Toggle Container
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-toggle] {
12
+ @apply backdrop-blur-md rounded-lg border bg-surface-z1/70 border-surface-z5/20;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Toggle Options
17
+ ============================================================================= */
18
+
19
+ [data-style='glass'] [data-toggle-option] {
20
+ @apply text-surface-z6;
21
+ }
22
+
23
+ [data-style='glass'] [data-toggle-option]:hover:not(:disabled):not([data-disabled='true']),
24
+ [data-style='glass'] [data-toggle-option]:focus:not(:disabled):not([data-disabled='true']) {
25
+ @apply text-surface-z8 bg-surface-z2/15;
26
+ }
27
+
28
+ /* Selected state */
29
+ [data-style='glass'] [data-toggle-option][data-selected='true'] {
30
+ @apply bg-primary-z5/40 text-primary-z9 border-primary-z5/50 backdrop-blur-sm border;
31
+ }
32
+
33
+ /* =============================================================================
34
+ Toggle Icon
35
+ ============================================================================= */
36
+
37
+ [data-style='glass'] [data-toggle-option] [data-toggle-icon] {
38
+ @apply text-surface-z5;
39
+ }
40
+
41
+ [data-style='glass'] [data-toggle-option]:hover:not(:disabled) [data-toggle-icon],
42
+ [data-style='glass'] [data-toggle-option]:focus:not(:disabled) [data-toggle-icon] {
43
+ @apply text-surface-z7;
44
+ }
45
+
46
+ [data-style='glass'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
47
+ @apply text-primary-z7;
48
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Toolbar - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Toolbar Container
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-toolbar] {
12
+ @apply backdrop-blur-md bg-surface-z1/70;
13
+ }
14
+
15
+ /* Position-based borders */
16
+ [data-style='glass'] [data-toolbar][data-toolbar-position='top'],
17
+ [data-style='glass'] [data-toolbar]:not([data-toolbar-position]) {
18
+ @apply border-b border-surface-z5/20;
19
+ }
20
+
21
+ [data-style='glass'] [data-toolbar][data-toolbar-position='bottom'] {
22
+ @apply border-t border-surface-z5/20;
23
+ }
24
+
25
+ [data-style='glass'] [data-toolbar][data-toolbar-position='left'] {
26
+ @apply border-r border-surface-z5/20;
27
+ }
28
+
29
+ [data-style='glass'] [data-toolbar][data-toolbar-position='right'] {
30
+ @apply border-l border-surface-z5/20;
31
+ }
32
+
33
+ /* =============================================================================
34
+ Toolbar Items
35
+ ============================================================================= */
36
+
37
+ [data-style='glass'] [data-toolbar-item] {
38
+ @apply text-surface-z7;
39
+ }
40
+
41
+ [data-style='glass'] [data-toolbar-item]:hover:not(:disabled):not([data-disabled='true']) {
42
+ @apply text-surface-z10 bg-surface-z2/15;
43
+ }
44
+
45
+ [data-style='glass'] [data-toolbar-item]:focus-visible:not(:disabled):not([data-disabled='true']) {
46
+ @apply text-surface-z10 outline-none ring-1 ring-surface-z5/40 bg-surface-z2/15;
47
+ }
48
+
49
+ /* Active/pressed state */
50
+ [data-style='glass'] [data-toolbar-item][data-active='true'] {
51
+ @apply bg-primary-z5/30 text-primary-z9;
52
+ }
53
+
54
+ [data-style='glass'] [data-toolbar-item][data-active='true']:hover:not(:disabled) {
55
+ @apply bg-primary-z5/40 text-primary-z10;
56
+ }
57
+
58
+ /* =============================================================================
59
+ Toolbar Icon
60
+ ============================================================================= */
61
+
62
+ [data-style='glass'] [data-toolbar-item] [data-toolbar-icon] {
63
+ @apply text-surface-z6;
64
+ }
65
+
66
+ [data-style='glass'] [data-toolbar-item]:hover:not(:disabled) [data-toolbar-icon] {
67
+ @apply text-surface-z9;
68
+ }
69
+
70
+ [data-style='glass'] [data-toolbar-item][data-active='true'] [data-toolbar-icon] {
71
+ @apply text-primary-z7;
72
+ }
73
+
74
+ /* =============================================================================
75
+ Separator & Divider
76
+ ============================================================================= */
77
+
78
+ [data-style='glass'] [data-toolbar-separator] {
79
+ @apply bg-surface-z5/20;
80
+ }
81
+
82
+ [data-style='glass'] [data-toolbar-divider] {
83
+ @apply bg-surface-z5/20;
84
+ }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Tree - Glass Theme Styles
3
+ *
4
+ * Glassmorphism styling with blur and transparency.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Tree Container
9
+ ============================================================================= */
10
+
11
+ [data-style='glass'] [data-tree]:focus-within {
12
+ @apply ring-1 rounded ring-surface-z5/40;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Tree Toggle Button
17
+ ============================================================================= */
18
+
19
+ [data-style='glass'] [data-tree-toggle-btn] {
20
+ @apply text-surface-z5;
21
+ }
22
+
23
+ [data-style='glass'] [data-tree-toggle-btn]:hover {
24
+ @apply text-surface-z7 bg-surface-z2/15;
25
+ }
26
+
27
+ /* =============================================================================
28
+ Tree Item Content
29
+ ============================================================================= */
30
+
31
+ [data-style='glass'] [data-tree-item-content] {
32
+ @apply text-surface-z8;
33
+ }
34
+
35
+ [data-style='glass'] [data-tree-item-content]:hover:not(:disabled),
36
+ [data-style='glass'] [data-tree-item-content]:focus:not(:disabled) {
37
+ @apply text-surface-z10 outline-none bg-surface-z2/15;
38
+ }
39
+
40
+ /* Focus visible for keyboard navigation */
41
+ [data-style='glass'] [data-tree-item-content]:focus-visible {
42
+ @apply outline-none ring-1 ring-surface-z5/40;
43
+ }
44
+
45
+ /* Active/selected state */
46
+ [data-style='glass'] [data-tree-item-content][data-active='true'] {
47
+ @apply bg-primary-z5/30 text-primary-z9;
48
+ }
49
+
50
+ [data-style='glass'] [data-tree-item-content][data-active='true']:hover:not(:disabled) {
51
+ @apply bg-primary-z5/40;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Item Elements
56
+ ============================================================================= */
57
+
58
+ [data-style='glass'] [data-tree-item-content] [data-item-icon] {
59
+ @apply text-surface-z5;
60
+ }
61
+
62
+ [data-style='glass'] [data-tree-item-content]:hover:not(:disabled) [data-item-icon] {
63
+ @apply text-surface-z7;
64
+ }
65
+
66
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-icon] {
67
+ @apply text-primary-z6;
68
+ }
69
+
70
+ [data-style='glass'] [data-tree-item-content] [data-item-description] {
71
+ @apply text-surface-z5;
72
+ }
73
+
74
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-description] {
75
+ @apply text-primary-z7;
76
+ }
77
+
78
+ [data-style='glass'] [data-tree-item-content] [data-item-badge] {
79
+ @apply text-surface-z6 bg-surface-z2/15;
80
+ }
81
+
82
+ [data-style='glass'] [data-tree-item-content][data-active='true'] [data-item-badge] {
83
+ @apply text-primary-z8 bg-primary-z5/25;
84
+ }
85
+
86
+ /* =============================================================================
87
+ Multi-Selection
88
+ ============================================================================= */
89
+
90
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-node-row] {
91
+ @apply bg-primary-z5/20;
92
+ }
93
+
94
+ [data-style='glass'] [data-tree]:focus-within [data-tree-node][data-selected='true'] [data-tree-node-row] {
95
+ @apply bg-primary-z5/30;
96
+ }
97
+
98
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-item-content] {
99
+ @apply text-primary-z9;
100
+ }
101
+
102
+ [data-style='glass'] [data-tree-node][data-selected='true'] [data-tree-item-content] [data-item-icon] {
103
+ @apply text-primary-z6;
104
+ }
package/src/index.css ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @rokkit/themes - Complete Theme Bundle
3
+ *
4
+ * Includes base structural styles + all theme variants.
5
+ * For custom themes, import base only and add your own theme styles.
6
+ *
7
+ * Theme Usage:
8
+ * - rokkit: Default theme (no wrapper needed — gradients + borders)
9
+ * - minimal: Use data-style="minimal" wrapper (clean + subtle)
10
+ * - material: Use data-style="material" wrapper (elevation + shadows)
11
+ * - glass: Use data-style="glass" wrapper (blur + transparency)
12
+ */
13
+
14
+ @import './base/index.css';
15
+ @import './rokkit/index.css';
16
+ @import './minimal/index.css';
17
+ @import './material/index.css';
18
+ @import './glass/index.css';
package/src/index.js CHANGED
@@ -1,2 +1,25 @@
1
- export { iconShortcuts, Theme } from '@rokkit/core'
2
- export { defaultStateIcons, defaultIcons } from '@rokkit/core'
1
+ import { Theme } from '@rokkit/core'
2
+
3
+ export {
4
+ Theme,
5
+ themeRules,
6
+ shadesOf,
7
+ semanticShortcuts,
8
+ contrastShortcuts,
9
+ iconShortcuts,
10
+ defaultIcons,
11
+ defaultThemeMapping,
12
+ defaultColors
13
+ } from '@rokkit/core'
14
+
15
+ /**
16
+ * Generates a UnoCSS `theme.colors` object mapping semantic variant names
17
+ * to CSS variable-backed color scales.
18
+ *
19
+ * @param {Object} [mapping] - Override the default theme variant→color mapping.
20
+ * @param {Object} [colors] - Override the default color palette.
21
+ * @returns {Object} UnoCSS theme colors object.
22
+ */
23
+ export function themeColors(mapping, colors) {
24
+ return new Theme({ mapping, colors }).getColorRules()
25
+ }