@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,26 +1,19 @@
1
- /* Hex — Shared Core Components
2
- * Styles for Rig's core package: Button, Input, Select, Textarea,
3
- * Checkbox, Switch, Radio, Badge, Progress, Card, Divider, Kbd,
4
- * TagInput, Combobox, Tooltip, Skeleton, PropertyGrid, InlineEditor.
1
+ /* Hex — Shared Core Components (skin only)
2
+ * Colors, borders, shadows, transitions, font-family.
3
+ * Structural layout lives in Rig/src/styles/core.css.
5
4
  */
6
5
 
7
6
  /* ───────── Buttons ───────── */
8
7
 
9
8
  [data-rig-button] {
10
- @apply inline-flex items-center justify-center gap-1.5
11
- font-medium cursor-pointer transition-colors
12
- focus:outline-none;
9
+ @apply transition-colors focus:outline-none;
13
10
 
14
- padding: 4px 8px;
15
- font-size: 12px;
16
- line-height: 16px;
17
11
  border-radius: var(--radius);
18
- border: 1px solid transparent;
12
+ border-color: transparent;
19
13
  }
20
14
 
21
15
  [data-rig-button]:focus-visible {
22
- outline: 1px solid var(--color-ring);
23
- outline-offset: -1px;
16
+ outline-color: var(--color-ring);
24
17
  }
25
18
 
26
19
  [data-rig-button][data-variant='primary'] {
@@ -86,25 +79,15 @@
86
79
  }
87
80
 
88
81
  [data-rig-button][data-disabled] {
89
- @apply pointer-events-none;
90
-
91
82
  opacity: 0.4;
92
83
  }
93
84
 
94
85
  /* ───────── Input ───────── */
95
86
 
96
- [data-rig-input] {
97
- @apply flex items-center gap-2;
98
- }
99
-
100
87
  [data-rig-input] input {
101
- @apply flex-1 focus:outline-none;
102
-
103
88
  background: var(--rig-input-bg);
104
- border: 1px solid var(--rig-input-border);
89
+ border-color: var(--rig-input-border);
105
90
  color: var(--rig-input-fg);
106
- font-size: 13px;
107
- padding: 4px 6px;
108
91
  border-radius: var(--radius);
109
92
  }
110
93
 
@@ -117,15 +100,11 @@
117
100
  }
118
101
 
119
102
  [data-rig-input][data-disabled] input {
120
- @apply cursor-not-allowed;
121
-
122
103
  opacity: 0.4;
123
104
  }
124
105
 
125
106
  [data-rig-input-clear] {
126
107
  color: var(--rig-description-fg);
127
- font-size: 13px;
128
- padding: 0 4px;
129
108
  }
130
109
 
131
110
  [data-rig-input-clear]:hover {
@@ -134,18 +113,10 @@
134
113
 
135
114
  /* ───────── Select ───────── */
136
115
 
137
- [data-rig-select] {
138
- @apply flex items-center gap-2;
139
- }
140
-
141
116
  [data-rig-select] select {
142
- @apply flex-1 appearance-none focus:outline-none;
143
-
144
117
  background: var(--rig-dropdown-bg);
145
- border: 1px solid var(--rig-dropdown-border);
118
+ border-color: var(--rig-dropdown-border);
146
119
  color: var(--rig-dropdown-fg);
147
- font-size: 13px;
148
- padding: 4px 6px;
149
120
  border-radius: var(--radius);
150
121
  }
151
122
 
@@ -159,25 +130,15 @@
159
130
  }
160
131
 
161
132
  [data-rig-select][data-disabled] select {
162
- @apply cursor-not-allowed;
163
-
164
133
  opacity: 0.4;
165
134
  }
166
135
 
167
136
  /* ───────── Textarea ───────── */
168
137
 
169
- [data-rig-textarea] {
170
- @apply flex flex-col gap-1;
171
- }
172
-
173
138
  [data-rig-textarea] textarea {
174
- @apply focus:outline-none;
175
-
176
139
  background: var(--rig-input-bg);
177
- border: 1px solid var(--rig-input-border);
140
+ border-color: var(--rig-input-border);
178
141
  color: var(--rig-input-fg);
179
- font-size: 13px;
180
- padding: 4px 6px;
181
142
  border-radius: var(--radius);
182
143
  }
183
144
 
@@ -190,58 +151,43 @@
190
151
  }
191
152
 
192
153
  [data-rig-textarea][data-disabled] textarea {
193
- @apply cursor-not-allowed;
194
-
195
154
  opacity: 0.4;
196
155
  }
197
156
 
198
157
  [data-rig-textarea-count] {
199
158
  color: var(--rig-description-fg);
200
159
  font-family: var(--font-mono);
201
- font-size: 11px;
202
- text-align: right;
203
160
  }
204
161
 
205
162
  /* ───────── Checkbox ───────── */
206
163
 
207
164
  [data-rig-checkbox] {
208
- @apply inline-flex items-center gap-2 cursor-pointer select-none;
209
-
210
- font-size: 13px;
211
165
  color: var(--color-foreground);
212
166
  }
213
167
 
214
168
  [data-rig-checkbox] input[type='checkbox'] {
215
- @apply cursor-pointer;
216
-
217
- width: 18px;
218
- height: 18px;
219
169
  background: var(--rig-checkbox-bg);
220
- border: 1px solid var(--rig-checkbox-border);
170
+ border-color: var(--rig-checkbox-border);
221
171
  border-radius: 3px;
222
172
  accent-color: var(--color-primary);
223
173
  }
224
174
 
225
175
  [data-rig-checkbox][data-disabled] {
226
176
  opacity: 0.4;
227
- cursor: not-allowed;
228
177
  }
229
178
 
230
179
  /* ───────── Switch ───────── */
231
180
 
232
181
  [data-rig-switch] {
233
- @apply relative inline-flex items-center rounded-full
234
- transition-colors cursor-pointer focus:outline-none;
182
+ @apply transition-colors;
235
183
 
236
- width: 36px;
237
- height: 20px;
184
+ border-radius: 9999px;
238
185
  background: var(--rig-input-bg);
239
- border: 1px solid var(--rig-input-border);
186
+ border-color: var(--rig-input-border);
240
187
  }
241
188
 
