@lovett/ui 0.1.0 → 0.2.3

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.js CHANGED
@@ -1,5 +1,5 @@
1
- import { cn, composeRefs, useAnchoredPosition, useLayer, useOutsideClick, POPOVER_SURFACE_STYLE, __export, Input, Popover, handleTabTrap, Button, Kbd, usePrefersReducedMotion, QUIET_ICON_BOX, QUIET_ICON, RichThreadComposer, ThreadComposer, CommentBody, tabbablesWithin, AttachmentImage, AttachmentGif } from './chunk-RBYWGBQ2.js';
2
- export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AttachmentButton, AttachmentDropZone, AttachmentGif, AttachmentImage, AttachmentLightbox, AttachmentPlaceholder, AttachmentTray, Button, CodeBlock, CommentBody, GIF_SEARCH_DEBOUNCE_MS, GifPicker, Input, Kbd, MarkdownCode, MarkdownRenderer, PASTE_ATTACHMENT_THRESHOLD, POPOVER_SURFACE_STYLE, Popover, RichThreadComposer, ThreadComposer, applyMarkdownFormat, cn, computeAnchoredPosition, formatAttachmentSize, parseMentionHref, pastedTextFilename, shouldAttachPaste, useAnchoredPosition, useAttachmentUrl, useAttachments, useEscapeKey, useLayer, useOutsideClick, usePrefersReducedMotion } from './chunk-RBYWGBQ2.js';
1
+ import { cn, composeRefs, useAnchoredPosition, useLayer, useOutsideClick, POPOVER_SURFACE_STYLE, __export, Input, Popover, handleTabTrap, Button, Kbd, usePrefersReducedMotion, QUIET_ICON_BOX, QUIET_ICON, RichThreadComposer, ThreadComposer, CommentBody, tabbablesWithin, AttachmentImage, AttachmentGif } from './chunk-GP7BKVZC.js';
2
+ export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AttachmentButton, AttachmentDropZone, AttachmentGif, AttachmentImage, AttachmentLightbox, AttachmentPlaceholder, AttachmentTray, Button, CodeBlock, CommentBody, GIF_SEARCH_DEBOUNCE_MS, GifPicker, Input, Kbd, MarkdownCode, MarkdownRenderer, PASTE_ATTACHMENT_THRESHOLD, POPOVER_SURFACE_STYLE, Popover, RichThreadComposer, ThreadComposer, applyMarkdownFormat, cn, computeAnchoredPosition, formatAttachmentSize, parseMentionHref, pastedTextFilename, shouldAttachPaste, useAnchoredPosition, useAttachmentUrl, useAttachments, useEscapeKey, useLayer, useOutsideClick, usePrefersReducedMotion } from './chunk-GP7BKVZC.js';
3
3
  import React2, { forwardRef, Children, isValidElement, createContext, useContext, useId, useRef, useEffect, useMemo, useCallback, useState, useLayoutEffect, memo, useSyncExternalStore, cloneElement, Fragment as Fragment$1 } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { Minus, Check, ChevronDown, X, Loader2, Play, VolumeX, Volume2, ChevronUp, Link2, ChevronLeft, MoreHorizontal, ThumbsUp as ThumbsUp$1, MessageCircle, Share2, Search, Plus, ChevronRight, CircleX, CircleCheck, CircleSlash, CircleDotDashed, Circle, CircleDashed, Pencil, House, GripVertical, Folder, Flag, ImageOff, ChevronsUpDown, SlidersHorizontal, Copy, FolderClosed, FolderPlus, Paperclip, Upload, Image, Code, Table as Table$1, FileText, FileType, AlertCircle, RotateCcw, ArrowRight, ListFilter, ArrowLeft, ArrowDown, ArrowUp, Info, ChartLine, Table2, Inbox, TriangleAlert, ChevronsLeft, ChevronsUp, ChevronsRight, ChevronsDown, Star, Settings2, CornerDownRight, Trash2, SmilePlus, ArrowBigUp, ArrowBigDown, ExternalLink, RotateCw, MessageSquare, Lock, PanelRight, SquareDashed, Maximize2, Archive, Printer, Repeat2, CornerUpRight } from 'lucide-react';
@@ -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];
@@ -24381,7 +24429,8 @@ var CHIP_BASE = cn(
24381
24429
  "inline-flex items-center justify-center gap-[var(--space-1)] border px-[var(--space-2)] text-[12px] font-semibold tabular-nums",
24382
24430
  "transition-[background-color,border-color,color,box-shadow,transform] duration-[var(--dur-fast)] ease-[var(--ease-out)]",
24383
24431
  "motion-reduce:transition-none",
24384
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
24432
+ // INSET: chips sit inside clipping ancestors on both hosts.
24433
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
24385
24434
  "active:scale-[0.96] motion-reduce:active:scale-100",
24386
24435
  "disabled:cursor-not-allowed disabled:opacity-60"
24387
24436
  );
@@ -25126,6 +25175,10 @@ function authorLabel(author) {
25126
25175
  if (email !== void 0 && email !== "") return email;
25127
25176
  return "Unknown member";
25128
25177
  }
25178
+ var TOMBSTONE = {
25179
+ deleted: { byline: "[deleted]", body: "[deleted]" },
25180
+ moderated: { byline: "[removed]", body: "[removed by an admin]" }
25181
+ };
25129
25182
  function replyCountLabel(count) {
25130
25183
  return `${String(count)} ${count === 1 ? "reply" : "replies"}`;
25131
25184
  }
