@lovett/ui 0.1.0 → 0.2.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.ts CHANGED
@@ -3,8 +3,8 @@ import * as react from 'react';
3
3
  import react__default, { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, RefObject, ComponentProps, ComponentType, RefAttributes, ReactElement, Ref, FormHTMLAttributes, FormEvent } from 'react';
4
4
  import { Toaster as Toaster$1 } from 'sonner';
5
5
  export { toast } from 'sonner';
6
+ import { CollisionDetection, DndContext, DragEndEvent } from '@dnd-kit/core';
6
7
  import { LucideIcon } from 'lucide-react';
7
- import { DndContext, DragEndEvent } from '@dnd-kit/core';
8
8
  import { ClassValue } from 'clsx';
9
9
 
10
10
  /**
@@ -889,6 +889,49 @@ declare function DragHandle({ dragHandleProps, className, }: {
889
889
  dragHandleProps: HTMLAttributes<HTMLElement>;
890
890
  className?: string;
891
891
  }): react_jsx_runtime.JSX.Element;
892
+ /**
893
+ * Pointer first, `closestCorners` second — dnd-kit's documented shape for a
894
+ * multi-container board (the pointer, then a rect-based fallback; which rect
895
+ * strategy is the choice made at the bottom of this note), and the answer to
896
+ * two defects rather than one.
897
+ *
898
+ * The history is a ladder, and each rung is still true:
899
+ *
900
+ * `closestCenter` measured the dragged card's CENTRE against each droppable
901
+ * and mis-resolved whenever the card was taller than the row it was over,
902
+ * which is the normal case on a board with variable-height cards.
903
+ *
904
+ * `closestCorners` measured the card's four CORNERS instead. Better, and
905
+ * still wrong in the same family: it measures the CARD. A tall card's
906
+ * corners stay nearer its source lane until most of its body has crossed the
907
+ * boundary, so the user has to drag the whole card into the destination
908
+ * rather than point at it. Reported as "I have to literally drag the full
909
+ * entire card over the lane so it catches it".
910
+ *
911
+ * `pointerWithin` measures the POINTER, so a card is caught by the lane the
912
+ * cursor is over regardless of how tall the card is. Card height stops being
913
+ * an input at all, which is why this does not reintroduce the defect
914
+ * `closestCorners` was adopted to fix — it retires the whole measurement.
915
+ *
916
+ * `pointerWithin` returns EVERY droppable containing the pointer, ordered by
917
+ * the pointer's mean distance to that rect's four corners — so the tightest
918
+ * box around the cursor wins. A pointer inside a card yields [card, column]
919
+ * and `over` resolves to the card, which is what gives a cross-column drop its
920
+ * insertion INDEX. A pointer in the column's empty space below the last card
921
+ * yields just the column, and the item appends. Both are wanted.
922
+ *
923
+ * It returns nothing at all when `pointerCoordinates` is null, and dnd-kit
924
+ * derives those from the activator event's `clientX`/`clientY`. A KeyboardEvent
925
+ * has neither, so EVERY keyboard drag takes the fallback — a pointer-only
926
+ * strategy would leave `over` permanently null and break cross-column keyboard
927
+ * movement silently, gates all green. The fallback is therefore `closestCorners`
928
+ * and not `rectIntersection`: keyboard drags keep the exact resolution they
929
+ * have been tested against, and the pointer-outside-every-droppable case (the
930
+ * board's margins and gutters) keeps resolving to the nearest lane rather than
931
+ * to nothing. `rectIntersection` would answer that case by area of overlap —
932
+ * "most of the card", the defect above, back in the gutters.
933
+ */
934
+ declare const pointerFirstCollision: CollisionDetection;
892
935
  /** containerId -> the ids it holds, in order. */
893
936
  type SortableContainers = Readonly<Record<string, readonly string[]>>;
