@flytedan/flytebot-design-system 0.28.0 → 0.30.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
@@ -692,8 +692,14 @@ interface BannerProps {
692
692
  title: React.ReactNode;
693
693
  detail?: React.ReactNode;
694
694
  actions?: React.ReactNode;
695
- }
696
- declare function Banner({ tone, title, detail, actions }: BannerProps): React.JSX.Element;
695
+ /** A Banner reporting a failure (danger) is a live-region announcement that interrupts
696
+ * and announces immediately (`role="alert"`); every other tone — warn, info, ok —
697
+ * announces politely once idle (`role="status"`), since a static warning or advisory
698
+ * banner isn't urgent enough to talk over whatever the user is doing. Defaults by
699
+ * tone; a caller can still override either way. */
700
+ role?: "alert" | "status";
701
+ }
702
+ declare function Banner({ tone, title, detail, actions, role }: BannerProps): React.JSX.Element;
697
703
 
698
704
  /**
699
705
  * A pill of state. Badges never carry actions — if it is clickable it is a Tag.
@@ -1075,26 +1081,51 @@ interface FilterFieldSelect extends FilterFieldBase {
1075
1081
  type: "select";
1076
1082
  options: FilterFieldOption[];
1077
1083
  }
1078
- /** MP-243: include/exclude, shared by every field whose value is a set of options
1079
- * (multiSelect and pasteList — paste-a-list resolves onto the same shape once its
1080
- * tokens are matched, so the two variants share one value model and one operator
1081
- * control rather than each growing their own). */
1084
+ /** Include/exclude, shared by every field whose value is a set of options. */
1082
1085
  type FilterOperator = "in" | "notIn";
1083
1086
  interface FilterMultiSelectValue {
1084
1087
  operator: FilterOperator;
1085
1088
  values: FilterFieldOption[];
1086
1089
  }
1090
+ interface FilterResolveMatch {
1091
+ token: string;
1092
+ value: string;
1093
+ label: string;
1094
+ }
1095
+ interface FilterResolveResult {
1096
+ matched: FilterResolveMatch[];
1097
+ unmatched: string[];
1098
+ }
1087
1099
  interface FilterFieldMultiSelect extends FilterFieldBase {
1088
1100
  type: "multiSelect";
1089
1101
  /** Sync option list — filtered client-side by the typed query. Omit when `loadOptions`
1090
1102
  * is given; the two are mutually exclusive (async wins if both are somehow set). */
1091
1103
  options?: FilterFieldOption[];
1092
- /** Async option source for long lists (schools, imports, …). Called ~300ms after the
1093
- * last keystroke, with the current query (possibly ""). Its own rejection is treated
1094
- * as "no options" rather than surfaced — a transient search failure shouldn't block
1095
- * the field the way a paste-a-list resolver failure does. */
1096
- loadOptions?: (query: string) => Promise<FilterFieldOption[]>;
1104
+ /** Async option source for long lists (schools, imports, …), called ~300ms after the
1105
+ * last keystroke with the current query (possibly "") and an AbortSignal that fires
1106
+ * once a newer query has superseded this call — pass it straight to `fetch`/whatever
1107
+ * transport does the lookup so a superseded request is actually cancelled, not just
1108
+ * ignored on arrival. A rejection (that isn't the abort itself) renders as a visible
1109
+ * error with a Retry action; it is never folded into "no matches", since a search
1110
+ * that FAILED is a different thing to tell the user than a search that found
1111
+ * nothing. */
1112
+ loadOptions?: (query: string, signal: AbortSignal) => Promise<FilterFieldOption[]>;
1113
+ /** Paste-a-list as a second input mode for THIS SAME field — search and paste both
1114
+ * build one FilterMultiSelectValue for one dimension, so a school found by typing and
1115
+ * a school found by pasting a list land as two entries in the same set instead of two
1116
+ * separate filters that would AND together. Presence of `resolve` is what turns on
1117
+ * the Search/Paste mode switch; omit it for a search-only field. Never called with an
1118
+ * empty token list, and tokens are de-duplicated before the call. */
1119
+ resolve?: (tokens: string[]) => Promise<FilterResolveResult>;
1097
1120
  placeholder?: string;
1121
+ /** Placeholder for the paste textarea, when `resolve` is given. Falls back to `placeholder`. */
1122
+ pastePlaceholder?: string;
1123
+ /** Restrict which operators this field's toggle offers, e.g. `["in"]` for a dimension
1124
+ * that only ever means "is any of" and never "is none of" — a single-operator list
1125
+ * hides the toggle entirely and that operator applies unconditionally, so an app can
1126
+ * express an "any"/"is"-only dimension exactly rather than showing a switch with
1127
+ * nothing to switch to. Defaults to both `["in", "notIn"]`. */
1128
+ operators?: FilterOperator[];
1098
1129
  }
