@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,34 @@
1
+ /**
2
+ * Chart - Bits UI Theme Styles
3
+ */
4
+
5
+ [data-style='bits-ui'] [data-chart-axis-line],
6
+ [data-style='bits-ui'] [data-chart-tick] line {
7
+ @apply stroke-surface-z3;
8
+ }
9
+
10
+ [data-style='bits-ui'] [data-chart-tick-label] {
11
+ @apply fill-surface-z5;
12
+ }
13
+
14
+ [data-style='bits-ui'] [data-chart-grid-line] {
15
+ @apply stroke-surface-z3;
16
+ stroke-opacity: 0.5;
17
+ stroke-dasharray: 2 4;
18
+ }
19
+
20
+ [data-style='bits-ui'] [data-chart-legend-label] {
21
+ @apply fill-surface-z5;
22
+ }
23
+
24
+ [data-style='bits-ui'] [data-chart-legend-item]:hover {
25
+ @apply text-surface-z8;
26
+ }
27
+
28
+ [data-style='bits-ui'] [data-plot-element="bar"][data-dimmed],
29
+ [data-style='bits-ui'] [data-plot-element="point"][data-dimmed],
30
+ [data-style='bits-ui'] [data-plot-element="arc"][data-dimmed],
31
+ [data-style='bits-ui'] [data-plot-element="line"][data-dimmed],
32
+ [data-style='bits-ui'] [data-plot-element="area"][data-dimmed] {
33
+ opacity: 0.15;
34
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Connector - bits-ui Theme Styles
3
+ *
4
+ * Visual theming for tree line connectors.
5
+ */
6
+
7
+ [data-style='bits-ui'] [data-connector] [data-connector-v],
8
+ [data-style='bits-ui'] [data-connector] [data-connector-h],
9
+ [data-style='bits-ui'] [data-connector] [data-connector-corner] {
10
+ @apply border-surface-z3;
11
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Dropdown - bits-ui Theme Styles
3
+ *
4
+ * Rounded trigger with shadow, panel with rounded-xl and elevated shadow.
5
+ */
6
+
7
+ [data-style='bits-ui'] [data-dropdown-trigger] {
8
+ @apply bg-none border-surface-z3 text-surface-z7 border bg-surface-z1 rounded-lg shadow-sm;
9
+ }
10
+
11
+ [data-style='bits-ui'] [data-dropdown-trigger]:hover:not(:disabled) {
12
+ @apply bg-none text-surface-z9 border-surface-z4 shadow-md;
13
+ }
14
+
15
+ [data-style='bits-ui'] [data-dropdown-trigger]:focus-visible {
16
+ @apply ring-primary-z3 ring-2 outline-none;
17
+ }
18
+
19
+ [data-style='bits-ui'] [data-dropdown][data-open='true'] [data-dropdown-trigger] {
20
+ @apply bg-none border-surface-z5 ring-primary-z3 ring-2;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-dropdown-trigger] [data-dropdown-icon] {
24
+ @apply text-surface-z5;
25
+ }
26
+
27
+ [data-style='bits-ui'] [data-dropdown-trigger] [data-dropdown-arrow] {
28
+ @apply text-surface-z4;
29
+ }
30
+
31
+ [data-style='bits-ui'] [data-dropdown-panel] {
32
+ @apply bg-none bg-surface-z1 border-surface-z3 border shadow-lg rounded-xl;
33
+ }
34
+
35
+ [data-style='bits-ui'] [data-dropdown-option] {
36
+ @apply text-surface-z7 rounded-lg;
37
+ }
38
+
39
+ [data-style='bits-ui'] [data-dropdown-option]:hover:not(:disabled),
40
+ [data-style='bits-ui'] [data-dropdown-option]:focus:not(:disabled) {
41
+ @apply bg-surface-z2 text-surface-z9 outline-none;
42
+ }
43
+
44
+ [data-style='bits-ui'] [data-dropdown-option][data-active='true'] {
45
+ @apply bg-primary-z2 text-primary-z8;
46
+ }
47
+
48
+ [data-style='bits-ui'] [data-dropdown-separator] {
49
+ @apply bg-none bg-surface-z3;
50
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * FloatingAction - bits-ui Theme Styles
3
+ *
4
+ * Rounded buttons with shadow elevation.
5
+ */
6
+
7
+ /* =============================================================================
8
+ FAB Trigger Button
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-fab-trigger] {
12
+ @apply bg-none bg-surface-z2 text-surface-z8 border-surface-z3 border rounded-lg shadow-sm;
13
+ }
14
+
15
+ [data-style='bits-ui'] [data-fab-trigger]:hover:not(:disabled) {
16
+ @apply bg-none bg-surface-z3 text-surface-z10 border-surface-z4 shadow-md;
17
+ }
18
+
19
+ [data-style='bits-ui'] [data-fab-trigger]:focus-visible {
20
+ @apply ring-primary-z3 ring-2 outline-none;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-fab][data-open='true'] [data-fab-trigger] {
24
+ @apply bg-none bg-surface-z3 border-surface-z4 shadow-md;
25
+ transform: rotate(45deg);
26
+ }
27
+
28
+ [data-style='bits-ui'] [data-fab][data-open='true'] [data-fab-trigger]:hover:not(:disabled) {
29
+ @apply bg-none;
30
+ }
31
+
32
+ /* =============================================================================
33
+ FAB Items
34
+ ============================================================================= */
35
+
36
+ [data-style='bits-ui'] [data-fab-item] {
37
+ @apply bg-none bg-surface-z1 text-surface-z7 border-surface-z3 border rounded-lg shadow-sm;
38
+ }
39
+
40
+ [data-style='bits-ui'] [data-fab-item]:hover:not(:disabled) {
41
+ @apply bg-none bg-surface-z2 text-surface-z9 border-surface-z4 shadow-md;
42
+ }
43
+
44
+ [data-style='bits-ui'] [data-fab-item]:focus-visible {
45
+ @apply ring-primary-z3 ring-2 outline-none;
46
+ }
47
+
48
+ /* Item icon */
49
+ [data-style='bits-ui'] [data-fab-item] [data-fab-item-icon] {
50
+ @apply text-surface-z6;
51
+ }
52
+
53
+ [data-style='bits-ui'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
54
+ @apply text-surface-z8;
55
+ }
56
+
57
+ /* =============================================================================
58
+ Backdrop
59
+ ============================================================================= */
60
+
61
+ [data-style='bits-ui'] [data-fab-backdrop] {
62
+ background: rgba(0, 0, 0, 0.2);
63
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * FloatingNavigation - bits-ui Theme Styles
3
+ *
4
+ * Card-like container with rounded-xl and shadow.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Container
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-floating-nav] {
12
+ @apply bg-none bg-surface-z1 border-surface-z3 border rounded-xl shadow-sm;
13
+ }
14
+
15
+ /* =============================================================================
16
+ Header
17
+ ============================================================================= */
18
+
19
+ [data-style='bits-ui'] [data-floating-nav-title] {
20
+ @apply text-surface-z5;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-floating-nav-pin] {
24
+ @apply text-surface-z5;
25
+ }
26
+
27
+ [data-style='bits-ui'] [data-floating-nav-pin]:hover {
28
+ @apply text-surface-z8;
29
+ }
30
+
31
+ [data-style='bits-ui'] [data-floating-nav-pin][aria-pressed='true'] {
32
+ @apply text-surface-z9;
33
+ }
34
+
35
+ /* =============================================================================
36
+ Items
37
+ ============================================================================= */
38
+
39
+ [data-style='bits-ui'] [data-floating-nav-item] {
40
+ @apply text-surface-z7 rounded-lg;
41
+ }
42
+
43
+ [data-style='bits-ui'] [data-floating-nav-item]:hover {
44
+ @apply bg-surface-z2 text-surface-z9;
45
+ }
46
+
47
+ [data-style='bits-ui'] [data-floating-nav-item][data-active] {
48
+ @apply bg-primary-z2 text-primary-z8;
49
+ }
50
+
51
+ [data-style='bits-ui'] [data-floating-nav-item]:focus-visible {
52
+ @apply ring-primary-z3 ring-2 outline-none;
53
+ }
54
+
55
+ /* Icon */
56
+ [data-style='bits-ui'] [data-floating-nav-icon] {
57
+ @apply text-surface-z6;
58
+ }
59
+
60
+ [data-style='bits-ui'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
61
+ @apply text-primary-z7;
62
+ }
63
+
64
+ /* =============================================================================
65
+ Active Indicator
66
+ ============================================================================= */
67
+
68
+ [data-style='bits-ui'] [data-floating-nav-indicator] {
69
+ @apply bg-none bg-primary-z5 rounded-lg;
70
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Grid - bits-ui Theme Styles
3
+ *
4
+ * Card-like tiles with rounded-xl, shadow, and primary selection.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Grid Tiles
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-grid] [data-grid-item] {
12
+ @apply border-surface-z3 text-surface-z7 rounded-xl shadow-sm;
13
+ }
14
+
15
+ [data-style='bits-ui'] [data-grid] [data-grid-item]:hover:not(:disabled):not([data-disabled]) {
16
+ @apply border-surface-z4 bg-surface-z2 text-surface-z9 shadow-md;
17
+ }
18
+
19
+ [data-style='bits-ui'] [data-grid] [data-grid-item]:focus:not(:disabled):not([data-disabled]) {
20
+ @apply border-primary-z4 bg-surface-z2 text-surface-z9 ring-primary-z3 ring-2 outline-none;
21
+ }
22
+
23
+ /* Active / selected tile */
24
+ [data-style='bits-ui'] [data-grid] [data-grid-item][data-active] {
25
+ @apply border-primary-z4 bg-primary-z2 text-primary-z9;
26
+ }
27
+
28
+ [data-style='bits-ui'] [data-grid] [data-grid-item][data-active]:hover:not(:disabled) {
29
+ @apply bg-primary-z3;
30
+ }
31
+
32
+ /* =============================================================================
33
+ Item Elements
34
+ ============================================================================= */
35
+
36
+ [data-style='bits-ui'] [data-grid] [data-grid-item] [data-item-icon] {
37
+ @apply text-surface-z5;
38
+ }
39
+
40
+ [data-style='bits-ui'] [data-grid] [data-grid-item]:hover:not(:disabled) [data-item-icon] {
41
+ @apply text-surface-z7;
42
+ }
43
+
44
+ [data-style='bits-ui'] [data-grid] [data-grid-item][data-active] [data-item-icon] {
45
+ @apply text-primary-z6;
46
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @rokkit/themes - bits-ui Theme
3
+ *
4
+ * Softer, more premium shadcn-inspired styling with rounded corners,
5
+ * subtle shadows, and elevated surfaces.
6
+ * Use with data-style="bits-ui" wrapper.
7
+ */
8
+
9
+ @import './button.css';
10
+ @import './toolbar.css';
11
+ @import './tabs.css';
12
+ @import './toggle.css';
13
+ @import './switch.css';
14
+ @import './list.css';
15
+ @import './tree.css';
16
+ @import './connector.css';
17
+ @import './select.css';
18
+ @import './menu.css';
19
+ @import './dropdown.css';
20
+ @import './floating-action.css';
21
+ @import './input.css';
22
+ @import './table.css';
23
+ @import './search-filter.css';
24
+ @import './range.css';
25
+ @import './timeline.css';
26
+ @import './floating-navigation.css';
27
+ @import './grid.css';
28
+ @import './upload-target.css';
29
+ @import './upload-progress.css';
30
+ @import './toc.css';
31
+ @import './card.css';
32
+ @import './message.css';
33
+ @import './status-list.css';
34
+ @import './chart.css';
@@ -0,0 +1,150 @@
1
+ /**
2
+ * bits-ui Theme - Form field and input styles
3
+ *
4
+ * Rounded bordered inputs with shadow-inner on focus. Premium feel.
5
+ */
6
+
7
+ /* Input root: rounded border, subtle background */
8
+ [data-style='bits-ui'] [data-input-root] {
9
+ @apply border-surface-z3 relative flex items-center border bg-surface-z1 rounded-lg shadow-sm;
10
+ background-image: none;
11
+ transition:
12
+ background-color 150ms ease,
13
+ border-color 150ms ease,
14
+ box-shadow 150ms ease;
15
+ }
16
+
17
+ /* Hover: slightly elevated border */
18
+ [data-style='bits-ui'] [data-input-root]:hover:not(:focus-within) {
19
+ @apply border-surface-z4;
20
+ background-image: none;
21
+ }
22
+
23
+ /* Focus: primary ring */
24
+ [data-style='bits-ui'] [data-input-root]:focus-within {
25
+ @apply border-primary-z4 bg-surface-z1;
26
+ background-image: none;
27
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 0 2px var(--color-primary-z3, rgba(0,0,0,0.08));
28
+ }
29
+
30
+ /* Inputs inside wrapper */
31
+ [data-style='bits-ui']
32
+ [data-input-root]
33
+ input:not([type='checkbox'], [type='radio'], [type='color']),
34
+ [data-style='bits-ui'] [data-input-root] textarea,
35
+ [data-style='bits-ui'] [data-input-root] select {
36
+ @apply text-surface-z9 w-full border-none bg-transparent px-3 py-2 outline-none;
37
+ font-size: 0.875rem;
38
+ line-height: 1.25rem;
39
+ transition: color 150ms ease;
40
+ }
41
+
42
+ [data-style='bits-ui'] [data-input-root] textarea {
43
+ @apply resize-vertical min-h-20 py-2;
44
+ }
45
+
46
+ /* Select inside input-root: match text input appearance */
47
+ [data-style='bits-ui'] [data-input-root] [data-select-trigger] {
48
+ @apply text-surface-z9 border-none bg-transparent px-3 shadow-none ring-0 focus:outline-none rounded-lg;
49
+ font-size: 0.875rem;
50
+ background-image: none;
51
+ transition: color 150ms ease;
52
+ }
53
+
54
+ [data-style='bits-ui'] [data-input-root] [data-select-trigger]:hover:not(:disabled) {
55
+ @apply bg-transparent;
56
+ background-image: none;
57
+ }
58
+
59
+ [data-style='bits-ui'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
60
+ @apply border-none bg-transparent shadow-none ring-0;
61
+ }
62
+
63
+ /* Labels: slightly muted */
64
+ [data-style='bits-ui'] [data-field] > label {
65
+ @apply text-surface-z6 text-sm font-medium;
66
+ transition: color 150ms ease;
67
+ }
68
+
69
+ [data-style='bits-ui'] [data-form-root] label {
70
+ @apply text-surface-z6 text-sm font-medium;
71
+ }
72
+
73
+ /* Focused label: primary color */
74
+ [data-style='bits-ui'] [data-field]:has([data-input-root]:focus-within) > label {
75
+ @apply text-primary-z6;
76
+ }
77
+
78
+ /* Field root */
79
+ [data-style='bits-ui'] [data-field-root] {
80
+ @apply gap-1;
81
+ }
82
+
83
+ /* Info field value */
84
+ [data-style='bits-ui'] [data-field-info] {
85
+ @apply text-primary-z6;
86
+ }
87
+
88
+ /* Separator */
89
+ [data-style='bits-ui'] [data-form-separator] {
90
+ @apply border-surface-z3;
91
+ }
92
+
93
+ /* Disabled state */
94
+ [data-style='bits-ui'] [data-field-disabled] [data-input-root] {
95
+ @apply border-surface-z2 cursor-not-allowed opacity-40;
96
+ }
97
+
98
+ /* Error state */
99
+ [data-style='bits-ui'] [data-field-state='fail'] [data-input-root] {
100
+ @apply border-danger-z4 bg-danger-z1;
101
+ }
102
+
103
+ [data-style='bits-ui'] [data-field-state='fail'] [data-input-root]:hover:not(:focus-within) {
104
+ @apply bg-danger-z2;
105
+ }
106
+
107
+ [data-style='bits-ui'] [data-field-state='fail'] [data-input-root]:focus-within {
108
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 0 2px var(--color-danger-z3, rgba(0,0,0,0.08));
109
+ }
110
+
111
+ /* Pass state */
112
+ [data-style='bits-ui'] [data-field-state='pass'] [data-input-root] {
113
+ @apply bg-success-z1 border-success-z3;
114
+ }
115
+
116
+ [data-style='bits-ui'] [data-field-state='pass'] [data-input-root]:hover:not(:focus-within) {
117
+ @apply bg-success-z2;
118
+ }
119
+
120
+ /* Description */
121
+ [data-style='bits-ui'] [data-description] {
122
+ @apply text-surface-z5 mt-0.5 text-xs;
123
+ }
124
+
125
+ /* Message */
126
+ [data-style='bits-ui'] [data-message] {
127
+ @apply text-danger-z5 mt-0.5 text-xs;
128
+ }
129
+
130
+ /* Checkbox */
131
+ [data-style='bits-ui'] [data-checkbox-icon] {
132
+ @apply text-surface-z5 text-lg;
133
+ }
134
+
135
+ [data-style='bits-ui']
136
+ [data-checkbox-root][data-variant='custom']:has(input:checked)
137
+ [data-checkbox-icon] {
138
+ @apply text-primary-z6;
139
+ }
140
+
141
+ /* Checkbox label: primary on focus */
142
+ [data-style='bits-ui'] [data-field-type='checkbox'] [data-field]:has(:focus-within) > label {
143
+ @apply text-primary-z6;
144
+ }
145
+
146
+ /* Placeholders */
147
+ [data-style='bits-ui'] [data-input-root] input::placeholder,
148
+ [data-style='bits-ui'] [data-input-root] textarea::placeholder {
149
+ @apply text-surface-z4;
150
+ }
@@ -0,0 +1,126 @@
1
+ /**
2
+ * List - bits-ui Theme Styles
3
+ *
4
+ * Softer list styling with rounded item backgrounds on hover/active.
5
+ */
6
+
7
+ /* =============================================================================
8
+ List Container
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-list]:focus-within {
12
+ @apply outline-none;
13
+ }
14
+
15
+ /* =============================================================================
16
+ List Items
17
+ ============================================================================= */
18
+
19
+ [data-style='bits-ui'] [data-list] [data-list-item] {
20
+ @apply text-surface-z7 border-0 border-solid border-transparent rounded-lg;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-list] a[data-list-item],
24
+ [data-style='bits-ui'] [data-list] button[data-list-item] {
25
+ @apply text-surface-z6;
26
+ }
27
+
28
+ /* Hover and focus (keyboard navigation) */
29
+ [data-style='bits-ui']
30
+ [data-list]
31
+ [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
32
+ [data-style='bits-ui']
33
+ [data-list]
34
+ [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
35
+ @apply bg-surface-z2 text-surface-z9 outline-none;
36
+ }
37
+
38
+ /* Active state — muted when list not focused */
39
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true'] {
40
+ @apply bg-surface-z2 text-surface-z8;
41
+ }
42
+
43
+ /* Active state — full highlight when list has focus */
44
+ [data-style='bits-ui'] [data-list]:focus-within [data-list-item][data-active='true'] {
45
+ @apply bg-primary-z2 text-primary-z7;
46
+ }
47
+
48
+ /* Active + hover/focus */
49
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true']:hover:not(:disabled),
50
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true']:focus:not(:disabled) {
51
+ @apply bg-primary-z3 text-primary-z8;
52
+ }
53
+
54
+ /* =============================================================================
55
+ Item Elements
56
+ ============================================================================= */
57
+
58
+ [data-style='bits-ui'] [data-list] [data-list-item] [data-item-icon] {
59
+ @apply text-surface-z5;
60
+ }
61
+
62
+ [data-style='bits-ui'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon],
63
+ [data-style='bits-ui'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon] {
64
+ @apply text-surface-z6;
65
+ }
66
+
67
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true'] [data-item-icon] {
68
+ @apply text-primary-z5;
69
+ }
70
+
71
+ [data-style='bits-ui'] [data-list] [data-list-item] [data-item-description] {
72
+ @apply text-surface-z5;
73
+ }
74
+
75
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true'] [data-item-description] {
76
+ @apply text-primary-z6;
77
+ }
78
+
79
+ [data-style='bits-ui'] [data-list] [data-list-item] [data-item-badge] {
80
+ @apply bg-none text-surface-z6 border-surface-z3 border bg-transparent rounded-lg;
81
+ }
82
+
83
+ [data-style='bits-ui'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
84
+ @apply bg-none text-primary-z7 border-primary-z3;
85
+ }
86
+
87
+ /* =============================================================================
88
+ Groups
89
+ ============================================================================= */
90
+
91
+ [data-style='bits-ui'] [data-list] [data-list-group] {
92
+ @apply text-surface-z5;
93
+ }
94
+
95
+ [data-style='bits-ui'] [data-list] [data-list-group]:hover:not(:disabled),
96
+ [data-style='bits-ui'] [data-list] [data-list-group]:focus:not(:disabled) {
97
+ @apply bg-surface-z2 text-surface-z7;
98
+ }
99
+
100
+ /* =============================================================================
101
+ Separator
102
+ ============================================================================= */
103
+
104
+ [data-style='bits-ui'] [data-list] [data-list-separator] {
105
+ @apply bg-none bg-surface-z3;
106
+ }
107
+
108
+ /* =============================================================================
109
+ Multi-Selection
110
+ ============================================================================= */
111
+
112
+ [data-style='bits-ui'] [data-list] [data-list-item][data-selected='true'] {
113
+ @apply bg-primary-z2 text-primary-z7;
114
+ }
115
+
116
+ [data-style='bits-ui'] [data-list]:focus-within [data-list-item][data-selected='true'] {
117
+ @apply bg-primary-z2 text-primary-z7;
118
+ }
119
+
120
+ [data-style='bits-ui'] [data-list] [data-list-item][data-selected='true']:hover:not(:disabled) {
121
+ @apply bg-primary-z3 text-primary-z8;
122
+ }
123
+
124
+ [data-style='bits-ui'] [data-list] [data-list-item][data-selected='true'] [data-item-icon] {
125
+ @apply text-primary-z5;
126
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Menu - bits-ui Theme Styles
3
+ *
4
+ * Rounded trigger, dropdown with rounded-xl and larger shadow.
5
+ */
6
+
7
+ /* =============================================================================
8
+ Menu Trigger
9
+ ============================================================================= */
10
+
11
+ [data-style='bits-ui'] [data-menu-trigger] {
12
+ @apply bg-none border-surface-z3 text-surface-z7 border bg-surface-z1 rounded-lg shadow-sm;
13
+ }
14
+
15
+ [data-style='bits-ui'] [data-menu-trigger]:hover:not(:disabled) {
16
+ @apply bg-none text-surface-z9 border-surface-z4 shadow-md;
17
+ }
18
+
19
+ [data-style='bits-ui'] [data-menu-trigger]:focus-visible {
20
+ @apply ring-primary-z3 ring-2 outline-none;
21
+ }
22
+
23
+ [data-style='bits-ui'] [data-menu][data-open='true'] [data-menu-trigger] {
24
+ @apply bg-none border-surface-z5 ring-primary-z3 ring-2;
25
+ }
26
+
27
+ /* Trigger elements */
28
+ [data-style='bits-ui'] [data-menu-trigger] [data-menu-icon] {
29
+ @apply text-surface-z5;
30
+ }
31
+
32
+ [data-style='bits-ui'] [data-menu-trigger]:hover:not(:disabled) [data-menu-icon] {
33
+ @apply text-surface-z7;
34
+ }
35
+
36
+ [data-style='bits-ui'] [data-menu-trigger] [data-menu-arrow] {
37
+ @apply text-surface-z4;
38
+ }
39
+
40
+ /* =============================================================================
41
+ Menu Dropdown
42
+ ============================================================================= */
43
+
44
+ [data-style='bits-ui'] [data-menu-dropdown] {
45
+ @apply bg-none bg-surface-z1 border-surface-z3 border shadow-lg rounded-xl;
46
+ }
47
+
48
+ /* =============================================================================
49
+ Menu Items
50
+ ============================================================================= */
51
+
52
+ [data-style='bits-ui'] [data-menu-item] {
53
+ @apply text-surface-z7 rounded-lg;
54
+ }
55
+
56
+ [data-style='bits-ui'] [data-menu-item]:hover:not(:disabled),
57
+ [data-style='bits-ui'] [data-menu-item]:focus:not(:disabled) {
58
+ @apply bg-surface-z2 text-surface-z9 outline-none;
59
+ }
60
+
61
+ /* Item elements */
62
+ [data-style='bits-ui'] [data-menu-item] [data-item-icon] {
63
+ @apply text-surface-z5;
64
+ }
65
+
66
+ [data-style='bits-ui'] [data-menu-item]:hover:not(:disabled) [data-item-icon] {
67
+ @apply text-surface-z6;
68
+ }
69
+
70
+ [data-style='bits-ui'] [data-menu-item] [data-item-description] {
71
+ @apply text-surface-z5;
72
+ }
73
+
74
+ /* =============================================================================
75
+ Groups
76
+ ============================================================================= */
77
+
78
+ [data-style='bits-ui'] [data-menu-group] {
79
+ @apply text-surface-z5;
80
+ }
81
+
82
+ /* =============================================================================
83
+ Divider
84
+ ============================================================================= */
85
+
86
+ [data-style='bits-ui'] [data-menu-separator] {
87
+ @apply bg-none bg-surface-z3;
88
+ }