@flytedan/flytebot-design-system 0.6.1 → 0.7.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.cjs +1285 -1033
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +225 -1
- package/dist/index.d.ts +225 -1
- package/dist/index.js +1279 -1033
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -970,6 +970,230 @@ interface StepListProps {
|
|
|
970
970
|
*/
|
|
971
971
|
declare function StepList({ steps, label, defaultOpen, open: openProp, onToggle, showDurations, dense, className, }: StepListProps): React.JSX.Element | null;
|
|
972
972
|
|
|
973
|
+
/** Number of rows kept mounted above and below the visible band. Two buffers this size
|
|
974
|
+
* (one per edge) plus the visible band itself is what keeps the mounted node count
|
|
975
|
+
* bounded — see the file doc comment below for why 20 is the right number here. */
|
|
976
|
+
declare const VIRTUAL_LIST_BUFFER_ROWS = 20;
|
|
977
|
+
interface VirtualWindow {
|
|
978
|
+
/** Index of the first row a viewport of this height would actually show. */
|
|
979
|
+
visibleStart: number;
|
|
980
|
+
/** Index of the last row a viewport of this height would actually show (inclusive). */
|
|
981
|
+
visibleEnd: number;
|
|
982
|
+
/** Index of the first row that should be mounted in the DOM (visibleStart minus the buffer, clamped to 0). */
|
|
983
|
+
startIndex: number;
|
|
984
|
+
/** Index of the last row that should be mounted in the DOM (inclusive; visibleEnd plus the buffer, clamped to itemCount - 1). */
|
|
985
|
+
endIndex: number;
|
|
986
|
+
/** Full scrollable height in px — this is what makes the scrollbar/scroll range honest
|
|
987
|
+
* about itemCount even though only a slice of it is ever mounted. */
|
|
988
|
+
totalHeight: number;
|
|
989
|
+
/** px the mounted block must be pushed down so its rows land at their real scroll position. */
|
|
990
|
+
offsetY: number;
|
|
991
|
+
}
|
|
992
|
+
/**
|
|
993
|
+
* Pure windowing math: given a scroll position and the shape of the data, decide which
|
|
994
|
+
* row indices are visible and which should actually be mounted. Kept free of React and
|
|
995
|
+
* the DOM on purpose — see VirtualList's doc comment for why this is exported and tested
|
|
996
|
+
* on its own rather than only indirectly through a mounted component.
|
|
997
|
+
*
|
|
998
|
+
* Every fixed-height virtualizer boils down to integer division: row i sits at
|
|
999
|
+
* `i * itemHeight` px, so scrollTop/itemHeight lands on the first partially-visible row
|
|
1000
|
+
* and (scrollTop + viewportHeight)/itemHeight lands on the last one. Everything else here
|
|
1001
|
+
* is clamping that to the buffer and to the real item count.
|
|
1002
|
+
*/
|
|
1003
|
+
declare function computeVirtualWindow(opts: {
|
|
1004
|
+
scrollTop: number;
|
|
1005
|
+
viewportHeight: number;
|
|
1006
|
+
itemHeight: number;
|
|
1007
|
+
itemCount: number;
|
|
1008
|
+
bufferRows?: number;
|
|
1009
|
+
}): VirtualWindow;
|
|
1010
|
+
/**
|
|
1011
|
+
* Given the current window and the real item count, says whether the visible band has
|
|
1012
|
+
* come within one buffer's width of either edge of what's currently loaded — the signal
|
|
1013
|
+
* VirtualList uses to ask its caller for more. Threading it through the *visible* band
|
|
1014
|
+
* (not the mounted one) means the caller gets asked while the buffer still has rows left
|
|
1015
|
+
* to show, not only once the user has scrolled past all of them.
|
|
1016
|
+
*/
|
|
1017
|
+
declare function computeNeedMore(win: Pick<VirtualWindow, "visibleStart" | "visibleEnd">, itemCount: number, bufferRows?: number): {
|
|
1018
|
+
start: boolean;
|
|
1019
|
+
end: boolean;
|
|
1020
|
+
};
|
|
1021
|
+
interface VirtualListProps<T> {
|
|
1022
|
+
/** Whatever the caller currently has loaded — not the full remote collection. */
|
|
1023
|
+
items: T[];
|
|
1024
|
+
/** Fixed row height in px. Every row is assumed to be exactly this tall. */
|
|
1025
|
+
itemHeight: number;
|
|
1026
|
+
renderItem: (item: T, index: number) => React.ReactNode;
|
|
1027
|
+
/** Fired when the visible band comes within one buffer's width of an edge of `items`
|
|
1028
|
+
* and that edge isn't known to be exhausted. The caller owns fetching — this only asks. */
|
|
1029
|
+
onNeedMore: (direction: "start" | "end") => void;
|
|
1030
|
+
/** Which edges of `items` still have more behind them. Omitted/undefined reads as "yes,
|
|
1031
|
+
* there might be more" for that edge, since an unknown edge is the common starting state. */
|
|
1032
|
+
hasMore?: {
|
|
1033
|
+
start?: boolean;
|
|
1034
|
+
end?: boolean;
|
|
1035
|
+
};
|
|
1036
|
+
/** Suppresses onNeedMore while a fetch the caller already started is in flight. */
|
|
1037
|
+
loading?: boolean;
|
|
1038
|
+
keyOf: (item: T) => string | number;
|
|
1039
|
+
/** Viewport height in px. Default (400) is ten rows at the kit's --control-h-md (44px). */
|
|
1040
|
+
height?: number;
|
|
1041
|
+
emptyState?: React.ReactNode;
|
|
1042
|
+
className?: string;
|
|
1043
|
+
style?: React.CSSProperties;
|
|
1044
|
+
}
|
|
1045
|
+
/**
|
|
1046
|
+
* VirtualList — a fixed-height windowed viewport for a list the caller may be streaming
|
|
1047
|
+
* in from a few thousand rows at a time.
|
|
1048
|
+
*
|
|
1049
|
+
* Why fixed row height only: variable-height virtualization needs a measurement pass
|
|
1050
|
+
* (render off-screen, read the real height, then correct the scroll math) which is a
|
|
1051
|
+
* meaningfully bigger and more fragile piece of engineering than this kit needs for any
|
|
1052
|
+
* consumer it has today. Every current use case is a single-line-or-two row of known,
|
|
1053
|
+
* consistent height, so the simplest correct approach is the right one: the caller states
|
|
1054
|
+
* itemHeight, and the math is plain arithmetic (see computeVirtualWindow).
|
|
1055
|
+
*
|
|
1056
|
+
* Why plain onScroll + scrollTop math instead of IntersectionObserver: an observer would
|
|
1057
|
+
* still need one sentinel per boundary and a ResizeObserver alongside it to keep the
|
|
1058
|
+
* scroll track honest as itemCount changes — no less code, and it trades arithmetic you
|
|
1059
|
+
* can unit test for browser timing you can't. scrollTop/clientHeight are synchronous and
|
|
1060
|
+
* exact, so the windowing math stays a pure function (computeVirtualWindow, exported and
|
|
1061
|
+
* tested on its own below) with the component itself doing nothing but reading scrollTop
|
|
1062
|
+
* and rendering the slice that function names.
|
|
1063
|
+
*
|
|
1064
|
+
* The window keeps ~10 rows actually visible plus a VIRTUAL_LIST_BUFFER_ROWS-row buffer
|
|
1065
|
+
* mounted above and below (~50 rows mounted at once at the default height), which is
|
|
1066
|
+
* enough that fast wheel/trackpad scrolling never outruns the mounted band before the
|
|
1067
|
+
* next onScroll fires, without ever mounting more than a small bounded slice regardless
|
|
1068
|
+
* of how many thousand rows `items` holds.
|
|
1069
|
+
*
|
|
1070
|
+
* Fully controlled: this holds no item data and no page state, only the scroll position
|
|
1071
|
+
* needed to compute the window. The caller owns fetching more rows (onNeedMore) and
|
|
1072
|
+
* knowing when an edge is exhausted (hasMore).
|
|
1073
|
+
*/
|
|
1074
|
+
declare function VirtualList<T>({ items, itemHeight, renderItem, onNeedMore, hasMore, loading, keyOf, height, emptyState, className, style, }: VirtualListProps<T>): React.JSX.Element;
|
|
1075
|
+
|
|
1076
|
+
interface EntityRowAction {
|
|
1077
|
+
/** Phosphor icon name, e.g. "plus" */
|
|
1078
|
+
icon: string;
|
|
1079
|
+
/** Accessible name for the action button. */
|
|
1080
|
+
label: string;
|
|
1081
|
+
onClick: () => void;
|
|
1082
|
+
/** Tints the icon — "add" reads as constructive (ok-text), "remove" as destructive
|
|
1083
|
+
* (danger-text). No effect on layout, only color, so a caller can still pass any icon. */
|
|
1084
|
+
tone?: "add" | "remove";
|
|
1085
|
+
}
|
|
1086
|
+
interface EntityRowProps {
|
|
1087
|
+
title: string;
|
|
1088
|
+
/** A secondary line — a count, a subtitle, whatever the caller's data has that a raw
|
|
1089
|
+
* title doesn't. Optional because plenty of rows are fine with just a name. */
|
|
1090
|
+
meta?: React.ReactNode;
|
|
1091
|
+
action?: EntityRowAction;
|
|
1092
|
+
/** Marks the row a native HTML5 drag source. Wiring onDragOver/onDrop is the drop
|
|
1093
|
+
* target's job (a list container, not each row) — see the file doc comment. */
|
|
1094
|
+
draggable?: boolean;
|
|
1095
|
+
onDragStart?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
1096
|
+
onDragEnd?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
1097
|
+
style?: React.CSSProperties;
|
|
1098
|
+
className?: string;
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* EntityRow — a single compact row for a name plus an optional secondary line and an
|
|
1102
|
+
* optional action, meant to be stamped out by the hundreds inside a VirtualList.
|
|
1103
|
+
*
|
|
1104
|
+
* Deliberately thin, not a card: no border, no shadow, no internal padding beyond enough
|
|
1105
|
+
* to keep text off the edges, so it reads as one line in a dense list rather than a tile.
|
|
1106
|
+
* Height is left to the caller (it fills 100% of its parent) because VirtualList is what
|
|
1107
|
+
* actually fixes row height, and duplicating that number here would be one more place a
|
|
1108
|
+
* future change has to remember to update.
|
|
1109
|
+
*
|
|
1110
|
+
* The drag/drop split is deliberate: a row only ever needs to say "I am the thing being
|
|
1111
|
+
* dragged" (draggable + onDragStart/onDragEnd), never "something was dropped on me" —
|
|
1112
|
+
* nothing in this kit drops one row onto another to reorder it, only a row onto a list to
|
|
1113
|
+
* move it there. Putting onDragOver/onDrop on every row would mean wiring the same drop
|
|
1114
|
+
* logic N times over instead of once on the list container that actually owns it (see
|
|
1115
|
+
* TransferList), so this only exposes the source half of the native HTML5 DnD contract.
|
|
1116
|
+
* The action button exists precisely so drag-and-drop is never the only way to do the
|
|
1117
|
+
* same move — pointer-only and keyboard users get an equally real affordance, not a
|
|
1118
|
+
* degraded fallback.
|
|
1119
|
+
*/
|
|
1120
|
+
declare function EntityRow({ title, meta, action, draggable, onDragStart, onDragEnd, style, className }: EntityRowProps): React.JSX.Element;
|
|
1121
|
+
|
|
1122
|
+
type TransferListSide = "left" | "right";
|
|
1123
|
+
interface TransferListSideProps<T> {
|
|
1124
|
+
/** Whatever this side currently has loaded — not its full remote collection. */
|
|
1125
|
+
items: T[];
|
|
1126
|
+
/** Total matching count on the server, if known — shown next to the label. */
|
|
1127
|
+
total?: number;
|
|
1128
|
+
loading?: boolean;
|
|
1129
|
+
search: string;
|
|
1130
|
+
onSearchChange: (value: string) => void;
|
|
1131
|
+
sort?: {
|
|
1132
|
+
key: string;
|
|
1133
|
+
dir: "asc" | "desc";
|
|
1134
|
+
} | null;
|
|
1135
|
+
sortFields: SortMenuField[];
|
|
1136
|
+
onSort: (key: string, dir: "asc" | "desc") => void;
|
|
1137
|
+
onNeedMore: (direction: "start" | "end") => void;
|
|
1138
|
+
hasMore?: {
|
|
1139
|
+
start?: boolean;
|
|
1140
|
+
end?: boolean;
|
|
1141
|
+
};
|
|
1142
|
+
/** Heading text for this side. Fully caller-supplied — this component has no opinion
|
|
1143
|
+
* about what the two sides represent. */
|
|
1144
|
+
label?: string;
|
|
1145
|
+
}
|
|
1146
|
+
interface TransferListProps<T> {
|
|
1147
|
+
left: TransferListSideProps<T>;
|
|
1148
|
+
right: TransferListSideProps<T>;
|
|
1149
|
+
keyOf: (item: T) => string | number;
|
|
1150
|
+
renderLabel: (item: T) => string;
|
|
1151
|
+
renderMeta?: (item: T) => React.ReactNode;
|
|
1152
|
+
/** Fired by both a drag-drop and the equivalent +/- click. The caller owns actually
|
|
1153
|
+
* moving the item between whatever backing lists it maintains — this component never
|
|
1154
|
+
* mutates `left.items`/`right.items` itself. */
|
|
1155
|
+
onMove: (item: T, from: TransferListSide, to: TransferListSide) => void;
|
|
1156
|
+
/** Row height fed straight through to each side's VirtualList. Default (44) matches
|
|
1157
|
+
* the kit's --control-h-md, since that's the height EntityRow is tuned to look right at. */
|
|
1158
|
+
itemHeight?: number;
|
|
1159
|
+
/** Viewport height fed straight through to each side's VirtualList. */
|
|
1160
|
+
listHeight?: number;
|
|
1161
|
+
className?: string;
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* TransferList — a dual-list picker for moving items between two collections, by drag or
|
|
1165
|
+
* by a click, over a search box and a sort control each side owns independently.
|
|
1166
|
+
*
|
|
1167
|
+
* Deliberately named "left"/"right" rather than e.g. "available"/"selected": the product
|
|
1168
|
+
* this ships for is one particular use of it, but nothing about moving rows between two
|
|
1169
|
+
* lists is specific to that use, and baking in "available"/"selected" (or worse, this
|
|
1170
|
+
* kit's actual first consumer's own vocabulary) would make every *other* two-list picker
|
|
1171
|
+
* this kit will ever be asked for a second component instead of a second set of props. A
|
|
1172
|
+
* caller wanting domain words passes them through `label`.
|
|
1173
|
+
*
|
|
1174
|
+
* Native HTML5 drag-and-drop, not a library: this kit ships zero runtime dependencies on
|
|
1175
|
+
* purpose, and moving one row between two lists is exactly the case the platform's own
|
|
1176
|
+
* draggable/dragstart/dragover/drop already cover with no gap to fill — sortable-within-
|
|
1177
|
+
* a-list (which does need pointer math and placeholder gaps) is a different, harder
|
|
1178
|
+
* problem this component doesn't attempt. Each row is the drag source (via EntityRow's
|
|
1179
|
+
* draggable prop); each *side* is the drop target — one onDragOver/onDrop pair per side,
|
|
1180
|
+
* not per row, since dropping only ever means "move into this list," never "onto this
|
|
1181
|
+
* particular other row." dataTransfer carries the dragged key mainly so a real
|
|
1182
|
+
* OS-level drag has real payload (Firefox refuses a drag with no data set at all); which
|
|
1183
|
+
* item is actually moved is tracked in local `dragging` state, because dataTransfer's own
|
|
1184
|
+
* payload can't hold a reference to `item: T` — only the string the caller's keyOf gives it.
|
|
1185
|
+
*
|
|
1186
|
+
* The +/- action on every row is not a fallback bolted on for accessibility box-ticking:
|
|
1187
|
+
* it is the same onMove call a drop makes, exposed as a first-class equivalent, because
|
|
1188
|
+
* drag-and-drop alone would silently exclude anyone not using a mouse.
|
|
1189
|
+
*
|
|
1190
|
+
* Fully controlled and stateless about the actual item sets: `left`/`right` are handed in
|
|
1191
|
+
* whole, this never copies or reorders them, and the only state kept locally is which row
|
|
1192
|
+
* is mid-drag and which side a drag is currently over — pure interaction feedback, thrown
|
|
1193
|
+
* away the moment the drag ends.
|
|
1194
|
+
*/
|
|
1195
|
+
declare function TransferList<T>({ left, right, keyOf, renderLabel, renderMeta, onMove, itemHeight, listHeight, className, }: TransferListProps<T>): React.JSX.Element;
|
|
1196
|
+
|
|
973
1197
|
/**
|
|
974
1198
|
* Multi-select control with a 44px comfortable hit area.
|
|
975
1199
|
*/
|
|
@@ -2843,4 +3067,4 @@ interface VersionStore<TState, TDiff = unknown> {
|
|
|
2843
3067
|
}
|
|
2844
3068
|
declare function createVersionStore<TState, TDiff = unknown>(initialState: TState, options?: CreateVersionStoreOptions<TState, TDiff>): VersionStore<TState, TDiff>;
|
|
2845
3069
|
|
|
2846
|
-
export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, ApiSpecBrowser, type ApiSpecBrowserProps, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, 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, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, type DeviceSession, DiffBlock, type DiffBlockProps, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, FeatureGate, type FeatureGateProps, type FeatureStatus, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FilterBar, type FilterBarProps, type FilterField, type FilterFieldOption, type FilterFieldSelect, type FilterFieldText, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, Gate, type GateProps, IconButton, type IconButtonProps, Input, type InputProps, type JobStatus, 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, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Placement, type PollOptions, Popover, type PopoverProps, 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, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type Session, type Flag as SessionFlag, SessionKit, type SessionStats, SidebarNav, type SidebarNavItem, type SidebarNavProps, 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, Textarea, type TextareaProps, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastProps, Tooltip, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, type UsageLimit, UseFeatureStatus, UseRuntimeMode, type UseServerTableOptions, type User, type VersionRecord, type VersionStore, type VoiceHandler, acceptMatches, anyOfFilter, channelWeightOf, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, isImage, isSystemMessage, jobBucket, languageLabel, markdownToText, meterFormats, modifierLabel, pastedTextName, rangeFilter, revokeAttachment, toAttachment, tokenize, useChatEngine, useFeatureStatus, usePopoverPosition, useRuntimeMode, useServerTable, useStagedFiles, visibleMessages };
|
|
3070
|
+
export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, ApiSpecBrowser, type ApiSpecBrowserProps, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, 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, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, type DeviceSession, DiffBlock, type DiffBlockProps, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowProps, FeatureGate, type FeatureGateProps, type FeatureStatus, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FilterBar, type FilterBarProps, type FilterField, type FilterFieldOption, type FilterFieldSelect, type FilterFieldText, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, Gate, type GateProps, IconButton, type IconButtonProps, Input, type InputProps, type JobStatus, 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, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Placement, type PollOptions, Popover, type PopoverProps, 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, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type Session, type Flag as SessionFlag, SessionKit, type SessionStats, SidebarNav, type SidebarNavItem, type SidebarNavProps, 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, Textarea, type TextareaProps, 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, type UsageLimit, UseFeatureStatus, UseRuntimeMode, type UseServerTableOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualWindow, type VoiceHandler, acceptMatches, anyOfFilter, channelWeightOf, computeNeedMore, computeVirtualWindow, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, isImage, isSystemMessage, jobBucket, languageLabel, markdownToText, meterFormats, modifierLabel, pastedTextName, rangeFilter, revokeAttachment, toAttachment, tokenize, useChatEngine, useFeatureStatus, usePopoverPosition, useRuntimeMode, useServerTable, useStagedFiles, visibleMessages };
|
package/dist/index.d.ts
CHANGED
|
@@ -970,6 +970,230 @@ interface StepListProps {
|
|
|
970
970
|
*/
|
|
971
971
|
declare function StepList({ steps, label, defaultOpen, open: openProp, onToggle, showDurations, dense, className, }: StepListProps): React.JSX.Element | null;
|
|
972
972
|
|
|
973
|
+
/** Number of rows kept mounted above and below the visible band. Two buffers this size
|
|
974
|
+
* (one per edge) plus the visible band itself is what keeps the mounted node count
|
|
975
|
+
* bounded — see the file doc comment below for why 20 is the right number here. */
|
|
976
|
+
declare const VIRTUAL_LIST_BUFFER_ROWS = 20;
|
|
977
|
+
interface VirtualWindow {
|
|
978
|
+
/** Index of the first row a viewport of this height would actually show. */
|
|
979
|
+
visibleStart: number;
|
|
980
|
+
/** Index of the last row a viewport of this height would actually show (inclusive). */
|
|
981
|
+
visibleEnd: number;
|
|
982
|
+
/** Index of the first row that should be mounted in the DOM (visibleStart minus the buffer, clamped to 0). */
|
|
983
|
+
startIndex: number;
|
|
984
|
+
/** Index of the last row that should be mounted in the DOM (inclusive; visibleEnd plus the buffer, clamped to itemCount - 1). */
|
|
985
|
+
endIndex: number;
|
|
986
|
+
/** Full scrollable height in px — this is what makes the scrollbar/scroll range honest
|
|
987
|
+
* about itemCount even though only a slice of it is ever mounted. */
|
|
988
|
+
totalHeight: number;
|
|
989
|
+
/** px the mounted block must be pushed down so its rows land at their real scroll position. */
|
|
990
|
+
offsetY: number;
|
|
991
|
+
}
|
|
992
|
+
/**
|
|
993
|
+
* Pure windowing math: given a scroll position and the shape of the data, decide which
|
|
994
|
+
* row indices are visible and which should actually be mounted. Kept free of React and
|
|
995
|
+
* the DOM on purpose — see VirtualList's doc comment for why this is exported and tested
|
|
996
|
+
* on its own rather than only indirectly through a mounted component.
|
|
997
|
+
*
|
|
998
|
+
* Every fixed-height virtualizer boils down to integer division: row i sits at
|
|
999
|
+
* `i * itemHeight` px, so scrollTop/itemHeight lands on the first partially-visible row
|
|
1000
|
+
* and (scrollTop + viewportHeight)/itemHeight lands on the last one. Everything else here
|
|
1001
|
+
* is clamping that to the buffer and to the real item count.
|
|
1002
|
+
*/
|
|
1003
|
+
declare function computeVirtualWindow(opts: {
|
|
1004
|
+
scrollTop: number;
|
|
1005
|
+
viewportHeight: number;
|
|
1006
|
+
itemHeight: number;
|
|
1007
|
+
itemCount: number;
|
|
1008
|
+
bufferRows?: number;
|
|
1009
|
+
}): VirtualWindow;
|
|
1010
|
+
/**
|
|
1011
|
+
* Given the current window and the real item count, says whether the visible band has
|
|
1012
|
+
* come within one buffer's width of either edge of what's currently loaded — the signal
|
|
1013
|
+
* VirtualList uses to ask its caller for more. Threading it through the *visible* band
|
|
1014
|
+
* (not the mounted one) means the caller gets asked while the buffer still has rows left
|
|
1015
|
+
* to show, not only once the user has scrolled past all of them.
|
|
1016
|
+
*/
|
|
1017
|
+
declare function computeNeedMore(win: Pick<VirtualWindow, "visibleStart" | "visibleEnd">, itemCount: number, bufferRows?: number): {
|
|
1018
|
+
start: boolean;
|
|
1019
|
+
end: boolean;
|
|
1020
|
+
};
|
|
1021
|
+
interface VirtualListProps<T> {
|
|
1022
|
+
/** Whatever the caller currently has loaded — not the full remote collection. */
|
|
1023
|
+
items: T[];
|
|
1024
|
+
/** Fixed row height in px. Every row is assumed to be exactly this tall. */
|
|
1025
|
+
itemHeight: number;
|
|
1026
|
+
renderItem: (item: T, index: number) => React.ReactNode;
|
|
1027
|
+
/** Fired when the visible band comes within one buffer's width of an edge of `items`
|
|
1028
|
+
* and that edge isn't known to be exhausted. The caller owns fetching — this only asks. */
|
|
1029
|
+
onNeedMore: (direction: "start" | "end") => void;
|
|
1030
|
+
/** Which edges of `items` still have more behind them. Omitted/undefined reads as "yes,
|
|
1031
|
+
* there might be more" for that edge, since an unknown edge is the common starting state. */
|
|
1032
|
+
hasMore?: {
|
|
1033
|
+
start?: boolean;
|
|
1034
|
+
end?: boolean;
|
|
1035
|
+
};
|
|
1036
|
+
/** Suppresses onNeedMore while a fetch the caller already started is in flight. */
|
|
1037
|
+
loading?: boolean;
|
|
1038
|
+
keyOf: (item: T) => string | number;
|
|
1039
|
+
/** Viewport height in px. Default (400) is ten rows at the kit's --control-h-md (44px). */
|
|
1040
|
+
height?: number;
|
|
1041
|
+
emptyState?: React.ReactNode;
|
|
1042
|
+
className?: string;
|
|
1043
|
+
style?: React.CSSProperties;
|
|
1044
|
+
}
|
|
1045
|
+
/**
|
|
1046
|
+
* VirtualList — a fixed-height windowed viewport for a list the caller may be streaming
|
|
1047
|
+
* in from a few thousand rows at a time.
|
|
1048
|
+
*
|
|
1049
|
+
* Why fixed row height only: variable-height virtualization needs a measurement pass
|
|
1050
|
+
* (render off-screen, read the real height, then correct the scroll math) which is a
|
|
1051
|
+
* meaningfully bigger and more fragile piece of engineering than this kit needs for any
|
|
1052
|
+
* consumer it has today. Every current use case is a single-line-or-two row of known,
|
|
1053
|
+
* consistent height, so the simplest correct approach is the right one: the caller states
|
|
1054
|
+
* itemHeight, and the math is plain arithmetic (see computeVirtualWindow).
|
|
1055
|
+
*
|
|
1056
|
+
* Why plain onScroll + scrollTop math instead of IntersectionObserver: an observer would
|
|
1057
|
+
* still need one sentinel per boundary and a ResizeObserver alongside it to keep the
|
|
1058
|
+
* scroll track honest as itemCount changes — no less code, and it trades arithmetic you
|
|
1059
|
+
* can unit test for browser timing you can't. scrollTop/clientHeight are synchronous and
|
|
1060
|
+
* exact, so the windowing math stays a pure function (computeVirtualWindow, exported and
|
|
1061
|
+
* tested on its own below) with the component itself doing nothing but reading scrollTop
|
|
1062
|
+
* and rendering the slice that function names.
|
|
1063
|
+
*
|
|
1064
|
+
* The window keeps ~10 rows actually visible plus a VIRTUAL_LIST_BUFFER_ROWS-row buffer
|
|
1065
|
+
* mounted above and below (~50 rows mounted at once at the default height), which is
|
|
1066
|
+
* enough that fast wheel/trackpad scrolling never outruns the mounted band before the
|
|
1067
|
+
* next onScroll fires, without ever mounting more than a small bounded slice regardless
|
|
1068
|
+
* of how many thousand rows `items` holds.
|
|
1069
|
+
*
|
|
1070
|
+
* Fully controlled: this holds no item data and no page state, only the scroll position
|
|
1071
|
+
* needed to compute the window. The caller owns fetching more rows (onNeedMore) and
|
|
1072
|
+
* knowing when an edge is exhausted (hasMore).
|
|
1073
|
+
*/
|
|
1074
|
+
declare function VirtualList<T>({ items, itemHeight, renderItem, onNeedMore, hasMore, loading, keyOf, height, emptyState, className, style, }: VirtualListProps<T>): React.JSX.Element;
|
|
1075
|
+
|
|
1076
|
+
interface EntityRowAction {
|
|
1077
|
+
/** Phosphor icon name, e.g. "plus" */
|
|
1078
|
+
icon: string;
|
|
1079
|
+
/** Accessible name for the action button. */
|
|
1080
|
+
label: string;
|
|
1081
|
+
onClick: () => void;
|
|
1082
|
+
/** Tints the icon — "add" reads as constructive (ok-text), "remove" as destructive
|
|
1083
|
+
* (danger-text). No effect on layout, only color, so a caller can still pass any icon. */
|
|
1084
|
+
tone?: "add" | "remove";
|
|
1085
|
+
}
|
|
1086
|
+
interface EntityRowProps {
|
|
1087
|
+
title: string;
|
|
1088
|
+
/** A secondary line — a count, a subtitle, whatever the caller's data has that a raw
|
|
1089
|
+
* title doesn't. Optional because plenty of rows are fine with just a name. */
|
|
1090
|
+
meta?: React.ReactNode;
|
|
1091
|
+
action?: EntityRowAction;
|
|
1092
|
+
/** Marks the row a native HTML5 drag source. Wiring onDragOver/onDrop is the drop
|
|
1093
|
+
* target's job (a list container, not each row) — see the file doc comment. */
|
|
1094
|
+
draggable?: boolean;
|
|
1095
|
+
onDragStart?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
1096
|
+
onDragEnd?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
1097
|
+
style?: React.CSSProperties;
|
|
1098
|
+
className?: string;
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* EntityRow — a single compact row for a name plus an optional secondary line and an
|
|
1102
|
+
* optional action, meant to be stamped out by the hundreds inside a VirtualList.
|
|
1103
|
+
*
|
|
1104
|
+
* Deliberately thin, not a card: no border, no shadow, no internal padding beyond enough
|
|
1105
|
+
* to keep text off the edges, so it reads as one line in a dense list rather than a tile.
|
|
1106
|
+
* Height is left to the caller (it fills 100% of its parent) because VirtualList is what
|
|
1107
|
+
* actually fixes row height, and duplicating that number here would be one more place a
|
|
1108
|
+
* future change has to remember to update.
|
|
1109
|
+
*
|
|
1110
|
+
* The drag/drop split is deliberate: a row only ever needs to say "I am the thing being
|
|
1111
|
+
* dragged" (draggable + onDragStart/onDragEnd), never "something was dropped on me" —
|
|
1112
|
+
* nothing in this kit drops one row onto another to reorder it, only a row onto a list to
|
|
1113
|
+
* move it there. Putting onDragOver/onDrop on every row would mean wiring the same drop
|
|
1114
|
+
* logic N times over instead of once on the list container that actually owns it (see
|
|
1115
|
+
* TransferList), so this only exposes the source half of the native HTML5 DnD contract.
|
|
1116
|
+
* The action button exists precisely so drag-and-drop is never the only way to do the
|
|
1117
|
+
* same move — pointer-only and keyboard users get an equally real affordance, not a
|
|
1118
|
+
* degraded fallback.
|
|
1119
|
+
*/
|
|
1120
|
+
declare function EntityRow({ title, meta, action, draggable, onDragStart, onDragEnd, style, className }: EntityRowProps): React.JSX.Element;
|
|
1121
|
+
|
|
1122
|
+
type TransferListSide = "left" | "right";
|
|
1123
|
+
interface TransferListSideProps<T> {
|
|
1124
|
+
/** Whatever this side currently has loaded — not its full remote collection. */
|
|
1125
|
+
items: T[];
|
|
1126
|
+
/** Total matching count on the server, if known — shown next to the label. */
|
|
1127
|
+
total?: number;
|
|
1128
|
+
loading?: boolean;
|
|
1129
|
+
search: string;
|
|
1130
|
+
onSearchChange: (value: string) => void;
|
|
1131
|
+
sort?: {
|
|
1132
|
+
key: string;
|
|
1133
|
+
dir: "asc" | "desc";
|
|
1134
|
+
} | null;
|
|
1135
|
+
sortFields: SortMenuField[];
|
|
1136
|
+
onSort: (key: string, dir: "asc" | "desc") => void;
|
|
1137
|
+
onNeedMore: (direction: "start" | "end") => void;
|
|
1138
|
+
hasMore?: {
|
|
1139
|
+
start?: boolean;
|
|
1140
|
+
end?: boolean;
|
|
1141
|
+
};
|
|
1142
|
+
/** Heading text for this side. Fully caller-supplied — this component has no opinion
|
|
1143
|
+
* about what the two sides represent. */
|
|
1144
|
+
label?: string;
|
|
1145
|
+
}
|
|
1146
|
+
interface TransferListProps<T> {
|
|
1147
|
+
left: TransferListSideProps<T>;
|
|
1148
|
+
right: TransferListSideProps<T>;
|
|
1149
|
+
keyOf: (item: T) => string | number;
|
|
1150
|
+
renderLabel: (item: T) => string;
|
|
1151
|
+
renderMeta?: (item: T) => React.ReactNode;
|
|
1152
|
+
/** Fired by both a drag-drop and the equivalent +/- click. The caller owns actually
|
|
1153
|
+
* moving the item between whatever backing lists it maintains — this component never
|
|
1154
|
+
* mutates `left.items`/`right.items` itself. */
|
|
1155
|
+
onMove: (item: T, from: TransferListSide, to: TransferListSide) => void;
|
|
1156
|
+
/** Row height fed straight through to each side's VirtualList. Default (44) matches
|
|
1157
|
+
* the kit's --control-h-md, since that's the height EntityRow is tuned to look right at. */
|
|
1158
|
+
itemHeight?: number;
|
|
1159
|
+
/** Viewport height fed straight through to each side's VirtualList. */
|
|
1160
|
+
listHeight?: number;
|
|
1161
|
+
className?: string;
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* TransferList — a dual-list picker for moving items between two collections, by drag or
|
|
1165
|
+
* by a click, over a search box and a sort control each side owns independently.
|
|
1166
|
+
*
|
|
1167
|
+
* Deliberately named "left"/"right" rather than e.g. "available"/"selected": the product
|
|
1168
|
+
* this ships for is one particular use of it, but nothing about moving rows between two
|
|
1169
|
+
* lists is specific to that use, and baking in "available"/"selected" (or worse, this
|
|
1170
|
+
* kit's actual first consumer's own vocabulary) would make every *other* two-list picker
|
|
1171
|
+
* this kit will ever be asked for a second component instead of a second set of props. A
|
|
1172
|
+
* caller wanting domain words passes them through `label`.
|
|
1173
|
+
*
|
|
1174
|
+
* Native HTML5 drag-and-drop, not a library: this kit ships zero runtime dependencies on
|
|
1175
|
+
* purpose, and moving one row between two lists is exactly the case the platform's own
|
|
1176
|
+
* draggable/dragstart/dragover/drop already cover with no gap to fill — sortable-within-
|
|
1177
|
+
* a-list (which does need pointer math and placeholder gaps) is a different, harder
|
|
1178
|
+
* problem this component doesn't attempt. Each row is the drag source (via EntityRow's
|
|
1179
|
+
* draggable prop); each *side* is the drop target — one onDragOver/onDrop pair per side,
|
|
1180
|
+
* not per row, since dropping only ever means "move into this list," never "onto this
|
|
1181
|
+
* particular other row." dataTransfer carries the dragged key mainly so a real
|
|
1182
|
+
* OS-level drag has real payload (Firefox refuses a drag with no data set at all); which
|
|
1183
|
+
* item is actually moved is tracked in local `dragging` state, because dataTransfer's own
|
|
1184
|
+
* payload can't hold a reference to `item: T` — only the string the caller's keyOf gives it.
|
|
1185
|
+
*
|
|
1186
|
+
* The +/- action on every row is not a fallback bolted on for accessibility box-ticking:
|
|
1187
|
+
* it is the same onMove call a drop makes, exposed as a first-class equivalent, because
|
|
1188
|
+
* drag-and-drop alone would silently exclude anyone not using a mouse.
|
|
1189
|
+
*
|
|
1190
|
+
* Fully controlled and stateless about the actual item sets: `left`/`right` are handed in
|
|
1191
|
+
* whole, this never copies or reorders them, and the only state kept locally is which row
|
|
1192
|
+
* is mid-drag and which side a drag is currently over — pure interaction feedback, thrown
|
|
1193
|
+
* away the moment the drag ends.
|
|
1194
|
+
*/
|
|
1195
|
+
declare function TransferList<T>({ left, right, keyOf, renderLabel, renderMeta, onMove, itemHeight, listHeight, className, }: TransferListProps<T>): React.JSX.Element;
|
|
1196
|
+
|
|
973
1197
|
/**
|
|
974
1198
|
* Multi-select control with a 44px comfortable hit area.
|
|
975
1199
|
*/
|
|
@@ -2843,4 +3067,4 @@ interface VersionStore<TState, TDiff = unknown> {
|
|
|
2843
3067
|
}
|
|
2844
3068
|
declare function createVersionStore<TState, TDiff = unknown>(initialState: TState, options?: CreateVersionStoreOptions<TState, TDiff>): VersionStore<TState, TDiff>;
|
|
2845
3069
|
|
|
2846
|
-
export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, ApiSpecBrowser, type ApiSpecBrowserProps, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, 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, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, type DeviceSession, DiffBlock, type DiffBlockProps, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, FeatureGate, type FeatureGateProps, type FeatureStatus, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FilterBar, type FilterBarProps, type FilterField, type FilterFieldOption, type FilterFieldSelect, type FilterFieldText, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, Gate, type GateProps, IconButton, type IconButtonProps, Input, type InputProps, type JobStatus, 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, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Placement, type PollOptions, Popover, type PopoverProps, 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, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type Session, type Flag as SessionFlag, SessionKit, type SessionStats, SidebarNav, type SidebarNavItem, type SidebarNavProps, 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, Textarea, type TextareaProps, ThinkingBlock, type ThinkingBlockProps, type ThreadSummary, TimePicker, type TimePickerProps, Toast, type ToastProps, Tooltip, type TooltipProps, Topbar, type TopbarProps, TranscriptKit, type UsageLimit, UseFeatureStatus, UseRuntimeMode, type UseServerTableOptions, type User, type VersionRecord, type VersionStore, type VoiceHandler, acceptMatches, anyOfFilter, channelWeightOf, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, isImage, isSystemMessage, jobBucket, languageLabel, markdownToText, meterFormats, modifierLabel, pastedTextName, rangeFilter, revokeAttachment, toAttachment, tokenize, useChatEngine, useFeatureStatus, usePopoverPosition, useRuntimeMode, useServerTable, useStagedFiles, visibleMessages };
|
|
3070
|
+
export { AccountMenu, type AccountMenuLink, type AccountMenuProps, AgentChatPanel, type AgentChatPanelProps, ApiSpecBrowser, type ApiSpecBrowserProps, type Attachment, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, 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, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, type DeviceSession, DiffBlock, type DiffBlockProps, Drawer, type DrawerProps, Dropzone, DropzoneKit, type DropzoneProps, type EditorTrigger, EmptyState, type EmptyStateProps, type EndpointSpec, EntityRow, type EntityRowAction, type EntityRowProps, FeatureGate, type FeatureGateProps, type FeatureStatus, FileChip, type FileChipProps, FileGrid, type FileGridProps, FileKit, FilePickButton, type FilePickButtonProps, type FileRejection, FileStrip, type FileStripProps, FileTile, type FileTileProps, type FileUploadHandler, FilterBar, type FilterBarProps, type FilterField, type FilterFieldOption, type FilterFieldSelect, type FilterFieldText, Flag$1 as Flag, type FlagExplanation, type FlagProps, FlytedeskBrand, type FlytedeskBrandProps, FlytedeskMark, type FlytedeskMarkProps, FormatEta, Gate, type GateProps, IconButton, type IconButtonProps, Input, type InputProps, type JobStatus, 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, type Packet, PacketCard, type PacketCardProps, type PacketSchema, type Pager, Pagination, type PaginationProps, PermissionDenied, type PermissionDeniedProps, type PermissionGroup, PermissionHint, type PermissionItem, type Placement, type PollOptions, Popover, type PopoverProps, 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, SearchField, type SearchFieldProps, SegmentedControl, type SegmentedControlProps, SegmentedMeter, type SegmentedMeterProps, Select, type SelectOption, type SelectProps, type SendMessageResult, type ServerTable, type Session, type Flag as SessionFlag, SessionKit, type SessionStats, SidebarNav, type SidebarNavItem, type SidebarNavProps, 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, Textarea, type TextareaProps, 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, type UsageLimit, UseFeatureStatus, UseRuntimeMode, type UseServerTableOptions, type User, VIRTUAL_LIST_BUFFER_ROWS, type VersionRecord, type VersionStore, VirtualList, type VirtualListProps, type VirtualWindow, type VoiceHandler, acceptMatches, anyOfFilter, channelWeightOf, computeNeedMore, computeVirtualWindow, createVersionStore, eqFilter, extensionOf, extractClipboardFiles, filterFiles, formatAbsolute, formatBytes, formatClock, formatDuration, formatEta, formatRelative, groupMessages, hasModifier, iconForMime, isImage, isSystemMessage, jobBucket, languageLabel, markdownToText, meterFormats, modifierLabel, pastedTextName, rangeFilter, revokeAttachment, toAttachment, tokenize, useChatEngine, useFeatureStatus, usePopoverPosition, useRuntimeMode, useServerTable, useStagedFiles, visibleMessages };
|