@rokkit/themes 1.0.3 → 1.0.5

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 (252) hide show
  1. package/README.md +11 -19
  2. package/build.mjs +5 -21
  3. package/package.json +23 -132
  4. package/src/base/carousel.css +1 -2
  5. package/src/base/density.css +3 -3
  6. package/src/base/gradient-border.css +32 -0
  7. package/src/base/index.css +3 -0
  8. package/src/base/input.css +9 -5
  9. package/src/base/item.css +13 -0
  10. package/src/base/layout.css +17 -0
  11. package/src/base/nav-content.css +3 -3
  12. package/src/base/radius.css +41 -0
  13. package/src/base/stepper.css +9 -14
  14. package/src/frosted/button.css +6 -11
  15. package/src/frosted/card.css +5 -9
  16. package/src/frosted/dropdown.css +5 -10
  17. package/src/frosted/floating-action.css +2 -2
  18. package/src/frosted/input.css +2 -3
  19. package/src/frosted/list.css +25 -0
  20. package/src/frosted/menu.css +4 -8
  21. package/src/frosted/range.css +2 -2
  22. package/src/frosted/select.css +1 -1
  23. package/src/frosted/step-indicator.css +1 -2
  24. package/src/frosted/switch.css +2 -3
  25. package/src/frosted/timeline.css +1 -2
  26. package/src/index.css +2 -0
  27. package/src/index.js +0 -1
  28. package/src/material/floating-action.css +2 -2
  29. package/src/material/list.css +14 -0
  30. package/src/material/range.css +2 -2
  31. package/src/material/select.css +1 -1
  32. package/src/material/step-indicator.css +1 -2
  33. package/src/material/switch.css +1 -1
  34. package/src/material/tabs.css +2 -2
  35. package/src/material/timeline.css +1 -2
  36. package/src/material/toggle.css +2 -2
  37. package/src/minimal/floating-action.css +1 -1
  38. package/src/minimal/list.css +14 -0
  39. package/src/minimal/select.css +1 -13
  40. package/src/rokkit/floating-action.css +5 -5
  41. package/src/rokkit/floating-navigation.css +1 -1
  42. package/src/rokkit/index.css +0 -1
  43. package/src/rokkit/input.css +1 -1
  44. package/src/rokkit/list.css +25 -0
  45. package/src/rokkit/range.css +2 -2
  46. package/src/rokkit/select.css +1 -1
  47. package/src/rokkit/step-indicator.css +1 -2
  48. package/src/rokkit/swatch.css +1 -1
  49. package/src/rokkit/switch.css +1 -1
  50. package/src/rokkit/timeline.css +1 -2
  51. package/src/rokkit/upload-progress.css +4 -4
  52. package/src/zen-sumi/button.css +176 -0
  53. package/src/zen-sumi/card.css +104 -0
  54. package/src/zen-sumi/chart.css +41 -0
  55. package/src/zen-sumi/dropdown.css +53 -0
  56. package/src/zen-sumi/floating-action.css +68 -0
  57. package/src/zen-sumi/floating-navigation.css +74 -0
  58. package/src/{grada-ui → zen-sumi}/index.css +25 -30
  59. package/src/zen-sumi/input.css +145 -0
  60. package/src/zen-sumi/list.css +128 -0
  61. package/src/zen-sumi/menu.css +91 -0
  62. package/src/zen-sumi/message.css +37 -0
  63. package/src/zen-sumi/range.css +62 -0
  64. package/src/zen-sumi/search-filter.css +49 -0
  65. package/src/zen-sumi/select.css +160 -0
  66. package/src/zen-sumi/status-list.css +66 -0
  67. package/src/zen-sumi/step-indicator.css +40 -0
  68. package/src/zen-sumi/swatch.css +21 -0
  69. package/src/zen-sumi/switch.css +34 -0
  70. package/src/zen-sumi/table.css +118 -0
  71. package/src/zen-sumi/tabs.css +78 -0
  72. package/src/zen-sumi/timeline.css +46 -0
  73. package/src/zen-sumi/toc.css +22 -0
  74. package/src/zen-sumi/toggle.css +51 -0
  75. package/src/zen-sumi/toolbar.css +86 -0
  76. package/src/zen-sumi/tree.css +137 -0
  77. package/dist/ant-design.css +0 -2129
  78. package/dist/base.css +0 -6378
  79. package/dist/bits-ui.css +0 -2113
  80. package/dist/carbon.css +0 -2123
  81. package/dist/daisy-ui.css +0 -2138
  82. package/dist/frosted.css +0 -1953
  83. package/dist/grada-ui.css +0 -1915
  84. package/dist/index.css +0 -27231
  85. package/dist/material.css +0 -1924
  86. package/dist/minimal.css +0 -1978
  87. package/dist/rokkit.css +0 -2471
  88. package/dist/shadcn.css +0 -2099
  89. package/src/ant-design/button.css +0 -190
  90. package/src/ant-design/card.css +0 -100
  91. package/src/ant-design/chart.css +0 -34
  92. package/src/ant-design/connector.css +0 -11
  93. package/src/ant-design/dropdown.css +0 -50
  94. package/src/ant-design/floating-action.css +0 -63
  95. package/src/ant-design/floating-navigation.css +0 -70
  96. package/src/ant-design/grid.css +0 -46
  97. package/src/ant-design/index.css +0 -35
  98. package/src/ant-design/input.css +0 -151
  99. package/src/ant-design/list.css +0 -126
  100. package/src/ant-design/menu.css +0 -88
  101. package/src/ant-design/message.css +0 -35
  102. package/src/ant-design/range.css +0 -61
  103. package/src/ant-design/search-filter.css +0 -49
  104. package/src/ant-design/select.css +0 -158
  105. package/src/ant-design/status-list.css +0 -66
  106. package/src/ant-design/step-indicator.css +0 -38
  107. package/src/ant-design/switch.css +0 -29
  108. package/src/ant-design/table.css +0 -91
  109. package/src/ant-design/tabs.css +0 -153
  110. package/src/ant-design/timeline.css +0 -45
  111. package/src/ant-design/toc.css +0 -18
  112. package/src/ant-design/toggle.css +0 -48
  113. package/src/ant-design/toolbar.css +0 -85
  114. package/src/ant-design/tree.css +0 -137
  115. package/src/ant-design/upload-progress.css +0 -102
  116. package/src/ant-design/upload-target.css +0 -50
  117. package/src/bits-ui/button.css +0 -176
  118. package/src/bits-ui/card.css +0 -99
  119. package/src/bits-ui/chart.css +0 -34
  120. package/src/bits-ui/connector.css +0 -11
  121. package/src/bits-ui/dropdown.css +0 -50
  122. package/src/bits-ui/floating-action.css +0 -63
  123. package/src/bits-ui/floating-navigation.css +0 -70
  124. package/src/bits-ui/grid.css +0 -46
  125. package/src/bits-ui/index.css +0 -35
  126. package/src/bits-ui/input.css +0 -154
  127. package/src/bits-ui/list.css +0 -126
  128. package/src/bits-ui/menu.css +0 -88
  129. package/src/bits-ui/message.css +0 -35
  130. package/src/bits-ui/range.css +0 -61
  131. package/src/bits-ui/search-filter.css +0 -49
  132. package/src/bits-ui/select.css +0 -158
  133. package/src/bits-ui/status-list.css +0 -66
  134. package/src/bits-ui/step-indicator.css +0 -40
  135. package/src/bits-ui/switch.css +0 -29
  136. package/src/bits-ui/table.css +0 -89
  137. package/src/bits-ui/tabs.css +0 -151
  138. package/src/bits-ui/timeline.css +0 -45
  139. package/src/bits-ui/toc.css +0 -18
  140. package/src/bits-ui/toggle.css +0 -48
  141. package/src/bits-ui/toolbar.css +0 -85
  142. package/src/bits-ui/tree.css +0 -135
  143. package/src/bits-ui/upload-progress.css +0 -102
  144. package/src/bits-ui/upload-target.css +0 -50
  145. package/src/carbon/button.css +0 -186
  146. package/src/carbon/card.css +0 -97
  147. package/src/carbon/chart.css +0 -34
  148. package/src/carbon/connector.css +0 -11
  149. package/src/carbon/dropdown.css +0 -50
  150. package/src/carbon/floating-action.css +0 -63
  151. package/src/carbon/floating-navigation.css +0 -70
  152. package/src/carbon/grid.css +0 -46
  153. package/src/carbon/index.css +0 -34
  154. package/src/carbon/input.css +0 -148
  155. package/src/carbon/list.css +0 -124
  156. package/src/carbon/menu.css +0 -88
  157. package/src/carbon/message.css +0 -37
  158. package/src/carbon/range.css +0 -61
  159. package/src/carbon/search-filter.css +0 -49
  160. package/src/carbon/select.css +0 -158
  161. package/src/carbon/status-list.css +0 -66
  162. package/src/carbon/step-indicator.css +0 -40
  163. package/src/carbon/switch.css +0 -31
  164. package/src/carbon/table.css +0 -93
  165. package/src/carbon/tabs.css +0 -151
  166. package/src/carbon/timeline.css +0 -45
  167. package/src/carbon/toc.css +0 -22
  168. package/src/carbon/toggle.css +0 -48
  169. package/src/carbon/toolbar.css +0 -84
  170. package/src/carbon/tree.css +0 -135
  171. package/src/carbon/upload-progress.css +0 -102
  172. package/src/carbon/upload-target.css +0 -50
  173. package/src/daisy-ui/button.css +0 -196
  174. package/src/daisy-ui/card.css +0 -99
  175. package/src/daisy-ui/chart.css +0 -34
  176. package/src/daisy-ui/connector.css +0 -11
  177. package/src/daisy-ui/dropdown.css +0 -50
  178. package/src/daisy-ui/floating-action.css +0 -63
  179. package/src/daisy-ui/floating-navigation.css +0 -70
  180. package/src/daisy-ui/grid.css +0 -46
  181. package/src/daisy-ui/index.css +0 -34
  182. package/src/daisy-ui/input.css +0 -148
  183. package/src/daisy-ui/list.css +0 -127
  184. package/src/daisy-ui/menu.css +0 -88
  185. package/src/daisy-ui/message.css +0 -37
  186. package/src/daisy-ui/range.css +0 -61
  187. package/src/daisy-ui/search-filter.css +0 -49
  188. package/src/daisy-ui/select.css +0 -158
  189. package/src/daisy-ui/status-list.css +0 -66
  190. package/src/daisy-ui/step-indicator.css +0 -37
  191. package/src/daisy-ui/switch.css +0 -31
  192. package/src/daisy-ui/table.css +0 -91
  193. package/src/daisy-ui/tabs.css +0 -153
  194. package/src/daisy-ui/timeline.css +0 -45
  195. package/src/daisy-ui/toc.css +0 -22
  196. package/src/daisy-ui/toggle.css +0 -48
  197. package/src/daisy-ui/toolbar.css +0 -85
  198. package/src/daisy-ui/tree.css +0 -137
  199. package/src/daisy-ui/upload-progress.css +0 -102
  200. package/src/daisy-ui/upload-target.css +0 -50
  201. package/src/grada-ui/button.css +0 -249
  202. package/src/grada-ui/card.css +0 -96
  203. package/src/grada-ui/chart.css +0 -34
  204. package/src/grada-ui/dropdown.css +0 -58
  205. package/src/grada-ui/floating-action.css +0 -66
  206. package/src/grada-ui/floating-navigation.css +0 -69
  207. package/src/grada-ui/input.css +0 -154
  208. package/src/grada-ui/list.css +0 -124
  209. package/src/grada-ui/menu.css +0 -81
  210. package/src/grada-ui/message.css +0 -48
  211. package/src/grada-ui/range.css +0 -59
  212. package/src/grada-ui/search-filter.css +0 -47
  213. package/src/grada-ui/select.css +0 -190
  214. package/src/grada-ui/status-list.css +0 -66
  215. package/src/grada-ui/step-indicator.css +0 -37
  216. package/src/grada-ui/switch.css +0 -35
  217. package/src/grada-ui/table.css +0 -79
  218. package/src/grada-ui/tabs.css +0 -59
  219. package/src/grada-ui/timeline.css +0 -46
  220. package/src/grada-ui/toc.css +0 -24
  221. package/src/grada-ui/toggle.css +0 -47
  222. package/src/grada-ui/toolbar.css +0 -91
  223. package/src/grada-ui/tree.css +0 -100
  224. package/src/rokkit/stack.css +0 -6
  225. package/src/shadcn/button.css +0 -175
  226. package/src/shadcn/card.css +0 -99
  227. package/src/shadcn/chart.css +0 -34
  228. package/src/shadcn/connector.css +0 -11
  229. package/src/shadcn/dropdown.css +0 -50
  230. package/src/shadcn/floating-action.css +0 -63
  231. package/src/shadcn/floating-navigation.css +0 -70
  232. package/src/shadcn/grid.css +0 -46
  233. package/src/shadcn/index.css +0 -35
  234. package/src/shadcn/input.css +0 -143
  235. package/src/shadcn/list.css +0 -124
  236. package/src/shadcn/menu.css +0 -88
  237. package/src/shadcn/message.css +0 -35
  238. package/src/shadcn/range.css +0 -61
  239. package/src/shadcn/search-filter.css +0 -49
  240. package/src/shadcn/select.css +0 -158
  241. package/src/shadcn/status-list.css +0 -66
  242. package/src/shadcn/step-indicator.css +0 -37
  243. package/src/shadcn/switch.css +0 -31
  244. package/src/shadcn/table.css +0 -89
  245. package/src/shadcn/tabs.css +0 -151
  246. package/src/shadcn/timeline.css +0 -45
  247. package/src/shadcn/toc.css +0 -20
  248. package/src/shadcn/toggle.css +0 -48
  249. package/src/shadcn/toolbar.css +0 -84
  250. package/src/shadcn/tree.css +0 -135
  251. package/src/shadcn/upload-progress.css +0 -102
  252. package/src/shadcn/upload-target.css +0 -50
