@rokkit/themes 1.0.0-next.147 → 1.0.0-next.149

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 (206) hide show
  1. package/build.mjs +10 -2
  2. package/dist/ant-design.css +2065 -0
  3. package/dist/base.css +229 -4
  4. package/dist/bits-ui.css +2060 -0
  5. package/dist/carbon.css +2072 -0
  6. package/dist/daisy-ui.css +2081 -0
  7. package/dist/glass.css +84 -2
  8. package/dist/grada-ui.css +283 -198
  9. package/dist/index.css +11267 -280
  10. package/dist/material.css +106 -29
  11. package/dist/minimal.css +106 -29
  12. package/dist/rokkit.css +119 -14
  13. package/dist/shadcn.css +2053 -0
  14. package/package.json +28 -2
  15. package/src/ant-design/button.css +183 -0
  16. package/src/ant-design/card.css +100 -0
  17. package/src/ant-design/chart.css +34 -0
  18. package/src/ant-design/connector.css +11 -0
  19. package/src/ant-design/dropdown.css +50 -0
  20. package/src/ant-design/floating-action.css +63 -0
  21. package/src/ant-design/floating-navigation.css +70 -0
  22. package/src/ant-design/grid.css +46 -0
  23. package/src/ant-design/index.css +34 -0
  24. package/src/ant-design/input.css +149 -0
  25. package/src/ant-design/list.css +126 -0
  26. package/src/ant-design/menu.css +88 -0
  27. package/src/ant-design/message.css +35 -0
  28. package/src/ant-design/range.css +61 -0
  29. package/src/ant-design/search-filter.css +49 -0
  30. package/src/ant-design/select.css +158 -0
  31. package/src/ant-design/status-list.css +66 -0
  32. package/src/ant-design/switch.css +29 -0
  33. package/src/ant-design/table.css +89 -0
  34. package/src/ant-design/tabs.css +149 -0
  35. package/src/ant-design/timeline.css +45 -0
  36. package/src/ant-design/toc.css +18 -0
  37. package/src/ant-design/toggle.css +48 -0
  38. package/src/ant-design/toolbar.css +85 -0
  39. package/src/ant-design/tree.css +127 -0
  40. package/src/ant-design/upload-progress.css +102 -0
  41. package/src/ant-design/upload-target.css +50 -0
  42. package/src/base/chart.css +94 -0
  43. package/src/base/index.css +2 -0
  44. package/src/base/input.css +53 -3
  45. package/src/base/swatch.css +79 -0
  46. package/src/base/tree.css +1 -1
  47. package/src/bits-ui/button.css +176 -0
  48. package/src/bits-ui/card.css +99 -0
  49. package/src/bits-ui/chart.css +34 -0
  50. package/src/bits-ui/connector.css +11 -0
  51. package/src/bits-ui/dropdown.css +50 -0
  52. package/src/bits-ui/floating-action.css +63 -0
  53. package/src/bits-ui/floating-navigation.css +70 -0
  54. package/src/bits-ui/grid.css +46 -0
  55. package/src/bits-ui/index.css +34 -0
  56. package/src/bits-ui/input.css +150 -0
  57. package/src/bits-ui/list.css +126 -0
  58. package/src/bits-ui/menu.css +88 -0
  59. package/src/bits-ui/message.css +35 -0
  60. package/src/bits-ui/range.css +61 -0
  61. package/src/bits-ui/search-filter.css +49 -0
  62. package/src/bits-ui/select.css +158 -0
  63. package/src/bits-ui/status-list.css +66 -0
  64. package/src/bits-ui/switch.css +29 -0
  65. package/src/bits-ui/table.css +89 -0
  66. package/src/bits-ui/tabs.css +151 -0
  67. package/src/bits-ui/timeline.css +45 -0
  68. package/src/bits-ui/toc.css +18 -0
  69. package/src/bits-ui/toggle.css +48 -0
  70. package/src/bits-ui/toolbar.css +85 -0
  71. package/src/bits-ui/tree.css +127 -0
  72. package/src/bits-ui/upload-progress.css +102 -0
  73. package/src/bits-ui/upload-target.css +50 -0
  74. package/src/carbon/button.css +183 -0
  75. package/src/carbon/card.css +97 -0
  76. package/src/carbon/chart.css +34 -0
  77. package/src/carbon/connector.css +11 -0
  78. package/src/carbon/dropdown.css +50 -0
  79. package/src/carbon/floating-action.css +63 -0
  80. package/src/carbon/floating-navigation.css +70 -0
  81. package/src/carbon/grid.css +46 -0
  82. package/src/carbon/index.css +33 -0
  83. package/src/carbon/input.css +148 -0
  84. package/src/carbon/list.css +126 -0
  85. package/src/carbon/menu.css +88 -0
  86. package/src/carbon/message.css +37 -0
  87. package/src/carbon/range.css +61 -0
  88. package/src/carbon/search-filter.css +49 -0
  89. package/src/carbon/select.css +158 -0
  90. package/src/carbon/status-list.css +66 -0
  91. package/src/carbon/switch.css +31 -0
  92. package/src/carbon/table.css +93 -0
  93. package/src/carbon/tabs.css +149 -0
  94. package/src/carbon/timeline.css +45 -0
  95. package/src/carbon/toc.css +22 -0
  96. package/src/carbon/toggle.css +48 -0
  97. package/src/carbon/toolbar.css +85 -0
  98. package/src/carbon/tree.css +127 -0
  99. package/src/carbon/upload-progress.css +102 -0
  100. package/src/carbon/upload-target.css +50 -0
  101. package/src/daisy-ui/button.css +195 -0
  102. package/src/daisy-ui/card.css +99 -0
  103. package/src/daisy-ui/chart.css +34 -0
  104. package/src/daisy-ui/connector.css +11 -0
  105. package/src/daisy-ui/dropdown.css +50 -0
  106. package/src/daisy-ui/floating-action.css +63 -0
  107. package/src/daisy-ui/floating-navigation.css +70 -0
  108. package/src/daisy-ui/grid.css +46 -0
  109. package/src/daisy-ui/index.css +33 -0
  110. package/src/daisy-ui/input.css +146 -0
  111. package/src/daisy-ui/list.css +127 -0
  112. package/src/daisy-ui/menu.css +88 -0
  113. package/src/daisy-ui/message.css +37 -0
  114. package/src/daisy-ui/range.css +61 -0
  115. package/src/daisy-ui/search-filter.css +49 -0
  116. package/src/daisy-ui/select.css +158 -0
  117. package/src/daisy-ui/status-list.css +66 -0
  118. package/src/daisy-ui/switch.css +31 -0
  119. package/src/daisy-ui/table.css +89 -0
  120. package/src/daisy-ui/tabs.css +149 -0
  121. package/src/daisy-ui/timeline.css +45 -0
  122. package/src/daisy-ui/toc.css +22 -0
  123. package/src/daisy-ui/toggle.css +48 -0
  124. package/src/daisy-ui/toolbar.css +85 -0
  125. package/src/daisy-ui/tree.css +127 -0
  126. package/src/daisy-ui/upload-progress.css +102 -0
  127. package/src/daisy-ui/upload-target.css +50 -0
  128. package/src/glass/button.css +21 -0
  129. package/src/glass/chart.css +38 -0
  130. package/src/glass/index.css +2 -0
  131. package/src/glass/input.css +2 -0
  132. package/src/glass/swatch.css +19 -0
  133. package/src/glass/tabs.css +2 -2
  134. package/src/grada-ui/button.css +63 -25
  135. package/src/grada-ui/card.css +14 -16
  136. package/src/grada-ui/chart.css +34 -0
  137. package/src/grada-ui/dropdown.css +5 -4
  138. package/src/grada-ui/floating-action.css +6 -5
  139. package/src/grada-ui/floating-navigation.css +10 -9
  140. package/src/grada-ui/index.css +1 -0
  141. package/src/grada-ui/input.css +9 -10
  142. package/src/grada-ui/list.css +10 -7
  143. package/src/grada-ui/menu.css +6 -6
  144. package/src/grada-ui/message.css +7 -7
  145. package/src/grada-ui/range.css +5 -4
  146. package/src/grada-ui/search-filter.css +4 -3
  147. package/src/grada-ui/select.css +17 -13
  148. package/src/grada-ui/status-list.css +9 -8
  149. package/src/grada-ui/switch.css +4 -4
  150. package/src/grada-ui/table.css +10 -12
  151. package/src/grada-ui/tabs.css +7 -9
  152. package/src/grada-ui/timeline.css +8 -6
  153. package/src/grada-ui/toc.css +2 -2
  154. package/src/grada-ui/toggle.css +2 -1
  155. package/src/grada-ui/toolbar.css +10 -8
  156. package/src/grada-ui/tree.css +11 -10
  157. package/src/material/button.css +21 -0
  158. package/src/material/card.css +2 -1
  159. package/src/material/chart.css +38 -0
  160. package/src/material/index.css +2 -0
  161. package/src/material/input.css +18 -13
  162. package/src/material/swatch.css +19 -0
  163. package/src/material/tabs.css +2 -2
  164. package/src/minimal/button.css +21 -0
  165. package/src/minimal/card.css +2 -1
  166. package/src/minimal/chart.css +38 -0
  167. package/src/minimal/index.css +2 -0
  168. package/src/minimal/input.css +2 -1
  169. package/src/minimal/swatch.css +19 -0
  170. package/src/minimal/switch.css +9 -5
  171. package/src/minimal/tabs.css +2 -2
  172. package/src/minimal/toggle.css +3 -3
  173. package/src/rokkit/button.css +36 -0
  174. package/src/rokkit/card.css +2 -1
  175. package/src/rokkit/chart.css +38 -0
  176. package/src/rokkit/index.css +2 -0
  177. package/src/rokkit/list.css +19 -1
  178. package/src/rokkit/swatch.css +18 -0
  179. package/src/rokkit/switch.css +2 -1
  180. package/src/shadcn/button.css +176 -0
  181. package/src/shadcn/card.css +99 -0
  182. package/src/shadcn/chart.css +34 -0
  183. package/src/shadcn/connector.css +11 -0
  184. package/src/shadcn/dropdown.css +50 -0
  185. package/src/shadcn/floating-action.css +63 -0
  186. package/src/shadcn/floating-navigation.css +70 -0
  187. package/src/shadcn/grid.css +46 -0
  188. package/src/shadcn/index.css +34 -0
  189. package/src/shadcn/input.css +141 -0
  190. package/src/shadcn/list.css +126 -0
  191. package/src/shadcn/menu.css +88 -0
  192. package/src/shadcn/message.css +35 -0
  193. package/src/shadcn/range.css +61 -0
  194. package/src/shadcn/search-filter.css +49 -0
  195. package/src/shadcn/select.css +158 -0
  196. package/src/shadcn/status-list.css +66 -0
  197. package/src/shadcn/switch.css +31 -0
  198. package/src/shadcn/table.css +89 -0
  199. package/src/shadcn/tabs.css +149 -0
  200. package/src/shadcn/timeline.css +45 -0
  201. package/src/shadcn/toc.css +20 -0
  202. package/src/shadcn/toggle.css +48 -0
  203. package/src/shadcn/toolbar.css +85 -0
  204. package/src/shadcn/tree.css +127 -0
  205. package/src/shadcn/upload-progress.css +102 -0
  206. package/src/shadcn/upload-target.css +50 -0
