@amulet-laboratories/hex 0.3.0 → 0.5.1

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 (189) hide show
  1. package/dist/beacon.css +1 -0
  2. package/dist/brass.css +5 -0
  3. package/dist/cardinal.css +5 -0
  4. package/dist/citron.css +5 -0
  5. package/dist/clover.css +5 -0
  6. package/dist/cobalt.css +5 -0
  7. package/dist/copper.css +5 -0
  8. package/dist/cypress.css +5 -0
  9. package/dist/damson.css +5 -0
  10. package/dist/fern.css +5 -0
  11. package/dist/forge.css +2 -2
  12. package/dist/garden.css +2 -2
  13. package/dist/greyline.css +2 -2
  14. package/dist/harbor.css +5 -0
  15. package/dist/hearth.css +5 -0
  16. package/dist/hex.css +2 -2
  17. package/dist/iris.css +5 -0
  18. package/dist/juniper.css +5 -0
  19. package/dist/lagoon.css +5 -0
  20. package/dist/ochre.css +5 -0
  21. package/dist/orchid.css +5 -0
  22. package/dist/quartz.css +5 -0
  23. package/dist/roast.css +5 -0
  24. package/dist/sienna.css +5 -0
  25. package/dist/slate.css +5 -0
  26. package/dist/spacewizard.css +2 -2
  27. package/dist/vesper.css +5 -0
  28. package/dist/voltaic.css +1 -0
  29. package/package.json +73 -53
  30. package/src/index.css +3 -3
  31. package/src/scoped/index.css +13 -13
  32. package/src/scoped/themes/{kbcv.css → cardinal.css} +17 -1
  33. package/src/scoped/themes/citron.css +105 -0
  34. package/src/scoped/themes/{compass.css → clover.css} +26 -13
  35. package/src/scoped/themes/{vscode.css → cobalt.css} +10 -5
  36. package/src/scoped/themes/{undertow.css → copper.css} +16 -1
  37. package/src/scoped/themes/{tidemark.css → cypress.css} +24 -11
  38. package/src/scoped/themes/{aldricpace.css → harbor.css} +15 -3
  39. package/src/scoped/themes/hearth.css +134 -0
  40. package/src/scoped/themes/{briarcove.css → iris.css} +13 -2
  41. package/src/scoped/themes/juniper.css +121 -0
  42. package/src/scoped/themes/{duskline.css → lagoon.css} +25 -9
  43. package/src/scoped/themes/{saltsignal.css → ochre.css} +23 -10
  44. package/src/scoped/themes/{marenlys.css → orchid.css} +26 -9
  45. package/src/scoped/themes/{briarcovelib.css → sienna.css} +20 -7
  46. package/src/scoped/themes/{lanternhouse.css → vesper.css} +27 -6
  47. package/src/scoped/tokens.css +15 -13
  48. package/src/shared/components/content.css +772 -0
  49. package/src/shared/components/core.css +88 -720
  50. package/src/shared/components/data.css +24 -126
  51. package/src/shared/components/editor.css +33 -164
  52. package/src/shared/components/extras.css +30 -346
  53. package/src/shared/components/layout.css +21 -369
  54. package/src/shared/components/lists.css +11 -114
  55. package/src/shared/components/menus.css +10 -146
  56. package/src/shared/components/nav.css +112 -501
  57. package/src/shared/components/prose.css +12 -180
  58. package/src/shared/components/shell.css +22 -259
  59. package/src/shared/components/spatial.css +15 -47
  60. package/src/shared/components/temporal.css +28 -68
  61. package/src/shared/components/web.css +42 -1037
  62. package/src/shared/tokens.css +37 -0
  63. package/src/shared/utilities.css +52 -3
  64. package/src/themes/beacon/base.css +59 -0
  65. package/src/themes/beacon/index.css +11 -0
  66. package/src/themes/beacon/tokens.css +219 -0
  67. package/src/themes/brass/base.css +179 -0
  68. package/src/themes/brass/components.css +23 -0
  69. package/src/themes/brass/domains.css +731 -0
  70. package/src/themes/brass/tokens.css +208 -0
  71. package/src/themes/{kbcv → cardinal}/tokens.css +5 -0
  72. package/src/themes/citron/base.css +232 -0
  73. package/src/themes/citron/tokens.css +136 -0
  74. package/src/themes/{vscode → cobalt}/tokens.css +5 -5
  75. package/src/themes/damson/base.css +179 -0
  76. package/src/themes/damson/components.css +23 -0
  77. package/src/themes/damson/domains.css +731 -0
  78. package/src/themes/damson/tokens.css +208 -0
  79. package/src/themes/{quizbit → fern}/base.css +21 -27
  80. package/src/themes/fern/components.css +23 -0
  81. package/src/themes/fern/domains.css +731 -0
  82. package/src/themes/fern/tokens.css +208 -0
  83. package/src/themes/{aldricpace → harbor}/tokens.css +5 -0
  84. package/src/themes/hearth/base.css +111 -0
  85. package/src/themes/hearth/components.css +22 -0
  86. package/src/themes/hearth/domains.css +19 -0
  87. package/src/themes/hearth/tokens.css +179 -0
  88. package/src/themes/juniper/base.css +111 -0
  89. package/src/themes/juniper/components.css +22 -0
  90. package/src/themes/juniper/domains.css +19 -0
  91. package/src/themes/juniper/tokens.css +171 -0
  92. package/src/themes/lagoon/index.css +6 -0
  93. package/src/themes/{duskline → lagoon}/tokens.css +5 -0
  94. package/src/themes/ochre/index.css +6 -0
  95. package/src/themes/{saltsignal → ochre}/tokens.css +8 -8
  96. package/src/themes/orchid/index.css +6 -0
  97. package/src/themes/{marenlys → orchid}/tokens.css +8 -3
  98. package/src/themes/quartz/base.css +114 -0
  99. package/src/themes/quartz/components.css +23 -0
  100. package/src/themes/quartz/domains.css +731 -0
  101. package/src/themes/quartz/index.css +6 -0
  102. package/src/themes/quartz/tokens.css +208 -0
  103. package/src/themes/roast/base.css +114 -0
  104. package/src/themes/roast/components.css +23 -0
  105. package/src/themes/roast/domains.css +731 -0
  106. package/src/themes/roast/index.css +6 -0
  107. package/src/themes/roast/tokens.css +208 -0
  108. package/src/themes/sienna/index.css +6 -0
  109. package/src/themes/slate/base.css +207 -0
  110. package/src/themes/slate/components.css +23 -0
  111. package/src/themes/slate/domains.css +731 -0
  112. package/src/themes/slate/index.css +6 -0
  113. package/src/themes/slate/tokens.css +208 -0
  114. package/src/themes/vesper/index.css +6 -0
  115. package/src/themes/{lanternhouse → vesper}/tokens.css +5 -0
  116. package/dist/aldricpace.css +0 -5
  117. package/dist/briarcove.css +0 -5
  118. package/dist/briarcovelib.css +0 -5
  119. package/dist/compass.css +0 -5
  120. package/dist/duskline.css +0 -5
  121. package/dist/kbcv.css +0 -5
  122. package/dist/lanternhouse.css +0 -5
  123. package/dist/marenlys.css +0 -5
  124. package/dist/quizbit.css +0 -5
  125. package/dist/saltsignal.css +0 -5
  126. package/dist/tidemark.css +0 -5
  127. package/dist/undertow.css +0 -5
  128. package/dist/vscode.css +0 -5
  129. package/src/scoped/themes/quizbit.css +0 -101
  130. package/src/themes/quizbit/tokens.css +0 -132
  131. /package/src/themes/{aldricpace → brass}/index.css +0 -0
  132. /package/src/themes/{kbcv → cardinal}/base.css +0 -0
  133. /package/src/themes/{kbcv → cardinal}/components.css +0 -0
  134. /package/src/themes/{kbcv → cardinal}/domains.css +0 -0
  135. /package/src/themes/{briarcove → cardinal}/index.css +0 -0
  136. /package/src/themes/{quizbit → citron}/components.css +0 -0
  137. /package/src/themes/{quizbit → citron}/domains.css +0 -0
  138. /package/src/themes/{briarcovelib → citron}/index.css +0 -0
  139. /package/src/themes/{compass → clover}/base.css +0 -0
  140. /package/src/themes/{compass → clover}/components.css +0 -0
  141. /package/src/themes/{compass → clover}/domains.css +0 -0
  142. /package/src/themes/{compass → clover}/index.css +0 -0
  143. /package/src/themes/{compass → clover}/tokens.css +0 -0
  144. /package/src/themes/{vscode → cobalt}/base.css +0 -0
  145. /package/src/themes/{vscode → cobalt}/components.css +0 -0
  146. /package/src/themes/{vscode → cobalt}/domains.css +0 -0
  147. /package/src/themes/{vscode → cobalt}/index.css +0 -0
  148. /package/src/themes/{undertow → copper}/base.css +0 -0
  149. /package/src/themes/{undertow → copper}/components.css +0 -0
  150. /package/src/themes/{undertow → copper}/domains.css +0 -0
  151. /package/src/themes/{duskline → copper}/index.css +0 -0
  152. /package/src/themes/{undertow → copper}/tokens.css +0 -0
  153. /package/src/themes/{tidemark → cypress}/base.css +0 -0
  154. /package/src/themes/{tidemark → cypress}/components.css +0 -0
  155. /package/src/themes/{tidemark → cypress}/domains.css +0 -0
  156. /package/src/themes/{kbcv → cypress}/index.css +0 -0
  157. /package/src/themes/{tidemark → cypress}/tokens.css +0 -0
  158. /package/src/themes/{lanternhouse → damson}/index.css +0 -0
  159. /package/src/themes/{marenlys → fern}/index.css +0 -0
  160. /package/src/themes/{aldricpace → harbor}/base.css +0 -0
  161. /package/src/themes/{aldricpace → harbor}/components.css +0 -0
  162. /package/src/themes/{aldricpace → harbor}/domains.css +0 -0
  163. /package/src/themes/{quizbit → harbor}/index.css +0 -0
  164. /package/src/themes/{saltsignal → hearth}/index.css +0 -0
  165. /package/src/themes/{briarcove → iris}/base.css +0 -0
  166. /package/src/themes/{briarcove → iris}/components.css +0 -0
  167. /package/src/themes/{briarcove → iris}/domains.css +0 -0
  168. /package/src/themes/{tidemark → iris}/index.css +0 -0
  169. /package/src/themes/{briarcove → iris}/tokens.css +0 -0
  170. /package/src/themes/{undertow → juniper}/index.css +0 -0
  171. /package/src/themes/{duskline → lagoon}/base.css +0 -0
  172. /package/src/themes/{duskline → lagoon}/components.css +0 -0
  173. /package/src/themes/{duskline → lagoon}/domains.css +0 -0
  174. /package/src/themes/{saltsignal → ochre}/base.css +0 -0
  175. /package/src/themes/{saltsignal → ochre}/components.css +0 -0
  176. /package/src/themes/{saltsignal → ochre}/domains.css +0 -0
  177. /package/src/themes/{marenlys → orchid}/base.css +0 -0
  178. /package/src/themes/{marenlys → orchid}/components.css +0 -0
  179. /package/src/themes/{marenlys → orchid}/domains.css +0 -0
  180. /package/src/themes/{briarcovelib → sienna}/base.css +0 -0
  181. /package/src/themes/{briarcovelib → sienna}/components.css +0 -0
  182. /package/src/themes/{briarcovelib → sienna}/domains.css +0 -0
  183. /package/src/themes/{briarcovelib → sienna}/tokens.css +0 -0
  184. /package/src/themes/{lanternhouse → vesper}/base.css +0 -0
  185. /package/src/themes/{lanternhouse → vesper}/components.css +0 -0
  186. /package/src/themes/{lanternhouse → vesper}/domains.css +0 -0
  187. /package/src/themes/{andrewpassanisi → voltaic}/base.css +0 -0
  188. /package/src/themes/{andrewpassanisi → voltaic}/index.css +0 -0
  189. /package/src/themes/{andrewpassanisi → voltaic}/tokens.css +0 -0