894
937
  interface MultiSortableMove {
@@ -903,11 +946,30 @@ interface MultiSortableListProps {
903
946
  /** Container ids in board order. Also the set treated as drop targets. */
904
947
  containerOrder: readonly string[];
905
948
  /**
906
- * Commit the move. Called synchronously from the drop handler, so a
907
- * `setState` here batches with the primitive's own reset and the board does
908
- * not flash the pre-drag arrangement for a frame.
949
+ * Commit the move. Called from the drop handler with the arrangement the
950
+ * board is already showing, so the consumer's job is to make `containers`
951
+ * agree — it is not being asked to produce a frame.
952
+ *
953
+ * It used to say "called synchronously ... so a `setState` here batches with
954
+ * the primitive's own reset". True, and it described the wrong consumer. A
955
+ * consumer that patches its cache synchronously never saw the ghost; one
956
+ * that patches from a mutation's `onMutate` — a microtask at best, an
957
+ * `await cancelQueries` at worst — is not in that batch, and got a frame of
958
+ * the pre-drag arrangement. See the preview note below for what replaced it.
909
959
  */
910
960
  onMove: (move: MultiSortableMove, next: SortableContainers) => void;
961
+ /**
962
+ * Override the drop-target strategy. Defaults to `pointerFirstCollision`,
963
+ * whose reasoning is in its own docblock.
964
+ *
965
+ * A prop because this component has now changed collision strategy twice
966
+ * (`closestCenter` → `closestCorners` → pointer-first) and both times a
967
+ * consumer had to wait for a release of this package to get the fix. The
968
+ * escape hatch costs one optional prop; a third such wait costs a release.
969
+ * Overriding it is opting out of the reasoning above, including the keyboard
970
+ * fallback — a bare `pointerWithin` here disables keyboard dragging.
971
+ */
972
+ collisionDetection?: CollisionDetection | undefined;
911
973
  /**
912
974
  * What follows the pointer. Without this the card appears to vanish.
913
975
  *
@@ -926,15 +988,28 @@ interface MultiSortableListProps {
926
988
  * and the container the drag is currently resolved INTO.
927
989
  *
928
990
  * The second argument exists because `useDroppable().isOver` cannot answer
929
- * it on a board: `closestCorners` resolves `over` to a sortable ITEM
930
- * whenever a column holds one, so the column's own droppable never wins and
931
- * its `isOver` measured `false` on every column during real pointer AND
991
+ * it on a board: every collision strategy here resolves `over` to a sortable
992
+ * ITEM whenever a column holds one `closestCorners` by distance, and
993
+ * `pointerWithin` because a pointer inside a card is inside its column too
994
+ * and the card's centre is nearer — so the column's own droppable never wins
995
+ * and its `isOver` measured `false` on every column during real pointer AND
932
996
  * keyboard drags. The container has to be derived from the resolved `over`
933
997
  * id — the same `containerOf` the announcements already use.
934
998
  */
935
999
  children: (arrangement: SortableContainers, overContainerId: string | null) => ReactNode;
936
1000
  }
937
- declare function MultiSortableList({ containers, containerOrder, onMove, renderOverlay, labelForItem, labelForContainer, children, }: MultiSortableListProps): react_jsx_runtime.JSX.Element;
1001
+ /**
1002
+ * How long a settled preview outlives the drop before `containers` wins.
1003
+ *
1004
+ * Floor: dnd-kit's drop animation is 250ms, and the preview has to still be
1005
+ * under the overlay when it lands or the overlay animates onto an empty slot.
1006
+ * Ceiling: a rejected move has to read as rejected rather than as accepted,
1007
+ * and half a second is about where a snap-back stops looking like a response.
1008
+ * The healthy path never reaches either — an optimistic patch supersedes this
1009
+ * in a frame or two, and the timer is cleared.
1010
+ */
1011
+ declare const PREVIEW_SETTLE_MS = 500;
1012
+ declare function MultiSortableList({ containers, containerOrder, onMove, collisionDetection, renderOverlay, labelForItem, labelForContainer, children, }: MultiSortableListProps): react_jsx_runtime.JSX.Element;
938
1013
  /**
939
1014
  * One droppable container inside a <MultiSortableList>.
940
1015
  *
@@ -943,11 +1018,12 @@ declare function MultiSortableList({ containers, containerOrder, onMove, renderO
943
1018
  * accent (design brief §4), and only the consumer knows what its border is.
944
1019
  *
945
1020
  * `isOver` here is `useDroppable`'s raw answer and is NOT the board's drag-over
946
- * signal: with `closestCorners`, `over` resolves to a sortable item whenever
947
- * the column holds one, so this reads `false` for the column the card is
948
- * actually over. It is kept because the droppable registration is what makes an
949
- * EMPTY column a drop target at all. The state a consumer should paint comes
950
- * from `MultiSortableList`'s `overContainerId`.
1021
+ * signal: `over` resolves to a sortable item whenever the column holds one, so
1022
+ * this reads `false` for the column the card is actually over. It is kept
1023
+ * because the droppable registration is what makes an EMPTY column a drop
1024
+ * target at all and, under pointer-first collision, what makes the column's
1025
+ * empty space below the last card a target for an append. The state a consumer
1026
+ * should paint comes from `MultiSortableList`'s `overContainerId`.
951
1027
  */
952
1028
  declare function SortableDropZone({ id, items, children, }: {
953
1029
  id: string;
@@ -4994,10 +5070,21 @@ declare const DisplayPopover: typeof DisplayPopoverRoot & {
4994
5070
  * PERSISTENCE IS PER SCOPE. `scope` is whatever partition the host needs —
4995
5071
  * for a lens that is the brand id, because ADR-116 D10 requires brand A's
4996
5072
  * preferences never to surface on brand B. The key is
4997
- * `workspace:<name>:<scope>:display`, matching CLAUDE.md §3's namespacing
5073
+ * `<prefix>:<name>:<scope>:display`, matching CLAUDE.md §3's namespacing
4998
5074
  * rule. Changing `scope` re-reads: the provider does not remount, so an
4999
5075
  * in-flight draft elsewhere in the tree survives a brand switch.
5000
5076
  *
5077
+ * THE PREFIX IS THE PRODUCT, AND ITS DEFAULT IS FROZEN. This package is a
5078
+ * dependency of more than one app on more than one origin, and `workspace` is
5079
+ * only the right first segment for one of them: a host whose own convention is
5080
+ * `lightwork:<area>:<id>:<key>` was getting the one key on its board that read
5081
+ * as somebody else's. So `prefix` is an option — and its default is `workspace`
5082
+ * FOREVER, not because that name is good but because these keys already exist
5083
+ * in operators' browsers. A store holds a preference the operator set; changing
5084
+ * the default segment would not move that preference to a new key, it would
5085
+ * walk past it and open at the defaults. The suite pins the unprefixed key as a
5086
+ * literal for that reason.
5087
+ *
5001
5088
  * READING IS DEFENSIVE. `localStorage` is untrusted input — a hand-edited
5002
5089
  * value, a key left behind by an older build, a private window that throws on
5003
5090
  * access. Every persisted key is checked against the default's TYPE and, when
@@ -5072,7 +5159,33 @@ interface DisplayStore<T extends DisplaySettings> {
5072
5159
  /** Exposed so a host can name the key it is clearing. */
5073
5160
  readonly storageKey: (scope: string) => string;
5074
5161
  }
5075
- declare function createDisplayStore<T extends DisplaySettings>(name: string, defaults: T, allowed?: DisplayAllowed<T>, migrations?: DisplayMigrations<T>): DisplayStore<T>;
5162
+ /**
5163
+ * Everything about the store that is not its settings.
5164
+ *
5165
+ * An OBJECT rather than a fifth positional string, because `allowed` and
5166
+ * `migrations` are both optional and already both objects: a call reading
5167
+ * `createDisplayStore('board', DEFAULTS, undefined, undefined, 'lightwork')`
5168
+ * puts two bare strings at opposite ends of an argument list and names
5169
+ * neither. `{ prefix: 'lightwork' }` says what it is at the call site, and the
5170
+ * next option that earns its place goes beside it rather than becoming a sixth
5171
+ * positional.
5172
+ */
5173
+ interface DisplayStoreOptions {
5174
+ /**
5175
+ * The key's first segment — the PRODUCT, above the store's own `name`.
5176
+ *
5177
+ * Omit it and the key is `workspace:<name>:<scope>:display`, exactly as it
5178
+ * has always been. Pass one and the store moves wholesale onto it, so two
5179
+ * apps sharing this primitive on one origin under the same `name` cannot
5180
+ * read or overwrite each other.
5181
+ *
5182
+ * It is not a migration seam. A store that changes prefix does not carry its
5183
+ * stored settings across; it opens at its defaults on the new key and leaves
5184
+ * the old one behind. Choose it once, when the store is written.
5185
+ */
5186
+ prefix?: string;
5187
+ }
5188
+ declare function createDisplayStore<T extends DisplaySettings>(name: string, defaults: T, allowed?: DisplayAllowed<T>, migrations?: DisplayMigrations<T>, options?: DisplayStoreOptions): DisplayStore<T>;
5076
5189
 
5077
5190
  /**
5078
5191
  * DeltaChip — the period-over-period change chip that sits beside a KPI value.
@@ -7366,6 +7479,20 @@ interface ThreadComment {
7366
7479
  readonly editedAt?: number | null | undefined;
7367
7480
  /** Set = tombstone (D4). The row still renders and KEEPS its subtree. */
7368
7481
  readonly deletedAt?: number | null | undefined;
7482
+ /**
7483
+ * TRUE = the tombstone above was made by somebody OTHER than the author
7484
+ * (FU-0031, FU-0032). Meaningless without `deletedAt`, and read nowhere else.
7485
+ *
7486
+ * One boolean rather than a `deletedBy` author, and that is a decision, not
7487
+ * a shortcut: the wire deliberately never carries who removed a comment, so
7488
+ * a field that could hold a name would be a field somebody eventually fills.
7489
+ * A boolean cannot leak an identity it does not have.
7490
+ *
7491
+ * OPTIONAL, and absent means `[deleted]` — the render every host on 0.1.0
7492
+ * already gets. A host with no moderation concept never sets it and never
7493
+ * sees a word change.
7494
+ */
7495
+ readonly moderated?: boolean | undefined;
7369
7496
  readonly reactions?: readonly ThreadReactionCount[] | undefined;
7370
7497
  readonly attachments?: readonly ThreadAttachment[] | undefined;
7371
7498
  /**
@@ -7459,6 +7586,65 @@ interface ActivityPaneProps {
7459
7586
  onSubmit?: ((body: string) => void) | undefined;
7460
7587
  /** A reply. Omitted, the thread offers no reply control at all. */
7461
7588
  onReply?: ((body: string, parentId: string) => void) | undefined;
7589
+ /**
7590
+ * Forwarded verbatim to the `<Thread>` the Comments tab already mounts.
7591
+ *
7592
+ * These four are here because the pane used to declare `onSubmit` and
7593
+ * `onReply` and stop. `CommentItem` gates its reaction PICKER on `onReact`
7594
+ * and its overflow MENU ITEMS on `onEdit` / `onDelete`; a menu item whose
7595
+ * callback is absent is not rendered, and the reaction chips still render
7596
+ * DISABLED rather than vanishing. (An earlier draft of this docblock said
7597
+ * the whole bar was "NOT RENDERED". That is the rule from `ThreadProps`'
7598
+ * overflow-menu docblock, and it does not generalise to the engagement row —
7599
+ * `reactions.tsx` renders `disabled={!canReact}`.) So a host composing this
7600
+ * pane shipped an inert
7601
+ * engagement row with no picker to open and a menu holding one line, while
7602
+ * the three routes behind them had no caller in the browser at all. Nothing
7603
+ * errored, which is how it survived a release; Lightwork's FU-0019 found it
7604
+ * by opening the surface rather than by reading the source, and the source
7605
+ * understates it.
7606
+ *
7607
+ * `onRetry` is the same omission with one sharper edge: the failed send it
7608
+ * recovers was posted by THIS pane's own composer, so dropping it left the
7609
+ * pane manufacturing a state and offering nobody a way out of it.
7610
+ *
7611
+ * The signatures are `ThreadProps`', unchanged, because a conduit that
7612
+ * reshapes what passes through it is a second contract to keep in step —
7613
+ * and this one is held by two repos. Absent still means no control, so a
7614
+ * host that passes none renders exactly as it did on 0.1.0.
7615
+ *
7616
+ * STILL NOT FORWARDED, deliberately. This list is EXHAUSTIVE against
7617
+ * `ThreadProps` — check it against that interface before adding one, because
7618
+ * a list whose whole purpose is completeness is worse than no list when it
7619
+ * is short: `onVote`, `onCopyLink`, `onCopyText`, `onSelectAuthor`,
7620
+ * `onSelectMention`, `onOpenAttachment`, `resolveAttachmentUrl`,
7621
+ * `onContinueThread`.
7622
+ *
7623
+ * The line is whether a MUTATION becomes unreachable. `onVote` fails it for
7624
+ * a different reason — the pane never exposes `engagement`, so there is no
7625
+ * vote control to receive it and forwarding it would be a dead prop.
7626
+ * `onCopyText` only reports a clipboard outcome; "Copy text" renders without
7627
+ * it. `onContinueThread` falls back to local state, so the button works
7628
+ * unwired. The rest are reads.
7629
+ *
7630
+ * `onHideLinkPreview` USED to be on this list and should not have been: it is
7631
+ * a write in the same pattern as the other mutations, and `link-preview.tsx`
7632
+ * gates its dismiss control on the callback being present. Since the pane
7633
+ * forwards `comments` verbatim — link previews included — a host got
7634
+ * dismissible-looking rows with no route to the mutation. Same shape as the
7635
+ * defect this whole change fixes, caught in review.
7636
+ */
7637
+ onReact?: ((commentId: string, key: ThreadReactionKey) => void) | undefined;
7638
+ onEdit?: ((commentId: string) => void) | undefined;
7639
+ onDelete?: ((commentId: string) => void) | undefined;
7640
+ onRetry?: ((commentId: string) => void) | undefined;
7641
+ /**
7642
+ * A write, in the same pattern as the mutations above — `link-preview.tsx`
7643
+ * gates its dismiss control on this being present, and the pane forwards
7644
+ * `comments` verbatim, previews included. Without it a host draws rows that
7645
+ * look dismissible and are not. Added in review, not in the original change.
7646
+ */
7647
+ onHideLinkPreview?: ((commentId: string, urlHash: string) => void) | undefined;
7462
7648
  sending?: boolean | undefined;
7463
7649
  composerAvatar?: ReactNode | undefined;
7464
7650
  composerPlaceholder?: string | undefined;
@@ -7472,7 +7658,7 @@ interface ActivityPaneProps {
7472
7658
  emptyStates?: Partial<Record<ActivityTab, ReactNode>> | undefined;
7473
7659
  className?: string | undefined;
7474
7660
  }
7475
- declare function ActivityPane({ tab, defaultTab, onTabChange, comments, activity, draft, onDraftChange, onSubmit, onReply, sending, composerAvatar, composerPlaceholder, composerLabel, composerMaxLength, submitLabel, now, locale, emptyStates, className, }: ActivityPaneProps): react_jsx_runtime.JSX.Element;
7661
+ declare function ActivityPane({ tab, defaultTab, onTabChange, comments, activity, draft, onDraftChange, onSubmit, onReply, onReact, onEdit, onDelete, onRetry, onHideLinkPreview, sending, composerAvatar, composerPlaceholder, composerLabel, composerMaxLength, submitLabel, now, locale, emptyStates, className, }: ActivityPaneProps): react_jsx_runtime.JSX.Element;
7476
7662
 
7477
7663
  /**
7478
7664
  * MonthCalendar — the date editor's month grid, and the date-value helpers.
@@ -8675,4 +8861,4 @@ declare function sortCommentTree(roots: readonly CommentNode[], sort: ThreadSort
8675
8861
  */
8676
8862
  declare function useNowTick(enabled: boolean): number;
8677
8863
 
8678
- export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AVATAR_TINTS, AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, type ActivityEntry, ActivityPane, type ActivityPaneProps, type ActivityTab, AllocationSparkbar, type AllocationSparkbarProps, type AnchorAlign, type AnchorPlacement, type AnchorRect, type AnchorSide, type AnchorSize, type AnchoredPosition, type AnchoredPositionOptions, type AnyColumnConfig, AppScroll, type ArcGeometry, type ArcSegment, AreaChart, type AreaChartProps, AttachmentButton, type AttachmentButtonProps, AttachmentDropZone, type AttachmentDropZoneProps, AttachmentGif, type AttachmentGifProps, AttachmentImage, type AttachmentImageProps, AttachmentLightbox, type AttachmentLightboxProps, AttachmentPlaceholder, type AttachmentTicketLike, AttachmentTray, type AttachmentTrayProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarTint, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, type BadgeProps, type BadgeTone, type BandScale, BarChart, type BarChartDatum, type BarChartEmphasis, type BarChartMode, type BarChartOrientation, type BarChartProps, type BarChartSeries, Board, type BoardCardContext, BoardColumn, type BoardColumnProps, type BoardColumnSpec, type BoardHueKey, type BoardItemLeadContext, type BoardProps, type BoardStatusKey, BrandFacebook, BrandIcon, type BrandIconKey, type BrandIconProps, BrandInstagram, BrandLinkedIn, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, COLUMN_DATA_TYPES, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, ChartFrame, type ChartFrameProps, type ChartFrameState, type ChartFrameView, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartSlot, type ChartTableData, type ChartTableRow, ChartTooltip, type ChartTooltipProps, type ChartTooltipRow, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, ChipToggleGroup, type ChipToggleGroupProps, type ChipToggleItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CollapsedReplies, type CollapsedRepliesProps, CollapsibleCard, type CollapsibleCardProps, type ColumnAccessor, type ColumnConfig, type ColumnDataNativeMap, type ColumnDataType, type ColumnOption, type ColumnValueMap, Combobox, type ComboboxGroup, type ComboboxMultipleProps, type ComboboxOption, type ComboboxOptionState, type ComboboxProps, type ComboboxSingleProps, type ComboboxSize, CommentActions, type CommentActionsProps, CommentBody, type CommentBodyProps, type CommentDeliveryState, CommentItem, type CommentItemProps, type CommentNode, CommentVote, type CommentVoteProps, CompletionRing, type CompletionRingProps, type ComposerAttachment, type ComposerAttachmentKind, type ComposerAttachmentState, CopyField, type CopyFieldProps, type Crumb, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, type DateFilterOperator, type DateParts, DeltaChip, type DeltaChipProps, type DeltaDirection, type DeltaFormat, type DetailCollapse, DetailDivider, type DetailDividerProps, DetailHeader, type DetailHeaderProps, DetailMenu, type DetailMenuAction, type DetailMenuItem, type DetailMenuProps, type DetailMode, type DetailPaneSide, DetailSection, DetailSurface, type DetailSurfaceProps, DeviceFrame, type DeviceFrameProps, type DisplayAllowed, type DisplayController, type DisplayMigrations, DisplayPopover, type DisplayPopoverProps, type DisplayPopoverSectionProps, type DisplayProviderProps, type DisplaySettings, type DisplayStore, type DisplayValue, DonutChart, type DonutChartDatum, type DonutChartProps, type DonutFold, type DonutGapSurface, type DonutSlice, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, type ElementType, type EmojiEntry, EmptyPlaceholder, EmptyState, type EmptyStateProps, type Extent, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, type FieldFilter, FieldList, type FieldListProps, type FieldOption, type FieldPerson, FieldRow, type FieldRowDateProps, type FieldRowPeopleProps, type FieldRowProps, type FieldRowSelectProps, type FieldRowTagsProps, type FieldRowTextProps, FieldValueButton, type FieldValueButtonProps, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterChipBar, type FilterChipBarProps, type FilterDetails, FilterDropdown, type FilterDropdownProps, type FilterFieldIconRenderer, FilterMenu, type FilterMenuProps, type FilterModel, type FilterOperatorArity, type FilterOperatorDetails, type FilterOperatorDetailsShape, type FilterOperatorTarget, type FilterOperators, type FilterOption, type FilterOptionIconRenderer, type FilterTypeOperatorDetails, type FilterValues, type FiltersState, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, GIF_SEARCH_DEBOUNCE_MS, type GaugeBand, GaugeRing, type GaugeRingProps, type GaugeTone, GifPicker, type GifPickerProps, type GifPickerResult, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, type HomeCrumb, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, type LayerHandle, type LayerKind, type LedgerCell, type LedgerProgress, type LedgerSegment, LineChart, type LineChartProps, type LineChartSeries, LineIcon, LinkPreview, type LinkPreviewProps, ListItem, ListboxOption, type ListboxOptionProps, MarkdownCode, type MarkdownEdit, type MarkdownFormat, MarkdownRenderer, type MarkdownRendererProps, type MentionSuggestionItem, type MentionTarget, type MentionTargetType, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, MetaCell, type MetaCellProps, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, type MultiOptionFilterOperator, MultiSortableList, type MultiSortableListProps, type MultiSortableMove, type Nullable, type NumberFilterOperator, type NumericInput, OTHER_SLOT_COLOR, type OptionBasedColumnDataType, type OptionFilterOperator, OptionRow, type OptionRowProps, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, type OutsideClickTarget, PASTE_ATTACHMENT_THRESHOLD, PLACEMENT_CONFIGS, POPOVER_SURFACE_STYLE, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type Point, Popover, type PopoverContentProps, type PopoverFooterAction, PopoverFooterActions, type PopoverFooterActionsProps, type PopoverProps, type PopoverTriggerProps, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, ProgressLedger, type ProgressLedgerProps, REACTION_META, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RankedBars, type RankedBarsItem, type RankedBarsProps, type RankedBarsSort, ReactionBar, type ReactionBarProps, RelativeTime, type RelativeTimeProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, type RgbTuple, type RichComposerAttachmentProps, RichThreadComposer, type RichThreadComposerProps, type RingDash, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, type ScaleFn, type ScatterSlot, SearchBar, type SearchBarProps, SectionHeading, type SectionHeadingProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Select, type SelectOption, type SelectProps, SelectRow, type SelectRowProps, type SelectSize, type SeriesPalette, type SeriesSlot, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, type SortableContainers, SortableDropZone, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, Sparkline, type SparklineProps, type SparklineVariant, StatCard, type StatCardFooterLink, type StatCardProps, type StatCardSize, StatRow, type StatRowProps, type StatRowStep, StatStrip, type StatStripCell, type StatStripProps, StatsGrid, type StatsGridProps, StatusGlyph, type StatusGlyphProps, StatusRing, type StatusRingProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type SuggestionListProps, type SuggestionOption, THREAD_REACTION_KEYS, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TaskCard, type TaskCardAvatar, type TaskCardCount, type TaskCardDate, type TaskCardDragProps, type TaskCardMedia, type TaskCardProps, type TextFilterOperator, TextInput, Textarea, TextareaInput, type TextareaProps, Thread, type ThreadAttachment, type ThreadAttachmentKind, type ThreadAuthor, type ThreadComment, ThreadComposer, type ThreadComposerProps, ThreadConnector, type ThreadConnectorProps, type ThreadEngagement, type ThreadLinkPreview, type ThreadParticipant, type ThreadProps, ThreadRail, type ThreadRailProps, type ThreadReactionCount, type ThreadReactionKey, type ThreadRenderContext, type ThreadSort, ThreadTrunkSegment, type ThreadVote, Toaster, ToggleRow, type ToggleRowProps, TokenBadge, type TokenBadgeProps, Tooltip, type TooltipProps, type TooltipTriggerProps, type UploadResult, type UseAnchoredPositionOptions, type UseAnchoredPositionResult, type UseAttachmentsOptions, type UseAttachmentsResult, type UseEscapeKeyOptions, type UseFileUploadOptions, type UseLayerOptions, type UseOutsideClickOptions, type UseThreadOptions, type UseThreadResult, ValueChip, type ValueChipProps, type VisibleReplies, type WcagBadge, applyMarkdownFormat, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, cn, computeAnchoredPosition, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatAttachmentSize, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, parseMentionHref, pastedTextFilename, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, shouldAttachPaste, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useAnchoredPosition, useAttachmentUrl, useAttachments, useBreadcrumbHome, useEscapeKey, useFieldRowVisible, useFileUpload, useLayer, useNowTick, useOutsideClick, usePrefersReducedMotion, useThread, wcagBadges, withMinimumArc };
8864
+ export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AVATAR_TINTS, AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, type ActivityEntry, ActivityPane, type ActivityPaneProps, type ActivityTab, AllocationSparkbar, type AllocationSparkbarProps, type AnchorAlign, type AnchorPlacement, type AnchorRect, type AnchorSide, type AnchorSize, type AnchoredPosition, type AnchoredPositionOptions, type AnyColumnConfig, AppScroll, type ArcGeometry, type ArcSegment, AreaChart, type AreaChartProps, AttachmentButton, type AttachmentButtonProps, AttachmentDropZone, type AttachmentDropZoneProps, AttachmentGif, type AttachmentGifProps, AttachmentImage, type AttachmentImageProps, AttachmentLightbox, type AttachmentLightboxProps, AttachmentPlaceholder, type AttachmentTicketLike, AttachmentTray, type AttachmentTrayProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarTint, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, type BadgeProps, type BadgeTone, type BandScale, BarChart, type BarChartDatum, type BarChartEmphasis, type BarChartMode, type BarChartOrientation, type BarChartProps, type BarChartSeries, Board, type BoardCardContext, BoardColumn, type BoardColumnProps, type BoardColumnSpec, type BoardHueKey, type BoardItemLeadContext, type BoardProps, type BoardStatusKey, BrandFacebook, BrandIcon, type BrandIconKey, type BrandIconProps, BrandInstagram, BrandLinkedIn, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, COLUMN_DATA_TYPES, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, ChartFrame, type ChartFrameProps, type ChartFrameState, type ChartFrameView, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartSlot, type ChartTableData, type ChartTableRow, ChartTooltip, type ChartTooltipProps, type ChartTooltipRow, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, ChipToggleGroup, type ChipToggleGroupProps, type ChipToggleItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CollapsedReplies, type CollapsedRepliesProps, CollapsibleCard, type CollapsibleCardProps, type ColumnAccessor, type ColumnConfig, type ColumnDataNativeMap, type ColumnDataType, type ColumnOption, type ColumnValueMap, Combobox, type ComboboxGroup, type ComboboxMultipleProps, type ComboboxOption, type ComboboxOptionState, type ComboboxProps, type ComboboxSingleProps, type ComboboxSize, CommentActions, type CommentActionsProps, CommentBody, type CommentBodyProps, type CommentDeliveryState, CommentItem, type CommentItemProps, type CommentNode, CommentVote, type CommentVoteProps, CompletionRing, type CompletionRingProps, type ComposerAttachment, type ComposerAttachmentKind, type ComposerAttachmentState, CopyField, type CopyFieldProps, type Crumb, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, type DateFilterOperator, type DateParts, DeltaChip, type DeltaChipProps, type DeltaDirection, type DeltaFormat, type DetailCollapse, DetailDivider, type DetailDividerProps, DetailHeader, type DetailHeaderProps, DetailMenu, type DetailMenuAction, type DetailMenuItem, type DetailMenuProps, type DetailMode, type DetailPaneSide, DetailSection, DetailSurface, type DetailSurfaceProps, DeviceFrame, type DeviceFrameProps, type DisplayAllowed, type DisplayController, type DisplayMigrations, DisplayPopover, type DisplayPopoverProps, type DisplayPopoverSectionProps, type DisplayProviderProps, type DisplaySettings, type DisplayStore, type DisplayStoreOptions, type DisplayValue, DonutChart, type DonutChartDatum, type DonutChartProps, type DonutFold, type DonutGapSurface, type DonutSlice, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, type ElementType, type EmojiEntry, EmptyPlaceholder, EmptyState, type EmptyStateProps, type Extent, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, type FieldFilter, FieldList, type FieldListProps, type FieldOption, type FieldPerson, FieldRow, type FieldRowDateProps, type FieldRowPeopleProps, type FieldRowProps, type FieldRowSelectProps, type FieldRowTagsProps, type FieldRowTextProps, FieldValueButton, type FieldValueButtonProps, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterChipBar, type FilterChipBarProps, type FilterDetails, FilterDropdown, type FilterDropdownProps, type FilterFieldIconRenderer, FilterMenu, type FilterMenuProps, type FilterModel, type FilterOperatorArity, type FilterOperatorDetails, type FilterOperatorDetailsShape, type FilterOperatorTarget, type FilterOperators, type FilterOption, type FilterOptionIconRenderer, type FilterTypeOperatorDetails, type FilterValues, type FiltersState, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, GIF_SEARCH_DEBOUNCE_MS, type GaugeBand, GaugeRing, type GaugeRingProps, type GaugeTone, GifPicker, type GifPickerProps, type GifPickerResult, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, type HomeCrumb, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, type LayerHandle, type LayerKind, type LedgerCell, type LedgerProgress, type LedgerSegment, LineChart, type LineChartProps, type LineChartSeries, LineIcon, LinkPreview, type LinkPreviewProps, ListItem, ListboxOption, type ListboxOptionProps, MarkdownCode, type MarkdownEdit, type MarkdownFormat, MarkdownRenderer, type MarkdownRendererProps, type MentionSuggestionItem, type MentionTarget, type MentionTargetType, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, MetaCell, type MetaCellProps, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, type MultiOptionFilterOperator, MultiSortableList, type MultiSortableListProps, type MultiSortableMove, type Nullable, type NumberFilterOperator, type NumericInput, OTHER_SLOT_COLOR, type OptionBasedColumnDataType, type OptionFilterOperator, OptionRow, type OptionRowProps, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, type OutsideClickTarget, PASTE_ATTACHMENT_THRESHOLD, PLACEMENT_CONFIGS, POPOVER_SURFACE_STYLE, PREVIEW_SETTLE_MS, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type Point, Popover, type PopoverContentProps, type PopoverFooterAction, PopoverFooterActions, type PopoverFooterActionsProps, type PopoverProps, type PopoverTriggerProps, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, ProgressLedger, type ProgressLedgerProps, REACTION_META, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RankedBars, type RankedBarsItem, type RankedBarsProps, type RankedBarsSort, ReactionBar, type ReactionBarProps, RelativeTime, type RelativeTimeProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, type RgbTuple, type RichComposerAttachmentProps, RichThreadComposer, type RichThreadComposerProps, type RingDash, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, type ScaleFn, type ScatterSlot, SearchBar, type SearchBarProps, SectionHeading, type SectionHeadingProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Select, type SelectOption, type SelectProps, SelectRow, type SelectRowProps, type SelectSize, type SeriesPalette, type SeriesSlot, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, type SortableContainers, SortableDropZone, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, Sparkline, type SparklineProps, type SparklineVariant, StatCard, type StatCardFooterLink, type StatCardProps, type StatCardSize, StatRow, type StatRowProps, type StatRowStep, StatStrip, type StatStripCell, type StatStripProps, StatsGrid, type StatsGridProps, StatusGlyph, type StatusGlyphProps, StatusRing, type StatusRingProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type SuggestionListProps, type SuggestionOption, THREAD_REACTION_KEYS, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TaskCard, type TaskCardAvatar, type TaskCardCount, type TaskCardDate, type TaskCardDragProps, type TaskCardMedia, type TaskCardProps, type TextFilterOperator, TextInput, Textarea, TextareaInput, type TextareaProps, Thread, type ThreadAttachment, type ThreadAttachmentKind, type ThreadAuthor, type ThreadComment, ThreadComposer, type ThreadComposerProps, ThreadConnector, type ThreadConnectorProps, type ThreadEngagement, type ThreadLinkPreview, type ThreadParticipant, type ThreadProps, ThreadRail, type ThreadRailProps, type ThreadReactionCount, type ThreadReactionKey, type ThreadRenderContext, type ThreadSort, ThreadTrunkSegment, type ThreadVote, Toaster, ToggleRow, type ToggleRowProps, TokenBadge, type TokenBadgeProps, Tooltip, type TooltipProps, type TooltipTriggerProps, type UploadResult, type UseAnchoredPositionOptions, type UseAnchoredPositionResult, type UseAttachmentsOptions, type UseAttachmentsResult, type UseEscapeKeyOptions, type UseFileUploadOptions, type UseLayerOptions, type UseOutsideClickOptions, type UseThreadOptions, type UseThreadResult, ValueChip, type ValueChipProps, type VisibleReplies, type WcagBadge, applyMarkdownFormat, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, cn, computeAnchoredPosition, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatAttachmentSize, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, parseMentionHref, pastedTextFilename, pointerFirstCollision, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, shouldAttachPaste, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useAnchoredPosition, useAttachmentUrl, useAttachments, useBreadcrumbHome, useEscapeKey, useFieldRowVisible, useFileUpload, useLayer, useNowTick, useOutsideClick, usePrefersReducedMotion, useThread, wcagBadges, withMinimumArc };
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { createPortal } from 'react-dom';
7
7
  import { Link } from 'react-router-dom';
8
8
  import { toast, Toaster as Toaster$1 } from 'sonner';
9
9
  export { toast } from 'sonner';
10
- import { useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter, MeasuringStrategy, closestCorners, DragOverlay, useDroppable } from '@dnd-kit/core';
10
+ import { useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter, pointerWithin, closestCorners, MeasuringStrategy, DragOverlay, useDroppable } from '@dnd-kit/core';
11
11
  import { sortableKeyboardCoordinates, SortableContext, horizontalListSortingStrategy, rectSortingStrategy, verticalListSortingStrategy, useSortable, arrayMove } from '@dnd-kit/sortable';
12
12
  import { CSS } from '@dnd-kit/utilities';
13
13
 
@@ -2162,6 +2162,11 @@ function DragHandle({
2162
2162
  }
2163
2163
  );
2164
2164
  }
2165
+ var pointerFirstCollision = (args) => {
2166
+ const byPointer = pointerWithin(args);
2167
+ return byPointer.length > 0 ? byPointer : closestCorners(args);
2168
+ };
2169
+ var PREVIEW_SETTLE_MS = 500;
2165
2170
  function moveBetween(arrangement, itemId, from, to, index) {
2166
2171
  const next = { ...arrangement };
2167
2172
  const fromItems = (next[from] ?? []).filter((id) => id !== itemId);
@@ -2176,6 +2181,7 @@ function MultiSortableList({
2176
2181
  containers,
2177
2182
  containerOrder,
2178
2183
  onMove,
2184
+ collisionDetection = pointerFirstCollision,
2179
2185
  renderOverlay,
2180
2186
  labelForItem,
2181
2187
  labelForContainer,
@@ -2189,7 +2195,34 @@ function MultiSortableList({
2189
2195
  const [overContainerId, setOverContainerId] = useState(null);
2190
2196
  const [preview, setPreview] = useState(null);
2191
2197
  const originRef = useRef(null);
2192
- const arrangement = preview ?? containers;
2198
+ const settleTimer = useRef(null);
2199
+ useEffect(
2200
+ () => () => {
2201
+ if (settleTimer.current !== null) clearTimeout(settleTimer.current);
2202
+ },
2203
+ []
2204
+ );
2205
+ const stopSettleTimer = () => {
2206
+ if (settleTimer.current !== null) {
2207
+ clearTimeout(settleTimer.current);
2208
+ settleTimer.current = null;
2209
+ }
2210
+ };
2211
+ const superseded = preview !== null && preview.settled && preview.basis !== containers;
2212
+ const arrangement = preview !== null && !superseded ? preview.arrangement : containers;
2213
+ if (superseded) setPreview(null);
2214
+ const holdPreview = (next) => {
2215
+ stopSettleTimer();
2216
+ if (next === containers) {
2217
+ setPreview(null);
2218
+ return;
2219
+ }
2220
+ setPreview({ arrangement: next, basis: containers, settled: true });
2221
+ settleTimer.current = setTimeout(() => {
2222
+ settleTimer.current = null;
2223
+ setPreview(null);
2224
+ }, PREVIEW_SETTLE_MS);
2225
+ };
2193
2226
  const containerOf = (id) => {
2194
2227
  if (containerOrder.includes(id)) return id;
2195
2228
  for (const containerId of containerOrder) {
@@ -2202,8 +2235,9 @@ function MultiSortableList({
2202
2235
  const handleDragStart = (event) => {
2203
2236
  const id = String(event.active.id);
2204
2237
  setActiveId(id);
2205
- originRef.current = containers;
2206
- setPreview(containers);
2238
+ stopSettleTimer();
2239
+ originRef.current = arrangement;
2240
+ setPreview({ arrangement, basis: containers, settled: false });
2207
2241
  setOverContainerId(containerOf(id));
2208
2242
  };
2209
2243
  const handleDragOver = (event) => {
@@ -2221,7 +2255,11 @@ function MultiSortableList({
2221
2255
  const overItems = arrangement[to] ?? [];
2222
2256
  const overIndex = overItems.indexOf(overId);
2223
2257
  const index = overIndex === -1 ? overItems.length : overIndex;
2224
- setPreview(moveBetween(arrangement, itemId, from, to, index));
2258
+ setPreview({
2259
+ arrangement: moveBetween(arrangement, itemId, from, to, index),
2260
+ basis: containers,
2261
+ settled: false
2262
+ });
2225
2263
  };
2226
2264
  const handleDragEnd = (event) => {
2227
2265
  const { active, over } = event;
@@ -2234,7 +2272,7 @@ function MultiSortableList({
2234
2272
  setOverContainerId(null);
2235
2273
  originRef.current = null;
2236
2274
  if (!over || !from) {
2237
- setPreview(null);
2275
+ holdPreview(origin);
2238
2276
  return;
2239
2277
  }
2240
2278
  const overId = String(over.id);
@@ -2243,21 +2281,25 @@ function MultiSortableList({
2243
2281
  const overIndex = overItems.indexOf(overId);
2244
2282
  const index = overIndex === -1 ? overItems.length : overIndex;
2245
2283
  const next = moveBetween(origin, itemId, from, to, index);
2246
- setPreview(null);
2247
- if (from === to && (origin[from] ?? []).indexOf(itemId) === index) return;
2284
+ if (from === to && (origin[from] ?? []).indexOf(itemId) === index) {
2285
+ holdPreview(origin);
2286
+ return;
2287
+ }
2288
+ holdPreview(next);
2248
2289
  onMove({ itemId, fromContainerId: from, toContainerId: to, toIndex: index }, next);
2249
2290
  };
2250
2291
  const handleDragCancel = () => {
2251
2292
  setActiveId(null);
2252
2293
  setOverContainerId(null);
2294
+ const origin = originRef.current ?? containers;
2253
2295
  originRef.current = null;
2254
- setPreview(null);
2296
+ holdPreview(origin);
2255
2297
  };
2256
2298
  return /* @__PURE__ */ jsxs(
2257
2299
  DndContext,
2258
2300
  {
2259
2301
  sensors,
2260
- collisionDetection: closestCorners,
2302
+ collisionDetection,
2261
2303
  measuring: { droppable: { strategy: MeasuringStrategy.Always } },
2262
2304
  onDragStart: handleDragStart,
2263
2305
  onDragOver: handleDragOver,
@@ -18233,8 +18275,14 @@ function isDisplayValue(value) {
18233
18275
  if (typeof value === "string" || typeof value === "boolean") return true;
18234
18276
  return typeof value === "number" && Number.isFinite(value);
18235
18277
  }
18236
- function createDisplayStore(name, defaults, allowed, migrations) {
18237
- const storageKey = (scope) => `workspace:${name}:${scope}:display`;
18278
+ function createDisplayStore(name, defaults, allowed, migrations, options) {
18279
+ const prefix = options?.prefix ?? "workspace";
18280
+ if (prefix === "") {
18281
+ throw new Error(
18282
+ "createDisplayStore: `prefix` cannot be empty \u2014 omit the option to use the default."
18283
+ );
18284
+ }
18285
+ const storageKey = (scope) => `${prefix}:${name}:${scope}:display`;
18238
18286
  function validate(key, input) {
18239
18287
  const fallback = defaults[key];
18240
18288
  const migrate = migrations?.[key];
@@ -25126,6 +25174,10 @@ function authorLabel(author) {
25126
25174
  if (email !== void 0 && email !== "") return email;
25127
25175
  return "Unknown member";
25128
25176
  }
25177
+ var TOMBSTONE = {
25178
+ deleted: { byline: "[deleted]", body: "[deleted]" },
25179
+ moderated: { byline: "[removed]", body: "[removed by an admin]" }
25180
+ };
25129
25181
  function replyCountLabel(count) {
25130
25182
  return `${String(count)} ${count === 1 ? "reply" : "replies"}`;
25131
25183
  }
@@ -25229,7 +25281,8 @@ function CommentItem({
25229
25281
  const collapsed = thread.isCollapsed(node.id);
25230
25282
  const deleted = node.deletedAt != null;
25231
25283
  const state = node.state ?? "sent";
25232
- const label = deleted ? "[deleted]" : authorLabel(node.author);
25284
+ const tombstone = deleted ? TOMBSTONE[node.moderated === true ? "moderated" : "deleted"] : null;
25285
+ const label = tombstone === null ? authorLabel(node.author) : tombstone.byline;
25233
25286
  const descendants = countDescendants(node);
25234
25287
  const atCap = renderDepth >= thread.maxDepth && !continued;
25235
25288
  const { visible, hidden } = thread.visibleReplies(node);
@@ -25410,7 +25463,7 @@ function CommentItem({
25410
25463
  }
25411
25464
  )
25412
25465
  ),
25413
- deleted ? /* @__PURE__ */ jsx("p", { className: "text-[13px] italic", style: { color: "rgb(var(--text-tertiary))" }, children: "[deleted]" }) : /* @__PURE__ */ jsx(
25466
+ tombstone !== null ? /* @__PURE__ */ jsx("p", { className: "text-[13px] italic", style: { color: "rgb(var(--text-tertiary))" }, children: tombstone.body }) : /* @__PURE__ */ jsx(
25414
25467
  CommentBody,
25415
25468
  {
25416
25469
  bodyMd: node.bodyMd,
@@ -26219,6 +26272,11 @@ function ActivityPane({
26219
26272
  onDraftChange,
26220
26273
  onSubmit,
26221
26274
  onReply,
26275
+ onReact,
26276
+ onEdit,
26277
+ onDelete,
26278
+ onRetry,
26279
+ onHideLinkPreview,
26222
26280
  sending = false,
26223
26281
  composerAvatar,
26224
26282
  composerPlaceholder = "Add a comment\u2026",
@@ -26318,11 +26376,18 @@ function ActivityPane({
26318
26376
  (item) => item.kind === "comment" ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
26319
26377
  FeedLine,
26320
26378
  {
26321
- author: item.comment.author ?? null,
26379
+ author: item.comment.deletedAt === null || item.comment.deletedAt === void 0 ? item.comment.author ?? null : null,
26322
26380
  at: item.at,
26323
26381
  now: clock,
26324
26382
  locale,
26325
- body: item.comment.deletedAt === null || item.comment.deletedAt === void 0 ? /* @__PURE__ */ jsx(CommentBody, { bodyMd: item.comment.bodyMd }) : /* @__PURE__ */ jsx("span", { style: { color: "rgb(var(--text-tertiary))" }, children: "Comment deleted" }),
26383
+ body: item.comment.deletedAt === null || item.comment.deletedAt === void 0 ? /* @__PURE__ */ jsx(CommentBody, { bodyMd: item.comment.bodyMd }) : (
26384
+ // The feed's register, not the thread's: a line in a
26385
+ // sentence rather than a bracketed placeholder. The
26386
+ // DISTINCTION is the same one, and it has to be, or a
26387
+ // reader gets one answer on Everything and another on
26388
+ // Comments about the same comment (FU-0032).
26389
+ /* @__PURE__ */ jsx("span", { style: { color: "rgb(var(--text-tertiary))" }, children: item.comment.moderated === true ? "Comment removed by an admin" : "Comment deleted" })
26390
+ ),
26326
26391
  lead: "commented"
26327
26392
  }
26328
26393
  ) }, `comment-${item.comment.id}`) : /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(ActivityLine, { entry: item.entry, now: clock, locale }) }, `activity-${item.entry.id}`)
@@ -26352,7 +26417,12 @@ function ActivityPane({
26352
26417
  onSubmit: (body, parentId) => {
26353
26418
  if (parentId !== void 0) onReply(body, parentId);
26354
26419
  }
26355
- }
26420
+ },
26421
+ ...onReact === void 0 ? {} : { onReact },
26422
+ ...onEdit === void 0 ? {} : { onEdit },
26423
+ ...onDelete === void 0 ? {} : { onDelete },
26424
+ ...onRetry === void 0 ? {} : { onRetry },
26425
+ ...onHideLinkPreview === void 0 ? {} : { onHideLinkPreview }
26356
26426
  }
26357
26427
  )
26358
26428
  }
@@ -26510,6 +26580,6 @@ function Value({ children }) {
26510
26580
  return /* @__PURE__ */ jsx("span", { className: "font-medium", style: { color: "rgb(var(--foreground))" }, children });
26511
26581
  }
26512
26582
 
26513
- export { AVATAR_TINTS, AccordionCompound as Accordion, ActivityPane, AllocationSparkbar, AppScroll, AreaChart, Avatar, AvatarGroup, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, BarChart, Board, BoardColumn, BrandFacebook, BrandIcon, BrandInstagram, BrandLinkedIn, BrandLogoTile, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, ButtonGroup, COLUMN_DATA_TYPES, CalculatorShell, CalculatorShellV2, card_default as Card, ChartFrame, ChartLegend, ChartTooltip, Checkbox, ChipNav, ChipToggleGroup, Choropleth, CollapsedReplies, CollapsibleCard, Combobox2 as Combobox, CommentActions, CommentItem, CommentVote, CompletionRing, CopyField, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, DataGridColumnOptionsMenu, DataGridDragOverlay, DataGridDropIndicator, DataGridToolbar, DeltaChip, DetailDivider, DetailHeader, DetailMenu, DetailSection, DetailSurface, DeviceFrame, DisplayPopover, DonutChart, DragHandle, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EmptyPlaceholder, EmptyState, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, FieldList, FieldRow2 as FieldRow, FieldValueButton, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, FilterChipBar, FilterDropdown, FilterMenu, FloatingDrawer, FloatingStatusBar, FolderCard, FolderTreePicker, FrameStack, GaugeRing, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, LineChart, LineIcon, LinkPreview, ListItem, ListboxOption, MenuButton, MetaCell, meta_previews_exports as MetaPreviews, MetricCard, MicrosoftLogo, modal_default as Modal, MultiSortableList, OTHER_SLOT_COLOR, OptionRow, OptionTile, OptionTileGroup, PLACEMENT_CONFIGS, PageHeaderHost, PageHeaderSlotProvider, PageHero, page_shell_default as PageShell, Pagination, PillButton, PopoverFooterActions, profile_section_default as ProfileSection, ProgressBar, ProgressLedger, REACTION_META, Radio, RadioGroup, RangeSlider, RankedBars, ReactionBar, RelativeTime, ResizableHandle, ResizablePane, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, SearchBar, SectionHeading, SectionLabel, SegmentedPill, Select2 as Select, SelectRow, Shell2 as Shell, ShellStat, Slider, SortableDropZone, SortableItem, SortableList, SortableTable, Sparkline, StatCard, StatRow, StatStrip, StatsGrid, StatusGlyph, StatusRing, StepLoader, THREAD_REACTION_KEYS, Tabs, TagChipInput, TagRow, TaskCard, TextInput, Textarea, TextareaInput, Thread, ThreadConnector, ThreadRail, ThreadTrunkSegment, Toaster, ToggleRow, TokenBadge, Tooltip, ValueChip, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials2 as initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useBreadcrumbHome, useFieldRowVisible, useFileUpload, useNowTick, useThread, wcagBadges, withMinimumArc };
26583
+ export { AVATAR_TINTS, AccordionCompound as Accordion, ActivityPane, AllocationSparkbar, AppScroll, AreaChart, Avatar, AvatarGroup, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, BarChart, Board, BoardColumn, BrandFacebook, BrandIcon, BrandInstagram, BrandLinkedIn, BrandLogoTile, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, ButtonGroup, COLUMN_DATA_TYPES, CalculatorShell, CalculatorShellV2, card_default as Card, ChartFrame, ChartLegend, ChartTooltip, Checkbox, ChipNav, ChipToggleGroup, Choropleth, CollapsedReplies, CollapsibleCard, Combobox2 as Combobox, CommentActions, CommentItem, CommentVote, CompletionRing, CopyField, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, DataGridColumnOptionsMenu, DataGridDragOverlay, DataGridDropIndicator, DataGridToolbar, DeltaChip, DetailDivider, DetailHeader, DetailMenu, DetailSection, DetailSurface, DeviceFrame, DisplayPopover, DonutChart, DragHandle, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EmptyPlaceholder, EmptyState, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, FieldList, FieldRow2 as FieldRow, FieldValueButton, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, FilterChipBar, FilterDropdown, FilterMenu, FloatingDrawer, FloatingStatusBar, FolderCard, FolderTreePicker, FrameStack, GaugeRing, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, LineChart, LineIcon, LinkPreview, ListItem, ListboxOption, MenuButton, MetaCell, meta_previews_exports as MetaPreviews, MetricCard, MicrosoftLogo, modal_default as Modal, MultiSortableList, OTHER_SLOT_COLOR, OptionRow, OptionTile, OptionTileGroup, PLACEMENT_CONFIGS, PREVIEW_SETTLE_MS, PageHeaderHost, PageHeaderSlotProvider, PageHero, page_shell_default as PageShell, Pagination, PillButton, PopoverFooterActions, profile_section_default as ProfileSection, ProgressBar, ProgressLedger, REACTION_META, Radio, RadioGroup, RangeSlider, RankedBars, ReactionBar, RelativeTime, ResizableHandle, ResizablePane, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, SearchBar, SectionHeading, SectionLabel, SegmentedPill, Select2 as Select, SelectRow, Shell2 as Shell, ShellStat, Slider, SortableDropZone, SortableItem, SortableList, SortableTable, Sparkline, StatCard, StatRow, StatStrip, StatsGrid, StatusGlyph, StatusRing, StepLoader, THREAD_REACTION_KEYS, Tabs, TagChipInput, TagRow, TaskCard, TextInput, Textarea, TextareaInput, Thread, ThreadConnector, ThreadRail, ThreadTrunkSegment, Toaster, ToggleRow, TokenBadge, Tooltip, ValueChip, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials2 as initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, pointerFirstCollision, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useBreadcrumbHome, useFieldRowVisible, useFileUpload, useNowTick, useThread, wcagBadges, withMinimumArc };
26514
26584
  //# sourceMappingURL=index.js.map
26515
26585
  //# sourceMappingURL=index.js.map