@lukeashford/aurelius 2.19.0 → 2.21.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 +259 -31
- package/dist/index.d.ts +259 -31
- package/dist/index.js +1066 -547
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1017 -506
- package/dist/index.mjs.map +1 -1
- package/dist/styles/theme.css +30 -0
- package/llms.md +94 -26
- package/package.json +1 -1
package/dist/styles/theme.css
CHANGED
|
@@ -269,6 +269,36 @@
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
+
@keyframes badge-ping {
|
|
273
|
+
0% {
|
|
274
|
+
transform: scale(1);
|
|
275
|
+
box-shadow: 0 0 0 0 rgb(var(--gold-rgb) / 0.4);
|
|
276
|
+
}
|
|
277
|
+
40% {
|
|
278
|
+
transform: scale(1.15);
|
|
279
|
+
box-shadow: 0 0 0 6px rgb(var(--gold-rgb) / 0);
|
|
280
|
+
}
|
|
281
|
+
100% {
|
|
282
|
+
transform: scale(1);
|
|
283
|
+
box-shadow: 0 0 0 0 rgb(var(--gold-rgb) / 0);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
@keyframes badge-invert {
|
|
288
|
+
0% {
|
|
289
|
+
background-color: var(--color-gold);
|
|
290
|
+
color: var(--color-obsidian);
|
|
291
|
+
}
|
|
292
|
+
40% {
|
|
293
|
+
background-color: var(--color-obsidian);
|
|
294
|
+
color: var(--color-gold);
|
|
295
|
+
}
|
|
296
|
+
100% {
|
|
297
|
+
background-color: var(--color-gold);
|
|
298
|
+
color: var(--color-obsidian);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
272
302
|
/* ===== BASE STYLES (applied via @layer base) ===== */
|
|
273
303
|
@layer base {
|
|
274
304
|
html {
|
package/llms.md
CHANGED
|
@@ -100,15 +100,17 @@ Import from `@lukeashford/aurelius`:
|
|
|
100
100
|
|-----------|-------|
|
|
101
101
|
| Accordion | type, defaultValue, value, onValueChange, value, disabled |
|
|
102
102
|
| Alert | variant (info, success, warning, error), title |
|
|
103
|
-
| ArtifactCard | artifact, onExpand,
|
|
103
|
+
| ArtifactCard | artifact, onExpand, loading |
|
|
104
|
+
| ArtifactGroup | node, onClick |
|
|
105
|
+
| ArtifactVariantStack | node, onExpandArtifact, onGroupClick |
|
|
104
106
|
| AttachmentPreview | attachments, onRemove, removable, maxVisible |
|
|
105
|
-
| AudioCard | src, title, subtitle, playing, controls, volume, muted, loop, mediaClassName, contentClassName, playerProps, height |
|
|
107
|
+
| AudioCard | src, title, subtitle, playing, controls, volume, muted, loop, mediaClassName, contentClassName, playerProps, height, loading |
|
|
106
108
|
| Avatar | src, alt, name, size (xs, sm, md, lg, xl, 2xl), status (online, offline, busy) |
|
|
107
109
|
| Badge | variant (default, gold, success, error, warning, info) |
|
|
108
110
|
| BrandIcon | size (sm, md, lg), variant (solid, outline) |
|
|
109
111
|
| Breadcrumb | separator, current |
|
|
110
112
|
| Button | variant (primary, important, elevated, outlined, featured, ghost, danger), size (sm, md, lg, xl), loading |
|
|
111
|
-
| Card | variant (default, elevated, outlined, ghost, featured), interactive, selected, noPadding,
|
|
113
|
+
| Card | variant (default, elevated, outlined, ghost, featured), interactive, selected, noPadding, loading, title, subtitle, action, align, aspect, position |
|
|
112
114
|
| Checkbox | label |
|
|
113
115
|
| Col | span, offset, order |
|
|
114
116
|
| ColorSwatch | color, label |
|
|
@@ -118,7 +120,7 @@ Import from `@lukeashford/aurelius`:
|
|
|
118
120
|
| Drawer | isOpen, onClose, position (left, right, top, bottom), title, size, children, className |
|
|
119
121
|
| FileChip | name, size, type, status (pending, uploading, complete, error), previewUrl, onRemove, removable, error |
|
|
120
122
|
| HelperText | error |
|
|
121
|
-
| ImageCard | src, alt, title, subtitle, aspectRatio (${number}/${number}), objectFit, overlay, mediaClassName, contentClassName |
|
|
123
|
+
| ImageCard | src, alt, title, subtitle, aspectRatio (${number}/${number}), objectFit, overlay, mediaClassName, contentClassName, loading |
|
|
122
124
|
| Input | error, leadingIcon, trailingIcon |
|
|
123
125
|
| InputGroup | children |
|
|
124
126
|
| Label | required |
|
|
@@ -129,12 +131,12 @@ Import from `@lukeashford/aurelius`:
|
|
|
129
131
|
| Modal | isOpen, onClose, title, children, className |
|
|
130
132
|
| Navbar | fixed, bordered, position, active, active |
|
|
131
133
|
| Pagination | page, totalPages, onPageChange, siblingCount, showEdges |
|
|
132
|
-
| PdfCard | src, title, subtitle, height, mediaClassName, contentClassName |
|
|
134
|
+
| PdfCard | src, title, subtitle, height, mediaClassName, contentClassName, loading |
|
|
133
135
|
| Popover | children, trigger, position (top, bottom, left, right), align (start, center, end), open, onOpenChange, closeOnClickOutside |
|
|
134
136
|
| Progress | value, max, size (sm, md, lg), variant (default, success, warning, error), showValue, formatValue, indeterminate |
|
|
135
137
|
| Radio | label |
|
|
136
138
|
| Row | gutter, gutterX, gutterY, justify (start, center, end, between, around, evenly), align (start, center, end, stretch, baseline) |
|
|
137
|
-
| ScriptCard | title, subtitle, elements, maxHeight |
|
|
139
|
+
| ScriptCard | title, subtitle, elements, maxHeight, loading |
|
|
138
140
|
| SectionHeading | level (h2, h3) |
|
|
139
141
|
| Select | error, options |
|
|
140
142
|
| Skeleton | children |
|
|
@@ -146,20 +148,22 @@ Import from `@lukeashford/aurelius`:
|
|
|
146
148
|
| Switch | checked, defaultChecked, onCheckedChange, label |
|
|
147
149
|
| Table | responsive, hoverable, selected, sortable, sortDirection |
|
|
148
150
|
| Tabs | defaultValue, value, onValueChange, value, value, forceMount |
|
|
149
|
-
| TextCard | content, title, subtitle, isMarkdown, maxHeight, contentClassName |
|
|
151
|
+
| TextCard | content, title, subtitle, isMarkdown, maxHeight, contentClassName, loading |
|
|
150
152
|
| Textarea | error |
|
|
151
153
|
| Toast | children, position (top-right, top-left, bottom-right, bottom-left, top-center, bottom-center), defaultDuration |
|
|
152
154
|
| Tooltip | content, children, open, side (top, right, bottom, left) |
|
|
153
|
-
| VideoCard | src, title, subtitle, aspectRatio (${number}/${number}), playing, controls, light, volume, muted, loop, mediaClassName, contentClassName, playerProps |
|
|
154
|
-
| ArtifactsPanel |
|
|
155
|
+
| VideoCard | src, title, subtitle, aspectRatio (${number}/${number}), playing, controls, light, volume, muted, loop, mediaClassName, contentClassName, playerProps, loading |
|
|
156
|
+
| ArtifactsPanel | nodes, artifacts, loading, artifactCount, onExpand |
|
|
155
157
|
| BranchNavigator | current, total, onPrevious, onNext, size, showIcon |
|
|
156
158
|
| ChatInput | position (centered, bottom), placeholder, helperText, onSubmit, disabled, animate, isStreaming, onStop, attachments, onAttachmentsChange, showAttachmentButton, acceptedFileTypes |
|
|
157
|
-
| ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onStop, onSelectConversation, onNewChat, isStreaming, isThinking, placeholder, emptyStateHelper, initialSidebarCollapsed, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, artifacts, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle |
|
|
159
|
+
| ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onStop, onSelectConversation, onNewChat, isStreaming, isThinking, placeholder, emptyStateHelper, initialSidebarCollapsed, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, artifacts, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle |
|
|
158
160
|
| ChatView | messages, latestUserMessageIndex, isStreaming, isThinking, onScroll |
|
|
159
161
|
| ConversationSidebar | conversations, isCollapsed, onSelectConversation, onNewChat, onToggleCollapse, width, onResizeStart, onExpand |
|
|
160
162
|
| MessageActions | variant (user, assistant), content, onEdit, onRetry, isEditing, onEditingChange, editValue |
|
|
161
163
|
| ThinkingIndicator | isVisible, phraseInterval, phrases |
|
|
162
164
|
| TodosList | tasks, title |
|
|
165
|
+
| ToolPanelContainer | topContent, bottomContent, width, onResizeStart |
|
|
166
|
+
| ToolSidebar | tools, activeTools, onToggleTool |
|
|
163
167
|
| CheckSquareIcon | children |
|
|
164
168
|
| ChevronLeftIcon | children |
|
|
165
169
|
| ChevronRightIcon | children |
|
|
@@ -169,6 +173,7 @@ Import from `@lukeashford/aurelius`:
|
|
|
169
173
|
| ExpandIcon | children |
|
|
170
174
|
| HistoryIcon | children |
|
|
171
175
|
| LayersIcon | children |
|
|
176
|
+
| MediaIcon | children |
|
|
172
177
|
| PlusIcon | children |
|
|
173
178
|
| SquareLoaderIcon | children |
|
|
174
179
|
|
|
@@ -197,7 +202,26 @@ based on the artifact type.
|
|
|
197
202
|
- **Artifact.scriptElements**: * For html artifacts - structured script elements (used by ScriptCard)
|
|
198
203
|
- **artifact**: * The artifact object to display
|
|
199
204
|
- **onExpand**: * Callback when the artifact should be expanded/opened
|
|
200
|
-
- **
|
|
205
|
+
- **loading**: * Whether the artifact is still loading
|
|
206
|
+
|
|
207
|
+
**ArtifactGroup**
|
|
208
|
+
Renders a GROUP node as a Card with the group label as title. Inside,
|
|
209
|
+
the first child is shown on top with two offset layers behind it
|
|
210
|
+
(always shown as a visual symbol for "group"). A square count badge
|
|
211
|
+
shows the total items.
|
|
212
|
+
|
|
213
|
+
- **node**: * The GROUP node to display
|
|
214
|
+
- **onClick**: * Called when the group is clicked (e.g. to navigate into it)
|
|
215
|
+
|
|
216
|
+
**ArtifactVariantStack**
|
|
217
|
+
Renders a VARIANT_SET node as a Card with the set label as title.
|
|
218
|
+
Children are displayed in a horizontal row inside the card body.
|
|
219
|
+
Children handle their own click behavior (expand for artifacts,
|
|
220
|
+
navigate for groups).
|
|
221
|
+
|
|
222
|
+
- **node**: * The VARIANT_SET node to display
|
|
223
|
+
- **onExpandArtifact**: * Passed through to ArtifactCard children for expand/open behavior
|
|
224
|
+
- **onGroupClick**: * Passed through to ArtifactGroup children for navigation
|
|
201
225
|
|
|
202
226
|
**AttachmentPreview**
|
|
203
227
|
- **AttachmentItem.id**: * Unique identifier
|
|
@@ -312,21 +336,26 @@ A card for displaying text content, supporting Markdown and HTML formatting.
|
|
|
312
336
|
- **contentClassName**: * Optional class name for the content container
|
|
313
337
|
|
|
314
338
|
**ArtifactsPanel**
|
|
315
|
-
ArtifactsPanel displays
|
|
339
|
+
ArtifactsPanel displays artifacts in a navigable tree panel.
|
|
316
340
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
341
|
+
This is a content-only component — it fills whatever container it is
|
|
342
|
+
placed in. Opening/closing and resizing are handled by the parent
|
|
343
|
+
ToolPanelContainer and ToolSidebar.
|
|
320
344
|
|
|
321
|
-
|
|
345
|
+
When provided with `nodes`, it renders a tree-aware, navigable panel
|
|
346
|
+
where groups can be entered (breadcrumb navigation) and artifacts
|
|
347
|
+
can be expanded to a full-screen modal.
|
|
322
348
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
349
|
+
When provided with flat `artifacts`, it renders them in a simple grid.
|
|
350
|
+
|
|
351
|
+
Supports zoom controls (0.25x–1x) in tree mode. Zoom uses CSS
|
|
352
|
+
`transform: scale()` on the content wrapper so the entire layout scales
|
|
353
|
+
uniformly — cards, images, gaps, and text all shrink as if the viewer
|
|
354
|
+
is physically moving back from the content.
|
|
355
|
+
|
|
356
|
+
- **nodes**: * Top-level tree nodes to display. When provided, the panel renders a navigable artifact tree instead of a flat list.
|
|
357
|
+
- **artifacts**: * Array of flat artifacts to display (legacy/simple mode). Ignored when `nodes` is provided.
|
|
358
|
+
- **loading**: * Whether artifacts are still loading (show skeletons)
|
|
330
359
|
|
|
331
360
|
**BranchNavigator**
|
|
332
361
|
BranchNavigator provides a UI for switching between conversation branches.
|
|
@@ -369,7 +398,11 @@ ChatInterface is the main orchestrator for a full-featured chat experience.
|
|
|
369
398
|
Features:
|
|
370
399
|
- ConversationSidebar (left) — collapsible list of past conversations
|
|
371
400
|
- ChatView (center) — main conversation area with smart scrolling
|
|
372
|
-
-
|
|
401
|
+
- Tool panel system (right) — IntelliJ-style tool sidebar with:
|
|
402
|
+
- Top group: Chat History, Artifacts Panel (mutually exclusive)
|
|
403
|
+
- Bottom group: Todo List
|
|
404
|
+
- Vertical split with draggable divider when both groups are active
|
|
405
|
+
- Width-resizable tool content area
|
|
373
406
|
- ChatInput — position-aware input that centers in empty state
|
|
374
407
|
- Branching — support for conversation tree with branch navigation
|
|
375
408
|
- Message Actions — copy, edit, retry
|
|
@@ -405,9 +438,10 @@ Artifacts are controlled externally via the useArtifacts hook:
|
|
|
405
438
|
- **attachments**: * Current attachments for the chat input (controlled).
|
|
406
439
|
- **onAttachmentsChange**: * Called when attachments are added or removed in the chat input.
|
|
407
440
|
- **artifacts**: * Artifacts to display in the side panel. Best managed via the useArtifacts hook and passed here.
|
|
408
|
-
- **
|
|
441
|
+
- **artifactNodes**: * Top-level artifact tree nodes for tree-aware navigation. When provided, the panel renders a navigable tree instead of a flat list.
|
|
442
|
+
- **isArtifactsPanelOpen**: * Whether the artifacts panel is currently open (controlled). When set, maps to the tool panel system — opens the artifacts tool.
|
|
409
443
|
- **onArtifactsPanelOpenChange**: * Called when the artifacts panel is opened or closed (controlled).
|
|
410
|
-
- **tasks**: * Tasks to display in the todos list
|
|
444
|
+
- **tasks**: * Tasks to display in the todos list tool panel. Shows a list of tasks with status indicators.
|
|
411
445
|
- **tasksTitle**: * Title for the todos list @default "Tasks"
|
|
412
446
|
|
|
413
447
|
**ChatView**
|
|
@@ -480,9 +514,43 @@ The component automatically sorts cancelled/failed tasks to the bottom of their
|
|
|
480
514
|
- **tasks**: * Array of tasks to display
|
|
481
515
|
- **title**: * Title for the todos list @default "Tasks"
|
|
482
516
|
|
|
517
|
+
**ToolPanelContainer**
|
|
518
|
+
ToolPanelContainer manages the layout of one or two tool panels
|
|
519
|
+
stacked vertically. When both top and bottom slots are filled, a
|
|
520
|
+
height-adjustable divider appears between them.
|
|
521
|
+
|
|
522
|
+
It also renders the width-resize handle on its left edge, identical
|
|
523
|
+
to the previous ArtifactsPanel resize behavior.
|
|
524
|
+
|
|
525
|
+
- **topContent**: * Content for the top tool slot (from the top group). When null, the bottom slot takes full height.
|
|
526
|
+
- **bottomContent**: * Content for the bottom tool slot (from the bottom group). When null, the top slot takes full height.
|
|
527
|
+
- **width**: * Panel width as CSS value (e.g., "50vw")
|
|
528
|
+
- **onResizeStart**: * Callback to start horizontal resizing (width dragger)
|
|
529
|
+
|
|
530
|
+
**ToolSidebar**
|
|
531
|
+
ToolSidebar renders a vertical strip of tool icon buttons on the right
|
|
532
|
+
side of the chat interface. It follows the IntelliJ pattern:
|
|
533
|
+
|
|
534
|
+
- Top-aligned group and bottom-aligned group separated by a divider
|
|
535
|
+
- Tools in the same group are mutually exclusive
|
|
536
|
+
- Clicking an active tool closes it; clicking an inactive tool opens it
|
|
537
|
+
- Constant slim width regardless of tool panel state
|
|
538
|
+
|
|
539
|
+
- **ToolDefinition.id**: * Unique identifier for this tool
|
|
540
|
+
- **ToolDefinition.icon**: * Icon element shown in the sidebar button
|
|
541
|
+
- **ToolDefinition.label**: * Accessible label for the button
|
|
542
|
+
- **ToolDefinition.group**: * Which group the tool belongs to — tools in the same group are mutually exclusive (opening one closes the other).
|
|
543
|
+
- **tools**: * Available tool definitions
|
|
544
|
+
- **activeTools**: * Current state — which tool is open per group
|
|
545
|
+
- **onToggleTool**: * Called when a tool button is clicked (toggle)
|
|
546
|
+
|
|
483
547
|
**CrossSquareIcon**
|
|
484
548
|
- **variant**: * Visual variant for different states - 'cancelled': subtle ash coloring - 'failed': error red coloring
|
|
485
549
|
|
|
550
|
+
**MediaIcon**
|
|
551
|
+
Media icon — a film frame with play triangle, representing video and media artifacts.
|
|
552
|
+
|
|
553
|
+
|
|
486
554
|
**SquareLoaderIcon**
|
|
487
555
|
Square loading spinner with "snake" animation.
|
|
488
556
|
A golden stroke travels around a square border.
|
package/package.json
CHANGED