@@ -1,21 +1,13 @@
1
- /* Hex — Shared Data Components
2
- * Styles for Rig's data package: Sparkline, MiniBar, StatCard,
3
- * BarChart, LineChart, AreaChart, ScatterPlot, Heatmap,
4
- * RadarChart, Treemap, SankeyDiagram
1
+ /* Hex — Shared Data Components (skin only)
2
+ * Colors, fills, strokes, backgrounds, shadows, font-family, opacity, transitions.
3
+ * Structural layout lives in Rig/src/styles/data.css.
5
4
  */
6
5
 
7
6
  /* ───────── Sparkline ───────── */
8
7
 
9
- [data-rig-sparkline] {
10
- @apply inline-flex items-center;
11
- }
12
-
13
8
  [data-rig-sparkline-line] {
14
9
  fill: none;
15
10
  stroke: var(--domain-accent, var(--color-primary));
16
- stroke-width: 1.5;
17
- stroke-linecap: round;
18
- stroke-linejoin: round;
19
11
  }
20
12
 
21
13
  [data-rig-sparkline-area] {
@@ -25,10 +17,6 @@
25
17
 
26
18
  /* ───────── MiniBar ───────── */
27
19
 
28
- [data-rig-mini-bar] {
29
- @apply inline-flex items-end gap-px;
30
- }
31
-
32
20
  [data-rig-mini-bar-rect] {
33
21
  fill: var(--domain-accent, var(--color-primary));
34
22
  opacity: 0.7;
@@ -42,28 +30,21 @@
42
30
  /* ───────── StatCard ───────── */
43
31
 
44
32
  [data-rig-stat-card] {
45
- @apply bg-card text-card-foreground border border-border/50;
33
+ @apply bg-card text-card-foreground;
46
34
  border-radius: var(--radius);
47
- }
48
-
49
- [data-rig-stat-card-header] {
50
- @apply flex items-center justify-between;
35
+ border-color: color-mix(in srgb, var(--color-border) 50%, transparent);
51
36
  }
52
37
 
53
38
  [data-rig-stat-card-label] {
54
- @apply text-xs text-muted-foreground font-mono uppercase tracking-wider;
39
+ @apply text-muted-foreground font-mono;
55
40
  }
56
41
 
57
42
  [data-rig-stat-card-value] {
58
- @apply text-2xl font-mono font-bold;
59
- }
60
-
61
- [data-rig-stat-card-footer] {
62
- @apply flex items-center gap-2;
43
+ @apply font-mono;
63
44
  }
64
45
 
65
46
  [data-rig-stat-card-trend] {
66
- @apply text-xs font-mono;
47
+ @apply font-mono;
67
48
  }
68
49
 
69
50
  [data-rig-stat-card-trend][data-trend='up'] {
@@ -75,7 +56,7 @@
75
56
  }
76
57
 
77
58
  [data-rig-stat-card-description] {
78
- @apply text-xs text-muted-foreground;
59
+ @apply text-muted-foreground;
79
60
  }
80
61
 
81
62
  /* ───────── BarChart ───────── */
@@ -84,14 +65,6 @@
84
65
  @apply text-foreground;
85
66
  }
86
67
 
87
- [data-rig-bar-chart-bars] {
88
- /* Container group — no direct styling needed */
89
- }
90
-
91
- [data-rig-bar-chart-bar-group] {
92
- cursor: pointer;
93
- }
94
-
95
68
  [data-rig-bar-chart-bar] {
96
69
  fill: var(--domain-accent, var(--color-primary));
97
70
  opacity: 0.8;
@@ -104,12 +77,12 @@
104
77
 
105
78
  [data-rig-bar-chart-label] {
106
79
  fill: var(--color-muted-foreground);
107
- @apply font-mono text-xs;
80
+ @apply font-mono;
108
81
  }
109
82
 
110
83
  [data-rig-bar-chart-value] {
111
84
  fill: var(--color-muted-foreground);
112
- @apply font-mono text-xs;
85
+ @apply font-mono;
113
86
  }
114
87
 
115
88
  /* ───────── LineChart ───────── */
@@ -118,35 +91,23 @@
118
91
  @apply text-foreground;
119
92
  }
120
93
 
121
- [data-rig-line-chart-series] {
122
- /* Series group — no direct styling needed */
123
- }
124
-
125
94
  [data-rig-line-chart-line] {
126
95
  fill: none;
127
96
  stroke: var(--domain-accent, var(--color-primary));
128
- stroke-width: 2;
129
- stroke-linecap: round;
130
- stroke-linejoin: round;
131
97
  }
132
98
 
133
99
  [data-rig-line-chart-dot] {
134
100
  fill: var(--domain-accent, var(--color-primary));
135
101
  transition: r 0.15s ease;
136
- cursor: pointer;
137
102
  }
138
103
 
139
104
  [data-rig-line-chart-dot]:hover {
140
105
  r: 5;
141
106
  }
142
107
 
143
- [data-rig-line-chart-labels] {
144
- /* Label group — no direct styling needed */
145
- }
146
-
147
108
  [data-rig-line-chart-label] {
148
109
  fill: var(--color-muted-foreground);
149
- @apply font-mono text-xs;
110
+ @apply font-mono;
150
111
  }
151
112
 
152
113
  /* ───────── AreaChart ───────── */
@@ -155,10 +116,6 @@
155
116
  @apply text-foreground;
156
117
  }
