@signal9/era-ui 10.1.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/ai/actions/actions.svelte +1 -1
  2. package/dist/ai/artifact/artifact-actions.svelte +1 -1
  3. package/dist/ai/artifact/artifact-close.svelte +1 -1
  4. package/dist/ai/artifact/artifact-content.svelte +1 -1
  5. package/dist/ai/artifact/artifact-header.svelte +1 -1
  6. package/dist/ai/artifact/artifact.svelte +1 -4
  7. package/dist/ai/chain-of-thought/chain-of-thought-step.svelte +3 -3
  8. package/dist/ai/chain-of-thought/chain-of-thought.svelte +1 -1
  9. package/dist/ai/checkpoint.svelte +2 -2
  10. package/dist/ai/confirmation/confirmation-actions.svelte +1 -1
  11. package/dist/ai/confirmation/confirmation-args.svelte +4 -4
  12. package/dist/ai/confirmation/confirmation.svelte +5 -8
  13. package/dist/ai/context/context.svelte +3 -3
  14. package/dist/ai/conversation/conversation-content.svelte +1 -4
  15. package/dist/ai/conversation/conversation-empty-state.svelte +1 -1
  16. package/dist/ai/conversation/conversation-scroll-button.svelte +3 -3
  17. package/dist/ai/conversations/conversations-group.svelte +2 -2
  18. package/dist/ai/conversations/conversations-item.svelte +8 -8
  19. package/dist/ai/conversations/conversations-root.svelte +2 -2
  20. package/dist/ai/error-panel/error-panel.svelte +7 -7
  21. package/dist/ai/image.svelte +1 -1
  22. package/dist/ai/inline-citation/inline-citation.svelte +5 -5
  23. package/dist/ai/loader.svelte +1 -4
  24. package/dist/ai/message/message-branch-selector.svelte +3 -3
  25. package/dist/ai/message/message-branch.svelte +1 -1
  26. package/dist/ai/message/message-content.svelte +1 -1
  27. package/dist/ai/message/message-toolbar.svelte +1 -1
  28. package/dist/ai/message/message-usage.svelte +5 -7
  29. package/dist/ai/message/message.svelte +1 -1
  30. package/dist/ai/model-selector/model-selector.svelte +2 -2
  31. package/dist/ai/open-in-chat/open-in-chat.svelte +2 -2
  32. package/dist/ai/plan/plan-content.svelte +1 -1
  33. package/dist/ai/plan/plan-header.svelte +2 -2
  34. package/dist/ai/plan/plan.svelte +1 -4
  35. package/dist/ai/prompt-input/prompt-input-add-attachments.svelte +1 -1
  36. package/dist/ai/prompt-input/prompt-input-attachments.svelte +5 -5
  37. package/dist/ai/prompt-input/prompt-input-submit.svelte +2 -2
  38. package/dist/ai/prompt-input/prompt-input-textarea.svelte +2 -2
  39. package/dist/ai/prompt-input/prompt-input-toolbar.svelte +1 -1
  40. package/dist/ai/prompt-input/prompt-input.svelte +1 -1
  41. package/dist/ai/queue/queue-item.svelte +1 -1
  42. package/dist/ai/queue/queue.svelte +1 -1
  43. package/dist/ai/reasoning/reasoning-trigger.svelte +1 -1
  44. package/dist/ai/response/response.svelte +1 -1
  45. package/dist/ai/run-status/run-status.svelte +5 -10
  46. package/dist/ai/runtime-feed/runtime-feed-item.svelte +1 -4
  47. package/dist/ai/runtime-feed/runtime-feed-root.svelte +1 -1
  48. package/dist/ai/sources/source.svelte +2 -2
  49. package/dist/ai/sources/sources-trigger.svelte +1 -1
  50. package/dist/ai/structured-value/structured-value.svelte +4 -4
  51. package/dist/ai/suggestion/suggestion.svelte +1 -1
  52. package/dist/ai/suggestion/suggestions.svelte +1 -1
  53. package/dist/ai/swarm/swarm-agent.svelte +3 -3
  54. package/dist/ai/swarm/swarm-artifact.svelte +2 -2
  55. package/dist/ai/swarm/swarm-barrier.svelte +3 -3
  56. package/dist/ai/swarm/swarm-barriers.svelte +1 -4
  57. package/dist/ai/swarm/swarm-counts.svelte +2 -2
  58. package/dist/ai/swarm/swarm-footer.svelte +2 -2
  59. package/dist/ai/swarm/swarm-grid.svelte +2 -2
  60. package/dist/ai/swarm/swarm-header.svelte +2 -2
  61. package/dist/ai/swarm/swarm-node.svelte +7 -9
  62. package/dist/ai/swarm/swarm-role.svelte +2 -2
  63. package/dist/ai/swarm/swarm-root.svelte +1 -4
  64. package/dist/ai/swarm/swarm-sandbox.svelte +4 -7
  65. package/dist/ai/swarm/swarm-tree.svelte +2 -2
  66. package/dist/ai/task/task-content.svelte +1 -4
  67. package/dist/ai/task/task-trigger.svelte +1 -1
  68. package/dist/ai/tool/tool-chip.svelte +3 -3
  69. package/dist/ai/tool/tool-chips.svelte +3 -3
  70. package/dist/ai/tool/tool-exec.svelte +4 -4
  71. package/dist/ai/tool/tool-header.svelte +1 -1
  72. package/dist/ai/web-preview/web-preview.svelte +4 -9
  73. package/dist/ai/workflow/canvas.svelte +1 -1
  74. package/dist/ai/workflow/node.svelte +3 -3
  75. package/dist/apps/llm-shell/llm-shell.svelte +4 -4
  76. package/dist/apps/notes/notes.svelte +8 -8
  77. package/dist/dev/audit/audits/even-container-padding.js +2 -2
  78. package/dist/dev/audit/audits/single-glyph-square.js +2 -2
  79. package/dist/dev/audit-overlay.svelte +7 -7
  80. package/dist/docs/css-utilities.d.ts +31 -0
  81. package/dist/docs/css-utilities.js +141 -7
  82. package/dist/docs/quickstart.md +5 -5
  83. package/dist/era-ui.css +1 -1
  84. package/dist/generated-docs/llms-full.txt +359 -94
  85. package/dist/generated-docs/llms.txt +18 -7
  86. package/dist/generated-docs/manifest.json +355 -49
  87. package/dist/generated-docs/utilities.json +336 -41
  88. package/dist/generated-docs/utilities.md +341 -87
  89. package/dist/os/notification-center.svelte +11 -17
  90. package/dist/os/pane-manager.svelte.d.ts +1 -1
  91. package/dist/os/pane.svelte +4 -6
  92. package/dist/os/taskbar.svelte +13 -18
  93. package/dist/os/toast.svelte +6 -11
  94. package/dist/os/toaster.svelte +1 -1
  95. package/dist/styles/density.css +0 -2
  96. package/dist/styles/index.css +117 -79
  97. package/dist/styles/themes.css +49 -42
  98. package/dist/ui/accordion/accordion-content.svelte +1 -1
  99. package/dist/ui/accordion/accordion-trigger.svelte +2 -2
  100. package/dist/ui/alert-dialog/alert-dialog-content.svelte +2 -2
  101. package/dist/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
  102. package/dist/ui/aspect-ratio/aspect-ratio.svelte +1 -5
  103. package/dist/ui/avatar/avatar-fallback.svelte +1 -1
  104. package/dist/ui/avatar/avatar-root.svelte +1 -1
  105. package/dist/ui/badge/badge.svelte +1 -1
  106. package/dist/ui/badge/badge.svelte.d.ts +1 -1
  107. package/dist/ui/bar/bar.svelte +7 -7
  108. package/dist/ui/bar/bar.svelte.d.ts +15 -15
  109. package/dist/ui/button/button.svelte +1 -1
  110. package/dist/ui/button/variants.d.ts +4 -4
  111. package/dist/ui/button/variants.js +18 -18
  112. package/dist/ui/button-group/button-group.svelte +2 -2
  113. package/dist/ui/calendar/calendar-day.svelte +1 -1
  114. package/dist/ui/calendar/calendar-grid-row.svelte +1 -1
  115. package/dist/ui/calendar/calendar-grid.svelte +1 -1
  116. package/dist/ui/calendar/calendar-head-cell.svelte +1 -1
  117. package/dist/ui/calendar/calendar-header.svelte +1 -1
  118. package/dist/ui/calendar/calendar-next-button.svelte +1 -1
  119. package/dist/ui/calendar/calendar-prev-button.svelte +1 -1
  120. package/dist/ui/calendar/calendar-root.svelte +1 -1
  121. package/dist/ui/card/card.svelte +10 -10
  122. package/dist/ui/card/card.svelte.d.ts +16 -16
  123. package/dist/ui/checkbox/checkbox-group.svelte +1 -1
  124. package/dist/ui/checkbox/checkbox.svelte +1 -1
  125. package/dist/ui/chip/chip.svelte +7 -9
  126. package/dist/ui/chip/chip.svelte.d.ts +7 -7
  127. package/dist/ui/code-block/code-block.svelte +3 -9
  128. package/dist/ui/collapsible/collapsible-trigger.svelte +1 -1
  129. package/dist/ui/combobox/combobox-content.svelte +1 -1
  130. package/dist/ui/combobox/combobox-empty.svelte +1 -6
  131. package/dist/ui/combobox/combobox-group-heading.svelte +1 -4
  132. package/dist/ui/combobox/combobox-input.svelte +1 -1
  133. package/dist/ui/combobox/combobox-item.svelte +1 -1
  134. package/dist/ui/combobox/combobox-trigger.svelte +2 -2
  135. package/dist/ui/command/command-group-heading.svelte +1 -4
  136. package/dist/ui/command/command-group-items.svelte +1 -5
  137. package/dist/ui/command/command-item.svelte +1 -1
  138. package/dist/ui/command/command-link-item.svelte +1 -1
  139. package/dist/ui/command/command-root.svelte +2 -2
  140. package/dist/ui/command/command-viewport.svelte +1 -1
  141. package/dist/ui/command-bar/command-bar.svelte +9 -13
  142. package/dist/ui/context-menu/context-menu-checkbox-item.svelte +1 -1
  143. package/dist/ui/context-menu/context-menu-content.svelte +2 -2
  144. package/dist/ui/context-menu/context-menu-group-heading.svelte +1 -4
  145. package/dist/ui/context-menu/context-menu-item.svelte +1 -1
  146. package/dist/ui/context-menu/context-menu-radio-item.svelte +1 -1
  147. package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
  148. package/dist/ui/context-menu/context-menu-sub-trigger.svelte +2 -2
  149. package/dist/ui/copy-button/copy-button.svelte +2 -2
  150. package/dist/ui/cycle/cycle.svelte +2 -2
  151. package/dist/ui/date-field/date-field-segment.svelte +1 -1
  152. package/dist/ui/date-picker/date-picker-calendar.svelte +1 -1
  153. package/dist/ui/date-picker/date-picker-content.svelte +1 -4
  154. package/dist/ui/date-picker/date-picker-day.svelte +1 -1
  155. package/dist/ui/date-picker/date-picker-grid-row.svelte +1 -1
  156. package/dist/ui/date-picker/date-picker-grid.svelte +1 -1
  157. package/dist/ui/date-picker/date-picker-head-cell.svelte +1 -1
  158. package/dist/ui/date-picker/date-picker-header.svelte +1 -1
  159. package/dist/ui/date-picker/date-picker-next-button.svelte +1 -1
  160. package/dist/ui/date-picker/date-picker-prev-button.svelte +1 -1
  161. package/dist/ui/date-picker/date-picker-segment.svelte +1 -1
  162. package/dist/ui/date-picker/date-picker-trigger.svelte +2 -2
  163. package/dist/ui/date-range-field/date-range-field-segment.svelte +1 -1
  164. package/dist/ui/date-range-picker/date-range-picker-calendar.svelte +1 -1
  165. package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -4
  166. package/dist/ui/date-range-picker/date-range-picker-day.svelte +1 -1
  167. package/dist/ui/date-range-picker/date-range-picker-grid-row.svelte +1 -1
  168. package/dist/ui/date-range-picker/date-range-picker-grid.svelte +1 -5
  169. package/dist/ui/date-range-picker/date-range-picker-head-cell.svelte +1 -1
  170. package/dist/ui/date-range-picker/date-range-picker-header.svelte +1 -1
  171. package/dist/ui/date-range-picker/date-range-picker-next-button.svelte +1 -1
  172. package/dist/ui/date-range-picker/date-range-picker-prev-button.svelte +1 -1
  173. package/dist/ui/date-range-picker/date-range-picker-segment.svelte +1 -1
  174. package/dist/ui/date-range-picker/date-range-picker-trigger.svelte +2 -2
  175. package/dist/ui/dialog/dialog-content.svelte +3 -5
  176. package/dist/ui/dialog/dialog-header.svelte +1 -6
  177. package/dist/ui/dialog/dialog-overlay.svelte +1 -5
  178. package/dist/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
  179. package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +2 -2
  180. package/dist/ui/dropdown-menu/dropdown-menu-group-heading.svelte +1 -4
  181. package/dist/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
  182. package/dist/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
  183. package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
  184. package/dist/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
  185. package/dist/ui/dropdown-menu/dropdown-menu-trigger.svelte +2 -2
  186. package/dist/ui/file-upload/file-upload.svelte +2 -2
  187. package/dist/ui/input/input.svelte +2 -2
  188. package/dist/ui/input/textarea.svelte +1 -1
  189. package/dist/ui/input/variants.d.ts +18 -18
  190. package/dist/ui/input/variants.js +6 -6
  191. package/dist/ui/kv/kv.svelte +2 -3
  192. package/dist/ui/link-preview/link-preview-content.svelte +1 -1
  193. package/dist/ui/menubar/menubar-checkbox-item.svelte +1 -1
  194. package/dist/ui/menubar/menubar-content.svelte +2 -2
  195. package/dist/ui/menubar/menubar-group-heading.svelte +1 -4
  196. package/dist/ui/menubar/menubar-item.svelte +1 -1
  197. package/dist/ui/menubar/menubar-radio-item.svelte +1 -1
  198. package/dist/ui/menubar/menubar-root.svelte +1 -4
  199. package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
  200. package/dist/ui/menubar/menubar-sub-trigger.svelte +2 -2
  201. package/dist/ui/menubar/menubar-trigger.svelte +1 -1
  202. package/dist/ui/meter/meter.svelte +2 -2
  203. package/dist/ui/pagination/pagination-next-button.svelte +1 -1
  204. package/dist/ui/pagination/pagination-prev-button.svelte +1 -1
  205. package/dist/ui/pagination/pagination-root.svelte +1 -1
  206. package/dist/ui/pane/pane-content.svelte +1 -1
  207. package/dist/ui/pane/pane-root.svelte +1 -1
  208. package/dist/ui/pane/pane-tab-list.svelte +1 -1
  209. package/dist/ui/pane/pane-tab-panel.svelte +1 -1
  210. package/dist/ui/pane/pane-tab.svelte +1 -1
  211. package/dist/ui/pane/pane.svelte +1 -1
  212. package/dist/ui/pin-input/pin-input-cell.svelte +1 -1
  213. package/dist/ui/popover/popover-content.svelte +1 -1
  214. package/dist/ui/popover/popover-trigger.svelte +1 -4
  215. package/dist/ui/progress/progress.svelte +2 -2
  216. package/dist/ui/radio-group/radio-group-item.svelte +2 -2
  217. package/dist/ui/radio-group/radio-group-root.svelte +1 -1
  218. package/dist/ui/rating-group/rating-group-item.svelte +1 -1
  219. package/dist/ui/rating-group/rating-group-root.svelte +1 -1
  220. package/dist/ui/scroll-area/scroll-area-scrollbar.svelte +1 -1
  221. package/dist/ui/scroll-area/scroll-area-thumb.svelte +1 -1
  222. package/dist/ui/scroll-area/scroll-area.svelte +1 -1
  223. package/dist/ui/select/select-content.svelte +7 -6
  224. package/dist/ui/select/select-group-heading.svelte +1 -4
  225. package/dist/ui/select/select-item.svelte +1 -1
  226. package/dist/ui/select/select-trigger.svelte +2 -2
  227. package/dist/ui/select/select-value.svelte +1 -1
  228. package/dist/ui/separator/separator.svelte +1 -1
  229. package/dist/ui/sheet/sheet-content.svelte +3 -3
  230. package/dist/ui/sheet/sheet-content.svelte.d.ts +4 -4
  231. package/dist/ui/skeleton/skeleton.svelte +4 -4
  232. package/dist/ui/skeleton/skeleton.svelte.d.ts +10 -10
  233. package/dist/ui/slider/slider-range.svelte +1 -1
  234. package/dist/ui/slider/slider-thumb.svelte +1 -1
  235. package/dist/ui/slider/slider-tick.svelte +1 -1
  236. package/dist/ui/step/step-content.svelte +1 -1
  237. package/dist/ui/step/step-section.svelte +1 -1
  238. package/dist/ui/step/step-summary.svelte +7 -7
  239. package/dist/ui/switch/switch.svelte +2 -2
  240. package/dist/ui/table/table-cell.svelte +1 -1
  241. package/dist/ui/table/table-head-cell.svelte +1 -1
  242. package/dist/ui/table/table-row.svelte +1 -1
  243. package/dist/ui/time-field/time-field-segment.svelte +1 -1
  244. package/dist/ui/time-range-field/time-range-field-segment.svelte +1 -1
  245. package/dist/ui/toggle-group/toggle-group-item.svelte +1 -1
  246. package/dist/ui/toggle-group/toggle-group-root.svelte +1 -1
  247. package/dist/ui/tooltip/tooltip-content.svelte +1 -1
  248. package/dist/ui/video-player/video-player.svelte +44 -47
  249. package/dist/utils/index.js +1 -1
  250. package/package.json +4 -3
