@signal9/era-ui 7.0.0 → 9.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.
- package/dist/ai/artifact/artifact-close.svelte +1 -1
- package/dist/ai/artifact/artifact-content.svelte +1 -1
- package/dist/ai/artifact/artifact-header.svelte +1 -1
- package/dist/ai/artifact/artifact.svelte +1 -1
- package/dist/ai/chain-of-thought/chain-of-thought-step.svelte +1 -1
- package/dist/ai/chain-of-thought/chain-of-thought.svelte +1 -1
- package/dist/ai/checkpoint.svelte +1 -1
- package/dist/ai/confirmation/confirmation-args.svelte +2 -2
- package/dist/ai/confirmation/confirmation.svelte +4 -4
- package/dist/ai/context/context.svelte +1 -1
- package/dist/ai/conversation/conversation-content.svelte +1 -1
- package/dist/ai/conversation/conversation-empty-state.svelte +1 -1
- package/dist/ai/conversation/conversation-scroll-button.svelte +2 -2
- package/dist/ai/conversations/conversations-group.svelte +1 -1
- package/dist/ai/conversations/conversations-item.svelte +7 -7
- package/dist/ai/error-panel/error-panel.svelte +4 -4
- package/dist/ai/image.svelte +1 -1
- package/dist/ai/inline-citation/inline-citation.svelte +2 -2
- package/dist/ai/loader.svelte +1 -1
- package/dist/ai/message/message-branch-selector.svelte +3 -3
- package/dist/ai/message/message-content.svelte +1 -1
- package/dist/ai/message/message-usage.svelte +4 -4
- package/dist/ai/model-selector/model-selector.svelte +1 -1
- package/dist/ai/open-in-chat/open-in-chat.svelte +2 -2
- package/dist/ai/plan/plan-content.svelte +1 -1
- package/dist/ai/plan/plan-header.svelte +2 -2
- package/dist/ai/plan/plan.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input-add-attachments.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input-attachments.svelte +5 -5
- package/dist/ai/prompt-input/prompt-input-submit.svelte +3 -3
- package/dist/ai/prompt-input/prompt-input-textarea.svelte +3 -3
- package/dist/ai/prompt-input/prompt-input.svelte +1 -1
- package/dist/ai/queue/queue-item.svelte +1 -1
- package/dist/ai/queue/queue.svelte +1 -1
- package/dist/ai/reasoning/reasoning-trigger.svelte +1 -1
- package/dist/ai/response/response.svelte +2 -2
- package/dist/ai/run-status/run-status.svelte +5 -5
- package/dist/ai/runtime-feed/runtime-feed-item.svelte +1 -1
- package/dist/ai/sources/source.svelte +1 -1
- package/dist/ai/sources/sources-trigger.svelte +1 -1
- package/dist/ai/structured-value/structured-value.svelte +1 -1
- package/dist/ai/suggestion/suggestion.svelte +2 -2
- package/dist/ai/swarm/swarm-agent.svelte +1 -1
- package/dist/ai/swarm/swarm-artifact.svelte +1 -1
- package/dist/ai/swarm/swarm-barrier.svelte +1 -1
- package/dist/ai/swarm/swarm-barriers.svelte +1 -1
- package/dist/ai/swarm/swarm-counts.svelte +1 -1
- package/dist/ai/swarm/swarm-footer.svelte +1 -1
- package/dist/ai/swarm/swarm-grid.svelte +2 -2
- package/dist/ai/swarm/swarm-header.svelte +1 -1
- package/dist/ai/swarm/swarm-node.svelte +7 -7
- package/dist/ai/swarm/swarm-role.svelte +1 -1
- package/dist/ai/swarm/swarm-root.svelte +1 -1
- package/dist/ai/swarm/swarm-sandbox.svelte +3 -3
- package/dist/ai/swarm/swarm-tree.svelte +1 -1
- package/dist/ai/task/task-content.svelte +1 -1
- package/dist/ai/task/task-trigger.svelte +1 -1
- package/dist/ai/tool/tool-chip.svelte +2 -2
- package/dist/ai/tool/tool-exec.svelte +3 -3
- package/dist/ai/tool/tool-header.svelte +1 -1
- package/dist/ai/web-preview/web-preview.svelte +3 -3
- package/dist/ai/workflow/canvas.svelte +1 -1
- package/dist/ai/workflow/node.svelte +3 -3
- package/dist/apps/llm-shell/llm-shell.svelte +7 -7
- package/dist/apps/notes/editor/slash-menu.svelte +7 -5
- package/dist/apps/notes/note-editor.svelte +7 -364
- package/dist/apps/notes/note-editor.svelte.d.ts +1 -0
- package/dist/apps/notes/notes.svelte +9 -9
- package/dist/dev/audit/audits/_helpers.js +1 -1
- package/dist/dev/audit/audits/resting-gap.js +1 -1
- package/dist/dev/audit/audits/single-glyph-square.js +2 -2
- package/dist/dev/audit-overlay.svelte +7 -7
- package/dist/dev/measure.d.ts +1 -1
- package/dist/dev/measure.js +1 -1
- package/dist/docs/badge.md +1 -1
- package/dist/docs/css-utilities.d.ts +1 -1
- package/dist/docs/css-utilities.js +8 -8
- package/dist/docs/llms-txt.js +1 -1
- package/dist/era-ui.css +1 -1
- package/dist/generated-docs/badge.md +1 -1
- package/dist/generated-docs/bar.md +2 -2
- package/dist/generated-docs/chip.md +1 -1
- package/dist/generated-docs/input.md +1 -1
- package/dist/generated-docs/llms-full.txt +100 -120
- package/dist/generated-docs/llms.txt +12 -13
- package/dist/generated-docs/manifest.json +52 -65
- package/dist/generated-docs/utilities.json +45 -57
- package/dist/generated-docs/utilities.md +87 -106
- package/dist/os/notification-center.svelte +6 -6
- package/dist/os/pane.svelte +7 -5
- package/dist/os/taskbar.svelte +10 -10
- package/dist/os/toast.svelte +3 -3
- package/dist/os/toaster.svelte +1 -1
- package/dist/styles/density.css +93 -67
- package/dist/styles/index.css +89 -101
- package/dist/styles/prose.css +384 -0
- package/dist/styles/surfaces/base.css +3 -3
- package/dist/styles/surfaces/bevel.css +2 -2
- package/dist/ui/accordion/accordion-trigger.svelte +2 -2
- package/dist/ui/alert-dialog/alert-dialog-content.svelte +1 -1
- package/dist/ui/aspect-ratio/aspect-ratio.svelte +1 -1
- package/dist/ui/avatar/avatar-root.svelte +1 -1
- package/dist/ui/badge/badge.svelte +1 -1
- package/dist/ui/badge/badge.svelte.d.ts +1 -1
- package/dist/ui/bar/bar.svelte +23 -15
- package/dist/ui/bar/bar.svelte.d.ts +26 -26
- package/dist/ui/button/button.svelte +1 -1
- package/dist/ui/button/variants.js +18 -18
- package/dist/ui/button-group/button-group.svelte +2 -2
- package/dist/ui/calendar/calendar-day.svelte +1 -1
- package/dist/ui/calendar/calendar-head-cell.svelte +1 -1
- package/dist/ui/calendar/calendar-header.svelte +1 -1
- package/dist/ui/calendar/calendar-next-button.svelte +1 -1
- package/dist/ui/calendar/calendar-prev-button.svelte +1 -1
- package/dist/ui/card/card.svelte +5 -5
- package/dist/ui/card/card.svelte.d.ts +4 -4
- package/dist/ui/checkbox/checkbox.svelte +3 -3
- package/dist/ui/chip/chip.svelte +14 -10
- package/dist/ui/chip/chip.svelte.d.ts +7 -7
- package/dist/ui/code-block/code-block.svelte +6 -6
- package/dist/ui/collapsible/collapsible-trigger.svelte +1 -1
- package/dist/ui/combobox/combobox-content.svelte +1 -1
- package/dist/ui/combobox/combobox-empty.svelte +4 -1
- package/dist/ui/combobox/combobox-group-heading.svelte +4 -1
- package/dist/ui/combobox/combobox-item.svelte +1 -1
- package/dist/ui/combobox/combobox-trigger.svelte +2 -2
- package/dist/ui/command/command-group-heading.svelte +4 -1
- package/dist/ui/command/command-item.svelte +1 -1
- package/dist/ui/command/command-link-item.svelte +1 -1
- package/dist/ui/command/command-root.svelte +1 -1
- package/dist/ui/command-bar/command-bar.svelte +16 -12
- package/dist/ui/context-menu/context-menu-checkbox-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-group-heading.svelte +4 -1
- package/dist/ui/context-menu/context-menu-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-radio-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-trigger.svelte +2 -2
- package/dist/ui/copy-button/copy-button.svelte +2 -2
- package/dist/ui/cycle/cycle.svelte +1 -1
- package/dist/ui/date-field/date-field-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-content.svelte +1 -1
- package/dist/ui/date-picker/date-picker-day.svelte +1 -1
- package/dist/ui/date-picker/date-picker-head-cell.svelte +1 -1
- package/dist/ui/date-picker/date-picker-header.svelte +1 -1
- package/dist/ui/date-picker/date-picker-next-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-prev-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-trigger.svelte +2 -2
- package/dist/ui/date-range-field/date-range-field-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-day.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-head-cell.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-header.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-next-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-prev-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-trigger.svelte +2 -2
- package/dist/ui/dialog/dialog-content.svelte +4 -2
- package/dist/ui/dialog/dialog-header.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-group-heading.svelte +4 -1
- package/dist/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-trigger.svelte +2 -2
- package/dist/ui/file-upload/file-upload.svelte +2 -2
- package/dist/ui/input/input.svelte +3 -3
- package/dist/ui/input/input.svelte.d.ts +1 -1
- package/dist/ui/input/textarea.svelte +1 -1
- package/dist/ui/input/variants.d.ts +24 -24
- package/dist/ui/input/variants.js +9 -9
- package/dist/ui/kv/kv.svelte +2 -2
- package/dist/ui/link-preview/link-preview-content.svelte +1 -1
- package/dist/ui/menubar/menubar-checkbox-item.svelte +1 -1
- package/dist/ui/menubar/menubar-content.svelte +1 -1
- package/dist/ui/menubar/menubar-group-heading.svelte +4 -1
- package/dist/ui/menubar/menubar-item.svelte +1 -1
- package/dist/ui/menubar/menubar-radio-item.svelte +1 -1
- package/dist/ui/menubar/menubar-root.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-trigger.svelte +2 -2
- package/dist/ui/menubar/menubar-trigger.svelte +1 -1
- package/dist/ui/meter/meter.svelte +1 -1
- package/dist/ui/pagination/pagination-next-button.svelte +1 -1
- package/dist/ui/pagination/pagination-prev-button.svelte +1 -1
- package/dist/ui/pane/pane-close.svelte +2 -2
- package/dist/ui/pane/pane-content.svelte +1 -1
- package/dist/ui/pane/pane-handle.svelte +3 -3
- package/dist/ui/pane/pane-root.svelte +12 -12
- package/dist/ui/pane/pane-tab-list.svelte +1 -1
- package/dist/ui/pane/pane-tab-panel.svelte +1 -1
- package/dist/ui/pane/pane-tab.svelte +1 -1
- package/dist/ui/pane/pane.svelte +1 -1
- package/dist/ui/pin-input/pin-input-cell.svelte +1 -1
- package/dist/ui/popover/popover-content.svelte +1 -1
- package/dist/ui/progress/progress.svelte +1 -1
- package/dist/ui/radio-group/radio-group-item.svelte +2 -2
- package/dist/ui/rating-group/rating-group-item.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area-thumb.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area.svelte +1 -1
- package/dist/ui/select/select-content.svelte +1 -1
- package/dist/ui/select/select-group-heading.svelte +4 -1
- package/dist/ui/select/select-item.svelte +1 -1
- package/dist/ui/select/select-trigger.svelte +2 -2
- package/dist/ui/select/select-value.svelte +1 -1
- package/dist/ui/sheet/sheet-content.svelte +3 -3
- package/dist/ui/sheet/sheet-content.svelte.d.ts +6 -6
- package/dist/ui/skeleton/skeleton.svelte +3 -3
- package/dist/ui/skeleton/skeleton.svelte.d.ts +9 -9
- package/dist/ui/slider/slider-range.svelte +1 -1
- package/dist/ui/slider/slider-thumb.svelte +1 -1
- package/dist/ui/step/step-content.svelte +1 -1
- package/dist/ui/step/step-summary.svelte +6 -6
- package/dist/ui/switch/switch.svelte +3 -3
- package/dist/ui/table/table-cell.svelte +1 -1
- package/dist/ui/table/table-head-cell.svelte +1 -1
- package/dist/ui/time-field/time-field-segment.svelte +1 -1
- package/dist/ui/time-range-field/time-range-field-segment.svelte +1 -1
- package/dist/ui/toggle-group/toggle-group-item.svelte +1 -1
- package/dist/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/ui/video-player/video-player.svelte +44 -44
- package/dist/utils/index.js +4 -4
- package/package.json +2 -1
|
@@ -50,18 +50,18 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
50
50
|
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
51
51
|
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
52
52
|
* STRING of text wants, not a single centred glyph.
|
|
53
|
-
* - `
|
|
53
|
+
* - `pill` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
54
54
|
* SMALLEST tier that can hold body text at all: its inset is
|
|
55
|
-
* (h-
|
|
56
|
-
* below (h-
|
|
55
|
+
* (h-pill − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
56
|
+
* below (h-icon) IS the text size and has none left. For compact chrome —
|
|
57
57
|
* a filter that sits level with an xxs icon button, a title bar that
|
|
58
58
|
* shouldn't outweigh the document under it. Side padding is
|
|
59
|
-
* --era-pill-
|
|
59
|
+
* --era-pill-px, exactly what Badge and Chip use, so a field and a pill
|
|
60
60
|
* on this tier read as one family.
|
|
61
61
|
*/
|
|
62
62
|
size: {
|
|
63
|
-
md: "h-(--era-h-
|
|
64
|
-
xxs: "h-(--era-h-
|
|
63
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
|
|
64
|
+
xxs: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
|
|
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-
|
|
72
|
+
auto: "h-auto min-h-(--era-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-
|
|
83
|
+
trailing: "ps-(--era-field-px) pe-(--era-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", {
|
|
@@ -118,18 +118,18 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
118
118
|
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
119
119
|
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
120
120
|
* STRING of text wants, not a single centred glyph.
|
|
121
|
-
* - `
|
|
121
|
+
* - `pill` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
122
122
|
* SMALLEST tier that can hold body text at all: its inset is
|
|
123
|
-
* (h-
|
|
124
|
-
* below (h-
|
|
123
|
+
* (h-pill − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
124
|
+
* below (h-icon) IS the text size and has none left. For compact chrome —
|
|
125
125
|
* a filter that sits level with an xxs icon button, a title bar that
|
|
126
126
|
* shouldn't outweigh the document under it. Side padding is
|
|
127
|
-
* --era-pill-
|
|
127
|
+
* --era-pill-px, exactly what Badge and Chip use, so a field and a pill
|
|
128
128
|
* on this tier read as one family.
|
|
129
129
|
*/
|
|
130
130
|
size: {
|
|
131
|
-
md: "h-(--era-h-
|
|
132
|
-
xxs: "h-(--era-h-
|
|
131
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
|
|
132
|
+
xxs: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
|
|
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-
|
|
140
|
+
auto: "h-auto min-h-(--era-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-
|
|
151
|
+
trailing: "ps-(--era-field-px) pe-(--era-chip-inset-control)";
|
|
152
152
|
none: "px-0";
|
|
153
153
|
};
|
|
154
154
|
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
@@ -186,18 +186,18 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
186
186
|
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
187
187
|
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
188
188
|
* STRING of text wants, not a single centred glyph.
|
|
189
|
-
* - `
|
|
189
|
+
* - `pill` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
190
190
|
* SMALLEST tier that can hold body text at all: its inset is
|
|
191
|
-
* (h-
|
|
192
|
-
* below (h-
|
|
191
|
+
* (h-pill − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
192
|
+
* below (h-icon) IS the text size and has none left. For compact chrome —
|
|
193
193
|
* a filter that sits level with an xxs icon button, a title bar that
|
|
194
194
|
* shouldn't outweigh the document under it. Side padding is
|
|
195
|
-
* --era-pill-
|
|
195
|
+
* --era-pill-px, exactly what Badge and Chip use, so a field and a pill
|
|
196
196
|
* on this tier read as one family.
|
|
197
197
|
*/
|
|
198
198
|
size: {
|
|
199
|
-
md: "h-(--era-h-
|
|
200
|
-
xxs: "h-(--era-h-
|
|
199
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)";
|
|
200
|
+
xxs: "h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)";
|
|
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-
|
|
208
|
+
auto: "h-auto min-h-(--era-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-
|
|
219
|
+
trailing: "ps-(--era-field-px) pe-(--era-chip-inset-control)";
|
|
220
220
|
none: "px-0";
|
|
221
221
|
};
|
|
222
222
|
}, undefined>>;
|
|
@@ -53,18 +53,18 @@ export const inputVariants = tv({
|
|
|
53
53
|
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
54
54
|
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
55
55
|
* STRING of text wants, not a single centred glyph.
|
|
56
|
-
* - `
|
|
56
|
+
* - `pill` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
57
57
|
* SMALLEST tier that can hold body text at all: its inset is
|
|
58
|
-
* (h-
|
|
59
|
-
* below (h-
|
|
58
|
+
* (h-pill − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
59
|
+
* below (h-icon) IS the text size and has none left. For compact chrome —
|
|
60
60
|
* a filter that sits level with an xxs icon button, a title bar that
|
|
61
61
|
* shouldn't outweigh the document under it. Side padding is
|
|
62
|
-
* --era-pill-
|
|
62
|
+
* --era-pill-px, exactly what Badge and Chip use, so a field and a pill
|
|
63
63
|
* on this tier read as one family.
|
|
64
64
|
*/
|
|
65
65
|
size: {
|
|
66
|
-
md: 'h-(--era-h-
|
|
67
|
-
xxs: 'h-(--era-h-
|
|
66
|
+
md: 'h-(--era-h-control) rounded-(--era-rd-control) px-(--era-field-px)',
|
|
67
|
+
xxs: 'h-(--era-h-pill) rounded-(--era-rd-pill) px-(--era-pill-px)'
|
|
68
68
|
},
|
|
69
69
|
/**
|
|
70
70
|
* Height OVERRIDES, for the fields that are not their tier's height. No
|
|
@@ -73,12 +73,12 @@ export const inputVariants = tv({
|
|
|
73
73
|
height: {
|
|
74
74
|
// h-full, NOT a tier height: a bare input's container IS the field, so it
|
|
75
75
|
// takes that container's height. Keeping a tier height here made a bare
|
|
76
|
-
// input inside an h-
|
|
76
|
+
// input inside an h-control Bar overflow it by the bar's border — a −0.5px
|
|
77
77
|
// gap, which is the even-gap law failing by a hair rather than obviously.
|
|
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-
|
|
81
|
+
auto: 'h-auto min-h-(--era-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-
|
|
92
|
+
trailing: 'ps-(--era-field-px) pe-(--era-chip-inset-control)',
|
|
93
93
|
none: 'px-0'
|
|
94
94
|
}
|
|
95
95
|
},
|
package/dist/ui/kv/kv.svelte
CHANGED
|
@@ -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-
|
|
27
|
+
'inline-flex h-(--era-h-pill) shrink-0 items-center overflow-hidden rounded-(--era-rd-pill) bg-fill font-mono text-body era-text-trim leading-none whitespace-nowrap shadow-(--era-shadow)',
|
|
28
28
|
className
|
|
29
29
|
)}
|
|
30
30
|
{...restProps}
|
|
@@ -35,7 +35,7 @@
|
|
|
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
37
|
<span
|
|
38
|
-
class="era-token-ink min-w-(--era-h-
|
|
38
|
+
class="era-token-ink min-w-(--era-h-pill) self-stretch px-(--era-inset-chip) text-muted tabular-nums"
|
|
39
39
|
>{value}</span
|
|
40
40
|
>
|
|
41
41
|
</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-
|
|
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',
|
|
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-
|
|
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)',
|
|
18
18
|
className
|
|
19
19
|
)}
|
|
20
20
|
{...restProps}
|
|
@@ -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-
|
|
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',
|
|
33
33
|
className
|
|
34
34
|
)}
|
|
35
35
|
{sideOffset}
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
<Menubar.GroupHeading
|
|
13
13
|
bind:ref
|
|
14
|
-
class={cn(
|
|
14
|
+
class={cn(
|
|
15
|
+
'flex h-(--era-h-control) items-center px-(--era-inset-control) text-body text-muted',
|
|
16
|
+
className
|
|
17
|
+
)}
|
|
15
18
|
{...restProps}
|
|
16
19
|
/>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<Menubar.Item
|
|
14
14
|
bind:ref
|
|
15
15
|
class={cn(
|
|
16
|
-
'flex h-(--era-h-
|
|
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)',
|
|
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-
|
|
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)',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<Menubar.Root
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'flex h-(--era-h-
|
|
11
|
+
'flex h-(--era-h-bar) items-center rounded-(--era-rd-bar) bg-(--era-surface-bg) px-(--era-gap) shadow-(--era-shadow)',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
|
@@ -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-
|
|
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',
|
|
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-
|
|
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',
|
|
18
18
|
className
|
|
19
19
|
)}
|
|
20
20
|
{...restProps}
|
|
21
21
|
>
|
|
22
22
|
{@render children?.()}
|
|
23
|
-
<ChevronRight class="size-(--era-h-
|
|
23
|
+
<ChevronRight class="size-(--era-h-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-
|
|
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',
|
|
17
17
|
className
|
|
18
18
|
)}
|
|
19
19
|
{...restProps}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
{min}
|
|
21
21
|
{max}
|
|
22
22
|
class={cn(
|
|
23
|
-
'h-(--era-sp) w-full overflow-hidden rounded-(--era-rd-
|
|
23
|
+
'h-(--era-sp) w-full overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well)',
|
|
24
24
|
className
|
|
25
25
|
)}
|
|
26
26
|
{...restProps}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
} = $props();
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
|
-
<!-- A raw icon Button (size="xxs" = h-
|
|
16
|
+
<!-- A raw icon Button (size="xxs" = h-pill, rd-xxs), a tight SQUARE. No
|
|
17
17
|
data-pane-control: it stays in the drag zone, so a press-and-drag moves the
|
|
18
18
|
pane while a clean click still closes (neodrag starts a drag only on
|
|
19
19
|
movement and suppresses the trailing click after a real drag). Its natural
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
xxs rather than the tighter `icon` size, which is what the handle's tier
|
|
24
24
|
asks for. The GLYPH is deliberately OFF the sub-tier ladder: sp+5, where the
|
|
25
|
-
ladder offers sp+4 (12px at dense, the xxs sub-tier) and the h-
|
|
25
|
+
ladder offers sp+4 (12px at dense, the xxs sub-tier) and the h-icon floor
|
|
26
26
|
(14px). Both were tried and both are wrong here by a pixel — 12 reads
|
|
27
27
|
visibly lighter than the reference terminal app's close button, 14 reads
|
|
28
28
|
heavier — and a close button is the one control in the chrome you must be
|
|
@@ -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-
|
|
22
|
+
class={cn('min-h-0 flex-1 overflow-auto overscroll-contain p-(--era-pad-card)', className)}
|
|
23
23
|
{...restProps}
|
|
24
24
|
>
|
|
25
25
|
{@render children?.()}
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
WHOLE top — up to the very top pixel — is draggable. data-pane-handle marks
|
|
29
29
|
it as the neodrag allow-zone. Transparent over the pane's rounded surface:
|
|
30
30
|
the TOP corners defer to the pane radius, while the BOTTOM corners round to
|
|
31
|
-
--era-rd-
|
|
31
|
+
--era-rd-control — so the inset divider curves up at the ends and the bar reads
|
|
32
32
|
as a long pill. The corners axis collapses the radius to 0 in square mode,
|
|
33
33
|
so it's flat there and pill-shaped only when rounded.
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
control ⊃ pill, not chip ⊃ icon: a title bar is the densest chrome in the library and
|
|
36
36
|
was a tier too short for it — 22px at dense against the 24 the reference
|
|
37
37
|
terminal app uses, with 14px controls where it uses 18. The pairing is what
|
|
38
|
-
carries that: content="xxs" puts the walls on --era-
|
|
38
|
+
carries that: content="xxs" puts the walls on --era-pill-inset-control (3/5/7/11),
|
|
39
39
|
which is the 3px that app hardcodes for exactly this bar. -->
|
|
40
40
|
<Bar
|
|
41
41
|
bind:ref
|
|
@@ -327,25 +327,25 @@
|
|
|
327
327
|
dir: 'n',
|
|
328
328
|
cursor: 'cursor-ns-resize',
|
|
329
329
|
place:
|
|
330
|
-
'top:0;left:var(--era-
|
|
330
|
+
'top:0;left:var(--era-icon-inset-chip);right:var(--era-icon-inset-chip);translate:0 -100%;height:var(--era-icon-inset-chip)'
|
|
331
331
|
},
|
|
332
332
|
{
|
|
333
333
|
dir: 's',
|
|
334
334
|
cursor: 'cursor-ns-resize',
|
|
335
335
|
place:
|
|
336
|
-
'bottom:0;left:var(--era-
|
|
336
|
+
'bottom:0;left:var(--era-icon-inset-chip);right:var(--era-icon-inset-chip);translate:0 50%;height:calc(var(--era-icon-inset-chip)*2)'
|
|
337
337
|
},
|
|
338
338
|
{
|
|
339
339
|
dir: 'w',
|
|
340
340
|
cursor: 'cursor-ew-resize',
|
|
341
341
|
place:
|
|
342
|
-
'left:0;top:var(--era-
|
|
342
|
+
'left:0;top:var(--era-icon-inset-chip);bottom:var(--era-icon-inset-chip);translate:-100% 0;width:var(--era-icon-inset-chip)'
|
|
343
343
|
},
|
|
344
344
|
{
|
|
345
345
|
dir: 'e',
|
|
346
346
|
cursor: 'cursor-ew-resize',
|
|
347
347
|
place:
|
|
348
|
-
'right:0;top:var(--era-
|
|
348
|
+
'right:0;top:var(--era-icon-inset-chip);bottom:var(--era-icon-inset-chip);translate:50% 0;width:calc(var(--era-icon-inset-chip)*2)'
|
|
349
349
|
},
|
|
350
350
|
// corners LAST — a square at each corner (diagonal gap filler), painted
|
|
351
351
|
// above the edges so the red grab zone is always on top of the blue.
|
|
@@ -353,19 +353,19 @@
|
|
|
353
353
|
dir: 'nw',
|
|
354
354
|
cursor: 'cursor-nwse-resize',
|
|
355
355
|
place:
|
|
356
|
-
'top:0;left:0;translate:-50% -50%;width:calc(var(--era-
|
|
356
|
+
'top:0;left:0;translate:-50% -50%;width:calc(var(--era-icon-inset-chip)*2);height:calc(var(--era-icon-inset-chip)*2)'
|
|
357
357
|
},
|
|
358
358
|
{
|
|
359
359
|
dir: 'ne',
|
|
360
360
|
cursor: 'cursor-nesw-resize',
|
|
361
361
|
place:
|
|
362
|
-
'top:0;right:0;translate:50% -50%;width:calc(var(--era-
|
|
362
|
+
'top:0;right:0;translate:50% -50%;width:calc(var(--era-icon-inset-chip)*2);height:calc(var(--era-icon-inset-chip)*2)'
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
365
|
dir: 'sw',
|
|
366
366
|
cursor: 'cursor-nesw-resize',
|
|
367
367
|
place:
|
|
368
|
-
'bottom:0;left:0;translate:-50% 50%;width:calc(var(--era-
|
|
368
|
+
'bottom:0;left:0;translate:-50% 50%;width:calc(var(--era-icon-inset-chip)*2);height:calc(var(--era-icon-inset-chip)*2)'
|
|
369
369
|
},
|
|
370
370
|
{
|
|
371
371
|
// All four corners straddle (translate ±50%): 6px out AND 6px in, so they
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
dir: 'se',
|
|
374
374
|
cursor: 'cursor-nwse-resize',
|
|
375
375
|
place:
|
|
376
|
-
'bottom:0;right:0;translate:50% 50%;width:calc(var(--era-
|
|
376
|
+
'bottom:0;right:0;translate:50% 50%;width:calc(var(--era-icon-inset-chip)*2);height:calc(var(--era-icon-inset-chip)*2)'
|
|
377
377
|
}
|
|
378
378
|
];
|
|
379
379
|
|
|
@@ -473,9 +473,9 @@
|
|
|
473
473
|
//
|
|
474
474
|
// rd-md, NOT rd-lg: a container's radius follows its corner REGION's tier,
|
|
475
475
|
// not its overall size. The pane's corners are formed by the grab bar, which
|
|
476
|
-
// is h-
|
|
477
|
-
// rd-T = R + (h-T − h-
|
|
478
|
-
// --era-
|
|
476
|
+
// is h-control holding h-pill controls (the ×) — and the radius ladder is
|
|
477
|
+
// rd-T = R + (h-T − h-icon)/2, so rd-md − rd-xxs is exactly (h-control − h-pill)/2 =
|
|
478
|
+
// --era-pill-inset-control, the gap the × already sits at from the corner. The ×'s
|
|
479
479
|
// natural rd-xxs is therefore concentric inside rd-md by construction, the
|
|
480
480
|
// same way rd-xs was inside rd-sm before the handle moved up a tier.
|
|
481
481
|
// A hairline edge, because a floating pane is the one thing that must be
|
|
@@ -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-
|
|
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]',
|
|
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
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
history y) are at risk at the clip edge. The real fix is on the tab itself —
|
|
72
72
|
PaneTab cancels Tabs.Trigger's era-text-trim, which had pulled the box up to
|
|
73
73
|
the baseline and fed the clip its descenders. The py-0.5 that used to back
|
|
74
|
-
that up is gone with it: the tab is now h-
|
|
74
|
+
that up is gone with it: the tab is now h-pill, so its own box holds the line
|
|
75
75
|
box with room to spare and the clip edge sits a wall away. -->
|
|
76
76
|
<Tabs.List
|
|
77
77
|
bind:ref
|
|
@@ -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-
|
|
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',
|
|
27
27
|
className
|
|
28
28
|
)}
|
|
29
29
|
{...restProps}
|
package/dist/ui/pane/pane.svelte
CHANGED
|
@@ -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-
|
|
87
|
+
{#if icon}{@const Icon = icon}<Icon class="size-(--era-h-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-
|
|
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)',
|
|
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-
|
|
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',
|
|
26
26
|
className
|
|
27
27
|
)}
|
|
28
28
|
{sideOffset}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
{min}
|
|
21
21
|
{max}
|
|
22
22
|
class={cn(
|
|
23
|
-
'h-(--era-sp) w-full overflow-hidden rounded-(--era-rd-
|
|
23
|
+
'h-(--era-sp) w-full overflow-hidden rounded-(--era-rd-control) bg-(--era-surface-bg-elevated) shadow-(--era-shadow-well)',
|
|
24
24
|
className
|
|
25
25
|
)}
|
|
26
26
|
{...restProps}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
<RadioGroup.Item
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'group/radio flex size-(--era-h-
|
|
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)',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
|
15
15
|
>
|
|
16
16
|
<span
|
|
17
|
-
class="block size-1/2 rounded-(--era-rd-
|
|
17
|
+
class="block size-1/2 rounded-(--era-rd-control) transition-colors duration-(--era-duration) group-data-[state=checked]/radio:bg-fg"
|
|
18
18
|
></span>
|
|
19
19
|
</RadioGroup.Item>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<RatingGroup.Item
|
|
11
11
|
bind:ref
|
|
12
12
|
class={cn(
|
|
13
|
-
'inline-flex size-(--era-h-
|
|
13
|
+
'inline-flex size-(--era-h-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}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
// 2px frame that stops a full-width highlight from breaking their chrome.
|
|
29
29
|
// A fixed gutter was tried here and rejected: it padded flat menus too.
|
|
30
30
|
class={cn(
|
|
31
|
-
'z-50 w-max min-w-(--bits-select-anchor-width) overflow-hidden rounded-(--era-rd-
|
|
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
32
|
className
|
|
33
33
|
)}
|
|
34
34
|
{sideOffset}
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
<Select.GroupHeading
|
|
14
14
|
bind:ref
|
|
15
|
-
class={cn(
|
|
15
|
+
class={cn(
|
|
16
|
+
'flex h-(--era-h-control) items-center px-(--era-inset-control) text-body text-muted',
|
|
17
|
+
className
|
|
18
|
+
)}
|
|
16
19
|
{...restProps}
|
|
17
20
|
>
|
|
18
21
|
{@render children?.()}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<Select.Item
|
|
11
11
|
bind:ref
|
|
12
12
|
class={cn(
|
|
13
|
-
'flex h-(--era-h-
|
|
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)',
|
|
14
14
|
className
|
|
15
15
|
)}
|
|
16
16
|
{...restProps}
|