157
118
 
158
- [data-rig-area-chart-series] {
159
- /* Series group — no direct styling needed */
160
- }
161
-
162
119
  [data-rig-area-chart-fill] {
163
120
  fill: var(--domain-accent, var(--color-primary));
164
121
  opacity: 0.15;
@@ -167,16 +124,11 @@
167
124
  [data-rig-area-chart-line] {
168
125
  fill: none;
169
126
  stroke: var(--domain-accent, var(--color-primary));
170
- stroke-width: 2;
171
- }
172
-
173
- [data-rig-area-chart-labels] {
174
- /* Label group — no direct styling needed */
175
127
  }
176
128
 
177
129
  [data-rig-area-chart-label] {
178
130
  fill: var(--color-muted-foreground);
179
- @apply font-mono text-xs;
131
+ @apply font-mono;
180
132
  }
181
133
 
182
134
  /* ───────── ScatterPlot ───────── */
@@ -191,7 +143,6 @@
191
143
  transition:
192
144
  opacity 0.15s ease,
193
145
  r 0.15s ease;
194
- cursor: pointer;
195
146
  }
196
147
 
197
148
  [data-rig-scatter-plot-point]:hover {
@@ -200,7 +151,7 @@
200
151
 
201
152
  [data-rig-scatter-plot] text {
202
153
  fill: var(--color-muted-foreground);
203
- @apply font-mono text-xs;
154
+ @apply font-mono;
204
155
  }
205
156
 
206
157
  /* ───────── Heatmap ───────── */
@@ -209,29 +160,15 @@
209
160
  @apply text-foreground;
210
161
  }