242
189
  [data-rig-switch]:focus-visible {
243
- outline: 1px solid var(--color-ring);
244
- outline-offset: -1px;
190
+ outline-color: var(--color-ring);
245
191
  }
246
192
 
247
193
  [data-rig-switch][data-state='checked'] {
@@ -251,66 +197,40 @@
251
197
 
252
198
  [data-rig-switch][data-disabled] {
253
199
  opacity: 0.4;
254
- cursor: not-allowed;
255
200
  }
256
201
 
257
202
  [data-rig-switch-track] {
258
- @apply absolute inset-0 rounded-full;
203
+ border-radius: 9999px;
259
204
  }
260
205
 
261
206
  [data-rig-switch-thumb] {
262
- @apply block rounded-full transition-transform;
263
-
264
- width: 14px;
265
- height: 14px;
207
+ border-radius: 9999px;
266
208
  background: var(--rig-description-fg);
267
- transform: translateX(2px);
268
209
  }
269
210
 
270
211
  [data-rig-switch][data-state='checked'] [data-rig-switch-thumb] {
271
- transform: translateX(18px);
272
212
  background: var(--color-foreground);
273
213
  }
274
214
 
275
215
  /* ───────── Radio ───────── */
276
216
 
277
217
  [data-rig-radio] {
278
- @apply inline-flex items-center gap-2 cursor-pointer select-none;
279
-
280
- font-size: 13px;
281
218
  color: var(--color-foreground);
282
219
  }
283
220
 
284
221
  [data-rig-radio] input[type='radio'] {
285
- @apply cursor-pointer;
286
-
287
- width: 18px;
288
- height: 18px;
289
- border: 1px solid var(--rig-checkbox-border);
222
+ border-color: var(--rig-checkbox-border);
290
223
  background: var(--rig-checkbox-bg);
291
224
  accent-color: var(--color-primary);
292
225
  }
293
226
 
294
227
  [data-rig-radio][data-disabled] {
295
228
  opacity: 0.4;
296
- cursor: not-allowed;
297
- }
298
-
299
- [data-rig-radio-group] {
300
- @apply flex gap-3;
301
- }
302
-
303
- [data-rig-radio-group][data-orientation='vertical'] {
304
- @apply flex-col;
305
229
  }
306
230
 
307
231
  /* ───────── Badge ───────── */
308
232
 
309
233
  [data-rig-badge] {
310
- font-size: 11px;
311
- line-height: 1;
312
- padding: 3px 5px;
313
- border-radius: 11px;
314
234
  background: var(--rig-badge-bg);
315
235
  color: var(--rig-badge-fg);
316
236
  }
@@ -373,45 +293,32 @@
373
293
  /* ───────── Progress ───────── */
374
294
 
375
295
  [data-rig-progress] {
376
- @apply flex-1;
377
-
378
- height: 2px;
379
296
  background: color-mix(in srgb, var(--color-foreground) 8%, transparent);
380
297
  }
381
298
 
382
299
  [data-rig-progress-fill] {
383
- @apply h-full transition-all duration-300;
300
+ @apply transition-all duration-300;
384
301
 
385
302
  background: var(--rig-progress-bg);
386
303
  }
387
304
 
388
305
  [data-rig-progress][data-indeterminate] [data-rig-progress-fill] {
389
- @apply w-1/3 animate-pulse;
306
+ @apply animate-pulse;
390
307
  }
391
308
 
392
309
  /* ───────── Card ───────── */
393
310
 
394
311
  [data-rig-card] {
395
- border: 1px solid var(--color-border);
312
+ border-color: var(--color-border);
396
313
  border-radius: var(--radius);
397
314
  background: var(--color-card);
398
- padding: 1rem;
399
315
  transition:
400
316
  border-color 0.15s ease,
401
317
  background-color 0.15s ease,
402
318
  box-shadow 0.15s ease;
403
319
  }
404
320
 
405
- [data-rig-card][data-size='sm'] {
406
- padding: 0.5rem 0.75rem;
407
- }
408
-
409
- [data-rig-card][data-size='lg'] {
410
- padding: 1.5rem;
411
- }
412
-
413
321
  [data-rig-card][data-interactive] {
414
- cursor: pointer;
415
322
  transition:
416
323
  transform 0.2s,
417
324
  box-shadow 0.2s,
@@ -422,8 +329,31 @@
422
329
  [data-rig-card][data-interactive]:hover {
423
330
  border-color: var(--rig-input-border);
424
331
  background: var(--rig-card-hover-bg, var(--color-card));
425
- transform: translateY(-2px);
426
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
332
+ transform: translateY(-4px);
333
+ box-shadow: var(--rig-elevation-2);
334
+ }
335
+
336
+ [data-rig-card][data-media] img {
337
+ filter: var(--rig-media-filter);
338
+ transition:
339
+ transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
340
+ filter 0.4s ease;
341
+ }
342
+
343
+ @media (hover: hover) {
344
+ [data-rig-card][data-media]:hover img {
345
+ transform: scale(1.04);
346
+ }
347
+ }
348
+
349
+ @media (prefers-reduced-motion: reduce) {
350
+ [data-rig-card][data-media] img {
351
+ transition: none;
352
+ }
353
+
354
+ [data-rig-card][data-media]:hover img {
355
+ transform: none;
356
+ }
427
357
  }
428
358
 
429
359
  @media (prefers-reduced-motion: reduce) {
@@ -437,8 +367,7 @@
437
367
  }
438
368
 
439
369
  [data-rig-card][data-interactive]:focus-visible {
440
- outline: 1px solid var(--rig-card-accent, var(--color-ring));
441
- outline-offset: 1px;
370
+ outline-color: var(--rig-card-accent, var(--color-ring));
442
371
  }
443
372
 
444
373
  [data-rig-card][data-interactive]:active {
@@ -447,74 +376,47 @@
447
376
 
448
377
  /* Accent border-left */
449
378
  [data-rig-card][style*='--rig-card-accent'] {
450
- border-left: 2px solid var(--rig-card-accent);
379
+ border-left-color: var(--rig-card-accent);
451
380
  }
452
381
 
453
382
  /* ───────── Divider ───────── */
454
383
 
455
384
  [data-rig-divider] {
456
- border: none;
457
385
  border-top: 1px solid var(--color-border);
458
- margin: 0;
459
386
  }
460
387
 
461
388
  [data-rig-divider][data-vertical] {
462
389
  border-top: none;
463
390
  border-left: 1px solid var(--color-border);
464
- align-self: stretch;
465
391
  }
466
392
 
467
393
  [data-rig-divider-label] {
468
- display: flex;
469
- align-items: center;
470
- gap: 0.75rem;
471
394
  color: var(--rig-description-fg);
472
395
  font-family: var(--font-mono);
473
- font-size: 10px;
474
- text-transform: uppercase;
475
- letter-spacing: 0.05em;
476
396
  }
477
397
 
478
398
  [data-rig-divider-label]::before,
479
399
  [data-rig-divider-label]::after {
480
- content: '';
481
- flex: 1;
482
- height: 1px;
483
400
  background: var(--color-border);
484
401
  }
485
402
 
486
403
  /* ───────── Kbd ───────── */
487
404
 
488
405
  [data-rig-kbd] {
489
- display: inline-flex;
490
- align-items: center;
491
- gap: 2px;
492
406
  font-family: var(--font-mono);
493
- font-size: 11px;
494
- line-height: 1;
495
407
  color: var(--rig-keybinding-fg);
496
408
  background: color-mix(in srgb, var(--color-foreground) 6%, transparent);
497
- border: 1px solid var(--color-border);
498
- border-bottom-width: 2px;
409
+ border-color: var(--color-border);
499
410
  border-radius: 3px;
500
- padding: 3px 5px;
501
- white-space: nowrap;
502
411
  }
503
412
 
504
413
  /* ───────── TagInput ───────── */
505
414
 
506
415
  [data-rig-tag-input] {
507
- display: flex;
508
- flex-wrap: wrap;
509
- align-items: center;
510
- gap: 4px;
511
- min-height: 32px;
512
- padding: 4px 8px;
513
- border: 1px solid var(--rig-input-border);
416
+ border-color: var(--rig-input-border);
514
417
  border-radius: var(--radius);
515
418
  background: var(--rig-input-bg);
516
419
  transition: border-color 0.15s ease;
517
- position: relative;
518
420
  }
519
421
 
520
422
  [data-rig-tag-input]:focus-within {
@@ -522,32 +424,15 @@
522
424
  }
523
425
 
524
426
  [data-rig-tag] {
525
- display: inline-flex;
526
- align-items: center;
527
- gap: 4px;
528
- padding: 1px 6px;
529
427
  font-family: var(--font-mono);
530
- font-size: 11px;
531
428
  color: var(--color-foreground);
532
429
  background: var(--color-accent);
533
- border: 1px solid var(--color-border);
430
+ border-color: var(--color-border);
534
431
  border-radius: 3px;
535
- white-space: nowrap;
536
432
  }
537
433
 
538
434
  [data-rig-tag-remove] {
539
- display: inline-flex;
540
- align-items: center;
541
- justify-content: center;
542
- width: 14px;
543
- height: 14px;
544
- font-size: 12px;
545
- line-height: 1;
546
435
  color: var(--rig-description-fg);
547
- cursor: pointer;
548
- border: none;
549
- background: none;
550
- padding: 0;
551
436
  border-radius: 1px;
552
437
  transition:
553
438
  color 0.1s ease,
@@ -560,15 +445,8 @@
560
445
  }
561
446
 
562
447
  [data-rig-tag-input-field] {
563
- flex: 1;
564
- min-width: 80px;
565
- border: none;
566
- background: none;
567
- outline: none;
568
448
  font-family: var(--font-mono);
569
- font-size: 12px;
570
449
  color: var(--color-foreground);
571
- padding: 2px 0;
572
450
  }
573
451
 
574
452
  [data-rig-tag-input-field]::placeholder {
@@ -576,31 +454,15 @@
576
454
  }
577
455
 
578
456
  [data-rig-tag-suggestions] {
579
- position: absolute;
580
- left: 0;
581
- right: 0;
582
- top: 100%;
583
- margin-top: 2px;
584
- z-index: 50;
585
457
  background: var(--rig-widget-bg);
586
- border: 1px solid var(--rig-widget-border);
458
+ border-color: var(--rig-widget-border);
587
459
  border-radius: var(--radius);
588
- max-height: 160px;
589
- overflow-y: auto;
590
460
  box-shadow: 0 4px 12px rgb(0 0 0 / 40%);
591
461
  }
592
462
 
593
463
  [data-rig-tag-suggestion] {
594
- display: block;
595
- width: 100%;
596
- padding: 4px 10px;
597
464
  font-family: var(--font-mono);
598
- font-size: 12px;
599
465
  color: var(--rig-description-fg);
600
- background: none;
601
- border: none;
602
- text-align: left;
603
- cursor: pointer;
604
466
  transition: background-color 0.1s ease;
605
467
  }
606
468
 
@@ -612,17 +474,8 @@
612
474
 
613
475
  /* ───────── Combobox ───────── */
614
476
 
615
- [data-rig-combobox] {
616
- position: relative;
617
- }
618
-
619
477
  [data-rig-combobox-input-wrapper] {
620
- display: flex;
621
- align-items: center;
622
- gap: 4px;
623
- min-height: 32px;
624
- padding: 4px 8px;
625
- border: 1px solid var(--rig-input-border);
478
+ border-color: var(--rig-input-border);
626
479
  border-radius: var(--radius);
627
480
  background: var(--rig-input-bg);
628
481
  transition: border-color 0.15s ease;
@@ -633,15 +486,8 @@
633
486
  }
634
487
 
635
488
  [data-rig-combobox-input-wrapper] input {
636
- flex: 1;
637
- min-width: 0;
638
- border: none;
639
- background: none;
640
- outline: none;
641
489
  font-family: var(--font-mono);
642
- font-size: 12px;
643
490
  color: var(--color-foreground);
644
- padding: 2px 0;
645
491
  }
646
492
 
647
493
  [data-rig-combobox-input-wrapper] input::placeholder {
@@ -649,17 +495,7 @@
649
495
  }
650
496
 
651
497
  [data-rig-combobox-clear] {
652
- display: inline-flex;
653
- align-items: center;
654
- justify-content: center;
655
- width: 18px;
656
- height: 18px;
657
- font-size: 13px;
658
498
  color: var(--rig-description-fg);
659
- cursor: pointer;
660
- border: none;
661
- background: none;
662
- padding: 0;
663
499
  border-radius: 2px;
664
500
  transition: color 0.1s ease;
665
501
  }
@@ -669,28 +505,13 @@
669
505
  }
670
506
 
671
507
  [data-rig-combobox-list] {
672
- position: absolute;
673
- left: 0;
674
- right: 0;
675
- top: 100%;
676
- margin-top: 2px;
677
- z-index: 50;
678
508
  background: var(--rig-widget-bg);
679
- border: 1px solid var(--rig-widget-border);
509
+ border-color: var(--rig-widget-border);
680
510
  border-radius: var(--radius);
681
- max-height: 200px;
682
- overflow-y: auto;
683
511
  box-shadow: 0 4px 12px rgb(0 0 0 / 40%);
684
512
  }
685
513
 
686
514
  [data-rig-combobox-option] {
687
- display: block;
688
- width: 100%;
689
- padding: 6px 10px;
690
- text-align: left;
691
- cursor: pointer;
692
- border: none;
693
- background: none;
694
515
  transition: background-color 0.1s ease;
695
516
  }
696
517
 
@@ -705,35 +526,33 @@
705
526
  }
706
527
 
707
528
  [data-rig-combobox-option] div:first-child {
708
- font-size: 12px;
709
529
  color: var(--color-foreground);
710
530
  }
711
531
 
712
532
  [data-rig-combobox-option] div:last-child:not(:first-child) {
713
- font-size: 11px;
714
533
  color: var(--rig-description-fg);
715
- margin-top: 1px;
534
+ }
535
+
536
+ [data-rig-combobox-option-label] {
537
+ color: var(--color-foreground);
538
+ }
539
+
540
+ [data-rig-combobox-option-desc] {
541
+ color: var(--rig-description-fg);
716
542
  }
717
543
 
718
544
  [data-rig-combobox-empty] {
719
- padding: 8px 10px;
720
- font-size: 12px;
721
545
  color: var(--rig-description-fg);
722
546
  font-style: italic;
723
547
  }
724
548
 
725
549
  /* ───────── InlineEditor ───────── */
726
550
 
727
- [data-rig-inline-editor] {
728
- @apply inline-flex;
729
- }
730
-
731
551
  [data-rig-inline-editor-display] {
732
- @apply cursor-pointer rounded-sm transition-colors;
552
+ @apply transition-colors;
733
553
 
734
- font: inherit;
554
+ border-radius: 0.125rem;
735
555
  color: inherit;
736
- padding: 2px 4px;
737
556
  }
738
557
 
739
558
  [data-rig-inline-editor-display]:hover {
@@ -741,13 +560,9 @@
741
560
  }
742
561
 
743
562
  [data-rig-inline-editor-input] {
744
- @apply focus:outline-none;
745
-
746
563
  background: var(--rig-input-bg);
747
- border: 1px solid var(--rig-input-border);
564
+ border-color: var(--rig-input-border);
748
565
  color: var(--color-foreground);
749
- font: inherit;
750
- padding: 2px 4px;
751
566
  border-radius: var(--radius);
752
567
  }
753
568
 
@@ -758,15 +573,9 @@
758
573
  /* ───────── Toggle ───────── */
759
574
 
760
575
  [data-rig-toggle] {
761
- @apply inline-flex items-center justify-center gap-1.5
762
- cursor-pointer transition-colors
763
- focus:outline-none;
576
+ @apply transition-colors;
764
577
 
765
- font-size: 13px;
766
- padding: 4px 8px;
767
578
  border-radius: var(--radius);
768
- background: none;
769
- border: none;
770
579
  color: var(--rig-description-fg);
771
580
  }
772
581
 
@@ -776,8 +585,7 @@
776
585
  }