@@ -0,0 +1,102 @@
1
+ /**
2
+ * UploadProgress - Ant Design Theme Styles
3
+ *
4
+ * Status colors, progress fill, action buttons.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Header
9
+ ============================================================================= */
10
+
11
+ [data-style='ant-design'] [data-upload-header] {
12
+ @apply text-surface-z7;
13
+ }
14
+
15
+ [data-style='ant-design'] [data-upload-clear] {
16
+ @apply border-surface-z4 text-surface-z6 border rounded;
17
+ }
18
+
19
+ [data-style='ant-design'] [data-upload-clear]:hover {
20
+ @apply border-primary-z4 text-primary-z5;
21
+ }
22
+
23
+ /* =============================================================================
24
+ File Rows
25
+ ============================================================================= */
26
+
27
+ [data-style='ant-design'] [data-upload-file-status] {
28
+ @apply text-surface-z7 rounded;
29
+ }
30
+
31
+ [data-style='ant-design'] [data-upload-file-status]:hover {
32
+ @apply bg-surface-z1;
33
+ }
34
+
35
+ /* =============================================================================
36
+ File Elements
37
+ ============================================================================= */
38
+
39
+ [data-style='ant-design'] [data-upload-file-icon] {
40
+ @apply text-surface-z5;
41
+ }
42
+
43
+ [data-style='ant-design'] [data-upload-file-size] {
44
+ @apply text-surface-z5;
45
+ }
46
+
47
+ /* =============================================================================
48
+ Progress Bar
49
+ ============================================================================= */
50
+
51
+ [data-style='ant-design'] [data-upload-bar] {
52
+ @apply bg-surface-z2 rounded;
53
+ }
54
+
55
+ [data-style='ant-design'] [data-upload-fill] {
56
+ @apply bg-primary-z5 rounded;
57
+ }
58
+
59
+ /* =============================================================================
60
+ Status Colors
61
+ ============================================================================= */
62
+
63
+ [data-style='ant-design'] [data-upload-file-status][data-status='uploading'] [data-upload-status] {
64
+ @apply text-primary-z5;
65
+ }
66
+
67
+ [data-style='ant-design'] [data-upload-file-status][data-status='done'] [data-upload-status] {
68
+ @apply text-success-z5;
69
+ }
70
+
71
+ [data-style='ant-design'] [data-upload-file-status][data-status='error'] [data-upload-status] {
72
+ @apply text-error-z5;
73
+ }
74
+
75
+ [data-style='ant-design'] [data-upload-file-status][data-status='pending'] [data-upload-status] {
76
+ @apply text-surface-z5;
77
+ }
78
+
79
+ /* Status-based file icon tinting */
80
+ [data-style='ant-design'] [data-upload-file-status][data-status='done'] [data-upload-file-icon] {
81
+ @apply text-success-z5;
82
+ }
83
+
84
+ [data-style='ant-design'] [data-upload-file-status][data-status='error'] [data-upload-file-icon] {
85
+ @apply text-error-z5;
86
+ }
87
+
88
+ /* =============================================================================
89
+ Action Buttons
90
+ ============================================================================= */
91
+
92
+ [data-style='ant-design'] [data-upload-actions] button {
93
+ @apply text-surface-z5;
94
+ }
95
+
96
+ [data-style='ant-design'] [data-upload-actions] button:hover {
97
+ @apply bg-surface-z2 text-primary-z5;
98
+ }
99
+
100
+ [data-style='ant-design'] [data-upload-file-status][data-status='error'] [data-upload-retry]:hover {
101
+ @apply text-primary-z6;
102
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * UploadTarget - Ant Design Theme Styles
3
+ *
4
+ * Enterprise clean: thin dashed border, primary drag-over highlight.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Drop Zone
9
+ ============================================================================= */
10
+
11
+ [data-style='ant-design'] [data-upload-target] {
12
+ @apply border-surface-z4 text-surface-z6 rounded;
13
+ }
14
+
15
+ [data-style='ant-design'] [data-upload-target]:hover:not([data-disabled]) {
16
+ @apply border-primary-z4 text-primary-z5 bg-primary-z1;
17
+ }
18
+
19
+ [data-style='ant-design'] [data-upload-target]:focus-visible:not([data-disabled]) {
20
+ @apply border-primary-z5 ring-primary-z3 ring-1;
21
+ }
22
+
23
+ /* Drag-over highlight */
24
+ [data-style='ant-design'] [data-upload-target][data-dragging] {
25
+ @apply border-primary-z5 bg-primary-z1 text-primary-z6;
26
+ }
27
+
28
+ /* =============================================================================
29
+ Upload Icon
30
+ ============================================================================= */
31
+
32
+ [data-style='ant-design'] [data-upload-target] [data-upload-icon] {
33
+ @apply text-surface-z4;
34
+ }
35
+
36
+ [data-style='ant-design'] [data-upload-target][data-dragging] [data-upload-icon] {
37
+ @apply text-primary-z5;
38
+ }
39
+
40
+ /* =============================================================================
41
+ Browse Button
42
+ ============================================================================= */
43
+
44
+ [data-style='ant-design'] [data-upload-target] [data-upload-button] {
45
+ @apply border-primary-z4 text-primary-z5 border rounded;
46
+ }
47
+
48
+ [data-style='ant-design'] [data-upload-target] [data-upload-button]:hover:not(:disabled) {
49
+ @apply bg-primary-z1 text-primary-z6;
50
+ }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Chart - Base Structural Styles
3
+ *
4
+ * Layout, typography, pointer-events.
5
+ * No colors — those live in theme-specific chart.css files.
6
+ */
7
+
8
+ [data-chart] {
9
+ position: relative;
10
+ display: block;
11
+ width: 100%;
12
+ overflow: visible;
13
+ }
14
+
15
+ [data-chart-canvas] {
16
+ overflow: visible;
17
+ }
18
+
19
+ [data-chart-axis-line] {
20
+ fill: none;
21
+ }
22
+
23
+ [data-chart-tick] line {
24
+ fill: none;
25
+ }
26
+
27
+ [data-chart-tick-label] {
28
+ font-size: 0.75rem;
29
+ font-family: inherit;
30
+ user-select: none;
31
+ }
32
+
33
+ [data-chart-grid-line] {
34
+ fill: none;
35
+ }
36
+
37
+ [data-chart-legend] {
38
+ display: flex;
39
+ flex-wrap: wrap;
40
+ gap: 0.5rem;
41
+ font-size: 0.75rem;
42
+ margin-top: 0.5rem;
43
+ }
44
+
45
+ [data-chart-legend-item] {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 0.375rem;
49
+ user-select: none;
50
+ }
51
+
52
+ [data-chart-legend-swatch] {
53
+ width: 0.75rem;
54
+ height: 0.75rem;
55
+ border-radius: 2px;
56
+ flex-shrink: 0;
57
+ }
58
+
59
+ [data-chart-legend-label] {
60
+ color: currentColor;
61
+ }
62
+
63
+ [data-chart-label] {
64
+ font-size: 0.6875rem;
65
+ font-family: inherit;
66
+ pointer-events: none;
67
+ user-select: none;
68
+ }
69
+
70
+ [data-plot-element="bar"],
71
+ [data-plot-element="line"],
72
+ [data-plot-element="area"],
73
+ [data-plot-element="point"],
74
+ [data-plot-element="arc"] {
75
+ transition: opacity 0.15s ease;
76
+ }
77
+
78
+ [data-facet-grid] {
79
+ display: grid;
80
+ grid-template-columns: repeat(var(--facet-cols, 3), 1fr);
81
+ gap: 1rem;
82
+ }
83
+
84
+ [data-facet-panel] {
85
+ display: flex;
86
+ flex-direction: column;
87
+ }
88
+
89
+ [data-facet-title] {
90
+ font-size: 0.75rem;
91
+ font-weight: 600;
92
+ text-align: center;
93
+ margin-bottom: 0.25rem;
94
+ }
@@ -43,3 +43,5 @@
43
43
  @import './status-list.css';
44
44
  @import './message.css';
45
45
  @import './alert-list.css';
46
+ @import './chart.css';
47
+ @import './swatch.css';
@@ -115,10 +115,11 @@ button[data-form-reset]:disabled {
115
115
  @apply flex flex-col gap-1;
116
116
  }
117
117
 
118
- /* Checkbox and switch: inline layout */
118
+ /* Checkbox, switch and toggle: inline layout (label left, control right) */
119
119
  [data-field-type='switch'] > [data-field],
120
- [data-field-type='checkbox'] > [data-field] {
121
- @apply flex-row items-center gap-2;
120
+ [data-field-type='checkbox'] > [data-field],
121
+ [data-field-type='toggle'] > [data-field] {
122
+ @apply flex-row items-center justify-between gap-2;
122
123
  }
123
124
 
124
125
  /* Select: stretch to fill input wrapper — display:flex eliminates inline-block gap */
@@ -210,6 +211,55 @@ input[type='range']::-moz-range-thumb {
210
211
  border: none;
211
212
  }
212
213
 
214
+ /* Date / time / datetime-local — inherit theme text color, match sizing */
215
+ input[type='date'],
216
+ input[type='time'],
217
+ input[type='datetime-local'] {
218
+ color: inherit;
219
+ color-scheme: inherit;
220
+ }
221
+
222
+ /* Calendar/time picker indicator — inherit text color so it matches theme */
223
+ input[type='date']::-webkit-calendar-picker-indicator,
224
+ input[type='time']::-webkit-calendar-picker-indicator,
225
+ input[type='datetime-local']::-webkit-calendar-picker-indicator {
226
+ opacity: 0.6;
227
+ cursor: pointer;
228
+ color: inherit;
229
+ filter: var(--picker-indicator-filter, none);
230
+ }
231
+
232
+ /* Radio inputs — remove native appearance for theme styling */
233
+ input[type='radio'] {
234
+ appearance: none;
235
+ -webkit-appearance: none;
236
+ width: 1rem;
237
+ height: 1rem;
238
+ border-radius: 50%;
239
+ border: 2px solid currentColor;
240
+ flex-shrink: 0;
241
+ cursor: pointer;
242
+ position: relative;
243
+ transition: border-color 150ms ease, background-color 150ms ease;
244
+ }
245
+
246
+ input[type='radio']:checked {
247
+ border-color: rgba(var(--color-primary-500), 1);
248
+ }
249
+
250
+ input[type='radio']:checked::before {
251
+ content: '';
252
+ display: block;
253
+ width: 0.5rem;
254
+ height: 0.5rem;
255
+ border-radius: 50%;
256
+ background: rgba(var(--color-primary-500), 1);
257
+ position: absolute;
258
+ top: 50%;
259
+ left: 50%;
260
+ transform: translate(-50%, -50%);
261
+ }
262
+
213
263
  /* Color input */
214
264
  input[type='color'] {
215
265
  appearance: none;
@@ -0,0 +1,79 @@
1
+ /* =============================================================================
2
+ InputSwatch / Swatch — Base structural styles
3
+ ============================================================================= */
4
+
5
+ /* Container */
6
+ [data-swatch] {
7
+ @apply flex flex-wrap gap-2 p-1;
8
+ }
9
+
10
+ /* Button: padding creates the ring gap; background is the gradient ring */
11
+ [data-swatch-item] {
12
+ @apply cursor-pointer border-0 bg-transparent p-0.5 leading-none;
13
+ transition: background 120ms ease, outline-color 120ms ease;
14
+ outline: 2px solid transparent;
15
+ outline-offset: 0;
16
+ }
17
+
18
+ /* Border-radius follows shape */
19
+ [data-swatch][data-swatch-shape='circle'] [data-swatch-item] {
20
+ @apply rounded-full;
21
+ }
22
+
23
+ [data-swatch][data-swatch-shape='square'] [data-swatch-item] {
24
+ @apply rounded;
25
+ }
26
+
27
+ /* ── Selected: gradient shows through the padding gap as a ring ────────────── */
28
+
29
+ [data-swatch-item][data-selected] {
30
+ background: linear-gradient(135deg, var(--swatch-fill, currentColor), var(--swatch-stroke, currentColor));
31
+ }
32
+
33
+ /* ── Hover + keyboard focus: same visual treatment ────────────────────────── */
34
+
35
+ [data-swatch-item]:hover:not(:disabled):not([data-disabled]):not([data-selected]),
36
+ [data-swatch-item]:focus-visible:not(:disabled):not([data-disabled]):not([data-selected]) {
37
+ outline-color: var(--swatch-stroke, currentColor);
38
+ }
39
+
40
+ /* Focus on selected item: show outline so keyboard position is still visible */
41
+ [data-swatch-item][data-selected]:focus-visible {
42
+ outline: 2px solid currentColor;
43
+ outline-offset: 3px;
44
+ }
45
+
46
+ /* ── Disabled ─────────────────────────────────────────────────────────────── */
47
+
48
+ [data-swatch-item]:disabled,
49
+ [data-swatch-item][data-disabled] {
50
+ @apply cursor-not-allowed opacity-40;
51
+ }
52
+
53
+ /* ── Default cells (fill the button's content box) ───────────────────────── */
54
+
55
+ [data-swatch-square],
56
+ [data-swatch-circle] {
57
+ display: block;
58
+ background-color: var(--swatch-fill, currentColor);
59
+ }
60
+
61
+ [data-swatch-square] {
62
+ @apply w-6 h-6 rounded-sm;
63
+ }
64
+
65
+ [data-swatch-circle] {
66
+ @apply w-6 h-6 rounded-full;
67
+ }
68
+
69
+ /* ── Size variants ─────────────────────────────────────────────────────────── */
70
+
71
+ [data-swatch][data-swatch-size='sm'] [data-swatch-square],
72
+ [data-swatch][data-swatch-size='sm'] [data-swatch-circle] {
73
+ @apply w-5 h-5;
74
+ }
75
+
76
+ [data-swatch][data-swatch-size='lg'] [data-swatch-square],
77
+ [data-swatch][data-swatch-size='lg'] [data-swatch-circle] {
78
+ @apply w-8 h-8;
79
+ }
package/src/base/tree.css CHANGED
@@ -174,7 +174,7 @@
174
174
  align-self: center;
175
175
  flex: 1;
176
176
  min-width: 0;
177
- padding: 0.25rem 0.375rem;
177
+ padding: 0.25rem 0.375rem 0.25rem 0;
178
178
  border: none;
179
179
  background: transparent;
180
180
  text-align: left;
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Button - bits-ui Theme Styles
3
+ *
4
+ * Softer, more premium styling with rounded corners and subtle elevation.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Default Style (filled)
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-button][data-style='default'][data-variant='default'],
12
+ [data-style='bits-ui'] [data-button]:not([data-style])[data-variant='default'],
13
+ [data-style='bits-ui'] [data-button][data-style='default']:not([data-variant]),
14
+ [data-style='bits-ui'] [data-button]:not([data-style]):not([data-variant]) {
15
+ @apply bg-none bg-surface-z2 border-surface-z3 text-surface-z8 border rounded-lg shadow-sm;
16
+ }
17
+
18
+ [data-style='bits-ui'] [data-button][data-style='default'][data-variant='primary'],
19
+ [data-style='bits-ui'] [data-button]:not([data-style])[data-variant='primary'] {
20
+ @apply bg-none bg-primary-z5 text-on-primary border-transparent rounded-lg shadow-sm;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-button][data-style='default'][data-variant='secondary'],
24
+ [data-style='bits-ui'] [data-button]:not([data-style])[data-variant='secondary'] {
25
+ @apply bg-none bg-secondary-z4 text-on-secondary border-transparent rounded-lg shadow-sm;
26
+ }
27
+
28
+ [data-style='bits-ui'] [data-button][data-style='default'][data-variant='accent'],
29
+ [data-style='bits-ui'] [data-button]:not([data-style])[data-variant='accent'] {
30
+ @apply bg-none bg-accent-z4 text-on-accent border-transparent rounded-lg shadow-sm;
31
+ }
32
+
33
+ [data-style='bits-ui'] [data-button][data-style='default'][data-variant='danger'],
34
+ [data-style='bits-ui'] [data-button]:not([data-style])[data-variant='danger'] {
35
+ @apply bg-none bg-danger-z4 text-on-danger border-transparent rounded-lg shadow-sm;
36
+ }
37
+
38
+ /* =============================================================================
39
+ Outline Style
40
+ ============================================================================= */
41
+
42
+ [data-style='bits-ui'] [data-button][data-style='outline'][data-variant='default'],
43
+ [data-style='bits-ui'] [data-button][data-style='outline']:not([data-variant]) {
44
+ @apply border-surface-z3 text-surface-z7 border bg-transparent rounded-lg shadow-sm;
45
+ }
46
+
47
+ [data-style='bits-ui'] [data-button][data-style='outline'][data-variant='primary'] {
48
+ @apply border-primary-z4 text-primary-z6 border bg-transparent rounded-lg shadow-sm;
49
+ }
50
+
51
+ [data-style='bits-ui'] [data-button][data-style='outline'][data-variant='secondary'] {
52
+ @apply border-secondary-z4 text-secondary-z6 border bg-transparent rounded-lg shadow-sm;
53
+ }
54
+
55
+ [data-style='bits-ui'] [data-button][data-style='outline'][data-variant='accent'] {
56
+ @apply border-accent-z4 text-accent-z6 border bg-transparent rounded-lg shadow-sm;
57
+ }
58
+
59
+ [data-style='bits-ui'] [data-button][data-style='outline'][data-variant='danger'] {
60
+ @apply border-danger-z4 text-danger-z4 border bg-transparent rounded-lg shadow-sm;
61
+ }
62
+
63
+ /* =============================================================================
64
+ Ghost Style
65
+ ============================================================================= */
66
+
67
+ [data-style='bits-ui'] [data-button][data-style='ghost'] {
68
+ @apply border-transparent bg-transparent rounded-lg;
69
+ }
70
+
71
+ [data-style='bits-ui'] [data-button][data-style='ghost'][data-variant='default'],
72
+ [data-style='bits-ui'] [data-button][data-style='ghost']:not([data-variant]) {
73
+ @apply text-surface-z7;
74
+ }
75
+
76
+ [data-style='bits-ui'] [data-button][data-style='ghost'][data-variant='primary'] {
77
+ @apply text-primary-z6;
78
+ }
79
+
80
+ [data-style='bits-ui'] [data-button][data-style='ghost'][data-variant='secondary'] {
81
+ @apply text-secondary-z6;
82
+ }
83
+
84
+ [data-style='bits-ui'] [data-button][data-style='ghost'][data-variant='accent'] {
85
+ @apply text-accent-z6;
86
+ }
87
+
88
+ [data-style='bits-ui'] [data-button][data-style='ghost'][data-variant='danger'] {
89
+ @apply text-danger-z4;
90
+ }
91
+
92
+ /* =============================================================================
93
+ Gradient Style
94
+ ============================================================================= */
95
+
96
+ [data-style='bits-ui'] [data-button][data-style='gradient'][data-variant='default'],
97
+ [data-style='bits-ui'] [data-button][data-style='gradient']:not([data-variant]) {
98
+ @apply from-surface-z3 to-surface-z1 text-surface-z10 bg-gradient-to-br rounded-lg shadow-sm;
99
+ }
100
+
101
+ [data-style='bits-ui'] [data-button][data-style='gradient'][data-variant='primary'] {
102
+ @apply from-primary-z5 to-primary-z3 text-on-primary bg-gradient-to-br rounded-lg shadow-sm;
103
+ }
104
+
105
+ [data-style='bits-ui'] [data-button][data-style='gradient'][data-variant='secondary'] {
106
+ @apply from-secondary-z5 to-secondary-z3 text-on-secondary bg-gradient-to-br rounded-lg shadow-sm;
107
+ }
108
+
109
+ [data-style='bits-ui'] [data-button][data-style='gradient'][data-variant='accent'] {
110
+ @apply from-accent-z5 to-accent-z3 text-on-accent bg-gradient-to-br rounded-lg shadow-sm;
111
+ }
112
+
113
+ [data-style='bits-ui'] [data-button][data-style='gradient'][data-variant='danger'] {
114
+ @apply from-danger-z5 to-danger-z3 text-on-danger bg-gradient-to-br rounded-lg shadow-sm;
115
+ }
116
+
117
+ [data-style='bits-ui']
118
+ [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
119
+ filter: brightness(1.05);
120
+ }
121
+
122
+ /* =============================================================================
123
+ Link Style
124
+ ============================================================================= */
125
+
126
+ [data-style='bits-ui'] [data-button][data-style='link'][data-variant='default'],
127
+ [data-style='bits-ui'] [data-button][data-style='link']:not([data-variant]) {
128
+ @apply text-surface-z7;
129
+ }
130
+
131
+ [data-style='bits-ui'] [data-button][data-style='link'][data-variant='primary'] {
132
+ @apply text-primary-z6;
133
+ }
134
+
135
+ [data-style='bits-ui'] [data-button][data-style='link'][data-variant='secondary'] {
136
+ @apply text-secondary-z6;
137
+ }
138
+
139
+ [data-style='bits-ui'] [data-button][data-style='link'][data-variant='accent'] {
140
+ @apply text-accent-z6;
141
+ }
142
+
143
+ [data-style='bits-ui'] [data-button][data-style='link'][data-variant='danger'] {
144
+ @apply text-danger-z4;
145
+ }
146
+
147
+ [data-style='bits-ui'] [data-button][data-style='link']:hover:not(:disabled):not([data-disabled]) {
148
+ @apply text-surface-z9;
149
+ }
150
+
151
+ /* =============================================================================
152
+ Hover States
153
+ ============================================================================= */
154
+
155
+ [data-style='bits-ui']
156
+ [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
157
+ [data-style='bits-ui'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
158
+ @apply bg-none bg-surface-z3 border-surface-z4 shadow-md;
159
+ }
160
+
161
+ [data-style='bits-ui']
162
+ [data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
163
+ @apply bg-none bg-surface-z1 border-surface-z4 shadow-md;
164
+ }
165
+
166
+ [data-style='bits-ui'] [data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
167
+ @apply bg-surface-z2;
168
+ }
169
+
170
+ /* =============================================================================
171
+ Focus
172
+ ============================================================================= */
173
+
174
+ [data-style='bits-ui'] [data-button]:focus-visible {
175
+ @apply ring-primary-z3 ring-2 outline-none;
176
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Card - bits-ui Theme Styles
3
+ *
4
+ * Premium card styling with rounded-xl and shadow.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Base Card Styles
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-card] {
12
+ @apply bg-none bg-surface-z1 border-surface-z2 text-surface-z9 border shadow-sm rounded-xl;
13
+ }
14
+
15
+ /* Interactive cards (buttons) */
16
+ [data-style='bits-ui'] [data-card][data-card-interactive] {
17
+ cursor: pointer;
18
+ transition:
19
+ border-color 0.2s ease,
20
+ box-shadow 0.2s ease;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-card][data-card-interactive]:hover {
24
+ @apply border-surface-z4 shadow-md;
25
+ }
26
+
27
+ [data-style='bits-ui'] [data-card][data-card-interactive]:active {
28
+ @apply bg-surface-z2;
29
+ }
30
+
31
+ /* =============================================================================
32
+ Card Sections
33
+ ============================================================================= */
34
+
35
+ [data-style='bits-ui'] [data-card-header] {
36
+ @apply border-surface-z2 border-b;
37
+ }
38
+
39
+ [data-style='bits-ui'] [data-card-body] {
40
+ @apply text-surface-z8;
41
+ }
42
+
43
+ [data-style='bits-ui'] [data-card-footer] {
44
+ @apply border-surface-z2 text-surface-z7 border-t;
45
+ }
46
+
47
+ /* =============================================================================
48
+ Focus States
49
+ ============================================================================= */
50
+
51
+ [data-style='bits-ui'] [data-card][data-card-interactive]:focus-visible {
52
+ @apply ring-primary-z3 ring-2 outline-none;
53
+ }
54
+
55
+ /* =============================================================================
56
+ Disabled State
57
+ ============================================================================= */
58
+
59
+ [data-style='bits-ui'] [data-card][data-card-interactive][data-disabled],
60
+ [data-style='bits-ui'] [data-card][data-card-interactive]:disabled {
61
+ @apply cursor-not-allowed opacity-50;
62
+ }
63
+
64
+ /* =============================================================================
65
+ Variants
66
+ ============================================================================= */
67
+
68
+ /* Primary — solid primary fill */
69
+ [data-style='bits-ui'] [data-card][data-variant='primary'] {
70
+ @apply bg-none bg-primary-z5 border-primary-z6 text-on-primary border shadow-sm;
71
+ }
72
+
73
+ [data-style='bits-ui'] [data-card][data-variant='primary'] [data-card-header],
74
+ [data-style='bits-ui'] [data-card][data-variant='primary'] [data-card-footer] {
75
+ @apply border-primary-z4/40;
76
+ }
77
+
78
+ [data-style='bits-ui'] [data-card][data-variant='primary'] [data-card-body] {
79
+ @apply text-on-primary/80;
80
+ }
81
+
82
+ /* Secondary — solid secondary fill */
83
+ [data-style='bits-ui'] [data-card][data-variant='secondary'] {
84
+ @apply bg-none bg-secondary-z4 border-secondary-z5 text-on-secondary border shadow-sm;
85
+ }
86
+
87
+ [data-style='bits-ui'] [data-card][data-variant='secondary'] [data-card-header],
88
+ [data-style='bits-ui'] [data-card][data-variant='secondary'] [data-card-footer] {
89
+ @apply border-secondary-z3/40;
90
+ }
91
+
92
+ [data-style='bits-ui'] [data-card][data-variant='secondary'] [data-card-body] {
93
+ @apply text-on-secondary/80;
94
+ }
95
+
96
+ /* Tertiary — recessed surface, lighter border */
97
+ [data-style='bits-ui'] [data-card][data-variant='tertiary'] {
98
+ @apply bg-none bg-surface-z0 border-surface-z2 text-surface-z7 border shadow-none;
99
+ }