@signal9/era-ui 10.0.0 → 11.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 (262) 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/index.js +1 -1
  23. package/dist/ai/inline-citation/inline-citation.svelte +5 -5
  24. package/dist/ai/loader.svelte +1 -4
  25. package/dist/ai/message/message-branch-selector.svelte +3 -3
  26. package/dist/ai/message/message-branch.svelte +1 -1
  27. package/dist/ai/message/message-content.svelte +1 -1
  28. package/dist/ai/message/message-toolbar.svelte +1 -1
  29. package/dist/ai/message/message-usage.svelte +5 -7
  30. package/dist/ai/message/message.svelte +1 -1
  31. package/dist/ai/model-selector/model-selector.svelte +2 -2
  32. package/dist/ai/open-in-chat/open-in-chat.svelte +2 -2
  33. package/dist/ai/plan/plan-content.svelte +1 -1
  34. package/dist/ai/plan/plan-header.svelte +2 -2
  35. package/dist/ai/plan/plan.svelte +1 -4
  36. package/dist/ai/prompt-input/prompt-input-add-attachments.svelte +1 -1
  37. package/dist/ai/prompt-input/prompt-input-attachments.svelte +5 -5
  38. package/dist/ai/prompt-input/prompt-input-submit.svelte +2 -2
  39. package/dist/ai/prompt-input/prompt-input-textarea.svelte +2 -2
  40. package/dist/ai/prompt-input/prompt-input-toolbar.svelte +1 -1
  41. package/dist/ai/prompt-input/prompt-input.svelte +1 -1
  42. package/dist/ai/queue/queue-item.svelte +1 -1
  43. package/dist/ai/queue/queue.svelte +1 -1
  44. package/dist/ai/reasoning/reasoning-trigger.svelte +1 -1
  45. package/dist/ai/response/response.svelte +1 -1
  46. package/dist/ai/run-status/run-status.svelte +7 -11
  47. package/dist/ai/runtime-feed/runtime-feed-item.svelte +1 -4
  48. package/dist/ai/runtime-feed/runtime-feed-root.svelte +1 -1
  49. package/dist/ai/sources/source.svelte +2 -2
  50. package/dist/ai/sources/sources-trigger.svelte +1 -1
  51. package/dist/ai/structured-value/structured-value.svelte +4 -4
  52. package/dist/ai/suggestion/suggestion.svelte +1 -1
  53. package/dist/ai/suggestion/suggestions.svelte +1 -1
  54. package/dist/ai/swarm/swarm-agent.svelte +3 -3
  55. package/dist/ai/swarm/swarm-artifact.svelte +2 -2
  56. package/dist/ai/swarm/swarm-barrier.svelte +3 -3
  57. package/dist/ai/swarm/swarm-barriers.svelte +1 -4
  58. package/dist/ai/swarm/swarm-counts.svelte +2 -2
  59. package/dist/ai/swarm/swarm-footer.svelte +4 -3
  60. package/dist/ai/swarm/swarm-grid.svelte +2 -2
  61. package/dist/ai/swarm/swarm-header.svelte +2 -2
  62. package/dist/ai/swarm/swarm-node.svelte +7 -9
  63. package/dist/ai/swarm/swarm-role.svelte +6 -3
  64. package/dist/ai/swarm/swarm-root.svelte +1 -4
  65. package/dist/ai/swarm/swarm-sandbox.svelte +4 -7
  66. package/dist/ai/swarm/swarm-tree.svelte +2 -2
  67. package/dist/ai/task/task-content.svelte +1 -4
  68. package/dist/ai/task/task-trigger.svelte +1 -1
  69. package/dist/ai/tool/tool-chip.svelte +3 -3
  70. package/dist/ai/tool/tool-chips.svelte +3 -3
  71. package/dist/ai/tool/tool-exec.svelte +4 -4
  72. package/dist/ai/tool/tool-header.svelte +1 -1
  73. package/dist/ai/web-preview/web-preview.svelte +4 -9
  74. package/dist/ai/workflow/canvas.svelte +1 -1
  75. package/dist/ai/workflow/node.svelte +3 -3
  76. package/dist/apps/index.d.ts +3 -3
  77. package/dist/apps/index.js +3 -3
  78. package/dist/apps/llm-shell/llm-shell.svelte +4 -4
  79. package/dist/apps/notes/editor/slash-menu.svelte +2 -4
  80. package/dist/apps/notes/notes.svelte +8 -8
  81. package/dist/dev/audit/audits/anonymous-text.d.ts +2 -0
  82. package/dist/dev/audit/audits/anonymous-text.js +73 -0
  83. package/dist/dev/audit/audits/even-container-padding.js +2 -2
  84. package/dist/dev/audit/audits/index.d.ts +2 -1
  85. package/dist/dev/audit/audits/index.js +3 -1
  86. package/dist/dev/audit/audits/single-glyph-square.js +2 -2
  87. package/dist/dev/audit/types.d.ts +1 -1
  88. package/dist/dev/audit-overlay.svelte +7 -7
  89. package/dist/docs/css-utilities.d.ts +31 -0
  90. package/dist/docs/css-utilities.js +142 -8
  91. package/dist/docs/llms-txt.js +2 -2
  92. package/dist/docs/notes.md +3 -3
  93. package/dist/docs/quickstart.md +5 -5
  94. package/dist/era-ui.css +1 -1
  95. package/dist/generated-docs/llms-full.txt +455 -110
  96. package/dist/generated-docs/llms.txt +29 -14
  97. package/dist/generated-docs/manifest.json +382 -55
  98. package/dist/generated-docs/notes.md +3 -3
  99. package/dist/generated-docs/utilities.json +359 -45
  100. package/dist/generated-docs/utilities.md +423 -93
  101. package/dist/os/notification-center.svelte +11 -17
  102. package/dist/os/pane-manager.svelte.d.ts +1 -1
  103. package/dist/os/pane.svelte +4 -6
  104. package/dist/os/taskbar.svelte +13 -18
  105. package/dist/os/toast.svelte +6 -11
  106. package/dist/os/toaster.svelte +1 -1
  107. package/dist/styles/density.css +0 -2
  108. package/dist/styles/index.css +160 -84
  109. package/dist/ui/accordion/accordion-content.svelte +1 -1
  110. package/dist/ui/accordion/accordion-trigger.svelte +2 -2
  111. package/dist/ui/alert-dialog/alert-dialog-content.svelte +2 -2
  112. package/dist/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
  113. package/dist/ui/aspect-ratio/aspect-ratio.svelte +1 -5
  114. package/dist/ui/avatar/avatar-fallback.svelte +1 -1
  115. package/dist/ui/avatar/avatar-root.svelte +1 -1
  116. package/dist/ui/badge/badge.svelte +1 -1
  117. package/dist/ui/badge/badge.svelte.d.ts +1 -1
  118. package/dist/ui/bar/bar.svelte +8 -8
  119. package/dist/ui/bar/bar.svelte.d.ts +16 -16
  120. package/dist/ui/button/button.svelte +13 -2
  121. package/dist/ui/button/variants.d.ts +4 -4
  122. package/dist/ui/button/variants.js +18 -18
  123. package/dist/ui/button-group/button-group.svelte +2 -2
  124. package/dist/ui/calendar/calendar-day.svelte +1 -1
  125. package/dist/ui/calendar/calendar-grid-row.svelte +1 -1
  126. package/dist/ui/calendar/calendar-grid.svelte +1 -1
  127. package/dist/ui/calendar/calendar-head-cell.svelte +1 -1
  128. package/dist/ui/calendar/calendar-header.svelte +1 -1
  129. package/dist/ui/calendar/calendar-next-button.svelte +1 -1
  130. package/dist/ui/calendar/calendar-prev-button.svelte +1 -1
  131. package/dist/ui/calendar/calendar-root.svelte +1 -1
  132. package/dist/ui/card/card.svelte +10 -10
  133. package/dist/ui/card/card.svelte.d.ts +16 -16
  134. package/dist/ui/checkbox/checkbox-group.svelte +1 -1
  135. package/dist/ui/checkbox/checkbox.svelte +1 -1
  136. package/dist/ui/chip/chip.svelte +15 -7
  137. package/dist/ui/chip/chip.svelte.d.ts +7 -7
  138. package/dist/ui/code-block/code-block.svelte +3 -9
  139. package/dist/ui/collapsible/collapsible-trigger.svelte +1 -1
  140. package/dist/ui/combobox/combobox-content.svelte +1 -1
  141. package/dist/ui/combobox/combobox-empty.svelte +1 -6
  142. package/dist/ui/combobox/combobox-group-heading.svelte +1 -4
  143. package/dist/ui/combobox/combobox-input.svelte +1 -1
  144. package/dist/ui/combobox/combobox-item.svelte +1 -1
  145. package/dist/ui/combobox/combobox-trigger.svelte +2 -2
  146. package/dist/ui/command/command-group-heading.svelte +1 -4
  147. package/dist/ui/command/command-group-items.svelte +1 -5
  148. package/dist/ui/command/command-item.svelte +1 -1
  149. package/dist/ui/command/command-link-item.svelte +1 -1
  150. package/dist/ui/command/command-root.svelte +2 -2
  151. package/dist/ui/command/command-viewport.svelte +1 -1
  152. package/dist/ui/command-bar/command-bar.svelte +9 -13
  153. package/dist/ui/context-menu/context-menu-checkbox-item.svelte +1 -1
  154. package/dist/ui/context-menu/context-menu-content.svelte +2 -2
  155. package/dist/ui/context-menu/context-menu-group-heading.svelte +1 -4
  156. package/dist/ui/context-menu/context-menu-item.svelte +1 -1
  157. package/dist/ui/context-menu/context-menu-radio-item.svelte +1 -1
  158. package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
  159. package/dist/ui/context-menu/context-menu-sub-trigger.svelte +2 -2
  160. package/dist/ui/copy-button/copy-button.svelte +2 -2
  161. package/dist/ui/cycle/cycle.svelte +2 -2
  162. package/dist/ui/date-field/date-field-segment.svelte +1 -1
  163. package/dist/ui/date-picker/date-picker-calendar.svelte +1 -1
  164. package/dist/ui/date-picker/date-picker-content.svelte +1 -4
  165. package/dist/ui/date-picker/date-picker-day.svelte +1 -1
  166. package/dist/ui/date-picker/date-picker-grid-row.svelte +1 -1
  167. package/dist/ui/date-picker/date-picker-grid.svelte +1 -1
  168. package/dist/ui/date-picker/date-picker-head-cell.svelte +1 -1
  169. package/dist/ui/date-picker/date-picker-header.svelte +1 -1
  170. package/dist/ui/date-picker/date-picker-next-button.svelte +1 -1
  171. package/dist/ui/date-picker/date-picker-prev-button.svelte +1 -1
  172. package/dist/ui/date-picker/date-picker-segment.svelte +1 -1
  173. package/dist/ui/date-picker/date-picker-trigger.svelte +2 -2
  174. package/dist/ui/date-range-field/date-range-field-segment.svelte +1 -1
  175. package/dist/ui/date-range-picker/date-range-picker-calendar.svelte +1 -1
  176. package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -4
  177. package/dist/ui/date-range-picker/date-range-picker-day.svelte +1 -1
  178. package/dist/ui/date-range-picker/date-range-picker-grid-row.svelte +1 -1
  179. package/dist/ui/date-range-picker/date-range-picker-grid.svelte +1 -5
  180. package/dist/ui/date-range-picker/date-range-picker-head-cell.svelte +1 -1
  181. package/dist/ui/date-range-picker/date-range-picker-header.svelte +1 -1
  182. package/dist/ui/date-range-picker/date-range-picker-next-button.svelte +1 -1
  183. package/dist/ui/date-range-picker/date-range-picker-prev-button.svelte +1 -1
  184. package/dist/ui/date-range-picker/date-range-picker-segment.svelte +1 -1
  185. package/dist/ui/date-range-picker/date-range-picker-trigger.svelte +2 -2
  186. package/dist/ui/dialog/dialog-content.svelte +3 -5
  187. package/dist/ui/dialog/dialog-header.svelte +1 -6
  188. package/dist/ui/dialog/dialog-overlay.svelte +1 -5
  189. package/dist/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
  190. package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +2 -2
  191. package/dist/ui/dropdown-menu/dropdown-menu-group-heading.svelte +1 -4
  192. package/dist/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
  193. package/dist/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
  194. package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
  195. package/dist/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
  196. package/dist/ui/dropdown-menu/dropdown-menu-trigger.svelte +2 -2
  197. package/dist/ui/file-upload/file-upload.svelte +2 -2
  198. package/dist/ui/index.js +1 -1
  199. package/dist/ui/input/input.svelte +2 -2
  200. package/dist/ui/input/textarea.svelte +1 -1
  201. package/dist/ui/input/variants.d.ts +18 -18
  202. package/dist/ui/input/variants.js +6 -6
  203. package/dist/ui/kv/kv.svelte +2 -3
  204. package/dist/ui/link-preview/link-preview-content.svelte +1 -1
  205. package/dist/ui/menubar/menubar-checkbox-item.svelte +1 -1
  206. package/dist/ui/menubar/menubar-content.svelte +2 -2
  207. package/dist/ui/menubar/menubar-group-heading.svelte +1 -4
  208. package/dist/ui/menubar/menubar-item.svelte +1 -1
  209. package/dist/ui/menubar/menubar-radio-item.svelte +1 -1
  210. package/dist/ui/menubar/menubar-root.svelte +1 -4
  211. package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
  212. package/dist/ui/menubar/menubar-sub-trigger.svelte +2 -2
  213. package/dist/ui/menubar/menubar-trigger.svelte +1 -1
  214. package/dist/ui/meter/meter.svelte +2 -2
  215. package/dist/ui/pagination/pagination-next-button.svelte +1 -1
  216. package/dist/ui/pagination/pagination-prev-button.svelte +1 -1
  217. package/dist/ui/pagination/pagination-root.svelte +1 -1
  218. package/dist/ui/pane/pane-content.svelte +1 -1
  219. package/dist/ui/pane/pane-root.svelte +1 -1
  220. package/dist/ui/pane/pane-tab-list.svelte +1 -1
  221. package/dist/ui/pane/pane-tab-panel.svelte +1 -1
  222. package/dist/ui/pane/pane-tab.svelte +1 -1
  223. package/dist/ui/pane/pane.svelte +1 -1
  224. package/dist/ui/pin-input/pin-input-cell.svelte +1 -1
  225. package/dist/ui/popover/popover-content.svelte +1 -1
  226. package/dist/ui/popover/popover-trigger.svelte +1 -4
  227. package/dist/ui/progress/progress.svelte +2 -2
  228. package/dist/ui/radio-group/radio-group-item.svelte +2 -2
  229. package/dist/ui/radio-group/radio-group-root.svelte +1 -1
  230. package/dist/ui/rating-group/rating-group-item.svelte +1 -1
  231. package/dist/ui/rating-group/rating-group-root.svelte +1 -1
  232. package/dist/ui/scroll-area/scroll-area-scrollbar.svelte +1 -1
  233. package/dist/ui/scroll-area/scroll-area-thumb.svelte +1 -1
  234. package/dist/ui/scroll-area/scroll-area.svelte +1 -1
  235. package/dist/ui/select/select-content.svelte +7 -6
  236. package/dist/ui/select/select-group-heading.svelte +1 -4
  237. package/dist/ui/select/select-item.svelte +1 -1
  238. package/dist/ui/select/select-trigger.svelte +2 -2
  239. package/dist/ui/select/select-value.svelte +1 -1
  240. package/dist/ui/separator/separator.svelte +1 -1
  241. package/dist/ui/sheet/sheet-content.svelte +3 -3
  242. package/dist/ui/sheet/sheet-content.svelte.d.ts +4 -4
  243. package/dist/ui/skeleton/skeleton.svelte +4 -4
  244. package/dist/ui/skeleton/skeleton.svelte.d.ts +10 -10
  245. package/dist/ui/slider/slider-range.svelte +1 -1
  246. package/dist/ui/slider/slider-thumb.svelte +1 -1
  247. package/dist/ui/slider/slider-tick.svelte +1 -1
  248. package/dist/ui/step/step-content.svelte +1 -1
  249. package/dist/ui/step/step-section.svelte +1 -1
  250. package/dist/ui/step/step-summary.svelte +7 -7
  251. package/dist/ui/switch/switch.svelte +2 -2
  252. package/dist/ui/table/table-cell.svelte +1 -1
  253. package/dist/ui/table/table-head-cell.svelte +1 -1
  254. package/dist/ui/table/table-row.svelte +1 -1
  255. package/dist/ui/time-field/time-field-segment.svelte +1 -1
  256. package/dist/ui/time-range-field/time-range-field-segment.svelte +1 -1
  257. package/dist/ui/toggle-group/toggle-group-item.svelte +1 -1
  258. package/dist/ui/toggle-group/toggle-group-root.svelte +1 -1
  259. package/dist/ui/tooltip/tooltip-content.svelte +1 -1
  260. package/dist/ui/video-player/video-player.svelte +44 -47
  261. package/dist/utils/index.js +1 -1
  262. package/package.json +4 -3