777
586
 
778
587
  [data-rig-toggle]:focus-visible {
779
- outline: 1px solid var(--color-ring);
780
- outline-offset: -1px;
588
+ outline-color: var(--color-ring);
781
589
  }
782
590
 
783
591
  [data-rig-toggle][data-state='on'] {
@@ -786,242 +594,64 @@
786
594
  }
787
595
 
788
596
  [data-rig-toggle][data-disabled] {
789
- @apply pointer-events-none;
790
-
791
597
  opacity: 0.4;
792
598
  }
793
599
 
794
600
  /* ───────── ToggleGroup ───────── */
795
601
 
796
- [data-rig-toggle-group] {
797
- @apply inline-flex gap-0.5;
798
- }
799
-
800
- [data-rig-toggle-group][data-orientation='vertical'] {
801
- @apply flex-col;
802
- }
803
-
804
602
  [data-rig-toggle-group][data-disabled] {
805
- @apply opacity-30 pointer-events-none;
603
+ @apply opacity-30;
806
604
  }
807
605
 
808
606
  /* ───────── Slider ───────── */
809
607
 
810
- [data-rig-slider] {
811
- @apply relative flex items-center;
812
-
813
- height: 20px;
814
- }
815
-
816
- [data-rig-slider][data-orientation='vertical'] {
817
- @apply flex-col;
818
-
819
- width: 20px;
820
- height: auto;
821
- }
822
-
823
- [data-rig-slider-input] {
824
- @apply w-full appearance-none bg-transparent cursor-pointer;
825
-
826
- height: 4px;
827
- }
828
-
829
608
  [data-rig-slider-input]::-webkit-slider-runnable-track {
830
- height: 4px;
831
- border-radius: 2px;
832
609
  background: color-mix(in srgb, var(--color-foreground) 10%, transparent);
833
610
  }
