@lukeashford/aurelius 4.10.2 → 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/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**: * Whether artifacts are still loading (show skeletons)
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: 'warning' shows a dismissible amber notice, 'error' shows a persistent red notice
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, ignored for error.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "4.10.2",
3
+ "version": "4.11.0",
4
4
  "description": "Design system for Aurelius applications — A cohesive visual language for creative technologists",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",