@signal9/era-ui 12.1.2 → 14.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/dev/audit-overlay.svelte +1 -1
- package/dist/docs/component-docs-core.js +2 -2
- package/dist/docs/consumer-import.d.ts +37 -0
- package/dist/docs/consumer-import.js +42 -0
- package/dist/docs/css-utilities.js +17 -1
- package/dist/docs/notes.md +12 -11
- package/dist/era-ui.css +1 -1
- package/dist/generated-docs/accordion.md +1 -1
- package/dist/generated-docs/alert-dialog.md +1 -1
- package/dist/generated-docs/avatar.md +1 -1
- package/dist/generated-docs/badge.md +3 -0
- package/dist/generated-docs/button.md +4 -0
- package/dist/generated-docs/calendar.md +1 -1
- package/dist/generated-docs/checkbox.md +1 -1
- package/dist/generated-docs/chip.md +3 -0
- package/dist/generated-docs/collapsible.md +1 -1
- package/dist/generated-docs/combobox.md +1 -1
- package/dist/generated-docs/command.md +1 -1
- package/dist/generated-docs/context-menu.md +1 -1
- package/dist/generated-docs/date-field.md +1 -1
- package/dist/generated-docs/date-picker.md +1 -1
- package/dist/generated-docs/date-range-field.md +1 -1
- package/dist/generated-docs/date-range-picker.md +1 -1
- package/dist/generated-docs/dialog.md +1 -1
- package/dist/generated-docs/dropdown-menu.md +1 -1
- package/dist/generated-docs/link-preview.md +1 -1
- package/dist/generated-docs/llms-full.txt +101 -68
- package/dist/generated-docs/llms.txt +1 -1
- package/dist/generated-docs/manifest.json +24 -24
- package/dist/generated-docs/menu.md +1 -1
- package/dist/generated-docs/menubar.md +1 -1
- package/dist/generated-docs/navigation-menu.md +1 -1
- package/dist/generated-docs/notes.md +12 -11
- package/dist/generated-docs/pagination.md +1 -1
- package/dist/generated-docs/pin-input.md +1 -1
- package/dist/generated-docs/popover.md +1 -1
- package/dist/generated-docs/radio-group.md +1 -1
- package/dist/generated-docs/range-calendar.md +1 -1
- package/dist/generated-docs/rating-group.md +1 -1
- package/dist/generated-docs/scroll-area.md +1 -1
- package/dist/generated-docs/select.md +1 -1
- package/dist/generated-docs/sheet.md +1 -1
- package/dist/generated-docs/slider.md +1 -1
- package/dist/generated-docs/step.md +1 -1
- package/dist/generated-docs/table.md +1 -1
- package/dist/generated-docs/tabs.md +1 -1
- package/dist/generated-docs/time-field.md +1 -1
- package/dist/generated-docs/time-range-field.md +1 -1
- package/dist/generated-docs/toggle-group.md +1 -1
- package/dist/generated-docs/toolbar.md +1 -1
- package/dist/generated-docs/tooltip.md +1 -1
- package/dist/generated-docs/utilities.json +10 -10
- package/dist/generated-docs/utilities.md +41 -19
- package/dist/os/index.d.ts +0 -1
- package/dist/os/index.js +0 -1
- package/dist/os/notification-center.svelte +1 -2
- package/dist/os/taskbar.svelte +2 -3
- package/dist/os/toaster.svelte +2 -3
- package/dist/styles/index.css +77 -12
- package/dist/styles/layers.css +48 -0
- package/dist/styles/surfaces/base.css +4 -2
- package/dist/styles/surfaces/glass.css +0 -13
- package/dist/theme/index.d.ts +87 -0
- package/dist/theme/index.js +86 -0
- package/dist/ui/alert-dialog/alert-dialog-content.svelte +2 -2
- package/dist/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/dist/ui/badge/badge.svelte +14 -1
- package/dist/ui/badge/badge.svelte.d.ts +4 -0
- package/dist/ui/button/button.svelte +37 -7
- package/dist/ui/button/button.svelte.d.ts +6 -0
- package/dist/ui/chip/chip.svelte +14 -1
- package/dist/ui/chip/chip.svelte.d.ts +4 -0
- package/dist/ui/combobox/combobox-content.svelte +1 -1
- package/dist/ui/command-bar/command-bar.svelte +1 -1
- package/dist/ui/context-menu/context-menu-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
- package/dist/ui/date-picker/date-picker-content.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -1
- package/dist/ui/dialog/dialog-content.svelte +1 -1
- package/dist/ui/dialog/dialog-overlay.svelte +5 -1
- package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/ui/link-preview/link-preview-content.svelte +1 -1
- package/dist/ui/menubar/menubar-content.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
- package/dist/ui/pin-input/index.d.ts +1 -0
- package/dist/ui/pin-input/index.js +10 -0
- package/dist/ui/popover/popover-content.svelte +1 -1
- package/dist/ui/select/select-content.svelte +1 -1
- package/dist/ui/sheet/sheet-content.svelte +1 -1
- package/dist/ui/sheet/sheet-content.svelte.d.ts +1 -1
- package/dist/ui/tooltip/tooltip-content.svelte +1 -1
- package/package.json +9 -12
- package/dist/apps/index.d.ts +0 -20
- package/dist/apps/index.js +0 -20
- package/dist/apps/llm-shell/index.d.ts +0 -2
- package/dist/apps/llm-shell/index.js +0 -1
- package/dist/apps/llm-shell/llm-shell.svelte +0 -334
- package/dist/apps/llm-shell/llm-shell.svelte.d.ts +0 -57
- package/dist/apps/llm-shell/llm-swarm.svelte +0 -79
- package/dist/apps/llm-shell/llm-swarm.svelte.d.ts +0 -25
- package/dist/apps/llm-shell/types.d.ts +0 -103
- package/dist/apps/llm-shell/types.js +0 -1
- package/dist/apps/notes/editor/bubble-menu.svelte.d.ts +0 -11
- package/dist/apps/notes/editor/bubble-menu.svelte.js +0 -165
- package/dist/apps/notes/editor/bubble-toolbar.svelte +0 -55
- package/dist/apps/notes/editor/bubble-toolbar.svelte.d.ts +0 -22
- package/dist/apps/notes/editor/extensions.d.ts +0 -18
- package/dist/apps/notes/editor/extensions.js +0 -88
- package/dist/apps/notes/editor/floating.d.ts +0 -25
- package/dist/apps/notes/editor/floating.js +0 -54
- package/dist/apps/notes/editor/link.d.ts +0 -9
- package/dist/apps/notes/editor/link.js +0 -22
- package/dist/apps/notes/editor/list-cleanup-rule.d.ts +0 -14
- package/dist/apps/notes/editor/list-cleanup-rule.js +0 -47
- package/dist/apps/notes/editor/slash-command.svelte.d.ts +0 -22
- package/dist/apps/notes/editor/slash-command.svelte.js +0 -215
- package/dist/apps/notes/editor/slash-menu.svelte +0 -82
- package/dist/apps/notes/editor/slash-menu.svelte.d.ts +0 -23
- package/dist/apps/notes/index.d.ts +0 -11
- package/dist/apps/notes/index.js +0 -13
- package/dist/apps/notes/markdown.d.ts +0 -12
- package/dist/apps/notes/markdown.js +0 -165
- package/dist/apps/notes/note-editor.svelte +0 -176
- package/dist/apps/notes/note-editor.svelte.d.ts +0 -36
- package/dist/apps/notes/notes-store.svelte.d.ts +0 -64
- package/dist/apps/notes/notes-store.svelte.js +0 -234
- package/dist/apps/notes/notes.svelte +0 -501
- package/dist/apps/notes/notes.svelte.d.ts +0 -53
- package/dist/apps/notes/tree.d.ts +0 -70
- package/dist/apps/notes/tree.js +0 -185
- package/dist/apps/notes/types.d.ts +0 -49
- package/dist/apps/notes/types.js +0 -11
- package/dist/docs/package-name.d.ts +0 -18
- package/dist/docs/package-name.js +0 -18
- package/dist/docs/quickstart.md +0 -43
- package/dist/os/layers.d.ts +0 -23
- package/dist/os/layers.js +0 -23
|
@@ -5,7 +5,7 @@ Options and actions triggered by right-click.
|
|
|
5
5
|
## Import
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import
|
|
8
|
+
import * as ContextMenu from "@signal9/era-ui/context-menu";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -5,7 +5,7 @@ Segmented start/end date input.
|
|
|
5
5
|
## Import
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import
|
|
8
|
+
import * as DateRangeField from "@signal9/era-ui/date-range-field";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -5,7 +5,7 @@ Date range input with a calendar popover.
|
|
|
5
5
|
## Import
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import
|
|
8
|
+
import * as DateRangePicker from "@signal9/era-ui/date-range-picker";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -5,7 +5,7 @@ Shows rich preview content when hovering a link.
|
|
|
5
5
|
## Import
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import
|
|
8
|
+
import * as LinkPreview from "@signal9/era-ui/link-preview";
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -63,6 +63,7 @@ Classes, not components — they need no import beyond the stylesheet. Reach for
|
|
|
63
63
|
- `era-ink-center` — on a native single-line <input> (or the text layer that must mirror one) inside a fixed-height field — never alongside era-text-trim.
|
|
64
64
|
- `era-token-ink` — the ink centring for a token pill — a badge, a KV value, any short caps-or-digits label in a fixed-height box, CENTRED horizontally and with no icon sibling. For a left-aligned sentence-case label use era-label-ink; when an icon really must sit beside the text, see the note there.
|
|
65
65
|
- `era-label-ink` — the ink centring for a fixed-height control holding ONE line of sentence-case text and no icon — a menu item, a nav trigger, a button label. Never alongside `truncate` (the trimmed box becomes the clip).
|
|
66
|
+
- `glass-blur` — the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
66
67
|
- `era-shimmer` — the in-progress text treatment — put it on a "working…" / "thinking…" label while a task streams, instead of a spinner beside the text.
|
|
67
68
|
- `era-collapse` — the height sweep for a bits-ui Collapsible.Content — put it on the Content element itself (it carries its own overflow: hidden).
|
|
68
69
|
- `h-icon · h-pill · h-chip · h-control · h-bar` — the tier-height ladder — h-icon (icon) · h-pill (nested pill) · h-chip (standalone pill) · h-control (control) · h-bar (bar); the named form of h-(--era-h-*).
|
|
@@ -87,7 +88,6 @@ Classes, not components — they need no import beyond the stylesheet. Reach for
|
|
|
87
88
|
- `ease-base` — Motion — bare transition utilities default to the motion axis, so
|
|
88
89
|
- `bg-divider · text-divider · border-divider · bg-divider-faded · text-divider-faded · border-divider-faded · bg-background · text-background · … (66 in all)` — Surface divider colors: border-divider, bg-divider-faded, …
|
|
89
90
|
- `bg-fill · text-fill · border-fill · bg-link · text-link · border-link · bg-primary · text-primary · … (33 in all)` — The standing pill fill — --era-fill, the latched counterpart of the
|
|
90
|
-
- `glass-blur` — the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
91
91
|
|
|
92
92
|
Full reference (what each emits, when to use it): `/utilities.md`. Machine-readable list: `/utilities.json`.
|
|
93
93
|
|
|
@@ -170,6 +170,17 @@ motion):
|
|
|
170
170
|
| `text-body` | density-derived body/control text size |
|
|
171
171
|
| `p-gutter` / `gap-gutter` / `mt-gutter` / … | the spacing scale — EVERY spacing prefix works |
|
|
172
172
|
|
|
173
|
+
THE SPACING NAMES IN SIZE ORDER, smallest first, because the names do not
|
|
174
|
+
imply it and guessing gets it backwards:
|
|
175
|
+
|
|
176
|
+
gutter < panel < field < card < content
|
|
177
|
+
|
|
178
|
+
Measured at `data-mode="balanced"`: gutter 5px, field ~9px, card ~11px,
|
|
179
|
+
content ~22px. `gutter` is the TIGHT one — the gap between sibling controls
|
|
180
|
+
and a rail's own padding. `field` is a text input's side padding, not the
|
|
181
|
+
label-to-input gap. Reading them the other way round produces a layout whose
|
|
182
|
+
hierarchy is inverted and therefore reads flat.
|
|
183
|
+
|
|
173
184
|
The spacing names (`gutter`, `card`, `panel`, `content`, `menu`, `field`, the
|
|
174
185
|
`inset-*` and concentric `*-inset-*` insets, `glyph-*`) are registered as a
|
|
175
186
|
Tailwind spacing scale, so every prefix derives automatically: `p-`, `px-`,
|
|
@@ -195,6 +206,7 @@ source uses it where a name exists.
|
|
|
195
206
|
| `era-ink-center` | on a native single-line <input> (or the text layer that must mirror one) inside a fixed-height field — never alongside era-text-trim. |
|
|
196
207
|
| `era-token-ink` | the ink centring for a token pill — a badge, a KV value, any short caps-or-digits label in a fixed-height box, CENTRED horizontally and with no icon sibling. For a left-aligned sentence-case label use era-label-ink; when an icon really must sit beside the text, see the note there. |
|
|
197
208
|
| `era-label-ink` | the ink centring for a fixed-height control holding ONE line of sentence-case text and no icon — a menu item, a nav trigger, a button label. Never alongside `truncate` (the trimmed box becomes the clip). |
|
|
209
|
+
| `glass-blur` | the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface. |
|
|
198
210
|
| `era-shimmer` | the in-progress text treatment — put it on a "working…" / "thinking…" label while a task streams, instead of a spinner beside the text. |
|
|
199
211
|
| `era-collapse` | the height sweep for a bits-ui Collapsible.Content — put it on the Content element itself (it carries its own overflow: hidden). |
|
|
200
212
|
| `h-icon` `h-pill` `h-chip` `h-control` `h-bar` | the tier-height ladder — h-icon (icon) · h-pill (nested pill) · h-chip (standalone pill) · h-control (control) · h-bar (bar); the named form of h-(--era-h-*). |
|
|
@@ -219,7 +231,6 @@ source uses it where a name exists.
|
|
|
219
231
|
| `ease-base` | — |
|
|
220
232
|
| `bg-divider` `text-divider` `border-divider` `bg-divider-faded` `text-divider-faded` `border-divider-faded` `bg-background` `text-background` `border-background` `bg-foreground` `text-foreground` `border-foreground` `bg-1` `text-1` `border-1` `bg-2` `text-2` `border-2` `bg-3` `text-3` `border-3` `bg-4` `text-4` `border-4` `bg-5` `text-5` `border-5` `bg-6` `text-6` `border-6` `bg-7` `text-7` `border-7` `bg-8` `text-8` `border-8` `bg-9` `text-9` `border-9` `bg-10` `text-10` `border-10` `bg-11` `text-11` `border-11` `bg-12` `text-12` `border-12` `bg-border` `text-border` `border-border` `bg-surface` `text-surface` `border-surface` `bg-hover` `text-hover` `border-hover` `bg-fg` `text-fg` `border-fg` `bg-bright` `text-bright` `border-bright` `bg-muted` `text-muted` `border-muted` | — |
|
|
221
233
|
| `bg-fill` `text-fill` `border-fill` `bg-link` `text-link` `border-link` `bg-primary` `text-primary` `border-primary` `bg-primary-fg` `text-primary-fg` `border-primary-fg` `bg-primary-hover` `text-primary-hover` `border-primary-hover` `bg-destructive` `text-destructive` `border-destructive` `bg-destructive-fg` `text-destructive-fg` `border-destructive-fg` `bg-success` `text-success` `border-success` `bg-success-fg` `text-success-fg` `border-success-fg` `bg-warning` `text-warning` `border-warning` `bg-warning-fg` `text-warning-fg` `border-warning-fg` | — |
|
|
222
|
-
| `glass-blur` | the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface. |
|
|
223
234
|
|
|
224
235
|
## era-interactive
|
|
225
236
|
|
|
@@ -517,6 +528,35 @@ Declared in `index.css`.
|
|
|
517
528
|
}
|
|
518
529
|
```
|
|
519
530
|
|
|
531
|
+
## glass-blur
|
|
532
|
+
|
|
533
|
+
**Use it for:** the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
534
|
+
|
|
535
|
+
Tailwind v4 cannot resolve var() inside backdrop-blur-[], so the filter
|
|
536
|
+
is a registered utility, gated to glass subtrees.
|
|
537
|
+
|
|
538
|
+
It lives HERE rather than in surfaces/glass.css, where a surface's own
|
|
539
|
+
chrome would naturally sit, because glass.css is imported into a cascade
|
|
540
|
+
layer and `@utility` cannot be nested inside one. Surface-scoped RULES stay
|
|
541
|
+
in their surface file; surface-scoped UTILITIES have to come out.
|
|
542
|
+
|
|
543
|
+
Declared in `index.css`.
|
|
544
|
+
|
|
545
|
+
```css
|
|
546
|
+
@utility` cannot be nested inside one. Surface-scoped RULES stay
|
|
547
|
+
* in their surface file; surface-scoped UTILITIES have to come out.
|
|
548
|
+
*
|
|
549
|
+
* @use the backdrop blur for a floating panel (popover, dialog, taskbar) — it
|
|
550
|
+
* applies only inside a data-surface="glass" subtree and is inert elsewhere,
|
|
551
|
+
* so it is safe to leave on a panel that renders under every surface. */
|
|
552
|
+
@utility glass-blur {
|
|
553
|
+
[data-surface='glass'] & {
|
|
554
|
+
backdrop-filter: blur(var(--era-blur)) saturate(var(--era-saturate));
|
|
555
|
+
-webkit-backdrop-filter: blur(var(--era-blur)) saturate(var(--era-saturate));
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
```
|
|
559
|
+
|
|
520
560
|
## era-shimmer
|
|
521
561
|
|
|
522
562
|
**Use it for:** the in-progress text treatment — put it on a "working…" / "thinking…" label while a task streams, instead of a spinner beside the text.
|
|
@@ -1040,24 +1080,6 @@ Declared in `index.css`.
|
|
|
1040
1080
|
}
|
|
1041
1081
|
```
|
|
1042
1082
|
|
|
1043
|
-
## glass-blur
|
|
1044
|
-
|
|
1045
|
-
**Use it for:** the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
1046
|
-
|
|
1047
|
-
Tailwind v4 cannot resolve var() inside backdrop-blur-[], so the filter
|
|
1048
|
-
is a registered utility, gated to glass subtrees.
|
|
1049
|
-
|
|
1050
|
-
Declared in `surfaces/glass.css`.
|
|
1051
|
-
|
|
1052
|
-
```css
|
|
1053
|
-
@utility glass-blur {
|
|
1054
|
-
[data-surface='glass'] & {
|
|
1055
|
-
backdrop-filter: blur(var(--era-blur)) saturate(var(--era-saturate));
|
|
1056
|
-
-webkit-backdrop-filter: blur(var(--era-blur)) saturate(var(--era-saturate));
|
|
1057
|
-
}
|
|
1058
|
-
}
|
|
1059
|
-
```
|
|
1060
|
-
|
|
1061
1083
|
<!-- end: utilities -->
|
|
1062
1084
|
|
|
1063
1085
|
<!-- begin: draggable -->
|
|
@@ -1100,19 +1122,20 @@ A complete notes app — rich-text editor, slash commands, local persistence.
|
|
|
1100
1122
|
|
|
1101
1123
|
## Usage
|
|
1102
1124
|
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1125
|
+
**Notes is not published.** It lives in `src/apps/` in the era-ui repository,
|
|
1126
|
+
outside the packaged `src/lib`, so there is no import path that reaches it — the
|
|
1127
|
+
`@signal9/era-ui/apps` subpath was removed in v13.
|
|
1106
1128
|
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1129
|
+
A design system that also ships a note-taking application is two products in one
|
|
1130
|
+
package: Notes alone brings fifteen TipTap packages, and its release cadence and
|
|
1131
|
+
support expectations are nothing like a primitive's. It stays in the repo as a
|
|
1132
|
+
reference implementation and a demo — read it, copy it, or lift it into the
|
|
1133
|
+
product that renders it.
|
|
1111
1134
|
|
|
1112
|
-
|
|
1113
|
-
|
|
1135
|
+
What era DOES publish is the part that generalises: `@signal9/era-ui/styles/prose`
|
|
1136
|
+
is the document typography Notes uses, available to anyone building an editor.
|
|
1114
1137
|
|
|
1115
|
-
|
|
1138
|
+
Read as a reference, the integration is: a sidebar with filter, pin, and delete; a TipTap
|
|
1116
1139
|
document with a `/` command menu and a selection toolbar; and persistence to
|
|
1117
1140
|
`localStorage` under `era-ui:notes`.
|
|
1118
1141
|
|
|
@@ -1146,7 +1169,7 @@ Persistence is one small interface, so server-backed hosting is a drop-in swap
|
|
|
1146
1169
|
`load`/`save` may be sync or async:
|
|
1147
1170
|
|
|
1148
1171
|
```ts
|
|
1149
|
-
import { Notes, NotesStore } from '
|
|
1172
|
+
import { Notes, NotesStore } from '$apps/index.js'; // in-repo; not published
|
|
1150
1173
|
|
|
1151
1174
|
const store = new NotesStore({
|
|
1152
1175
|
adapter: {
|
|
@@ -1225,6 +1248,9 @@ Inherits all props from `HTMLAttributes<HTMLSpanElement>`.
|
|
|
1225
1248
|
|------|------|---------|-------|
|
|
1226
1249
|
| `ref?` | `HTMLSpanElement \| null` | `null` | bindable |
|
|
1227
1250
|
| `tone?` | `'default' \| 'accent' \| 'destructive' \| 'success' \| 'warning'` | `'default'` | — |
|
|
1251
|
+
| `lead?` | `Snippet` | — | Icon rendered BEFORE the label, outside it. Use this rather than putting
|
|
1252
|
+
an icon in `children`: the label then gets its own box, which is the only
|
|
1253
|
+
place era's ink centring can reach. |
|
|
1228
1254
|
| `children?` | `Snippet` | — | — |
|
|
1229
1255
|
|
|
1230
1256
|
## Usage
|
|
@@ -1257,7 +1283,7 @@ An image with optional initials/icon fallback.
|
|
|
1257
1283
|
## Import
|
|
1258
1284
|
|
|
1259
1285
|
```ts
|
|
1260
|
-
import
|
|
1286
|
+
import * as Avatar from "@signal9/era-ui/avatar";
|
|
1261
1287
|
```
|
|
1262
1288
|
|
|
1263
1289
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -1347,6 +1373,10 @@ Inherits all props from `Button.RootProps`.
|
|
|
1347
1373
|
spinner. The existing label stays rendered so focus, click targets,
|
|
1348
1374
|
and screen-reader accessible names don't change shape mid-flight. |
|
|
1349
1375
|
| `loadingLabel?` | `string` | — | Screen-reader-only label announced while `loading` is true. |
|
|
1376
|
+
| `lead?` | `Snippet` | — | Icon rendered BEFORE the label, outside it. Use this rather than putting
|
|
1377
|
+
an icon in `children`: the label then gets its own box, which is the only
|
|
1378
|
+
place era's ink centring can reach (see era-label-ink). |
|
|
1379
|
+
| `trail?` | `Snippet` | — | Icon rendered AFTER the label, outside it. Same reason as `lead`. |
|
|
1350
1380
|
| `children?` | `Snippet` | — | — |
|
|
1351
1381
|
| `ref?` | `(forwarded)` | `null` | bindable |
|
|
1352
1382
|
|
|
@@ -1490,6 +1520,9 @@ Inherits all props from `HTMLAttributes<HTMLDivElement>`.
|
|
|
1490
1520
|
| `size?` | `'chip' \| 'pill'` | `'chip'` | `sm` (default) is the standalone free chip; `pill` is the smaller pill
|
|
1491
1521
|
that nests inside an md container (a select trigger, a button). |
|
|
1492
1522
|
| `ondismiss?` | `() => void` | — | — |
|
|
1523
|
+
| `lead?` | `Snippet` | — | Icon rendered BEFORE the label, outside it. Use this rather than putting
|
|
1524
|
+
an icon in `children`: the label then gets its own box, which is the only
|
|
1525
|
+
place era's ink centring can reach. |
|
|
1493
1526
|
| `children?` | `Snippet` | — | — |
|
|
1494
1527
|
|
|
1495
1528
|
## Usage
|
|
@@ -1686,7 +1719,7 @@ A dialog anchored to a screen edge — a mobile drawer.
|
|
|
1686
1719
|
## Import
|
|
1687
1720
|
|
|
1688
1721
|
```ts
|
|
1689
|
-
import
|
|
1722
|
+
import * as Sheet from "@signal9/era-ui/sheet";
|
|
1690
1723
|
```
|
|
1691
1724
|
|
|
1692
1725
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -1773,7 +1806,7 @@ Collapsible content sections.
|
|
|
1773
1806
|
## Import
|
|
1774
1807
|
|
|
1775
1808
|
```ts
|
|
1776
|
-
import
|
|
1809
|
+
import * as Accordion from "@signal9/era-ui/accordion";
|
|
1777
1810
|
```
|
|
1778
1811
|
|
|
1779
1812
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -1835,7 +1868,7 @@ A modal confirmation before destructive actions.
|
|
|
1835
1868
|
## Import
|
|
1836
1869
|
|
|
1837
1870
|
```ts
|
|
1838
|
-
import
|
|
1871
|
+
import * as AlertDialog from "@signal9/era-ui/alert-dialog";
|
|
1839
1872
|
```
|
|
1840
1873
|
|
|
1841
1874
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -1921,7 +1954,7 @@ A date picker calendar grid.
|
|
|
1921
1954
|
## Import
|
|
1922
1955
|
|
|
1923
1956
|
```ts
|
|
1924
|
-
import
|
|
1957
|
+
import * as Calendar from "@signal9/era-ui/calendar";
|
|
1925
1958
|
```
|
|
1926
1959
|
|
|
1927
1960
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2052,7 +2085,7 @@ Toggleable check with indeterminate support.
|
|
|
2052
2085
|
## Import
|
|
2053
2086
|
|
|
2054
2087
|
```ts
|
|
2055
|
-
import
|
|
2088
|
+
import * as Checkbox from "@signal9/era-ui/checkbox";
|
|
2056
2089
|
```
|
|
2057
2090
|
|
|
2058
2091
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2099,7 +2132,7 @@ Show and hide content sections with a trigger.
|
|
|
2099
2132
|
## Import
|
|
2100
2133
|
|
|
2101
2134
|
```ts
|
|
2102
|
-
import
|
|
2135
|
+
import * as Collapsible from "@signal9/era-ui/collapsible";
|
|
2103
2136
|
```
|
|
2104
2137
|
|
|
2105
2138
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2134,7 +2167,7 @@ Search and select from a filtered list of options.
|
|
|
2134
2167
|
## Import
|
|
2135
2168
|
|
|
2136
2169
|
```ts
|
|
2137
|
-
import
|
|
2170
|
+
import * as Combobox from "@signal9/era-ui/combobox";
|
|
2138
2171
|
```
|
|
2139
2172
|
|
|
2140
2173
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2213,7 +2246,7 @@ A searchable command menu for quick navigation.
|
|
|
2213
2246
|
## Import
|
|
2214
2247
|
|
|
2215
2248
|
```ts
|
|
2216
|
-
import
|
|
2249
|
+
import * as Command from "@signal9/era-ui/command";
|
|
2217
2250
|
```
|
|
2218
2251
|
|
|
2219
2252
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2352,7 +2385,7 @@ Expandable inline step — tool calls, thinking, agent actions.
|
|
|
2352
2385
|
## Import
|
|
2353
2386
|
|
|
2354
2387
|
```ts
|
|
2355
|
-
import
|
|
2388
|
+
import * as Step from "@signal9/era-ui/step";
|
|
2356
2389
|
```
|
|
2357
2390
|
|
|
2358
2391
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2408,7 +2441,7 @@ Options and actions triggered by right-click.
|
|
|
2408
2441
|
## Import
|
|
2409
2442
|
|
|
2410
2443
|
```ts
|
|
2411
|
-
import
|
|
2444
|
+
import * as ContextMenu from "@signal9/era-ui/context-menu";
|
|
2412
2445
|
```
|
|
2413
2446
|
|
|
2414
2447
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2507,7 +2540,7 @@ Segmented date input with keyboard navigation.
|
|
|
2507
2540
|
## Import
|
|
2508
2541
|
|
|
2509
2542
|
```ts
|
|
2510
|
-
import
|
|
2543
|
+
import * as DateField from "@signal9/era-ui/date-field";
|
|
2511
2544
|
```
|
|
2512
2545
|
|
|
2513
2546
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2561,7 +2594,7 @@ Date input with a calendar popover.
|
|
|
2561
2594
|
## Import
|
|
2562
2595
|
|
|
2563
2596
|
```ts
|
|
2564
|
-
import
|
|
2597
|
+
import * as DatePicker from "@signal9/era-ui/date-picker";
|
|
2565
2598
|
```
|
|
2566
2599
|
|
|
2567
2600
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2746,7 +2779,7 @@ Segmented start/end date input.
|
|
|
2746
2779
|
## Import
|
|
2747
2780
|
|
|
2748
2781
|
```ts
|
|
2749
|
-
import
|
|
2782
|
+
import * as DateRangeField from "@signal9/era-ui/date-range-field";
|
|
2750
2783
|
```
|
|
2751
2784
|
|
|
2752
2785
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2801,7 +2834,7 @@ Date range input with a calendar popover.
|
|
|
2801
2834
|
## Import
|
|
2802
2835
|
|
|
2803
2836
|
```ts
|
|
2804
|
-
import
|
|
2837
|
+
import * as DateRangePicker from "@signal9/era-ui/date-range-picker";
|
|
2805
2838
|
```
|
|
2806
2839
|
|
|
2807
2840
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -2986,7 +3019,7 @@ A modal window for content or user input.
|
|
|
2986
3019
|
## Import
|
|
2987
3020
|
|
|
2988
3021
|
```ts
|
|
2989
|
-
import
|
|
3022
|
+
import * as Dialog from "@signal9/era-ui/dialog";
|
|
2990
3023
|
```
|
|
2991
3024
|
|
|
2992
3025
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3075,7 +3108,7 @@ A menu of selectable items.
|
|
|
3075
3108
|
## Import
|
|
3076
3109
|
|
|
3077
3110
|
```ts
|
|
3078
|
-
import
|
|
3111
|
+
import * as DropdownMenu from "@signal9/era-ui/dropdown-menu";
|
|
3079
3112
|
```
|
|
3080
3113
|
|
|
3081
3114
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3197,7 +3230,7 @@ A cross-platform scroll container.
|
|
|
3197
3230
|
## Import
|
|
3198
3231
|
|
|
3199
3232
|
```ts
|
|
3200
|
-
import
|
|
3233
|
+
import * as ScrollArea from "@signal9/era-ui/scroll-area";
|
|
3201
3234
|
```
|
|
3202
3235
|
|
|
3203
3236
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3295,7 +3328,7 @@ Shows rich preview content when hovering a link.
|
|
|
3295
3328
|
## Import
|
|
3296
3329
|
|
|
3297
3330
|
```ts
|
|
3298
|
-
import
|
|
3331
|
+
import * as LinkPreview from "@signal9/era-ui/link-preview";
|
|
3299
3332
|
```
|
|
3300
3333
|
|
|
3301
3334
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3381,7 +3414,7 @@ Headless menu primitives re-exported from bits-ui.
|
|
|
3381
3414
|
## Import
|
|
3382
3415
|
|
|
3383
3416
|
```ts
|
|
3384
|
-
import
|
|
3417
|
+
import * as Menu from "@signal9/era-ui/menu";
|
|
3385
3418
|
```
|
|
3386
3419
|
|
|
3387
3420
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3397,7 +3430,7 @@ A horizontal bar of dropdown menus.
|
|
|
3397
3430
|
## Import
|
|
3398
3431
|
|
|
3399
3432
|
```ts
|
|
3400
|
-
import
|
|
3433
|
+
import * as Menubar from "@signal9/era-ui/menubar";
|
|
3401
3434
|
```
|
|
3402
3435
|
|
|
3403
3436
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3527,7 +3560,7 @@ Headless navigation-menu primitives re-exported from bits-ui.
|
|
|
3527
3560
|
## Import
|
|
3528
3561
|
|
|
3529
3562
|
```ts
|
|
3530
|
-
import
|
|
3563
|
+
import * as NavigationMenu from "@signal9/era-ui/navigation-menu";
|
|
3531
3564
|
```
|
|
3532
3565
|
|
|
3533
3566
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3572,7 +3605,7 @@ Enables users to navigate through a series of pages.
|
|
|
3572
3605
|
## Import
|
|
3573
3606
|
|
|
3574
3607
|
```ts
|
|
3575
|
-
import
|
|
3608
|
+
import * as Pagination from "@signal9/era-ui/pagination";
|
|
3576
3609
|
```
|
|
3577
3610
|
|
|
3578
3611
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3632,7 +3665,7 @@ Enables users to input a sequence of one-character inputs.
|
|
|
3632
3665
|
## Import
|
|
3633
3666
|
|
|
3634
3667
|
```ts
|
|
3635
|
-
import
|
|
3668
|
+
import * as PinInput from "@signal9/era-ui/pin-input";
|
|
3636
3669
|
```
|
|
3637
3670
|
|
|
3638
3671
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3668,7 +3701,7 @@ A floating panel anchored to a trigger.
|
|
|
3668
3701
|
## Import
|
|
3669
3702
|
|
|
3670
3703
|
```ts
|
|
3671
|
-
import
|
|
3704
|
+
import * as Popover from "@signal9/era-ui/popover";
|
|
3672
3705
|
```
|
|
3673
3706
|
|
|
3674
3707
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3738,7 +3771,7 @@ Headless range-calendar primitives re-exported from bits-ui.
|
|
|
3738
3771
|
## Import
|
|
3739
3772
|
|
|
3740
3773
|
```ts
|
|
3741
|
-
import
|
|
3774
|
+
import * as RangeCalendar from "@signal9/era-ui/range-calendar";
|
|
3742
3775
|
```
|
|
3743
3776
|
|
|
3744
3777
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3754,7 +3787,7 @@ Groups radio items for single selection.
|
|
|
3754
3787
|
## Import
|
|
3755
3788
|
|
|
3756
3789
|
```ts
|
|
3757
|
-
import
|
|
3790
|
+
import * as RadioGroup from "@signal9/era-ui/radio-group";
|
|
3758
3791
|
```
|
|
3759
3792
|
|
|
3760
3793
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3790,7 +3823,7 @@ A star-style single-choice rating input.
|
|
|
3790
3823
|
## Import
|
|
3791
3824
|
|
|
3792
3825
|
```ts
|
|
3793
|
-
import
|
|
3826
|
+
import * as RatingGroup from "@signal9/era-ui/rating-group";
|
|
3794
3827
|
```
|
|
3795
3828
|
|
|
3796
3829
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3826,7 +3859,7 @@ A dropdown select menu.
|
|
|
3826
3859
|
## Import
|
|
3827
3860
|
|
|
3828
3861
|
```ts
|
|
3829
|
-
import
|
|
3862
|
+
import * as Select from "@signal9/era-ui/select";
|
|
3830
3863
|
```
|
|
3831
3864
|
|
|
3832
3865
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3898,7 +3931,7 @@ Enables value selection from a continuous range.
|
|
|
3898
3931
|
## Import
|
|
3899
3932
|
|
|
3900
3933
|
```ts
|
|
3901
|
-
import
|
|
3934
|
+
import * as Slider from "@signal9/era-ui/slider";
|
|
3902
3935
|
```
|
|
3903
3936
|
|
|
3904
3937
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -3974,7 +4007,7 @@ A tabular data display with rows, headers, and cells.
|
|
|
3974
4007
|
## Import
|
|
3975
4008
|
|
|
3976
4009
|
```ts
|
|
3977
|
-
import
|
|
4010
|
+
import * as Table from "@signal9/era-ui/table";
|
|
3978
4011
|
```
|
|
3979
4012
|
|
|
3980
4013
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4092,7 +4125,7 @@ Organizes content into tabbed sections.
|
|
|
4092
4125
|
## Import
|
|
4093
4126
|
|
|
4094
4127
|
```ts
|
|
4095
|
-
import
|
|
4128
|
+
import * as Tabs from "@signal9/era-ui/tabs";
|
|
4096
4129
|
```
|
|
4097
4130
|
|
|
4098
4131
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4145,7 +4178,7 @@ Segmented time input with keyboard navigation.
|
|
|
4145
4178
|
## Import
|
|
4146
4179
|
|
|
4147
4180
|
```ts
|
|
4148
|
-
import
|
|
4181
|
+
import * as TimeField from "@signal9/era-ui/time-field";
|
|
4149
4182
|
```
|
|
4150
4183
|
|
|
4151
4184
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4199,7 +4232,7 @@ Segmented start/end time input.
|
|
|
4199
4232
|
## Import
|
|
4200
4233
|
|
|
4201
4234
|
```ts
|
|
4202
|
-
import
|
|
4235
|
+
import * as TimeRangeField from "@signal9/era-ui/time-range-field";
|
|
4203
4236
|
```
|
|
4204
4237
|
|
|
4205
4238
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4254,7 +4287,7 @@ A set of toggle buttons with single or multiple selection.
|
|
|
4254
4287
|
## Import
|
|
4255
4288
|
|
|
4256
4289
|
```ts
|
|
4257
|
-
import
|
|
4290
|
+
import * as ToggleGroup from "@signal9/era-ui/toggle-group";
|
|
4258
4291
|
```
|
|
4259
4292
|
|
|
4260
4293
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4289,7 +4322,7 @@ Headless toolbar primitives re-exported from bits-ui.
|
|
|
4289
4322
|
## Import
|
|
4290
4323
|
|
|
4291
4324
|
```ts
|
|
4292
|
-
import
|
|
4325
|
+
import * as Toolbar from "@signal9/era-ui/toolbar";
|
|
4293
4326
|
```
|
|
4294
4327
|
|
|
4295
4328
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -4383,7 +4416,7 @@ Supplementary info on hover or focus.
|
|
|
4383
4416
|
## Import
|
|
4384
4417
|
|
|
4385
4418
|
```ts
|
|
4386
|
-
import
|
|
4419
|
+
import * as Tooltip from "@signal9/era-ui/tooltip";
|
|
4387
4420
|
```
|
|
4388
4421
|
|
|
4389
4422
|
Composed from sub-components — compose explicitly at the call site:
|
|
@@ -101,6 +101,7 @@ Classes, not components — they need no import beyond the stylesheet. Reach for
|
|
|
101
101
|
- `era-ink-center` — on a native single-line <input> (or the text layer that must mirror one) inside a fixed-height field — never alongside era-text-trim.
|
|
102
102
|
- `era-token-ink` — the ink centring for a token pill — a badge, a KV value, any short caps-or-digits label in a fixed-height box, CENTRED horizontally and with no icon sibling. For a left-aligned sentence-case label use era-label-ink; when an icon really must sit beside the text, see the note there.
|
|
103
103
|
- `era-label-ink` — the ink centring for a fixed-height control holding ONE line of sentence-case text and no icon — a menu item, a nav trigger, a button label. Never alongside `truncate` (the trimmed box becomes the clip).
|
|
104
|
+
- `glass-blur` — the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
104
105
|
- `era-shimmer` — the in-progress text treatment — put it on a "working…" / "thinking…" label while a task streams, instead of a spinner beside the text.
|
|
105
106
|
- `era-collapse` — the height sweep for a bits-ui Collapsible.Content — put it on the Content element itself (it carries its own overflow: hidden).
|
|
106
107
|
- `h-icon · h-pill · h-chip · h-control · h-bar` — the tier-height ladder — h-icon (icon) · h-pill (nested pill) · h-chip (standalone pill) · h-control (control) · h-bar (bar); the named form of h-(--era-h-*).
|
|
@@ -125,6 +126,5 @@ Classes, not components — they need no import beyond the stylesheet. Reach for
|
|
|
125
126
|
- `ease-base` — Motion — bare transition utilities default to the motion axis, so
|
|
126
127
|
- `bg-divider · text-divider · border-divider · bg-divider-faded · text-divider-faded · border-divider-faded · bg-background · text-background · … (66 in all)` — Surface divider colors: border-divider, bg-divider-faded, …
|
|
127
128
|
- `bg-fill · text-fill · border-fill · bg-link · text-link · border-link · bg-primary · text-primary · … (33 in all)` — The standing pill fill — --era-fill, the latched counterpart of the
|
|
128
|
-
- `glass-blur` — the backdrop blur for a floating panel (popover, dialog, taskbar) — it applies only inside a data-surface="glass" subtree and is inert elsewhere, so it is safe to leave on a panel that renders under every surface.
|
|
129
129
|
|
|
130
130
|
Full reference (what each emits, when to use it): `{{ORIGIN}}/utilities.md`. Machine-readable list: `{{ORIGIN}}/utilities.json`.
|