834
611
 
835
612
  [data-rig-slider-input]::-webkit-slider-thumb {
836
- appearance: none;
837
- width: 14px;
838
- height: 14px;
839
- border-radius: 50%;
840
613
  background: var(--color-primary);
841
- margin-top: -5px;
842
- cursor: pointer;
843
614
  }
844
615
 
845
616
  [data-rig-slider][data-disabled] {
846
- @apply opacity-30 pointer-events-none;
847
- }
848
-
849
- /* ───────── Icon ───────── */
850
-
851
- [data-rig-icon] {
852
- @apply inline-flex items-center justify-center flex-shrink-0;
853
- }
854
-
855
- [data-rig-icon][data-size='sm'] {
856
- width: 14px;
857
- height: 14px;
858
- font-size: 14px;
859
- }
860
-
861
- [data-rig-icon][data-size='md'] {
862
- width: 16px;
863
- height: 16px;
864
- font-size: 16px;
865
- }
866
-
867
- [data-rig-icon][data-size='lg'] {
868
- width: 24px;
869
- height: 24px;
870
- font-size: 24px;
871
- }
872
-
873
- /* ───────── Icon-only Button (via data-icon-only on Button) ───────── */
874
-
875
- [data-rig-button][data-icon-only] {
876
- width: 28px;
877
- height: 28px;
878
- padding: 0;
617
+ @apply opacity-30;
879
618
  }
