@lukeashford/aurelius 4.8.0 → 4.10.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 +51 -3
- package/dist/index.d.ts +51 -3
- package/dist/index.js +58 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -19
- package/dist/index.mjs.map +1 -1
- package/dist/styles/deliverable.css +357 -72
- package/dist/styles/fonts/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoq92nPWc3ZyhTg.woff2 +0 -0
- package/dist/styles/fonts/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqF2nPWc3ZyhTjcV.woff2 +0 -0
- package/dist/styles/fonts/0QIvMX1D_JOuMwT7I_FMl_GW8g.woff2 +0 -0
- package/dist/styles/fonts/0QIvMX1D_JOuMwr7I_FMl_E.woff2 +0 -0
- package/dist/styles/fonts/4UaErEJDsxBrF37olUeD_xHM8pxULilENlY.woff2 +0 -0
- package/dist/styles/fonts/4UaHrEJDsxBrF37olUeD96rp57F2IwM.woff2 +0 -0
- package/dist/styles/fonts/OFL_ComicNeue.txt +93 -0
- package/dist/styles/fonts/OFL_Inter.txt +93 -0
- package/dist/styles/fonts/OFL_Lora.txt +93 -0
- package/dist/styles/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2 +0 -0
- package/dist/styles/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2 +0 -0
- package/dist/styles/fonts.css +84 -0
- package/llms.md +2 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1535,9 +1535,13 @@ interface Deliverable {
|
|
|
1535
1535
|
clientName?: string | null;
|
|
1536
1536
|
/** Optional accent hex color (e.g. "#fecb6b"). Falls back to design-system gold. */
|
|
1537
1537
|
accentColor?: string | null;
|
|
1538
|
+
/** Optional theme preset. Defaults to `cinematic` when omitted. */
|
|
1539
|
+
theme?: DeliverableTheme | null;
|
|
1538
1540
|
/** Ordered sections. Render in array order. */
|
|
1539
1541
|
sections: DeliverableSection[];
|
|
1540
1542
|
}
|
|
1543
|
+
/** Document-level visual identity preset. */
|
|
1544
|
+
type DeliverableTheme = 'cinematic' | 'editorial' | 'minimal' | 'playful';
|
|
1541
1545
|
/**
|
|
1542
1546
|
* Discriminated union of section types. Each variant has a matching renderer
|
|
1543
1547
|
* in aurelius — the agent fills the spec, never raw layout instructions.
|
|
@@ -1554,14 +1558,39 @@ interface ArtifactImageGridSection$1 {
|
|
|
1554
1558
|
heading?: string | null;
|
|
1555
1559
|
/** 1, 2 or 3. */
|
|
1556
1560
|
columns: number;
|
|
1561
|
+
/**
|
|
1562
|
+
* Aspect ratio applied to every image in the grid. Defaults to `landscape`
|
|
1563
|
+
* when omitted.
|
|
1564
|
+
*/
|
|
1565
|
+
aspectRatio?: ImageGridAspectRatio | null;
|
|
1557
1566
|
items: DeliverableImageItem[];
|
|
1558
1567
|
}
|
|
1568
|
+
/**
|
|
1569
|
+
* Allowed values for {@link ArtifactImageGridSection.aspectRatio}. Each
|
|
1570
|
+
* controls a single CSS `aspect-ratio` applied uniformly across the grid:
|
|
1571
|
+
* `landscape` → 4:3, `portrait` → 3:4, `square` → 1:1, `wide` → 16:9.
|
|
1572
|
+
*/
|
|
1573
|
+
type ImageGridAspectRatio = 'landscape' | 'portrait' | 'square' | 'wide';
|
|
1559
1574
|
interface ArtifactSpotlightSection$1 {
|
|
1560
1575
|
type: 'ARTIFACT_SPOTLIGHT';
|
|
1561
1576
|
heading?: string | null;
|
|
1562
1577
|
artifact: DeliverableArtifactRef;
|
|
1563
1578
|
body?: string | null;
|
|
1579
|
+
/**
|
|
1580
|
+
* Layout variant. Defaults to `framed` when omitted.
|
|
1581
|
+
*/
|
|
1582
|
+
variant?: SpotlightVariant | null;
|
|
1564
1583
|
}
|
|
1584
|
+
/**
|
|
1585
|
+
* Allowed values for {@link ArtifactSpotlightSection.variant}.
|
|
1586
|
+
* `framed` → image above body (default).
|
|
1587
|
+
* `full-bleed` → image claims a full edge-to-edge page in print; the
|
|
1588
|
+
* heading and body are suppressed in print so the image
|
|
1589
|
+
* alone carries the page. Use sparingly — once or twice
|
|
1590
|
+
* per deck — for the marquee moment.
|
|
1591
|
+
* `side-by-side` → image left, body right on the same page.
|
|
1592
|
+
*/
|
|
1593
|
+
type SpotlightVariant = 'framed' | 'full-bleed' | 'side-by-side';
|
|
1565
1594
|
interface TextBlockSection$1 {
|
|
1566
1595
|
type: 'TEXT_BLOCK';
|
|
1567
1596
|
heading?: string | null;
|
|
@@ -1648,7 +1677,8 @@ interface ArtifactSpotlightSectionProps {
|
|
|
1648
1677
|
}
|
|
1649
1678
|
/**
|
|
1650
1679
|
* A single hero artifact image with optional prose alongside. Reads at full
|
|
1651
|
-
* page width on screen and prints to a single page
|
|
1680
|
+
* page width on screen and prints to a single page (or a full-bleed page for
|
|
1681
|
+
* the `full-bleed` variant).
|
|
1652
1682
|
*/
|
|
1653
1683
|
declare function ArtifactSpotlightSection({ data }: ArtifactSpotlightSectionProps): React$1.JSX.Element;
|
|
1654
1684
|
|
|
@@ -1882,6 +1912,24 @@ interface Conversation {
|
|
|
1882
1912
|
*/
|
|
1883
1913
|
isActive?: boolean;
|
|
1884
1914
|
}
|
|
1915
|
+
/**
|
|
1916
|
+
* Imperative API exposed by `ChatInterface` via its forwarded ref. Use this from
|
|
1917
|
+
* call sites that need to drive the chat from outside React state — typically
|
|
1918
|
+
* to surface an artifact when the user clicks a `MentionChip` or other
|
|
1919
|
+
* cross-surface pointer. Attach with
|
|
1920
|
+
* `useRef<ChatInterfaceHandle>(null)` and read `ref.current?.openArtifact(name)`.
|
|
1921
|
+
*/
|
|
1922
|
+
interface ChatInterfaceHandle {
|
|
1923
|
+
/**
|
|
1924
|
+
* Open the artifact lightbox for the given artifact name. Ensures the
|
|
1925
|
+
* artifacts panel is open (overriding any prior dismissal) before
|
|
1926
|
+
* surfacing the lightbox, since the lightbox renders inside the panel.
|
|
1927
|
+
* If the name is not present in the current artifact tree, the call is a
|
|
1928
|
+
* no-op — the chip's leading icon already signals unknown / stale
|
|
1929
|
+
* references via `HelpCircle`.
|
|
1930
|
+
*/
|
|
1931
|
+
openArtifact(name: string): void;
|
|
1932
|
+
}
|
|
1885
1933
|
interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
|
|
1886
1934
|
/**
|
|
1887
1935
|
* Array of messages in the conversation (flat mode)
|
|
@@ -2109,7 +2157,7 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
2109
2157
|
* Artifacts are supplied as a tree of ArtifactNode objects via the
|
|
2110
2158
|
* artifactNodes prop.
|
|
2111
2159
|
*/
|
|
2112
|
-
declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<
|
|
2160
|
+
declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<ChatInterfaceHandle>>;
|
|
2113
2161
|
|
|
2114
2162
|
/**
|
|
2115
2163
|
* What kind of project mutation produced this checkpoint. Drives the icon and
|
|
@@ -2831,4 +2879,4 @@ declare function getTextareaCaretCoords(textarea: HTMLTextAreaElement): Textarea
|
|
|
2831
2879
|
|
|
2832
2880
|
declare const version = "2.0.0";
|
|
2833
2881
|
|
|
2834
|
-
export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AddNodeOptions, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, ArtifactImageGridSection, type ArtifactImageGridSectionProps, type ArtifactNode, ArtifactSpotlightSection, type ArtifactSpotlightSectionProps, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputNotice, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatNode, ChatView, type ChatViewCheckpointItem, type ChatViewDividerItem, type ChatViewItem, type ChatViewMessageItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, Checkpoint, type CheckpointBranchInfo, type CheckpointExecutionKind, type CheckpointNode, type CheckpointProps, type CheckpointStatus, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorPaletteSection, type ColorPaletteSectionProps, ColorSwatch, type ColorSwatchProps, Combobox, type ComboboxNav, type ComboboxProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CoverSection, type CoverSectionProps, CrossSquareIcon, type Deliverable, type DeliverableArtifactRef, DeliverableCard, type DeliverableCardProps, type DeliverableImageItem, DeliverableRenderer, type DeliverableRendererProps, type DeliverableSection, type DeliverableSwatch, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, GreyedDivider, type GreyedDividerProps, HelperText, type HelperTextProps, HistoryIcon, HistoryPanel, type HistoryPanelProps, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, Lightbox, type LightboxProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, MentionChip, type MentionChipProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeTopology, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, QuoteBlockSection, type QuoteBlockSectionProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextBlockSection, type TextBlockSectionProps, TextCard, type TextCardProps, Textarea, type TextareaCaretCoords, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type TreeNode, type UseArtifactTreeNavigationReturn, type UseComboboxNavOptions, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addNodeToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, findAncestor, generateId, getActivePath, getGreyedFuture, getSiblingInfo, getTextareaCaretCoords, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, setActiveLeaf, switchBranch, updateMessageContent, useArtifactTreeNavigation, useComboboxNav, useResizable, useScrollAnchor, useToast, version };
|
|
2882
|
+
export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AddNodeOptions, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, ArtifactImageGridSection, type ArtifactImageGridSectionProps, type ArtifactNode, ArtifactSpotlightSection, type ArtifactSpotlightSectionProps, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputNotice, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceHandle, type ChatInterfaceProps, type ChatNode, ChatView, type ChatViewCheckpointItem, type ChatViewDividerItem, type ChatViewItem, type ChatViewMessageItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, Checkpoint, type CheckpointBranchInfo, type CheckpointExecutionKind, type CheckpointNode, type CheckpointProps, type CheckpointStatus, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorPaletteSection, type ColorPaletteSectionProps, ColorSwatch, type ColorSwatchProps, Combobox, type ComboboxNav, type ComboboxProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CoverSection, type CoverSectionProps, CrossSquareIcon, type Deliverable, type DeliverableArtifactRef, DeliverableCard, type DeliverableCardProps, type DeliverableImageItem, DeliverableRenderer, type DeliverableRendererProps, type DeliverableSection, type DeliverableSwatch, type DeliverableTheme, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, GreyedDivider, type GreyedDividerProps, HelperText, type HelperTextProps, HistoryIcon, HistoryPanel, type HistoryPanelProps, type IconProps, ImageCard, type ImageCardProps, type ImageGridAspectRatio, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, Lightbox, type LightboxProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, MentionChip, type MentionChipProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeTopology, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, QuoteBlockSection, type QuoteBlockSectionProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, type SpotlightVariant, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextBlockSection, type TextBlockSectionProps, TextCard, type TextCardProps, Textarea, type TextareaCaretCoords, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type TreeNode, type UseArtifactTreeNavigationReturn, type UseComboboxNavOptions, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addNodeToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, findAncestor, generateId, getActivePath, getGreyedFuture, getSiblingInfo, getTextareaCaretCoords, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, setActiveLeaf, switchBranch, updateMessageContent, useArtifactTreeNavigation, useComboboxNav, useResizable, useScrollAnchor, useToast, version };
|
package/dist/index.d.ts
CHANGED
|
@@ -1535,9 +1535,13 @@ interface Deliverable {
|
|
|
1535
1535
|
clientName?: string | null;
|
|
1536
1536
|
/** Optional accent hex color (e.g. "#fecb6b"). Falls back to design-system gold. */
|
|
1537
1537
|
accentColor?: string | null;
|
|
1538
|
+
/** Optional theme preset. Defaults to `cinematic` when omitted. */
|
|
1539
|
+
theme?: DeliverableTheme | null;
|
|
1538
1540
|
/** Ordered sections. Render in array order. */
|
|
1539
1541
|
sections: DeliverableSection[];
|
|
1540
1542
|
}
|
|
1543
|
+
/** Document-level visual identity preset. */
|
|
1544
|
+
type DeliverableTheme = 'cinematic' | 'editorial' | 'minimal' | 'playful';
|
|
1541
1545
|
/**
|
|
1542
1546
|
* Discriminated union of section types. Each variant has a matching renderer
|
|
1543
1547
|
* in aurelius — the agent fills the spec, never raw layout instructions.
|
|
@@ -1554,14 +1558,39 @@ interface ArtifactImageGridSection$1 {
|
|
|
1554
1558
|
heading?: string | null;
|
|
1555
1559
|
/** 1, 2 or 3. */
|
|
1556
1560
|
columns: number;
|
|
1561
|
+
/**
|
|
1562
|
+
* Aspect ratio applied to every image in the grid. Defaults to `landscape`
|
|
1563
|
+
* when omitted.
|
|
1564
|
+
*/
|
|
1565
|
+
aspectRatio?: ImageGridAspectRatio | null;
|
|
1557
1566
|
items: DeliverableImageItem[];
|
|
1558
1567
|
}
|
|
1568
|
+
/**
|
|
1569
|
+
* Allowed values for {@link ArtifactImageGridSection.aspectRatio}. Each
|
|
1570
|
+
* controls a single CSS `aspect-ratio` applied uniformly across the grid:
|
|
1571
|
+
* `landscape` → 4:3, `portrait` → 3:4, `square` → 1:1, `wide` → 16:9.
|
|
1572
|
+
*/
|
|
1573
|
+
type ImageGridAspectRatio = 'landscape' | 'portrait' | 'square' | 'wide';
|
|
1559
1574
|
interface ArtifactSpotlightSection$1 {
|
|
1560
1575
|
type: 'ARTIFACT_SPOTLIGHT';
|
|
1561
1576
|
heading?: string | null;
|
|
1562
1577
|
artifact: DeliverableArtifactRef;
|
|
1563
1578
|
body?: string | null;
|
|
1579
|
+
/**
|
|
1580
|
+
* Layout variant. Defaults to `framed` when omitted.
|
|
1581
|
+
*/
|
|
1582
|
+
variant?: SpotlightVariant | null;
|
|
1564
1583
|
}
|
|
1584
|
+
/**
|
|
1585
|
+
* Allowed values for {@link ArtifactSpotlightSection.variant}.
|
|
1586
|
+
* `framed` → image above body (default).
|
|
1587
|
+
* `full-bleed` → image claims a full edge-to-edge page in print; the
|
|
1588
|
+
* heading and body are suppressed in print so the image
|
|
1589
|
+
* alone carries the page. Use sparingly — once or twice
|
|
1590
|
+
* per deck — for the marquee moment.
|
|
1591
|
+
* `side-by-side` → image left, body right on the same page.
|
|
1592
|
+
*/
|
|
1593
|
+
type SpotlightVariant = 'framed' | 'full-bleed' | 'side-by-side';
|
|
1565
1594
|
interface TextBlockSection$1 {
|
|
1566
1595
|
type: 'TEXT_BLOCK';
|
|
1567
1596
|
heading?: string | null;
|
|
@@ -1648,7 +1677,8 @@ interface ArtifactSpotlightSectionProps {
|
|
|
1648
1677
|
}
|
|
1649
1678
|
/**
|
|
1650
1679
|
* A single hero artifact image with optional prose alongside. Reads at full
|
|
1651
|
-
* page width on screen and prints to a single page
|
|
1680
|
+
* page width on screen and prints to a single page (or a full-bleed page for
|
|
1681
|
+
* the `full-bleed` variant).
|
|
1652
1682
|
*/
|
|
1653
1683
|
declare function ArtifactSpotlightSection({ data }: ArtifactSpotlightSectionProps): React$1.JSX.Element;
|
|
1654
1684
|
|
|
@@ -1882,6 +1912,24 @@ interface Conversation {
|
|
|
1882
1912
|
*/
|
|
1883
1913
|
isActive?: boolean;
|
|
1884
1914
|
}
|
|
1915
|
+
/**
|
|
1916
|
+
* Imperative API exposed by `ChatInterface` via its forwarded ref. Use this from
|
|
1917
|
+
* call sites that need to drive the chat from outside React state — typically
|
|
1918
|
+
* to surface an artifact when the user clicks a `MentionChip` or other
|
|
1919
|
+
* cross-surface pointer. Attach with
|
|
1920
|
+
* `useRef<ChatInterfaceHandle>(null)` and read `ref.current?.openArtifact(name)`.
|
|
1921
|
+
*/
|
|
1922
|
+
interface ChatInterfaceHandle {
|
|
1923
|
+
/**
|
|
1924
|
+
* Open the artifact lightbox for the given artifact name. Ensures the
|
|
1925
|
+
* artifacts panel is open (overriding any prior dismissal) before
|
|
1926
|
+
* surfacing the lightbox, since the lightbox renders inside the panel.
|
|
1927
|
+
* If the name is not present in the current artifact tree, the call is a
|
|
1928
|
+
* no-op — the chip's leading icon already signals unknown / stale
|
|
1929
|
+
* references via `HelpCircle`.
|
|
1930
|
+
*/
|
|
1931
|
+
openArtifact(name: string): void;
|
|
1932
|
+
}
|
|
1885
1933
|
interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
|
|
1886
1934
|
/**
|
|
1887
1935
|
* Array of messages in the conversation (flat mode)
|
|
@@ -2109,7 +2157,7 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
2109
2157
|
* Artifacts are supplied as a tree of ArtifactNode objects via the
|
|
2110
2158
|
* artifactNodes prop.
|
|
2111
2159
|
*/
|
|
2112
|
-
declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<
|
|
2160
|
+
declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<ChatInterfaceHandle>>;
|
|
2113
2161
|
|
|
2114
2162
|
/**
|
|
2115
2163
|
* What kind of project mutation produced this checkpoint. Drives the icon and
|
|
@@ -2831,4 +2879,4 @@ declare function getTextareaCaretCoords(textarea: HTMLTextAreaElement): Textarea
|
|
|
2831
2879
|
|
|
2832
2880
|
declare const version = "2.0.0";
|
|
2833
2881
|
|
|
2834
|
-
export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AddNodeOptions, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, ArtifactImageGridSection, type ArtifactImageGridSectionProps, type ArtifactNode, ArtifactSpotlightSection, type ArtifactSpotlightSectionProps, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputNotice, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatNode, ChatView, type ChatViewCheckpointItem, type ChatViewDividerItem, type ChatViewItem, type ChatViewMessageItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, Checkpoint, type CheckpointBranchInfo, type CheckpointExecutionKind, type CheckpointNode, type CheckpointProps, type CheckpointStatus, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorPaletteSection, type ColorPaletteSectionProps, ColorSwatch, type ColorSwatchProps, Combobox, type ComboboxNav, type ComboboxProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CoverSection, type CoverSectionProps, CrossSquareIcon, type Deliverable, type DeliverableArtifactRef, DeliverableCard, type DeliverableCardProps, type DeliverableImageItem, DeliverableRenderer, type DeliverableRendererProps, type DeliverableSection, type DeliverableSwatch, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, GreyedDivider, type GreyedDividerProps, HelperText, type HelperTextProps, HistoryIcon, HistoryPanel, type HistoryPanelProps, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, Lightbox, type LightboxProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, MentionChip, type MentionChipProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeTopology, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, QuoteBlockSection, type QuoteBlockSectionProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextBlockSection, type TextBlockSectionProps, TextCard, type TextCardProps, Textarea, type TextareaCaretCoords, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type TreeNode, type UseArtifactTreeNavigationReturn, type UseComboboxNavOptions, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addNodeToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, findAncestor, generateId, getActivePath, getGreyedFuture, getSiblingInfo, getTextareaCaretCoords, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, setActiveLeaf, switchBranch, updateMessageContent, useArtifactTreeNavigation, useComboboxNav, useResizable, useScrollAnchor, useToast, version };
|
|
2882
|
+
export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AddNodeOptions, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, ArtifactImageGridSection, type ArtifactImageGridSectionProps, type ArtifactNode, ArtifactSpotlightSection, type ArtifactSpotlightSectionProps, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputNotice, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceHandle, type ChatInterfaceProps, type ChatNode, ChatView, type ChatViewCheckpointItem, type ChatViewDividerItem, type ChatViewItem, type ChatViewMessageItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, Checkpoint, type CheckpointBranchInfo, type CheckpointExecutionKind, type CheckpointNode, type CheckpointProps, type CheckpointStatus, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorPaletteSection, type ColorPaletteSectionProps, ColorSwatch, type ColorSwatchProps, Combobox, type ComboboxNav, type ComboboxProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CoverSection, type CoverSectionProps, CrossSquareIcon, type Deliverable, type DeliverableArtifactRef, DeliverableCard, type DeliverableCardProps, type DeliverableImageItem, DeliverableRenderer, type DeliverableRendererProps, type DeliverableSection, type DeliverableSwatch, type DeliverableTheme, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, GreyedDivider, type GreyedDividerProps, HelperText, type HelperTextProps, HistoryIcon, HistoryPanel, type HistoryPanelProps, type IconProps, ImageCard, type ImageCardProps, type ImageGridAspectRatio, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, Lightbox, type LightboxProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, MentionChip, type MentionChipProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeTopology, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, QuoteBlockSection, type QuoteBlockSectionProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, type SpotlightVariant, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextBlockSection, type TextBlockSectionProps, TextCard, type TextCardProps, Textarea, type TextareaCaretCoords, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type TreeNode, type UseArtifactTreeNavigationReturn, type UseComboboxNavOptions, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addNodeToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, findAncestor, generateId, getActivePath, getGreyedFuture, getSiblingInfo, getTextareaCaretCoords, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, setActiveLeaf, switchBranch, updateMessageContent, useArtifactTreeNavigation, useComboboxNav, useResizable, useScrollAnchor, useToast, version };
|
package/dist/index.js
CHANGED
|
@@ -6121,7 +6121,7 @@ var import_react84 = __toESM(require("react"));
|
|
|
6121
6121
|
// src/components/deliverable/CoverSection.tsx
|
|
6122
6122
|
var import_react78 = __toESM(require("react"));
|
|
6123
6123
|
function CoverSection({ data, clientName }) {
|
|
6124
|
-
return /* @__PURE__ */ import_react78.default.createElement("section", { className: "deliverable-cover deliverable-page" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "deliverable-cover-inner" }, data.eyebrow && /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-eyebrow" }, data.eyebrow), /* @__PURE__ */ import_react78.default.createElement("h1", { className: "deliverable-cover-title" }, data.title), data.subtitle && /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-subtitle" }, data.subtitle), clientName && /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-client" }, "Prepared for", " ", /* @__PURE__ */ import_react78.default.createElement("span", { className: "deliverable-cover-client-name" }, clientName))));
|
|
6124
|
+
return /* @__PURE__ */ import_react78.default.createElement("section", { className: "deliverable-cover deliverable-page" }, /* @__PURE__ */ import_react78.default.createElement("div", { className: "deliverable-cover-inner" }, data.eyebrow && /* @__PURE__ */ import_react78.default.createElement(import_react78.default.Fragment, null, /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-eyebrow" }, data.eyebrow), /* @__PURE__ */ import_react78.default.createElement("div", { className: "deliverable-cover-rule", "aria-hidden": "true" })), /* @__PURE__ */ import_react78.default.createElement("h1", { className: "deliverable-cover-title" }, data.title), data.subtitle && /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-subtitle" }, data.subtitle), clientName && /* @__PURE__ */ import_react78.default.createElement("p", { className: "deliverable-cover-client" }, "Prepared for", " ", /* @__PURE__ */ import_react78.default.createElement("span", { className: "deliverable-cover-client-name" }, clientName))));
|
|
6125
6125
|
}
|
|
6126
6126
|
|
|
6127
6127
|
// src/components/deliverable/ArtifactImageGridSection.tsx
|
|
@@ -6131,16 +6131,33 @@ var COLUMN_CLASSES = {
|
|
|
6131
6131
|
2: "deliverable-image-grid-cols-2",
|
|
6132
6132
|
3: "deliverable-image-grid-cols-3"
|
|
6133
6133
|
};
|
|
6134
|
+
var ASPECT_CLASSES = {
|
|
6135
|
+
landscape: "deliverable-image-grid-aspect-landscape",
|
|
6136
|
+
portrait: "deliverable-image-grid-aspect-portrait",
|
|
6137
|
+
square: "deliverable-image-grid-aspect-square",
|
|
6138
|
+
wide: "deliverable-image-grid-aspect-wide"
|
|
6139
|
+
};
|
|
6134
6140
|
function ArtifactImageGridSection({ data }) {
|
|
6135
6141
|
const columns = clampColumns(data.columns);
|
|
6136
|
-
|
|
6137
|
-
|
|
6142
|
+
const aspect = data.aspectRatio ?? "landscape";
|
|
6143
|
+
return /* @__PURE__ */ import_react79.default.createElement("section", { className: "deliverable-page" }, data.heading && /* @__PURE__ */ import_react79.default.createElement("h2", { className: "deliverable-heading" }, data.heading), /* @__PURE__ */ import_react79.default.createElement(
|
|
6144
|
+
"div",
|
|
6138
6145
|
{
|
|
6139
|
-
|
|
6140
|
-
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6146
|
+
className: cx(
|
|
6147
|
+
"deliverable-image-grid",
|
|
6148
|
+
COLUMN_CLASSES[columns],
|
|
6149
|
+
ASPECT_CLASSES[aspect]
|
|
6150
|
+
)
|
|
6151
|
+
},
|
|
6152
|
+
data.items.map((item, idx) => /* @__PURE__ */ import_react79.default.createElement("figure", { key: idx, className: "deliverable-image-item" }, item.artifact.url ? /* @__PURE__ */ import_react79.default.createElement(
|
|
6153
|
+
"img",
|
|
6154
|
+
{
|
|
6155
|
+
src: item.artifact.url,
|
|
6156
|
+
alt: item.artifact.title ?? "",
|
|
6157
|
+
className: "deliverable-image-img"
|
|
6158
|
+
}
|
|
6159
|
+
) : /* @__PURE__ */ import_react79.default.createElement("div", { className: "deliverable-image-missing" }, "Missing image"), item.caption && /* @__PURE__ */ import_react79.default.createElement("figcaption", { className: "deliverable-image-caption" }, item.caption)))
|
|
6160
|
+
));
|
|
6144
6161
|
}
|
|
6145
6162
|
function clampColumns(n) {
|
|
6146
6163
|
if (n <= 1) return 1;
|
|
@@ -6150,8 +6167,14 @@ function clampColumns(n) {
|
|
|
6150
6167
|
|
|
6151
6168
|
// src/components/deliverable/ArtifactSpotlightSection.tsx
|
|
6152
6169
|
var import_react80 = __toESM(require("react"));
|
|
6170
|
+
var VARIANT_CLASSES = {
|
|
6171
|
+
framed: null,
|
|
6172
|
+
"full-bleed": "deliverable-spotlight-variant-full-bleed",
|
|
6173
|
+
"side-by-side": "deliverable-spotlight-variant-side-by-side"
|
|
6174
|
+
};
|
|
6153
6175
|
function ArtifactSpotlightSection({ data }) {
|
|
6154
|
-
|
|
6176
|
+
const variant = data.variant ?? "framed";
|
|
6177
|
+
return /* @__PURE__ */ import_react80.default.createElement("section", { className: cx("deliverable-page", VARIANT_CLASSES[variant]) }, data.heading && /* @__PURE__ */ import_react80.default.createElement("h2", { className: "deliverable-heading" }, data.heading), /* @__PURE__ */ import_react80.default.createElement("div", { className: "deliverable-spotlight-media" }, data.artifact.url ? /* @__PURE__ */ import_react80.default.createElement(
|
|
6155
6178
|
"img",
|
|
6156
6179
|
{
|
|
6157
6180
|
src: data.artifact.url,
|
|
@@ -6199,6 +6222,12 @@ function QuoteBlockSection({ data }) {
|
|
|
6199
6222
|
}
|
|
6200
6223
|
|
|
6201
6224
|
// src/components/deliverable/DeliverableRenderer.tsx
|
|
6225
|
+
var THEME_CLASSES = {
|
|
6226
|
+
cinematic: null,
|
|
6227
|
+
editorial: "deliverable-theme-editorial",
|
|
6228
|
+
minimal: "deliverable-theme-minimal",
|
|
6229
|
+
playful: "deliverable-theme-playful"
|
|
6230
|
+
};
|
|
6202
6231
|
function DeliverableRenderer({
|
|
6203
6232
|
deliverable,
|
|
6204
6233
|
onDownloadPdf,
|
|
@@ -6208,6 +6237,8 @@ function DeliverableRenderer({
|
|
|
6208
6237
|
const [isDownloading, setIsDownloading] = (0, import_react84.useState)(false);
|
|
6209
6238
|
const accent = deliverable.accentColor?.trim();
|
|
6210
6239
|
const style = accent ? { "--deliverable-accent": accent } : void 0;
|
|
6240
|
+
const theme = deliverable.theme ?? "cinematic";
|
|
6241
|
+
const themeClass = THEME_CLASSES[theme];
|
|
6211
6242
|
const handleDownload = async () => {
|
|
6212
6243
|
if (!onDownloadPdf || isDownloading) return;
|
|
6213
6244
|
setIsDownloading(true);
|
|
@@ -6220,7 +6251,7 @@ function DeliverableRenderer({
|
|
|
6220
6251
|
return /* @__PURE__ */ import_react84.default.createElement(
|
|
6221
6252
|
"div",
|
|
6222
6253
|
{
|
|
6223
|
-
className: cx("deliverable", className),
|
|
6254
|
+
className: cx("deliverable", themeClass, className),
|
|
6224
6255
|
style
|
|
6225
6256
|
},
|
|
6226
6257
|
deliverable.sections.map((section, idx) => renderSection(section, idx, deliverable)),
|
|
@@ -7509,13 +7540,6 @@ var ChatInterface = import_react93.default.forwardRef(
|
|
|
7509
7540
|
const prevArtifactNodesRef = (0, import_react93.useRef)([]);
|
|
7510
7541
|
const prevTasksRef = (0, import_react93.useRef)([]);
|
|
7511
7542
|
const [panelOpenArtifactId, setPanelOpenArtifactId] = (0, import_react93.useState)(null);
|
|
7512
|
-
const handleAttachmentOpen = (0, import_react93.useCallback)((artifactId) => {
|
|
7513
|
-
setPanelOpenArtifactId(artifactId);
|
|
7514
|
-
onAttachmentOpen?.(artifactId);
|
|
7515
|
-
}, [onAttachmentOpen]);
|
|
7516
|
-
const handleArtifactPanelClosed = (0, import_react93.useCallback)(() => {
|
|
7517
|
-
setPanelOpenArtifactId(null);
|
|
7518
|
-
}, []);
|
|
7519
7543
|
const [internalTools, setInternalTools] = (0, import_react93.useState)({
|
|
7520
7544
|
"top-left": "history",
|
|
7521
7545
|
"bottom-left": null,
|
|
@@ -7523,6 +7547,23 @@ var ChatInterface = import_react93.default.forwardRef(
|
|
|
7523
7547
|
"bottom-right": null
|
|
7524
7548
|
});
|
|
7525
7549
|
const dismissedToolsRef = (0, import_react93.useRef)(/* @__PURE__ */ new Set());
|
|
7550
|
+
const openArtifact = (0, import_react93.useCallback)((artifactId) => {
|
|
7551
|
+
dismissedToolsRef.current.delete("artifacts");
|
|
7552
|
+
if (isArtifactsPanelOpen === void 0) {
|
|
7553
|
+
setInternalTools((prev) => prev["top-right"] === "artifacts" ? prev : { ...prev, "top-right": "artifacts" });
|
|
7554
|
+
} else if (!isArtifactsPanelOpen) {
|
|
7555
|
+
onArtifactsPanelOpenChange?.(true);
|
|
7556
|
+
}
|
|
7557
|
+
setPanelOpenArtifactId(artifactId);
|
|
7558
|
+
}, [isArtifactsPanelOpen, onArtifactsPanelOpenChange]);
|
|
7559
|
+
const handleAttachmentOpen = (0, import_react93.useCallback)((artifactId) => {
|
|
7560
|
+
openArtifact(artifactId);
|
|
7561
|
+
onAttachmentOpen?.(artifactId);
|
|
7562
|
+
}, [openArtifact, onAttachmentOpen]);
|
|
7563
|
+
const handleArtifactPanelClosed = (0, import_react93.useCallback)(() => {
|
|
7564
|
+
setPanelOpenArtifactId(null);
|
|
7565
|
+
}, []);
|
|
7566
|
+
(0, import_react93.useImperativeHandle)(ref, () => ({ openArtifact }), [openArtifact]);
|
|
7526
7567
|
const isPanelControlled = isArtifactsPanelOpen !== void 0;
|
|
7527
7568
|
const activeTools = (0, import_react93.useMemo)(() => {
|
|
7528
7569
|
if (isPanelControlled) {
|
|
@@ -7819,7 +7860,6 @@ var ChatInterface = import_react93.default.forwardRef(
|
|
|
7819
7860
|
return /* @__PURE__ */ import_react93.default.createElement(
|
|
7820
7861
|
"div",
|
|
7821
7862
|
{
|
|
7822
|
-
ref,
|
|
7823
7863
|
className: cx("flex h-full w-full bg-obsidian overflow-hidden", className),
|
|
7824
7864
|
...rest
|
|
7825
7865
|
},
|