@lovett/ui 0.2.5 → 0.2.7

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
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import react__default, { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, RefObject, ComponentProps, ComponentType, RefAttributes, ReactElement, Ref, FormHTMLAttributes, FormEvent } from 'react';
3
+ import react__default, { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, ComponentType, SVGProps, AnchorHTMLAttributes, RefObject, ComponentProps, RefAttributes, ReactElement, Ref, FormHTMLAttributes, FormEvent } from 'react';
4
4
  import { Toaster as Toaster$1 } from 'sonner';
5
5
  export { toast } from 'sonner';
6
6
  import { CollisionDetection, DndContext, DragEndEvent } from '@dnd-kit/core';
@@ -529,6 +529,50 @@ interface ChipNavProps {
529
529
  }
530
530
  declare function ChipNav({ items, scrollContainer, stickyTop, scrollOffset, actions, className, style, surface, activeId: activeIdProp, onItemClick, position, density, }: ChipNavProps): react_jsx_runtime.JSX.Element;
531
531
 
532
+ /** A Lucide icon, or anything with the same signature. */
533
+ type SidebarIcon = ComponentType<SVGProps<SVGSVGElement>>;
534
+ interface SidebarNavProps extends HTMLAttributes<HTMLElement> {
535
+ /** Icon-only rail. Items show a title; groups open a flyout. */
536
+ collapsed?: boolean;
537
+ children: ReactNode;
538
+ }
539
+ declare function SidebarNavRoot({ collapsed, className, children, ...rest }: SidebarNavProps): react_jsx_runtime.JSX.Element;
540
+ interface SidebarNavItemProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {
541
+ icon: SidebarIcon;
542
+ label: string;
543
+ /** The current destination. Rendered as `aria-current="page"`. */
544
+ active?: boolean;
545
+ /** A small trailing tag — "Beta", a count. Hidden when collapsed. */
546
+ badge?: ReactNode;
547
+ /**
548
+ * Render the single child element as the row instead of an `<a>`. The child
549
+ * receives the className, `aria-current` and the composed row content. It
550
+ * must be a link or keyboard-operable on its own.
551
+ */
552
+ asChild?: boolean;
553
+ children?: ReactNode;
554
+ }
555
+ declare function SidebarNavItem({ icon, label, active, badge, asChild, className, children, ...rest }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
556
+ interface SidebarNavGroupProps {
557
+ /** Stable id — the body's DOM id derives from it. */
558
+ id: string;
559
+ icon: SidebarIcon;
560
+ label: string;
561
+ /** True when a child is the current destination. */
562
+ active?: boolean;
563
+ /** Controlled open state. Omit for internal state. */
564
+ open?: boolean;
565
+ defaultOpen?: boolean;
566
+ onToggle?: (open: boolean) => void;
567
+ badge?: ReactNode;
568
+ children: ReactNode;
569
+ }
570
+ declare function SidebarNavGroup({ id, icon, label, active, open: controlledOpen, defaultOpen, onToggle, badge, children, }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
571
+ declare const SidebarNav: typeof SidebarNavRoot & {
572
+ Item: typeof SidebarNavItem;
573
+ Group: typeof SidebarNavGroup;
574
+ };
575
+
532
576
  interface CompletionRingProps {
533
577
  /** 0–100. Values outside the range are clamped. */
534
578
  percent: number;
@@ -7368,6 +7412,24 @@ declare function CommentBody({ bodyMd, onSelectMention, className }: CommentBody
7368
7412
  */
7369
7413
  declare const THREAD_REACTION_KEYS: readonly ["up", "heart", "celebrate", "eyes", "check", "question"];
7370
7414
  type ThreadReactionKey = (typeof THREAD_REACTION_KEYS)[number];
7415
+ /**
7416
+ * FOCUS RINGS IN THIS MODULE ARE INSET. All of them, without exception.
7417
+ *
7418
+ * Not a preference — a consequence of where this module renders. `comment.tsx`
7419
+ * wraps the whole reply subtree in the `overflow-hidden` that its grid-rows
7420
+ * reveal requires; `Card` clips by default; a thread lives in a scroll
7421
+ * container. An OUTSET `box-shadow` ring is clipped by any of those, and a
7422
+ * clipped focus ring does not degrade — it DISAPPEARS, which is a WCAG 2.4.7
7423
+ * failure rather than a cosmetic one.
7424
+ *
7425
+ * So: `var(--ring-focus-inset)` on every focusable thing in `src/thread/`, and
7426
+ * `var(--ring-focus)` is a bug here. It was found the slow way — the owner
7427
+ * reported the reply composer clipped, that one was fixed, and switching to the
7428
+ * rich editor clipped the next one. Fourteen more were waiting. Fixing them by
7429
+ * report is a queue with no end; the rule is the fix.
7430
+ *
7431
+ * Outside this module the outset ring is still correct and still the default.
7432
+ */
7371
7433
  /** One reaction row as the API groups it: key, tally, and the viewer's own state. */
7372
7434
  interface ThreadReactionCount {
7373
7435
  readonly key: ThreadReactionKey;
@@ -8974,4 +9036,4 @@ declare function sortCommentTree(roots: readonly CommentNode[], sort: ThreadSort
8974
9036
  */
8975
9037
  declare function useNowTick(enabled: boolean): number;
8976
9038
 
8977
- 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 };
9039
+ 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, type SidebarIcon, SidebarNav, type SidebarNavGroupProps, type SidebarNavItemProps, type SidebarNavProps, 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
@@ -1,6 +1,6 @@
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
- import React2, { forwardRef, Children, isValidElement, createContext, useContext, useId, useRef, useEffect, useMemo, useCallback, useState, useLayoutEffect, memo, useSyncExternalStore, cloneElement, Fragment as Fragment$1 } from 'react';
1
+ import { cn, composeRefs, useAnchoredPosition, useLayer, useOutsideClick, POPOVER_SURFACE_STYLE, __export, Popover, Input, handleTabTrap, Button, Kbd, usePrefersReducedMotion, QUIET_ICON_BOX, QUIET_ICON, RichThreadComposer, ThreadComposer, CommentBody, tabbablesWithin, AttachmentImage, AttachmentGif } from './chunk-6XT32ETQ.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-6XT32ETQ.js';
3
+ import React2, { forwardRef, Children, isValidElement, createContext, useContext, useId, useRef, useEffect, useMemo, useCallback, useState, useLayoutEffect, memo, cloneElement, useSyncExternalStore, 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';
6
6
  import { createPortal } from 'react-dom';
@@ -1326,6 +1326,179 @@ function ChipNav({
1326
1326
  }
1327
1327
  );
1328
1328
  }
1329
+ var Ctx = createContext({ collapsed: false, nested: false });
1330
+ function SidebarNavRoot({ collapsed = false, className, children, ...rest }) {
1331
+ return /* @__PURE__ */ jsx(Ctx.Provider, { value: { collapsed, nested: false }, children: /* @__PURE__ */ jsx("nav", { className: cn("flex flex-col gap-0.5", className), ...rest, children }) });
1332
+ }
1333
+ var ROW_BASE = "relative flex h-9 w-full items-center gap-3 rounded-[var(--radius-md)] px-2.5 text-left text-sm font-medium outline-none transition-colors focus-visible:[box-shadow:var(--ring-focus)]";
1334
+ var ROW_REST = "text-[rgb(var(--sidebar-text))] hover:bg-[rgb(var(--sidebar-surface-hover))] hover:text-[rgb(var(--sidebar-text-bright))]";
1335
+ var ROW_ACTIVE = "bg-[rgb(var(--sidebar-surface-active))] text-[rgb(var(--sidebar-text-bright))]";
1336
+ function ActiveBar() {
1337
+ return /* @__PURE__ */ jsx(
1338
+ "span",
1339
+ {
1340
+ "aria-hidden": "true",
1341
+ className: "absolute left-0 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-[rgb(var(--accent))]"
1342
+ }
1343
+ );
1344
+ }
1345
+ function RowIcon({ icon: Icon }) {
1346
+ return /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" });
1347
+ }
1348
+ function RowBadge({ children }) {
1349
+ return /* @__PURE__ */ jsx("span", { className: "rounded-full bg-[rgb(var(--accent))]/15 px-1.5 py-0.5 text-[10px] font-semibold text-[rgb(var(--accent))]", children });
1350
+ }
1351
+ function SidebarNavItem({
1352
+ icon,
1353
+ label,
1354
+ active = false,
1355
+ badge,
1356
+ asChild,
1357
+ className,
1358
+ children,
1359
+ ...rest
1360
+ }) {
1361
+ const { collapsed, nested } = useContext(Ctx);
1362
+ const rowClass = cn(
1363
+ ROW_BASE,
1364
+ active ? ROW_ACTIVE : ROW_REST,
1365
+ collapsed && "justify-center px-0",
1366
+ nested && !collapsed && "h-8 pl-[2.375rem] text-[13px]",
1367
+ className
1368
+ );
1369
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
1370
+ active && !nested && /* @__PURE__ */ jsx(ActiveBar, {}),
1371
+ (!nested || collapsed) && /* @__PURE__ */ jsx(RowIcon, { icon }),
1372
+ nested && !collapsed && // The connector: a dot on the group's rail, filled when active.
1373
+ /* @__PURE__ */ jsx(
1374
+ "span",
1375
+ {
1376
+ "aria-hidden": "true",
1377
+ className: cn(
1378
+ "absolute left-[1.0625rem] top-1/2 h-1.5 w-1.5 -translate-x-1/2 -translate-y-1/2 rounded-full transition-colors",
1379
+ active ? "bg-[rgb(var(--accent))]" : "bg-[rgb(var(--sidebar-rail))]"
1380
+ )
1381
+ }
1382
+ ),
1383
+ !collapsed && /* @__PURE__ */ jsx("span", { className: "flex-1 truncate", children: label }),
1384
+ !collapsed && badge !== void 0 && badge !== null && /* @__PURE__ */ jsxs(Fragment, { children: [
1385
+ " ",
1386
+ /* @__PURE__ */ jsx(RowBadge, { children: badge })
1387
+ ] })
1388
+ ] });
1389
+ const shared = {
1390
+ className: rowClass,
1391
+ "aria-current": active ? "page" : void 0,
1392
+ title: collapsed ? label : void 0
1393
+ };
1394
+ if (asChild) {
1395
+ if (!isValidElement(children)) {
1396
+ throw new Error("SidebarNav.Item with `asChild` expects exactly one element child.");
1397
+ }
1398
+ const child = children;
1399
+ return cloneElement(child, {
1400
+ ...shared,
1401
+ className: cn(child.props.className, rowClass),
1402
+ children: content
1403
+ });
1404
+ }
1405
+ return /* @__PURE__ */ jsx("a", { ...rest, ...shared, children: content });
1406
+ }
1407
+ function SidebarNavGroup({
1408
+ id,
1409
+ icon,
1410
+ label,
1411
+ active = false,
1412
+ open: controlledOpen,
1413
+ defaultOpen = false,
1414
+ onToggle,
1415
+ badge,
1416
+ children
1417
+ }) {
1418
+ const { collapsed } = useContext(Ctx);
1419
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
1420
+ const open = controlledOpen ?? uncontrolledOpen;
1421
+ const setOpen = (next) => {
1422
+ if (controlledOpen === void 0) setUncontrolledOpen(next);
1423
+ onToggle?.(next);
1424
+ };
1425
+ const reactId = useId();
1426
+ const bodyId = `sidebar-group-${id}-${reactId}`;
1427
+ const labelId = `${bodyId}-label`;
1428
+ if (collapsed) {
1429
+ return /* @__PURE__ */ jsxs(Popover, { children: [
1430
+ /* @__PURE__ */ jsx(Popover.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
1431
+ "button",
1432
+ {
1433
+ type: "button",
1434
+ title: label,
1435
+ className: cn(ROW_BASE, "justify-center px-0", active ? ROW_ACTIVE : ROW_REST),
1436
+ children: [
1437
+ active && /* @__PURE__ */ jsx(ActiveBar, {}),
1438
+ /* @__PURE__ */ jsx(RowIcon, { icon })
1439
+ ]
1440
+ }
1441
+ ) }),
1442
+ /* @__PURE__ */ jsx(Popover.Content, { side: "right", align: "start", offset: 8, "aria-label": label, className: "min-w-[13rem] p-1.5", children: /* @__PURE__ */ jsxs(Ctx.Provider, { value: { collapsed: false, nested: false }, children: [
1443
+ /* @__PURE__ */ jsx(
1444
+ "p",
1445
+ {
1446
+ id: labelId,
1447
+ className: "px-2.5 pb-1 pt-1 text-[11px] font-semibold text-[rgb(var(--text-tertiary))]",
1448
+ children: label
1449
+ }
1450
+ ),
1451
+ /* @__PURE__ */ jsx("div", { role: "group", "aria-labelledby": labelId, className: "flex flex-col gap-0.5", children })
1452
+ ] }) })
1453
+ ] });
1454
+ }
1455
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
1456
+ /* @__PURE__ */ jsxs(
1457
+ "button",
1458
+ {
1459
+ type: "button",
1460
+ onClick: () => setOpen(!open),
1461
+ "aria-expanded": open,
1462
+ "aria-controls": bodyId,
1463
+ id: labelId,
1464
+ className: cn(ROW_BASE, active && !open ? ROW_ACTIVE : ROW_REST),
1465
+ children: [
1466
+ active && !open && /* @__PURE__ */ jsx(ActiveBar, {}),
1467
+ /* @__PURE__ */ jsx(RowIcon, { icon }),
1468
+ /* @__PURE__ */ jsx("span", { id: `${labelId}-text`, className: "flex-1 truncate", children: label }),
1469
+ badge !== void 0 && badge !== null && /* @__PURE__ */ jsxs(Fragment, { children: [
1470
+ " ",
1471
+ /* @__PURE__ */ jsx(RowBadge, { children: badge })
1472
+ ] }),
1473
+ /* @__PURE__ */ jsx(
1474
+ ChevronDown,
1475
+ {
1476
+ "aria-hidden": "true",
1477
+ className: "h-3.5 w-3.5 shrink-0 text-[rgb(var(--sidebar-text-dim))] transition-transform duration-150 ease-out motion-reduce:transition-none",
1478
+ style: { transform: open ? "rotate(180deg)" : "rotate(0deg)" }
1479
+ }
1480
+ )
1481
+ ]
1482
+ }
1483
+ ),
1484
+ /* @__PURE__ */ jsx("div", { className: "ds-sidebar-group-body", "data-open": open ? "true" : "false", children: /* @__PURE__ */ jsx("div", { className: "min-h-0 overflow-hidden", children: /* @__PURE__ */ jsx(Ctx.Provider, { value: { collapsed: false, nested: true }, children: /* @__PURE__ */ jsx(
1485
+ "div",
1486
+ {
1487
+ id: bodyId,
1488
+ role: "group",
1489
+ "aria-labelledby": `${labelId}-text`,
1490
+ className: "relative flex flex-col gap-0.5 py-0.5 before:absolute before:bottom-1 before:left-[1.0625rem] before:top-1 before:w-px before:-translate-x-1/2 before:bg-[rgb(var(--sidebar-rail))]",
1491
+ inert: !open,
1492
+ "aria-hidden": !open,
1493
+ children
1494
+ }
1495
+ ) }) }) })
1496
+ ] });
1497
+ }
1498
+ var SidebarNav = Object.assign(SidebarNavRoot, {
1499
+ Item: SidebarNavItem,
1500
+ Group: SidebarNavGroup
1501
+ });
1329
1502
  function CompletionRing({
1330
1503
  percent,
1331
1504
  size = 30,
@@ -18322,7 +18495,7 @@ function createDisplayStore(name, defaults, allowed, migrations, options) {
18322
18495
  } catch {
18323
18496
  }
18324
18497
  }
18325
- const Ctx = createContext(null);
18498
+ const Ctx2 = createContext(null);
18326
18499
  function Provider({ scope, children }) {
18327
18500
  const [settings, setSettings] = useState(() => read2(scope));
18328
18501
  const previousScope = useRef(scope);
@@ -18359,10 +18532,10 @@ function createDisplayStore(name, defaults, allowed, migrations, options) {
18359
18532
  }),
18360
18533
  [settings, set, reset]
18361
18534
  );
