@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,12 +1,12 @@
1
- /* Hex — Shared Shell Components
2
- * Theme styles for Rig's shell package: IdeShell, ChatPanel, SearchPanel,
3
- * FileBrowser, ContentViewer, FormView, WelcomeView, SettingsView.
1
+ /* Hex — Shared Shell Components (skin only)
2
+ * Colors, backgrounds, shadows, opacity, color-only transitions, font-family.
3
+ * Structural layout lives in Rig/src/styles/shell.css.
4
4
  */
5
5
 
6
6
  /* ───────── IdeShell ───────── */
7
7
 
8
8
  [data-rig-ide-shell] {
9
- @apply bg-background text-foreground font-mono text-sm;
9
+ @apply bg-background text-foreground font-mono;
10
10
  }
11
11
 
12
12
  /* ───────── ChatPanel ───────── */
@@ -16,52 +16,20 @@
16
16
  }
17
17
 
18
18
  [data-rig-chat-panel-header] {
19
- border-bottom: 1px solid var(--rig-sidebar-border);
20
- font-size: 12px;
19
+ border-bottom-color: var(--rig-sidebar-border);
21
20
  font-family: var(--font-mono);
22
21
  color: var(--color-foreground);
23
22
  }
24
23
 
25
- [data-rig-chat-panel-messages] {
26
- display: flex;
27
- flex-direction: column;
28
- gap: 16px;
29
- }
30
-
31
- [data-rig-chat-panel-message] {
32
- padding: 0;
33
- }
34
-
35
24
  [data-rig-chat-panel-input] {
36
- border-top: 1px solid var(--rig-sidebar-border);
37
- padding: 0;
25
+ border-top-color: var(--rig-sidebar-border);
38
26
  }
39
27
 
40
28
  /* ── Header ── */
41
29
 
