@lukeashford/aurelius 4.10.1 → 4.11.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/index.d.mts +94 -8
- package/dist/index.d.ts +94 -8
- package/dist/index.js +759 -694
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +580 -516
- package/dist/index.mjs.map +1 -1
- package/dist/styles/deliverable.css +13 -0
- package/llms.md +21 -4
- package/package.json +1 -1
|
@@ -503,6 +503,19 @@
|
|
|
503
503
|
}
|
|
504
504
|
|
|
505
505
|
@media print {
|
|
506
|
+
/* Reset the page chrome to paper. Host apps paint html/body with a dark
|
|
507
|
+
theme background for the on-screen view; in `window.print()` the browser
|
|
508
|
+
defaults "Background graphics" off so this stays invisible, but headless
|
|
509
|
+
Chromium prints with backgrounds on (it has to — the cover hero, palette
|
|
510
|
+
chips, and gold rules need their authored color). Without this reset the
|
|
511
|
+
PDF would render the dark page chrome behind every sheet. */
|
|
512
|
+
html, body {
|
|
513
|
+
/* `!important` because host apps often paint body via a Tailwind utility
|
|
514
|
+
class on <body> (higher specificity than the bare `body` selector),
|
|
515
|
+
and we always want paper-white at print time. */
|
|
516
|
+
background: white !important;
|
|
517
|
+
}
|
|
518
|
+
|
|
506
519
|
/* `print-color-adjust: exact` is inherited per the CSS Color Adjustment
|
|
507
520
|
spec, so setting it once at the root keeps Chromium from economising
|
|
508
521
|
authored backgrounds (cover obsidian, palette chips, the gold rule
|
package/llms.md
CHANGED
|
@@ -110,6 +110,7 @@ Import from `@lukeashford/aurelius`:
|
|
|
110
110
|
| Badge | variant (default, gold, success, error, warning, info) |
|
|
111
111
|
| BrandIcon | size (sm, md, lg), variant (solid, outline) |
|
|
112
112
|
| Breadcrumb | separator, current |
|
|
113
|
+
| BusyOverlay | label, blurStrength (sm, md, lg), tone (dim, frost) |
|
|
113
114
|
| Button | variant (primary, important, elevated, outlined, featured, ghost, danger), size (sm, md, lg, xl), loading |
|
|
114
115
|
| Card | variant (default, elevated, outlined, ghost, featured), interactive, selected, noPadding, loading, title, subtitle, action, handle, handle, align, aspect, position |
|
|
115
116
|
| Checkbox | label |
|
|
@@ -272,6 +273,22 @@ navigate for groups).
|
|
|
272
273
|
- **handle**: The artifact's `@-handle` — see `Card.Header.handle`.
|
|
273
274
|
- **playerProps**: Forwarded to the underlying ReactPlayer.
|
|
274
275
|
|
|
276
|
+
**BusyOverlay**
|
|
277
|
+
Centered busy indicator that mounts `position: absolute inset-0` over its
|
|
278
|
+
positioned parent. Use it when a known region is *temporarily unavailable
|
|
279
|
+
but its surrounding chrome still matters* — chat tree mid-load, retry
|
|
280
|
+
in-flight, "reconnecting" hops. Prefer `Skeleton` for data-shaped regions
|
|
281
|
+
where the layout is known and you can preview content shape; prefer the
|
|
282
|
+
`ChatInputNotice` slot when the unavailability is on a control rather
|
|
283
|
+
than a region.
|
|
284
|
+
|
|
285
|
+
The host must establish a positioning context (`relative`, `absolute`, or
|
|
286
|
+
`fixed`) — `BusyOverlay` does not create its own.
|
|
287
|
+
|
|
288
|
+
- **label**: * Optional content rendered next to the spinner — typically a short label like "Loading session…". Pass any ReactNode so callers can compose icons, countdowns, or even nested links if needed.
|
|
289
|
+
- **blurStrength**: * Backdrop blur strength. `sm` is the default and reads as "this region is busy, the scene behind is still legible". Use `md` or `lg` only when you deliberately want to discourage the user from interacting with the region behind — e.g. a destructive retry-in-flight. @default 'sm'
|
|
290
|
+
- **tone**: * Visual weight of the overlay tint. * - `dim` (default) — translucent dark wash, lighter on the eyes, communicates "this area is temporarily busy". - `frost` — heavier wash + blur, communicates "blocking-modal feel" suitable for in-flight retries where the user shouldn't keep reading the dimmed content. * @default 'dim'
|
|
291
|
+
|
|
275
292
|
**Card**
|
|
276
293
|
- **handle**: * Optional addressable handle (the artifact's `name` / `@-handle`). Renders as a tertiary monospace line below the subtitle, prefixed with `@`. Click copies `@<handle>` to the clipboard and pulses the handle once. Use to surface the typed identifier filmmakers reference in chat.
|
|
277
294
|
|
|
@@ -477,7 +494,7 @@ images, gaps, and text all shrink as if the viewer is physically
|
|
|
477
494
|
moving back from the content.
|
|
478
495
|
|
|
479
496
|
- **nodes**: * Top-level tree nodes to display in the navigable artifact tree.
|
|
480
|
-
- **loading**: *
|
|
497
|
+
- **loading**: * Loading signal for the panel. Pass `true` for the cold-start case — the panel renders placeholder skeleton cards in place of real artifacts so the user sees "stuff is on its way" instead of an empty grid. Pass a `CardSlotLoading` config to skeletonise specific slots on existing cards (e.g. while a single artifact's media is hydrating). Falsy ⇒ render real content.
|
|
481
498
|
- **openArtifactId**: * When set to a non-null id, surfaces the same expanded artifact card the panel grid would. Drives chip click-through from outside the panel. Pair with `onArtifactClosed` so the parent can clear its controller state when the user dismisses the modal.
|
|
482
499
|
- **onArtifactClosed**: * Called when the user closes the expanded card (X button or backdrop). The parent owns whether subsequent renders re-open by re-supplying `openArtifactId`.
|
|
483
500
|
- **getArtifactActions**: * Resolves the floating action cluster shown over the lightbox when an artifact is opened. Switch on `artifact.type` and return the host-owned buttons for that kind (e.g. Share + Download for deliverables, Download for images). Aurelius ships the close affordance itself; return only the kind-specific actions, or `null` when there are none. The `ctx.onClose` helper lets actions dismiss the lightbox after a successful operation.
|
|
@@ -504,9 +521,9 @@ Features:
|
|
|
504
521
|
- Streaming state with stop button
|
|
505
522
|
- Animated transition between positions
|
|
506
523
|
|
|
507
|
-
- **ChatInputNotice.variant**: * Visual severity
|
|
508
|
-
- **ChatInputNotice.content**: * Content to render — plain text or any React node (e.g. text + button for error state)
|
|
509
|
-
- **ChatInputNotice.dismissible**: * Whether to show a dismiss (×) button. Defaults to true for warning
|
|
524
|
+
- **ChatInputNotice.variant**: * Visual severity. `info` is muted neutral (slate) and non-dismissible by default — use it for transient "control unavailable" states like draft hydration or backend reconnects. `warning` is amber and dismissible by default — use it for soft-limit warnings the user can still act past. `error` is red and non-dismissible by default — use it for hard-block states like credit exhaustion.
|
|
525
|
+
- **ChatInputNotice.content**: * Content to render — plain text or any React node (e.g. text + button for error state, or a `<Spinner/>` + label for info).
|
|
526
|
+
- **ChatInputNotice.dismissible**: * Whether to show a dismiss (×) button. Defaults to true for `warning`, false for `info` and `error`. Override either way explicitly.
|
|
510
527
|
- **ChatInputNotice.onDismiss**: * Called when the dismiss button is clicked. Consumer controls whether the notice disappears.
|
|
511
528
|
- **position**: * Position of the input: 'centered' for empty state, 'bottom' for conversation mode
|
|
512
529
|
- **placeholder**: * Placeholder text for the input
|
package/package.json
CHANGED