@flytedan/flytebot-design-system 0.76.0 → 0.78.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.cts CHANGED
@@ -4146,6 +4146,32 @@ interface PacketSchema {
4146
4146
  /** `false` hides the Apply footer for this packet type (a live query card, a CSV). Default: Apply shows. */
4147
4147
  apply?: boolean;
4148
4148
  }
4149
+ type PacketDecisionAction = "confirm" | "dismiss";
4150
+ type PacketDecisionTone = "neutral" | "info" | "success" | "warning" | "danger";
4151
+ /** What the app says about a packet right now. The design system keeps no state beyond the pending press. */
4152
+ interface PacketDecisionState {
4153
+ /** Header badge: waiting, confirming, done, refused, failed, unknown… */
4154
+ status?: {
4155
+ label: string;
4156
+ tone: PacketDecisionTone;
4157
+ };
4158
+ /** Once set the packet is decided: replaces the footer. */
4159
+ outcome?: {
4160
+ message: React.ReactNode;
4161
+ tone: "success" | "danger";
4162
+ };
4163
+ /** App-reported error banner, shown with both buttons usable. A rejection of `onDecide` shows its own message. */
4164
+ error?: React.ReactNode;
4165
+ }
4166
+ /** Decision mode for one packet type. */
4167
+ interface PacketDecision {
4168
+ /** Called with the pressed action; the buttons stay pending until it settles, a rejection shows an error banner. */
4169
+ onDecide: (action: PacketDecisionAction, packet: Packet) => Promise<void>;
4170
+ /** Packet's current status, outcome and error. */
4171
+ state: (packet: Packet) => PacketDecisionState;
4172
+ confirmLabel?: string;
4173
+ dismissLabel?: string;
4174
+ }
4149
4175
  interface JobStatus {
4150
4176
  id?: string;
4151
4177
  /** queued | running keep polling · completed | recovered are success · anything else fails loudly. */
@@ -4416,6 +4442,8 @@ interface AgentChatPanelProps {
4416
4442
  packetSchemas?: Record<string, PacketSchema>;
4417
4443
  packetRenderers?: Record<string, (p: Packet) => React.ReactNode>;
4418
4444
  onApplyPacket?: (p: Packet) => void;
4445
+ /** Decision mode per packet type: header status badge, pinned Confirm/Dismiss footer, then the outcome. */
4446
+ packetDecisions?: Record<string, PacketDecision>;
4419
4447
  /** Give-up time for a queued/running turn, in ms. Default 180000. The server's terminal job status always wins. */
4420
4448
  pendingTimeoutMs?: number;
4421
4449
  /** Words for the background work a live turn waits on, given the still-working cards ("Running 2 queries"). */
@@ -4476,7 +4504,7 @@ interface AgentChatPanelProps {
4476
4504
  * renders only when its input is supplied. A panel with no telemetry shows no
4477
4505
  * telemetry, not zeroes.
4478
4506
  */
4479
- declare function AgentChatPanel({ contextType, contextId, draftOwner, apiAdapter, threadId, reloadKey, title, subtitle, showHeader, headerActions, onClose, assistantName, userName, assistantAvatar, userAvatar, assistantIcon, showAvatars, markdown, maxVisibleChars, messageActions, showSteps, showThinking, emptyTitle, emptyDescription, emptyIcon, suggestions, renderEmpty, packetSchemas, packetRenderers, onApplyPacket, pendingTimeoutMs, describeWaiting, onOpenAttachment, errorCopy, placeholder, maxLength, hint, fileUploadHandler, acceptFiles, maxFileSize, largePasteThreshold, slashCommands, mentionSources, voiceHandler, initialMessage, contextUsage, sessionStats, usageLimits, models, model, onModelChange, effortLevels, effort, onEffortChange, fastMode, onFastModeChange, moreModels, threads, onSelectThread, onNewThread, onDeleteThread, surface, height, className, style, onPacket, onThreadReady, onError, onSend, onClear, onFeedback, onEditMessage, }: AgentChatPanelProps): React.JSX.Element;
4507
+ declare function AgentChatPanel({ contextType, contextId, draftOwner, apiAdapter, threadId, reloadKey, title, subtitle, showHeader, headerActions, onClose, assistantName, userName, assistantAvatar, userAvatar, assistantIcon, showAvatars, markdown, maxVisibleChars, messageActions, showSteps, showThinking, emptyTitle, emptyDescription, emptyIcon, suggestions, renderEmpty, packetSchemas, packetRenderers, packetDecisions, onApplyPacket, pendingTimeoutMs, describeWaiting, onOpenAttachment, errorCopy, placeholder, maxLength, hint, fileUploadHandler, acceptFiles, maxFileSize, largePasteThreshold, slashCommands, mentionSources, voiceHandler, initialMessage, contextUsage, sessionStats, usageLimits, models, model, onModelChange, effortLevels, effort, onEffortChange, fastMode, onFastModeChange, moreModels, threads, onSelectThread, onNewThread, onDeleteThread, surface, height, className, style, onPacket, onThreadReady, onError, onSend, onClear, onFeedback, onEditMessage, }: AgentChatPanelProps): React.JSX.Element;
4480
4508
 
4481
4509
  /**
4482
4510
  * Staged files, the queue strip, the markdown editor, slash/mention triggers, send + stop.
@@ -4588,6 +4616,8 @@ interface ChatRenderContext {
4588
4616
  packetSchemas?: Record<string, PacketSchema>;
4589
4617
  packetRenderers?: Record<string, (p: Packet) => React.ReactNode>;
4590
4618
  appliedPackets?: Record<string, boolean>;
4619
+ /** Decision mode per packet type (see PacketCard `decision`). */
4620
+ packetDecisions?: Record<string, PacketDecision>;
4591
4621
  /** Sidebar-width layout: tighter padding, stacked controls. */
4592
4622
  narrow?: boolean;
4593
4623
  onOpenAttachment?: (a: Attachment) => void;
@@ -4623,12 +4653,14 @@ interface PacketCardProps {
4623
4653
  render?: (p: Packet) => React.ReactNode;
4624
4654
  onApply?: (p: Packet) => void;
4625
4655
  applied?: boolean;
4656
+ /** Decision mode: a status badge, a pinned Confirm/Dismiss footer, then the outcome. Replaces the Apply footer. */
4657
+ decision?: PacketDecision;
4626
4658
  }
4627
4659
  /**
4628
4660
  * A structured result carried by a message. `valid` is tri-state: only an
4629
4661
  * explicit `false` blocks Apply — an unvalidated packet is a legitimate result.
4630
4662
  */
4631
- declare function PacketCard({ packet, schema, render, onApply, applied }: PacketCardProps): React.JSX.Element | null;
4663
+ declare function PacketCard({ packet, schema, render, onApply, applied, decision }: PacketCardProps): React.JSX.Element | null;
4632
4664
  interface ThinkingBlockProps {
4633
4665
  text?: string;
4634
4666
  durationMs?: number;
@@ -5559,5 +5591,15 @@ declare function CornerStackPortal({ slot, children }: {
5559
5591
  slot: CornerStackSlot;
5560
5592
  children?: React.ReactNode;
5561
5593
  }): React.ReactPortal | null;
5594
+ /** DS-29: the width of a docked side panel, published on the document element while it shows so the stack
5595
+ * sits beside it (over the content) instead of over the panel and its composer. */
5596
+ declare const CORNER_STACK_OFFSET_PROPERTY = "--fd-corner-stack-offset";
5597
+ /** DS-29: set on the document element while a side-panel sheet (the overlay-breakpoint panel) is open. The sheet
5598
+ * covers the screen and its composer sits at the bottom, so the jobs slot is hidden until the sheet closes. */
5599
+ declare const SHEET_OPEN_ATTRIBUTE = "data-fd-sheet-open";
5600
+ /** Publishes `element`'s rendered width as the stack's right offset for as long as it is mounted. */
5601
+ declare function usePublishCornerStackOffset(ref: React.RefObject<HTMLElement | null>, active: boolean): void;
5602
+ /** Marks the document while a side-panel sheet is open. */
5603
+ declare function useSheetOpenMark(active: boolean): void;
5562
5604
 
5563
- export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, type AppShellSidePanel, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, AppearanceProvider, type AppearanceProviderProps, type AppearanceStore, type AppearanceStoreOptions, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, Banner, type BannerProps, type BannerTone, BarList, type BarListProps, type BarListRow, BudgetReallocator, type BudgetReallocatorProps, Button, type ButtonProps, CHANNELS, CHANNEL_WEIGHTS, CHAT_UNAVAILABLE, COPIED_FEEDBACK_MS, CORNER_STACK_INSET_PROPERTY, Calendar, type CalendarProps, Card, CardGrid, type CardGridProps, type CardProps, CardRow, type CardRowProps, ChannelContribution, type ChannelContributionChannel, type ChannelContributionProps, ChannelMeta, type ChannelMetaRecord, ChannelTag, type ChannelTagProps, ChannelWeightOf, type ChatAdapter, ChatComposer, type ChatComposerProps, type ChatEngine, type ChatEngineOptions, ChatKit, type ChatMessage, type ChatRenderContext, ChatSessionBar, type ChatSessionBarProps, ChatTranscript, type ChatTranscriptProps, ChatTurn, type ChatTurnProps, Checkbox, type CheckboxProps, type Citation, Citations, type CitationsProps, Clamp, type ClampProps, ClockFace, type ClockFaceProps, CodeBlock, type CodeBlockProps, CodeEditor, type CodeEditorDiagnostic, type CodeEditorProps, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, CornerStackPortal, type CornerStackSlot, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, DEFAULT_TOAST_DURATION_MS, DataTable, type DataTableColumn, type DataTableColumnLabel, type DataTablePhoneRole, type DataTableProps, type DataTableRowAction, DatePicker, type DatePickerProps, type DemoSessionControls, DemoSessionProvider, type DeviceSession, DiffBlock, type DiffBlockProps, DonutChart, type DonutChartProps, type DonutSegment, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, ENTITY_ROW_METRIC_WIDTH, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowContent, type EntityRowMetric, EntityRowMetrics, type EntityRowMetricsProps, type EntityRowProps, FILE_VIEWER_CSV_ROW_LIMIT, FILE_VIEWER_TEXT_LIMIT, type Fact, FactList, type FactListProps, FeatureGate, type FeatureGateProps, type FeatureStatus, Fieldset, type FieldsetProps, FileBrowser, type FileBrowserFile, type FileBrowserFolder, type FileBrowserPermissions, type FileBrowserProps, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FileViewer, type FileViewerProps, FilterBar, type FilterBarProps, type FilterDateValue, type FilterField, type FilterFieldDate, type FilterFieldFixed, type FilterFieldMultiSelect, type FilterFieldOption, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, type FilterValidation, type FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, GatePending, type GatePendingProps, type GateProps, IMPORTANCE_LEVELS, IconButton, type IconButtonProps, type ImportanceLevel, type ImportanceLevelId, ImportanceTag, type ImportanceTagProps, type ImportanceTokens, Input, type InputProps, type Job, type JobAction, type JobCardStatus, type JobStatus, JobTray, type JobTrayProps, Json, KeyHint, type KeyHintProps, type KeysetEnvelope, type KeysetServerTable, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, type MarkdownSize, type MarkdownTone, type MentionSource, Menu, MenuButton, type MenuButtonProps, type MenuItem, type MenuProps, MessageBody, type MessageBodyProps, type MessageGroup, Meter, type MeterProps, type MeterSegment, type MeterSegmentInput, MixGap, type MixGapProps, type MixGapRow, MockJobKit, type MockJobStatus, Modal, type ModalProps, ModeSwitch, type ModeSwitchProps, type Model, ModelControls, type ModelControlsProps, NumberInput, type NumberInputProps, OVERLAY_BREAKPOINT, OVERLAY_CEILING, POPOVER_BODY_MIN, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Phase, type PhaseStatus, PhasedProgress, type PhasedProgressProps, type Placement, type PollOptions, Popover, type PopoverProps, type PreferenceCriterion, PreferenceMeter, type PreferenceMeterProps, type ProfileFieldDef, type ProfileFieldType, type ProfileNotificationDef, ProfilePage, type ProfilePageProps, ProgressBar, type ProgressBarProps, QueryKit, type QueryPaging, type QueryUrlAdapter, type QueryUrlOptions, type QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, ReservedSkeleton, type ReservedSkeletonProps, type RoadmapItem, type RoadmapResult, RoadmapTimeline, type RoadmapTimelineProps, type Role, RunActions, type RunActionsProps, type RunConfig, RuntimeKit, type RuntimeSummary, SaturationDistribution, type SaturationDistributionCampus, type SaturationDistributionProps, ScoreMeter, type ScoreMeterProps, ScreenHead, type ScreenHeadProps, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type ServerTableBase, type Session, type SessionContextValue, type Flag as SessionFlag, SessionKit, SessionProvider, type SessionProviderProps, type SessionRole, SessionScreen, type SessionScreenKind, type SessionScreenProps, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, type SortDirection, type SortEntry, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, type StackedLayer, type StackedLayerOptions, StackedLayerProvider, StatGrid, type StatGridProps, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, type TabItem, type TableQuery, Tabs, type TabsProps, Tag, type TagProps, TestModeBar, type TestModeBarProps, type TextScale, Textarea, type TextareaProps, type ThemeMode, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastApi, type ToastOptions, type ToastProps, ToastProvider, Tooltip, type TooltipApi, type TooltipBinding, type TooltipPlacement, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, USChoropleth, type USChoroplethProps, type StateFigure as USChoroplethState, type ChoroplethValue as USChoroplethValue, US_STATE_CODES, type UsageLimit, UseFeatureStatus, type UseKeysetTableOptions, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, type UseTooltipOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, VIRTUAL_LIST_ROW_GAP, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualLoadedBand, type VirtualWindow, type VoiceHandler, __resetLayerStackForTests, acceptMatches, anyOfFilter, applyAppearance, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, formatShare, groupMessages, hasModifier, historyUrlAdapter, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isUsStateCode, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, readQueryFromUrl, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, useOverlayLayout, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, useTooltip, validateFilterValue, visibleMessages, watchAppearance, writeQueryToUrl };
5605
+ export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, type AppShellSidePanel, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, AppearanceProvider, type AppearanceProviderProps, type AppearanceStore, type AppearanceStoreOptions, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, Banner, type BannerProps, type BannerTone, BarList, type BarListProps, type BarListRow, BudgetReallocator, type BudgetReallocatorProps, Button, type ButtonProps, CHANNELS, CHANNEL_WEIGHTS, CHAT_UNAVAILABLE, COPIED_FEEDBACK_MS, CORNER_STACK_INSET_PROPERTY, CORNER_STACK_OFFSET_PROPERTY, Calendar, type CalendarProps, Card, CardGrid, type CardGridProps, type CardProps, CardRow, type CardRowProps, ChannelContribution, type ChannelContributionChannel, type ChannelContributionProps, ChannelMeta, type ChannelMetaRecord, ChannelTag, type ChannelTagProps, ChannelWeightOf, type ChatAdapter, ChatComposer, type ChatComposerProps, type ChatEngine, type ChatEngineOptions, ChatKit, type ChatMessage, type ChatRenderContext, ChatSessionBar, type ChatSessionBarProps, ChatTranscript, type ChatTranscriptProps, ChatTurn, type ChatTurnProps, Checkbox, type CheckboxProps, type Citation, Citations, type CitationsProps, Clamp, type ClampProps, ClockFace, type ClockFaceProps, CodeBlock, type CodeBlockProps, CodeEditor, type CodeEditorDiagnostic, type CodeEditorProps, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, CornerStackPortal, type CornerStackSlot, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, DEFAULT_TOAST_DURATION_MS, DataTable, type DataTableColumn, type DataTableColumnLabel, type DataTablePhoneRole, type DataTableProps, type DataTableRowAction, DatePicker, type DatePickerProps, type DemoSessionControls, DemoSessionProvider, type DeviceSession, DiffBlock, type DiffBlockProps, DonutChart, type DonutChartProps, type DonutSegment, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, ENTITY_ROW_METRIC_WIDTH, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowContent, type EntityRowMetric, EntityRowMetrics, type EntityRowMetricsProps, type EntityRowProps, FILE_VIEWER_CSV_ROW_LIMIT, FILE_VIEWER_TEXT_LIMIT, type Fact, FactList, type FactListProps, FeatureGate, type FeatureGateProps, type FeatureStatus, Fieldset, type FieldsetProps, FileBrowser, type FileBrowserFile, type FileBrowserFolder, type FileBrowserPermissions, type FileBrowserProps, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FileViewer, type FileViewerProps, FilterBar, type FilterBarProps, type FilterDateValue, type FilterField, type FilterFieldDate, type FilterFieldFixed, type FilterFieldMultiSelect, type FilterFieldOption, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, type FilterValidation, type FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, GatePending, type GatePendingProps, type GateProps, IMPORTANCE_LEVELS, IconButton, type IconButtonProps, type ImportanceLevel, type ImportanceLevelId, ImportanceTag, type ImportanceTagProps, type ImportanceTokens, Input, type InputProps, type Job, type JobAction, type JobCardStatus, type JobStatus, JobTray, type JobTrayProps, Json, KeyHint, type KeyHintProps, type KeysetEnvelope, type KeysetServerTable, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, type MarkdownSize, type MarkdownTone, type MentionSource, Menu, MenuButton, type MenuButtonProps, type MenuItem, type MenuProps, MessageBody, type MessageBodyProps, type MessageGroup, Meter, type MeterProps, type MeterSegment, type MeterSegmentInput, MixGap, type MixGapProps, type MixGapRow, MockJobKit, type MockJobStatus, Modal, type ModalProps, ModeSwitch, type ModeSwitchProps, type Model, ModelControls, type ModelControlsProps, NumberInput, type NumberInputProps, OVERLAY_BREAKPOINT, OVERLAY_CEILING, POPOVER_BODY_MIN, type Packet, PacketCard, type PacketCardProps, type PacketDecision, type PacketDecisionAction, type PacketDecisionState, type PacketDecisionTone, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Phase, type PhaseStatus, PhasedProgress, type PhasedProgressProps, type Placement, type PollOptions, Popover, type PopoverProps, type PreferenceCriterion, PreferenceMeter, type PreferenceMeterProps, type ProfileFieldDef, type ProfileFieldType, type ProfileNotificationDef, ProfilePage, type ProfilePageProps, ProgressBar, type ProgressBarProps, QueryKit, type QueryPaging, type QueryUrlAdapter, type QueryUrlOptions, type QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, ReservedSkeleton, type ReservedSkeletonProps, type RoadmapItem, type RoadmapResult, RoadmapTimeline, type RoadmapTimelineProps, type Role, RunActions, type RunActionsProps, type RunConfig, RuntimeKit, type RuntimeSummary, SHEET_OPEN_ATTRIBUTE, SaturationDistribution, type SaturationDistributionCampus, type SaturationDistributionProps, ScoreMeter, type ScoreMeterProps, ScreenHead, type ScreenHeadProps, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type ServerTableBase, type Session, type SessionContextValue, type Flag as SessionFlag, SessionKit, SessionProvider, type SessionProviderProps, type SessionRole, SessionScreen, type SessionScreenKind, type SessionScreenProps, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, type SortDirection, type SortEntry, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, type StackedLayer, type StackedLayerOptions, StackedLayerProvider, StatGrid, type StatGridProps, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, type TabItem, type TableQuery, Tabs, type TabsProps, Tag, type TagProps, TestModeBar, type TestModeBarProps, type TextScale, Textarea, type TextareaProps, type ThemeMode, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastApi, type ToastOptions, type ToastProps, ToastProvider, Tooltip, type TooltipApi, type TooltipBinding, type TooltipPlacement, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, USChoropleth, type USChoroplethProps, type StateFigure as USChoroplethState, type ChoroplethValue as USChoroplethValue, US_STATE_CODES, type UsageLimit, UseFeatureStatus, type UseKeysetTableOptions, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, type UseTooltipOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, VIRTUAL_LIST_ROW_GAP, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualLoadedBand, type VirtualWindow, type VoiceHandler, __resetLayerStackForTests, acceptMatches, anyOfFilter, applyAppearance, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, formatShare, groupMessages, hasModifier, historyUrlAdapter, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isUsStateCode, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, readQueryFromUrl, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, useOverlayLayout, usePopoverPosition, usePublishCornerStackOffset, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useSheetOpenMark, useStackedLayer, useStagedFiles, useToast, useTooltip, validateFilterValue, visibleMessages, watchAppearance, writeQueryToUrl };
package/dist/index.d.ts CHANGED
@@ -4146,6 +4146,32 @@ interface PacketSchema {
4146
4146
  /** `false` hides the Apply footer for this packet type (a live query card, a CSV). Default: Apply shows. */
4147
4147
  apply?: boolean;
4148
4148
  }
4149
+ type PacketDecisionAction = "confirm" | "dismiss";
4150
+ type PacketDecisionTone = "neutral" | "info" | "success" | "warning" | "danger";
4151
+ /** What the app says about a packet right now. The design system keeps no state beyond the pending press. */
4152
+ interface PacketDecisionState {
4153
+ /** Header badge: waiting, confirming, done, refused, failed, unknown… */
4154
+ status?: {
4155
+ label: string;
4156
+ tone: PacketDecisionTone;
4157
+ };
4158
+ /** Once set the packet is decided: replaces the footer. */
4159
+ outcome?: {
4160
+ message: React.ReactNode;
4161
+ tone: "success" | "danger";
4162
+ };
4163
+ /** App-reported error banner, shown with both buttons usable. A rejection of `onDecide` shows its own message. */
4164
+ error?: React.ReactNode;
4165
+ }
4166
+ /** Decision mode for one packet type. */
4167
+ interface PacketDecision {
4168
+ /** Called with the pressed action; the buttons stay pending until it settles, a rejection shows an error banner. */
4169
+ onDecide: (action: PacketDecisionAction, packet: Packet) => Promise<void>;
4170
+ /** Packet's current status, outcome and error. */
4171
+ state: (packet: Packet) => PacketDecisionState;
4172
+ confirmLabel?: string;
4173
+ dismissLabel?: string;
4174
+ }
4149
4175
  interface JobStatus {
4150
4176
  id?: string;
4151
4177
  /** queued | running keep polling · completed | recovered are success · anything else fails loudly. */
@@ -4416,6 +4442,8 @@ interface AgentChatPanelProps {
4416
4442
  packetSchemas?: Record<string, PacketSchema>;
4417
4443
  packetRenderers?: Record<string, (p: Packet) => React.ReactNode>;
4418
4444
  onApplyPacket?: (p: Packet) => void;
4445
+ /** Decision mode per packet type: header status badge, pinned Confirm/Dismiss footer, then the outcome. */
4446
+ packetDecisions?: Record<string, PacketDecision>;
4419
4447
  /** Give-up time for a queued/running turn, in ms. Default 180000. The server's terminal job status always wins. */
4420
4448
  pendingTimeoutMs?: number;
4421
4449
  /** Words for the background work a live turn waits on, given the still-working cards ("Running 2 queries"). */
@@ -4476,7 +4504,7 @@ interface AgentChatPanelProps {
4476
4504
  * renders only when its input is supplied. A panel with no telemetry shows no
4477
4505
  * telemetry, not zeroes.
4478
4506
  */
4479
- declare function AgentChatPanel({ contextType, contextId, draftOwner, apiAdapter, threadId, reloadKey, title, subtitle, showHeader, headerActions, onClose, assistantName, userName, assistantAvatar, userAvatar, assistantIcon, showAvatars, markdown, maxVisibleChars, messageActions, showSteps, showThinking, emptyTitle, emptyDescription, emptyIcon, suggestions, renderEmpty, packetSchemas, packetRenderers, onApplyPacket, pendingTimeoutMs, describeWaiting, onOpenAttachment, errorCopy, placeholder, maxLength, hint, fileUploadHandler, acceptFiles, maxFileSize, largePasteThreshold, slashCommands, mentionSources, voiceHandler, initialMessage, contextUsage, sessionStats, usageLimits, models, model, onModelChange, effortLevels, effort, onEffortChange, fastMode, onFastModeChange, moreModels, threads, onSelectThread, onNewThread, onDeleteThread, surface, height, className, style, onPacket, onThreadReady, onError, onSend, onClear, onFeedback, onEditMessage, }: AgentChatPanelProps): React.JSX.Element;
4507
+ declare function AgentChatPanel({ contextType, contextId, draftOwner, apiAdapter, threadId, reloadKey, title, subtitle, showHeader, headerActions, onClose, assistantName, userName, assistantAvatar, userAvatar, assistantIcon, showAvatars, markdown, maxVisibleChars, messageActions, showSteps, showThinking, emptyTitle, emptyDescription, emptyIcon, suggestions, renderEmpty, packetSchemas, packetRenderers, packetDecisions, onApplyPacket, pendingTimeoutMs, describeWaiting, onOpenAttachment, errorCopy, placeholder, maxLength, hint, fileUploadHandler, acceptFiles, maxFileSize, largePasteThreshold, slashCommands, mentionSources, voiceHandler, initialMessage, contextUsage, sessionStats, usageLimits, models, model, onModelChange, effortLevels, effort, onEffortChange, fastMode, onFastModeChange, moreModels, threads, onSelectThread, onNewThread, onDeleteThread, surface, height, className, style, onPacket, onThreadReady, onError, onSend, onClear, onFeedback, onEditMessage, }: AgentChatPanelProps): React.JSX.Element;
4480
4508
 
4481
4509
  /**
4482
4510
  * Staged files, the queue strip, the markdown editor, slash/mention triggers, send + stop.
@@ -4588,6 +4616,8 @@ interface ChatRenderContext {
4588
4616
  packetSchemas?: Record<string, PacketSchema>;
4589
4617
  packetRenderers?: Record<string, (p: Packet) => React.ReactNode>;
4590
4618
  appliedPackets?: Record<string, boolean>;
4619
+ /** Decision mode per packet type (see PacketCard `decision`). */
4620
+ packetDecisions?: Record<string, PacketDecision>;
4591
4621
  /** Sidebar-width layout: tighter padding, stacked controls. */
4592
4622
  narrow?: boolean;
4593
4623
  onOpenAttachment?: (a: Attachment) => void;
@@ -4623,12 +4653,14 @@ interface PacketCardProps {
4623
4653
  render?: (p: Packet) => React.ReactNode;
4624
4654
  onApply?: (p: Packet) => void;
4625
4655
  applied?: boolean;
4656
+ /** Decision mode: a status badge, a pinned Confirm/Dismiss footer, then the outcome. Replaces the Apply footer. */
4657
+ decision?: PacketDecision;
4626
4658
  }
4627
4659
  /**
4628
4660
  * A structured result carried by a message. `valid` is tri-state: only an
4629
4661
  * explicit `false` blocks Apply — an unvalidated packet is a legitimate result.
4630
4662
  */
4631
- declare function PacketCard({ packet, schema, render, onApply, applied }: PacketCardProps): React.JSX.Element | null;
4663
+ declare function PacketCard({ packet, schema, render, onApply, applied, decision }: PacketCardProps): React.JSX.Element | null;
4632
4664
  interface ThinkingBlockProps {
4633
4665
  text?: string;
4634
4666
  durationMs?: number;
@@ -5559,5 +5591,15 @@ declare function CornerStackPortal({ slot, children }: {
5559
5591
  slot: CornerStackSlot;
5560
5592
  children?: React.ReactNode;
5561
5593
  }): React.ReactPortal | null;
5594
+ /** DS-29: the width of a docked side panel, published on the document element while it shows so the stack
5595
+ * sits beside it (over the content) instead of over the panel and its composer. */
5596
+ declare const CORNER_STACK_OFFSET_PROPERTY = "--fd-corner-stack-offset";
5597
+ /** DS-29: set on the document element while a side-panel sheet (the overlay-breakpoint panel) is open. The sheet
5598
+ * covers the screen and its composer sits at the bottom, so the jobs slot is hidden until the sheet closes. */
5599
+ declare const SHEET_OPEN_ATTRIBUTE = "data-fd-sheet-open";
5600
+ /** Publishes `element`'s rendered width as the stack's right offset for as long as it is mounted. */
5601
+ declare function usePublishCornerStackOffset(ref: React.RefObject<HTMLElement | null>, active: boolean): void;
5602
+ /** Marks the document while a side-panel sheet is open. */
5603
+ declare function useSheetOpenMark(active: boolean): void;
5562
5604
 
5563
- export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, type AppShellSidePanel, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, AppearanceProvider, type AppearanceProviderProps, type AppearanceStore, type AppearanceStoreOptions, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, Banner, type BannerProps, type BannerTone, BarList, type BarListProps, type BarListRow, BudgetReallocator, type BudgetReallocatorProps, Button, type ButtonProps, CHANNELS, CHANNEL_WEIGHTS, CHAT_UNAVAILABLE, COPIED_FEEDBACK_MS, CORNER_STACK_INSET_PROPERTY, Calendar, type CalendarProps, Card, CardGrid, type CardGridProps, type CardProps, CardRow, type CardRowProps, ChannelContribution, type ChannelContributionChannel, type ChannelContributionProps, ChannelMeta, type ChannelMetaRecord, ChannelTag, type ChannelTagProps, ChannelWeightOf, type ChatAdapter, ChatComposer, type ChatComposerProps, type ChatEngine, type ChatEngineOptions, ChatKit, type ChatMessage, type ChatRenderContext, ChatSessionBar, type ChatSessionBarProps, ChatTranscript, type ChatTranscriptProps, ChatTurn, type ChatTurnProps, Checkbox, type CheckboxProps, type Citation, Citations, type CitationsProps, Clamp, type ClampProps, ClockFace, type ClockFaceProps, CodeBlock, type CodeBlockProps, CodeEditor, type CodeEditorDiagnostic, type CodeEditorProps, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, CornerStackPortal, type CornerStackSlot, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, DEFAULT_TOAST_DURATION_MS, DataTable, type DataTableColumn, type DataTableColumnLabel, type DataTablePhoneRole, type DataTableProps, type DataTableRowAction, DatePicker, type DatePickerProps, type DemoSessionControls, DemoSessionProvider, type DeviceSession, DiffBlock, type DiffBlockProps, DonutChart, type DonutChartProps, type DonutSegment, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, ENTITY_ROW_METRIC_WIDTH, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowContent, type EntityRowMetric, EntityRowMetrics, type EntityRowMetricsProps, type EntityRowProps, FILE_VIEWER_CSV_ROW_LIMIT, FILE_VIEWER_TEXT_LIMIT, type Fact, FactList, type FactListProps, FeatureGate, type FeatureGateProps, type FeatureStatus, Fieldset, type FieldsetProps, FileBrowser, type FileBrowserFile, type FileBrowserFolder, type FileBrowserPermissions, type FileBrowserProps, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FileViewer, type FileViewerProps, FilterBar, type FilterBarProps, type FilterDateValue, type FilterField, type FilterFieldDate, type FilterFieldFixed, type FilterFieldMultiSelect, type FilterFieldOption, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, type FilterValidation, type FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, GatePending, type GatePendingProps, type GateProps, IMPORTANCE_LEVELS, IconButton, type IconButtonProps, type ImportanceLevel, type ImportanceLevelId, ImportanceTag, type ImportanceTagProps, type ImportanceTokens, Input, type InputProps, type Job, type JobAction, type JobCardStatus, type JobStatus, JobTray, type JobTrayProps, Json, KeyHint, type KeyHintProps, type KeysetEnvelope, type KeysetServerTable, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, type MarkdownSize, type MarkdownTone, type MentionSource, Menu, MenuButton, type MenuButtonProps, type MenuItem, type MenuProps, MessageBody, type MessageBodyProps, type MessageGroup, Meter, type MeterProps, type MeterSegment, type MeterSegmentInput, MixGap, type MixGapProps, type MixGapRow, MockJobKit, type MockJobStatus, Modal, type ModalProps, ModeSwitch, type ModeSwitchProps, type Model, ModelControls, type ModelControlsProps, NumberInput, type NumberInputProps, OVERLAY_BREAKPOINT, OVERLAY_CEILING, POPOVER_BODY_MIN, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Phase, type PhaseStatus, PhasedProgress, type PhasedProgressProps, type Placement, type PollOptions, Popover, type PopoverProps, type PreferenceCriterion, PreferenceMeter, type PreferenceMeterProps, type ProfileFieldDef, type ProfileFieldType, type ProfileNotificationDef, ProfilePage, type ProfilePageProps, ProgressBar, type ProgressBarProps, QueryKit, type QueryPaging, type QueryUrlAdapter, type QueryUrlOptions, type QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, ReservedSkeleton, type ReservedSkeletonProps, type RoadmapItem, type RoadmapResult, RoadmapTimeline, type RoadmapTimelineProps, type Role, RunActions, type RunActionsProps, type RunConfig, RuntimeKit, type RuntimeSummary, SaturationDistribution, type SaturationDistributionCampus, type SaturationDistributionProps, ScoreMeter, type ScoreMeterProps, ScreenHead, type ScreenHeadProps, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type ServerTableBase, type Session, type SessionContextValue, type Flag as SessionFlag, SessionKit, SessionProvider, type SessionProviderProps, type SessionRole, SessionScreen, type SessionScreenKind, type SessionScreenProps, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, type SortDirection, type SortEntry, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, type StackedLayer, type StackedLayerOptions, StackedLayerProvider, StatGrid, type StatGridProps, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, type TabItem, type TableQuery, Tabs, type TabsProps, Tag, type TagProps, TestModeBar, type TestModeBarProps, type TextScale, Textarea, type TextareaProps, type ThemeMode, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastApi, type ToastOptions, type ToastProps, ToastProvider, Tooltip, type TooltipApi, type TooltipBinding, type TooltipPlacement, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, USChoropleth, type USChoroplethProps, type StateFigure as USChoroplethState, type ChoroplethValue as USChoroplethValue, US_STATE_CODES, type UsageLimit, UseFeatureStatus, type UseKeysetTableOptions, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, type UseTooltipOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, VIRTUAL_LIST_ROW_GAP, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualLoadedBand, type VirtualWindow, type VoiceHandler, __resetLayerStackForTests, acceptMatches, anyOfFilter, applyAppearance, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, formatShare, groupMessages, hasModifier, historyUrlAdapter, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isUsStateCode, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, readQueryFromUrl, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, useOverlayLayout, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, useTooltip, validateFilterValue, visibleMessages, watchAppearance, writeQueryToUrl };
5605
+ export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, type AppShellSidePanel, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, AppearanceProvider, type AppearanceProviderProps, type AppearanceStore, type AppearanceStoreOptions, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, Banner, type BannerProps, type BannerTone, BarList, type BarListProps, type BarListRow, BudgetReallocator, type BudgetReallocatorProps, Button, type ButtonProps, CHANNELS, CHANNEL_WEIGHTS, CHAT_UNAVAILABLE, COPIED_FEEDBACK_MS, CORNER_STACK_INSET_PROPERTY, CORNER_STACK_OFFSET_PROPERTY, Calendar, type CalendarProps, Card, CardGrid, type CardGridProps, type CardProps, CardRow, type CardRowProps, ChannelContribution, type ChannelContributionChannel, type ChannelContributionProps, ChannelMeta, type ChannelMetaRecord, ChannelTag, type ChannelTagProps, ChannelWeightOf, type ChatAdapter, ChatComposer, type ChatComposerProps, type ChatEngine, type ChatEngineOptions, ChatKit, type ChatMessage, type ChatRenderContext, ChatSessionBar, type ChatSessionBarProps, ChatTranscript, type ChatTranscriptProps, ChatTurn, type ChatTurnProps, Checkbox, type CheckboxProps, type Citation, Citations, type CitationsProps, Clamp, type ClampProps, ClockFace, type ClockFaceProps, CodeBlock, type CodeBlockProps, CodeEditor, type CodeEditorDiagnostic, type CodeEditorProps, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, CornerStackPortal, type CornerStackSlot, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, DEFAULT_TOAST_DURATION_MS, DataTable, type DataTableColumn, type DataTableColumnLabel, type DataTablePhoneRole, type DataTableProps, type DataTableRowAction, DatePicker, type DatePickerProps, type DemoSessionControls, DemoSessionProvider, type DeviceSession, DiffBlock, type DiffBlockProps, DonutChart, type DonutChartProps, type DonutSegment, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, ENTITY_ROW_METRIC_WIDTH, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowContent, type EntityRowMetric, EntityRowMetrics, type EntityRowMetricsProps, type EntityRowProps, FILE_VIEWER_CSV_ROW_LIMIT, FILE_VIEWER_TEXT_LIMIT, type Fact, FactList, type FactListProps, FeatureGate, type FeatureGateProps, type FeatureStatus, Fieldset, type FieldsetProps, FileBrowser, type FileBrowserFile, type FileBrowserFolder, type FileBrowserPermissions, type FileBrowserProps, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FileViewer, type FileViewerProps, FilterBar, type FilterBarProps, type FilterDateValue, type FilterField, type FilterFieldDate, type FilterFieldFixed, type FilterFieldMultiSelect, type FilterFieldOption, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, type FilterValidation, type FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, GatePending, type GatePendingProps, type GateProps, IMPORTANCE_LEVELS, IconButton, type IconButtonProps, type ImportanceLevel, type ImportanceLevelId, ImportanceTag, type ImportanceTagProps, type ImportanceTokens, Input, type InputProps, type Job, type JobAction, type JobCardStatus, type JobStatus, JobTray, type JobTrayProps, Json, KeyHint, type KeyHintProps, type KeysetEnvelope, type KeysetServerTable, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, type MarkdownSize, type MarkdownTone, type MentionSource, Menu, MenuButton, type MenuButtonProps, type MenuItem, type MenuProps, MessageBody, type MessageBodyProps, type MessageGroup, Meter, type MeterProps, type MeterSegment, type MeterSegmentInput, MixGap, type MixGapProps, type MixGapRow, MockJobKit, type MockJobStatus, Modal, type ModalProps, ModeSwitch, type ModeSwitchProps, type Model, ModelControls, type ModelControlsProps, NumberInput, type NumberInputProps, OVERLAY_BREAKPOINT, OVERLAY_CEILING, POPOVER_BODY_MIN, type Packet, PacketCard, type PacketCardProps, type PacketDecision, type PacketDecisionAction, type PacketDecisionState, type PacketDecisionTone, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Phase, type PhaseStatus, PhasedProgress, type PhasedProgressProps, type Placement, type PollOptions, Popover, type PopoverProps, type PreferenceCriterion, PreferenceMeter, type PreferenceMeterProps, type ProfileFieldDef, type ProfileFieldType, type ProfileNotificationDef, ProfilePage, type ProfilePageProps, ProgressBar, type ProgressBarProps, QueryKit, type QueryPaging, type QueryUrlAdapter, type QueryUrlOptions, type QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, ReservedSkeleton, type ReservedSkeletonProps, type RoadmapItem, type RoadmapResult, RoadmapTimeline, type RoadmapTimelineProps, type Role, RunActions, type RunActionsProps, type RunConfig, RuntimeKit, type RuntimeSummary, SHEET_OPEN_ATTRIBUTE, SaturationDistribution, type SaturationDistributionCampus, type SaturationDistributionProps, ScoreMeter, type ScoreMeterProps, ScreenHead, type ScreenHeadProps, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type ServerTableBase, type Session, type SessionContextValue, type Flag as SessionFlag, SessionKit, SessionProvider, type SessionProviderProps, type SessionRole, SessionScreen, type SessionScreenKind, type SessionScreenProps, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, type SortDirection, type SortEntry, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, type StackedLayer, type StackedLayerOptions, StackedLayerProvider, StatGrid, type StatGridProps, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, type TabItem, type TableQuery, Tabs, type TabsProps, Tag, type TagProps, TestModeBar, type TestModeBarProps, type TextScale, Textarea, type TextareaProps, type ThemeMode, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastApi, type ToastOptions, type ToastProps, ToastProvider, Tooltip, type TooltipApi, type TooltipBinding, type TooltipPlacement, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, USChoropleth, type USChoroplethProps, type StateFigure as USChoroplethState, type ChoroplethValue as USChoroplethValue, US_STATE_CODES, type UsageLimit, UseFeatureStatus, type UseKeysetTableOptions, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, type UseTooltipOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, VIRTUAL_LIST_ROW_GAP, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualLoadedBand, type VirtualWindow, type VoiceHandler, __resetLayerStackForTests, acceptMatches, anyOfFilter, applyAppearance, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, formatShare, groupMessages, hasModifier, historyUrlAdapter, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isUsStateCode, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, readQueryFromUrl, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, useOverlayLayout, usePopoverPosition, usePublishCornerStackOffset, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useSheetOpenMark, useStackedLayer, useStagedFiles, useToast, useTooltip, validateFilterValue, visibleMessages, watchAppearance, writeQueryToUrl };
package/dist/index.js CHANGED
@@ -1278,6 +1278,30 @@ function CornerStackPortal({ slot, children }) {
1278
1278
  const element = useCornerStackSlot(slot);
1279
1279
  return element ? createPortal4(children, element) : null;
1280
1280
  }
1281
+ var CORNER_STACK_OFFSET_PROPERTY = "--fd-corner-stack-offset";
1282
+ var SHEET_OPEN_ATTRIBUTE = "data-fd-sheet-open";
1283
+ function usePublishCornerStackOffset(ref, active) {
1284
+ useSlotEffect(() => {
1285
+ const el = ref.current;
1286
+ if (!active || !el) return;
1287
+ const root = document.documentElement;
1288
+ const publish = () => root.style.setProperty(CORNER_STACK_OFFSET_PROPERTY, `${el.getBoundingClientRect().width}px`);
1289
+ publish();
1290
+ const observer = typeof ResizeObserver === "function" ? new ResizeObserver(publish) : null;
1291
+ observer?.observe(el);
1292
+ return () => {
1293
+ observer?.disconnect();
1294
+ root.style.removeProperty(CORNER_STACK_OFFSET_PROPERTY);
1295
+ };
1296
+ }, [ref, active]);
1297
+ }
1298
+ function useSheetOpenMark(active) {
1299
+ useSlotEffect(() => {
1300
+ if (!active) return;
1301
+ document.documentElement.setAttribute(SHEET_OPEN_ATTRIBUTE, "");
1302
+ return () => document.documentElement.removeAttribute(SHEET_OPEN_ATTRIBUTE);
1303
+ }, [active]);
1304
+ }
1281
1305
 
1282
1306
  // src/components/loading/ProgressBar.tsx
1283
1307
  import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
@@ -1674,6 +1698,8 @@ function DockedSidePanel({ open: open2, children: childrenNow, ...widthOptions }
1674
1698
  const { width, setWidth } = useResizableWidth(widthOptions);
1675
1699
  const drag = React19.useRef(null);
1676
1700
  const [resizing, setResizing] = React19.useState(false);
1701
+ const boxRef = React19.useRef(null);
1702
+ usePublishCornerStackOffset(boxRef, rendered);
1677
1703
  if (!rendered) return null;
1678
1704
  const onPointerDown = (e) => {
1679
1705
  e.preventDefault();
@@ -1697,6 +1723,7 @@ function DockedSidePanel({ open: open2, children: childrenNow, ...widthOptions }
1697
1723
  return /* @__PURE__ */ jsx22(
1698
1724
  "div",
1699
1725
  {
1726
+ ref: boxRef,
1700
1727
  className: ["fd-sidepanel", animateEnter ? "is-entering" : "", closing ? "is-closing" : "", resizing ? "is-resizing" : ""].filter(Boolean).join(" "),
1701
1728
  "data-open": open2 ? "true" : "false",
1702
1729
  style: { width },
@@ -1758,6 +1785,7 @@ function AppShell({
1758
1785
  initialOpen: initialNavOpen,
1759
1786
  onPersist: onNavOpenChange
1760
1787
  });
1788
+ useSheetOpenMark(Boolean(sidePanel?.open) && rail.overlay);
1761
1789
  return /* @__PURE__ */ jsxs17(
1762
1790
  "div",
1763
1791
  {
@@ -13101,7 +13129,7 @@ import * as React77 from "react";
13101
13129
 
13102
13130
  // src/components/chat/ChatTurn.tsx
13103
13131
  import * as React76 from "react";
13104
- import { jsx as jsx102, jsxs as jsxs89 } from "react/jsx-runtime";
13132
+ import { Fragment as Fragment29, jsx as jsx102, jsxs as jsxs89 } from "react/jsx-runtime";
13105
13133
  function JsonView({ value }) {
13106
13134
  let text;
13107
13135
  try {
@@ -13111,9 +13139,44 @@ function JsonView({ value }) {
13111
13139
  }
13112
13140
  return /* @__PURE__ */ jsx102(CodeBlock, { code: text, language: "json", collapseAfter: 18 });
13113
13141
  }
13114
- function PacketCard({ packet, schema, render, onApply, applied }) {
13142
+ function DecisionFooter({ packet, decision, state }) {
13143
+ const [pending, setPending] = React76.useState(null);
13144
+ const [failure, setFailure] = React76.useState(null);
13145
+ const mounted = React76.useRef(true);
13146
+ React76.useEffect(() => {
13147
+ mounted.current = true;
13148
+ return () => {
13149
+ mounted.current = false;
13150
+ };
13151
+ }, []);
13152
+ const press = (action) => {
13153
+ if (pending) return;
13154
+ setPending(action);
13155
+ setFailure(null);
13156
+ decision.onDecide(action, packet).then(
13157
+ () => {
13158
+ if (mounted.current) setPending(null);
13159
+ },
13160
+ (e) => {
13161
+ if (!mounted.current) return;
13162
+ setPending(null);
13163
+ setFailure(e instanceof Error && e.message ? e.message : "That didn\u2019t go through.");
13164
+ }
13165
+ );
13166
+ };
13167
+ const error = failure !== null ? failure : state.error;
13168
+ return /* @__PURE__ */ jsxs89(Fragment29, { children: [
13169
+ error ? /* @__PURE__ */ jsx102("div", { className: "fdc-packet-decision-msg", children: /* @__PURE__ */ jsx102(Banner, { tone: "danger", title: error }) }) : null,
13170
+ /* @__PURE__ */ jsxs89("footer", { className: "fdc-packet-foot fdc-packet-decision", children: [
13171
+ /* @__PURE__ */ jsx102(Button, { variant: "secondary", size: "sm", loading: pending === "dismiss", disabled: pending === "confirm", onClick: () => press("dismiss"), children: decision.dismissLabel || "Dismiss" }),
13172
+ /* @__PURE__ */ jsx102(Button, { variant: "primary", size: "sm", loading: pending === "confirm", disabled: pending === "dismiss", onClick: () => press("confirm"), children: decision.confirmLabel || "Confirm" })
13173
+ ] })
13174
+ ] });
13175
+ }
13176
+ function PacketCard({ packet, schema, render, onApply, applied, decision }) {
13115
13177
  if (!packet) return null;
13116
13178
  const s = schema || {};
13179
+ const state = decision ? decision.state(packet) : {};
13117
13180
  const invalid = packet.valid === false;
13118
13181
  const title = s.heading || packet.type;
13119
13182
  return /* @__PURE__ */ jsxs89("section", { className: "fdc-packet" + (invalid ? " is-invalid" : ""), "aria-label": title, children: [
@@ -13121,13 +13184,14 @@ function PacketCard({ packet, schema, render, onApply, applied }) {
13121
13184
  /* @__PURE__ */ jsx102("i", { className: "ph ph-" + (s.icon || "package"), "aria-hidden": "true" }),
13122
13185
  /* @__PURE__ */ jsx102("span", { className: "fdc-packet-title", title: truncationTitle(title), children: title }),
13123
13186
  packet.repaired ? /* @__PURE__ */ jsx102("span", { className: "fdc-packet-badge", children: "Repaired" }) : null,
13124
- invalid ? /* @__PURE__ */ jsx102("span", { className: "fdc-packet-badge is-danger", children: "Invalid" }) : null
13187
+ invalid ? /* @__PURE__ */ jsx102("span", { className: "fdc-packet-badge is-danger", children: "Invalid" }) : null,
13188
+ decision && state.status ? /* @__PURE__ */ jsx102(Badge, { tone: state.status.tone, children: state.status.label }) : null
13125
13189
  ] }),
13126
13190
  invalid ? /* @__PURE__ */ jsxs89("div", { className: "fdc-packet-alert", role: "alert", children: [
13127
13191
  /* @__PURE__ */ jsx102("i", { className: "ph ph-warning-circle", "aria-hidden": "true" }),
13128
13192
  /* @__PURE__ */ jsx102("span", { children: packet.error || "This result failed validation and can\u2019t be applied." })
13129
13193
  ] }) : /* @__PURE__ */ jsx102("div", { className: "fdc-packet-body", children: render ? render(packet) : /* @__PURE__ */ jsx102(JsonView, { value: packet.payload }) }),
13130
- !invalid && onApply && s.apply !== false ? /* @__PURE__ */ jsxs89("footer", { className: "fdc-packet-foot", children: [
13194
+ !invalid && decision ? state.outcome ? /* @__PURE__ */ jsx102("div", { className: "fdc-packet-decision-msg", children: /* @__PURE__ */ jsx102(Banner, { tone: state.outcome.tone === "success" ? "ok" : "danger", role: "status", title: state.outcome.message }) }) : /* @__PURE__ */ jsx102(DecisionFooter, { packet, decision, state }) : !invalid && onApply && s.apply !== false ? /* @__PURE__ */ jsxs89("footer", { className: "fdc-packet-foot", children: [
13131
13195
  packet.repaired ? /* @__PURE__ */ jsx102("span", { className: "fdc-packet-note", children: "Corrected by the backend after a first attempt." }) : /* @__PURE__ */ jsx102("span", {}),
13132
13196
  /* @__PURE__ */ jsxs89("button", { type: "button", className: "fd-btn fd-btn-primary fd-btn-sm", disabled: applied, onClick: () => onApply(packet), children: [
13133
13197
  /* @__PURE__ */ jsx102("i", { className: "ph ph-" + (applied ? "check" : "arrow-square-in"), "aria-hidden": "true" }),
@@ -13209,6 +13273,7 @@ function MessageBody({ message: m, ctx }) {
13209
13273
  schema: (ctx.packetSchemas || {})[m.packet.type],
13210
13274
  render: (ctx.packetRenderers || {})[m.packet.type],
13211
13275
  onApply: ctx.onApplyPacket,
13276
+ decision: (ctx.packetDecisions || {})[m.packet.type],
13212
13277
  applied: ctx.appliedPackets && ctx.appliedPackets[m.id]
13213
13278
  }
13214
13279
  ) : null,
@@ -13927,6 +13992,7 @@ function AgentChatPanel({
13927
13992
  renderEmpty,
13928
13993
  packetSchemas,
13929
13994
  packetRenderers,
13995
+ packetDecisions,
13930
13996
  onApplyPacket,
13931
13997
  pendingTimeoutMs,
13932
13998
  describeWaiting,
@@ -14016,6 +14082,7 @@ function AgentChatPanel({
14016
14082
  showThinking,
14017
14083
  packetSchemas,
14018
14084
  packetRenderers,
14085
+ packetDecisions,
14019
14086
  appliedPackets: applied,
14020
14087
  narrow,
14021
14088
  onOpenAttachment,
@@ -14369,7 +14436,7 @@ function FileViewer({ file, resolveUrl, sidePanel, sidePanelLabel = "Details", o
14369
14436
 
14370
14437
  // src/components/files/FileBrowser.tsx
14371
14438
  import * as React82 from "react";
14372
- import { Fragment as Fragment31, jsx as jsx108, jsxs as jsxs95 } from "react/jsx-runtime";
14439
+ import { Fragment as Fragment32, jsx as jsx108, jsxs as jsxs95 } from "react/jsx-runtime";
14373
14440
  function childrenOf(folders, parentId) {
14374
14441
  return folders.filter((f) => f.parentId === parentId).sort((a, b) => a.name.localeCompare(b.name));
14375
14442
  }
@@ -14668,7 +14735,7 @@ function FileBrowser({
14668
14735
  ] }),
14669
14736
  /* @__PURE__ */ jsxs95("span", { className: "fd-fb-actions", children: [
14670
14737
  canCreateFolder ? /* @__PURE__ */ jsx108(Button, { variant: "secondary", size: "sm", icon: "folder-simple-plus", onClick: openCreate, children: "New folder" }) : null,
14671
- canUpload ? /* @__PURE__ */ jsxs95(Fragment31, { children: [
14738
+ canUpload ? /* @__PURE__ */ jsxs95(Fragment32, { children: [
14672
14739
  /* @__PURE__ */ jsx108(Button, { variant: "secondary", size: "sm", icon: "upload-simple", onClick: () => uploadInputRef.current && uploadInputRef.current.click(), children: "Upload" }),
14673
14740
  /* @__PURE__ */ jsx108(
14674
14741
  "input",
@@ -14735,7 +14802,7 @@ function FileBrowser({
14735
14802
  draggableId: canMove ? { kind: "folder", id: f.id } : void 0,
14736
14803
  isDropTarget: canMove,
14737
14804
  onDropPayload: (p) => moveIntoFolder(p, f.id),
14738
- actions: /* @__PURE__ */ jsxs95(Fragment31, { children: [
14805
+ actions: /* @__PURE__ */ jsxs95(Fragment32, { children: [
14739
14806
  canRenameFolder ? /* @__PURE__ */ jsx108(IconButton, { icon: "pencil-simple", label: "Rename " + f.name, size: "sm", variant: "ghost", onClick: () => openRename(f) }) : null,
14740
14807
  canMove ? /* @__PURE__ */ jsx108(
14741
14808
  FolderPickerMenu,
@@ -14758,7 +14825,7 @@ function FileBrowser({
14758
14825
  meta: file.size ? formatBytes(file.size) : void 0,
14759
14826
  onOpen: onOpenFile ? () => onOpenFile(file) : void 0,
14760
14827
  draggableId: canMove ? { kind: "file", id: file.id } : void 0,
14761
- actions: /* @__PURE__ */ jsxs95(Fragment31, { children: [
14828
+ actions: /* @__PURE__ */ jsxs95(Fragment32, { children: [
14762
14829
  canMove ? /* @__PURE__ */ jsx108(
14763
14830
  FolderPickerMenu,
14764
14831
  {
@@ -14776,7 +14843,7 @@ function FileBrowser({
14776
14843
  }
14777
14844
  ) })
14778
14845
  ] }),
14779
- /* @__PURE__ */ jsx108(Modal, { open: createOpen, title: "New folder", onClose: () => setCreateOpen(false), footer: /* @__PURE__ */ jsxs95(Fragment31, { children: [
14846
+ /* @__PURE__ */ jsx108(Modal, { open: createOpen, title: "New folder", onClose: () => setCreateOpen(false), footer: /* @__PURE__ */ jsxs95(Fragment32, { children: [
14780
14847
  /* @__PURE__ */ jsx108(Button, { variant: "secondary", onClick: () => setCreateOpen(false), children: "Cancel" }),
14781
14848
  /* @__PURE__ */ jsx108(Button, { onClick: submitCreate, disabled: !createName.trim(), children: "Create" })
14782
14849
  ] }), children: /* @__PURE__ */ jsx108(
@@ -14793,7 +14860,7 @@ function FileBrowser({
14793
14860
  autoFocus: true
14794
14861
  }
14795
14862
  ) }),
14796
- /* @__PURE__ */ jsx108(Modal, { open: renameTarget != null, title: "Rename folder", onClose: () => setRenameTarget(null), footer: /* @__PURE__ */ jsxs95(Fragment31, { children: [
14863
+ /* @__PURE__ */ jsx108(Modal, { open: renameTarget != null, title: "Rename folder", onClose: () => setRenameTarget(null), footer: /* @__PURE__ */ jsxs95(Fragment32, { children: [
14797
14864
  /* @__PURE__ */ jsx108(Button, { variant: "secondary", onClick: () => setRenameTarget(null), children: "Cancel" }),
14798
14865
  /* @__PURE__ */ jsx108(Button, { onClick: submitRename, disabled: !renameValue.trim(), children: "Save" })
14799
14866
  ] }), children: /* @__PURE__ */ jsx108(
@@ -14817,7 +14884,7 @@ function FileBrowser({
14817
14884
  title: deleteTarget ? "Delete \u201C" + deleteTarget.name + "\u201D?" : "Delete folder?",
14818
14885
  description: "This can't be undone. The folder must be empty.",
14819
14886
  onClose: () => setDeleteTarget(null),
14820
- footer: /* @__PURE__ */ jsxs95(Fragment31, { children: [
14887
+ footer: /* @__PURE__ */ jsxs95(Fragment32, { children: [
14821
14888
  /* @__PURE__ */ jsx108(Button, { variant: "secondary", onClick: () => setDeleteTarget(null), children: "Cancel" }),
14822
14889
  /* @__PURE__ */ jsx108(Button, { variant: "danger", onClick: confirmDelete, children: "Delete" })
14823
14890
  ] })
@@ -15451,6 +15518,7 @@ export {
15451
15518
  CHAT_UNAVAILABLE,
15452
15519
  COPIED_FEEDBACK_MS,
15453
15520
  CORNER_STACK_INSET_PROPERTY,
15521
+ CORNER_STACK_OFFSET_PROPERTY,
15454
15522
  Calendar,
15455
15523
  Card,
15456
15524
  CardGrid,
@@ -15557,6 +15625,7 @@ export {
15557
15625
  RoadmapTimeline,
15558
15626
  RunActions,
15559
15627
  RuntimeKit,
15628
+ SHEET_OPEN_ATTRIBUTE,
15560
15629
  SaturationDistribution,
15561
15630
  ScoreMeter,
15562
15631
  ScreenHead,
@@ -15661,10 +15730,12 @@ export {
15661
15730
  useLayerZIndex,
15662
15731
  useOverlayLayout,
15663
15732
  usePopoverPosition,
15733
+ usePublishCornerStackOffset,
15664
15734
  useResponsiveRail,
15665
15735
  useRuntimeMode,
15666
15736
  useServerTable,
15667
15737
  useSessionContext,
15738
+ useSheetOpenMark,
15668
15739
  useStackedLayer,
15669
15740
  useStagedFiles,
15670
15741
  useToast,