1099
1130
  interface FilterRangeValue {
1100
1131
  min?: number;
@@ -1122,41 +1153,37 @@ type FilterDateValue = {
1122
1153
  };
1123
1154
  interface FilterFieldDate extends FilterFieldBase {
1124
1155
  type: "date";
1125
- /** Default days shown the first time "within the last N days" is picked. */
1156
+ /** Default days shown the first time "within the last N days" is picked — shown, not
1157
+ * written: nothing is set until the user changes it or confirms it. */
1126
1158
  defaultDays?: number;
1127
- }
1128
- interface FilterResolveMatch {
1129
- token: string;
1130
- value: string;
1131
- label: string;
1132
- }
1133
- interface FilterResolveResult {
1134
- matched: FilterResolveMatch[];
1135
- unmatched: string[];
1136
- }
1137
- interface FilterFieldPasteList extends FilterFieldBase {
1138
- type: "pasteList";
1139
- /** Resolves pasted tokens against the app's own data. Never called with an empty
1140
- * token list. A rejection is shown as a visible error — unlike loadOptions, a failed
1141
- * paste-a-list resolve is exactly the thing the user is waiting on. */
1142
- resolve: (tokens: string[]) => Promise<FilterResolveResult>;
1143
- placeholder?: string;
1159
+ /** Upper bound enforced on the "within the last N days" input. Default 3650 (ten
1160
+ * years) — generous enough for any real "recent activity" window while still
1161
+ * guaranteeing a plausible, in-range value ever reaches `onFilterChange`. */
1162
+ maxDays?: number;
1144
1163
  }
1145
1164
  /** A declared filter field. Add a variant here (and a branch below) for a new value
1146
- * picker. MP-243 added multiSelect/range/date/pasteList alongside the original
1147
- * text/select — the existing two keep their original value shape (a bare string)
1148
- * unchanged; every new variant's value is a small typed object of its own. */
1149
- type FilterField = FilterFieldText | FilterFieldSelect | FilterFieldMultiSelect | FilterFieldRange | FilterFieldDate | FilterFieldPasteList;
1165
+ * picker. text/select keep their original bare-string value shape unchanged, so an
1166
+ * existing consumer needs no migration; every other variant's value is a small typed
1167
+ * object of its own (see FilterValue). */
1168
+ type FilterField = FilterFieldText | FilterFieldSelect | FilterFieldMultiSelect | FilterFieldRange | FilterFieldDate;
1169
+ /** The value shape a given declared field reads/writes, so a consumer can type its own
1170
+ * `filters` record precisely instead of `Record<string, unknown>` — e.g.
1171
+ * `Record<"schools", FilterValue<typeof schoolsField>>`. */
1172
+ type FilterValue<F extends FilterField> = F extends FilterFieldText ? string : F extends FilterFieldSelect ? string : F extends FilterFieldMultiSelect ? FilterMultiSelectValue : F extends FilterFieldRange ? FilterRangeValue : F extends FilterFieldDate ? FilterDateValue : never;
1150
1173
  interface FilterBarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "onChange"> {
1151
1174
  /** Every filter a consumer can add. Order here is the order in the "add filter" list. */
1152
1175
  fields: FilterField[];
1153
1176
  /** Straight off useServerTable — a value of undefined/""/false reads as "not set",
1154
1177
  * same convention that hook already uses for activeFilterCount. multiSelect/range/
1155
- * date/pasteList values are objects instead (see isFieldSet). */
1178
+ * date values are objects instead (see isFieldSet). */
1156
1179
  filters: Record<string, unknown>;
1157
- /** Fires on every value edit. Maps 1:1 onto useServerTable's setFilter(id, value). */
1180
+ /** Fires on every value edit. Maps 1:1 onto useServerTable's setFilter(id, value).
1181
+ * FilterBar only ever calls this with a COMPLETE, valid value for the field — an
1182
+ * emptied selection, a one-sided date range, an invalid numeric range or a cleared
1183
+ * bound go through onFilterRemove (or nothing) instead. */
1158
1184
  onFilterChange: (key: string, value: unknown) => void;
1159
- /** Fires when a chip's × is clicked. Maps 1:1 onto useServerTable's clearFilter(id). */
1185
+ /** Fires when a chip's × is clicked, or when an edit leaves a field with no valid
1186
+ * value. Maps 1:1 onto useServerTable's clearFilter(id). */
1160
1187
  onFilterRemove: (key: string) => void;
1161
1188
  /** Which edge the "add filter" popover aligns to. Default "left" — the trigger sits
1162
1189
  * at the end of a left-to-right chip row, so its menu opens under its left edge. */
@@ -1173,20 +1200,18 @@ interface FilterBarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "on
1173
1200
  * values, only the transient "which field's popover/input is open right now" UI state
1174
1201
  * (`panel`), the same way SortMenu holds `open` but never sort state itself.
1175
1202
  *
1176
- * Visual/interaction language is deliberately identical to SortMenu: a secondary Button
1177
- * trigger, a `fd-view-enter` panel positioned with `top: calc(100% + 6px)`, the same
1178
- * click-outside/Escape wiring, and the same `fd-stack`/`fd-row`/`fd-overline`/`fd-muted`/
1179
- * `fd-body-sm` utility classes — so this reads as built by the same hand, not a new
1180
- * import from elsewhere.
1203
+ * Every floating surface — a field's edit panel and the "add filter" menu — is a real
1204
+ * Popover (or Menu-in-a-Popover) from this kit's own actions module: viewport clamping,
1205
+ * nested-layer handling, Escape, and focus-return-to-the-chip all come from there, so
1206
+ * FilterBar itself runs no document-level dismissal listener of its own. Only the text
1207
+ * field's inline input manages its own dismissal (blur/Enter/Escape), since it isn't a
1208
+ * floating panel at all.
1181
1209
  *
1182
- * MP-243 adds four variants on top of the original text/select, for audiences too big or
1183
- * too shaped for a single free-text box or a short dropdown: multiSelect (searchable,
1184
- * sync or async, for long option lists), range (numeric min/max), date ("within the last
1185
- * N days" or "between two dates"), and pasteList (the app supplies a resolver; pasted
1186
- * tokens become selected values, and whatever didn't match is shown, not silently
1187
- * dropped). All four share the include/exclude OperatorToggle where an operator makes
1188
- * sense (multiSelect, pasteList); text/select are unchanged and keep their bare-string
1189
- * value shape, so an existing consumer needs no migration.
1210
+ * FilterBar supports five field kinds: text, select, multiSelect (searchable, sync or
1211
+ * async, with an optional paste-a-list mode for the same value), range (numeric min/max),
1212
+ * and date ("within the last N days" or "between two dates"). text and select keep a bare
1213
+ * string value; multiSelect/range/date each read/write a small typed object of their own
1214
+ * (see FilterValue).
1190
1215
  */
1191
1216
  declare function FilterBar({ fields, filters, onFilterChange, onFilterRemove, align, className, ...rest }: FilterBarProps): React.JSX.Element;
1192
1217
 
@@ -2192,7 +2217,10 @@ interface NumberInputProps {
2192
2217
  /** Thousands-format the display when not editing. Default true. */
2193
2218
  format?: boolean;
2194
2219
  value?: number | string;
2195
- /** Called with {target:{value}} where value is a number. */
2220
+ /** Called with {target:{value}} where value is a number — or `undefined` once the
2221
+ * field is cleared to empty. A cleared field is "no value", never `0`: the caller
2222
+ * (e.g. FilterBar's range/date panels) tells an unset bound apart from a typed
2223
+ * zero by this, not by testing for `0` itself. */
2196
2224
  onChange?: (e: any) => void;
2197
2225
  placeholder?: string;
2198
2226
  style?: any;
@@ -4620,4 +4648,4 @@ declare function formatDocumentTitle(routeTitle: string | undefined | null, appN
4620
4648
  */
4621
4649
  declare function useDocumentTitle(routeTitle: string | undefined | null, appName: string): void;
4622
4650
 
4623
- 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, Calendar, type CalendarProps, Card, 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, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, 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 FilterFieldPasteList, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, 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 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, 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, 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, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SignInContinueAs, SignInPage, type SignInPageProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, 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 ToastProps, 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, acceptMatches, anyOfFilter, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useDocumentTitle, useFeatureStatus, useFocusTrap, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStagedFiles, visibleMessages };
4651
+ 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, Calendar, type CalendarProps, Card, 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, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, 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 FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, 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 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, 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, 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, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SignInContinueAs, SignInPage, type SignInPageProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, 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 ToastProps, 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, acceptMatches, anyOfFilter, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useDocumentTitle, useFeatureStatus, useFocusTrap, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStagedFiles, visibleMessages };
package/dist/index.d.ts CHANGED
@@ -692,8 +692,14 @@ interface BannerProps {
692
692
  title: React.ReactNode;
693
693
  detail?: React.ReactNode;
694
694
  actions?: React.ReactNode;
695
- }
696
- declare function Banner({ tone, title, detail, actions }: BannerProps): React.JSX.Element;
695
+ /** A Banner reporting a failure (danger) is a live-region announcement that interrupts
696
+ * and announces immediately (`role="alert"`); every other tone — warn, info, ok —
697
+ * announces politely once idle (`role="status"`), since a static warning or advisory
698
+ * banner isn't urgent enough to talk over whatever the user is doing. Defaults by
699
+ * tone; a caller can still override either way. */
700
+ role?: "alert" | "status";
701
+ }
702
+ declare function Banner({ tone, title, detail, actions, role }: BannerProps): React.JSX.Element;
697
703
 
698
704
  /**
699
705
  * A pill of state. Badges never carry actions — if it is clickable it is a Tag.
@@ -1075,26 +1081,51 @@ interface FilterFieldSelect extends FilterFieldBase {
1075
1081
  type: "select";
1076
1082
  options: FilterFieldOption[];
1077
1083
  }
1078
- /** MP-243: include/exclude, shared by every field whose value is a set of options
1079
- * (multiSelect and pasteList — paste-a-list resolves onto the same shape once its
1080
- * tokens are matched, so the two variants share one value model and one operator
1081
- * control rather than each growing their own). */
1084
+ /** Include/exclude, shared by every field whose value is a set of options. */
1082
1085
  type FilterOperator = "in" | "notIn";
1083
1086
  interface FilterMultiSelectValue {
1084
1087
  operator: FilterOperator;
1085
1088
  values: FilterFieldOption[];
1086
1089
  }
1090
+ interface FilterResolveMatch {
1091
+ token: string;
1092
+ value: string;
1093
+ label: string;
1094
+ }
1095
+ interface FilterResolveResult {
1096
+ matched: FilterResolveMatch[];
1097
+ unmatched: string[];
1098
+ }
1087
1099
  interface FilterFieldMultiSelect extends FilterFieldBase {
1088
1100
  type: "multiSelect";
1089
1101
  /** Sync option list — filtered client-side by the typed query. Omit when `loadOptions`
1090
1102
  * is given; the two are mutually exclusive (async wins if both are somehow set). */
1091
1103
  options?: FilterFieldOption[];
1092
- /** Async option source for long lists (schools, imports, …). Called ~300ms after the
1093
- * last keystroke, with the current query (possibly ""). Its own rejection is treated
1094
- * as "no options" rather than surfaced — a transient search failure shouldn't block
1095
- * the field the way a paste-a-list resolver failure does. */
1096
- loadOptions?: (query: string) => Promise<FilterFieldOption[]>;
1104
+ /** Async option source for long lists (schools, imports, …), called ~300ms after the
1105
+ * last keystroke with the current query (possibly "") and an AbortSignal that fires
1106
+ * once a newer query has superseded this call — pass it straight to `fetch`/whatever
1107
+ * transport does the lookup so a superseded request is actually cancelled, not just
1108
+ * ignored on arrival. A rejection (that isn't the abort itself) renders as a visible
1109
+ * error with a Retry action; it is never folded into "no matches", since a search
1110
+ * that FAILED is a different thing to tell the user than a search that found
1111
+ * nothing. */
1112
+ loadOptions?: (query: string, signal: AbortSignal) => Promise<FilterFieldOption[]>;
1113
+ /** Paste-a-list as a second input mode for THIS SAME field — search and paste both
1114
+ * build one FilterMultiSelectValue for one dimension, so a school found by typing and
1115
+ * a school found by pasting a list land as two entries in the same set instead of two
1116
+ * separate filters that would AND together. Presence of `resolve` is what turns on
1117
+ * the Search/Paste mode switch; omit it for a search-only field. Never called with an
1118
+ * empty token list, and tokens are de-duplicated before the call. */
1119
+ resolve?: (tokens: string[]) => Promise<FilterResolveResult>;
1097
1120
  placeholder?: string;
1121
+ /** Placeholder for the paste textarea, when `resolve` is given. Falls back to `placeholder`. */
1122
+ pastePlaceholder?: string;
1123
+ /** Restrict which operators this field's toggle offers, e.g. `["in"]` for a dimension
1124
+ * that only ever means "is any of" and never "is none of" — a single-operator list
1125
+ * hides the toggle entirely and that operator applies unconditionally, so an app can
1126
+ * express an "any"/"is"-only dimension exactly rather than showing a switch with
1127
+ * nothing to switch to. Defaults to both `["in", "notIn"]`. */
1128
+ operators?: FilterOperator[];
1098
1129
  }
1099
1130
  interface FilterRangeValue {
1100
1131
  min?: number;
@@ -1122,41 +1153,37 @@ type FilterDateValue = {
1122
1153
  };
1123
1154
  interface FilterFieldDate extends FilterFieldBase {
1124
1155
  type: "date";
1125
- /** Default days shown the first time "within the last N days" is picked. */
1156
+ /** Default days shown the first time "within the last N days" is picked — shown, not
1157
+ * written: nothing is set until the user changes it or confirms it. */
1126
1158
  defaultDays?: number;
1127
- }
1128
- interface FilterResolveMatch {
1129
- token: string;
1130
- value: string;
1131
- label: string;
1132
- }
1133
- interface FilterResolveResult {
1134
- matched: FilterResolveMatch[];
1135
- unmatched: string[];
1136
- }
1137
- interface FilterFieldPasteList extends FilterFieldBase {
1138
- type: "pasteList";
1139
- /** Resolves pasted tokens against the app's own data. Never called with an empty
1140
- * token list. A rejection is shown as a visible error — unlike loadOptions, a failed
1141
- * paste-a-list resolve is exactly the thing the user is waiting on. */
1142
- resolve: (tokens: string[]) => Promise<FilterResolveResult>;
1143
- placeholder?: string;
1159
+ /** Upper bound enforced on the "within the last N days" input. Default 3650 (ten
1160
+ * years) — generous enough for any real "recent activity" window while still
1161
+ * guaranteeing a plausible, in-range value ever reaches `onFilterChange`. */
1162
+ maxDays?: number;
1144
1163
  }
1145
1164
  /** A declared filter field. Add a variant here (and a branch below) for a new value
1146
- * picker. MP-243 added multiSelect/range/date/pasteList alongside the original
1147
- * text/select — the existing two keep their original value shape (a bare string)
1148
- * unchanged; every new variant's value is a small typed object of its own. */
1149
- type FilterField = FilterFieldText | FilterFieldSelect | FilterFieldMultiSelect | FilterFieldRange | FilterFieldDate | FilterFieldPasteList;
1165
+ * picker. text/select keep their original bare-string value shape unchanged, so an
1166
+ * existing consumer needs no migration; every other variant's value is a small typed
1167
+ * object of its own (see FilterValue). */
1168
+ type FilterField = FilterFieldText | FilterFieldSelect | FilterFieldMultiSelect | FilterFieldRange | FilterFieldDate;
1169
+ /** The value shape a given declared field reads/writes, so a consumer can type its own
1170
+ * `filters` record precisely instead of `Record<string, unknown>` — e.g.
1171
+ * `Record<"schools", FilterValue<typeof schoolsField>>`. */
1172
+ type FilterValue<F extends FilterField> = F extends FilterFieldText ? string : F extends FilterFieldSelect ? string : F extends FilterFieldMultiSelect ? FilterMultiSelectValue : F extends FilterFieldRange ? FilterRangeValue : F extends FilterFieldDate ? FilterDateValue : never;
1150
1173
  interface FilterBarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "onChange"> {
1151
1174
  /** Every filter a consumer can add. Order here is the order in the "add filter" list. */
1152
1175
  fields: FilterField[];
1153
1176
  /** Straight off useServerTable — a value of undefined/""/false reads as "not set",
1154
1177
  * same convention that hook already uses for activeFilterCount. multiSelect/range/
1155
- * date/pasteList values are objects instead (see isFieldSet). */
1178
+ * date values are objects instead (see isFieldSet). */
1156
1179
  filters: Record<string, unknown>;
1157
- /** Fires on every value edit. Maps 1:1 onto useServerTable's setFilter(id, value). */
1180
+ /** Fires on every value edit. Maps 1:1 onto useServerTable's setFilter(id, value).
1181
+ * FilterBar only ever calls this with a COMPLETE, valid value for the field — an
1182
+ * emptied selection, a one-sided date range, an invalid numeric range or a cleared
1183
+ * bound go through onFilterRemove (or nothing) instead. */
1158
1184
  onFilterChange: (key: string, value: unknown) => void;
1159
- /** Fires when a chip's × is clicked. Maps 1:1 onto useServerTable's clearFilter(id). */
1185
+ /** Fires when a chip's × is clicked, or when an edit leaves a field with no valid
1186
+ * value. Maps 1:1 onto useServerTable's clearFilter(id). */
1160
1187
  onFilterRemove: (key: string) => void;
1161
1188
  /** Which edge the "add filter" popover aligns to. Default "left" — the trigger sits
1162
1189
  * at the end of a left-to-right chip row, so its menu opens under its left edge. */
@@ -1173,20 +1200,18 @@ interface FilterBarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "on
1173
1200
  * values, only the transient "which field's popover/input is open right now" UI state
1174
1201
  * (`panel`), the same way SortMenu holds `open` but never sort state itself.
1175
1202
  *
1176
- * Visual/interaction language is deliberately identical to SortMenu: a secondary Button
1177
- * trigger, a `fd-view-enter` panel positioned with `top: calc(100% + 6px)`, the same
1178
- * click-outside/Escape wiring, and the same `fd-stack`/`fd-row`/`fd-overline`/`fd-muted`/
1179
- * `fd-body-sm` utility classes — so this reads as built by the same hand, not a new
1180
- * import from elsewhere.
1203
+ * Every floating surface — a field's edit panel and the "add filter" menu — is a real
1204
+ * Popover (or Menu-in-a-Popover) from this kit's own actions module: viewport clamping,
1205
+ * nested-layer handling, Escape, and focus-return-to-the-chip all come from there, so
1206
+ * FilterBar itself runs no document-level dismissal listener of its own. Only the text
1207
+ * field's inline input manages its own dismissal (blur/Enter/Escape), since it isn't a
1208
+ * floating panel at all.
1181
1209
  *
1182
- * MP-243 adds four variants on top of the original text/select, for audiences too big or
1183
- * too shaped for a single free-text box or a short dropdown: multiSelect (searchable,
1184
- * sync or async, for long option lists), range (numeric min/max), date ("within the last
1185
- * N days" or "between two dates"), and pasteList (the app supplies a resolver; pasted
1186
- * tokens become selected values, and whatever didn't match is shown, not silently
1187
- * dropped). All four share the include/exclude OperatorToggle where an operator makes
1188
- * sense (multiSelect, pasteList); text/select are unchanged and keep their bare-string
1189
- * value shape, so an existing consumer needs no migration.
1210
+ * FilterBar supports five field kinds: text, select, multiSelect (searchable, sync or
1211
+ * async, with an optional paste-a-list mode for the same value), range (numeric min/max),
1212
+ * and date ("within the last N days" or "between two dates"). text and select keep a bare
1213
+ * string value; multiSelect/range/date each read/write a small typed object of their own
1214
+ * (see FilterValue).
1190
1215
  */
1191
1216
  declare function FilterBar({ fields, filters, onFilterChange, onFilterRemove, align, className, ...rest }: FilterBarProps): React.JSX.Element;
1192
1217
 
@@ -2192,7 +2217,10 @@ interface NumberInputProps {
2192
2217
  /** Thousands-format the display when not editing. Default true. */
2193
2218
  format?: boolean;
2194
2219
  value?: number | string;
2195
- /** Called with {target:{value}} where value is a number. */
2220
+ /** Called with {target:{value}} where value is a number — or `undefined` once the
2221
+ * field is cleared to empty. A cleared field is "no value", never `0`: the caller
2222
+ * (e.g. FilterBar's range/date panels) tells an unset bound apart from a typed
2223
+ * zero by this, not by testing for `0` itself. */
2196
2224
  onChange?: (e: any) => void;
2197
2225
  placeholder?: string;
2198
2226
  style?: any;
@@ -4620,4 +4648,4 @@ declare function formatDocumentTitle(routeTitle: string | undefined | null, appN
4620
4648
  */
4621
4649
  declare function useDocumentTitle(routeTitle: string | undefined | null, appName: string): void;
4622
4650
 
4623
- 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, Calendar, type CalendarProps, Card, 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, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, 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 FilterFieldPasteList, type FilterFieldRange, type FilterFieldSelect, type FilterFieldText, type FilterMultiSelectValue, type FilterOperator, type FilterRangeValue, type FilterResolveMatch, type FilterResolveResult, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, 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 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, 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, 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, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SignInContinueAs, SignInPage, type SignInPageProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, 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 ToastProps, 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, acceptMatches, anyOfFilter, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useDocumentTitle, useFeatureStatus, useFocusTrap, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStagedFiles, visibleMessages };
4651
+ 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, Calendar, type CalendarProps, Card, 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, Collapsible, type CollapsibleProps, ComingSoon, type ComingSoonProps, type ContextUsage, type CreateVersionStoreOptions, CsiBadge, type CsiBadgeProps, CsiHero, type CsiHeroProps, CsiMeter, type CsiMeterProps, DEFAULT_PREFS, DEFAULT_STORAGE_KEY, 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 FilterValue, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, FunnelChart, type FunnelChartProps, type FunnelStep, Gate, 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 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, 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, 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, type SessionStats, type SessionUser, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SignInContinueAs, SignInPage, type SignInPageProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, type SlashCommand, Slider, type SliderProps, SortMenu, type SortMenuField, type SortMenuProps, type SpecModule, Spinner, type SpinnerProps, 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 ToastProps, 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, acceptMatches, anyOfFilter, applyPrefs, channelWeightOf, computeNeedMore, computeVirtualWindow, createLocalStorageAppearanceStore, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDocumentTitle, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, importanceLevel, importanceTokens, installFlytedeskFavicon, isImage, isSystemMessage, jobBucket, languageLabel, loadPrefs, markdownToText, meterFormats, modifierLabel, parseDelimited, pastedTextName, pluralizeUnit, preferenceScore, preferenceSegments, rangeFilter, resolveTheme, revokeAttachment, savePrefs, toAttachment, tokenize, useAppearancePrefs, useChatEngine, useDocumentTitle, useFeatureStatus, useFocusTrap, usePopoverPosition, useResponsiveRail, useRuntimeMode, useServerTable, useSessionContext, useStagedFiles, visibleMessages };