@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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
2
2
|
size: {
|
|
3
|
-
sm: "h-(--era-h-
|
|
4
|
-
md: "h-(--era-h-
|
|
5
|
-
lg: "h-(--era-h-
|
|
3
|
+
sm: "h-(--era-h-chip) rounded-(--era-rd-chip)";
|
|
4
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control)";
|
|
5
|
+
lg: "h-(--era-h-bar) rounded-(--era-rd-bar)";
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
8
|
* The tier of the CONTROLS inside, because that is what the bar's own
|
|
@@ -12,14 +12,14 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
12
12
|
* had each restated the two-tier value by hand, and the geometry spec had
|
|
13
13
|
* been rewritten twice chasing which token they were restating.
|
|
14
14
|
*
|
|
15
|
-
* - `tier` (default) — one tier smaller, the pairing above.
|
|
16
|
-
* and
|
|
17
|
-
* - `
|
|
15
|
+
* - `tier` (default) — one tier smaller, the pairing above. chip⊃icon, control⊃chip
|
|
16
|
+
* and bar⊃control all equal sp/2, which is why one token covers every size.
|
|
17
|
+
* - `pill` — the compact pairing: pills and fields (a filter beside an
|
|
18
18
|
* xxs icon button, a title bar). Two tiers down, so the inset differs
|
|
19
19
|
* per size and comes from the compounds below.
|
|
20
20
|
*/
|
|
21
21
|
content: {
|
|
22
|
-
tier: "gap-(--era-
|
|
22
|
+
tier: "gap-(--era-icon-inset-chip) px-(--era-icon-inset-chip)";
|
|
23
23
|
xxs: "";
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
@@ -41,14 +41,14 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
41
41
|
* both. Collapses to flat in square mode like every radius.
|
|
42
42
|
*/
|
|
43
43
|
divider: {
|
|
44
|
-
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-
|
|
44
|
+
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-control) [box-shadow:0_1px_0_var(--color-divider-faded)]";
|
|
45
45
|
false: "";
|
|
46
46
|
};
|
|
47
47
|
}, undefined, "flex items-center era-text-trim", {
|
|
48
48
|
size: {
|
|
49
|
-
sm: "h-(--era-h-
|
|
50
|
-
md: "h-(--era-h-
|
|
51
|
-
lg: "h-(--era-h-
|
|
49
|
+
sm: "h-(--era-h-chip) rounded-(--era-rd-chip)";
|
|
50
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control)";
|
|
51
|
+
lg: "h-(--era-h-bar) rounded-(--era-rd-bar)";
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
54
|
* The tier of the CONTROLS inside, because that is what the bar's own
|
|
@@ -58,14 +58,14 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
58
58
|
* had each restated the two-tier value by hand, and the geometry spec had
|
|
59
59
|
* been rewritten twice chasing which token they were restating.
|
|
60
60
|
*
|
|
61
|
-
* - `tier` (default) — one tier smaller, the pairing above.
|
|
62
|
-
* and
|
|
63
|
-
* - `
|
|
61
|
+
* - `tier` (default) — one tier smaller, the pairing above. chip⊃icon, control⊃chip
|
|
62
|
+
* and bar⊃control all equal sp/2, which is why one token covers every size.
|
|
63
|
+
* - `pill` — the compact pairing: pills and fields (a filter beside an
|
|
64
64
|
* xxs icon button, a title bar). Two tiers down, so the inset differs
|
|
65
65
|
* per size and comes from the compounds below.
|
|
66
66
|
*/
|
|
67
67
|
content: {
|
|
68
|
-
tier: "gap-(--era-
|
|
68
|
+
tier: "gap-(--era-icon-inset-chip) px-(--era-icon-inset-chip)";
|
|
69
69
|
xxs: "";
|
|
70
70
|
};
|
|
71
71
|
/**
|
|
@@ -87,14 +87,14 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
87
87
|
* both. Collapses to flat in square mode like every radius.
|
|
88
88
|
*/
|
|
89
89
|
divider: {
|
|
90
|
-
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-
|
|
90
|
+
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-control) [box-shadow:0_1px_0_var(--color-divider-faded)]";
|
|
91
91
|
false: "";
|
|
92
92
|
};
|
|
93
93
|
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
94
94
|
size: {
|
|
95
|
-
sm: "h-(--era-h-
|
|
96
|
-
md: "h-(--era-h-
|
|
97
|
-
lg: "h-(--era-h-
|
|
95
|
+
sm: "h-(--era-h-chip) rounded-(--era-rd-chip)";
|
|
96
|
+
md: "h-(--era-h-control) rounded-(--era-rd-control)";
|
|
97
|
+
lg: "h-(--era-h-bar) rounded-(--era-rd-bar)";
|
|
98
98
|
};
|
|
99
99
|
/**
|
|
100
100
|
* The tier of the CONTROLS inside, because that is what the bar's own
|
|
@@ -104,14 +104,14 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
104
104
|
* had each restated the two-tier value by hand, and the geometry spec had
|
|
105
105
|
* been rewritten twice chasing which token they were restating.
|
|
106
106
|
*
|
|
107
|
-
* - `tier` (default) — one tier smaller, the pairing above.
|
|
108
|
-
* and
|
|
109
|
-
* - `
|
|
107
|
+
* - `tier` (default) — one tier smaller, the pairing above. chip⊃icon, control⊃chip
|
|
108
|
+
* and bar⊃control all equal sp/2, which is why one token covers every size.
|
|
109
|
+
* - `pill` — the compact pairing: pills and fields (a filter beside an
|
|
110
110
|
* xxs icon button, a title bar). Two tiers down, so the inset differs
|
|
111
111
|
* per size and comes from the compounds below.
|
|
112
112
|
*/
|
|
113
113
|
content: {
|
|
114
|
-
tier: "gap-(--era-
|
|
114
|
+
tier: "gap-(--era-icon-inset-chip) px-(--era-icon-inset-chip)";
|
|
115
115
|
xxs: "";
|
|
116
116
|
};
|
|
117
117
|
/**
|
|
@@ -133,7 +133,7 @@ export declare const barVariants: import("tailwind-variants").TVReturnType<{
|
|
|
133
133
|
* both. Collapses to flat in square mode like every radius.
|
|
134
134
|
*/
|
|
135
135
|
divider: {
|
|
136
|
-
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-
|
|
136
|
+
true: "shrink-0 rounded-t-none rounded-b-(--era-rd-control) [box-shadow:0_1px_0_var(--color-divider-faded)]";
|
|
137
137
|
false: "";
|
|
138
138
|
};
|
|
139
139
|
}, undefined>>;
|
|
@@ -145,8 +145,8 @@ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
|
145
145
|
size?: 'sm' | 'md' | 'lg';
|
|
146
146
|
/**
|
|
147
147
|
* Tier of the controls inside — drives the bar's padding and gap so they
|
|
148
|
-
* stay concentric to them. `tier` (default) is one tier smaller; `
|
|
149
|
-
* the compact pairing (
|
|
148
|
+
* stay concentric to them. `tier` (default) is one tier smaller; `pill` is
|
|
149
|
+
* the compact pairing (pills/fields in an sm or md bar).
|
|
150
150
|
*/
|
|
151
151
|
content?: 'tier' | 'xxs';
|
|
152
152
|
/** The flush cap-a-panel chrome: outset divider below, bottom rd-md. */
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
-->
|
|
73
73
|
<span data-button-content class="inline-flex items-center justify-center [gap:inherit]">
|
|
74
74
|
{#if loading}
|
|
75
|
-
<LoaderCircle class="size-(--era-h-
|
|
75
|
+
<LoaderCircle class="size-(--era-h-icon) shrink-0 animate-spin" aria-hidden="true" />
|
|
76
76
|
{#if loadingLabel}<span class="sr-only">{loadingLabel}</span>{/if}
|
|
77
77
|
{/if}
|
|
78
78
|
{@render children?.()}
|
|
@@ -25,27 +25,27 @@ export const buttonVariants = tv({
|
|
|
25
25
|
{
|
|
26
26
|
variant: 'filled',
|
|
27
27
|
size: 'default',
|
|
28
|
-
class: 'h-(--era-h-
|
|
28
|
+
class: 'h-(--era-h-control) min-w-(--era-h-control) rounded-(--era-rd-control)'
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
variant: 'filled',
|
|
32
32
|
size: 'sm',
|
|
33
|
-
class: 'h-(--era-h-
|
|
33
|
+
class: 'h-(--era-h-chip) min-w-(--era-h-chip) rounded-(--era-rd-chip)'
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
variant: 'filled',
|
|
37
37
|
size: 'xxs',
|
|
38
|
-
class: 'h-(--era-h-
|
|
38
|
+
class: 'h-(--era-h-pill) min-w-(--era-h-pill) rounded-(--era-rd-pill)'
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
variant: 'filled',
|
|
42
42
|
size: 'xs',
|
|
43
|
-
class: 'h-(--era-h-
|
|
43
|
+
class: 'h-(--era-h-icon) min-w-(--era-h-icon) rounded-(--era-rd-icon)'
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
variant: 'filled',
|
|
47
47
|
size: 'icon',
|
|
48
|
-
class: 'h-(--era-h-
|
|
48
|
+
class: 'h-(--era-h-icon) min-w-(--era-h-icon) rounded-(--era-rd-icon)'
|
|
49
49
|
},
|
|
50
50
|
// filled insets; icon buttons go square instead. When an icon is present,
|
|
51
51
|
// gap widens to match the wall inset so the icon sits in rhythm with it.
|
|
@@ -53,23 +53,23 @@ export const buttonVariants = tv({
|
|
|
53
53
|
variant: 'filled',
|
|
54
54
|
icon: false,
|
|
55
55
|
size: 'default',
|
|
56
|
-
class: 'px-(--era-inset-
|
|
56
|
+
class: 'px-(--era-inset-control) has-[svg]:gap-(--era-inset-control)'
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
variant: 'filled',
|
|
60
60
|
icon: false,
|
|
61
61
|
size: 'sm',
|
|
62
|
-
class: 'px-(--era-inset-
|
|
62
|
+
class: 'px-(--era-inset-chip) has-[svg]:gap-(--era-inset-chip)'
|
|
63
63
|
},
|
|
64
|
-
{ variant: 'filled', icon: false, size: 'xxs', class: 'px-(--era-pill-
|
|
65
|
-
{ variant: 'filled', icon: false, size: 'xs', class: 'px-(--era-
|
|
66
|
-
{ variant: 'filled', icon: false, size: 'icon', class: 'px-(--era-
|
|
64
|
+
{ variant: 'filled', icon: false, size: 'xxs', class: 'px-(--era-pill-px)' },
|
|
65
|
+
{ variant: 'filled', icon: false, size: 'xs', class: 'px-(--era-gap)' },
|
|
66
|
+
{ variant: 'filled', icon: false, size: 'icon', class: 'px-(--era-gap)' },
|
|
67
67
|
{ variant: 'filled', icon: true, class: 'aspect-square px-0' },
|
|
68
|
-
// Icon glyph sizing. The glyph is the icon tier (h-
|
|
68
|
+
// Icon glyph sizing. The glyph is the icon tier (h-icon) at default/sm —
|
|
69
69
|
// matching every text button's icon — but at the tight tiers, where the box
|
|
70
|
-
// itself nears h-
|
|
70
|
+
// itself nears h-icon, it steps below the legibility floor so it doesn't fill
|
|
71
71
|
// the box: sp+4 in xxs (pad 3), sp+2 in xs/icon (pad 2). Scoped to icon:true
|
|
72
|
-
// so text+icon buttons keep their h-
|
|
72
|
+
// so text+icon buttons keep their h-icon glyph. The descendant selector
|
|
73
73
|
// outranks the consumer's own size-* on the svg, so no call site changes.
|
|
74
74
|
//
|
|
75
75
|
// default/sm were DESCRIBED by the comment above but had no rule, so an
|
|
@@ -78,11 +78,11 @@ export const buttonVariants = tv({
|
|
|
78
78
|
// notes "new note" button rendered a 24px glyph in a 24px box — flush,
|
|
79
79
|
// no padding at all. Stating them makes the documented intent real and
|
|
80
80
|
// removes the dependency on every call site remembering.
|
|
81
|
-
{ icon: true, size: 'default', class: '[&_svg]:size-(--era-h-
|
|
82
|
-
{ icon: true, size: 'sm', class: '[&_svg]:size-(--era-h-
|
|
83
|
-
{ icon: true, size: 'xxs', class: '[&_svg]:size-(--era-
|
|
84
|
-
{ icon: true, size: 'xs', class: '[&_svg]:size-(--era-icon
|
|
85
|
-
{ icon: true, size: 'icon', class: '[&_svg]:size-(--era-icon
|
|
81
|
+
{ icon: true, size: 'default', class: '[&_svg]:size-(--era-h-icon)' },
|
|
82
|
+
{ icon: true, size: 'sm', class: '[&_svg]:size-(--era-h-icon)' },
|
|
83
|
+
{ icon: true, size: 'xxs', class: '[&_svg]:size-(--era-glyph-pill)' },
|
|
84
|
+
{ icon: true, size: 'xs', class: '[&_svg]:size-(--era-glyph-icon)' },
|
|
85
|
+
{ icon: true, size: 'icon', class: '[&_svg]:size-(--era-glyph-icon)' },
|
|
86
86
|
// filled tones
|
|
87
87
|
{
|
|
88
88
|
variant: 'filled',
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
// shrink-0: a segmented control is its buttons' width — Badge/Chip's law
|
|
23
23
|
// one tier up. Squeezed, its rounded fill slid out from under the end
|
|
24
24
|
// buttons (measured 4px at touch on the board).
|
|
25
|
-
'flex shrink-0 gap-(--era-
|
|
25
|
+
'flex shrink-0 gap-(--era-icon-inset-chip)',
|
|
26
26
|
orientation === 'vertical'
|
|
27
|
-
? 'flex-col items-stretch p-(--era-
|
|
27
|
+
? 'flex-col items-stretch p-(--era-icon-inset-chip) [&>*]:justify-start'
|
|
28
28
|
: 'items-center',
|
|
29
29
|
className
|
|
30
30
|
)}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<Calendar.Day
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'inline-flex size-(--era-h-
|
|
11
|
+
'inline-flex size-(--era-h-control) cursor-default items-center justify-center rounded-(--era-rd-control) text-body text-fg hover:bg-(--era-highlight) focus:outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[outside-month]:pointer-events-none data-[outside-month]:text-muted/40 data-[selected]:bg-hover data-[selected]:text-bright data-[unavailable]:text-muted data-[unavailable]:line-through',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<Calendar.HeadCell
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'flex size-(--era-h-
|
|
11
|
+
'flex size-(--era-h-control) items-center justify-center text-body font-normal text-muted',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
package/dist/ui/card/card.svelte
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { cn, tv } from '../../utils/index.js';
|
|
3
3
|
|
|
4
4
|
export const cardVariants = tv({
|
|
5
|
-
base: 'block w-full rounded-(--era-rd-
|
|
5
|
+
base: 'block w-full rounded-(--era-rd-bar) text-left text-fg',
|
|
6
6
|
variants: {
|
|
7
7
|
tone: {
|
|
8
8
|
elevated: 'bg-(--era-surface-bg-elevated) shadow-(--era-shadow)',
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
// reported it as "cards aren't evenly spaced", which is exactly what it
|
|
32
32
|
// was: the even-gap law, broken by default, in the component that
|
|
33
33
|
// bounds more consumer content than any other.
|
|
34
|
-
sectioned: { true: 'p-0', false: 'p-(--era-pad-
|
|
34
|
+
sectioned: { true: 'p-0', false: 'p-(--era-pad-card)' },
|
|
35
35
|
interactive: {
|
|
36
36
|
true: 'cursor-pointer hover:bg-(--era-highlight) hover:shadow-(--era-highlight-shadow) focus-visible:bg-(--era-highlight) era-interactive aria-disabled:cursor-not-allowed aria-disabled:opacity-50'
|
|
37
37
|
}
|
|
@@ -113,15 +113,15 @@
|
|
|
113
113
|
{#snippet body()}
|
|
114
114
|
{#if sectioned}
|
|
115
115
|
{#if header}
|
|
116
|
-
<div class="border-b border-divider-faded p-(--era-pad-
|
|
116
|
+
<div class="border-b border-divider-faded p-(--era-pad-card) text-bright">
|
|
117
117
|
{@render header()}
|
|
118
118
|
</div>
|
|
119
119
|
{/if}
|
|
120
|
-
<div class="p-(--era-pad-
|
|
120
|
+
<div class="p-(--era-pad-card)">
|
|
121
121
|
{@render children?.()}
|
|
122
122
|
</div>
|
|
123
123
|
{#if footer}
|
|
124
|
-
<div class="border-t border-divider-faded p-(--era-pad-
|
|
124
|
+
<div class="border-t border-divider-faded p-(--era-pad-card)">
|
|
125
125
|
{@render footer()}
|
|
126
126
|
</div>
|
|
127
127
|
{/if}
|
|
@@ -7,12 +7,12 @@ export declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
7
7
|
};
|
|
8
8
|
sectioned: {
|
|
9
9
|
true: "p-0";
|
|
10
|
-
false: "p-(--era-pad-
|
|
10
|
+
false: "p-(--era-pad-card)";
|
|
11
11
|
};
|
|
12
12
|
interactive: {
|
|
13
13
|
true: "cursor-pointer hover:bg-(--era-highlight) hover:shadow-(--era-highlight-shadow) focus-visible:bg-(--era-highlight) era-interactive aria-disabled:cursor-not-allowed aria-disabled:opacity-50";
|
|
14
14
|
};
|
|
15
|
-
}, undefined, "block w-full rounded-(--era-rd-
|
|
15
|
+
}, undefined, "block w-full rounded-(--era-rd-bar) text-left text-fg", {
|
|
16
16
|
tone: {
|
|
17
17
|
elevated: "bg-(--era-surface-bg-elevated) shadow-(--era-shadow)";
|
|
18
18
|
surface: "bg-(--era-surface-bg)";
|
|
@@ -21,7 +21,7 @@ export declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
21
21
|
};
|
|
22
22
|
sectioned: {
|
|
23
23
|
true: "p-0";
|
|
24
|
-
false: "p-(--era-pad-
|
|
24
|
+
false: "p-(--era-pad-card)";
|
|
25
25
|
};
|
|
26
26
|
interactive: {
|
|
27
27
|
true: "cursor-pointer hover:bg-(--era-highlight) hover:shadow-(--era-highlight-shadow) focus-visible:bg-(--era-highlight) era-interactive aria-disabled:cursor-not-allowed aria-disabled:opacity-50";
|
|
@@ -35,7 +35,7 @@ export declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
35
35
|
};
|
|
36
36
|
sectioned: {
|
|
37
37
|
true: "p-0";
|
|
38
|
-
false: "p-(--era-pad-
|
|
38
|
+
false: "p-(--era-pad-card)";
|
|
39
39
|
};
|
|
40
40
|
interactive: {
|
|
41
41
|
true: "cursor-pointer hover:bg-(--era-highlight) hover:shadow-(--era-highlight-shadow) focus-visible:bg-(--era-highlight) era-interactive aria-disabled:cursor-not-allowed aria-disabled:opacity-50";
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
bind:checked
|
|
19
19
|
bind:indeterminate
|
|
20
20
|
class={cn(
|
|
21
|
-
'group/checkbox flex size-(--era-h-
|
|
21
|
+
'group/checkbox 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)',
|
|
22
22
|
className
|
|
23
23
|
)}
|
|
24
24
|
{...restProps}
|
|
25
25
|
>
|
|
26
26
|
{#snippet children({ checked, indeterminate })}
|
|
27
27
|
{#if indeterminate}
|
|
28
|
-
<Minus class="size-[calc(var(--era-h-
|
|
28
|
+
<Minus class="size-[calc(var(--era-h-icon)*0.75)] text-fg" />
|
|
29
29
|
{:else if checked}
|
|
30
|
-
<Check class="size-[calc(var(--era-h-
|
|
30
|
+
<Check class="size-[calc(var(--era-h-icon)*0.75)] text-fg" />
|
|
31
31
|
{/if}
|
|
32
32
|
{/snippet}
|
|
33
33
|
</Checkbox.Root>
|
package/dist/ui/chip/chip.svelte
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
// ~2× the vertical inset — see density.css) so words breathe, and both
|
|
6
6
|
// nesting an xs dismiss button with the concentric xs-inset-T gap so the
|
|
7
7
|
// even-gap law holds at either size:
|
|
8
|
-
// sm (default) — the standalone free chip (h-
|
|
8
|
+
// sm (default) — the standalone free chip (h-chip = 2·sp + 6). Switch
|
|
9
9
|
// track / KV row tier.
|
|
10
10
|
// xxs — the pill that nests INSIDE an md container (button,
|
|
11
|
-
// select trigger): h-
|
|
11
|
+
// select trigger): h-pill = sp + 10, leaving the 3/5/7
|
|
12
12
|
// concentric gap so it sits evenly inset, not cramped.
|
|
13
13
|
export const chipVariants = tv({
|
|
14
14
|
// shrink-0 + nowrap for the same reason Badge carries them: the pill is
|
|
@@ -16,19 +16,19 @@
|
|
|
16
16
|
base: 'inline-flex shrink-0 items-center bg-fill font-mono text-body leading-none whitespace-nowrap text-fg shadow-(--era-shadow) era-text-trim',
|
|
17
17
|
variants: {
|
|
18
18
|
size: {
|
|
19
|
-
sm: 'h-(--era-h-
|
|
20
|
-
xxs: 'h-(--era-h-
|
|
19
|
+
sm: 'h-(--era-h-chip) min-w-(--era-h-chip) rounded-(--era-rd-chip) pl-(--era-chip-px)',
|
|
20
|
+
xxs: 'h-(--era-h-pill) min-w-(--era-h-pill) rounded-(--era-rd-pill) pl-(--era-pill-px)'
|
|
21
21
|
},
|
|
22
22
|
dismissible: { true: '', false: '' }
|
|
23
23
|
},
|
|
24
24
|
compoundVariants: [
|
|
25
25
|
// Text-only: symmetric pill padding, inter-element gap for a lead icon.
|
|
26
|
-
{ size: 'sm', dismissible: false, class: 'gap-(--era-gap) pr-(--era-
|
|
27
|
-
{ size: 'xxs', dismissible: false, class: 'gap-(--era-gap) pr-(--era-pill-
|
|
26
|
+
{ size: 'sm', dismissible: false, class: 'gap-(--era-gap) pr-(--era-chip-px)' },
|
|
27
|
+
{ size: 'xxs', dismissible: false, class: 'gap-(--era-gap) pr-(--era-pill-px)' },
|
|
28
28
|
// Dismissible, two geometries because the two tiers afford different ones:
|
|
29
29
|
//
|
|
30
30
|
// sm — the xxs-tier button NESTS, with its concentric gap mirrored as
|
|
31
|
-
// the right padding (--era-
|
|
31
|
+
// the right padding (--era-pill-inset-chip). 18px of hit target, and
|
|
32
32
|
// since the dismiss glyph is 12px in every box, the ink sits where
|
|
33
33
|
// the old 14px button put it — (h − glyph)/2 telescopes.
|
|
34
34
|
// xxs — nesting has run out of road: density.css's own note says xxs
|
|
@@ -38,8 +38,12 @@
|
|
|
38
38
|
// (pr-0; the button supplies the right edge). Flush means offset
|
|
39
39
|
// zero, and at offset zero concentric radius = the chip's own, so
|
|
40
40
|
// the cap shares rd-xxs exactly rather than approximating it.
|
|
41
|
-
{
|
|
42
|
-
|
|
41
|
+
{
|
|
42
|
+
size: 'sm',
|
|
43
|
+
dismissible: true,
|
|
44
|
+
class: 'gap-(--era-pill-inset-chip) pr-(--era-pill-inset-chip)'
|
|
45
|
+
},
|
|
46
|
+
{ size: 'xxs', dismissible: true, class: 'gap-(--era-icon-inset-pill) pr-0' }
|
|
43
47
|
],
|
|
44
48
|
defaultVariants: { size: 'sm', dismissible: false }
|
|
45
49
|
});
|
|
@@ -61,7 +65,7 @@
|
|
|
61
65
|
...restProps
|
|
62
66
|
}: HTMLAttributes<HTMLDivElement> & {
|
|
63
67
|
ref?: HTMLDivElement | null;
|
|
64
|
-
/** `sm` (default) is the standalone free chip; `
|
|
68
|
+
/** `sm` (default) is the standalone free chip; `pill` is the smaller pill
|
|
65
69
|
* that nests inside an md container (a select trigger, a button). */
|
|
66
70
|
size?: 'sm' | 'xxs';
|
|
67
71
|
ondismiss?: () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
2
2
|
size: {
|
|
3
|
-
sm: "h-(--era-h-
|
|
4
|
-
xxs: "h-(--era-h-
|
|
3
|
+
sm: "h-(--era-h-chip) min-w-(--era-h-chip) rounded-(--era-rd-chip) pl-(--era-chip-px)";
|
|
4
|
+
xxs: "h-(--era-h-pill) min-w-(--era-h-pill) rounded-(--era-rd-pill) pl-(--era-pill-px)";
|
|
5
5
|
};
|
|
6
6
|
dismissible: {
|
|
7
7
|
true: "";
|
|
@@ -9,8 +9,8 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
|
9
9
|
};
|
|
10
10
|
}, undefined, "inline-flex shrink-0 items-center bg-fill font-mono text-body leading-none whitespace-nowrap text-fg shadow-(--era-shadow) era-text-trim", {
|
|
11
11
|
size: {
|
|
12
|
-
sm: "h-(--era-h-
|
|
13
|
-
xxs: "h-(--era-h-
|
|
12
|
+
sm: "h-(--era-h-chip) min-w-(--era-h-chip) rounded-(--era-rd-chip) pl-(--era-chip-px)";
|
|
13
|
+
xxs: "h-(--era-h-pill) min-w-(--era-h-pill) rounded-(--era-rd-pill) pl-(--era-pill-px)";
|
|
14
14
|
};
|
|
15
15
|
dismissible: {
|
|
16
16
|
true: "";
|
|
@@ -18,8 +18,8 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
|
18
18
|
};
|
|
19
19
|
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
20
20
|
size: {
|
|
21
|
-
sm: "h-(--era-h-
|
|
22
|
-
xxs: "h-(--era-h-
|
|
21
|
+
sm: "h-(--era-h-chip) min-w-(--era-h-chip) rounded-(--era-rd-chip) pl-(--era-chip-px)";
|
|
22
|
+
xxs: "h-(--era-h-pill) min-w-(--era-h-pill) rounded-(--era-rd-pill) pl-(--era-pill-px)";
|
|
23
23
|
};
|
|
24
24
|
dismissible: {
|
|
25
25
|
true: "";
|
|
@@ -30,7 +30,7 @@ import type { Snippet } from 'svelte';
|
|
|
30
30
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
31
31
|
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
32
32
|
ref?: HTMLDivElement | null;
|
|
33
|
-
/** `sm` (default) is the standalone free chip; `
|
|
33
|
+
/** `sm` (default) is the standalone free chip; `pill` is the smaller pill
|
|
34
34
|
* that nests inside an md container (a select trigger, a button). */
|
|
35
35
|
size?: 'sm' | 'xxs';
|
|
36
36
|
ondismiss?: () => void;
|
|
@@ -33,19 +33,19 @@
|
|
|
33
33
|
|
|
34
34
|
The radius stays rd-lg where the field's is rd-md, and that is the one
|
|
35
35
|
deliberate difference: a container's radius follows its corner REGION, and
|
|
36
|
-
this corner holds the sm-tier copy button at --era-inset-
|
|
36
|
+
this corner holds the sm-tier copy button at --era-inset-control, so rd-sm + that
|
|
37
37
|
inset is what the corner has to be. An md radius here would leave the button
|
|
38
38
|
visibly off its curve. -->
|
|
39
39
|
<div
|
|
40
40
|
bind:this={ref}
|
|
41
41
|
class={cn(
|
|
42
|
-
'relative rounded-(--era-rd-
|
|
42
|
+
'relative rounded-(--era-rd-bar) bg-(--era-field-bg) shadow-(--era-shadow-well)',
|
|
43
43
|
className
|
|
44
44
|
)}
|
|
45
45
|
{...restProps}
|
|
46
46
|
>
|
|
47
47
|
<pre
|
|
48
|
-
class="overflow-x-auto px-(--era-field-px) py-(--era-inset-
|
|
48
|
+
class="overflow-x-auto px-(--era-field-px) py-(--era-inset-control) pr-[calc(var(--era-chip-inset-bar)+var(--era-h-chip)+var(--era-field-px))] font-mono text-body leading-body text-fg"><code
|
|
49
49
|
>{#if children}{@render children()}{:else}{code}{/if}</code
|
|
50
50
|
></pre>
|
|
51
51
|
{#if copyable}
|
|
@@ -53,16 +53,16 @@
|
|
|
53
53
|
long lines would show through a chromeless one. It carries the block's
|
|
54
54
|
OWN fill, so at rest it is pixel-identical to no background — it just
|
|
55
55
|
occludes whatever scrolls beneath. -->
|
|
56
|
-
<!-- --era-
|
|
56
|
+
<!-- --era-chip-inset-bar on BOTH axes: an sm control in an rd-lg corner, and
|
|
57
57
|
the token IS the concentric inset for that pairing (rd-lg − rd-sm =
|
|
58
|
-
(h-
|
|
58
|
+
(h-bar − h-chip)/2 — the corner identity). The old offsets centred the
|
|
59
59
|
button against the first TEXT LINE with the line-height constant baked
|
|
60
60
|
in, which broke the moment the leading changed and was never the
|
|
61
61
|
corner's own law: the button sat 4.75px from the top and 6.15px from
|
|
62
62
|
the right edge at dense, visibly off the curve. -->
|
|
63
63
|
<CopyButton
|
|
64
64
|
text={copyText}
|
|
65
|
-
class="absolute top-(--era-
|
|
65
|
+
class="absolute top-(--era-chip-inset-bar) right-(--era-chip-inset-bar) bg-(--era-field-bg)"
|
|
66
66
|
/>
|
|
67
67
|
{/if}
|
|
68
68
|
</div>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<Collapsible.Trigger
|
|
14
14
|
bind:ref
|
|
15
15
|
class={cn(
|
|
16
|
-
'flex h-(--era-h-
|
|
16
|
+
'flex h-(--era-h-control) w-full items-center rounded-(--era-rd-control) px-(--era-inset-control) text-body text-fg hover:bg-(--era-highlight) focus:outline-none disabled:opacity-50',
|
|
17
17
|
className
|
|
18
18
|
)}
|
|
19
19
|
{...restProps}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
bind:ref
|
|
16
16
|
align="start"
|
|
17
17
|
class={cn(
|
|
18
|
-
'z-50 w-max min-w-(--bits-combobox-anchor-width) overflow-hidden rounded-(--era-rd-
|
|
18
|
+
'z-50 w-max min-w-(--bits-combobox-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',
|
|
19
19
|
className
|
|
20
20
|
)}
|
|
21
21
|
{sideOffset}
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<div
|
|
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
|
>
|
|
17
20
|
{#if children}
|
|
18
21
|
{@render children()}
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
<Combobox.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
|
<Combobox.Item
|
|
11
11
|
bind:ref
|
|
12
12
|
class={cn(
|
|
13
|
-
'flex h-(--era-h-
|
|
13
|
+
'flex h-(--era-h-control) cursor-pointer items-center 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}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<Combobox.Trigger
|
|
15
15
|
bind:ref
|
|
16
16
|
class={cn(
|
|
17
|
-
'flex size-(--era-h-
|
|
17
|
+
'flex size-(--era-h-control) shrink-0 items-center justify-center rounded-(--era-rd-control) text-muted focus:outline-none',
|
|
18
18
|
className
|
|
19
19
|
)}
|
|
20
20
|
{...restProps}
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
{#if children}
|
|
23
23
|
{@render children()}
|
|
24
24
|
{:else}
|
|
25
|
-
<ChevronDown class="size-(--era-h-
|
|
25
|
+
<ChevronDown class="size-(--era-h-icon)" />
|
|
26
26
|
{/if}
|
|
27
27
|
</Combobox.Trigger>
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
<Command.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
|
/>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<Command.Item
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'flex h-(--era-h-
|
|
11
|
+
'flex h-(--era-h-control) cursor-pointer items-center gap-(--era-gap) rounded-(--era-rd-control) px-(--era-inset-control) text-body era-text-trim text-fg outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[selected]:bg-(--era-highlight)',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<Command.LinkItem
|
|
9
9
|
bind:ref
|
|
10
10
|
class={cn(
|
|
11
|
-
'flex h-(--era-h-
|
|
11
|
+
'flex h-(--era-h-control) cursor-pointer items-center gap-(--era-gap) rounded-(--era-rd-control) px-(--era-inset-control) text-body era-text-trim text-fg no-underline outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[selected]:bg-(--era-highlight)',
|
|
12
12
|
className
|
|
13
13
|
)}
|
|
14
14
|
{...restProps}
|