211
162
 
212
- [data-rig-heatmap-col-labels] {
213
- /* Column label group — no direct styling needed */
214
- }
215
-
216
- [data-rig-heatmap-row-labels] {
217
- /* Row label group — no direct styling needed */
218
- }
219
-
220
163
  [data-rig-heatmap-col-labels] text,
221
164
  [data-rig-heatmap-row-labels] text {
222
165
  fill: var(--color-muted-foreground);
223
- @apply font-mono text-xs;
224
- }
225
-
226
- [data-rig-heatmap-cells] {
227
- /* Cells container group — no direct styling needed */
166
+ @apply font-mono;
228
167
  }
229
168
 
230
169
  [data-rig-heatmap-cell] {
231
170
  stroke: var(--color-background);
232
- stroke-width: 1;
233
171
  transition: opacity 0.15s ease;
234
- cursor: pointer;
235
172
  }
236
173
 
237
174
  [data-rig-heatmap-cell]:hover {
@@ -255,10 +192,6 @@
255
192
  opacity: 0.2;
256
193
  }
257
194
 
258
- [data-rig-radar-chart-series] {
259
- /* Series group — no direct styling needed */
260
- }
261
-
262
195
  [data-rig-radar-chart-area] {
263
196
  fill: var(--domain-accent, var(--color-primary));
264
197
  opacity: 0.2;
@@ -267,12 +200,11 @@
267
200
  [data-rig-radar-chart-line] {
268
201
  fill: none;
269
202
  stroke: var(--domain-accent, var(--color-primary));
270
- stroke-width: 2;
271
203
  }
272
204
 
273
205
  [data-rig-radar-chart-label] {
274
206
  fill: var(--color-muted-foreground);
275
- @apply font-mono text-xs;
207
+ @apply font-mono;
276
208
  }
277
209
 
278
210
  /* ───────── Treemap ───────── */
@@ -281,13 +213,8 @@
281
213
  @apply text-foreground;
282
214
  }