@@ -65,11 +65,11 @@
65
65
  }
66
66
 
67
67
  [data-style='rokkit'] [data-upload-file-status][data-status='done'] [data-upload-status] {
68
- @apply text-green-500;
68
+ @apply text-success-z5;
69
69
  }
70
70
 
71
71
  [data-style='rokkit'] [data-upload-file-status][data-status='error'] [data-upload-status] {
72
- @apply text-red-500;
72
+ @apply text-danger-z5;
73
73
  }
74
74
 
75
75
  [data-style='rokkit'] [data-upload-file-status][data-status='pending'] [data-upload-status] {
@@ -78,11 +78,11 @@
78
78
 
79
79
  /* Status-based file icon tinting */
80
80
  [data-style='rokkit'] [data-upload-file-status][data-status='done'] [data-upload-file-icon] {
81
- @apply text-green-500;
81
+ @apply text-success-z5;
82
82
  }
83
83
 
84
84
  [data-style='rokkit'] [data-upload-file-status][data-status='error'] [data-upload-file-icon] {
85
- @apply text-red-500;
85
+ @apply text-danger-z5;
86
86
  }
87
87
 
88
88
  /* =============================================================================
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Button - Zen-Sumi Theme Styles
3
+ *
4
+ * Ink-on-paper aesthetics. No gradients. No shadows.
5
+ * Primary filled = ink background (surface-z9) with paper text.
6
+ * CTA/accent = shu vermillion (primary-z5).
7
+ * Focus: border darkens — no glow ring.
8
+ */
9
+
10
+ /* =============================================================================
11
+ Default Style (filled)
12
+ ============================================================================= */
13
+
14
+ [data-style='zen-sumi'] [data-button][data-style='default'][data-variant='default'],
15
+ [data-style='zen-sumi'] [data-button]:not([data-style])[data-variant='default'],
16
+ [data-style='zen-sumi'] [data-button][data-style='default']:not([data-variant]),
17
+ [data-style='zen-sumi'] [data-button]:not([data-style]):not([data-variant]) {
18
+ @apply bg-surface-z9 text-surface-z0 border-transparent bg-none;
19
+ }
20
+
21
+ [data-style='zen-sumi'] [data-button][data-style='default'][data-variant='primary'],
22
+ [data-style='zen-sumi'] [data-button]:not([data-style])[data-variant='primary'] {
23
+ @apply bg-primary-z5 text-on-primary border-transparent bg-none;
24
+ }
25
+
26
+ [data-style='zen-sumi'] [data-button][data-style='default'][data-variant='secondary'],
27
+ [data-style='zen-sumi'] [data-button]:not([data-style])[data-variant='secondary'] {
28
+ @apply bg-secondary-z5 text-on-secondary border-transparent bg-none;
29
+ }
30
+
31
+ [data-style='zen-sumi'] [data-button][data-style='default'][data-variant='accent'],
32
+ [data-style='zen-sumi'] [data-button]:not([data-style])[data-variant='accent'] {
33
+ @apply bg-accent-z5 text-on-accent border-transparent bg-none;
34
+ }
35
+
36
+ [data-style='zen-sumi'] [data-button][data-style='default'][data-variant='danger'],
37
+ [data-style='zen-sumi'] [data-button]:not([data-style])[data-variant='danger'] {
38
+ @apply bg-danger-z5 text-on-danger border-transparent bg-none;
39
+ }
40
+
41
+ /* =============================================================================
42
+ Outline Style
43
+ ============================================================================= */
44
+
45
+ [data-style='zen-sumi'] [data-button][data-style='outline'][data-variant='default'],
46
+ [data-style='zen-sumi'] [data-button][data-style='outline']:not([data-variant]) {
47
+ @apply border-surface-z3 text-ink-z2 border bg-transparent;
48
+ }
49
+
50
+ [data-style='zen-sumi'] [data-button][data-style='outline'][data-variant='primary'] {
51
+ @apply border-primary-z4 text-primary-z6 border bg-transparent;
52
+ }
53
+
54
+ [data-style='zen-sumi'] [data-button][data-style='outline'][data-variant='secondary'] {
55
+ @apply border-secondary-z4 text-secondary-z6 border bg-transparent;
56
+ }
57
+
58
+ [data-style='zen-sumi'] [data-button][data-style='outline'][data-variant='accent'] {
59
+ @apply border-accent-z4 text-accent-z6 border bg-transparent;
60
+ }
61
+
62
+ [data-style='zen-sumi'] [data-button][data-style='outline'][data-variant='danger'] {
63
+ @apply border-danger-z4 text-danger-z5 border bg-transparent;
64
+ }
65
+
66
+ /* =============================================================================
67
+ Ghost Style
68
+ ============================================================================= */
69
+
70
+ [data-style='zen-sumi'] [data-button][data-style='ghost'] {
71
+ @apply border-transparent bg-transparent;
72
+ }
73
+
74
+ [data-style='zen-sumi'] [data-button][data-style='ghost'][data-variant='default'],
75
+ [data-style='zen-sumi'] [data-button][data-style='ghost']:not([data-variant]) {
76
+ @apply text-ink-z3;
77
+ }
78
+
79
+ [data-style='zen-sumi'] [data-button][data-style='ghost'][data-variant='primary'] {
80
+ @apply text-primary-z6;
81
+ }
82
+
83
+ [data-style='zen-sumi'] [data-button][data-style='ghost'][data-variant='secondary'] {
84
+ @apply text-secondary-z6;
85
+ }
86
+
87
+ [data-style='zen-sumi'] [data-button][data-style='ghost'][data-variant='accent'] {
88
+ @apply text-accent-z6;
89
+ }
90
+
91
+ [data-style='zen-sumi'] [data-button][data-style='ghost'][data-variant='danger'] {
92
+ @apply text-danger-z5;
93
+ }
94
+
95
+ /* =============================================================================
96
+ Gradient Style — zen-sumi uses flat fills, not gradients.
97
+ Minimal override: treat gradient like filled.
98
+ ============================================================================= */
99
+
100
+ [data-style='zen-sumi'] [data-button][data-style='gradient'][data-variant='default'],
101
+ [data-style='zen-sumi'] [data-button][data-style='gradient']:not([data-variant]) {
102
+ @apply bg-surface-z2 text-ink-z1 bg-none;
103
+ }
104
+
105
+ [data-style='zen-sumi'] [data-button][data-style='gradient'][data-variant='primary'] {
106
+ @apply bg-primary-z5 text-on-primary bg-none;
107
+ }
108
+
109
+ [data-style='zen-sumi'] [data-button][data-style='gradient'][data-variant='secondary'] {
110
+ @apply bg-secondary-z5 text-on-secondary bg-none;
111
+ }
112
+
113
+ [data-style='zen-sumi'] [data-button][data-style='gradient'][data-variant='accent'] {
114
+ @apply bg-accent-z5 text-on-accent bg-none;
115
+ }
116
+
117
+ [data-style='zen-sumi'] [data-button][data-style='gradient'][data-variant='danger'] {
118
+ @apply bg-danger-z5 text-on-danger bg-none;
119
+ }
120
+
121
+ /* =============================================================================
122
+ Link Style
123
+ ============================================================================= */
124
+
125
+ [data-style='zen-sumi'] [data-button][data-style='link'][data-variant='default'],
126
+ [data-style='zen-sumi'] [data-button][data-style='link']:not([data-variant]) {
127
+ @apply text-ink-z3;
128
+ }
129
+
130
+ [data-style='zen-sumi'] [data-button][data-style='link'][data-variant='primary'] {
131
+ @apply text-primary-z5;
132
+ }
133
+
134
+ [data-style='zen-sumi'] [data-button][data-style='link'][data-variant='secondary'] {
135
+ @apply text-secondary-z5;
136
+ }
137
+
138
+ [data-style='zen-sumi'] [data-button][data-style='link'][data-variant='accent'] {
139
+ @apply text-accent-z5;
140
+ }
141
+
142
+ [data-style='zen-sumi'] [data-button][data-style='link'][data-variant='danger'] {
143
+ @apply text-danger-z5;
144
+ }
145
+
146
+ [data-style='zen-sumi'] [data-button][data-style='link']:hover:not(:disabled):not([data-disabled]) {
147
+ @apply text-ink-z1;
148
+ }
149
+
150
+ /* =============================================================================
151
+ Hover States — darken, no glow
152
+ ============================================================================= */
153
+
154
+ [data-style='zen-sumi']
155
+ [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
156
+ [data-style='zen-sumi'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
157
+ @apply bg-surface-z10 bg-none;
158
+ }
159
+
160
+ [data-style='zen-sumi']
161
+ [data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
162
+ @apply bg-surface-z1 border-surface-z5 bg-none;
163
+ }
164
+
165
+ [data-style='zen-sumi'] [data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
166
+ @apply bg-surface-z2;
167
+ }
168
+
169
+ /* =============================================================================
170
+ Focus — border darkens, no ring glow
171
+ ============================================================================= */
172
+
173
+ [data-style='zen-sumi'] [data-button]:focus-visible {
174
+ @apply outline-none;
175
+ box-shadow: 0 0 0 1px var(--color-surface-z5);
176
+ }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Card - Zen-Sumi Theme Styles
3
+ *
4
+ * Paper bg with hairline border. No shadows.
5
+ * Depth through background tone shifts only.
6
+ * Interactive: hover darkens border, bg shifts to surface-z2.
7
+ */
8
+
9
+ /* =============================================================================
10
+ Base Card Styles
11
+ ============================================================================= */
12
+
13
+ [data-style='zen-sumi'] [data-card] {
14
+ @apply bg-surface-z1 border-surface-z2 text-ink-z1 border bg-none;
15
+ box-shadow: none;
16
+ }
17
+
18
+ /* Interactive cards */
19
+ [data-style='zen-sumi'] [data-card][data-card-interactive] {
20
+ cursor: pointer;
21
+ transition: border-color 0.2s ease;
22
+ }
23
+
24
+ [data-style='zen-sumi'] [data-card][data-card-interactive]:hover {
25
+ @apply border-surface-z4 bg-surface-z2 bg-none;
26
+ }
27
+
28
+ [data-style='zen-sumi'] [data-card][data-card-interactive]:active {
29
+ @apply bg-surface-z3 bg-none;
30
+ }
31
+
32
+ /* =============================================================================
33
+ Card Sections
34
+ ============================================================================= */
35
+
36
+ [data-style='zen-sumi'] [data-card-header] {
37
+ @apply border-surface-z2 border-b;
38
+ }
39
+
40
+ [data-style='zen-sumi'] [data-card-body] {
41
+ @apply text-ink-z2;
42
+ }
43
+
44
+ [data-style='zen-sumi'] [data-card-footer] {
45
+ @apply border-surface-z2 text-ink-z4 border-t;
46
+ }
47
+
48
+ /* =============================================================================
49
+ Focus States
50
+ ============================================================================= */
51
+
52
+ [data-style='zen-sumi'] [data-card][data-card-interactive]:focus-visible {
53
+ @apply outline-none;
54
+ box-shadow: 0 0 0 1px var(--color-surface-z5);
55
+ }
56
+
57
+ /* =============================================================================
58
+ Disabled State
59
+ ============================================================================= */
60
+
61
+ [data-style='zen-sumi'] [data-card][data-card-interactive][data-disabled],
62
+ [data-style='zen-sumi'] [data-card][data-card-interactive]:disabled {
63
+ @apply cursor-not-allowed opacity-50;
64
+ }
65
+
66
+ /* =============================================================================
67
+ Variants
68
+ ============================================================================= */
69
+
70
+ /* Primary — shu vermillion fill */
71
+ [data-style='zen-sumi'] [data-card][data-variant='primary'] {
72
+ @apply bg-primary-z5 border-primary-z6 text-on-primary border bg-none;
73
+ box-shadow: none;
74
+ }
75
+
76
+ [data-style='zen-sumi'] [data-card][data-variant='primary'] [data-card-header],
77
+ [data-style='zen-sumi'] [data-card][data-variant='primary'] [data-card-footer] {
78
+ @apply border-primary-z4/40;
79
+ }
80
+
81
+ [data-style='zen-sumi'] [data-card][data-variant='primary'] [data-card-body] {
82
+ @apply text-on-primary/80;
83
+ }
84
+
85
+ /* Secondary */
86
+ [data-style='zen-sumi'] [data-card][data-variant='secondary'] {
87
+ @apply bg-secondary-z4 border-secondary-z5 text-on-secondary border bg-none;
88
+ box-shadow: none;
89
+ }
90
+
91
+ [data-style='zen-sumi'] [data-card][data-variant='secondary'] [data-card-header],
92
+ [data-style='zen-sumi'] [data-card][data-variant='secondary'] [data-card-footer] {
93
+ @apply border-secondary-z3/40;
94
+ }
95
+
96
+ [data-style='zen-sumi'] [data-card][data-variant='secondary'] [data-card-body] {
97
+ @apply text-on-secondary/80;
98
+ }
99
+
100
+ /* Tertiary — recessed surface, lighter border */
101
+ [data-style='zen-sumi'] [data-card][data-variant='tertiary'] {
102
+ @apply bg-surface-z0 border-surface-z2 text-ink-z3 border bg-none;
103
+ box-shadow: none;
104
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Chart - Zen-Sumi Theme Styles
3
+ *
4
+ * Ink-wash aesthetic. Axes and grids: hairline surface-z2.
5
+ * Labels: surface-z5 (secondary text). Dimmed elements: very low opacity.
6
+ */
7
+
8
+ [data-style='zen-sumi'] [data-chart-axis-line],
9
+ [data-style='zen-sumi'] [data-chart-tick] line {
10
+ @apply stroke-surface-z2;
11
+ }
12
+
13
+ [data-style='zen-sumi'] [data-chart-tick-label] {
14
+ @apply fill-surface-z5;
15
+ }
16
+
17
+ [data-style='zen-sumi'] [data-chart-grid-line] {
18
+ @apply stroke-surface-z2;
19
+ stroke-opacity: 0.4;
20
+ stroke-dasharray: 2 4;
21
+ }
22
+
23
+ [data-style='zen-sumi'] [data-chart-legend-label] {
24
+ @apply fill-surface-z5;
25
+ }
26
+
27
+ [data-style='zen-sumi'] [data-chart-legend-item]:hover {
28
+ @apply text-ink-z2;
29
+ }
30
+
31
+ [data-style='zen-sumi'] [data-plot-element='bar'][data-dimmed],
32
+ [data-style='zen-sumi'] [data-plot-element='point'][data-dimmed],
33
+ [data-style='zen-sumi'] [data-plot-element='arc'][data-dimmed],
34
+ [data-style='zen-sumi'] [data-plot-element='line'][data-dimmed],
35
+ [data-style='zen-sumi'] [data-plot-element='area'][data-dimmed] {
36
+ opacity: 0.1;
37
+ }
38
+
39
+ [data-style='zen-sumi'] [data-facet-title] {
40
+ @apply text-ink-z5;
41
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Dropdown - Zen-Sumi Theme Styles
3
+ *
4
+ * Hairline trigger. Panel: paper bg, no shadow.
5
+ * Options: transparent → surface-z2 on hover.
6
+ */
7
+
8
+ [data-style='zen-sumi'] [data-dropdown-trigger] {
9
+ @apply border-surface-z3 text-ink-z3 border bg-transparent bg-none;
10
+ }
11
+
12
+ [data-style='zen-sumi'] [data-dropdown-trigger]:hover:not(:disabled) {
13
+ @apply text-ink-z1 border-surface-z4 bg-none;
14
+ }
15
+
16
+ [data-style='zen-sumi'] [data-dropdown-trigger]:focus-visible {
17
+ @apply outline-none;
18
+ box-shadow: 0 0 0 1px var(--color-surface-z5);
19
+ }
20
+
21
+ [data-style='zen-sumi'] [data-dropdown][data-open='true'] [data-dropdown-trigger] {
22
+ @apply border-surface-z5 bg-none;
23
+ }
24
+
25
+ [data-style='zen-sumi'] [data-dropdown-trigger] [data-dropdown-icon] {
26
+ @apply text-ink-z5;
27
+ }
28
+
29
+ [data-style='zen-sumi'] [data-dropdown-trigger] [data-dropdown-arrow] {
30
+ @apply text-surface-z4;
31
+ }
32
+
33
+ [data-style='zen-sumi'] [data-dropdown-panel] {
34
+ @apply bg-surface-z0 border-surface-z2 border bg-none;
35
+ box-shadow: none;
36
+ }
37
+
38
+ [data-style='zen-sumi'] [data-dropdown-option] {
39
+ @apply text-ink-z3;
40
+ }
41
+
42
+ [data-style='zen-sumi'] [data-dropdown-option]:hover:not(:disabled),
43
+ [data-style='zen-sumi'] [data-dropdown-option]:focus:not(:disabled) {
44
+ @apply bg-surface-z2 text-ink-z1 bg-none outline-none;
45
+ }
46
+
47
+ [data-style='zen-sumi'] [data-dropdown-option][data-active='true'] {
48
+ @apply text-ink-z1 border-primary-z4 border-l-2 bg-none;
49
+ }
50
+
51
+ [data-style='zen-sumi'] [data-dropdown-separator] {
52
+ @apply bg-surface-z2 bg-none;
53
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * FloatingAction - Zen-Sumi Theme Styles
3
+ *
4
+ * Paper bg with hairline border. No shadow.
5
+ * Hover: surface-z2 wash. No glow rings.
6
+ */
7
+
8
+ /* =============================================================================
9
+ FAB Trigger Button
10
+ ============================================================================= */
11
+
12
+ [data-style='zen-sumi'] [data-fab-trigger] {
13
+ @apply bg-surface-z1 text-ink-z2 border-surface-z2 border bg-none;
14
+ box-shadow: none;
15
+ }
16
+
17
+ [data-style='zen-sumi'] [data-fab-trigger]:hover:not(:disabled) {
18
+ @apply bg-surface-z2 text-ink-z1 border-surface-z4 bg-none;
19
+ }
20
+
21
+ [data-style='zen-sumi'] [data-fab-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-fab][data-open='true'] [data-fab-trigger] {
27
+ @apply bg-surface-z2 border-surface-z4 bg-none;
28
+ transform: rotate(45deg);
29
+ }
30
+
31
+ [data-style='zen-sumi'] [data-fab][data-open='true'] [data-fab-trigger]:hover:not(:disabled) {
32
+ @apply bg-none;
33
+ }
34
+
35
+ /* =============================================================================
36
+ FAB Items
37
+ ============================================================================= */
38
+
39
+ [data-style='zen-sumi'] [data-fab-item] {
40
+ @apply bg-surface-z1 text-ink-z3 border-surface-z2 border bg-none;
41
+ box-shadow: none;
42
+ }
43
+
44
+ [data-style='zen-sumi'] [data-fab-item]:hover:not(:disabled) {
45
+ @apply bg-surface-z2 text-ink-z1 border-surface-z4 bg-none;
46
+ }
47
+
48
+ [data-style='zen-sumi'] [data-fab-item]:focus-visible {
49
+ @apply outline-none;
50
+ box-shadow: 0 0 0 1px var(--color-surface-z5);
51
+ }
52
+
53
+ /* Item icon */
54
+ [data-style='zen-sumi'] [data-fab-item] [data-fab-item-icon] {
55
+ @apply text-ink-z5;
56
+ }
57
+
58
+ [data-style='zen-sumi'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
59
+ @apply text-ink-z3;
60
+ }
61
+
62
+ /* =============================================================================
63
+ Backdrop
64
+ ============================================================================= */
65
+
66
+ [data-style='zen-sumi'] [data-fab-backdrop] {
67
+ background: color-mix(in oklch, var(--color-surface-z9) 15%, transparent);
68
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * FloatingNavigation - Zen-Sumi Theme Styles
3
+ *
4
+ * Paper bg, hairline border, no shadow.
5
+ * Items: text-only default, surface-z2 wash on hover.
6
+ * Active: ink text + surface-z1 bg + primary indicator.
7
+ */
8
+
9
+ /* =============================================================================
10
+ Container
11
+ ============================================================================= */
12
+
13
+ [data-style='zen-sumi'] [data-floating-nav] {
14
+ @apply bg-surface-z0 border-surface-z2 border bg-none;
15
+ box-shadow: none;
16
+ }
17
+
18
+ /* =============================================================================
19
+ Header
20
+ ============================================================================= */
21
+
22
+ [data-style='zen-sumi'] [data-floating-nav-title] {
23
+ @apply text-ink-z5;
24
+ }
25
+
26
+ [data-style='zen-sumi'] [data-floating-nav-pin] {
27
+ @apply text-surface-z4;
28
+ }
29
+
30
+ [data-style='zen-sumi'] [data-floating-nav-pin]:hover {
31
+ @apply text-ink-z3;
32
+ }
33
+
34
+ [data-style='zen-sumi'] [data-floating-nav-pin][aria-pressed='true'] {
35
+ @apply text-ink-z1;
36
+ }
37
+
38
+ /* =============================================================================
39
+ Items
40
+ ============================================================================= */
41
+
42
+ [data-style='zen-sumi'] [data-floating-nav-item] {
43
+ @apply text-ink-z4;
44
+ }
45
+
46
+ [data-style='zen-sumi'] [data-floating-nav-item]:hover {
47
+ @apply bg-surface-z2 text-ink-z2 bg-none;
48
+ }
49
+
50
+ [data-style='zen-sumi'] [data-floating-nav-item][data-active] {
51
+ @apply bg-surface-z1 text-ink-z1 bg-none;
52
+ }
53
+
54
+ [data-style='zen-sumi'] [data-floating-nav-item]:focus-visible {
55
+ @apply outline-none;
56
+ box-shadow: inset 0 0 0 1px var(--color-surface-z4);
57
+ }
58
+
59
+ /* Icon */
60
+ [data-style='zen-sumi'] [data-floating-nav-icon] {
61
+ @apply text-ink-z5;
62
+ }
63
+
64
+ [data-style='zen-sumi'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
65
+ @apply text-primary-z5;
66
+ }
67
+
68
+ /* =============================================================================
69
+ Active Indicator
70
+ ============================================================================= */
71
+
72
+ [data-style='zen-sumi'] [data-floating-nav-indicator] {
73
+ @apply bg-primary-z5 bg-none;
74
+ }
@@ -1,38 +1,20 @@
1
1
  /**
2
- * @rokkit/themes - Grada UI Theme
2
+ * @rokkit/themes - Zen-Sumi Theme
3
3
  *
4
- * Coral/purple gradient identity with Montserrat typography.
5
- * Clean white form elements, pill buttons, left-border accent states.
6
- * Use with data-style="grada-ui" wrapper.
4
+ * 禅墨 The aesthetic of ink on paper. Restraint as luxury.
5
+ *
6
+ * Key principles:
7
+ * - No shadows. Depth through background tone variation only.
8
+ * - No gradients. Color conveys meaning, not decoration.
9
+ * - Hairline borders (surface-z2). Paper-edge precision.
10
+ * - Ink-on-paper primary: surface-z9 bg / surface-z0 text.
11
+ * - Single accent: primary (shu/vermillion) for active and CTA.
12
+ * - Focus: border darkens — no glow rings.
13
+ *
14
+ * Use with data-style="zen-sumi" wrapper.
7
15
  */
8
16
 
9
- /* =============================================================================
10
- Grada UI Design Tokens
11
- ============================================================================= */
12
-
13
- [data-style='grada-ui'] {
14
- /* Brand colors (from Figma) */
15
- --gd-primary: #f27a54;
16
- --gd-secondary: #a154f2;
17
- --gd-gradient: linear-gradient(to right, #f27a54, #a154f2);
18
-
19
- /* Semantic colors */
20
- --gd-success: #6fcf97;
21
- --gd-error-border: #cf6f8a;
22
- --gd-error-text: #f27474;
23
-
24
- /* Surface palette */
25
- --gd-dark: #30363d;
26
- --gd-surface-a: #3c444c;
27
- --gd-surface-b: #747d88;
28
- --gd-grey-c: #cbcfd4;
29
-
30
- /* Typography */
31
- font-family: 'Montserrat', sans-serif;
32
- }
33
-
34
17
  @import './button.css';
35
- @import './input.css';
36
18
  @import './toolbar.css';
37
19
  @import './tabs.css';
38
20
  @import './toggle.css';
@@ -43,6 +25,7 @@
43
25
  @import './menu.css';
44
26
  @import './dropdown.css';
45
27
  @import './floating-action.css';
28
+ @import './input.css';
46
29
  @import './table.css';
47
30
  @import './search-filter.css';
48
31
  @import './range.css';
@@ -54,3 +37,15 @@
54
37
  @import './status-list.css';
55
38
  @import './step-indicator.css';
56
39
  @import './chart.css';
40
+ @import './swatch.css';
41
+
42
+ /* =============================================================================
43
+ Layout overrides — Ma (間) generous spacing
44
+ ============================================================================= */
45
+
46
+ [data-style='zen-sumi'] {
47
+ --layout-section-gap: 2.5rem;
48
+ --layout-section-padding: 1.75rem;
49
+ --layout-content-padding: 2rem;
50
+ --layout-card-gap: 0.75rem;
51
+ }