880
619
 
881
620
  /* ───────── Label ───────── */
882
621
 
883
622
  [data-rig-label] {
884
- font-size: 13px;
885
623
  color: var(--color-foreground);
886
- cursor: pointer;
887
624
  }
888
625
 
889
626
  [data-rig-label][data-disabled] {
890
627
  opacity: 0.4;
891
- cursor: default;
892
628
  }
893
629
 
894
630
  /* Label — field variant (form labels in sidebars / quick-add panels) */
895
631
  [data-rig-label][data-variant='field'] {
896
- @apply text-xs font-mono text-muted-foreground block;
897
-
898
- margin-bottom: 4px;
899
- cursor: default;
632
+ @apply font-mono text-muted-foreground;
900
633
  }
901
634
 
902
635
  /* ───────── SectionHeader ───────── */
903
636
 
904
637
  [data-rig-section-header] {
905
- @apply font-mono font-bold uppercase tracking-wider;
906
-
907
- margin: 0;
908
- line-height: 1.4;
909
- }
910
-
911
- [data-rig-section-header][data-size='xs'] {
912
- font-size: 11px;
913
- }
914
-
915
- [data-rig-section-header][data-size='sm'] {
916
- font-size: 13px;
917
- }
918
-
919
- [data-rig-section-header][data-size='md'] {
920
- font-size: 14px;
921
- }
922
-
923
- [data-rig-section-header][data-size='lg'] {
924
- font-size: 16px;
925
- }
926
-
927
- [data-rig-section-header][data-size='xl'] {
928
- font-size: 20px;
638
+ @apply font-mono;
929
639
  }
930
640
 
931
641
  [data-rig-section-header][data-muted] {
932
642
  color: var(--color-muted-foreground);
933
643
  }
934
644
 
935
- /* ───────── Combobox (additions) ───────── */
936
-
937
- [data-rig-combobox-option-label] {
938
- font-size: 12px;
939
- color: var(--color-foreground);
940
- }
941
-
942
- [data-rig-combobox-option-desc] {
943
- font-size: 11px;
944
- color: var(--rig-description-fg);
945
- margin-top: 1px;
946
- }
947
-
948
645
  /* ───────── Avatar ───────── */
949
646
 
950
647
  [data-rig-avatar] {
951
- position: relative;
952
- display: inline-flex;
953
- align-items: center;
954
- justify-content: center;
955
- border-radius: 9999px;
956
648
  background: var(--avatar-bg, var(--color-accent));
957
649
  color: var(--color-foreground);
958
- font-weight: 600;
959
650
  font-family: var(--font-mono, monospace);
960
- user-select: none;
961
- flex-shrink: 0;
962
- overflow: hidden;
963
- line-height: 1;
964
- }
965
-
966
- [data-rig-avatar][data-size='xs'] {
967
- width: 20px;
968
- height: 20px;
969
- font-size: 9px;
970
- }
971
- [data-rig-avatar][data-size='sm'] {
972
- width: 24px;
973
- height: 24px;
974
- font-size: 10px;
975
- }
976
- [data-rig-avatar][data-size='md'] {
977
- width: 32px;
978
- height: 32px;
979
- font-size: 12px;
980
- }
981
- [data-rig-avatar][data-size='lg'] {
982
- width: 40px;
983
- height: 40px;
984
- font-size: 14px;
985
- }
986
- [data-rig-avatar][data-size='xl'] {
987
- width: 48px;
988
- height: 48px;
989
- font-size: 16px;
990
- }
991
-
992
- [data-rig-avatar-initials] {
993
- pointer-events: none;
994
- letter-spacing: 0.5px;
995
- }
996
-
997
- [data-rig-avatar-img] {
998
- width: 100%;
999
- height: 100%;
1000
- object-fit: cover;
1001
- border-radius: inherit;
1002
651
  }
1003
652
 