@@ -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}
@@ -84,7 +84,7 @@
84
84
  track when `center` is present and in the ml-auto cluster when it isn't —
85
85
  one close button, correct in both geometries. -->
86
86
  <Handle {center} trail={onClose ? closeTrail : undefined}>
87
- {#if icon}{@const Icon = icon}<Icon class="size-(--era-h-icon) shrink-0 text-muted" />{/if}
87
+ {#if icon}{@const Icon = icon}<Icon class="size-icon shrink-0 text-muted" />{/if}
88
88
  {#if title}<span class="text-body text-bright">{title}</span>{/if}
89
89
  {@render header?.()}
90
90
  </Handle>
@@ -14,7 +14,7 @@
14
14
  bind:ref
15
15
  {cell}
16
16
  class={cn(
17
- 'relative flex h-(--era-h-control) min-w-(--era-h-control) items-center justify-center border-y border-r border-divider bg-(--era-surface-bg-elevated) text-body transition-colors duration-(--era-duration) outline-none first:rounded-l-(--era-rd-control) first:border-l last:rounded-r-(--era-rd-control) data-[active]:bg-(--era-highlight) [&:has(+_:not([data-pin-input-cell]))]:rounded-r-(--era-rd-control)',
17
+ 'relative flex h-control min-w-control items-center justify-center border-y border-r border-divider bg-elevated text-body transition-colors duration-base outline-none first:rounded-l-control first:border-l last:rounded-r-control data-[active]:bg-highlight [&:has(+_:not([data-pin-input-cell]))]:rounded-r-control',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -22,7 +22,7 @@
22
22
  // floating menu, like the context menu it should match: full radius, a
23
23
  // gutter of air, shadow doing the separating.
24
24
  class={cn(
25
- 'z-50 w-max min-w-(--bits-popover-anchor-width) overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-pad-card) shadow-(--era-shadow-lg) glass-blur',
25
+ 'z-50 w-max min-w-(--bits-popover-anchor-width) overflow-hidden rounded-control bg-elevated p-card shadow-lg glass-blur',
26
26
  className
27
27
  )}
28
28
  {sideOffset}
@@ -30,10 +30,7 @@
30
30
  {variant}
31
31
  {icon}
32
32
  {active}
33
- class={cn(
34
- 'data-[state=open]:rounded-b-none data-[state=open]:shadow-(--era-shadow-pressed)',
35
- className
36
- )}
33
+ class={cn('data-[state=open]:rounded-b-none data-[state=open]:shadow-pressed', className)}
37
34
  >
38
35
  {@render children?.()}
39
36
  </Button>
@@ -20,14 +20,14 @@
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
  {#if value != null}
29
29
  <div
30
- class="h-full w-full bg-fg transition-transform duration-(--era-duration) ease-(--era-ease)"
30
+ class="h-full w-full bg-fg transition-transform duration-base ease-base"
31
31
  style="transform: translateX(-{100 - percentage}%)"
32
32
  ></div>
33
33
  {:else}
@@ -8,12 +8,12 @@
8
8
  <RadioGroup.Item
9
9
  bind:ref
10
10
  class={cn(
11
- 'group/radio flex size-(--era-h-icon) shrink-0 era-interactive cursor-pointer items-center justify-center rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well) hover:bg-(--era-highlight)',
11
+ 'group/radio flex size-icon shrink-0 era-interactive cursor-pointer items-center justify-center rounded-control bg-elevated shadow-well hover:bg-highlight',
12
12
  className
13
13
  )}
14
14
  {...restProps}
15
15
  >
16
16
  <span
17
- class="block size-1/2 rounded-(--era-rd-control) transition-colors duration-(--era-duration) group-data-[state=checked]/radio:bg-fg"
17
+ class="block size-1/2 rounded-control transition-colors duration-base group-data-[state=checked]/radio:bg-fg"
18
18
  ></span>
19
19
  </RadioGroup.Item>
@@ -13,6 +13,6 @@
13
13
  <RadioGroup.Root
14
14
  bind:ref
15
15
  bind:value
16
- class={cn('flex flex-col gap-(--era-gap) data-[orientation=horizontal]:flex-row', className)}
16
+ class={cn('flex flex-col gap-gutter data-[orientation=horizontal]:flex-row', className)}
17
17
  {...restProps}
18
18
  />
@@ -10,7 +10,7 @@
10
10
  <RatingGroup.Item
11
11
  bind:ref
12
12
  class={cn(
13
- 'inline-flex size-(--era-h-chip) items-center justify-center text-muted hover:text-bright focus:outline-none data-[state=checked]:text-primary',
13
+ 'inline-flex size-chip items-center justify-center text-muted hover:text-bright focus:outline-none data-[state=checked]:text-primary',
14
14
  className
15
15
  )}
16
16
  {...restProps}
@@ -15,6 +15,6 @@
15
15
  <RatingGroup.Root
16
16
  bind:ref
17
17
  bind:value
18
- class={cn('inline-flex items-center gap-(--era-gap)', className)}
18
+ class={cn('inline-flex items-center gap-gutter', className)}
19
19
  {...restProps}
20
20
  />
@@ -12,7 +12,7 @@
12
12
  <ScrollArea.Scrollbar
13
13
  bind:ref
14
14
  class={cn(
15
- 'flex touch-none p-px transition-opacity duration-(--era-duration) select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:flex-row data-[orientation=vertical]:w-1.5 data-[orientation=vertical]:flex-col data-[state=hidden]:opacity-0 data-[state=visible]:opacity-100',
15
+ 'flex touch-none p-px transition-opacity duration-base select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:flex-row data-[orientation=vertical]:w-1.5 data-[orientation=vertical]:flex-col data-[state=hidden]:opacity-0 data-[state=visible]:opacity-100',
16
16
  className
17
17
  )}
18
18
  {...restProps}
@@ -7,6 +7,6 @@
7
7
 
8
8
  <ScrollArea.Thumb
9
9
  bind:ref
10
- class={cn('rounded-(--era-rd-control) bg-divider hover:bg-muted', className)}
10
+ class={cn('rounded-control bg-divider hover:bg-muted', className)}
11
11
  {...restProps}
12
12
  />
@@ -13,6 +13,6 @@
13
13
  <ScrollArea.Root
14
14
  bind:ref
15
15
  {type}
16
- class={cn('relative overflow-hidden rounded-(--era-rd-bar)', className)}
16
+ class={cn('relative overflow-hidden rounded-bar', className)}
17
17
  {...restProps}
18
18
  />
@@ -14,21 +14,22 @@
14
14
  <Select.Content
15
15
  bind:ref
16
16
  align="start"
17
- // p-(--era-panel-inset), not p-(--era-panel-inset): the inset is SURFACE-owned and resolves
18
- // to 0 on flat, so a menu there sat its rows flush against its own edges —
19
- // the highlight ran edge to edge and the panel read as a list with no frame.
20
- // The gutter is --era-gap, the same distance that separates the rows from
17
+ // p-gutter, not p-menu, was the fix considered first: the inset is
18
+ // SURFACE-owned and resolves to 0 on flat, so a menu there sat its rows flush
19
+ // against its own edges — the highlight ran edge to edge and the panel read
20
+ // as a list with no frame.
21
+ // That gutter would be --era-gap, the same distance that separates rows from
21
22
  // each other, so a row sits an even gap from every edge (the pattern the
22
23
  // conversations rail already documents). It is >= the panel inset at every
23
24
  // density, so glass and bevel keep the frame protection the inset exists
24
25
  // for.
25
- // p-(--era-panel-inset), SURFACE-owned on purpose: 0 on flat — rows run the
26
+ // p-menu, SURFACE-owned on purpose: 0 on flat — rows run the
26
27
  // panel's full width, flush, and the first row sits directly under the
27
28
  // anchor bar (the reference terminal look) — while glass and bevel keep the
28
29
  // 2px frame that stops a full-width highlight from breaking their chrome.
29
30
  // A fixed gutter was tried here and rejected: it padded flat menus too.
30
31
  class={cn(
31
- 'z-50 w-max min-w-(--bits-select-anchor-width) overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) p-(--era-panel-inset) shadow-(--era-shadow-lg) glass-blur data-[side=bottom]:rounded-t-none data-[side=top]:rounded-b-none',
32
+ 'z-50 w-max min-w-(--bits-select-anchor-width) overflow-hidden rounded-control bg-elevated p-menu shadow-lg glass-blur data-[side=bottom]:rounded-t-none data-[side=top]:rounded-b-none',
32
33
  className
33
34
  )}
34
35
  {sideOffset}
@@ -12,10 +12,7 @@
12
12
 
13
13
  <Select.GroupHeading
14
14
  bind:ref
15
- class={cn(
16
- 'flex h-(--era-h-control) items-center px-(--era-inset-control) text-body text-muted',
17
- className
18
- )}
15
+ class={cn('flex h-control items-center px-inset-control text-body text-muted', className)}
19
16
  {...restProps}
20
17
  >
21
18
  {@render children?.()}
@@ -10,7 +10,7 @@
10
10
  <Select.Item
11
11
  bind:ref
12
12
  class={cn(
13
- '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-[highlighted]:bg-(--era-highlight) data-[highlighted]:shadow-(--era-highlight-shadow)',
13
+ 'flex h-control cursor-pointer items-center gap-gutter rounded-menu-item px-inset-control text-body text-fg data-[highlighted]:bg-highlight data-[highlighted]:shadow-highlight',
14
14
  className
15
15
  )}
16
16
  {...restProps}
@@ -14,11 +14,11 @@
14
14
  <Select.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 era-text-trim text-fg shadow-(--era-shadow) hover:bg-(--era-highlight) 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 leading-none text-fg shadow-sm hover:bg-highlight 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
  </Select.Trigger>
@@ -51,7 +51,7 @@
51
51
  the horizontal rhythm matches the vertical one.
52
52
  -->
53
53
  <div
54
- class="-ml-(--era-inset-pill) flex min-w-0 flex-wrap items-center gap-(--era-pill-inset-control)"
54
+ class="-ml-(--era-inset-pill) flex min-w-0 flex-wrap items-center gap-pill-inset-control"
55
55
  >
56
56
  {#each sel.selected as item (item.value)}
57
57
  <Chip
@@ -19,7 +19,7 @@
19
19
  const variantClass = $derived(
20
20
  variant === 'slant'
21
21
  ? 'mx-[0.45em] inline-block h-[0.9em] w-[2px] shrink-0 translate-y-[0.08em] rotate-[18deg] rounded-full bg-muted/80 align-middle'
22
- : 'bg-3 data-[orientation=horizontal]:mx-(--era-gap) data-[orientation=horizontal]:h-px data-[orientation=vertical]:my-(--era-gap) data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch'
22
+ : 'bg-3 data-[orientation=horizontal]:mx-gutter data-[orientation=horizontal]:h-px data-[orientation=vertical]:my-gutter data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch'
23
23
  );
24
24
  </script>
25
25
 
@@ -7,7 +7,7 @@
7
7
  // border-divider on every side: the pane's hairline-edge law — on flat,
8
8
  // shadow-lg collapses to none and the sheet's edge was a bare tone step.
9
9
  export const sheetVariants = tv({
10
- base: 'fixed z-50 flex flex-col border border-divider bg-(--era-surface-bg) shadow-(--era-shadow-lg) glass-blur',
10
+ base: 'fixed z-50 flex flex-col border border-divider bg-well shadow-lg glass-blur',
11
11
  variants: {
12
12
  // The two axes meet at the corners: the SIDE picks which corners are
13
13
  // detached from the screen edge, the HEADER picks their radius. Stated
@@ -28,7 +28,7 @@
28
28
  */
29
29
  header: {
30
30
  true: '[--sheet-rd:var(--era-rd-control)]',
31
- false: '[--sheet-rd:var(--era-rd-bar)] gap-(--era-gap) overflow-y-auto p-(--era-pad-card)'
31
+ false: '[--sheet-rd:var(--era-rd-bar)] gap-gutter overflow-y-auto p-card'
32
32
  }
33
33
  },
34
34
  defaultVariants: { side: 'bottom', header: false }
@@ -64,7 +64,7 @@
64
64
  >
65
65
  {#if header}
66
66
  {@render header()}
67
- <div class="flex min-h-0 flex-1 flex-col gap-(--era-gap) overflow-y-auto p-(--era-pad-card)">
67
+ <div class="flex min-h-0 flex-1 flex-col gap-gutter overflow-y-auto p-card">
68
68
  {@render children?.()}
69
69
  </div>
70
70
  {:else}
@@ -15,9 +15,9 @@ export declare const sheetVariants: import("tailwind-variants").TVReturnType<{
15
15
  */
16
16
  header: {
17
17
  true: "[--sheet-rd:var(--era-rd-control)]";
18
- false: "[--sheet-rd:var(--era-rd-bar)] gap-(--era-gap) overflow-y-auto p-(--era-pad-card)";
18
+ false: "[--sheet-rd:var(--era-rd-bar)] gap-gutter overflow-y-auto p-card";
19
19
  };
20
- }, undefined, "fixed z-50 flex flex-col border border-divider bg-(--era-surface-bg) shadow-(--era-shadow-lg) glass-blur", {
20
+ }, undefined, "fixed z-50 flex flex-col border border-divider bg-well shadow-lg glass-blur", {
21
21
  side: {
22
22
  top: "inset-x-0 top-0 max-h-[85dvh] rounded-b-(--sheet-rd)";
23
23
  bottom: "inset-x-0 bottom-0 max-h-[85dvh] rounded-t-(--sheet-rd)";
@@ -33,7 +33,7 @@ export declare const sheetVariants: import("tailwind-variants").TVReturnType<{
33
33
  */
34
34
  header: {
35
35
  true: "[--sheet-rd:var(--era-rd-control)]";
36
- false: "[--sheet-rd:var(--era-rd-bar)] gap-(--era-gap) overflow-y-auto p-(--era-pad-card)";
36
+ false: "[--sheet-rd:var(--era-rd-bar)] gap-gutter overflow-y-auto p-card";
37
37
  };
38
38
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
39
39
  side: {
@@ -51,7 +51,7 @@ export declare const sheetVariants: import("tailwind-variants").TVReturnType<{
51
51
  */
52
52
  header: {
53
53
  true: "[--sheet-rd:var(--era-rd-control)]";
54
- false: "[--sheet-rd:var(--era-rd-bar)] gap-(--era-gap) overflow-y-auto p-(--era-pad-card)";
54
+ false: "[--sheet-rd:var(--era-rd-bar)] gap-gutter overflow-y-auto p-card";
55
55
  };
56
56
  }, undefined>>;
57
57
  import type { Snippet } from 'svelte';
@@ -2,12 +2,12 @@
2
2
  import { cn, tv } from '../../utils/index.js';
3
3
 
4
4
  export const skeletonVariants = tv({
5
- base: 'animate-[skeleton-pulse_2s_ease-in-out_infinite] bg-(--era-surface-bg-elevated)',
5
+ base: 'animate-[skeleton-pulse_2s_ease-in-out_infinite] bg-elevated',
6
6
  variants: {
7
7
  variant: {
8
- line: 'h-(--era-text) w-full rounded-(--era-rd-control)',
9
- circle: 'size-(--era-h-bar) rounded-full',
10
- block: 'h-24 w-full rounded-(--era-rd-control)'
8
+ line: 'h-(--era-text) w-full rounded-control',
9
+ circle: 'size-bar rounded-full',
10
+ block: 'h-24 w-full rounded-control'
11
11
  }
12
12
  },
13
13
  defaultVariants: { variant: 'line' }
@@ -1,20 +1,20 @@
1
1
  export declare const skeletonVariants: import("tailwind-variants").TVReturnType<{
2
2
  variant: {
3
- line: "h-(--era-text) w-full rounded-(--era-rd-control)";
4
- circle: "size-(--era-h-bar) rounded-full";
5
- block: "h-24 w-full rounded-(--era-rd-control)";
3
+ line: "h-(--era-text) w-full rounded-control";
4
+ circle: "size-bar rounded-full";
5
+ block: "h-24 w-full rounded-control";
6
6
  };
7
- }, undefined, "animate-[skeleton-pulse_2s_ease-in-out_infinite] bg-(--era-surface-bg-elevated)", {
7
+ }, undefined, "animate-[skeleton-pulse_2s_ease-in-out_infinite] bg-elevated", {
8
8
  variant: {
9
- line: "h-(--era-text) w-full rounded-(--era-rd-control)";
10
- circle: "size-(--era-h-bar) rounded-full";
11
- block: "h-24 w-full rounded-(--era-rd-control)";
9
+ line: "h-(--era-text) w-full rounded-control";
10
+ circle: "size-bar rounded-full";
11
+ block: "h-24 w-full rounded-control";
12
12
  };
13
13
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
14
14
  variant: {
15
- line: "h-(--era-text) w-full rounded-(--era-rd-control)";
16
- circle: "size-(--era-h-bar) rounded-full";
17
- block: "h-24 w-full rounded-(--era-rd-control)";
15
+ line: "h-(--era-text) w-full rounded-control";
16
+ circle: "size-bar rounded-full";
17
+ block: "h-24 w-full rounded-control";
18
18
  };
19
19
  }, undefined>>;
20
20
  import type { HTMLAttributes } from 'svelte/elements';
@@ -25,7 +25,7 @@
25
25
 
26
26
  <span
27
27
  class={cn(
28
- 'relative h-[calc(var(--era-sp)/2)] w-full grow cursor-pointer overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well)',
28
+ 'relative h-[calc(var(--era-sp)/2)] w-full grow cursor-pointer overflow-hidden rounded-control bg-elevated shadow-well',
29
29
  trackClass
30
30
  )}
31
31
  >
@@ -8,7 +8,7 @@
8
8
  <Slider.Thumb
9
9
  bind:ref
10
10
  class={cn(
11
- "relative block size-(--era-h-icon) cursor-pointer rounded-(--era-rd-icon) bg-fg shadow-(--era-shadow) transition-transform duration-(--era-duration) will-change-transform after:absolute after:inset-[-13px] after:content-[''] hover:scale-105 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:scale-[0.96]",
11
+ "relative block size-icon cursor-pointer rounded-icon bg-fg shadow-sm transition-transform duration-base will-change-transform after:absolute after:inset-[-13px] after:content-[''] hover:scale-105 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:scale-[0.96]",
12
12
  className
13
13
  )}
14
14
  {...restProps}
@@ -8,7 +8,7 @@
8
8
  <Slider.Tick
9
9
  bind:ref
10
10
  class={cn(
11
- 'h-[calc(var(--era-sp)/2)] w-px bg-divider-faded data-[bounded]:bg-(--era-surface-bg-elevated)',
11
+ 'h-[calc(var(--era-sp)/2)] w-px bg-divider-faded data-[bounded]:bg-elevated',
12
12
  className
13
13
  )}
14
14
  {...restProps}
@@ -17,7 +17,7 @@
17
17
  <Collapsible.Content bind:ref class="era-collapse" {...restProps}>
18
18
  <div
19
19
  class={cn(
20
- 'mt-(--era-gap) mb-(--era-gap) flex min-w-0 flex-col gap-(--era-pad-panel) rounded-(--era-rd-control) bg-(--era-surface-bg) p-(--era-pad-panel) shadow-(--era-shadow-well)',
20
+ 'mt-gutter mb-gutter flex min-w-0 flex-col gap-panel rounded-control bg-well p-panel shadow-well',
21
21
  className
22
22
  )}
23
23
  >
@@ -15,7 +15,7 @@
15
15
  } = $props();
16
16
  </script>
17
17
 
18
- <div class={cn('flex min-w-0 flex-col gap-(--era-gap)', className)} {...restProps}>
18
+ <div class={cn('flex min-w-0 flex-col gap-gutter', className)} {...restProps}>
19
19
  {#if label}
20
20
  <span class="text-[0.625rem] leading-none tracking-[0.15em] text-muted uppercase">{label}</span>
21
21
  {/if}
@@ -26,30 +26,30 @@
26
26
  <Collapsible.Trigger
27
27
  bind:ref
28
28
  class={cn(
29
- 'flex h-(--era-h-control) w-full min-w-0 era-interactive cursor-pointer items-center gap-(--era-gap) rounded-(--era-rd-control) px-(--era-inset-control) text-body era-text-trim text-muted transition-colors duration-(--era-duration) ease-(--era-ease) hover:text-fg',
29
+ 'flex h-control w-full min-w-0 era-interactive cursor-pointer items-center gap-gutter rounded-control px-inset-control text-body leading-none text-muted transition-colors duration-base ease-base hover:text-fg',
30
30
  className
31
31
  )}
32
32
  {...restProps}
33
33
  >
34
34
  {#if step.status === 'running'}
35
- <LoaderCircle class="size-(--era-h-icon) shrink-0 animate-spin" aria-hidden="true" />
35
+ <LoaderCircle class="size-icon shrink-0 animate-spin" aria-hidden="true" />
36
36
  {:else if step.status === 'done'}
37
- <CircleCheck class="size-(--era-h-icon) shrink-0 text-success" aria-hidden="true" />
37
+ <CircleCheck class="size-icon shrink-0 text-success" aria-hidden="true" />
38
38
  {:else if step.status === 'error'}
39
- <CircleX class="size-(--era-h-icon) shrink-0 text-destructive" aria-hidden="true" />
39
+ <CircleX class="size-icon shrink-0 text-destructive" aria-hidden="true" />
40
40
  {:else}
41
- <CircleDashed class="size-(--era-h-icon) shrink-0" aria-hidden="true" />
41
+ <CircleDashed class="size-icon shrink-0" aria-hidden="true" />
42
42
  {/if}
43
43
  <span
44
44
  class={cn(
45
- 'flex min-w-0 flex-1 items-center gap-(--era-gap) truncate text-left',
45
+ 'flex min-w-0 flex-1 items-center gap-gutter truncate text-left',
46
46
  step.status === 'running' && 'era-shimmer'
47
47
  )}
48
48
  >
49
49
  {@render children?.()}
50
50
  </span>
51
51
  <ChevronDown
52
- class="size-(--era-h-icon) shrink-0 transition-transform duration-(--era-duration) ease-(--era-ease) group-data-[state=open]/step:rotate-180"
52
+ class="size-icon shrink-0 transition-transform duration-base ease-base group-data-[state=open]/step:rotate-180"
53
53
  aria-hidden="true"
54
54
  />
55
55
  </Collapsible.Trigger>
@@ -27,7 +27,7 @@
27
27
  // ORIGIN instead (translate-x = xs-inset-sm) silently adds the border to
28
28
  // the left gap and subtracts it from the right, so the thumb rests 1px
29
29
  // too far right in both states and the two ends differ by 2px.
30
- 'inline-flex h-(--era-h-chip) w-[calc(var(--era-h-chip)+var(--era-h-icon))] shrink-0 era-interactive cursor-pointer items-center justify-center rounded-(--era-rd-chip) border border-divider bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well) hover:bg-(--era-highlight) data-[state=checked]:bg-fg',
30
+ 'inline-flex h-chip w-[calc(var(--era-h-chip)+var(--era-h-icon))] shrink-0 era-interactive cursor-pointer items-center justify-center rounded-chip border border-divider bg-elevated shadow-well hover:bg-highlight data-[state=checked]:bg-fg',
31
31
  className
32
32
  )}
33
33
  {...restProps}
@@ -38,6 +38,6 @@
38
38
  vs bevel track-slide) scopes a rule to its own surface — see the
39
39
  surface-animation recipe in surfaces/base.css. -->
40
40
  <Switch.Thumb
41
- class="pointer-events-none block size-(--era-h-icon) -translate-x-[calc(var(--era-h-icon)/2)] rounded-(--era-rd-icon) bg-fg transition-transform duration-(--era-duration) ease-(--era-ease) data-[state=checked]:translate-x-[calc(var(--era-h-icon)/2)] data-[state=checked]:bg-2"
41
+ class="pointer-events-none block size-icon -translate-x-[calc(var(--era-h-icon)/2)] rounded-icon bg-fg transition-transform duration-base ease-base data-[state=checked]:translate-x-[calc(var(--era-h-icon)/2)] data-[state=checked]:bg-2"
42
42
  />
43
43
  </Switch.Root>
@@ -17,7 +17,7 @@
17
17
  <td
18
18
  bind:this={ref}
19
19
  class={cn(
20
- 'h-(--era-h-control) px-(--era-inset-control) text-left align-middle [table[data-variant=cells]_&]:rounded-(--era-rd-chip) [table[data-variant=cells]_&]:bg-(--era-surface-bg-elevated) [table[data-variant=cells]_&]:px-(--era-inset-chip) [table[data-variant=cells]_&]:shadow-(--era-shadow)',
20
+ 'h-control px-inset-control text-left align-middle [table[data-variant=cells]_&]:rounded-chip [table[data-variant=cells]_&]:bg-elevated [table[data-variant=cells]_&]:px-inset-chip [table[data-variant=cells]_&]:shadow-sm',
21
21
  className
22
22
  )}
23
23
  {...restProps}
@@ -17,7 +17,7 @@
17
17
  <th
18
18
  bind:this={ref}
19
19
  class={cn(
20
- 'h-(--era-h-control) px-(--era-inset-control) text-left align-middle font-medium text-muted [table[data-variant=cells]_&]:rounded-(--era-rd-chip) [table[data-variant=cells]_&]:bg-fill [table[data-variant=cells]_&]:px-(--era-inset-chip) [table[data-variant=cells]_&]:text-bright [table[data-variant=cells]_&]:shadow-(--era-shadow)',
20
+ 'h-control px-inset-control text-left align-middle font-medium text-muted [table[data-variant=cells]_&]:rounded-chip [table[data-variant=cells]_&]:bg-fill [table[data-variant=cells]_&]:px-inset-chip [table[data-variant=cells]_&]:text-bright [table[data-variant=cells]_&]:shadow-sm',
21
21
  className
22
22
  )}
23
23
  {...restProps}
@@ -17,7 +17,7 @@
17
17
  <tr
18
18
  bind:this={ref}
19
19
  class={cn(
20
- 'transition-colors duration-(--era-duration) [table:not([data-variant=cells])_&]:hover:bg-(--era-highlight) [table:not([data-variant=cells])_&>td]:border-b [table:not([data-variant=cells])_&>td]:border-[color-mix(in_oklch,var(--era-divider-color)_40%,transparent)] [table:not([data-variant=cells])_&>th]:border-b [table:not([data-variant=cells])_&>th]:border-[color-mix(in_oklch,var(--era-divider-color)_40%,transparent)]',
20
+ 'transition-colors duration-base [table:not([data-variant=cells])_&]:hover:bg-highlight [table:not([data-variant=cells])_&>td]:border-b [table:not([data-variant=cells])_&>td]:border-[color-mix(in_oklch,var(--era-divider-color)_40%,transparent)] [table:not([data-variant=cells])_&>th]:border-b [table:not([data-variant=cells])_&>th]:border-[color-mix(in_oklch,var(--era-divider-color)_40%,transparent)]',
21
21
  className
22
22
  )}
23
23
  {...restProps}
@@ -8,7 +8,7 @@
8
8
  <TimeField.Segment
9
9
  bind:ref
10
10
  class={cn(
11
- 'inline-flex h-(--era-h-chip) items-center rounded-(--era-rd-chip) px-[calc(var(--era-sp)/2)] focus:bg-(--era-highlight) focus:text-bright focus:outline-none aria-[valuetext=Empty]:text-muted data-[segment=literal]:text-muted',
11
+ 'inline-flex h-chip items-center rounded-chip px-[calc(var(--era-sp)/2)] focus:bg-highlight focus:text-bright focus:outline-none aria-[valuetext=Empty]:text-muted data-[segment=literal]:text-muted',
12
12
  className
13
13
  )}
14
14
  {...restProps}
@@ -12,7 +12,7 @@
12
12
  <TimeRangeField.Segment
13
13
  bind:ref
14
14
  class={cn(
15
- 'inline-flex h-(--era-h-chip) items-center rounded-(--era-rd-chip) px-[calc(var(--era-sp)/2)] focus:bg-(--era-highlight) focus:text-bright focus:outline-none aria-[valuetext=Empty]:text-muted data-[segment=literal]:text-muted',
15
+ 'inline-flex h-chip items-center rounded-chip px-[calc(var(--era-sp)/2)] focus:bg-highlight focus:text-bright focus:outline-none aria-[valuetext=Empty]:text-muted data-[segment=literal]:text-muted',
16
16
  className
17
17
  )}
18
18
  {...restProps}
@@ -10,7 +10,7 @@
10
10
  <ToggleGroup.Item
11
11
  bind:ref
12
12
  class={cn(
13
- 'inline-flex h-(--era-h-control) min-w-(--era-h-control) items-center justify-center rounded-(--era-rd-control) px-(--era-inset-control) text-body text-fg shadow-(--era-shadow) hover:bg-(--era-highlight) hover:shadow-(--era-highlight-shadow) focus:outline-none active:shadow-(--era-shadow-pressed) disabled:opacity-50 data-[state=on]:bg-fill data-[state=on]:text-bright data-[state=on]:shadow-(--era-shadow-pressed)',
13
+ 'inline-flex h-control min-w-control items-center justify-center rounded-control px-inset-control text-body text-fg shadow-sm hover:bg-highlight hover:shadow-highlight focus:outline-none active:shadow-pressed disabled:opacity-50 data-[state=on]:bg-fill data-[state=on]:text-bright data-[state=on]:shadow-pressed',
14
14
  className
15
15
  )}
16
16
  {...restProps}
@@ -12,7 +12,7 @@
12
12
 
13
13
  <ToggleGroup.Root
14
14
  bind:ref
15
- class={cn('inline-flex items-center gap-(--era-gap)', className)}
15
+ class={cn('inline-flex items-center gap-gutter', className)}
16
16
  {...restProps}
17
17
  >
18
18
  {@render children?.()}
@@ -15,7 +15,7 @@
15
15
  <Tooltip.Content
16
16
  bind:ref
17
17
  class={cn(
18
- 'z-50 inline-flex h-(--era-h-pill) items-center gap-(--era-gap) rounded-(--era-rd-pill) bg-(--era-surface-bg-elevated) px-(--era-inset-pill) text-body leading-none whitespace-nowrap text-fg shadow-(--era-shadow-lg) glass-blur has-[svg]:gap-(--era-inset-pill)',
18
+ 'z-50 inline-flex h-pill items-center gap-gutter rounded-pill bg-elevated px-inset-pill text-body leading-none whitespace-nowrap text-fg shadow-lg glass-blur has-[svg]:gap-inset-pill',
19
19
  className
20
20
  )}
21
21
  {sideOffset}