42
- [data-rig-chat-header-left] {
43
- display: flex;
44
- align-items: center;
45
- gap: 6px;
46
- }
47
-
48
- [data-rig-chat-header-actions] {
49
- display: flex;
50
- align-items: center;
51
- gap: 2px;
52
- }
53
-
54
30
  [data-rig-chat-header-btn] {
55
- display: flex;
56
- align-items: center;
57
- justify-content: center;
58
- width: 22px;
59
- height: 22px;
60
- border: none;
61
31
  background: none;
62
32
  color: var(--color-muted-foreground);
63
- border-radius: 4px;
64
- cursor: pointer;
65
33
  transition:
66
34
  background-color 0.1s,
67
35
  color 0.1s;
@@ -78,57 +46,22 @@
78
46
 
79
47
  /* ── Chat bubbles ── */
80
48
 
81
- [data-rig-chat-bubble] {
82
- font-size: 12px;
83
- line-height: 1.6;
84
- }
85
-
86
- /* User: right-aligned pill */
87
- [data-rig-chat-bubble][data-role='user'] {
88
- display: flex;
89
- flex-direction: column;
90
- align-items: flex-end;
91
- }
92
-
93
49
  [data-rig-chat-bubble][data-role='user'] [data-rig-chat-bubble-content] {
94
50
  background: color-mix(in srgb, var(--color-primary) 15%, transparent);
95
- border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
96
- border-radius: 12px 12px 4px 12px;
97
- padding: 8px 14px;
98
- max-width: 88%;
51
+ border-color: color-mix(in srgb, var(--color-primary) 20%, transparent);
99
52
  color: var(--color-foreground);
100
- white-space: pre-wrap;
101
- word-break: break-word;
102
- }
103
-
104
- /* Assistant: left-aligned, full width */
105
- [data-rig-chat-bubble][data-role='assistant'] {
106
- display: flex;
107
- flex-direction: column;
108
- }
109
-
110
- [data-rig-chat-bubble-header] {
111
- display: flex;
112
- align-items: center;
113
- gap: 5px;
114
- margin-bottom: 4px;
115
53
  }
116
54
 
117
55
  [data-rig-chat-bubble-label] {
118
- font-size: 11px;
119
56
  font-family: var(--font-mono);
120
57
  color: var(--color-info);
121
- font-weight: 500;
122
58
  }
123
59
 
124
60
  [data-rig-chat-bubble][data-role='assistant'] [data-rig-chat-bubble-content] {
125
61
  color: color-mix(in srgb, var(--color-foreground) 90%, transparent);
126
- font-size: 12px;
127
- line-height: 1.7;
128
62
  }
129
63
 
130
64
  [data-rig-chat-bubble-time] {
131
- font-size: 10px;
132
65
  font-family: var(--font-mono);
133
66
  color: var(--color-muted-foreground);
134
67
  opacity: 0.5;
@@ -136,161 +69,69 @@
136
69
 
137
70
  /* ── Tool calls ── */
138
71
 
139
- [data-rig-chat-tools] {
140
- display: flex;
141
- flex-wrap: wrap;
142
- gap: 4px;
143
- margin-top: 8px;
144
- }
145
-
146
72
  [data-rig-chat-tool-badge] {
147
- display: inline-flex;
148
- align-items: center;
149
- gap: 4px;
150
- font-size: 10px;
151
73
  font-family: var(--font-mono);
152
74
  color: var(--color-muted-foreground);
153
75
  background: color-mix(in srgb, var(--color-foreground) 6%, transparent);
154
- border: 1px solid color-mix(in srgb, var(--color-foreground) 8%, transparent);
155
- border-radius: 4px;
156
- padding: 2px 8px;
157
- height: 20px;
76
+ border-color: color-mix(in srgb, var(--color-foreground) 8%, transparent);
158
77
  }
159
78
 
160
79
  [data-rig-chat-tool-error] {
161
80
  color: var(--color-destructive);
162
- font-size: 9px;
163
- text-transform: uppercase;
164
81
  }
165
82
 
166
83
  /* ── Typing indicator ── */
167
84
 
168
- [data-rig-chat-typing] {
169
- display: inline-flex;
170
- align-items: center;
171
- gap: 4px;
172
- padding: 6px 0;
173
- }
174
-
175
85
  [data-rig-chat-typing-dot] {
176
- width: 5px;
177
- height: 5px;
178
- border-radius: 50%;
179
86
  background: var(--color-info);
180
87
  opacity: 0.3;
181
- animation: chat-typing 1.4s infinite ease-in-out;
182
- }
183
-
184
- [data-rig-chat-typing-dot]:nth-child(2) {
185
- animation-delay: 0.2s;
88
+ animation:
89
+ chat-typing 1.4s infinite ease-in-out,
90
+ chat-typing-opacity 1.4s infinite ease-in-out;
186
91
  }
187
92
 
188
- [data-rig-chat-typing-dot]:nth-child(3) {
189
- animation-delay: 0.4s;
190
- }
191
-
192
- @keyframes chat-typing {
93
+ @keyframes chat-typing-opacity {
193
94
  0%,
194
95
  80%,
195
96
  100% {
196
97
  opacity: 0.3;
197
- transform: scale(1);
198
98
  }
199
99
  40% {
200
100
  opacity: 1;
201
- transform: scale(1.3);
202
101
  }
203
102
  }
204
103
 
205
104
  /* ── Empty state ── */
206
105
 
207
- [data-rig-chat-empty] {
208
- display: flex;
209
- flex-direction: column;
210
- align-items: center;
211
- justify-content: center;
212
- height: 100%;
213
- padding: 2rem;
214
- text-align: center;
215
- }
216
-
217
106
  [data-rig-chat-empty-icon] {
218
107
  color: var(--color-info);
219
108
  opacity: 0.3;
220
- margin-bottom: 12px;
221
109
  }
222
110
 
223
111
  [data-rig-chat-empty-title] {
224
- font-size: 14px;
225
112
  font-family: var(--font-mono);
226
113
  color: var(--color-foreground);
227
- margin-bottom: 6px;
228
114
  }
229
115
 
230
116
  [data-rig-chat-empty-desc] {
231
- font-size: 11px;
232
117
  color: var(--color-muted-foreground);
233
- line-height: 1.5;
234
- max-width: 220px;
235
118
  }
236
119
 
237
120
  /* ── Input area ── */
238
121
 
239
- [data-rig-chat-input-area] {
240
- display: flex;
241
- flex-direction: column;
242
- }
243
-
244
- [data-rig-chat-context-bar] {
245
- display: flex;
246
- align-items: center;
247
- gap: 4px;
248
- padding: 8px 12px 0;
249
- }
250
-
251
122
  [data-rig-chat-context-chip] {
252
- display: inline-flex;
253
- align-items: center;
254
- gap: 4px;
255
- font-size: 10px;
256
123
  font-family: var(--font-mono);
257
124
  color: var(--color-muted-foreground);
258
125
  background: color-mix(in srgb, var(--color-foreground) 5%, transparent);
259
- border: 1px solid color-mix(in srgb, var(--color-foreground) 8%, transparent);
260
- border-radius: 10px;
261
- padding: 2px 8px;
262
- height: 20px;
263
- }
264
-
265
- [data-rig-chat-context-dot] {
266
- width: 6px;
267
- height: 6px;
268
- border-radius: 50%;
269
- flex-shrink: 0;
270
- }
271
-
272
- [data-rig-chat-composer] {
273
- display: flex;
274
- align-items: flex-end;
275
- gap: 6px;
276
- padding: 8px 12px;
126
+ border-color: color-mix(in srgb, var(--color-foreground) 8%, transparent);
277
127
  }
278
128
 
279
129
  [data-rig-chat-textarea] {
280
- flex: 1;
281
- resize: none;
282
- min-height: 22px;
283
- max-height: 120px;
284
- padding: 6px 10px;
285
- font-size: 12px;
286
130
  font-family: var(--font-sans);
287
- line-height: 1.5;
288
131
  color: var(--color-foreground);
289
132
  background: color-mix(in srgb, var(--color-foreground) 4%, transparent);
290
- border: 1px solid var(--rig-sidebar-border);
291
- border-radius: 8px;
292
- outline: none;
293
- overflow-y: auto;
133
+ border-color: var(--rig-sidebar-border);
134
+ transition: border-color 0.15s ease;
294
135
  }
295
136
 
296
137
  [data-rig-chat-textarea]:focus {
@@ -307,17 +148,8 @@
307
148
  }
308
149
 
309
150
  [data-rig-chat-send] {
310
- display: flex;
311
- align-items: center;
312
- justify-content: center;
313
- width: 30px;
314
- height: 30px;
315
- border-radius: 8px;
316
- border: none;
317
151
  background: var(--color-info);
318
152
  color: #fff;
319
- cursor: pointer;
320
- flex-shrink: 0;
321
153
  transition:
322
154
  opacity 0.15s,
323
155
  transform 0.1s;
@@ -325,29 +157,15 @@
325
157
 
326
158
  [data-rig-chat-send]:disabled {
327
159
  opacity: 0.2;
328
- cursor: default;
329
160
  }
330
161
 
331
162
  [data-rig-chat-send]:not(:disabled):hover {
332
163
  opacity: 0.9;
333
- transform: scale(1.04);
334
- }
335
-
336
- [data-rig-chat-send]:not(:disabled):active {
337
- transform: scale(0.96);
338
164
  }
339
165
 
340
- /* ── Footer: model + hints ── */
341
-
342
- [data-rig-chat-footer] {
343
- display: flex;
344
- align-items: center;
345
- justify-content: space-between;
346
- padding: 0 12px 8px;
347
- }
166
+ /* ── Footer ── */
348
167
 
349
168
  [data-rig-chat-footer-hint] {
350
- font-size: 10px;
351
169
  font-family: var(--font-mono);
352
170
  color: var(--color-muted-foreground);
353
171
  opacity: 0.4;
@@ -355,27 +173,15 @@
355
173
 
356
174
  [data-rig-chat-footer-hint] kbd {
357
175
  font-family: var(--font-mono);
358
- font-size: 10px;
359
- padding: 0 3px;
360
- border: 1px solid color-mix(in srgb, var(--color-foreground) 15%, transparent);
361
- border-radius: 3px;
176
+ border-color: color-mix(in srgb, var(--color-foreground) 15%, transparent);
362
177
  }
363
178
 
364
179
  /* ── Model selector ── */
365
180
 
366
181
  [data-rig-chat-model-selector] {
367
- display: inline-flex;
368
- align-items: center;
369
- gap: 4px;
370
- font-size: 10px;
371
182
  font-family: var(--font-mono);
372
183
  color: var(--color-muted-foreground);
373
184
  background: none;
374
- border: none;
375
- cursor: pointer;
376
- padding: 2px 6px;
377
- border-radius: 4px;
378
- white-space: nowrap;
379
185
  transition:
380
186
  background-color 0.1s,
381
187
  color 0.1s;
@@ -387,33 +193,15 @@
387
193
  }
388
194
 
389
195
  [data-rig-chat-model-menu] {
390
- position: absolute;
391
- bottom: 100%;
392
- left: 0;
393
- margin-bottom: 4px;
394
- min-width: 200px;
395
- padding: 4px 0;
396
196
  background: var(--vsc-menu-bg);
397
- border: 1px solid var(--vsc-widget-border);
398
- border-radius: 5px;
197
+ border-color: var(--vsc-widget-border);
399
198
  box-shadow: 0 8px 24px rgb(0 0 0 / 50%);
400
- z-index: 9999;
401
199
  }
402
200
 
403
201
  [data-rig-chat-model-option] {
404
- display: flex;
405
- align-items: center;
406
- justify-content: space-between;
407
- width: 100%;
408
- height: 28px;
409
- padding: 0 12px;
410
- border: none;
411
202
  background: none;
412
203
  color: var(--color-foreground);
413
- font-size: 12px;
414
204
  font-family: var(--font-mono);
415
- cursor: default;
416
- text-align: left;
417
205
  transition: background-color 0.1s;
418
206
  }
419
207
 
@@ -426,14 +214,7 @@
426
214
  color: var(--color-info);
427
215
  }
428
216
 
429
- [data-rig-chat-model-option-left] {
430
- display: flex;
431
- align-items: center;
432
- gap: 6px;
433
- }
434
-
435
217
  [data-rig-chat-model-option-desc] {
436
- font-size: 10px;
437
218
  color: var(--color-muted-foreground);
438
219
  }
439
220
 
@@ -449,10 +230,6 @@
449
230
  background: var(--color-background);
450
231
  }
451
232
 
452
- [data-rig-file-browser-content] {
453
- padding-top: 6px;
454
- }
455
-
456
233
  /* ───────── ContentViewer ───────── */
457
234
 
458
235
  [data-rig-content-viewer] {
@@ -460,25 +237,15 @@
460
237
  }
461
238
 
462
239
  [data-rig-content-viewer-breadcrumbs] {
463
- border-bottom: 1px solid var(--color-border);
240
+ border-bottom-color: var(--color-border);
464
241
  }
465
242
 
466
243
  [data-rig-content-viewer-header] {
467
- padding: 0;
468
- border-bottom: 1px solid var(--color-border);
469
- }
470
-
471
- [data-rig-content-viewer-body] {
472
- padding: 0;
244
+ border-bottom-color: var(--color-border);
473
245
  }
474
246
 
475
247
  [data-rig-content-viewer-empty] {
476
- display: flex;
477
- align-items: center;
478
- justify-content: center;
479
- height: 8rem;
480
248
  color: var(--color-muted-foreground);
481
- font-size: 12px;
482
249
  font-family: var(--font-mono);
483
250
  }
484
251
 
@@ -489,11 +256,11 @@
489
256
  }
490
257
 
491
258
  [data-rig-form-view-header] {
492
- border-bottom: 1px solid var(--color-border);
259
+ border-bottom-color: var(--color-border);
493
260
  }
494
261
 
495
262
  [data-rig-form-view-actions] {
496
- border-top: 1px solid var(--color-border);
263
+ border-top-color: var(--color-border);
497
264
  }
498
265
 
499
266
  /* ───────── WelcomeView ───────── */
@@ -504,15 +271,12 @@
504
271
 
505
272
  [data-rig-welcome-view-title] {
506
273
  font-family: var(--font-mono);
507
- font-size: 18px;
508
274
  color: var(--color-foreground);
509
275
  }
510
276
 
511
277
  [data-rig-welcome-view-description] {
512
278
  font-family: var(--font-mono);
513
- font-size: 13px;
514
279
  color: var(--color-muted-foreground);
515
- margin-top: 0.25rem;
516
280
  }
517
281
 
518
282
  /* ───────── SettingsView ───────── */
@@ -523,6 +287,5 @@
523
287
 
524
288
  [data-rig-settings-view-title] {
525
289
  font-family: var(--font-mono);
526
- font-size: 18px;
527
290
  color: var(--color-foreground);
528
291
  }
@@ -1,19 +1,14 @@
1
- /* Hex — Shared Spatial Components
2
- * Styles for Rig's spatial package: MapCanvas, GlobeView,
3
- * ScatterPlot3D, GraphNetwork, PointCloud
1
+ /* Hex — Shared Spatial Components (skin only)
2
+ * Fills, strokes, backgrounds, outline colors, opacity, font-family.
3
+ * Structural layout lives in Rig/src/styles/spatial.css.
4
4
  */
5
5
 
6
6
  /* ───────── MapCanvas ───────── */
7
7
 
8
8
  [data-rig-map-canvas] {
9
- @apply bg-card border border-border/50;
9
+ @apply bg-card;
10
10
  border-radius: var(--radius);
11
- cursor: grab;
12
- user-select: none;
13
- }
14
-
15
- [data-rig-map-canvas][data-dragging] {
16
- cursor: grabbing;
11
+ border-color: color-mix(in srgb, var(--color-border) 50%, transparent);
17
12
  }
18
13
 
19
14
  [data-rig-map-canvas-viewport] {
@@ -25,11 +20,6 @@
25
20
  opacity: 0.1;
26
21
  }
27
22
 
28
- [data-rig-map-canvas-marker] {
29
- cursor: pointer;
30
- transition: opacity 0.15s ease;
31
- }
32
-
33
23
  [data-rig-map-canvas-marker] circle {
34
24
  fill: var(--domain-accent, var(--color-primary));
35
25
  }
@@ -39,21 +29,18 @@
39
29
  }
40
30
 
41
31
  [data-rig-map-canvas-marker]:focus-visible {
42
- outline: 2px solid var(--color-ring);
43
- outline-offset: 2px;
32
+ outline-color: var(--color-ring);
44
33
  }
45
34
 
46
35
  [data-rig-map-canvas-marker-label] {
47
36
  fill: var(--color-foreground);
48
- @apply font-mono text-xs;
37
+ @apply font-mono;
49
38
  }
50
39
 
51
40
  /* ───────── GlobeView ───────── */
52
41
 
53
42
  [data-rig-globe-view] {
54
43
  @apply bg-background;
55
- cursor: grab;
56
- user-select: none;
57
44
  }
58
45
 
59
46
  [data-rig-globe-view-sphere] {
@@ -66,11 +53,6 @@
66
53
  opacity: 0.1;
67
54
  }
68
55
 
69
- [data-rig-globe-view-marker] {
70
- cursor: pointer;
71
- transition: opacity 0.15s ease;
72
- }
73
-
74
56
  [data-rig-globe-view-marker] circle {
75
57
  fill: var(--domain-accent, var(--color-primary));
76
58
  }
@@ -80,13 +62,12 @@
80
62
  }