1004
653
  [data-rig-avatar-status] {
1005
- position: absolute;
1006
- bottom: 0;
1007
- right: 0;
1008
- border-radius: 9999px;
1009
- border: 2px solid var(--color-background, #0f0d0a);
1010
- }
1011
-
1012
- [data-rig-avatar][data-size='xs'] [data-rig-avatar-status],
1013
- [data-rig-avatar][data-size='sm'] [data-rig-avatar-status] {
1014
- width: 8px;
1015
- height: 8px;
1016
- }
1017
- [data-rig-avatar][data-size='md'] [data-rig-avatar-status] {
1018
- width: 10px;
1019
- height: 10px;
1020
- }
1021
- [data-rig-avatar][data-size='lg'] [data-rig-avatar-status],
1022
- [data-rig-avatar][data-size='xl'] [data-rig-avatar-status] {
1023
- width: 12px;
1024
- height: 12px;
654
+ border-color: var(--color-background, #0f0d0a);
1025
655
  }
1026
656
 
1027
657
  [data-rig-avatar-status][data-status='online'] {
@@ -1040,38 +670,11 @@
1040
670
  /* ───────── Dot ───────── */
1041
671
 
1042
672
  [data-rig-dot] {
1043
- @apply rounded-full shrink-0;
1044
-
1045
673
  background: var(--dot-color, var(--color-foreground));
1046
674
  }
1047
675
 
1048
- [data-rig-dot][data-size='xs'] {
1049
- width: 4px;
1050
- height: 4px;
1051
- }
1052
-
1053
- [data-rig-dot][data-size='sm'] {
1054
- width: 6px;
1055
- height: 6px;
1056
- }
1057
-
1058
- [data-rig-dot][data-size='md'] {
1059
- width: 8px;
1060
- height: 8px;
1061
- }
1062
-
1063
- [data-rig-dot][data-size='lg'] {
1064
- width: 12px;
1065
- height: 12px;
1066
- }
1067
-
1068
676
  /* ───────── PulseIndicator ───────── */
1069
677
 
1070
- [data-rig-pulse-indicator] {
1071
- width: 12px;
1072
- height: 12px;
1073
- }
1074
-
1075
678
  [data-rig-pulse-indicator][data-active] [data-rig-pulse-indicator-ring] {
1076
679
  @apply animate-ping;
1077
680
 
@@ -1080,8 +683,6 @@
1080
683
  }
1081
684
 
1082
685
  [data-rig-pulse-indicator-dot] {
1083
- width: 8px;
1084
- height: 8px;
1085
686
  background: var(--color-success, #22c55e);
1086
687
  }
1087
688
 
@@ -1091,10 +692,6 @@
1091
692
 
1092
693
  /* ───────── ProgressRing ───────── */
1093
694
 
1094
- [data-rig-progress-ring] {
1095
- @apply inline-flex items-center justify-center;
1096
- }
1097
-
1098
695
  [data-rig-progress-ring-track] {
1099
696
  stroke: color-mix(in srgb, var(--color-foreground) 10%, transparent);
1100
697
  }
@@ -1106,25 +703,15 @@
1106
703
 
1107
704
  /* ───────── RangeSlider ───────── */
1108
705
 
1109
- [data-rig-range-slider] {
1110
- @apply relative flex items-center;
1111
-
1112
- height: 20px;
1113
- }
1114
-
1115
706
  [data-rig-range-slider][data-disabled] {
1116
- @apply opacity-30 pointer-events-none;
707
+ @apply opacity-30;
1117
708
  }
1118
709
 
1119
710
  [data-rig-range-slider-track] {
1120
- @apply rounded-full;
1121
-
1122
711
  background: color-mix(in srgb, var(--color-foreground) 10%, transparent);
1123
712
  }
1124
713
 
1125
714
  [data-rig-range-slider-fill] {
1126
- @apply rounded-full;
1127
-
1128
715
  background: var(--color-primary);
1129
716
  }
1130
717
 
@@ -1132,65 +719,23 @@
1132
719
  @apply shadow-sm;
1133
720
 
1134
721
  background: var(--color-foreground);
1135
- border: 2px solid var(--color-background);
722
+ border-color: var(--color-background);
1136
723
  }
1137
724
 
1138
725
  [data-rig-range-slider-thumb]:focus-visible {
1139
- outline: 1px solid var(--color-ring);
1140
- outline-offset: 1px;
726
+ outline-color: var(--color-ring);
1141
727
  }
1142
728
 
1143
729
  /* ───────── AvatarGroup ───────── */
1144
730
 
1145
- [data-rig-avatar-group] {
1146
- @apply inline-flex items-center;
1147
- }
1148
-
1149
731
  [data-rig-avatar-group-item] {
1150
- border: 2px solid var(--color-background);
1151
- margin-left: -8px;
732
+ border-color: var(--color-background);
1152
733
  background: var(--color-accent);
1153
734
  }
1154
735
 
1155
- [data-rig-avatar-group-item]:first-child {
1156
- margin-left: 0;
1157
- }
1158
-
1159
- [data-rig-avatar-group-img] {
1160
- width: 100%;
1161
- height: 100%;
1162
- object-fit: cover;
1163
- border-radius: inherit;
1164
- }
1165
-
1166
- [data-rig-avatar-group-initials] {
1167
- pointer-events: none;
1168
- letter-spacing: 0.5px;
1169
- }
1170
-
1171
- [data-rig-avatar-group-item][data-size='sm'] {
1172
- width: 24px;
1173
- height: 24px;
1174
- font-size: 10px;
1175
- }
1176
-
1177
- [data-rig-avatar-group-item][data-size='md'] {
1178
- width: 32px;
1179
- height: 32px;
1180
- font-size: 12px;
1181
- }
1182
-
1183
- [data-rig-avatar-group-item][data-size='lg'] {
1184
- width: 40px;
1185
- height: 40px;
1186
- font-size: 14px;
1187
- }
1188
-
1189
736
  [data-rig-avatar-group-overflow] {
1190
- font-size: 11px;
1191
737
  font-family: var(--font-mono);
1192
- border: 2px solid var(--color-background);
1193
- margin-left: -8px;
738
+ border-color: var(--color-background);
1194
739
  background: var(--color-accent);
1195
740
  color: var(--color-foreground);
1196
741
  }
@@ -1198,24 +743,14 @@
1198
743
  /* ───────── Pagination ───────── */
1199
744
 
1200
745
  [data-rig-pagination] {
1201
- @apply inline-flex items-center gap-1;
1202
-
1203
746
  font-family: var(--font-mono);
1204
- font-size: 12px;
1205
- user-select: none;
1206
747
  }
1207
748
 
1208
749
  [data-rig-pagination-prev],
1209
750
  [data-rig-pagination-next] {
1210
- @apply inline-flex items-center justify-center;
1211
-
1212
- width: 28px;
1213
- height: 28px;
1214
751
  border-radius: var(--radius);
1215
- border: 1px solid var(--color-border);
1216
- background: none;
752
+ border-color: var(--color-border);
1217
753
  color: var(--color-foreground);
1218
- cursor: pointer;
1219
754
  transition: background-color 0.15s ease;
1220
755
  }
1221
756
 
@@ -1227,20 +762,12 @@
1227
762
  [data-rig-pagination-prev]:disabled,
1228
763
  [data-rig-pagination-next]:disabled {
1229
764
  opacity: 0.3;
1230
- cursor: not-allowed;
1231
765
  }
1232
766
 
1233
767
  [data-rig-pagination-page] {
1234
- @apply inline-flex items-center justify-center;
1235
-
1236
- min-width: 28px;
1237
- height: 28px;
1238
768
  border-radius: var(--radius);
1239
- border: 1px solid transparent;
1240
- background: none;
769
+ border-color: transparent;
1241
770
  color: var(--color-muted-foreground);
1242
- cursor: pointer;
1243
- padding: 0 4px;
1244
771
  transition:
1245
772
  background-color 0.15s ease,
1246
773
  color 0.15s ease;
@@ -1258,30 +785,19 @@
1258
785
  }
1259
786
 
1260
787
  [data-rig-pagination-ellipsis] {
1261
- @apply inline-flex items-center justify-center;
1262
-
1263
- min-width: 28px;
1264
- height: 28px;
1265
788
  color: var(--color-muted-foreground);
1266
789
  }
1267
790
 
1268
791
  [data-rig-pagination][data-disabled] {
1269
792
  opacity: 0.4;
1270
- pointer-events: none;
1271
793
  }
1272
794
 
1273
795
  /* ───────── FileInput ───────── */
1274
796
 
1275
797
  [data-rig-file-input] {
1276
- display: flex;
1277
- align-items: center;
1278
- justify-content: center;
1279
- min-height: 80px;
1280
- padding: 16px;
1281
- border: 2px dashed var(--color-border);
798
+ border-color: var(--color-border);
1282
799
  border-radius: var(--radius);
1283
800
  background: var(--rig-input-bg);
1284
- cursor: pointer;
1285
801
  transition:
1286
802
  border-color 0.15s ease,
1287
803
  background-color 0.15s ease;
@@ -1292,8 +808,7 @@
1292
808
  }
1293
809
 
1294
810
  [data-rig-file-input]:focus-visible {
1295
- outline: 1px solid var(--color-ring);
1296
- outline-offset: 2px;
811
+ outline-color: var(--color-ring);
1297
812
  }
1298
813
 
1299
814
  [data-rig-file-input][data-dragging] {
@@ -1303,54 +818,27 @@
1303
818
 
1304
819
  [data-rig-file-input][data-disabled] {
1305
820
  opacity: 0.4;
1306
- cursor: not-allowed;
1307
- }
1308
-
1309
- [data-rig-file-input-native] {
1310
- position: absolute;
1311
- width: 1px;
1312
- height: 1px;
1313
- overflow: hidden;
1314
- clip: rect(0, 0, 0, 0);
1315
- white-space: nowrap;
1316
- border: 0;
1317
- }
1318
-
1319
- [data-rig-file-input-content] {
1320
- text-align: center;
1321
821
  }
1322
822
 
1323
823
  [data-rig-file-input-placeholder] {
1324
824
  color: var(--color-muted-foreground);
1325
- font-size: 13px;
1326
825
  }
1327
826
 
1328
827
  [data-rig-file-input-files] {
1329
828
  color: var(--color-foreground);
1330
- font-size: 13px;
1331
829
  font-family: var(--font-mono);
1332
830
  }
1333
831
 
1334
832
  /* ───────── Rating ───────── */
1335
833
 
1336
- [data-rig-rating] {
1337
- @apply inline-flex items-center;
1338
-
1339
- gap: 2px;
1340
- }
1341
-
1342
834
  [data-rig-rating]:focus-visible {
1343
- outline: 1px solid var(--color-ring);
1344
- outline-offset: 2px;
835
+ outline-color: var(--color-ring);
1345
836
  border-radius: var(--radius);
1346
837
  }
1347
838
 
1348
839
  [data-rig-rating-star] {
1349
- font-size: 20px;
1350
- cursor: pointer;
1351
840
  color: var(--color-muted-foreground);
1352
841
  transition: color 0.1s ease;
1353
- line-height: 1;
1354
842
  }
1355
843
 
1356
844
  [data-rig-rating-star][data-filled] {
@@ -1362,33 +850,14 @@
1362
850
  opacity: 0.5;
1363
851
  }
1364
852
 
1365
- [data-rig-rating][data-readonly] [data-rig-rating-star] {
1366
- cursor: default;
1367
- }
1368
-
1369
853
  [data-rig-rating][data-disabled] {
1370
854
  opacity: 0.4;
1371
- pointer-events: none;
1372
- }
1373
-
1374
- /* ───────── Form ───────── */
1375
-
1376
- [data-rig-form] {
1377
- display: flex;
1378
- flex-direction: column;
1379
- gap: 12px;
1380
- }
1381
-
1382
- [data-rig-form][data-dirty] {
1383
- /* Visual cue available for consumers via token */
1384
855
  }
1385
856
 
1386
857
  /* ───────── NumberInput ───────── */
1387
858
 
1388
859
  [data-rig-number-input] {
1389
- @apply inline-flex items-center;
1390
-
1391
- border: 1px solid var(--rig-input-border);
860
+ border-color: var(--rig-input-border);
1392
861
  border-radius: var(--radius);
1393
862
  background: var(--rig-input-bg);
1394
863
  transition: border-color 0.15s ease;
@@ -1399,16 +868,8 @@
1399
868
  }
1400
869
 
1401
870
  [data-rig-number-input-field] {
1402
- @apply flex-1 focus:outline-none;
1403
-
1404
- background: transparent;
1405
- border: none;
1406
871
  color: var(--rig-input-fg);
1407
872
  font-family: var(--font-mono);
1408
- font-size: 13px;
1409
- padding: 4px 6px;
1410
- text-align: center;
1411
- min-width: 0;
1412
873
  }
1413
874
 
1414
875
  [data-rig-number-input-field]::placeholder {
@@ -1417,15 +878,7 @@
1417
878
 
1418
879
  [data-rig-number-input-decrement],
1419
880
  [data-rig-number-input-increment] {
1420
- @apply inline-flex items-center justify-center;
1421
-
1422
- width: 28px;
1423
- height: 28px;
1424
- border: none;
1425
- background: none;
1426
881
  color: var(--rig-description-fg);
1427
- cursor: pointer;
1428
- font-size: 14px;
1429
882
  transition:
1430
883
  color 0.1s ease,
1431
884
  background-color 0.1s ease;
@@ -1440,35 +893,21 @@
1440
893
  [data-rig-number-input-decrement]:disabled,
1441
894
  [data-rig-number-input-increment]:disabled {
1442
895
  opacity: 0.3;
1443
- cursor: not-allowed;
1444
896
  }
1445
897
 
1446
898
  [data-rig-number-input][data-disabled] {
1447
- @apply pointer-events-none;
1448
-
1449
899
  opacity: 0.4;
1450
900
  }
1451
901
 
1452
902
  /* ───────── OTPInput ───────── */
1453
903
 
1454
- [data-rig-otp-input] {
1455
- @apply inline-flex items-center;
1456
-
1457
- gap: 6px;
1458
- }
1459
-
1460
904
  [data-rig-otp-input-cell] {
1461
905
  @apply focus:outline-none;
1462
906
 
1463
- width: 36px;
1464
- height: 40px;
1465
- text-align: center;
1466
907
  font-family: var(--font-mono);
1467
- font-size: 16px;
1468
- font-weight: 600;
1469
908
  color: var(--rig-input-fg);
1470
909
  background: var(--rig-input-bg);
1471
- border: 1px solid var(--rig-input-border);
910
+ border-color: var(--rig-input-border);
1472
911
  border-radius: var(--radius);
1473
912
  transition: border-color 0.15s ease;
1474
913
  }
@@ -1483,44 +922,20 @@
1483
922
  }
1484
923
 
1485
924
  [data-rig-otp-input][data-disabled] {
1486
- @apply pointer-events-none;
1487
-
1488
925
  opacity: 0.4;
1489
926
  }
1490
927
 
1491
- [data-rig-otp-input][data-disabled] [data-rig-otp-input-cell] {
1492
- cursor: not-allowed;
1493
- }
1494
-
1495
928
  /* ───────── Transfer ───────── */
1496
929
 
1497
- [data-rig-transfer] {
1498
- @apply flex items-stretch;
1499
-
1500
- gap: 8px;
1501
- }
1502
-
1503
930
  [data-rig-transfer-source],
1504
931
  [data-rig-transfer-target] {
1505
- flex: 1;
1506
- min-width: 0;
1507
- border: 1px solid var(--color-border);
932
+ border-color: var(--color-border);
1508
933
  border-radius: var(--radius);
1509
934
  background: var(--rig-input-bg);
1510
- overflow-y: auto;
1511
- max-height: 240px;
1512
935
  }
1513
936
 
1514
937
  [data-rig-transfer-item] {
1515
- display: block;
1516
- width: 100%;
1517
- padding: 6px 10px;
1518
- font-size: 12px;
1519
938
  color: var(--color-foreground);
1520
- cursor: pointer;
1521
- border: none;
1522
- background: none;
1523
- text-align: left;
1524
939
  transition: background-color 0.1s ease;
1525
940
  }
1526
941
 
@@ -1529,8 +944,7 @@
1529
944
  }
1530
945
 
1531
946
  [data-rig-transfer-item]:focus-visible {
1532
- outline: 1px solid var(--color-ring);
1533
- outline-offset: -1px;
947
+ outline-color: var(--color-ring);
1534
948
  }
1535
949
 
1536
950
  [data-rig-transfer-item][data-selected] {
@@ -1538,24 +952,11 @@
1538
952
  color: var(--rig-list-active-fg);
1539
953
  }
1540
954
 
1541
- [data-rig-transfer-actions] {
1542
- @apply flex flex-col items-center justify-center;
1543
-
1544
- gap: 4px;
1545
- }
1546
-
1547
955
  [data-rig-transfer-move-right],
1548
956
  [data-rig-transfer-move-left] {
1549
- @apply inline-flex items-center justify-center;
1550
-
1551
- width: 28px;
1552
- height: 28px;
1553
957
  border-radius: var(--radius);
1554
- border: 1px solid var(--color-border);
1555
- background: none;
958
+ border-color: var(--color-border);
1556
959
  color: var(--color-foreground);
1557
- cursor: pointer;
1558
- font-size: 16px;
1559
960
  transition: background-color 0.15s ease;
1560
961
  }
1561
962
 
@@ -1567,33 +968,22 @@
1567
968
  [data-rig-transfer-move-right]:disabled,
1568
969
  [data-rig-transfer-move-left]:disabled {
1569
970
  opacity: 0.3;
1570
- cursor: not-allowed;
1571
971
  }
1572
972
 
1573
973
  [data-rig-transfer][data-disabled] {
1574
- @apply pointer-events-none;
1575
-
1576
974
  opacity: 0.4;
1577
975
  }
1578
976
 
1579
977
  /* ───────── Mention ───────── */
1580
978
 
1581
- [data-rig-mention] {
1582
- position: relative;
1583
- }
1584
-
1585
979
  [data-rig-mention-input] {
1586
980
  @apply focus:outline-none;
1587
981
 
1588
- width: 100%;
1589
982
  background: var(--rig-input-bg);
1590
- border: 1px solid var(--rig-input-border);
983
+ border-color: var(--rig-input-border);
1591
984
  color: var(--rig-input-fg);
1592
- font-size: 13px;
1593
- padding: 4px 6px;
1594
985
  border-radius: var(--radius);
1595
986
  transition: border-color 0.15s ease;
1596
- resize: vertical;
1597
987
  }
1598
988
 
1599
989
  [data-rig-mention-input]::placeholder {
@@ -1605,30 +995,14 @@
1605
995
  }
1606
996
 
1607
997
  [data-rig-mention-list] {
1608
- position: absolute;
1609
- left: 0;
1610
- right: 0;
1611
- top: 100%;
1612
- margin-top: 2px;
1613
- z-index: 50;
1614
998
  background: var(--rig-widget-bg);
1615
- border: 1px solid var(--rig-widget-border);
999
+ border-color: var(--rig-widget-border);
1616
1000
  border-radius: var(--radius);
1617
- max-height: 160px;
1618
- overflow-y: auto;
1619
1001
  box-shadow: 0 4px 12px rgb(0 0 0 / 40%);
1620
- list-style: none;
1621
- margin: 2px 0 0;
1622
- padding: 0;
1623
1002
  }
1624
1003
 
1625
1004
  [data-rig-mention-item] {
1626
- display: block;
1627
- width: 100%;
1628
- padding: 6px 10px;
1629
- font-size: 12px;
1630
1005
  color: var(--rig-description-fg);
1631
- cursor: pointer;
1632
1006
  transition: background-color 0.1s ease;
1633
1007
  }
1634
1008
 
@@ -1644,11 +1018,5 @@
1644
1018
  }
1645
1019
 
1646
1020
  [data-rig-mention][data-disabled] {
1647
- @apply pointer-events-none;
1648
-
1649
1021
  opacity: 0.4;
1650
1022
  }
1651
-
1652
- [data-rig-mention][data-disabled] [data-rig-mention-input] {
1653
- cursor: not-allowed;
1654
- }