@flytedan/flytebot-design-system 0.58.0 → 0.60.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
@@ -759,15 +759,19 @@ declare function FlytedeskBrand({ appName, size, className, ...rest }: Flytedesk
759
759
  */
760
760
  declare function installFlytedeskFavicon(url: string): void;
761
761
 
762
+ interface TabItem {
763
+ value: string;
764
+ label: string;
765
+ count?: number;
766
+ /** `attention` colours the count as work that is waiting. Without it the count is neutral. */
767
+ tone?: "attention";
768
+ }
762
769
  /**
763
770
  * Places within one screen. Underline only — no pill tabs in the product.
771
+ * Tabs that do not fit scroll sideways, fading the edge that has more, with the active tab kept in view.
764
772
  */
765
773
  interface TabsProps {
766
- tabs: Array<string | {
767
- value: string;
768
- label: string;
769
- count?: number;
770
- }>;
774
+ tabs: Array<string | TabItem>;
771
775
  value?: string;
772
776
  onChange?: (value: string) => void;
773
777
  className?: string;
@@ -1168,10 +1172,14 @@ interface CsiHeroProps {
1168
1172
  }
1169
1173
  declare function CsiHero({ band, crp, label, className }: CsiHeroProps): React.JSX.Element;
1170
1174
 
1175
+ /** What a column becomes when the table is narrow (640px or less), where each row is a compact card instead of a table row:
1176
+ * `primary` is on the card's title line, `secondary` in its muted meta line (labelled with the
1177
+ * column's label), `hidden` is left out. */
1178
+ type DataTablePhoneRole = "primary" | "secondary" | "hidden";
1171
1179
  /**
1172
1180
  * The product's dense read surface. Sticky overline header, hairline rows, no zebra,
1173
1181
  * numbers right-aligned and tabular. Renders its own skeleton rows so the table
1174
- * never collapses while data is in flight.
1182
+ * never collapses while data is in flight. At 640px wide or less (its own width, not the window's) each row becomes a compact card.
1175
1183
  */
1176
1184
  interface DataTableColumn {
1177
1185
  key: string;
@@ -1181,6 +1189,8 @@ interface DataTableColumn {
1181
1189
  /** Set widths explicitly; auto layout shifts as data arrives. */
1182
1190
  width?: string;
1183
1191
  sortable?: boolean;
1192
+ /** The column's role in the stacked-card layout, at a table width of 640px or less. At least one column must be `primary`. */
1193
+ phone: DataTablePhoneRole;
1184
1194
  render?: (row: any) => React.ReactNode;
1185
1195
  }
1186
1196
  interface DataTableProps {
@@ -2325,6 +2335,24 @@ interface TransferListProps<T> {
2325
2335
  */
2326
2336
  declare function TransferList<T>({ left, right, keyOf, renderRow, onMove, itemHeight, rowGap, listHeight, className, }: TransferListProps<T>): React.JSX.Element;
2327
2337
 
2338
+ interface Fact {
2339
+ /** What the fact is. Also its identity, so labels are unique within a list. */
2340
+ label: string;
2341
+ /** Any node: text, a badge, a link. */
2342
+ value: React.ReactNode;
2343
+ }
2344
+ interface FactListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
2345
+ facts: Fact[];
2346
+ className?: string;
2347
+ }
2348
+ /**
2349
+ * Label/value pairs as a compact grid: 2 to 4 columns as the list's own width allows, one column
2350
+ * when it is narrow (a phone). Where CardRow stacks one pair per line, a summary of a handful of
2351
+ * facts reads at a glance instead of filling the screen. The columns follow the width of the
2352
+ * container it is placed in, not the viewport, so it holds in a narrow card on a wide screen too.
2353
+ */
2354
+ declare function FactList({ facts, className, ...rest }: FactListProps): React.JSX.Element;
2355
+
2328
2356
  /**
2329
2357
  * Multi-select control with a 44px comfortable hit area.
2330
2358
  */
@@ -3032,6 +3060,24 @@ interface AppSwitcherProps {
3032
3060
  */
3033
3061
  declare function AppSwitcher({ apps: appsProp, onNavigate, className }: AppSwitcherProps): React.JSX.Element | null;
3034
3062
 
3063
+ interface AppearanceMenuProps {
3064
+ className?: string;
3065
+ }
3066
+ /**
3067
+ * The appearance popover every flytedesk app puts in its topbar: theme, text size, high
3068
+ * contrast, and a reduced-motion override on top of the OS's own `prefers-reduced-
3069
+ * motion`. Fits `Topbar`'s `actions`/`overflowActions` slot (see Topbar.tsx) the same
3070
+ * way `AccountMenu` does — an `IconButton` trigger anchoring a `Popover`.
3071
+ *
3072
+ * It only reads and writes the nearest `AppearanceProvider`'s store (persistence is that
3073
+ * store's concern, see kits/appearance.ts); applying the prefs to `document.documentElement`
3074
+ * is the provider's job, so it holds at every width whether or not this menu is mounted.
3075
+ * Every visual effect is a CSS rule in this package's own styles (tokens.css) driven by
3076
+ * the `[data-theme]`/`[data-text-scale]`/`[data-contrast]`/`[data-motion]` attributes
3077
+ * the provider sets — no inline styles, no app-side CSS.
3078
+ */
3079
+ declare function AppearanceMenu({ className }: AppearanceMenuProps): React.JSX.Element;
3080
+
3035
3081
  type ThemeMode = "light" | "dark" | "system";
3036
3082
  type TextScale = "sm" | "md" | "lg" | "xl";
3037
3083
  interface AppearancePrefs {
@@ -3098,35 +3144,56 @@ declare function createLocalStorageAppearanceStore(opts?: AppearanceStoreOptions
3098
3144
  * `[data-motion="reduce"]` (same absent-is-off shape). No inline styles: every visual
3099
3145
  * effect is a CSS rule in this package's own styles, driven by these attributes alone. */
3100
3146
  declare function applyPrefs(prefs: AppearancePrefs, root?: HTMLElement): void;
3147
+ /** Applies `store`'s current snapshot to `root` — one synchronous, idempotent call. Run it
3148
+ * once BEFORE the app's first React render (`main.tsx`) so a saved theme/text size/contrast
3149
+ * paints from the very first frame, with no flash of the defaults while the bundle boots and
3150
+ * the app mounts. It is the same application `watchAppearance` does on mount, so the two never
3151
+ * disagree. */
3152
+ declare function applyAppearance(store: AppearanceStore, root?: HTMLElement): void;
3153
+ /** Keeps `root`'s appearance attributes equal to `store`'s snapshot for as long as it runs:
3154
+ * applies the current value now, re-applies on every change the store reports (a menu write,
3155
+ * another tab's `storage` event, an app's async server hydration) and, while the theme is
3156
+ * "system", when the OS's own light/dark setting flips. Returns its stop function.
3157
+ *
3158
+ * This is the ONE place appearance reaches the DOM, and it is independent of every piece of UI:
3159
+ * `AppearanceProvider` runs it for the app's lifetime, so a saved Appearance applies at every
3160
+ * width whether or not `AppearanceMenu` is mounted (Topbar collapses it into a "More actions"
3161
+ * menu on a phone, where it isn't mounted until opened — SMS-96). */
3162
+ declare function watchAppearance(store: AppearanceStore, root?: HTMLElement): () => void;
3101
3163
  /** [prefs, update] over an app-supplied `AppearanceStore`. Reads through
3102
3164
  * `React.useSyncExternalStore`, so a snapshot that changes for ANY reason — this hook's
3103
3165
  * own `update`, another tab, or an app's async server hydration landing after mount —
3104
- * re-renders with the new value and re-applies it to the DOM. Any number of independent
3105
- * instances may run at once as long as each is given its own store (or its own
3106
- * `storageKey`, for the default store) — nothing here is a module-level singleton. */
3166
+ * re-renders with the new value. It does NOT touch the DOM: applying appearance is the
3167
+ * app-wide `AppearanceProvider`'s job (`watchAppearance`), never a hook a menu happens to
3168
+ * mount. Nothing here is a module-level singleton. */
3107
3169
  declare function useAppearancePrefs(store: AppearanceStore): [AppearancePrefs, (patch: Partial<AppearancePrefs>) => void];
3108
3170
 
3109
- interface AppearanceMenuProps extends AppearanceStoreOptions {
3110
- /** An app-supplied external store (read/write/subscribe) — e.g. an adapter over a
3111
- * server-synced prefs cache, so a value that arrives after mount still reaches this
3112
- * menu and the DOM. Omit to get the default localStorage-backed store, configured by
3113
- * `storageKey`/`storage`/`defaults`. */
3114
- store?: AppearanceStore;
3115
- className?: string;
3171
+ interface AppearanceProviderProps {
3172
+ /** The app's one `AppearanceStore` — `createLocalStorageAppearanceStore({ storageKey })`
3173
+ * for an app with no server-side prefs, or its own adapter over server-synced state. Create
3174
+ * it ONCE, outside React (a module constant): the provider, `AppearanceMenu` and the
3175
+ * pre-render `applyAppearance(store)` call in `main.tsx` all share this one instance. */
3176
+ store: AppearanceStore;
3177
+ children: React.ReactNode;
3116
3178
  }
3117
3179
  /**
3118
- * The appearance popover every flytedesk app puts in its topbar: theme, text size, high
3119
- * contrast, and a reduced-motion override on top of the OS's own `prefers-reduced-
3120
- * motion`. Fits `Topbar`'s `actions`/`overflowActions` slot (see Topbar.tsx) the same
3121
- * way `AccountMenu` does — an `IconButton` trigger anchoring a `Popover`.
3180
+ * Owns applying the app's saved Appearance (theme, text size, contrast, reduced motion) to
3181
+ * `document.documentElement` for the whole life of the app, and shares its store with
3182
+ * `AppearanceMenu`. Mount it once, at the app root — above the session boundary, so the
3183
+ * sign-in and loading screens carry the saved Appearance too.
3122
3184
  *
3123
- * Persistence is caller-configurable (`storageKey`/`storage`, see kits/appearance.ts) —
3124
- * pass a `storageKey` to namespace it per app; nothing here is a shared/global key.
3125
- * Every visual effect is a CSS rule in this package's own styles (tokens.css) driven by
3126
- * the `[data-theme]`/`[data-text-scale]`/`[data-contrast]`/`[data-motion]` attributes
3127
- * this component sets on `document.documentElement` — no inline styles, no app-side CSS.
3185
+ * Applying is deliberately NOT the menu's job: Topbar collapses the menu into a "More actions"
3186
+ * overflow that isn't mounted until it's opened (640px and narrower by default), so a menu that
3187
+ * applied prefs would leave a saved dark theme unapplied after a reload on a phone (SMS-96).
3188
+ * Here a menu write, another tab's `storage` event and an app's async server hydration all
3189
+ * re-apply at every width. The first application runs in a layout effect, before the browser's
3190
+ * first paint of the app; call `applyAppearance(store)` before `createRoot(...).render(...)` to
3191
+ * also cover the time before React mounts.
3128
3192
  */
3129
- declare function AppearanceMenu({ className, store: storeProp, storageKey, storage, defaults }: AppearanceMenuProps): React.JSX.Element;
3193
+ declare function AppearanceProvider({ store, children }: AppearanceProviderProps): React.JSX.Element;
3194
+ /** The store of the nearest `AppearanceProvider`. Throws without one: an `AppearanceMenu`
3195
+ * mounted outside a provider would write prefs nothing ever applies. */
3196
+ declare function useAppearanceStore(): AppearanceStore;
3130
3197
 
3131
3198
  interface EndpointSpec {
3132
3199
  id: string;
@@ -5084,4 +5151,4 @@ declare function CornerStackPortal({ slot, children }: {
5084
5151
  children?: React.ReactNode;
5085
5152
  }): React.ReactPortal | null;
5086
5153
 
5087
- export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, 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 DataTableProps, 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, FeatureGate, type FeatureGateProps, type FeatureStatus, 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 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, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, 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_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 QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, 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 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, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, 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 TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, type UsageLimit, UseFeatureStatus, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, 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, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, validateFilterValue, visibleMessages };
5154
+ export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, 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 DataTablePhoneRole, type DataTableProps, 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, 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 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, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, 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_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 QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, 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 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, 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 TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, type UsageLimit, UseFeatureStatus, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, 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, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, validateFilterValue, visibleMessages, watchAppearance };
package/dist/index.d.ts CHANGED
@@ -759,15 +759,19 @@ declare function FlytedeskBrand({ appName, size, className, ...rest }: Flytedesk
759
759
  */
760
760
  declare function installFlytedeskFavicon(url: string): void;
761
761
 
762
+ interface TabItem {
763
+ value: string;
764
+ label: string;
765
+ count?: number;
766
+ /** `attention` colours the count as work that is waiting. Without it the count is neutral. */
767
+ tone?: "attention";
768
+ }
762
769
  /**
763
770
  * Places within one screen. Underline only — no pill tabs in the product.
771
+ * Tabs that do not fit scroll sideways, fading the edge that has more, with the active tab kept in view.
764
772
  */
765
773
  interface TabsProps {
766
- tabs: Array<string | {
767
- value: string;
768
- label: string;
769
- count?: number;
770
- }>;
774
+ tabs: Array<string | TabItem>;
771
775
  value?: string;
772
776
  onChange?: (value: string) => void;
773
777
  className?: string;
@@ -1168,10 +1172,14 @@ interface CsiHeroProps {
1168
1172
  }
1169
1173
  declare function CsiHero({ band, crp, label, className }: CsiHeroProps): React.JSX.Element;
1170
1174
 
1175
+ /** What a column becomes when the table is narrow (640px or less), where each row is a compact card instead of a table row:
1176
+ * `primary` is on the card's title line, `secondary` in its muted meta line (labelled with the
1177
+ * column's label), `hidden` is left out. */
1178
+ type DataTablePhoneRole = "primary" | "secondary" | "hidden";
1171
1179
  /**
1172
1180
  * The product's dense read surface. Sticky overline header, hairline rows, no zebra,
1173
1181
  * numbers right-aligned and tabular. Renders its own skeleton rows so the table
1174
- * never collapses while data is in flight.
1182
+ * never collapses while data is in flight. At 640px wide or less (its own width, not the window's) each row becomes a compact card.
1175
1183
  */
1176
1184
  interface DataTableColumn {
1177
1185
  key: string;
@@ -1181,6 +1189,8 @@ interface DataTableColumn {
1181
1189
  /** Set widths explicitly; auto layout shifts as data arrives. */
1182
1190
  width?: string;
1183
1191
  sortable?: boolean;
1192
+ /** The column's role in the stacked-card layout, at a table width of 640px or less. At least one column must be `primary`. */
1193
+ phone: DataTablePhoneRole;
1184
1194
  render?: (row: any) => React.ReactNode;
1185
1195
  }
1186
1196
  interface DataTableProps {
@@ -2325,6 +2335,24 @@ interface TransferListProps<T> {
2325
2335
  */
2326
2336
  declare function TransferList<T>({ left, right, keyOf, renderRow, onMove, itemHeight, rowGap, listHeight, className, }: TransferListProps<T>): React.JSX.Element;
2327
2337
 
2338
+ interface Fact {
2339
+ /** What the fact is. Also its identity, so labels are unique within a list. */
2340
+ label: string;
2341
+ /** Any node: text, a badge, a link. */
2342
+ value: React.ReactNode;
2343
+ }
2344
+ interface FactListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
2345
+ facts: Fact[];
2346
+ className?: string;
2347
+ }
2348
+ /**
2349
+ * Label/value pairs as a compact grid: 2 to 4 columns as the list's own width allows, one column
2350
+ * when it is narrow (a phone). Where CardRow stacks one pair per line, a summary of a handful of
2351
+ * facts reads at a glance instead of filling the screen. The columns follow the width of the
2352
+ * container it is placed in, not the viewport, so it holds in a narrow card on a wide screen too.
2353
+ */
2354
+ declare function FactList({ facts, className, ...rest }: FactListProps): React.JSX.Element;
2355
+
2328
2356
  /**
2329
2357
  * Multi-select control with a 44px comfortable hit area.
2330
2358
  */
@@ -3032,6 +3060,24 @@ interface AppSwitcherProps {
3032
3060
  */
3033
3061
  declare function AppSwitcher({ apps: appsProp, onNavigate, className }: AppSwitcherProps): React.JSX.Element | null;
3034
3062
 
3063
+ interface AppearanceMenuProps {
3064
+ className?: string;
3065
+ }
3066
+ /**
3067
+ * The appearance popover every flytedesk app puts in its topbar: theme, text size, high
3068
+ * contrast, and a reduced-motion override on top of the OS's own `prefers-reduced-
3069
+ * motion`. Fits `Topbar`'s `actions`/`overflowActions` slot (see Topbar.tsx) the same
3070
+ * way `AccountMenu` does — an `IconButton` trigger anchoring a `Popover`.
3071
+ *
3072
+ * It only reads and writes the nearest `AppearanceProvider`'s store (persistence is that
3073
+ * store's concern, see kits/appearance.ts); applying the prefs to `document.documentElement`
3074
+ * is the provider's job, so it holds at every width whether or not this menu is mounted.
3075
+ * Every visual effect is a CSS rule in this package's own styles (tokens.css) driven by
3076
+ * the `[data-theme]`/`[data-text-scale]`/`[data-contrast]`/`[data-motion]` attributes
3077
+ * the provider sets — no inline styles, no app-side CSS.
3078
+ */
3079
+ declare function AppearanceMenu({ className }: AppearanceMenuProps): React.JSX.Element;
3080
+
3035
3081
  type ThemeMode = "light" | "dark" | "system";
3036
3082
  type TextScale = "sm" | "md" | "lg" | "xl";
3037
3083
  interface AppearancePrefs {
@@ -3098,35 +3144,56 @@ declare function createLocalStorageAppearanceStore(opts?: AppearanceStoreOptions
3098
3144
  * `[data-motion="reduce"]` (same absent-is-off shape). No inline styles: every visual
3099
3145
  * effect is a CSS rule in this package's own styles, driven by these attributes alone. */
3100
3146
  declare function applyPrefs(prefs: AppearancePrefs, root?: HTMLElement): void;
3147
+ /** Applies `store`'s current snapshot to `root` — one synchronous, idempotent call. Run it
3148
+ * once BEFORE the app's first React render (`main.tsx`) so a saved theme/text size/contrast
3149
+ * paints from the very first frame, with no flash of the defaults while the bundle boots and
3150
+ * the app mounts. It is the same application `watchAppearance` does on mount, so the two never
3151
+ * disagree. */
3152
+ declare function applyAppearance(store: AppearanceStore, root?: HTMLElement): void;
3153
+ /** Keeps `root`'s appearance attributes equal to `store`'s snapshot for as long as it runs:
3154
+ * applies the current value now, re-applies on every change the store reports (a menu write,
3155
+ * another tab's `storage` event, an app's async server hydration) and, while the theme is
3156
+ * "system", when the OS's own light/dark setting flips. Returns its stop function.
3157
+ *
3158
+ * This is the ONE place appearance reaches the DOM, and it is independent of every piece of UI:
3159
+ * `AppearanceProvider` runs it for the app's lifetime, so a saved Appearance applies at every
3160
+ * width whether or not `AppearanceMenu` is mounted (Topbar collapses it into a "More actions"
3161
+ * menu on a phone, where it isn't mounted until opened — SMS-96). */
3162
+ declare function watchAppearance(store: AppearanceStore, root?: HTMLElement): () => void;
3101
3163
  /** [prefs, update] over an app-supplied `AppearanceStore`. Reads through
3102
3164
  * `React.useSyncExternalStore`, so a snapshot that changes for ANY reason — this hook's
3103
3165
  * own `update`, another tab, or an app's async server hydration landing after mount —
3104
- * re-renders with the new value and re-applies it to the DOM. Any number of independent
3105
- * instances may run at once as long as each is given its own store (or its own
3106
- * `storageKey`, for the default store) — nothing here is a module-level singleton. */
3166
+ * re-renders with the new value. It does NOT touch the DOM: applying appearance is the
3167
+ * app-wide `AppearanceProvider`'s job (`watchAppearance`), never a hook a menu happens to
3168
+ * mount. Nothing here is a module-level singleton. */
3107
3169
  declare function useAppearancePrefs(store: AppearanceStore): [AppearancePrefs, (patch: Partial<AppearancePrefs>) => void];
3108
3170
 
3109
- interface AppearanceMenuProps extends AppearanceStoreOptions {
3110
- /** An app-supplied external store (read/write/subscribe) — e.g. an adapter over a
3111
- * server-synced prefs cache, so a value that arrives after mount still reaches this
3112
- * menu and the DOM. Omit to get the default localStorage-backed store, configured by
3113
- * `storageKey`/`storage`/`defaults`. */
3114
- store?: AppearanceStore;
3115
- className?: string;
3171
+ interface AppearanceProviderProps {
3172
+ /** The app's one `AppearanceStore` — `createLocalStorageAppearanceStore({ storageKey })`
3173
+ * for an app with no server-side prefs, or its own adapter over server-synced state. Create
3174
+ * it ONCE, outside React (a module constant): the provider, `AppearanceMenu` and the
3175
+ * pre-render `applyAppearance(store)` call in `main.tsx` all share this one instance. */
3176
+ store: AppearanceStore;
3177
+ children: React.ReactNode;
3116
3178
  }
3117
3179
  /**
3118
- * The appearance popover every flytedesk app puts in its topbar: theme, text size, high
3119
- * contrast, and a reduced-motion override on top of the OS's own `prefers-reduced-
3120
- * motion`. Fits `Topbar`'s `actions`/`overflowActions` slot (see Topbar.tsx) the same
3121
- * way `AccountMenu` does — an `IconButton` trigger anchoring a `Popover`.
3180
+ * Owns applying the app's saved Appearance (theme, text size, contrast, reduced motion) to
3181
+ * `document.documentElement` for the whole life of the app, and shares its store with
3182
+ * `AppearanceMenu`. Mount it once, at the app root — above the session boundary, so the
3183
+ * sign-in and loading screens carry the saved Appearance too.
3122
3184
  *
3123
- * Persistence is caller-configurable (`storageKey`/`storage`, see kits/appearance.ts) —
3124
- * pass a `storageKey` to namespace it per app; nothing here is a shared/global key.
3125
- * Every visual effect is a CSS rule in this package's own styles (tokens.css) driven by
3126
- * the `[data-theme]`/`[data-text-scale]`/`[data-contrast]`/`[data-motion]` attributes
3127
- * this component sets on `document.documentElement` — no inline styles, no app-side CSS.
3185
+ * Applying is deliberately NOT the menu's job: Topbar collapses the menu into a "More actions"
3186
+ * overflow that isn't mounted until it's opened (640px and narrower by default), so a menu that
3187
+ * applied prefs would leave a saved dark theme unapplied after a reload on a phone (SMS-96).
3188
+ * Here a menu write, another tab's `storage` event and an app's async server hydration all
3189
+ * re-apply at every width. The first application runs in a layout effect, before the browser's
3190
+ * first paint of the app; call `applyAppearance(store)` before `createRoot(...).render(...)` to
3191
+ * also cover the time before React mounts.
3128
3192
  */
3129
- declare function AppearanceMenu({ className, store: storeProp, storageKey, storage, defaults }: AppearanceMenuProps): React.JSX.Element;
3193
+ declare function AppearanceProvider({ store, children }: AppearanceProviderProps): React.JSX.Element;
3194
+ /** The store of the nearest `AppearanceProvider`. Throws without one: an `AppearanceMenu`
3195
+ * mounted outside a provider would write prefs nothing ever applies. */
3196
+ declare function useAppearanceStore(): AppearanceStore;
3130
3197
 
3131
3198
  interface EndpointSpec {
3132
3199
  id: string;
@@ -5084,4 +5151,4 @@ declare function CornerStackPortal({ slot, children }: {
5084
5151
  children?: React.ReactNode;
5085
5152
  }): React.ReactPortal | null;
5086
5153
 
5087
- export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, AppSwitcher, type AppSwitcherProps, AppearanceMenu, type AppearanceMenuProps, type AppearancePrefs, 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 DataTableProps, 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, FeatureGate, type FeatureGateProps, type FeatureStatus, 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 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, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, 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_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 QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, 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 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, StatTile, type StatTileProps, type Step, StepList, type StepListProps, type StreamHandlers, type Suggestion, SurroundSound, type SurroundSoundProps, Switch, type SwitchProps, 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 TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, type UsageLimit, UseFeatureStatus, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, 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, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, copyToClipboard, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, validateFilterValue, visibleMessages };
5154
+ export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, AnchoredPopover, type AnchoredPopoverProps, AnimNum, type AnimNumProps, ApiSpecBrowser, type ApiSpecBrowserProps, type AppEntry, AppShell, type AppShellProps, 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 DataTablePhoneRole, type DataTableProps, 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, 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 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, LAYER_STEP, type ListEnvelope, LoadingRegion, type LoadingRegionProps, Markdown, MarkdownEditor, type MarkdownEditorHandle, type MarkdownEditorProps, MarkdownInline, type MarkdownProps, 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_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 QueuedTurn, QuotaRow, type QuotaRowProps, ROOT_STEP, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, 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 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, 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 TooltipProps, Topbar, type TopbarProps, TranscriptKit, TransferList, type TransferListProps, type TransferListSide, type TransferListSideProps, TrendChart, type TrendChartProps, type TrendSeries, type UsageLimit, UseFeatureStatus, type UseResponsiveRailOptions, type UseResponsiveRailResult, UseRuntimeMode, type UseServerTableOptions, 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, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, isWithinLayerTree, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useAppearanceStore, useChatEngine, useCopyToClipboard, useCornerStackSlot, useDocumentTitle, useFeatureStatus, useLayerZIndex, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStackedLayer, useStagedFiles, useToast, validateFilterValue, visibleMessages, watchAppearance };