81
63
 
82
64
  [data-rig-globe-view-marker]:focus-visible {
83
- outline: 2px solid var(--color-ring);
84
- outline-offset: 2px;
65
+ outline-color: var(--color-ring);
85
66
  }
86
67
 
87
68
  [data-rig-globe-view-marker-label] {
88
69
  fill: var(--color-foreground);
89
- @apply font-mono text-xs;
70
+ @apply font-mono;
90
71
  }
91
72
 
92
73
  /* ───────── ScatterPlot3D ───────── */
@@ -106,13 +87,11 @@
106
87
 
107
88
  [data-rig-scatter-plot-3d-axis-label] {
108
89
  fill: var(--color-muted-foreground);
109
- @apply font-mono text-xs;
90
+ @apply font-mono;
110
91
  }
111
92
 
112
93
  [data-rig-scatter-plot-3d-point] {
113
94
  fill: var(--domain-accent, var(--color-primary));
114
- transition: opacity 0.15s ease;
115
- cursor: pointer;
116
95
  }
117
96
 
118
97
  [data-rig-scatter-plot-3d-point]:hover {
@@ -122,44 +101,36 @@
122
101
  /* ───────── GraphNetwork ───────── */
123
102
 
124
103
  [data-rig-graph-network] {
125
- @apply bg-card border border-border/50;
104
+ @apply bg-card;
126
105
  border-radius: var(--radius);
106
+ border-color: color-mix(in srgb, var(--color-border) 50%, transparent);
127
107
  }
128
108
 
129
109
  [data-rig-graph-network-edge] {
130
110
  stroke: var(--color-border);
131
111
  opacity: 0.3;
132
- transition: opacity 0.15s ease;
133
- cursor: pointer;
134
112
  }
135
113
 
136
114
  [data-rig-graph-network-edge]:hover {
137
115
  opacity: 0.6;
138
116
  }
139
117
 
140
- [data-rig-graph-network-node] {
141
- cursor: pointer;
142
- transition: opacity 0.15s ease;
143
- }
144
-
145
118
  [data-rig-graph-network-node]:hover {
146
119
  opacity: 0.8;
147
120
  }
148
121
 
149
122
  [data-rig-graph-network-node]:focus-visible {
150
- outline: 2px solid var(--color-ring);
151
- outline-offset: 2px;
123
+ outline-color: var(--color-ring);
152
124
  }
153
125
 
154
126
  [data-rig-graph-network-node-circle] {
155
127
  fill: var(--domain-accent, var(--color-primary));
156
128
  stroke: var(--color-foreground);
157
- stroke-width: 1;
158
129
  }
159
130
 
160
131
  [data-rig-graph-network-node-label] {
161
132
  fill: var(--color-foreground);
162
- @apply font-mono text-xs;
133
+ @apply font-mono;
163
134
  }
164
135
 
165
136
  /* ───────── PointCloud ───────── */
@@ -170,8 +141,6 @@
170
141
 
171
142
  [data-rig-point-cloud-point] {
172
143
  fill: var(--domain-accent, var(--color-primary));
173
- transition: opacity 0.15s ease;
174
- cursor: pointer;
175
144
  }
176
145
 
177
146
  [data-rig-point-cloud-point]:hover {
@@ -179,6 +148,5 @@
179
148
  }
180
149
 
181
150
  [data-rig-point-cloud-point]:focus-visible {
182
- outline: 2px solid var(--color-ring);
183
- outline-offset: 2px;
151
+ outline-color: var(--color-ring);
184
152
  }