@rokkit/themes 1.0.4 → 1.1.0

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 (335) hide show
  1. package/README.md +11 -19
  2. package/build.mjs +7 -21
  3. package/package.json +24 -132
  4. package/src/base/carousel.css +2 -2
  5. package/src/base/code-block.css +76 -0
  6. package/src/base/display.css +16 -8
  7. package/src/base/frame.css +36 -0
  8. package/src/base/index.css +2 -0
  9. package/src/base/input.css +57 -14
  10. package/src/base/nav-content.css +3 -3
  11. package/src/base/stepper.css +16 -14
  12. package/src/base/tabs.css +15 -2
  13. package/src/base/typography.css +32 -13
  14. package/src/frosted/button.css +27 -32
  15. package/src/frosted/card.css +8 -12
  16. package/src/frosted/chart.css +6 -6
  17. package/src/frosted/code-block.css +33 -0
  18. package/src/frosted/dropdown.css +9 -14
  19. package/src/frosted/floating-action.css +10 -10
  20. package/src/frosted/floating-navigation.css +13 -13
  21. package/src/frosted/frame.css +17 -0
  22. package/src/frosted/index.css +2 -0
  23. package/src/frosted/input.css +16 -17
  24. package/src/frosted/list.css +46 -21
  25. package/src/frosted/menu.css +13 -17
  26. package/src/frosted/message.css +8 -8
  27. package/src/frosted/range.css +8 -8
  28. package/src/frosted/search-filter.css +8 -8
  29. package/src/frosted/select.css +31 -31
  30. package/src/frosted/status-list.css +17 -17
  31. package/src/frosted/step-indicator.css +8 -9
  32. package/src/frosted/swatch.css +3 -3
  33. package/src/frosted/switch.css +3 -4
  34. package/src/frosted/table.css +16 -16
  35. package/src/frosted/tabs.css +8 -8
  36. package/src/frosted/timeline.css +5 -6
  37. package/src/frosted/toc.css +4 -4
  38. package/src/frosted/toggle.css +7 -7
  39. package/src/frosted/toolbar.css +15 -15
  40. package/src/frosted/tree.css +19 -19
  41. package/src/index.css +2 -0
  42. package/src/index.js +0 -1
  43. package/src/material/button.css +29 -29
  44. package/src/material/card.css +12 -12
  45. package/src/material/chart.css +6 -6
  46. package/src/material/code-block.css +33 -0
  47. package/src/material/dropdown.css +11 -11
  48. package/src/material/floating-action.css +10 -10
  49. package/src/material/floating-navigation.css +13 -13
  50. package/src/material/frame.css +17 -0
  51. package/src/material/index.css +2 -0
  52. package/src/material/input.css +21 -21
  53. package/src/material/list.css +34 -20
  54. package/src/material/menu.css +16 -16
  55. package/src/material/message.css +8 -8
  56. package/src/material/range.css +8 -8
  57. package/src/material/search-filter.css +8 -8
  58. package/src/material/select.css +31 -31
  59. package/src/material/status-list.css +17 -17
  60. package/src/material/step-indicator.css +8 -9
  61. package/src/material/swatch.css +3 -3
  62. package/src/material/switch.css +6 -6
  63. package/src/material/table.css +16 -16
  64. package/src/material/tabs.css +8 -8
  65. package/src/material/timeline.css +5 -6
  66. package/src/material/toc.css +4 -4
  67. package/src/material/toggle.css +7 -7
  68. package/src/material/toolbar.css +11 -11
  69. package/src/material/tree.css +17 -17
  70. package/src/minimal/button.css +30 -30
  71. package/src/minimal/card.css +13 -13
  72. package/src/minimal/chart.css +6 -6
  73. package/src/minimal/code-block.css +33 -0
  74. package/src/minimal/dropdown.css +11 -11
  75. package/src/minimal/floating-action.css +10 -10
  76. package/src/minimal/floating-navigation.css +12 -12
  77. package/src/minimal/frame.css +17 -0
  78. package/src/minimal/index.css +2 -0
  79. package/src/minimal/input.css +24 -24
  80. package/src/minimal/list.css +63 -23
  81. package/src/minimal/menu.css +15 -15
  82. package/src/minimal/message.css +8 -8
  83. package/src/minimal/range.css +7 -7
  84. package/src/minimal/search-filter.css +8 -8
  85. package/src/minimal/select.css +27 -39
  86. package/src/minimal/status-list.css +17 -17
  87. package/src/minimal/step-indicator.css +8 -8
  88. package/src/minimal/swatch.css +3 -3
  89. package/src/minimal/switch.css +6 -6
  90. package/src/minimal/table.css +16 -16
  91. package/src/minimal/tabs.css +14 -14
  92. package/src/minimal/timeline.css +4 -4
  93. package/src/minimal/toc.css +4 -4
  94. package/src/minimal/toggle.css +7 -7
  95. package/src/minimal/toolbar.css +14 -14
  96. package/src/minimal/tree.css +24 -18
  97. package/src/rokkit/avatar.css +6 -6
  98. package/src/rokkit/badge.css +5 -5
  99. package/src/rokkit/button.css +55 -37
  100. package/src/rokkit/card.css +11 -11
  101. package/src/rokkit/chart.css +6 -6
  102. package/src/rokkit/code-block.css +33 -0
  103. package/src/rokkit/connector.css +1 -1
  104. package/src/rokkit/divider.css +5 -5
  105. package/src/rokkit/dropdown.css +11 -11
  106. package/src/rokkit/floating-action.css +11 -11
  107. package/src/rokkit/floating-navigation.css +15 -15
  108. package/src/rokkit/frame.css +17 -0
  109. package/src/rokkit/grid.css +8 -8
  110. package/src/rokkit/index.css +2 -1
  111. package/src/rokkit/input.css +17 -17
  112. package/src/rokkit/list.css +46 -21
  113. package/src/rokkit/menu.css +14 -14
  114. package/src/rokkit/message.css +12 -12
  115. package/src/rokkit/range.css +10 -10
  116. package/src/rokkit/search-filter.css +8 -8
  117. package/src/rokkit/select.css +34 -34
  118. package/src/rokkit/status-list.css +17 -17
  119. package/src/rokkit/step-indicator.css +8 -9
  120. package/src/rokkit/swatch.css +3 -3
  121. package/src/rokkit/switch.css +6 -6
  122. package/src/rokkit/table.css +16 -16
  123. package/src/rokkit/tabs.css +31 -28
  124. package/src/rokkit/timeline.css +5 -6
  125. package/src/rokkit/toc.css +4 -4
  126. package/src/rokkit/toggle.css +21 -10
  127. package/src/rokkit/toolbar.css +15 -15
  128. package/src/rokkit/tooltip.css +1 -1
  129. package/src/rokkit/tree.css +23 -23
  130. package/src/rokkit/upload-progress.css +18 -18
  131. package/src/rokkit/upload-target.css +8 -8
  132. package/src/zen-sumi/button.css +176 -0
  133. package/src/zen-sumi/card.css +104 -0
  134. package/src/zen-sumi/chart.css +41 -0
  135. package/src/zen-sumi/code-block.css +35 -0
  136. package/src/zen-sumi/dropdown.css +53 -0
  137. package/src/zen-sumi/floating-action.css +68 -0
  138. package/src/zen-sumi/floating-navigation.css +74 -0
  139. package/src/zen-sumi/frame.css +20 -0
  140. package/src/zen-sumi/index.css +53 -0
  141. package/src/zen-sumi/input.css +171 -0
  142. package/src/zen-sumi/list.css +128 -0
  143. package/src/zen-sumi/menu.css +91 -0
  144. package/src/zen-sumi/message.css +37 -0
  145. package/src/zen-sumi/range.css +62 -0
  146. package/src/zen-sumi/search-filter.css +49 -0
  147. package/src/zen-sumi/select.css +160 -0
  148. package/src/zen-sumi/status-list.css +66 -0
  149. package/src/zen-sumi/step-indicator.css +40 -0
  150. package/src/zen-sumi/swatch.css +21 -0
  151. package/src/zen-sumi/switch.css +34 -0
  152. package/src/zen-sumi/table.css +118 -0
  153. package/src/zen-sumi/tabs.css +78 -0
  154. package/src/zen-sumi/timeline.css +46 -0
  155. package/src/zen-sumi/toc.css +22 -0
  156. package/src/zen-sumi/toggle.css +59 -0
  157. package/src/zen-sumi/toolbar.css +86 -0
  158. package/src/zen-sumi/tree.css +137 -0
  159. package/dist/ant-design.css +0 -2129
  160. package/dist/base.css +0 -6506
  161. package/dist/bits-ui.css +0 -2113
  162. package/dist/carbon.css +0 -2123
  163. package/dist/daisy-ui.css +0 -2138
  164. package/dist/frosted.css +0 -1953
  165. package/dist/grada-ui.css +0 -1915
  166. package/dist/index.css +0 -27359
  167. package/dist/material.css +0 -1924
  168. package/dist/minimal.css +0 -1978
  169. package/dist/rokkit.css +0 -2471
  170. package/dist/shadcn.css +0 -2099
  171. package/src/ant-design/button.css +0 -190
  172. package/src/ant-design/card.css +0 -100
  173. package/src/ant-design/chart.css +0 -34
  174. package/src/ant-design/connector.css +0 -11
  175. package/src/ant-design/dropdown.css +0 -50
  176. package/src/ant-design/floating-action.css +0 -63
  177. package/src/ant-design/floating-navigation.css +0 -70
  178. package/src/ant-design/grid.css +0 -46
  179. package/src/ant-design/index.css +0 -35
  180. package/src/ant-design/input.css +0 -151
  181. package/src/ant-design/list.css +0 -126
  182. package/src/ant-design/menu.css +0 -88
  183. package/src/ant-design/message.css +0 -35
  184. package/src/ant-design/range.css +0 -61
  185. package/src/ant-design/search-filter.css +0 -49
  186. package/src/ant-design/select.css +0 -158
  187. package/src/ant-design/status-list.css +0 -66
  188. package/src/ant-design/step-indicator.css +0 -38
  189. package/src/ant-design/switch.css +0 -29
  190. package/src/ant-design/table.css +0 -91
  191. package/src/ant-design/tabs.css +0 -153
  192. package/src/ant-design/timeline.css +0 -45
  193. package/src/ant-design/toc.css +0 -18
  194. package/src/ant-design/toggle.css +0 -48
  195. package/src/ant-design/toolbar.css +0 -85
  196. package/src/ant-design/tree.css +0 -137
  197. package/src/ant-design/upload-progress.css +0 -102
  198. package/src/ant-design/upload-target.css +0 -50
  199. package/src/bits-ui/button.css +0 -176
  200. package/src/bits-ui/card.css +0 -99
  201. package/src/bits-ui/chart.css +0 -34
  202. package/src/bits-ui/connector.css +0 -11
  203. package/src/bits-ui/dropdown.css +0 -50
  204. package/src/bits-ui/floating-action.css +0 -63
  205. package/src/bits-ui/floating-navigation.css +0 -70
  206. package/src/bits-ui/grid.css +0 -46
  207. package/src/bits-ui/index.css +0 -35
  208. package/src/bits-ui/input.css +0 -154
  209. package/src/bits-ui/list.css +0 -126
  210. package/src/bits-ui/menu.css +0 -88
  211. package/src/bits-ui/message.css +0 -35
  212. package/src/bits-ui/range.css +0 -61
  213. package/src/bits-ui/search-filter.css +0 -49
  214. package/src/bits-ui/select.css +0 -158
  215. package/src/bits-ui/status-list.css +0 -66
  216. package/src/bits-ui/step-indicator.css +0 -40
  217. package/src/bits-ui/switch.css +0 -29
  218. package/src/bits-ui/table.css +0 -89
  219. package/src/bits-ui/tabs.css +0 -151
  220. package/src/bits-ui/timeline.css +0 -45
  221. package/src/bits-ui/toc.css +0 -18
  222. package/src/bits-ui/toggle.css +0 -48
  223. package/src/bits-ui/toolbar.css +0 -85
  224. package/src/bits-ui/tree.css +0 -135
  225. package/src/bits-ui/upload-progress.css +0 -102
  226. package/src/bits-ui/upload-target.css +0 -50
  227. package/src/carbon/button.css +0 -186
  228. package/src/carbon/card.css +0 -97
  229. package/src/carbon/chart.css +0 -34
  230. package/src/carbon/connector.css +0 -11
  231. package/src/carbon/dropdown.css +0 -50
  232. package/src/carbon/floating-action.css +0 -63
  233. package/src/carbon/floating-navigation.css +0 -70
  234. package/src/carbon/grid.css +0 -46
  235. package/src/carbon/index.css +0 -34
  236. package/src/carbon/input.css +0 -148
  237. package/src/carbon/list.css +0 -124
  238. package/src/carbon/menu.css +0 -88
  239. package/src/carbon/message.css +0 -37
  240. package/src/carbon/range.css +0 -61
  241. package/src/carbon/search-filter.css +0 -49
  242. package/src/carbon/select.css +0 -158
  243. package/src/carbon/status-list.css +0 -66
  244. package/src/carbon/step-indicator.css +0 -40
  245. package/src/carbon/switch.css +0 -31
  246. package/src/carbon/table.css +0 -93
  247. package/src/carbon/tabs.css +0 -151
  248. package/src/carbon/timeline.css +0 -45
  249. package/src/carbon/toc.css +0 -22
  250. package/src/carbon/toggle.css +0 -48
  251. package/src/carbon/toolbar.css +0 -84
  252. package/src/carbon/tree.css +0 -135
  253. package/src/carbon/upload-progress.css +0 -102
  254. package/src/carbon/upload-target.css +0 -50
  255. package/src/daisy-ui/button.css +0 -196
  256. package/src/daisy-ui/card.css +0 -99
  257. package/src/daisy-ui/chart.css +0 -34
  258. package/src/daisy-ui/connector.css +0 -11
  259. package/src/daisy-ui/dropdown.css +0 -50
  260. package/src/daisy-ui/floating-action.css +0 -63
  261. package/src/daisy-ui/floating-navigation.css +0 -70
  262. package/src/daisy-ui/grid.css +0 -46
  263. package/src/daisy-ui/index.css +0 -34
  264. package/src/daisy-ui/input.css +0 -148
  265. package/src/daisy-ui/list.css +0 -127
  266. package/src/daisy-ui/menu.css +0 -88
  267. package/src/daisy-ui/message.css +0 -37
  268. package/src/daisy-ui/range.css +0 -61
  269. package/src/daisy-ui/search-filter.css +0 -49
  270. package/src/daisy-ui/select.css +0 -158
  271. package/src/daisy-ui/status-list.css +0 -66
  272. package/src/daisy-ui/step-indicator.css +0 -37
  273. package/src/daisy-ui/switch.css +0 -31
  274. package/src/daisy-ui/table.css +0 -91
  275. package/src/daisy-ui/tabs.css +0 -153
  276. package/src/daisy-ui/timeline.css +0 -45
  277. package/src/daisy-ui/toc.css +0 -22
  278. package/src/daisy-ui/toggle.css +0 -48
  279. package/src/daisy-ui/toolbar.css +0 -85
  280. package/src/daisy-ui/tree.css +0 -137
  281. package/src/daisy-ui/upload-progress.css +0 -102
  282. package/src/daisy-ui/upload-target.css +0 -50
  283. package/src/grada-ui/button.css +0 -249
  284. package/src/grada-ui/card.css +0 -96
  285. package/src/grada-ui/chart.css +0 -34
  286. package/src/grada-ui/dropdown.css +0 -58
  287. package/src/grada-ui/floating-action.css +0 -66
  288. package/src/grada-ui/floating-navigation.css +0 -69
  289. package/src/grada-ui/index.css +0 -56
  290. package/src/grada-ui/input.css +0 -154
  291. package/src/grada-ui/list.css +0 -124
  292. package/src/grada-ui/menu.css +0 -81
  293. package/src/grada-ui/message.css +0 -48
  294. package/src/grada-ui/range.css +0 -59
  295. package/src/grada-ui/search-filter.css +0 -47
  296. package/src/grada-ui/select.css +0 -190
  297. package/src/grada-ui/status-list.css +0 -66
  298. package/src/grada-ui/step-indicator.css +0 -37
  299. package/src/grada-ui/switch.css +0 -35
  300. package/src/grada-ui/table.css +0 -79
  301. package/src/grada-ui/tabs.css +0 -59
  302. package/src/grada-ui/timeline.css +0 -46
  303. package/src/grada-ui/toc.css +0 -24
  304. package/src/grada-ui/toggle.css +0 -47
  305. package/src/grada-ui/toolbar.css +0 -91
  306. package/src/grada-ui/tree.css +0 -100
  307. package/src/rokkit/stack.css +0 -6
  308. package/src/shadcn/button.css +0 -175
  309. package/src/shadcn/card.css +0 -99
  310. package/src/shadcn/chart.css +0 -34
  311. package/src/shadcn/connector.css +0 -11
  312. package/src/shadcn/dropdown.css +0 -50
  313. package/src/shadcn/floating-action.css +0 -63
  314. package/src/shadcn/floating-navigation.css +0 -70
  315. package/src/shadcn/grid.css +0 -46
  316. package/src/shadcn/index.css +0 -35
  317. package/src/shadcn/input.css +0 -143
  318. package/src/shadcn/list.css +0 -124
  319. package/src/shadcn/menu.css +0 -88
  320. package/src/shadcn/message.css +0 -35
  321. package/src/shadcn/range.css +0 -61
  322. package/src/shadcn/search-filter.css +0 -49
  323. package/src/shadcn/select.css +0 -158
  324. package/src/shadcn/status-list.css +0 -66
  325. package/src/shadcn/step-indicator.css +0 -37
  326. package/src/shadcn/switch.css +0 -31
  327. package/src/shadcn/table.css +0 -89
  328. package/src/shadcn/tabs.css +0 -151
  329. package/src/shadcn/timeline.css +0 -45
  330. package/src/shadcn/toc.css +0 -20
  331. package/src/shadcn/toggle.css +0 -48
  332. package/src/shadcn/toolbar.css +0 -84
  333. package/src/shadcn/tree.css +0 -135
  334. package/src/shadcn/upload-progress.css +0 -102
  335. package/src/shadcn/upload-target.css +0 -50
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Select - Zen-Sumi Theme Styles
3
+ *
4
+ * Hairline border trigger. Dropdown: paper-z1 bg, no shadow.
5
+ * Options: transparent default, surface-z2 hover, primary accent on selected.
6
+ * Focus: border darkens — no ring glow.
7
+ */
8
+
9
+ /* =============================================================================
10
+ Trigger Button
11
+ ============================================================================= */
12
+
13
+ [data-style='zen-sumi'] [data-select-trigger] {
14
+ @apply text-ink-soft border-paper-mute border bg-transparent bg-none;
15
+ }
16
+
17
+ [data-style='zen-sumi'] [data-select-trigger]:hover:not(:disabled) {
18
+ @apply border-paper-edge text-ink-mute bg-none;
19
+ }
20
+
21
+ [data-style='zen-sumi'] [data-select-trigger]:focus-visible {
22
+ @apply outline-none;
23
+ box-shadow: 0 0 0 1px var(--color-surface-z5);
24
+ }
25
+
26
+ [data-style='zen-sumi'] [data-select][data-open='true'] [data-select-trigger] {
27
+ @apply border-ink-soft bg-none;
28
+ }
29
+
30
+ /* =============================================================================
31
+ Placeholder
32
+ ============================================================================= */
33
+
34
+ [data-style='zen-sumi'] [data-select-placeholder] {
35
+ @apply text-paper-edge;
36
+ }
37
+
38
+ /* =============================================================================
39
+ Arrow
40
+ ============================================================================= */
41
+
42
+ [data-style='zen-sumi'] [data-select-arrow] {
43
+ @apply text-paper-edge;
44
+ }
45
+
46
+ [data-style='zen-sumi'] [data-select-trigger]:hover:not(:disabled) [data-select-arrow] {
47
+ @apply text-paper-edge;
48
+ }
49
+
50
+ /* =============================================================================
51
+ Tags (MultiSelect)
52
+ ============================================================================= */
53
+
54
+ [data-style='zen-sumi'] [data-select-tag] {
55
+ @apply text-ink-soft border-paper-mute border bg-transparent bg-none;
56
+ }
57
+
58
+ [data-style='zen-sumi'] [data-select-tag-remove] {
59
+ @apply text-paper-edge;
60
+ }
61
+
62
+ [data-style='zen-sumi'] [data-select-tag-remove]:hover {
63
+ @apply text-ink-mute;
64
+ }
65
+
66
+ /* =============================================================================
67
+ Dropdown Panel — paper bg, hairline border, no shadow
68
+ ============================================================================= */
69
+
70
+ [data-style='zen-sumi'] [data-select-dropdown] {
71
+ @apply bg-paper border-paper-mute border bg-none;
72
+ box-shadow: none;
73
+ }
74
+
75
+ /* =============================================================================
76
+ Options
77
+ ============================================================================= */
78
+
79
+ [data-style='zen-sumi'] [data-select-option] {
80
+ @apply text-ink-soft border-0 border-solid border-transparent;
81
+ }
82
+
83
+ [data-style='zen-sumi'] [data-select-option]:hover:not(:disabled),
84
+ [data-style='zen-sumi'] [data-select-option]:focus:not(:disabled) {
85
+ @apply bg-paper-mute text-ink-mute bg-none outline-none;
86
+ }
87
+
88
+ /* Selected state */
89
+ [data-style='zen-sumi'] [data-select-option][data-selected='true'] {
90
+ @apply text-ink-mute border-primary border-l-2 bg-none;
91
+ }
92
+
93
+ [data-style='zen-sumi']
94
+ [data-select-dropdown]:focus-within
95
+ [data-select-option][data-selected='true'] {
96
+ @apply text-primary border-primary border-l-2 bg-none;
97
+ }
98
+
99
+ /* Check mark */
100
+ [data-style='zen-sumi'] [data-select-check] {
101
+ @apply text-primary;
102
+ }
103
+
104
+ /* Checkbox */
105
+ [data-style='zen-sumi'] [data-select-checkbox] {
106
+ @apply border-paper-edge bg-transparent bg-none;
107
+ }
108
+
109
+ [data-style='zen-sumi'] [data-select-checkbox][data-checked='true'] {
110
+ @apply bg-primary border-primary bg-none text-on-primary;
111
+ }
112
+
113
+ /* Item elements */
114
+ [data-style='zen-sumi'] [data-select-option] [data-item-description] {
115
+ @apply text-paper-edge;
116
+ }
117
+
118
+ [data-style='zen-sumi'] [data-select-option][data-selected='true'] [data-item-description] {
119
+ @apply text-primary;
120
+ }
121
+
122
+ /* =============================================================================
123
+ Groups
124
+ ============================================================================= */
125
+
126
+ [data-style='zen-sumi'] [data-select-group-label] {
127
+ @apply text-paper-edge;
128
+ }
129
+
130
+ /* =============================================================================
131
+ Divider
132
+ ============================================================================= */
133
+
134
+ [data-style='zen-sumi'] [data-select-divider] {
135
+ @apply bg-paper-mute bg-none;
136
+ }
137
+
138
+ /* =============================================================================
139
+ Filter Input
140
+ ============================================================================= */
141
+
142
+ [data-style='zen-sumi'] [data-select-filter] {
143
+ @apply bg-paper;
144
+ }
145
+
146
+ [data-style='zen-sumi'] [data-select-filter-input] {
147
+ @apply text-ink-mute border-paper-mute border bg-transparent;
148
+ }
149
+
150
+ [data-style='zen-sumi'] [data-select-filter-input]:focus {
151
+ @apply border-ink-soft;
152
+ }
153
+
154
+ [data-style='zen-sumi'] [data-select-filter-input]::placeholder {
155
+ @apply text-paper-edge;
156
+ }
157
+
158
+ [data-style='zen-sumi'] [data-select-empty] {
159
+ @apply text-paper-edge;
160
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * StatusList - Zen-Sumi Theme Styles
3
+ */
4
+
5
+ /* ── @rokkit/ui StatusList: icon and text colors by status ── */
6
+
7
+ [data-style='zen-sumi'] [data-status-item][data-status='pass'] span {
8
+ @apply text-success;
9
+ }
10
+ [data-style='zen-sumi'] [data-status-item][data-status='fail'] span {
11
+ @apply text-error;
12
+ }
13
+ [data-style='zen-sumi'] [data-status-item][data-status='warn'] span {
14
+ @apply text-warning;
15
+ }
16
+ [data-style='zen-sumi'] [data-status-item][data-status='unknown'] span {
17
+ @apply text-paper-edge;
18
+ }
19
+
20
+ [data-style='zen-sumi'] [data-status-item][data-status='pass'] {
21
+ @apply text-success;
22
+ }
23
+ [data-style='zen-sumi'] [data-status-item][data-status='fail'] {
24
+ @apply text-error;
25
+ }
26
+ [data-style='zen-sumi'] [data-status-item][data-status='warn'] {
27
+ @apply text-warning;
28
+ }
29
+ [data-style='zen-sumi'] [data-status-item][data-status='unknown'] {
30
+ @apply text-paper-edge;
31
+ }
32
+
33
+ /* ── @rokkit/forms StatusList: group headers by severity ── */
34
+
35
+ [data-style='zen-sumi'] [data-status-group][data-severity='error'] [data-status-header] {
36
+ @apply text-error;
37
+ }
38
+ [data-style='zen-sumi'] [data-status-group][data-severity='warning'] [data-status-header] {
39
+ @apply text-warning;
40
+ }
41
+ [data-style='zen-sumi'] [data-status-group][data-severity='info'] [data-status-header] {
42
+ @apply text-info;
43
+ }
44
+ [data-style='zen-sumi'] [data-status-group][data-severity='success'] [data-status-header] {
45
+ @apply text-success;
46
+ }
47
+
48
+ /* ── @rokkit/forms StatusList: item colors ── */
49
+
50
+ [data-style='zen-sumi'] [data-status-item][data-status='error'] {
51
+ @apply text-error;
52
+ }
53
+ [data-style='zen-sumi'] [data-status-item][data-status='warning'] {
54
+ @apply text-warning;
55
+ }
56
+ [data-style='zen-sumi'] [data-status-item][data-status='info'] {
57
+ @apply text-info;
58
+ }
59
+ [data-style='zen-sumi'] [data-status-item][data-status='success'] {
60
+ @apply text-success;
61
+ }
62
+
63
+ /* Count badge */
64
+ [data-style='zen-sumi'] [data-status-count] {
65
+ @apply text-paper-edge bg-none font-medium;
66
+ }
@@ -0,0 +1,40 @@
1
+ /* StepIndicator — Zen-Sumi theme (flat, hairline border) */
2
+
3
+ /* ── Number circles ── */
4
+
5
+ [data-style='zen-sumi'] [data-step-item][data-step-state='complete'] [data-step-number] {
6
+ @apply bg-primary border-primary text-on-primary bg-none;
7
+ }
8
+
9
+ [data-style='zen-sumi'] [data-step-item][data-step-state='current'] [data-step-number] {
10
+ @apply bg-transparent border-primary text-primary bg-none;
11
+ }
12
+
13
+ [data-style='zen-sumi'] [data-step-item][data-step-state='upcoming'] [data-step-number] {
14
+ @apply bg-transparent border-paper-mute text-paper-edge bg-none;
15
+ }
16
+
17
+ /* ── Labels ── */
18
+
19
+ [data-style='zen-sumi'] [data-step-item][data-step-state='complete'] [data-step-label] {
20
+ @apply text-primary bg-none;
21
+ }
22
+
23
+ [data-style='zen-sumi'] [data-step-item][data-step-state='current'] [data-step-label] {
24
+ @apply text-ink-mute font-medium bg-none;
25
+ }
26
+
27
+ [data-style='zen-sumi'] [data-step-item][data-step-state='upcoming'] [data-step-label] {
28
+ @apply text-paper-edge bg-none;
29
+ }
30
+
31
+ /* ── Connector lines ── */
32
+
33
+ [data-style='zen-sumi'] [data-step-item][data-step-state='complete']::after {
34
+ @apply bg-primary;
35
+ }
36
+
37
+ [data-style='zen-sumi'] [data-step-item][data-step-state='current']::after,
38
+ [data-style='zen-sumi'] [data-step-item][data-step-state='upcoming']::after {
39
+ @apply bg-paper-mute;
40
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Swatch — Zen-Sumi Theme
3
+ * Selected: primary (shu) outline. Hover/focus: surface-z5 outline.
4
+ */
5
+
6
+ [data-style='zen-sumi'] [data-swatch-item][data-selected] {
7
+ background: transparent;
8
+ @apply outline-primary;
9
+ }
10
+
11
+ [data-style='zen-sumi']
12
+ [data-swatch-item]:hover:not(:disabled):not([data-disabled]):not([data-selected]),
13
+ [data-style='zen-sumi']
14
+ [data-swatch-item]:focus-visible:not(:disabled):not([data-disabled]):not([data-selected]) {
15
+ @apply outline-paper-edge;
16
+ }
17
+
18
+ [data-style='zen-sumi'] [data-swatch-item][data-selected]:focus-visible {
19
+ @apply outline-primary;
20
+ outline-offset: 3px;
21
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Switch - Zen-Sumi Theme Styles
3
+ *
4
+ * Flat pill. Off: surface-z3 track. On: primary-z5 (shu vermillion) track.
5
+ * Thumb: paper white. No shadows.
6
+ */
7
+
8
+ [data-style='zen-sumi'] [data-switch-track] {
9
+ @apply bg-paper-mute border-0;
10
+ background-image: none;
11
+ }
12
+
13
+ [data-style='zen-sumi'] [data-switch] [data-switch-thumb] {
14
+ --switch-thumb-travel: 1.25rem;
15
+ @apply bg-paper;
16
+ }
17
+
18
+ [data-style='zen-sumi'] [data-switch]:focus-visible [data-switch-track] {
19
+ box-shadow: 0 0 0 2px var(--color-surface-z5);
20
+ }
21
+
22
+ /* On state — shu vermillion */
23
+ [data-style='zen-sumi'] [data-switch][aria-checked='true'] [data-switch-track] {
24
+ @apply bg-primary border-0;
25
+ background-image: none;
26
+ }
27
+
28
+ [data-style='zen-sumi'] [data-switch][aria-checked='true'] [data-switch-thumb] {
29
+ @apply bg-paper;
30
+ }
31
+
32
+ [data-style='zen-sumi'] [data-switch-label] {
33
+ @apply text-ink-soft;
34
+ }
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Table - Zen-Sumi Theme Styles
3
+ *
4
+ * Clean, flat rows. Header: uppercase small text, hairline bottom border.
5
+ * No shadow on header. Row hover: surface-z1 wash. No bg on selected — left border only.
6
+ */
7
+
8
+ /* =============================================================================
9
+ Header
10
+ ============================================================================= */
11
+
12
+ [data-style='zen-sumi'] [data-table-header] th {
13
+ @apply text-ink-soft border-paper-mute border-b bg-transparent;
14
+ font-size: 0.6875rem;
15
+ font-weight: 600;
16
+ letter-spacing: 0.05em;
17
+ text-transform: uppercase;
18
+ }
19
+
20
+ [data-style='zen-sumi'] [data-table-header-cell][data-sortable='true']:hover {
21
+ @apply text-ink-mute;
22
+ }
23
+
24
+ [data-style='zen-sumi'] [data-table-header-cell][data-sort-order='ascending'],
25
+ [data-style='zen-sumi'] [data-table-header-cell][data-sort-order='descending'] {
26
+ @apply text-primary;
27
+ }
28
+
29
+ [data-style='zen-sumi'] [data-table-sort-icon] {
30
+ @apply text-ink-faint;
31
+ }
32
+
33
+ [data-style='zen-sumi']
34
+ [data-table-header-cell][data-sort-order='ascending']
35
+ [data-table-sort-icon],
36
+ [data-style='zen-sumi']
37
+ [data-table-header-cell][data-sort-order='descending']
38
+ [data-table-sort-icon] {
39
+ @apply text-primary;
40
+ }
41
+
42
+ /* =============================================================================
43
+ Caption
44
+ ============================================================================= */
45
+
46
+ [data-style='zen-sumi'] [data-table-caption] {
47
+ @apply text-ink-soft;
48
+ }
49
+
50
+ /* =============================================================================
51
+ Rows
52
+ ============================================================================= */
53
+
54
+ [data-style='zen-sumi'] [data-table-row] {
55
+ @apply text-ink-soft border-paper-mute border-b;
56
+ }
57
+
58
+ [data-style='zen-sumi'] [data-table-row]:hover {
59
+ @apply bg-paper-soft text-ink-mute bg-none;
60
+ }
61
+
62
+ [data-style='zen-sumi'] [data-table-row]:focus {
63
+ @apply text-ink-mute bg-none outline-none;
64
+ box-shadow: inset 0 0 0 1px var(--color-surface-z4);
65
+ }
66
+
67
+ [data-style='zen-sumi'] [data-table-row][data-selected='true'] {
68
+ @apply text-primary border-l-primary border-l-2 bg-none;
69
+ }
70
+
71
+ /* =============================================================================
72
+ Striped
73
+ ============================================================================= */
74
+
75
+ [data-style='zen-sumi'] [data-table-striped] [data-table-body] tr:nth-child(even) {
76
+ @apply bg-paper-soft;
77
+ }
78
+
79
+ /* =============================================================================
80
+ Empty
81
+ ============================================================================= */
82
+
83
+ [data-style='zen-sumi'] [data-table-empty] {
84
+ @apply text-ink-soft;
85
+ }
86
+
87
+ /* =============================================================================
88
+ Cell Icon
89
+ ============================================================================= */
90
+
91
+ [data-style='zen-sumi'] [data-table-cell] [data-cell-icon] {
92
+ @apply text-ink-soft;
93
+ }
94
+
95
+ [data-style='zen-sumi'] [data-table-row][data-selected='true'] [data-cell-icon] {
96
+ @apply text-primary;
97
+ }
98
+
99
+ /* =============================================================================
100
+ Responsive Card Layout
101
+ ============================================================================= */
102
+
103
+ @media (max-width: 639px) {
104
+ [data-style='zen-sumi'] [data-table-responsive] [data-table-row] {
105
+ @apply border-paper-mute border bg-none;
106
+ }
107
+
108
+ [data-style='zen-sumi'] [data-table-responsive] [data-table-cell]::before {
109
+ @apply text-ink-soft;
110
+ }
111
+
112
+ [data-style='zen-sumi']
113
+ [data-table-responsive][data-table-striped]
114
+ [data-table-body]
115
+ tr:nth-child(even) {
116
+ background: unset;
117
+ }
118
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Tabs - Zen-Sumi Theme Styles
3
+ *
4
+ * Pill-style tabs with filled active state (ink background, paper text).
5
+ * No underlines — depth through background fill only.
6
+ * Inactive: transparent. Hover: surface-z2 wash. Active: surface-z9 fill.
7
+ */
8
+
9
+ /* =============================================================================
10
+ Tab List — borderless container
11
+ ============================================================================= */
12
+
13
+ [data-style='zen-sumi'] [data-tabs-list] {
14
+ @apply bg-paper-soft gap-1 border-0 p-1;
15
+ border-radius: var(--radius-md, 0.375rem);
16
+ }
17
+
18
+ [data-style='zen-sumi'] [data-tabs][data-orientation='vertical'] [data-tabs-list] {
19
+ @apply flex-col;
20
+ }
21
+
22
+ /* =============================================================================
23
+ Tab Triggers — pill fill, not underline
24
+ ============================================================================= */
25
+
26
+ [data-style='zen-sumi'] [data-tabs-trigger] {
27
+ @apply text-ink-soft bg-transparent border-0;
28
+ font-weight: 400;
29
+ border-radius: var(--radius-sm, 0.125rem);
30
+ transition:
31
+ background-color 150ms ease,
32
+ color 150ms ease;
33
+ }
34
+
35
+ [data-style='zen-sumi'] [data-tabs-trigger]:hover:not(:disabled):not([data-disabled]) {
36
+ @apply bg-paper-mute text-ink-mute;
37
+ }
38
+
39
+ [data-style='zen-sumi'] [data-tabs-trigger][data-selected] {
40
+ @apply bg-ink text-paper bg-none;
41
+ font-weight: 500;
42
+ }
43
+
44
+ /* Reset any gradient leakage */
45
+ [data-style='zen-sumi'] [data-tabs-list]:focus-within [data-tabs-trigger][data-selected] {
46
+ @apply bg-none;
47
+ }
48
+
49
+ [data-style='zen-sumi']
50
+ [data-tabs][data-orientation='vertical']
51
+ [data-tabs-list]:focus-within
52
+ [data-tabs-trigger][data-selected] {
53
+ @apply bg-none;
54
+ }
55
+
56
+ /* =============================================================================
57
+ Tab Icon
58
+ ============================================================================= */
59
+
60
+ [data-style='zen-sumi'] [data-tabs-trigger] [data-tabs-icon] {
61
+ @apply text-paper-edge;
62
+ }
63
+
64
+ [data-style='zen-sumi'] [data-tabs-trigger]:hover:not(:disabled) [data-tabs-icon] {
65
+ @apply text-ink-soft;
66
+ }
67
+
68
+ [data-style='zen-sumi'] [data-tabs-trigger][data-selected] [data-tabs-icon] {
69
+ @apply text-paper-soft;
70
+ }
71
+
72
+ /* =============================================================================
73
+ Tab Panel
74
+ ============================================================================= */
75
+
76
+ [data-style='zen-sumi'] [data-tabs-content] {
77
+ @apply text-ink-mute;
78
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Timeline - Zen-Sumi Theme Styles
3
+ *
4
+ * Restrained timeline. Completed/active: primary (shu) accent.
5
+ * Connectors: surface-z2 default, primary when completed.
6
+ */
7
+
8
+ /* =============================================================================
9
+ Circle
10
+ ============================================================================= */
11
+
12
+ [data-style='zen-sumi'] [data-timeline-circle] {
13
+ @apply border-paper-mute text-paper-edge;
14
+ }
15
+
16
+ [data-style='zen-sumi'] [data-timeline-item][data-completed] [data-timeline-circle] {
17
+ @apply border-primary text-primary;
18
+ }
19
+
20
+ [data-style='zen-sumi'] [data-timeline-item][data-active] [data-timeline-circle] {
21
+ @apply border-primary text-primary;
22
+ }
23
+
24
+ /* =============================================================================
25
+ Connector
26
+ ============================================================================= */
27
+
28
+ [data-style='zen-sumi'] [data-timeline-connector] {
29
+ @apply bg-paper-mute;
30
+ }
31
+
32
+ [data-style='zen-sumi'] [data-timeline-item][data-completed] [data-timeline-connector] {
33
+ @apply bg-primary;
34
+ }
35
+
36
+ /* =============================================================================
37
+ Body
38
+ ============================================================================= */
39
+
40
+ [data-style='zen-sumi'] [data-timeline-title] {
41
+ @apply text-ink-mute;
42
+ }
43
+
44
+ [data-style='zen-sumi'] [data-timeline-description] {
45
+ @apply text-paper-edge;
46
+ }
@@ -0,0 +1,22 @@
1
+ /* TableOfContents — Zen-Sumi theme */
2
+
3
+ [data-style='zen-sumi'] [data-toc] [data-toc-label] {
4
+ @apply text-paper-edge;
5
+ font-size: 0.6875rem;
6
+ font-weight: 600;
7
+ letter-spacing: 0.05em;
8
+ text-transform: uppercase;
9
+ }
10
+
11
+ [data-style='zen-sumi'] [data-toc] [data-toc-item] {
12
+ @apply text-paper-edge;
13
+ }
14
+
15
+ [data-style='zen-sumi'] [data-toc] [data-toc-item]:hover,
16
+ [data-style='zen-sumi'] [data-toc] [data-toc-item][data-toc-focused] {
17
+ @apply text-ink-mute outline-none;
18
+ }
19
+
20
+ [data-style='zen-sumi'] [data-toc] [data-toc-item][data-toc-active] {
21
+ @apply text-primary border-l-primary;
22
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Toggle - Zen-Sumi Theme Styles
3
+ *
4
+ * Pill container with primary-coloured active fill (shu vermillion).
5
+ * Inactive: transparent. Hover: surface-z2. Selected: primary fill on
6
+ * paper text — colourful enough that the active option is unambiguous
7
+ * at a glance, even in the small canvas-view-toggle (Live · Code · API).
8
+ */
9
+
10
+ /* =============================================================================
11
+ Toggle Container
12
+ ============================================================================= */
13
+
14
+ [data-style='zen-sumi'] [data-toggle] {
15
+ @apply bg-paper-soft border-paper-mute border;
16
+ border-radius: var(--radius-md, 0.375rem);
17
+ }
18
+
19
+ /* =============================================================================
20
+ Toggle Options
21
+ ============================================================================= */
22
+
23
+ [data-style='zen-sumi'] [data-toggle-option] {
24
+ @apply text-ink-soft border-0 border-solid border-transparent;
25
+ }
26
+
27
+ [data-style='zen-sumi'] [data-toggle-option]:hover:not(:disabled):not([data-disabled='true']),
28
+ [data-style='zen-sumi'] [data-toggle-option]:focus:not(:disabled):not([data-disabled='true']) {
29
+ @apply bg-paper-mute text-ink-mute;
30
+ }
31
+
32
+ /* Selected state — primary (shu) fill */
33
+ [data-style='zen-sumi'] [data-toggle-option][data-selected='true'] {
34
+ @apply bg-primary text-on-primary bg-none;
35
+ font-weight: 500;
36
+ }
37
+
38
+ /* =============================================================================
39
+ Toggle Icon
40
+ ============================================================================= */
41
+
42
+ /* Icons follow the option's text colour — `paper-edge` (hairline border
43
+ * tone) was the wrong baseline because it renders the icon nearly
44
+ * invisible against paper-soft/paper-mute in both modes. `ink-soft` at
45
+ * rest reads as "available but secondary," `ink-mute` on hover/focus
46
+ * matches the option label, and `paper` for selected contrasts cleanly
47
+ * against the ink fill. */
48
+ [data-style='zen-sumi'] [data-toggle-option] [data-toggle-icon] {
49
+ @apply text-ink-soft;
50
+ }
51
+
52
+ [data-style='zen-sumi'] [data-toggle-option]:hover:not(:disabled) [data-toggle-icon],
53
+ [data-style='zen-sumi'] [data-toggle-option]:focus:not(:disabled) [data-toggle-icon] {
54
+ @apply text-ink-mute;
55
+ }
56
+
57
+ [data-style='zen-sumi'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
58
+ @apply text-on-primary;
59
+ }