@@ -30,17 +30,15 @@
30
30
  <Dialog.Content
31
31
  bind:ref
32
32
  class={cn(
33
- 'fixed top-1/2 left-1/2 z-50 flex w-full max-w-md -translate-x-1/2 -translate-y-1/2 flex-col border border-divider bg-(--era-surface-bg) shadow-(--era-shadow-lg) glass-blur',
34
- header
35
- ? 'rounded-(--era-rd-control)'
36
- : 'gap-(--era-gap) rounded-(--era-rd-bar) p-(--era-pad-card)',
33
+ 'fixed top-1/2 left-1/2 z-50 flex w-full max-w-md -translate-x-1/2 -translate-y-1/2 flex-col border border-divider bg-well shadow-lg glass-blur',
34
+ header ? 'rounded-control' : 'gap-gutter rounded-bar p-card',
37
35
  className
38
36
  )}
39
37
  {...restProps}
40
38
  >
41
39
  {#if header}
42
40
  {@render header()}
43
- <div class="flex min-h-0 flex-col gap-(--era-gap) p-(--era-pad-card)">
41
+ <div class="flex min-h-0 flex-col gap-gutter p-card">
44
42
  {@render children?.()}
45
43
  </div>
46
44
  {:else}
@@ -31,12 +31,7 @@
31
31
  `header` snippet, so the bar spans the panel edge to edge and the panel's
32
32
  radius follows this corner region (rd-md — the same law that sizes the
33
33
  pane's own corners). -->
34
- <Bar
35
- size="control"
36
- content="pill"
37
- divider
38
- class={cn('pl-(--era-inset-control) select-none', className)}
39
- >
34
+ <Bar size="control" content="pill" divider class={cn('pl-inset-control select-none', className)}>
40
35
  {@render children?.()}
41
36
  {#if dismissable}
42
37
  <Close icon size="pill" tone="destructive" aria-label="Close" class="ml-auto">
@@ -5,8 +5,4 @@
5
5
  let { ref = $bindable(null), class: className, ...restProps }: Dialog.OverlayProps = $props();
6
6
  </script>
7
7
 
8
- <Dialog.Overlay
9
- bind:ref
10
- class={cn('fixed inset-0 z-50 bg-(--era-overlay-bg)', className)}
11
- {...restProps}
12
- />
8
+ <Dialog.Overlay bind:ref class={cn('fixed inset-0 z-50 bg-overlay', className)} {...restProps} />
@@ -14,7 +14,7 @@
14
14
  bind:ref
15
15
  bind:checked
16
16
  class={cn(
17
- 'flex h-(--era-h-control) cursor-pointer items-center rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
17
+ 'flex h-control cursor-pointer items-center rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -15,7 +15,7 @@
15
15
  <DropdownMenu.Content
16
16
  bind:ref
17
17
  align="start"
18
- // p-(--era-panel-inset), SURFACE-owned on purpose: 0 on flat — rows run the
18
+ // p-menu, SURFACE-owned on purpose: 0 on flat — rows run the
19
19
  // panel's full width, flush, and the first row sits directly under the
20
20
  // anchor bar (the reference terminal look) — while glass and bevel keep the
21
21
  // 2px frame that stops a full-width highlight from breaking their chrome.
@@ -29,7 +29,7 @@
29
29
  // floating menu, like the context menu it should match: full radius, a
30
30
  // gutter of air, shadow doing the separating.
31
31
  class={cn(
32
- 'z-50 w-max min-w-(--bits-dropdown-menu-anchor-width) overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-panel-inset) shadow-(--era-shadow-lg) glass-blur',
32
+ 'z-50 w-max min-w-(--bits-dropdown-menu-anchor-width) overflow-hidden rounded-control bg-elevated p-menu shadow-lg glass-blur',
33
33
  className
34
34
  )}
35
35
  {sideOffset}
@@ -11,9 +11,6 @@
11
11
 
12
12
  <DropdownMenu.GroupHeading
13
13
  bind:ref
14
- class={cn(
15
- 'flex h-(--era-h-control) items-center px-(--era-inset-control) text-body text-muted',
16
- className
17
- )}
14
+ class={cn('flex h-control items-center px-inset-control text-body text-muted', className)}
18
15
  {...restProps}
19
16
  />
@@ -13,7 +13,7 @@
13
13
  <DropdownMenu.Item
14
14
  bind:ref
15
15
  class={cn(
16
- 'flex h-(--era-h-control) cursor-pointer items-center gap-(--era-gap) rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
16
+ 'flex h-control cursor-pointer items-center gap-gutter rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -12,7 +12,7 @@
12
12
  <DropdownMenu.RadioItem
13
13
  bind:ref
14
14
  class={cn(
15
- 'flex h-(--era-h-control) cursor-pointer items-center rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
15
+ 'flex h-control cursor-pointer items-center rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
16
16
  className
17
17
  )}
18
18
  {...restProps}
@@ -15,7 +15,7 @@
15
15
  <DropdownMenu.SubContent
16
16
  bind:ref
17
17
  class={cn(
18
- 'z-50 w-max overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-panel-inset) shadow-(--era-shadow-lg) glass-blur',
18
+ 'z-50 w-max overflow-hidden rounded-control bg-elevated p-menu shadow-lg glass-blur',
19
19
  className
20
20
  )}
21
21
  {sideOffset}
@@ -14,11 +14,11 @@
14
14
  <DropdownMenu.SubTrigger
15
15
  bind:ref
16
16
  class={cn(
17
- 'flex h-(--era-h-control) cursor-pointer items-center justify-between gap-(--era-icon-inset-chip) rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow) data-[state=open]:bg-hover',
17
+ 'flex h-control cursor-pointer items-center justify-between gap-icon-inset-chip rounded-menu-item px-inset-control text-body text-fg data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight data-[state=open]:bg-hover',
18
18
  className
19
19
  )}
20
20
  {...restProps}
21
21
  >
22
22
  {@render children?.()}
23
- <ChevronRight class="size-(--era-h-icon) text-muted" />
23
+ <ChevronRight class="size-icon text-muted" />
24
24
  </DropdownMenu.SubTrigger>
@@ -14,11 +14,11 @@
14
14
  <DropdownMenu.Trigger
15
15
  bind:ref
16
16
  class={cn(
17
- 'flex h-(--era-h-control) w-full items-center justify-between gap-(--era-icon-inset-chip) rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) px-(--era-inset-control) text-body text-fg shadow-(--era-shadow) focus:bg-(--era-highlight) focus:outline-none disabled:opacity-50 data-[state=open]:rounded-b-none data-[state=open]:shadow-(--era-shadow-pressed)',
17
+ 'flex h-control w-full items-center justify-between gap-icon-inset-chip rounded-control bg-elevated px-inset-control text-body text-fg shadow-sm focus:bg-highlight focus:outline-none disabled:opacity-50 data-[state=open]:rounded-b-none data-[state=open]:shadow-pressed',
18
18
  className
19
19
  )}
20
20
  {...restProps}
21
21
  >
22
22
  {@render children?.()}
23
- <ChevronDown class="size-(--era-h-icon) text-muted" />
23
+ <ChevronDown class="size-icon text-muted" />
24
24
  </DropdownMenu.Trigger>
@@ -74,7 +74,7 @@
74
74
  data-dragging={dragging || undefined}
75
75
  data-disabled={disabled || undefined}
76
76
  class={cn(
77
- 'flex h-(--era-h-control) w-full items-center gap-(--era-gap) rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) px-(--era-inset-control) font-mono text-body leading-none text-fg shadow-(--era-shadow-well) transition-colors duration-(--era-duration) focus-within:bg-(--era-highlight) hover:bg-(--era-highlight) data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[dragging]:bg-(--era-highlight) data-[dragging]:text-bright',
77
+ 'flex h-control w-full items-center gap-gutter rounded-control bg-elevated px-inset-control font-mono text-body leading-none text-fg shadow-well transition-colors duration-base focus-within:bg-highlight hover:bg-highlight data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[dragging]:bg-highlight data-[dragging]:text-bright',
78
78
  className
79
79
  )}
80
80
  ondragenter={onDragEnter}
@@ -82,7 +82,7 @@
82
82
  ondragover={onDragOver}
83
83
  ondrop={onDrop}
84
84
  >
85
- <Upload class="size-(--era-h-icon) shrink-0" />
85
+ <Upload class="size-icon shrink-0" />
86
86
  <span class="truncate {files && files.length > 0 ? 'text-bright' : 'text-muted'}">
87
87
  {label()}
88
88
  </span>
@@ -54,7 +54,7 @@
54
54
  // with a default button (h-icon glyph), an xxs field with a pill-tier button
55
55
  // (icon-xxs). One size for both would leave the two glyphs in one bar drawn at
56
56
  // different weights.
57
- const glyphClass = $derived(size === 'pill' ? 'size-(--era-glyph-pill)' : 'size-(--era-h-icon)');
57
+ const glyphClass = $derived(size === 'pill' ? 'size-glyph-pill' : 'size-icon');
58
58
  </script>
59
59
 
60
60
  {#if icon}
@@ -70,7 +70,7 @@
70
70
  <div
71
71
  data-input-field={kind}
72
72
  data-input-size={size}
73
- class={cn(inputVariants({ bare, reveal, size }), 'items-center gap-(--era-gap)', className)}
73
+ class={cn(inputVariants({ bare, reveal, size }), 'items-center gap-gutter', className)}
74
74
  >
75
75
  <Icon class={cn('shrink-0 text-muted', glyphClass)} />
76
76
  <input
@@ -21,7 +21,7 @@
21
21
  inputVariants({ height: 'auto' }),
22
22
  // It grows, so the vertical inset has to be stated: the tier height is what
23
23
  // centres one line of text in every other field, and there isn't one here.
24
- 'resize-y py-(--era-inset-control)',
24
+ 'resize-y py-inset-control',
25
25
  className
26
26
  )}
27
27
  {...restProps}></textarea>
@@ -24,7 +24,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
24
24
  * edge to edge so the two have no gap between them.
25
25
  */
26
26
  bare: {
27
- false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
27
+ false: "bg-field shadow-well hover:bg-field-highlight focus-within:bg-field-highlight focus:bg-field-highlight";
28
28
  true: "bg-transparent shadow-none";
29
29
  };
30
30
  /**
@@ -39,7 +39,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
39
39
  * that is for it to be spelled once, next to it.
40
40
  */
41
41
  reveal: {
42
- true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
42
+ true: "bg-transparent shadow-none hover:bg-field hover:shadow-well focus-within:shadow-well focus:shadow-well";
43
43
  false: "";
44
44
  };
45
45
  /**
@@ -60,8 +60,8 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
60
60
  * on this tier read as one family.
61
61
  */
62
62
  size: {
63
- control: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
64
- pill: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
63
+ control: "h-control rounded-control px-field";
64
+ pill: "h-pill rounded-pill px-pill";
65
65
  };
66
66
  /**
67
67
  * Height OVERRIDES, for the fields that are not their tier's height. No
@@ -69,7 +69,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
69
69
  */
70
70
  height: {
71
71
  full: "h-full";
72
- auto: "h-auto min-h-(--era-h-control)";
72
+ auto: "h-auto min-h-control";
73
73
  };
74
74
  /**
75
75
  * Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
@@ -80,7 +80,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
80
80
  * below.
81
81
  */
82
82
  pad: {
83
- trailing: "ps-(--era-field-px) pe-(--era-chip-inset-control)";
83
+ trailing: "ps-field pe-chip-inset-control";
84
84
  none: "px-0";
85
85
  };
86
86
  }, undefined, "flex w-full era-interactive text-body text-fg placeholder:text-muted", {
@@ -92,7 +92,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
92
92
  * edge to edge so the two have no gap between them.
93
93
  */
94
94
  bare: {
95
- false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
95
+ false: "bg-field shadow-well hover:bg-field-highlight focus-within:bg-field-highlight focus:bg-field-highlight";
96
96
  true: "bg-transparent shadow-none";
97
97
  };
98
98
  /**
@@ -107,7 +107,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
107
107
  * that is for it to be spelled once, next to it.
108
108
  */
109
109
  reveal: {
110
- true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
110
+ true: "bg-transparent shadow-none hover:bg-field hover:shadow-well focus-within:shadow-well focus:shadow-well";
111
111
  false: "";
112
112
  };
113
113
  /**
@@ -128,8 +128,8 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
128
128
  * on this tier read as one family.
129
129
  */
130
130
  size: {
131
- control: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
132
- pill: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
131
+ control: "h-control rounded-control px-field";
132
+ pill: "h-pill rounded-pill px-pill";
133
133
  };
134
134
  /**
135
135
  * Height OVERRIDES, for the fields that are not their tier's height. No
@@ -137,7 +137,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
137
137
  */
138
138
  height: {
139
139
  full: "h-full";
140
- auto: "h-auto min-h-(--era-h-control)";
140
+ auto: "h-auto min-h-control";
141
141
  };
142
142
  /**
143
143
  * Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
@@ -148,7 +148,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
148
148
  * below.
149
149
  */
150
150
  pad: {
151
- trailing: "ps-(--era-field-px) pe-(--era-chip-inset-control)";
151
+ trailing: "ps-field pe-chip-inset-control";
152
152
  none: "px-0";
153
153
  };
154
154
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
@@ -160,7 +160,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
160
160
  * edge to edge so the two have no gap between them.
161
161
  */
162
162
  bare: {
163
- false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
163
+ false: "bg-field shadow-well hover:bg-field-highlight focus-within:bg-field-highlight focus:bg-field-highlight";
164
164
  true: "bg-transparent shadow-none";
165
165
  };
166
166
  /**
@@ -175,7 +175,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
175
175
  * that is for it to be spelled once, next to it.
176
176
  */
177
177
  reveal: {
178
- true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
178
+ true: "bg-transparent shadow-none hover:bg-field hover:shadow-well focus-within:shadow-well focus:shadow-well";
179
179
  false: "";
180
180
  };
181
181
  /**
@@ -196,8 +196,8 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
196
196
  * on this tier read as one family.
197
197
  */
198
198
  size: {
199
- control: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
200
- pill: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
199
+ control: "h-control rounded-control px-field";
200
+ pill: "h-pill rounded-pill px-pill";
201
201
  };
202
202
  /**
203
203
  * Height OVERRIDES, for the fields that are not their tier's height. No
@@ -205,7 +205,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
205
205
  */
206
206
  height: {
207
207
  full: "h-full";
208
- auto: "h-auto min-h-(--era-h-control)";
208
+ auto: "h-auto min-h-control";
209
209
  };
210
210
  /**
211
211
  * Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
@@ -216,7 +216,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
216
216
  * below.
217
217
  */
218
218
  pad: {
219
- trailing: "ps-(--era-field-px) pe-(--era-chip-inset-control)";
219
+ trailing: "ps-field pe-chip-inset-control";
220
220
  none: "px-0";
221
221
  };
222
222
  }, undefined>>;
@@ -27,7 +27,7 @@ export const inputVariants = tv({
27
27
  * edge to edge so the two have no gap between them.
28
28
  */
29
29
  bare: {
30
- false: 'bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)',
30
+ false: 'bg-field shadow-well hover:bg-field-highlight focus-within:bg-field-highlight focus:bg-field-highlight',
31
31
  true: 'bg-transparent shadow-none'
32
32
  },
33
33
  /**
@@ -42,7 +42,7 @@ export const inputVariants = tv({
42
42
  * that is for it to be spelled once, next to it.
43
43
  */
44
44
  reveal: {
45
- true: 'bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)',
45
+ true: 'bg-transparent shadow-none hover:bg-field hover:shadow-well focus-within:shadow-well focus:shadow-well',
46
46
  false: ''
47
47
  },
48
48
  /**
@@ -63,8 +63,8 @@ export const inputVariants = tv({
63
63
  * on this tier read as one family.
64
64
  */
65
65
  size: {
66
- control: 'h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)',
67
- pill: 'h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)'
66
+ control: 'h-control rounded-control px-field',
67
+ pill: 'h-pill rounded-pill px-pill'
68
68
  },
69
69
  /**
70
70
  * Height OVERRIDES, for the fields that are not their tier's height. No
@@ -78,7 +78,7 @@ export const inputVariants = tv({
78
78
  full: 'h-full',
79
79
  // h-auto is load-bearing — it is what outranks the tier's own height so
80
80
  // the field can grow with its content (Textarea).
81
- auto: 'h-auto min-h-(--era-h-control)'
81
+ auto: 'h-auto min-h-control'
82
82
  },
83
83
  /**
84
84
  * Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
@@ -89,7 +89,7 @@ export const inputVariants = tv({
89
89
  * below.
90
90
  */
91
91
  pad: {
92
- trailing: 'ps-(--era-field-px) pe-(--era-chip-inset-control)',
92
+ trailing: 'ps-field pe-chip-inset-control',
93
93
  none: 'px-0'
94
94
  }
95
95
  },
@@ -24,7 +24,7 @@
24
24
  // shrink-0 + nowrap like Badge/Chip: the overflow-hidden here is for the
25
25
  // key cell's squared corners, not a licence to crush — squeezed, this pill
26
26
  // clipped its value instead of bleeding it, which is quieter but no truer.
27
- 'inline-flex h-(--era-h-pill) shrink-0 items-center overflow-hidden rounded-(--era-rd-pill) bg-fill font-mono text-body leading-none whitespace-nowrap shadow-(--era-shadow)',
27
+ 'inline-flex h-pill shrink-0 items-center overflow-hidden rounded-pill bg-fill font-mono text-body leading-none whitespace-nowrap shadow-sm',
28
28
  className
29
29
  )}
30
30
  {...restProps}
@@ -34,8 +34,7 @@
34
34
  status), and the block mechanism is the only one where text-box-trim
35
35
  actually runs — see era-token-ink. Stretching gives that block a full-
36
36
  height box for align-content to centre the trimmed line in. -->
37
- <span
38
- class="era-token-ink min-w-(--era-h-pill) self-stretch px-(--era-inset-chip) text-muted tabular-nums"
37
+ <span class="era-token-ink min-w-pill self-stretch px-inset-chip text-muted tabular-nums"
39
38
  >{value}</span
40
39
  >
41
40
  </span>
@@ -15,7 +15,7 @@
15
15
  <LinkPreview.Content
16
16
  bind:ref
17
17
  class={cn(
18
- 'z-50 max-w-xs rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-inset-control) text-body shadow-(--era-shadow-lg) glass-blur',
18
+ 'z-50 max-w-xs rounded-control bg-elevated p-inset-control text-body shadow-lg glass-blur',
19
19
  className
20
20
  )}
21
21
  {sideOffset}
@@ -14,7 +14,7 @@
14
14
  bind:ref
15
15
  bind:checked
16
16
  class={cn(
17
- 'flex h-(--era-h-control) cursor-pointer items-center rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
17
+ 'flex h-control cursor-pointer items-center rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -15,7 +15,7 @@
15
15
  <Menubar.Content
16
16
  bind:ref
17
17
  align="start"
18
- // p-(--era-panel-inset), SURFACE-owned on purpose: 0 on flat — rows run the
18
+ // p-menu, SURFACE-owned on purpose: 0 on flat — rows run the
19
19
  // panel's full width, flush, and the first row sits directly under the
20
20
  // anchor bar (the reference terminal look) — while glass and bevel keep the
21
21
  // 2px frame that stops a full-width highlight from breaking their chrome.
@@ -29,7 +29,7 @@
29
29
  // floating menu, like the context menu it should match: full radius, a
30
30
  // gutter of air, shadow doing the separating.
31
31
  class={cn(
32
- 'z-50 w-max min-w-(--bits-menubar-menu-anchor-width) overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-panel-inset) shadow-(--era-shadow-lg) glass-blur',
32
+ 'z-50 w-max min-w-(--bits-menubar-menu-anchor-width) overflow-hidden rounded-control bg-elevated p-menu shadow-lg glass-blur',
33
33
  className
34
34
  )}
35
35
  {sideOffset}
@@ -11,9 +11,6 @@
11
11
 
12
12
  <Menubar.GroupHeading
13
13
  bind:ref
14
- class={cn(
15
- 'flex h-(--era-h-control) items-center px-(--era-inset-control) text-body text-muted',
16
- className
17
- )}
14
+ class={cn('flex h-control items-center px-inset-control text-body text-muted', className)}
18
15
  {...restProps}
19
16
  />
@@ -13,7 +13,7 @@
13
13
  <Menubar.Item
14
14
  bind:ref
15
15
  class={cn(
16
- 'flex h-(--era-h-control) cursor-pointer items-center gap-(--era-gap) rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
16
+ 'flex h-control cursor-pointer items-center gap-gutter rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -8,7 +8,7 @@
8
8
  <Menubar.RadioItem
9
9
  bind:ref
10
10
  class={cn(
11
- 'flex h-(--era-h-control) cursor-pointer items-center rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
11
+ 'flex h-control cursor-pointer items-center rounded-menu-item px-inset-control text-body text-fg data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
12
12
  className
13
13
  )}
14
14
  {...restProps}
@@ -7,9 +7,6 @@
7
7
 
8
8
  <Menubar.Root
9
9
  bind:ref
10
- class={cn(
11
- 'flex h-(--era-h-bar) items-center rounded-(--era-rd-bar) bg-(--era-surface-bg) px-(--era-gap) shadow-(--era-shadow)',
12
- className
13
- )}
10
+ class={cn('flex h-bar items-center rounded-bar bg-well px-gutter shadow-sm', className)}
14
11
  {...restProps}
15
12
  />
@@ -15,7 +15,7 @@
15
15
  <Menubar.SubContent
16
16
  bind:ref
17
17
  class={cn(
18
- 'z-50 w-max overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-panel-inset) shadow-(--era-shadow-lg) glass-blur',
18
+ 'z-50 w-max overflow-hidden rounded-control bg-elevated p-menu shadow-lg glass-blur',
19
19
  className
20
20
  )}
21
21
  {sideOffset}
@@ -14,11 +14,11 @@
14
14
  <Menubar.SubTrigger
15
15
  bind:ref
16
16
  class={cn(
17
- 'flex h-(--era-h-control) cursor-pointer items-center justify-between gap-(--era-icon-inset-chip) rounded-(--era-item-rd) px-(--era-inset-control) text-body text-fg data-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow) data-[state=open]:bg-hover',
17
+ 'flex h-control cursor-pointer items-center justify-between gap-icon-inset-chip rounded-menu-item px-inset-control text-body text-fg data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight data-[state=open]:bg-hover',
18
18
  className
19
19
  )}
20
20
  {...restProps}
21
21
  >
22
22
  {@render children?.()}
23
- <ChevronRight class="size-(--era-h-icon) text-muted" />
23
+ <ChevronRight class="size-icon text-muted" />
24
24
  </Menubar.SubTrigger>
@@ -13,7 +13,7 @@
13
13
  <Menubar.Trigger
14
14
  bind:ref
15
15
  class={cn(
16
- 'flex h-(--era-h-control) items-center gap-(--era-gap) rounded-(--era-rd-control) px-(--era-inset-control) text-body text-fg hover:bg-(--era-highlight) focus:outline-none disabled:opacity-50 has-[svg]:gap-(--era-inset-control) data-[state=open]:rounded-b-none data-[state=open]:bg-hover',
16
+ 'flex h-control items-center gap-gutter rounded-control px-inset-control text-body text-fg hover:bg-highlight focus:outline-none disabled:opacity-50 has-[svg]:gap-inset-control data-[state=open]:rounded-b-none data-[state=open]:bg-hover',
17
17
  className
18
18
  )}
19
19
  {...restProps}
@@ -20,13 +20,13 @@
20
20
  {min}
21
21
  {max}
22
22
  class={cn(
23
- 'h-(--era-sp) w-full overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well)',
23
+ 'h-(--era-sp) w-full overflow-hidden rounded-control bg-elevated shadow-well',
24
24
  className
25
25
  )}
26
26
  {...restProps}
27
27
  >
28
28
  <div
29
- class="h-full w-full bg-fg transition-transform duration-(--era-duration) ease-(--era-ease)"
29
+ class="h-full w-full bg-fg transition-transform duration-base ease-base"
30
30
  style="transform: translateX(-{100 - percentage}%)"
31
31
  ></div>
32
32
  </Meter.Root>
@@ -23,7 +23,7 @@
23
23
  {#if children}
24
24
  {@render children()}
25
25
  {:else}
26
- <ChevronRight class="size-(--era-h-icon)" />
26
+ <ChevronRight class="size-icon" />
27
27
  {/if}
28
28
  </Button>
29
29
  {/snippet}
@@ -23,7 +23,7 @@
23
23
  {#if children}
24
24
  {@render children()}
25
25
  {:else}
26
- <ChevronLeft class="size-(--era-h-icon)" />
26
+ <ChevronLeft class="size-icon" />
27
27
  {/if}
28
28
  </Button>
29
29
  {/snippet}
@@ -13,6 +13,6 @@
13
13
  <Pagination.Root
14
14
  bind:ref
15
15
  bind:page
16
- class={cn('flex items-center gap-(--era-gap) text-body', className)}
16
+ class={cn('flex items-center gap-gutter text-body', className)}
17
17
  {...restProps}
18
18
  />
@@ -19,7 +19,7 @@
19
19
  its content inside the flex column. -->
20
20
  <div
21
21
  bind:this={ref}
22
- class={cn('min-h-0 flex-1 overflow-auto overscroll-contain p-(--era-pad-card)', className)}
22
+ class={cn('min-h-0 flex-1 overflow-auto overscroll-contain p-card', className)}
23
23
  {...restProps}
24
24
  >
25
25
  {@render children?.()}
@@ -493,7 +493,7 @@
493
493
  // content until the grip sets a size, and size containment would collapse
494
494
  // that to zero) and NOT `paint` (the resize handles deliberately bleed
495
495
  // outward, and paint containment clips them).
496
- 'group/pane absolute isolate flex flex-col rounded-(--era-rd-control) border border-divider bg-(--era-surface-bg-elevated) shadow-(--era-shadow-lg) glass-blur [contain:layout_style]',
496
+ 'group/pane absolute isolate flex flex-col rounded-control border border-divider bg-elevated shadow-lg glass-blur [contain:layout_style]',
497
497
  // Auto-size to content until an explicit size is set (by the grip or a preset).
498
498
  size ? '' : 'w-max',
499
499
  // While Ctrl is held the whole pane is grabbable: a grab cursor hints it, and
@@ -76,7 +76,7 @@
76
76
  <Tabs.List
77
77
  bind:ref
78
78
  class={cn(
79
- 'scrollbar-none flex min-w-0 touch-pan-x items-center gap-(--era-gap) overflow-x-auto',
79
+ 'scrollbar-none flex min-w-0 touch-pan-x items-center gap-gutter overflow-x-auto',
80
80
  className
81
81
  )}
82
82
  {...restProps}
@@ -15,6 +15,6 @@
15
15
  Pane.Content. -->
16
16
  <Tabs.Content
17
17
  bind:ref
18
- class={cn('min-h-0 flex-1 overflow-auto overscroll-contain p-(--era-pad-card)', className)}
18
+ class={cn('min-h-0 flex-1 overflow-auto overscroll-contain p-card', className)}
19
19
  {...restProps}
20
20
  />
@@ -23,7 +23,7 @@
23
23
  // trim pulls the box up to the alphabetic baseline, so the clip then slices
24
24
  // every descender (the "logs" g, the "history" y). [text-box:normal] cancels
25
25
  // it; leading-none + the strip's items-center still centre the label.
26
- 'flex h-(--era-h-pill) cursor-pointer items-center gap-(--era-gap) rounded-(--era-rd-pill) px-(--era-pill-px) text-body leading-none text-muted outline-none select-none [text-box:normal] hover:text-fg focus-visible:bg-(--era-highlight) data-[state=active]:bg-hover data-[state=active]:text-bright',
26
+ 'flex h-pill cursor-pointer items-center gap-gutter rounded-pill px-pill text-body leading-none text-muted outline-none select-none [text-box:normal] hover:text-fg focus-visible:bg-highlight data-[state=active]:bg-hover data-[state=active]:text-bright',
27
27
  className
28
28
  )}
29
29
  {...restProps}