18362
- return /* @__PURE__ */ jsx(Ctx.Provider, { value, children });
18535
+ return /* @__PURE__ */ jsx(Ctx2.Provider, { value, children });
18363
18536
  }
18364
18537
  function useDisplay() {
18365
- const ctx = useContext(Ctx);
18538
+ const ctx = useContext(Ctx2);
18366
18539
  if (!ctx) {
18367
18540
  throw new Error(
18368
18541
  `[display-store] useDisplay for "${name}" must be called inside its Provider. Rendering with silent defaults would show a view the display panel is not actually editing.`
@@ -24289,7 +24462,7 @@ var QUIET = cn(
24289
24462
  "transition-[background-color,color] duration-[var(--dur-fast)] ease-[var(--ease-out)]",
24290
24463
  "motion-reduce:transition-none",
24291
24464
  "hover:bg-[rgb(var(--surface-overlay))] hover:text-[rgb(var(--foreground))]",
24292
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
24465
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
24293
24466
  "disabled:cursor-default disabled:opacity-60"
24294
24467
  );
24295
24468
  var QUIET_BOX = {
@@ -24590,7 +24763,7 @@ function CommentVote({
24590
24763
  "inline-flex items-center justify-center border border-transparent",
24591
24764
  "transition-[color,background-color,transform] duration-[var(--dur-fast)] ease-[var(--ease-out)]",
24592
24765
  "motion-reduce:transition-none",
24593
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
24766
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
24594
24767
  "active:scale-[0.96] motion-reduce:active:scale-100",
24595
24768
  "disabled:cursor-not-allowed disabled:opacity-60",
24596
24769
  active ? "text-[rgb(var(--accent-ink))]" : "text-[rgb(var(--text-tertiary))] hover:bg-[rgb(var(--surface-hover))] hover:text-[rgb(var(--foreground))]"
@@ -24835,7 +25008,7 @@ function LinkPreview({ preview, onHide, className }) {
24835
25008
  onClick: () => {
24836
25009
  setPlaying(true);
24837
25010
  },
24838
- className: "absolute inset-0 flex items-center justify-center focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
25011
+ className: "absolute inset-0 flex items-center justify-center focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
24839
25012
  style: {
24840
25013
  // diag:contrast-ok — this scrim sits on a PHOTOGRAPH, which
24841
25014
  // is the one thing check-contrast says it cannot see:
@@ -24870,7 +25043,7 @@ function LinkPreview({ preview, onHide, className }) {
24870
25043
  rel: "noopener noreferrer",
24871
25044
  className: cn(
24872
25045
  "group/link block min-w-0 flex-1 no-underline",
24873
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]"
25046
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]"
24874
25047
  ),
24875
25048
  style: { borderRadius: "var(--radius-xs)" },
24876
25049
  children: [
@@ -24980,7 +25153,7 @@ function ThreadRail({ collapsed, label, onToggle }) {
24980
25153
  "motion-reduce:transition-none",
24981
25154
  "group-hover/rail:border-[rgb(var(--border-strong))] group-hover/rail:text-[rgb(var(--foreground))]",
24982
25155
  "group-focus-visible/rail:border-[rgb(var(--accent))] group-focus-visible/rail:text-[rgb(var(--accent-ink))]",
24983
- "group-focus-visible/rail:[box-shadow:var(--ring-focus)]",
25156
+ "group-focus-visible/rail:[box-shadow:var(--ring-focus-inset)]",
24984
25157
  "group-active/rail:scale-[0.96] motion-reduce:group-active/rail:scale-100"
24985
25158
  ),
24986
25159
  style: {
@@ -25112,7 +25285,7 @@ function CollapsedReplies({
25112
25285
  "transition-[background-color,border-color,color] duration-[var(--dur-fast)] ease-[var(--ease-out)]",
25113
25286
  "motion-reduce:transition-none",
25114
25287
  "hover:border-[rgb(var(--border-strong))] hover:bg-[rgb(var(--surface-hover))] hover:text-[rgb(var(--foreground))]",
25115
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]"
25288
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]"
25116
25289
  ),
25117
25290
  style: { minBlockSize: "var(--space-6)", borderRadius: "var(--radius-sm)" },
25118
25291
  children: [
@@ -25229,7 +25402,7 @@ function Attachments({
25229
25402
  "border-[rgb(var(--border))] bg-[rgb(var(--surface-inset))] text-[rgb(var(--text-secondary))]",
25230
25403
  "transition-[background-color,border-color] duration-[var(--dur-fast)] ease-[var(--ease-out)] motion-reduce:transition-none",
25231
25404
  "enabled:hover:border-[rgb(var(--border-strong))] enabled:hover:bg-[rgb(var(--surface-hover))]",
25232
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
25405
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
25233
25406
  "disabled:cursor-default"
25234
25407
  ),
25235
25408
  style: { borderRadius: "var(--thread-inner-radius, var(--radius-sm))" },
@@ -25367,7 +25540,7 @@ function CommentItem({
25367
25540
  className: cn(
25368
25541
  "min-w-0 truncate text-[14px] font-semibold text-[rgb(var(--foreground))]",
25369
25542
  "underline-offset-2 hover:underline",
25370
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]"
25543
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]"
25371
25544
  ),
25372
25545
  style: { borderRadius: "var(--radius-xs)" },
25373
25546
  children: label
@@ -25910,7 +26083,7 @@ function SortPills({
25910
26083
  "inline-flex h-[24px] items-center px-[var(--space-2)] text-[12px] font-semibold",
25911
26084
  "transition-[background-color,color,border-color,box-shadow] duration-[var(--dur-fast)] ease-[var(--ease-out)]",
25912
26085
  "motion-reduce:transition-none",
25913
- "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus)]",
26086
+ "focus-visible:outline-none focus-visible:[box-shadow:var(--ring-focus-inset)]",
25914
26087
  active ? "border border-[rgb(var(--accent))] bg-[rgb(var(--surface-card))] text-[rgb(var(--accent-ink))] [box-shadow:var(--shadow-sm)]" : "border border-transparent text-[rgb(var(--text-tertiary))] hover:text-[rgb(var(--foreground))]"
25915
26088
  ),
25916
26089
  style: { borderRadius: "var(--radius-xs)" },
@@ -26583,6 +26756,6 @@ function Value({ children }) {
26583
26756
  return /* @__PURE__ */ jsx("span", { className: "font-medium", style: { color: "rgb(var(--foreground))" }, children });
26584
26757
  }
26585
26758
 
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 };
26759
+ 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, SidebarNav, 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 };
26587
26760
  //# sourceMappingURL=index.js.map
26588
26761
  //# sourceMappingURL=index.js.map