@@ -25229,7 +25282,8 @@ function CommentItem({
25229
25282
  const collapsed = thread.isCollapsed(node.id);
25230
25283
  const deleted = node.deletedAt != null;
25231
25284
  const state = node.state ?? "sent";
25232
- const label = deleted ? "[deleted]" : authorLabel(node.author);
25285
+ const tombstone = deleted ? TOMBSTONE[node.moderated === true ? "moderated" : "deleted"] : null;
25286
+ const label = tombstone === null ? authorLabel(node.author) : tombstone.byline;
25233
25287
  const descendants = countDescendants(node);
25234
25288
  const atCap = renderDepth >= thread.maxDepth && !continued;
25235
25289
  const { visible, hidden } = thread.visibleReplies(node);
@@ -25241,6 +25295,8 @@ function CommentItem({
25241
25295
  const author = node.author ?? null;
25242
25296
  const tint = asAvatarTint(author?.tint);
25243
25297
  const canEngage = !deleted && state === "sent";
25298
+ const canEdit = ctx.onEdit !== void 0 && !deleted && node.canEdit !== false;
25299
+ const canDelete = ctx.onDelete !== void 0 && !deleted && node.canDelete !== false;
25244
25300
  const indentClampDepth = ctx.indentClampDepth ?? DEFAULT_INDENT_CLAMP_DEPTH;
25245
25301
  const connected = renderDepth > 0;
25246
25302
  const clamped = renderDepth > indentClampDepth;
@@ -25375,12 +25431,12 @@ function CommentItem({
25375
25431
  ctx.onCopyLink?.(node.id);
25376
25432
  }
25377
25433
  },
25378
- ...ctx.onEdit === void 0 || deleted ? {} : {
25434
+ ...!canEdit ? {} : {
25379
25435
  onEdit: () => {
25380
25436
  ctx.onEdit?.(node.id);
25381
25437
  }
25382
25438
  },
25383
- ...ctx.onDelete === void 0 || deleted ? {} : {
25439
+ ...!canDelete ? {} : {
25384
25440
  onDelete: () => {
25385
25441
  ctx.onDelete?.(node.id);
25386
25442
  }
@@ -25410,7 +25466,7 @@ function CommentItem({
25410
25466
  }
25411
25467
  )
25412
25468
  ),
25413
- deleted ? /* @__PURE__ */ jsx("p", { className: "text-[13px] italic", style: { color: "rgb(var(--text-tertiary))" }, children: "[deleted]" }) : /* @__PURE__ */ jsx(
25469
+ tombstone !== null ? /* @__PURE__ */ jsx("p", { className: "text-[13px] italic", style: { color: "rgb(var(--text-tertiary))" }, children: tombstone.body }) : /* @__PURE__ */ jsx(
25414
25470
  CommentBody,
25415
25471
  {
25416
25472
  bodyMd: node.bodyMd,
@@ -26219,6 +26275,11 @@ function ActivityPane({
26219
26275
  onDraftChange,
26220
26276
  onSubmit,
26221
26277
  onReply,
26278
+ onReact,
26279
+ onEdit,
26280
+ onDelete,
26281
+ onRetry,
26282
+ onHideLinkPreview,
26222
26283
  sending = false,
26223
26284
  composerAvatar,
26224
26285
  composerPlaceholder = "Add a comment\u2026",
@@ -26318,11 +26379,18 @@ function ActivityPane({
26318
26379
  (item) => item.kind === "comment" ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
26319
26380
  FeedLine,
26320
26381
  {
26321
- author: item.comment.author ?? null,
26382
+ author: item.comment.deletedAt === null || item.comment.deletedAt === void 0 ? item.comment.author ?? null : null,
26322
26383
  at: item.at,
26323
26384
  now: clock,
26324
26385
  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" }),
26386
+ body: item.comment.deletedAt === null || item.comment.deletedAt === void 0 ? /* @__PURE__ */ jsx(CommentBody, { bodyMd: item.comment.bodyMd }) : (
26387
+ // The feed's register, not the thread's: a line in a
26388
+ // sentence rather than a bracketed placeholder. The
26389
+ // DISTINCTION is the same one, and it has to be, or a
26390
+ // reader gets one answer on Everything and another on
26391
+ // Comments about the same comment (FU-0032).
26392
+ /* @__PURE__ */ jsx("span", { style: { color: "rgb(var(--text-tertiary))" }, children: item.comment.moderated === true ? "Comment removed by an admin" : "Comment deleted" })
26393
+ ),
26326
26394
  lead: "commented"
26327
26395
  }
26328
26396
  ) }, `comment-${item.comment.id}`) : /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(ActivityLine, { entry: item.entry, now: clock, locale }) }, `activity-${item.entry.id}`)
@@ -26352,7 +26420,12 @@ function ActivityPane({
26352
26420
  onSubmit: (body, parentId) => {
26353
26421
  if (parentId !== void 0) onReply(body, parentId);
26354
26422
  }
26355
- }
26423
+ },
26424
+ ...onReact === void 0 ? {} : { onReact },
26425
+ ...onEdit === void 0 ? {} : { onEdit },
26426
+ ...onDelete === void 0 ? {} : { onDelete },
26427
+ ...onRetry === void 0 ? {} : { onRetry },
26428
+ ...onHideLinkPreview === void 0 ? {} : { onHideLinkPreview }
26356
26429
  }
26357
26430
  )
26358
26431
  }
@@ -26510,6 +26583,6 @@ function Value({ children }) {
26510
26583
  return /* @__PURE__ */ jsx("span", { className: "font-medium", style: { color: "rgb(var(--foreground))" }, children });
26511
26584
  }
26512
26585
 
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 };
26586
+ 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
26587
  //# sourceMappingURL=index.js.map
26515
26588
  //# sourceMappingURL=index.js.map