283
215
 
284
- [data-rig-treemap-node] {
285
- cursor: pointer;
286
- }
287
-
288
216
  [data-rig-treemap-rect] {
289
217
  stroke: var(--color-background);
290
- stroke-width: 2;
291
218
  transition: opacity 0.15s ease;
292
219
  }
293
220
 
@@ -297,8 +224,7 @@
297
224
 
298
225
  [data-rig-treemap-label] {
299
226
  fill: var(--color-foreground);
300
- @apply font-mono text-xs;
301
- pointer-events: none;
227
+ @apply font-mono;
302
228
  }
303
229
 
304
230
  /* ───────── SankeyDiagram ───────── */
@@ -307,17 +233,13 @@
307
233
  @apply text-foreground;
308
234
  }
309
235
 
310
- [data-rig-sankey-diagram-node] {
311
- cursor: pointer;
312
- }
313
-
314
236
  [data-rig-sankey-diagram-rect] {
315
237
  fill: var(--domain-accent, var(--color-primary));
316
238
  }
317
239
 
318
240
  [data-rig-sankey-diagram-label] {
319
241
  fill: var(--color-muted-foreground);
320
- @apply font-mono text-xs;
242
+ @apply font-mono;
321
243
  }
322
244
 
323
245
  [data-rig-sankey-diagram-link] {
@@ -334,12 +256,11 @@
334
256
  /* ───────── StatRow ───────── */
335
257
 
336
258
  [data-rig-stat-row] {
337
- @apply flex items-center justify-between text-xs font-mono;
259
+ @apply font-mono;
338
260
  }
339
261
 
340
262
  [data-rig-stat-row][data-separator] {
341
- padding-top: 4px;
342
- border-top: 1px solid color-mix(in srgb, var(--color-border) 50%, transparent);
263
+ border-top-color: color-mix(in srgb, var(--color-border) 50%, transparent);
343
264
  }
344
265
 
345
266
  [data-rig-stat-row-label] {
@@ -350,10 +271,6 @@
350
271
  color: var(--color-foreground);
351
272
  }
352
273
 
353
- [data-rig-stat-row][data-bold] [data-rig-stat-row-value] {
354
- font-weight: 700;
355
- }
356
-
357
274
  [data-rig-stat-row][data-tone='success'] [data-rig-stat-row-value] {
358
275
  color: var(--color-success);
359
276
  }
@@ -377,42 +294,23 @@
377
294
  /* ───────── ChartTooltip ───────── */
378
295
 
379
296
  [data-rig-chart-tooltip] {
380
- @apply absolute pointer-events-none z-50 text-foreground;
381
-
382
- border-radius: 3px;
383
- padding: 4px 8px;
384
- font-size: 13px;
385
- line-height: normal;
297
+ @apply text-foreground;
386
298
  background: var(--rig-widget-bg, var(--color-popover));
387
- border: 1px solid var(--rig-widget-border, var(--color-border));
299
+ border-color: var(--rig-widget-border, var(--color-border));
388
300
  box-shadow: 0 2px 8px rgb(0 0 0 / 36%);
389
301
  }
390
302
 
391
303
  /* ───────── ChartEmpty ───────── */
392
304
 
393
- [data-rig-chart-empty] {
394
- @apply flex flex-col items-center justify-center text-center;
395
-
396
- height: 100%;
397
- min-height: 300px;
398
- padding: 0 24px;
399
- }
400
-
401
305
  [data-rig-chart-empty-icon] {
402
306
  color: var(--color-muted-foreground);
403
- font-size: 30px;
404
- margin-bottom: 12px;
405
307
  }
406
308
 
407
309
  [data-rig-chart-empty-label] {
408
- @apply font-mono text-sm;
409
-
310
+ @apply font-mono;
410
311
  color: color-mix(in srgb, var(--color-foreground) 40%, transparent);
411
- margin: 0;
412
312
  }
413
313
 
414
314
  [data-rig-chart-empty-hint] {
415
- @apply text-xs text-muted-foreground;
416
-
417
- margin: 4px 0 0;
315
+ @apply text-muted-foreground;
418
316
  }
@@ -1,40 +1,21 @@
1
- /* Hex — Shared Editor Components
2
- * Theme styles for Rig's editor package: EditorWorkbench, EditorTab,
3
- * CodeBlock, DiffViewer, ColorPicker.
1
+ /* Hex — Shared Editor Components (skin only)
2
+ * Colors, backgrounds, borders (colors), shadows, font-family, transitions.
3
+ * Structural layout lives in Rig/src/styles/editor.css.
4
4
  */
5
5
 
6
6
  /* ───────── Editor Workbench ───────── */
7
7
 
8
8
  [data-rig-editor-workbench] {
9
- display: flex;
10
- flex-direction: column;
11
9
  background: var(--color-background);
12
10
  }
13
11
 
14
12
  [data-rig-editor-workbench-tabs] {
15
- display: flex;
16
- align-items: stretch;
17
- overflow-x: auto;
18
13
  background: var(--rig-editor-group-header-bg);
19
- border-bottom: none;
20
14
  font-family: var(--font-sans);
21
- scrollbar-width: none;
22
- user-select: none;
23
- height: 35px;
24
- }
25
-
26
- [data-rig-editor-workbench-tabs]::-webkit-scrollbar {
27
- display: none;
28
- }
29
-
30
- [data-rig-editor-workbench-content] {
31
- flex: 1;
32
- overflow: auto;
33
15
  }
34
16
 
35
17
  [data-rig-editor-workbench-empty] {
36
18
  color: var(--rig-description-fg);
37
- font-size: 13px;
38
19
  }
39
20
 
40
21
  /* ───────── Editor Tab ───────── */
@@ -42,21 +23,11 @@
42
23
  [data-rig-editor-tab] {
43
24
  @apply transition-colors;
44
25
 
45
- display: flex;
46
- align-items: center;
47
- gap: 6px;
48
- padding: 0 10px;
49
- height: 35px;
50
- white-space: nowrap;
51
- flex-shrink: 0;
52
- cursor: pointer;
53
- font-size: 13px;
54
26
  color: var(--rig-tab-inactive-fg);
55
27
  background: var(--rig-tab-inactive-bg);
56
- border-top: 2px solid transparent;
57
- border-bottom: 2px solid transparent;
58
- border-right: 1px solid var(--rig-tab-border);
59
- border-left: none;
28
+ border-top-color: transparent;
29
+ border-bottom-color: transparent;
30
+ border-right-color: var(--rig-tab-border);
60
31
  }
61
32
 
62
33
  [data-rig-editor-tab]:hover {
@@ -71,52 +42,13 @@
71
42
  border-right-color: transparent;
72
43
  }
73
44
 
74
- [data-rig-editor-tab-label] {
75
- overflow: hidden;
76
- text-overflow: ellipsis;
77
- white-space: nowrap;
78
- }
79
-
80
- /* Tab dirty/close CSS toggle — dirty shows dot, close shows on hover;
81
- on dirty+hover: dot hides, close shows */
82
45
  [data-rig-editor-tab-dirty] {
83
- border-radius: 50%;
84
46
  background: var(--color-foreground);
85
- width: 8px;
86
- height: 8px;
87
- display: none;
88
- flex-shrink: 0;
89
- }
90
-
91
- [data-rig-editor-tab][data-dirty] [data-rig-editor-tab-dirty] {
92
- display: block;
93
47
  }
94
48
 
95
49
  [data-rig-editor-tab-close] {
96
50
  color: var(--rig-description-fg);
97
- font-size: 12px;
98
- opacity: 0;
99
51
  transition: opacity 0.1s;
100
- flex-shrink: 0;
101
- cursor: pointer;
102
- }
103
-
104
- [data-rig-editor-tab][data-state='active'] [data-rig-editor-tab-close],
105
- [data-rig-editor-tab]:hover [data-rig-editor-tab-close] {
106
- opacity: 1;
107
- }
108
-
109
- /* Dirty tab: dot visible, close hidden — swap on hover */
110
- [data-rig-editor-tab][data-dirty] [data-rig-editor-tab-close] {
111
- opacity: 0;
112
- }
113
-
114
- [data-rig-editor-tab][data-dirty]:hover [data-rig-editor-tab-dirty] {
115
- display: none;
116
- }
117
-
118
- [data-rig-editor-tab][data-dirty]:hover [data-rig-editor-tab-close] {
119
- opacity: 1;
120
52
  }
121
53
 
122
54
  [data-rig-editor-tab-close]:hover {
@@ -125,54 +57,30 @@
125
57
  border-radius: 3px;
126
58
  }
127
59
 
128
- /* Drag-over indicator */
129
60
  [data-rig-editor-tab][data-drag-over] {
130
- border-left: 2px solid var(--color-primary);
131
- }
132
-
133
- /* Pinned tab indicator */
134
- [data-rig-editor-tab][data-pinned] {
135
- font-style: italic;
61
+ border-left-color: var(--color-primary);
136
62
  }
137
63
 
138
64
  /* ───────── CodeBlock ───────── */
139
65
 
140
66
  [data-rig-code-block] {
141
67
  background: var(--rig-editor-bg);
142
- border: 1px solid var(--color-border);
143
- border-radius: var(--radius);
68
+ border-color: var(--color-border);
144
69
  font-family: var(--font-mono);
145
- font-size: 13px;
146
70
  }
147
71
 
148
72
  [data-rig-code-block-header] {
149
73
  background: var(--color-card);
150
- border-bottom: 1px solid var(--color-border);
151
- padding: 6px 12px;
152
- font-size: 12px;
74
+ border-bottom-color: var(--color-border);
153
75
  color: var(--rig-description-fg);
154
76
  }
155
77
 
156
78
  [data-rig-code-block-language] {
157
79
  color: var(--color-muted-foreground);
158
- font-size: 12px;
159
- }
160
-
161
- [data-rig-code-block-pre] {
162
- margin: 0;
163
- overflow-x: auto;
164
- }
165
-
166
- [data-rig-code-block-code] {
167
- display: block;
168
- font-family: inherit;
169
80
  }
170
81
 
171
82
  [data-rig-code-block-line-number] {
172
83
  color: var(--rig-editor-line-number-fg);
173
- user-select: none;
174
- text-align: right;
175
- padding-right: 12px;
176
84
  }
177
85
 
178
86
  [data-rig-code-block-line] {
@@ -181,9 +89,6 @@
181
89
 
182
90
  [data-rig-code-block-copy] {
183
91
  color: var(--rig-description-fg);
184
- font-size: 12px;
185
- border-radius: var(--radius);
186
- padding: 2px 6px;
187
92
  transition: color 0.15s ease;
188
93
  }
189
94
 
@@ -196,27 +101,21 @@
196
101
 
197
102
  [data-rig-diff-viewer] {
198
103
  background: var(--rig-editor-bg);
199
- border: 1px solid var(--color-border);
200
- border-radius: var(--radius);
104
+ border-color: var(--color-border);
201
105
  font-family: var(--font-mono);
202
- font-size: 13px;
203
106
  }
204
107
 
205
108
  [data-rig-diff-viewer-header] {
206
109
  background: var(--color-card);
207
- border-bottom: 1px solid var(--color-border);
208
- padding: 6px 12px;
209
- font-size: 12px;
110
+ border-bottom-color: var(--color-border);
210
111
  color: var(--rig-description-fg);
211
112
  }
212
113
 
213
114
  [data-rig-diff-viewer-language] {
214
115
  color: var(--color-muted-foreground);
215
- font-size: 12px;
216
116
  }
217
117
 
218
118
  [data-rig-diff-viewer-stats] {
219
- font-size: 12px;
220
119
  color: var(--color-muted-foreground);
221
120
  }
222
121
 
@@ -228,23 +127,8 @@
228
127
  color: var(--color-destructive, #ef4444);
229
128
  }
230
129
 
231
- [data-rig-diff-viewer-unified] {
232
- overflow-x: auto;
233
- }
234
-
235
- [data-rig-diff-viewer-split] {
236
- display: flex;
237
- overflow-x: auto;
238
- }
239
-
240
- [data-rig-diff-viewer-pane] {
241
- flex: 1;
242
- min-width: 0;
243
- overflow-x: auto;
244
- }
245
-
246
130
  [data-rig-diff-viewer-pane] + [data-rig-diff-viewer-pane] {
247
- border-left: 1px solid var(--color-border);
131
+ border-left-color: var(--color-border);
248
132
  }
249
133
 
250
134
  [data-rig-diff-viewer-line] {
@@ -267,24 +151,15 @@
267
151
 
268
152
  [data-rig-diff-viewer-gutter] {
269
153
  color: var(--rig-editor-line-number-fg);
270
- user-select: none;
271
- text-align: right;
272
154
  }
273
155
 
274
156
  [data-rig-diff-viewer-old-num],
275
157
  [data-rig-diff-viewer-new-num] {
276
158
  color: var(--rig-editor-line-number-fg);
277
- user-select: none;
278
- text-align: right;
279
- padding-right: 4px;
280
- min-width: 2em;
281
- display: inline-block;
282
159
  }
283
160
 
284
161
  [data-rig-diff-viewer-prefix] {
285
162
  color: var(--color-muted-foreground);
286
- user-select: none;
287
- padding: 0 4px;
288
163
  }
289
164
 
290
165
  [data-rig-diff-viewer-content] {
@@ -295,64 +170,58 @@
295
170
 
296
171
  [data-rig-color-picker] {
297
172
  background: var(--color-background);
298
- border: 1px solid var(--color-border);
299
- border-radius: var(--radius);
300
- padding: 12px;
173
+ border-color: var(--color-border);
301
174
  }
302
175
 
303
176
  [data-rig-color-picker-preview] {
304
- border-radius: var(--radius);
305
- outline: 1px solid var(--color-border);
306
- }
307
-
308
- [data-rig-color-picker-sliders] {
309
- display: flex;
310
- flex-direction: column;
311
- gap: 8px;
177
+ outline-color: var(--color-border);
312
178
  }
313
179
 
314
180
  [data-rig-color-picker-field] {
315
- display: flex;
316
- align-items: center;
317
- gap: 8px;
318
181
  color: var(--rig-description-fg);
319
- font-size: 12px;
320
182
  }
321
183
 
322
184
  [data-rig-color-picker-hue] {
323
- @apply appearance-none h-2 rounded cursor-pointer;
324
-
325
185
  background: linear-gradient(to right, red, yellow, lime, aqua, blue, fuchsia, red);
326
186
  }
327
187
 
328
188
  [data-rig-color-picker-saturation] {
329
- @apply appearance-none h-2 rounded cursor-pointer;
330
-
331
189
  background: linear-gradient(to right, hsl(0 0% 50%), hsl(0 100% 50%));
332
190
  }
333
191
 
334
192
  [data-rig-color-picker-lightness] {
335
- @apply appearance-none h-2 rounded cursor-pointer;
336
-
337
193
  background: linear-gradient(to right, #000, hsl(0 100% 50%), #fff);
338
194
  }
339
195
 
340
196
  [data-rig-color-picker-hex] {
341
- font-size: 12px;
342
197
  color: var(--rig-description-fg);
343
198
  }
344
199
 
345
200
  [data-rig-color-picker-input] {
346
201
  background: var(--rig-input-bg);
347
- border: 1px solid var(--rig-input-border);
348
- border-radius: var(--radius);
349
- padding: 4px 6px;
202
+ border-color: var(--rig-input-border);
350
203
  color: var(--color-foreground);
351
- font-size: 12px;
352
204
  font-family: var(--font-mono);
353
205
  }
354
206
 
355
207
  [data-rig-color-picker-input]:focus {
356
- outline: none;
357
208
  border-color: var(--color-ring);
358
209
  }
210
+
211
+ /* ───────── Pane Group ───────── */
212
+
213
+ [data-rig-pane-group][data-focused]::after {
214
+ outline-color: var(--color-ring);
215
+ opacity: 0.35;
216
+ }
217
+
218
+ /* Resizer between panes */
219
+
220
+ [data-rig-split-editor-area] [data-rig-resizer]::after {
221
+ background: var(--color-border);
222
+ }
223
+
224
+ [data-rig-split-editor-area] [data-rig-resizer]:hover::after,
225
+ [data-rig-split-editor-area] [data-rig-resizer][data-dragging]::after {
226
+ background: var(--color-ring);
227
+ }