@stll/ui 0.44.1 → 0.46.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.
Files changed (71) hide show
  1. package/README.md +2 -1
  2. package/dist/components/accordion.d.ts +6 -2
  3. package/dist/components/accordion.js +4 -4
  4. package/dist/components/ai-label.d.ts +33 -0
  5. package/dist/components/ai-label.js +42 -0
  6. package/dist/components/alert-dialog.js +3 -2
  7. package/dist/components/animated-count.d.ts +13 -0
  8. package/dist/components/animated-count.js +63 -0
  9. package/dist/components/application-rail.js +1 -1
  10. package/dist/components/brand-icons.d.ts +1 -0
  11. package/dist/components/brand-icons.js +8 -1
  12. package/dist/components/button.d.ts +2 -2
  13. package/dist/components/button.js +12 -2
  14. package/dist/components/command.js +1 -1
  15. package/dist/components/court-badge.d.ts +7 -1
  16. package/dist/components/court-badge.js +13 -3
  17. package/dist/components/date-picker-popover.d.ts +12 -2
  18. package/dist/components/date-picker-popover.js +105 -9
  19. package/dist/components/date-range-filter.d.ts +14 -0
  20. package/dist/components/date-range-filter.js +74 -0
  21. package/dist/components/dialog.js +3 -2
  22. package/dist/components/document-identity-badge.d.ts +12 -0
  23. package/dist/components/document-identity-badge.js +94 -0
  24. package/dist/components/document-identity-badge.logic.d.ts +25 -0
  25. package/dist/components/document-identity-badge.logic.js +25 -0
  26. package/dist/components/input-group.d.ts +1 -1
  27. package/dist/components/input-otp.js +1 -1
  28. package/dist/components/landing.d.ts +1 -1
  29. package/dist/components/landing.js +2 -2
  30. package/dist/components/list.d.ts +8 -2
  31. package/dist/components/list.js +10 -4
  32. package/dist/components/matter-icon.d.ts +16 -0
  33. package/dist/components/matter-icon.js +56 -0
  34. package/dist/components/menu.d.ts +9 -1
  35. package/dist/components/menu.js +6 -6
  36. package/dist/components/outline-rail.d.ts +8 -1
  37. package/dist/components/outline-rail.js +95 -48
  38. package/dist/components/popover.js +1 -1
  39. package/dist/components/search-field.js +30 -34
  40. package/dist/components/select.js +1 -1
  41. package/dist/components/sheet.js +22 -4
  42. package/dist/components/sidebar.d.ts +1 -1
  43. package/dist/components/sidebar.js +8 -8
  44. package/dist/components/status-mark.d.ts +17 -0
  45. package/dist/components/status-mark.js +74 -0
  46. package/dist/components/swap-text.d.ts +16 -0
  47. package/dist/components/swap-text.js +52 -0
  48. package/dist/components/switch.d.ts +5 -0
  49. package/dist/components/switch.js +16 -0
  50. package/dist/components/table-chart.d.ts +20 -0
  51. package/dist/components/table-chart.js +274 -0
  52. package/dist/components/tabs.js +1 -1
  53. package/dist/components/toast.js +42 -25
  54. package/dist/components/workspace-shell.js +5 -4
  55. package/dist/icons.js +1 -2
  56. package/dist/index.d.ts +3 -3
  57. package/dist/index.js +3 -3
  58. package/dist/inspector/dock.js +1 -1
  59. package/dist/inspector/entity-tab.js +1 -2
  60. package/dist/kanban/virtual-cell.js +1 -1
  61. package/dist/lib/control-size.d.ts +1 -1
  62. package/dist/lib/matter-colors.d.ts +38 -0
  63. package/dist/lib/matter-colors.js +65 -0
  64. package/dist/lib/panel-inset.d.ts +11 -0
  65. package/dist/lib/panel-inset.js +33 -0
  66. package/dist/lib/safe-area.d.ts +11 -0
  67. package/dist/lib/safe-area.js +12 -0
  68. package/dist/review/review-word-diff.d.ts +13 -0
  69. package/dist/review/review-word-diff.js +78 -0
  70. package/dist/styles/theme.css +79 -0
  71. package/package.json +64 -8
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import { AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogContent
8
8
  import { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator } from "./components/application-rail.js";
9
9
  import { Avatar, AvatarFallback, AvatarImage } from "./components/avatar.js";
10
10
  import { BidiDirection, BidiText, BidiTextProps, UserText } from "./components/bidi-text.js";
11
- import { DiscordLogoIcon, GitHubLogoIcon } from "./components/brand-icons.js";
11
+ import { DiscordLogoIcon, GitHubLogoIcon, XLogoIcon } from "./components/brand-icons.js";
12
12
  import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/breadcrumb.js";
13
13
  import { Button, buttonAccessibleDisabledClass, buttonVariants } from "./components/button.js";
14
14
  import { Checkbox } from "./components/checkbox.js";
@@ -38,7 +38,7 @@ import { Label } from "./components/label.js";
38
38
  import { List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, StatusTone } from "./components/list.js";
39
39
  import { MenuSection } from "./components/menu-section.js";
40
40
  import { DropdownMenu as Menu, DropdownMenuCheckboxItem as MenuCheckboxItem, DropdownMenuContent as MenuPopup, DropdownMenuCreateHandle as MenuCreateHandle, DropdownMenuGroup as MenuGroup, DropdownMenuItem as MenuItem, DropdownMenuLabel as MenuGroupLabel, DropdownMenuPortal as MenuPortal, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuSeparator as MenuSeparator, DropdownMenuShortcut as MenuShortcut, DropdownMenuSub as MenuSub, DropdownMenuSubContent as MenuSubPopup, DropdownMenuSubTrigger as MenuSubTrigger, DropdownMenuTrigger as MenuTrigger } from "./components/menu.js";
41
- import { OUTLINE_EMPHASIS, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, outlineEntryText } from "./components/outline-rail.js";
41
+ import { OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, outlineEntryText } from "./components/outline-rail.js";
42
42
  import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "./components/pagination.js";
43
43
  import { Popover, PopoverClose, PopoverContent as PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger } from "./components/popover.js";
44
44
  import { HoverCard as PreviewCard, HoverCardContent as PreviewCardPopup, HoverCardTrigger as PreviewCardTrigger, PreviewCardPrimitive } from "./components/preview-card.js";
@@ -103,4 +103,4 @@ import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffS
103
103
  import { ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone } from "./review/review-out-of-date-notice.js";
104
104
  import { ReviewStatusBadge, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant } from "./review/review-status-badge.js";
105
105
  import { ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
106
- export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, type BidiDirection, BidiText, type BidiTextProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuildKanbanBoardMatrixParams, Button, CONTROL_SIZE, CONTROL_SIZES, CalendarCell, type CalendarDateRange, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, type ColorPreset, ColorVariants, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, type ControlSize, CopyButton, type CreateKanbanDropIntentParams, DEFAULT_PRESETS, DataTable, type DataTableAriaSort, type DataTableColumn, type DataTableProps, type DataTableRowAction, DatePickerPopover, type DatePickerPopoverProps, DestructiveActionConfirmation, DestructiveConfirmDialog, type DestructiveConfirmDialogProps, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, type FileInputProps, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, type HexColorPickerProps, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, type KanbanBandToggleActivation, type KanbanBoardAxis, type KanbanBoardCell, type KanbanBoardColumn, type KanbanBoardCoordinate, type KanbanBoardDestination, type KanbanBoardLane, type KanbanBoardMatrix, type KanbanBuiltInGroup, type KanbanCardFieldSelection, KanbanCardShell, type KanbanCardShellProps, KanbanCellAction, type KanbanCellActionProps, KanbanCollapsedBandCaption, type KanbanCollapsedBandCaptionProps, type KanbanColumnBand, KanbanColumnBandHeader, type KanbanColumnBandHeaderProps, type KanbanColumnBandSpan, KanbanColumnHeader, type KanbanColumnHeaderProps, type KanbanDropAxisChange, type KanbanDropIntent, type KanbanGroup, type KanbanGroupOption, type KanbanGrouping, type KanbanSchema, type KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, type KanbanSubgroupBoardProps, type KanbanSubgroupCellContext, type KanbanSubgroupCollapsedBandCellContext, type KanbanSubgroupColumnHeaderContext, type KanbanSubgroupLaneColumnActionContext, type KanbanSubgroupLaneColumnSummaryContext, type KanbanSubgroupLaneIdentityContext, KanbanVirtualCell, type KanbanVirtualCellPagination, type KanbanVirtualCellProps, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OptionColor, type OrderKanbanCellsByColumnsParams, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, OverlayLayer, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, type RegisterKanbanBoardAutoScrollOptions, type RegisterKanbanCardDragOptions, type ResolveKanbanGroupValueParams, type ResolveKanbanGroupingParams, ResourceCalendar, type ResourceCalendarColumn, type ResourceCalendarEntry, type ResourceCalendarEntryTone, type ResourceCalendarLaneLayout, type ResourceCalendarLanePlacement, type ResourceCalendarPlacement, type ResourceCalendarResource, ReviewAuthorAvatar, ReviewCommentAuthor, ReviewCommentCard, ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone, ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusBadge, ReviewStatusDot, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, ScrollToTopProps, SearchField, type SearchFieldProps, SecretInput, type SecretInputProps, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, type SheetSide, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SortDirection, SortableHead, type StatusTone, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, type TableColumnCapabilities, type TableColumnDescriptor, TableFooter, TableHead, TableHeader, TableRow, type TableSchema, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, TypedCharacterEvent, UNKNOWN_AUTHOR_LABEL, UserText, type WorkspaceCompactNavigation, WorkspaceEndRail, type WorkspaceEndRailChatAction, type WorkspaceEndRailProps, type WorkspaceNavigation, WorkspaceShell, type WorkspaceShellProps, type WorkspaceTopBarContext, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, parsePersistedPaneWidth, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, typedCharacter, useComboboxFilter, useContentDir, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
106
+ export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, type BidiDirection, BidiText, type BidiTextProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuildKanbanBoardMatrixParams, Button, CONTROL_SIZE, CONTROL_SIZES, CalendarCell, type CalendarDateRange, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, type ColorPreset, ColorVariants, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, type ControlSize, CopyButton, type CreateKanbanDropIntentParams, DEFAULT_PRESETS, DataTable, type DataTableAriaSort, type DataTableColumn, type DataTableProps, type DataTableRowAction, DatePickerPopover, type DatePickerPopoverProps, DestructiveActionConfirmation, DestructiveConfirmDialog, type DestructiveConfirmDialogProps, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, type FileInputProps, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, type HexColorPickerProps, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, type InspectorDockMount, InspectorEmptyRow, InspectorEntityTab, type InspectorEntityTabInactiveIcon, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, type KanbanBandToggleActivation, type KanbanBoardAxis, type KanbanBoardCell, type KanbanBoardColumn, type KanbanBoardCoordinate, type KanbanBoardDestination, type KanbanBoardLane, type KanbanBoardMatrix, type KanbanBuiltInGroup, type KanbanCardFieldSelection, KanbanCardShell, type KanbanCardShellProps, KanbanCellAction, type KanbanCellActionProps, KanbanCollapsedBandCaption, type KanbanCollapsedBandCaptionProps, type KanbanColumnBand, KanbanColumnBandHeader, type KanbanColumnBandHeaderProps, type KanbanColumnBandSpan, KanbanColumnHeader, type KanbanColumnHeaderProps, type KanbanDropAxisChange, type KanbanDropIntent, type KanbanGroup, type KanbanGroupOption, type KanbanGrouping, type KanbanSchema, type KanbanSubgroupBandHeaderContext, KanbanSubgroupBoard, type KanbanSubgroupBoardProps, type KanbanSubgroupCellContext, type KanbanSubgroupCollapsedBandCellContext, type KanbanSubgroupColumnHeaderContext, type KanbanSubgroupLaneColumnActionContext, type KanbanSubgroupLaneColumnSummaryContext, type KanbanSubgroupLaneIdentityContext, KanbanVirtualCell, type KanbanVirtualCellPagination, type KanbanVirtualCellProps, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OptionColor, type OrderKanbanCellsByColumnsParams, OutlineEmphasis, OutlineItem, OutlineRail, OutlineRailProps, OverlayLayer, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, type RegisterKanbanBoardAutoScrollOptions, type RegisterKanbanCardDragOptions, type ResolveKanbanGroupValueParams, type ResolveKanbanGroupingParams, ResourceCalendar, type ResourceCalendarColumn, type ResourceCalendarEntry, type ResourceCalendarEntryTone, type ResourceCalendarLaneLayout, type ResourceCalendarLanePlacement, type ResourceCalendarPlacement, type ResourceCalendarResource, ReviewAuthorAvatar, ReviewCommentAuthor, ReviewCommentCard, ReviewDecisionActions, ReviewDecisionSize, ReviewDecisionState, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffSegment, ReviewDiffSegmentType, ReviewDiffText, ReviewOutOfDateNotice, ReviewOutOfDateReason, ReviewOutOfDateTone, ReviewSeverityDot, ReviewSeverityLevel, ReviewStatusBadge, ReviewStatusDot, ReviewStatusSize, ReviewStatusTone, ReviewStatusVariant, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, ScrollToTopProps, SearchField, type SearchFieldProps, SecretInput, type SecretInputProps, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, type SheetSide, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SortDirection, SortableHead, type StatusTone, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, type TableColumnCapabilities, type TableColumnDescriptor, TableFooter, TableHead, TableHeader, TableRow, type TableSchema, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, TypedCharacterEvent, UNKNOWN_AUTHOR_LABEL, UserText, type WorkspaceCompactNavigation, WorkspaceEndRail, type WorkspaceEndRailChatAction, type WorkspaceEndRailProps, type WorkspaceNavigation, WorkspaceShell, type WorkspaceShellProps, type WorkspaceTopBarContext, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, parsePersistedPaneWidth, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, typedCharacter, useComboboxFilter, useContentDir, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import { Sheet, SheetBackdrop, SheetClose, SheetContent as SheetPopup, SheetDesc
14
14
  import { WorkspaceEndRail, WorkspaceShell } from "./components/workspace-shell.js";
15
15
  import { Avatar, AvatarFallback, AvatarImage } from "./components/avatar.js";
16
16
  import { BidiText, UserText } from "./components/bidi-text.js";
17
- import { DiscordLogoIcon, GitHubLogoIcon } from "./components/brand-icons.js";
17
+ import { DiscordLogoIcon, GitHubLogoIcon, XLogoIcon } from "./components/brand-icons.js";
18
18
  import { DirectionalIcon } from "./components/directional-icon.js";
19
19
  import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/breadcrumb.js";
20
20
  import { Checkbox } from "./components/checkbox.js";
@@ -53,7 +53,7 @@ import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./comp
53
53
  import { Label } from "./components/label.js";
54
54
  import { DropdownMenu as Menu, DropdownMenuCheckboxItem as MenuCheckboxItem, DropdownMenuContent as MenuPopup, DropdownMenuCreateHandle as MenuCreateHandle, DropdownMenuGroup as MenuGroup, DropdownMenuItem as MenuItem, DropdownMenuLabel as MenuGroupLabel, DropdownMenuPortal as MenuPortal, DropdownMenuRadioGroup as MenuRadioGroup, DropdownMenuRadioItem as MenuRadioItem, DropdownMenuSeparator as MenuSeparator, DropdownMenuShortcut as MenuShortcut, DropdownMenuSub as MenuSub, DropdownMenuSubContent as MenuSubPopup, DropdownMenuSubTrigger as MenuSubTrigger, DropdownMenuTrigger as MenuTrigger } from "./components/menu.js";
55
55
  import { MenuSection } from "./components/menu-section.js";
56
- import { OUTLINE_EMPHASIS, OutlineRail, outlineEntryText } from "./components/outline-rail.js";
56
+ import { OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OutlineRail, outlineEntryText } from "./components/outline-rail.js";
57
57
  import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "./components/pagination.js";
58
58
  import { HoverCard as PreviewCard, HoverCardContent as PreviewCardPopup, HoverCardTrigger as PreviewCardTrigger, PreviewCardPrimitive } from "./components/preview-card.js";
59
59
  import { MenuPreviewLayout, PreviewPane } from "./components/preview-pane.js";
@@ -99,4 +99,4 @@ import { ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, TRACKED_DELETI
99
99
  import { ReviewOutOfDateNotice } from "./review/review-out-of-date-notice.js";
100
100
  import { ReviewSeverityDot, ReviewStatusDot, reviewSeverityTone } from "./review/review-severity-dot.js";
101
101
  import { ReviewStatusBadge } from "./review/review-status-badge.js";
102
- export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, BidiText, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONTROL_SIZE, CONTROL_SIZES, CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, CopyButton, DEFAULT_PRESETS, DataTable, DatePickerPopover, DestructiveActionConfirmation, DestructiveConfirmDialog, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, KanbanCardShell, KanbanCellAction, KanbanCollapsedBandCaption, KanbanColumnBandHeader, KanbanColumnHeader, KanbanSubgroupBoard, KanbanVirtualCell, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OutlineRail, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, ResourceCalendar, ReviewAuthorAvatar, ReviewCommentCard, ReviewDecisionActions, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, ReviewOutOfDateNotice, ReviewSeverityDot, ReviewStatusBadge, ReviewStatusDot, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, SearchField, SecretInput, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SortableHead, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, UNKNOWN_AUTHOR_LABEL, UserText, WorkspaceEndRail, WorkspaceShell, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, parsePersistedPaneWidth, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, typedCharacter, useComboboxFilter, useContentDir, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
102
+ export { APPLICATION_RAIL_BUTTON_SIZE, APPLICATION_RAIL_ICON_SIZE, APPLICATION_RAIL_WIDTH, Accordion, AccordionPanel as AccordionContent, AccordionPanel, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogBackdrop, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogPopup, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPanel, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AnchoredToastProvider, ApplicationRail, ApplicationRailButton, ApplicationRailContent, ApplicationRailFooter, ApplicationRailHeader, ApplicationRailMenu, ApplicationRailSeparator, Avatar, AvatarFallback, AvatarImage, BOARD_DRAG_OVERLAY_Z_INDEX, BidiText, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONTROL_SIZE, CONTROL_SIZES, CalendarCell, CalendarEntryButton, CalendarEntrySurface, CalendarGrid, CalendarHeaderCell, CalendarHeaderRow, Checkbox, ColorPicker, ColorPickerContent, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, CopyButton, DEFAULT_PRESETS, DataTable, DatePickerPopover, DestructiveActionConfirmation, DestructiveConfirmDialog, DetailsGrid, DetailsItem, Dialog, DialogBackdrop, DialogBackdrop as DialogOverlay, DialogClose, DialogPopup as DialogContent, DialogPopup, DialogCreateHandle, DialogDescription, DialogFooter, DialogFormState, DialogHeader, DialogPanel, DialogPortal, DialogProvider, DialogTitle, DialogTrigger, DialogViewport, DirectionalIcon, DiscordLogoIcon, Menu as DropdownMenu, Menu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuPopup, MenuCreateHandle as DropdownMenuCreateHandle, MenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuGroup, MenuItem as DropdownMenuItem, MenuItem, MenuGroupLabel as DropdownMenuLabel, MenuGroupLabel, MenuPortal as DropdownMenuPortal, MenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuShortcut, MenuSub as DropdownMenuSub, MenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubPopup, MenuSubTrigger as DropdownMenuSubTrigger, MenuSubTrigger, MenuTrigger as DropdownMenuTrigger, MenuTrigger, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileInput, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GitHubLogoIcon, HexColorPicker, PreviewCard as HoverCard, PreviewCard, PreviewCardPopup as HoverCardContent, PreviewCardPopup, PreviewCardTrigger as HoverCardTrigger, PreviewCardTrigger, INSPECTOR_CONTENT_MIN_WIDTH, INSPECTOR_EDITOR_MIN_WIDTH, INSPECTOR_PANE_DEFAULT_WIDTH, INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, INSPECTOR_PANE_MAX_WIDTH, INSPECTOR_PANE_MIN_WIDTH, INSPECTOR_RAIL_WIDTH, InlineRenameInput, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Inspector, InspectorActions, InspectorContent, InspectorDescription, InspectorDock, InspectorEmptyRow, InspectorEntityTab, InspectorFacetBar, InspectorHeader, InspectorHeaderText, InspectorProperty, InspectorPropertyLabel, InspectorPropertyList, InspectorPropertyValue, InspectorRail, InspectorRailCell, InspectorRailContent, InspectorRailFooter, InspectorRailIconButton, InspectorRailTab, InspectorSection, InspectorSectionTitle, InspectorTitle, KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_BOARD_AXES, KANBAN_CARD_DRAG_MIME, KANBAN_CARD_STICKY_TOP_VAR, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KANBAN_STICKY_TOP_VAR, KANBAN_VIRTUAL_CELL_PAGINATION, KanbanCardShell, KanbanCellAction, KanbanCollapsedBandCaption, KanbanColumnBandHeader, KanbanColumnHeader, KanbanSubgroupBoard, KanbanVirtualCell, Label, List, ListEmpty, ListGroup, ListGroupAction, ListGroupCount, ListGroupDescription, ListGroupHeader, ListGroupHeading, ListGroupTitle, ListItem, ListItemActions, ListItemContent, ListItemDescription, ListItemMedia, ListItemStatus, ListItemTitle, MenuPreviewLayout, MenuSection, OUTLINE_CONTROL_MIN_SIZE, OUTLINE_EMPHASIS, OVERLAY_COLLISION_PADDING, OVERLAY_LAYER_CLASS_NAMES, OutlineRail, PROPERTY_ROW_GRID, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCardPrimitive, PreviewPane, ResourceCalendar, ReviewAuthorAvatar, ReviewCommentCard, ReviewDecisionActions, ReviewDiffDeletion, ReviewDiffInsertion, ReviewDiffText, ReviewOutOfDateNotice, ReviewSeverityDot, ReviewStatusBadge, ReviewStatusDot, SHELL_CHROME_LAYER_CLASS_NAME, SIDEBAR_WIDTH_ICON_PX, SIDEBAR_WIDTH_PX, SIDE_RAIL_CONTAINER_CLASS, SIDE_RAIL_ICON_BUTTON_SIZE, SIDE_RAIL_TAB_ICON_SIZE, SIDE_RAIL_WIDTH, ScrollArea, ScrollBar, ScrollToTop, SearchField, SecretInput, SegmentedIconToggle, Select, SelectPopup as SelectContent, SelectPopup, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBackdrop, SheetBackdrop as SheetOverlay, SheetClose, SheetPopup as SheetContent, SheetPopup, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SortableHead, StellaMark, StellaWordmarkLatin, TOAST_RIGHT_OFFSET_VAR, TOOLBAR_ROW_HEIGHT, TOOLBAR_ROW_HEIGHT_PX, TRACKED_DELETION_STYLE, TRACKED_INSERTION_STYLE, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextSeparator, Textarea, ToastProvider, Tooltip, TooltipPopup as TooltipContent, TooltipPopup, TooltipCreateHandle, TooltipProvider, TooltipTrigger, UNKNOWN_AUTHOR_LABEL, UserText, WorkspaceEndRail, WorkspaceShell, XLogoIcon, assertConsecutiveCalendarDates, buildKanbanBoardMatrix, buttonAccessibleDisabledClass, buttonVariants, cn, composeRefs, containedEventHandler, containedHandler, contentDir, createKanbanDropIntent, duplicateColumnIds, emptyColor, entityTabGlyph, findTableColumn, getFirstWeekday, getInitials, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, getKanbanGroupingPropertyId, getKanbanGroups, getLocaleWeekInfo, getResourceCalendarPlacement, getWeekendDays, hasKanbanColumnBands, hideableColumnIds, isKanbanGroupingRenderable, isStructuredInputType, layoutResourceCalendarEntries, nextCalendarDate, optionColors, orderKanbanCellsByColumns, outlineEntryText, parsePersistedPaneWidth, registerKanbanBoardAutoScroll, registerKanbanCardDrag, resolveDragWidth, resolveInspectorDockWidth, resolveInspectorPaneMaxWidth, resolveInspectorPaneWidth, resolveKanbanColumnBands, resolveKanbanGroupOptions, resolveKanbanGrouping, resolveKeyboardWidth, resolveOptionColor, reviewDiffSegmentKeys, reviewSeverityTone, selectKanbanCardFieldIds, selectKanbanRows, shouldForceSidebarCollapsed, sidebarIdentityTriggerClassName, sortableColumnIds, stellaToast, tableColumnIds, tableColumnSizing, typedCharacter, useComboboxFilter, useContentDir, useDestructiveActionConfirmation, useInspectorPaneWidth, useIsMobile, useLatest, useSidebar, useSidebarInlineSize, useSidebarLayout, useViewportWidth, visibleColumnIds };
@@ -21,7 +21,7 @@ const InspectorDock = ({ children, className, mount = "shell-end", onResetWidth,
21
21
  className: "bg-sidebar relative w-full",
22
22
  "data-slot": "inspector-dock-spacer"
23
23
  }), /* @__PURE__ */ jsxs("div", {
24
- className: cn("fixed inset-y-0 end-0 hidden h-svh md:flex", PANE_LAYER_CLASS_NAME[mount]),
24
+ className: cn("fixed inset-y-0 end-0 hidden h-svh pe-(--safe-area-inline-end) pt-(--safe-area-top) pb-(--safe-area-bottom) md:flex", PANE_LAYER_CLASS_NAME[mount]),
25
25
  "data-slot": "inspector-dock-pane",
26
26
  style: { width: widthPx },
27
27
  children: [showPaneContent && /* @__PURE__ */ jsxs("div", {
@@ -1,5 +1,4 @@
1
1
  import { cn } from "../lib/utils.js";
2
- import { SIDE_RAIL_TAB_ICON_SIZE } from "./layout-tokens.js";
3
2
  import { Tooltip, TooltipContent as TooltipPopup, TooltipTrigger } from "../components/tooltip.js";
4
3
  import { InspectorRailTab } from "./chrome.js";
5
4
  import { containedEventHandler } from "../hooks/use-contained-handler.js";
@@ -30,7 +29,7 @@ const InspectorEntityTab = ({ active, label, glyph, icon, inactiveIcon = "dim",
30
29
  className: "text-[9px] leading-none font-semibold tracking-tight uppercase",
31
30
  children: glyph
32
31
  }) : /* @__PURE__ */ jsx("span", {
33
- className: cn("flex items-center justify-center", SIDE_RAIL_TAB_ICON_SIZE, !active && inactiveIcon === "dim" && "opacity-70"),
32
+ className: cn("flex w-full min-w-0 items-center justify-center", "min-h-3.5", !active && inactiveIcon === "dim" && "opacity-70"),
34
33
  children: icon
35
34
  })
36
35
  }) }), /* @__PURE__ */ jsx(TooltipPopup, {
@@ -95,7 +95,7 @@ const KanbanVirtualCell = ({ rows, getRowKey, renderRow, pagination, containerRe
95
95
  })
96
96
  }) : null;
97
97
  return /* @__PURE__ */ jsxs("div", {
98
- className: cn(KANBAN_CELL_SURFACE_CLASS, "min-h-20 rounded-xl p-2", rows.length === 0 ? "overflow-visible" : "max-h-[min(60vh,40rem)] overflow-y-auto overscroll-y-contain", active && accentVariants === void 0 && "bg-primary/5 ring-primary/50 ring-2", className),
98
+ className: cn(KANBAN_CELL_SURFACE_CLASS, "min-h-20 rounded-xl p-2", rows.length === 0 ? "overflow-visible" : "max-h-[min(60dvh,40rem)] overflow-y-auto overscroll-y-contain", active && accentVariants === void 0 && "bg-primary/5 ring-primary/50 ring-2", className),
99
99
  "data-kanban-cell-accent": accentVariants === void 0 ? void 0 : "true",
100
100
  onScroll: handleScroll,
101
101
  ref: setScrollElement,
@@ -5,6 +5,6 @@ declare const CONTROL_SIZE: Readonly<{
5
5
  readonly lg: "lg";
6
6
  }>;
7
7
  type ControlSize = (typeof CONTROL_SIZE)[keyof typeof CONTROL_SIZE];
8
- declare const CONTROL_SIZES: readonly ("sm" | "default" | "lg")[];
8
+ declare const CONTROL_SIZES: readonly ("default" | "lg" | "sm")[];
9
9
  //#endregion
10
10
  export { CONTROL_SIZE, CONTROL_SIZES, type ControlSize };
@@ -0,0 +1,38 @@
1
+ import { CSSProperties } from "react";
2
+ //#region src/lib/matter-colors.d.ts
3
+ export declare const MATTER_SWATCHES: readonly ["--option-blue", "--option-emerald", "--option-amber", "--option-violet", "--option-red", "--option-cyan", "--option-orange", "--option-teal"];
4
+ export declare const getMatterSwatch: (id: string) => "--option-blue" | "--option-emerald" | "--option-amber" | "--option-violet" | "--option-red" | "--option-cyan" | "--option-orange" | "--option-teal";
5
+ export declare const getMatterColor: (id: string) => string;
6
+ export declare const getMatterPickerColor: (id: string, color: string | null) => string;
7
+ export declare const toStoredMatterColor: (color: string) => string;
8
+ /**
9
+ * Resolves the swatch CSS variable for a matter, preferring the
10
+ * explicit `color` token stored on the workspace record over the
11
+ * deterministic id-hash fallback. One source of truth so trigger
12
+ * pills, picker rows, and badges all paint the same matter the
13
+ * same colour.
14
+ */
15
+ export declare const resolveMatterColor: (id: string, color: string | null) => string;
16
+ /**
17
+ * The ground a matter tint is mixed into: chrome rows or content. Root-resolved
18
+ * tokens, so a subtree that re-points `--background` at the tint cannot feed
19
+ * the tint back into itself.
20
+ */
21
+ export declare const MATTER_TINT_GROUND: {
22
+ readonly chrome: "var(--untinted-sidebar)";
23
+ readonly content: "var(--untinted-background)";
24
+ };
25
+ type MatterTintGround = (typeof MATTER_TINT_GROUND)[keyof typeof MATTER_TINT_GROUND];
26
+ /**
27
+ * The matter tint a surface paints: 2% of the matter colour over its ground.
28
+ * Every separately painted row (app header, inspector tab header, page
29
+ * organizer toolbar) reads this one formula, so adjacent rows cannot drift.
30
+ */
31
+ export declare const matterTint: (color: string | null, ground: MatterTintGround) => string;
32
+ export type MatterChromeStyle = CSSProperties & {
33
+ "--matter-background-tint": string;
34
+ "--matter-sidebar-tint": string;
35
+ };
36
+ /** The tint variables a matter-scoped subtree paints its chrome and panes from. */
37
+ export declare const matterChromeStyle: (color: string | null) => MatterChromeStyle;
38
+ //#endregion
@@ -0,0 +1,65 @@
1
+ //#region src/lib/matter-colors.ts
2
+ const DEFAULT_MATTER_SWATCH = "--option-blue";
3
+ const MATTER_SWATCHES = [
4
+ DEFAULT_MATTER_SWATCH,
5
+ "--option-emerald",
6
+ "--option-amber",
7
+ "--option-violet",
8
+ "--option-red",
9
+ "--option-cyan",
10
+ "--option-orange",
11
+ "--option-teal"
12
+ ];
13
+ const getMatterSwatch = (id) => {
14
+ let hash = 0;
15
+ for (let i = 0; i < id.length; i++) hash = Math.imul(hash, 31) + (id.codePointAt(i) ?? 0);
16
+ return MATTER_SWATCHES[Math.abs(hash) % MATTER_SWATCHES.length] ?? DEFAULT_MATTER_SWATCH;
17
+ };
18
+ const getMatterColor = (id) => `var(${getMatterSwatch(id)})`;
19
+ const hexColorPattern = /^#?[0-9A-Fa-f]{6}$/u;
20
+ const toPickerColor = (color) => {
21
+ if (color.startsWith("--option-")) return color.slice(9);
22
+ if (color.startsWith("#")) return color.slice(1).toUpperCase();
23
+ return color;
24
+ };
25
+ const resolveStoredMatterColor = (color) => {
26
+ if (hexColorPattern.test(color)) return color.startsWith("#") ? color : `#${color}`;
27
+ if (color.startsWith("--")) return `var(${color})`;
28
+ return `var(--option-${color})`;
29
+ };
30
+ const getMatterPickerColor = (id, color) => toPickerColor(color ?? getMatterSwatch(id));
31
+ const toStoredMatterColor = (color) => {
32
+ if (hexColorPattern.test(color)) return `#${color.replace("#", "").toUpperCase()}`;
33
+ if (color.startsWith("--option-")) return color;
34
+ return `--option-${color}`;
35
+ };
36
+ /**
37
+ * Resolves the swatch CSS variable for a matter, preferring the
38
+ * explicit `color` token stored on the workspace record over the
39
+ * deterministic id-hash fallback. One source of truth so trigger
40
+ * pills, picker rows, and badges all paint the same matter the
41
+ * same colour.
42
+ */
43
+ const resolveMatterColor = (id, color) => color ? resolveStoredMatterColor(color) : getMatterColor(id);
44
+ /**
45
+ * The ground a matter tint is mixed into: chrome rows or content. Root-resolved
46
+ * tokens, so a subtree that re-points `--background` at the tint cannot feed
47
+ * the tint back into itself.
48
+ */
49
+ const MATTER_TINT_GROUND = {
50
+ chrome: "var(--untinted-sidebar)",
51
+ content: "var(--untinted-background)"
52
+ };
53
+ /**
54
+ * The matter tint a surface paints: 2% of the matter colour over its ground.
55
+ * Every separately painted row (app header, inspector tab header, page
56
+ * organizer toolbar) reads this one formula, so adjacent rows cannot drift.
57
+ */
58
+ const matterTint = (color, ground) => color === null ? ground : `color-mix(in srgb, ${color} 2%, ${ground})`;
59
+ /** The tint variables a matter-scoped subtree paints its chrome and panes from. */
60
+ const matterChromeStyle = (color) => ({
61
+ "--matter-background-tint": matterTint(color, MATTER_TINT_GROUND.content),
62
+ "--matter-sidebar-tint": matterTint(color, MATTER_TINT_GROUND.chrome)
63
+ });
64
+ //#endregion
65
+ export { MATTER_SWATCHES, MATTER_TINT_GROUND, getMatterColor, getMatterPickerColor, getMatterSwatch, matterChromeStyle, matterTint, resolveMatterColor, toStoredMatterColor };
@@ -0,0 +1,11 @@
1
+ //#region src/lib/panel-inset.d.ts
2
+ /** Shared geometry contract between docked chrome and document side panels. */
3
+ export declare const DOCUMENT_PANEL_BOTTOM_INSET = "--document-panel-bottom-inset";
4
+ export declare const DOCUMENT_PANEL_SAFE_BOTTOM = "max(env(safe-area-inset-bottom, 0px), var(--document-panel-bottom-inset, 0px))";
5
+ /**
6
+ * Publish the actual occluded block-end region on the positioned host. A
7
+ * callback ref owns observation and cleanup, so growing composer/thread chrome
8
+ * changes every descendant panel without screen-specific padding estimates.
9
+ */
10
+ export declare const publishDocumentPanelInset: (element: HTMLDivElement | null) => (() => void) | undefined;
11
+ //#endregion
@@ -0,0 +1,33 @@
1
+ //#region src/lib/panel-inset.ts
2
+ /** Shared geometry contract between docked chrome and document side panels. */
3
+ const DOCUMENT_PANEL_BOTTOM_INSET = "--document-panel-bottom-inset";
4
+ const DOCUMENT_PANEL_SAFE_BOTTOM = "max(env(safe-area-inset-bottom, 0px), var(--document-panel-bottom-inset, 0px))";
5
+ /**
6
+ * Publish the actual occluded block-end region on the positioned host. A
7
+ * callback ref owns observation and cleanup, so growing composer/thread chrome
8
+ * changes every descendant panel without screen-specific padding estimates.
9
+ */
10
+ const publishDocumentPanelInset = (element) => {
11
+ if (!element) return;
12
+ const host = element.offsetParent;
13
+ if (!(host instanceof HTMLElement)) return;
14
+ const previous = host.style.getPropertyValue(DOCUMENT_PANEL_BOTTOM_INSET);
15
+ const measure = () => {
16
+ const inset = Math.max(0, host.getBoundingClientRect().bottom - element.getBoundingClientRect().top);
17
+ host.style.setProperty(DOCUMENT_PANEL_BOTTOM_INSET, `${inset}px`);
18
+ };
19
+ const observer = new ResizeObserver(measure);
20
+ observer.observe(element);
21
+ observer.observe(host);
22
+ measure();
23
+ return () => {
24
+ observer.disconnect();
25
+ if (previous) {
26
+ host.style.setProperty(DOCUMENT_PANEL_BOTTOM_INSET, previous);
27
+ return;
28
+ }
29
+ host.style.removeProperty(DOCUMENT_PANEL_BOTTOM_INSET);
30
+ };
31
+ };
32
+ //#endregion
33
+ export { DOCUMENT_PANEL_BOTTOM_INSET, DOCUMENT_PANEL_SAFE_BOTTOM, publishDocumentPanelInset };
@@ -0,0 +1,11 @@
1
+ //#region src/lib/safe-area.d.ts
2
+ /** A centred overlay viewport: the usual 1rem gutter, or the inset when larger. */
3
+ export declare const SAFE_AREA_OVERLAY_GUTTER_CLASS_NAME = "pt-[max(--spacing(4),var(--safe-area-top))] pb-[max(--spacing(4),var(--safe-area-bottom))] ps-[max(--spacing(4),var(--safe-area-inline-start))] pe-[max(--spacing(4),var(--safe-area-inline-end))]";
4
+ /** A surface pinned to the bottom edge keeps its last row above the home indicator. */
5
+ export declare const SAFE_AREA_BOTTOM_EDGE_CLASS_NAME = "pb-(--safe-area-bottom)";
6
+ /** A surface pinned to the top edge keeps its first row below the status bar. */
7
+ export declare const SAFE_AREA_TOP_EDGE_CLASS_NAME = "pt-(--safe-area-top)";
8
+ /** A surface spanning the full width keeps both sides clear of a landscape notch. */
9
+ export declare const SAFE_AREA_INLINE_CLASS_NAME = "ps-(--safe-area-inline-start) pe-(--safe-area-inline-end)";
10
+ export declare const SAFE_AREA_TOAST_GEOMETRY_CLASS_NAME = "[--toast-safe-width:max(0px,calc(100vw-var(--toast-inset)*2-var(--safe-area-inline-start)-var(--safe-area-inline-end)))] [--toast-offset:0px] md:data-[position*=right]:[--toast-offset:clamp(0px,var(--stella-toast-right-offset,0px),max(0px,calc(var(--toast-safe-width)-10rem)))] w-[max(0px,calc(var(--toast-safe-width)-var(--toast-offset)))] data-[position*=left]:start-[calc(var(--toast-inset)+var(--safe-area-inline-start))] data-[position*=right]:end-[calc(var(--toast-inset)+var(--safe-area-inline-end)+var(--toast-offset))] data-[position*=center]:start-[calc(var(--toast-inset)+var(--safe-area-inline-start)+var(--toast-safe-width)/2)] data-[position*=center]:-translate-x-1/2 rtl:data-[position*=center]:translate-x-1/2";
11
+ //#endregion
@@ -0,0 +1,12 @@
1
+ //#region src/lib/safe-area.ts
2
+ /** A centred overlay viewport: the usual 1rem gutter, or the inset when larger. */
3
+ const SAFE_AREA_OVERLAY_GUTTER_CLASS_NAME = "pt-[max(--spacing(4),var(--safe-area-top))] pb-[max(--spacing(4),var(--safe-area-bottom))] ps-[max(--spacing(4),var(--safe-area-inline-start))] pe-[max(--spacing(4),var(--safe-area-inline-end))]";
4
+ /** A surface pinned to the bottom edge keeps its last row above the home indicator. */
5
+ const SAFE_AREA_BOTTOM_EDGE_CLASS_NAME = "pb-(--safe-area-bottom)";
6
+ /** A surface pinned to the top edge keeps its first row below the status bar. */
7
+ const SAFE_AREA_TOP_EDGE_CLASS_NAME = "pt-(--safe-area-top)";
8
+ /** A surface spanning the full width keeps both sides clear of a landscape notch. */
9
+ const SAFE_AREA_INLINE_CLASS_NAME = "ps-(--safe-area-inline-start) pe-(--safe-area-inline-end)";
10
+ const SAFE_AREA_TOAST_GEOMETRY_CLASS_NAME = "[--toast-safe-width:max(0px,calc(100vw-var(--toast-inset)*2-var(--safe-area-inline-start)-var(--safe-area-inline-end)))] [--toast-offset:0px] md:data-[position*=right]:[--toast-offset:clamp(0px,var(--stella-toast-right-offset,0px),max(0px,calc(var(--toast-safe-width)-10rem)))] w-[max(0px,calc(var(--toast-safe-width)-var(--toast-offset)))] data-[position*=left]:start-[calc(var(--toast-inset)+var(--safe-area-inline-start))] data-[position*=right]:end-[calc(var(--toast-inset)+var(--safe-area-inline-end)+var(--toast-offset))] data-[position*=center]:start-[calc(var(--toast-inset)+var(--safe-area-inline-start)+var(--toast-safe-width)/2)] data-[position*=center]:-translate-x-1/2 rtl:data-[position*=center]:translate-x-1/2";
11
+ //#endregion
12
+ export { SAFE_AREA_BOTTOM_EDGE_CLASS_NAME, SAFE_AREA_INLINE_CLASS_NAME, SAFE_AREA_OVERLAY_GUTTER_CLASS_NAME, SAFE_AREA_TOAST_GEOMETRY_CLASS_NAME, SAFE_AREA_TOP_EDGE_CLASS_NAME };
@@ -0,0 +1,13 @@
1
+ //#region src/review/review-word-diff.d.ts
2
+ /**
3
+ * Tiny word-level LCS differ for the aligned-pair language view. Tokens are
4
+ * words and whitespace runs, so equal spacing collapses into "equal" ops and
5
+ * only wording changes surface as insert/delete.
6
+ */
7
+ export type WordDiffOp = {
8
+ type: "equal" | "insert" | "delete";
9
+ token: string;
10
+ };
11
+ /** Diffs `before` (standard wording) against `after` (target wording). */
12
+ export declare const diffWords: (before: string, after: string) => WordDiffOp[];
13
+ //#endregion
@@ -0,0 +1,78 @@
1
+ //#region src/review/review-word-diff.ts
2
+ const tokenize = (text) => text.split(/(\s+)/u).filter((token) => token.length > 0);
3
+ const MAX_LCS_CELLS = 25e4;
4
+ /** Diffs `before` (standard wording) against `after` (target wording). */
5
+ const diffWords = (before, after) => {
6
+ const a = tokenize(before);
7
+ const b = tokenize(after);
8
+ if (before === after) return a.map((token) => ({
9
+ token,
10
+ type: "equal"
11
+ }));
12
+ if ((a.length + 1) * (b.length + 1) > MAX_LCS_CELLS) return [...a.map((token) => ({
13
+ token,
14
+ type: "delete"
15
+ })), ...b.map((token) => ({
16
+ token,
17
+ type: "insert"
18
+ }))];
19
+ return backtrack(a, b, lcsLengthTable(a, b));
20
+ };
21
+ /**
22
+ * The LCS of two suffixes, or 0 past either end — which is the base case, not
23
+ * a fallback: the longest common subsequence of an empty suffix is empty. That
24
+ * makes the reads past the table's edge exact rather than defensive.
25
+ */
26
+ const cellAt = (table, i, j) => table[i]?.[j] ?? 0;
27
+ const lcsLengthTable = (a, b) => {
28
+ const table = Array.from({ length: a.length + 1 }, () => Array.from({ length: b.length + 1 }, () => 0));
29
+ for (let i = a.length - 1; i >= 0; i--) {
30
+ const row = table[i];
31
+ if (row === void 0) continue;
32
+ for (let j = b.length - 1; j >= 0; j--) row[j] = a[i] === b[j] ? cellAt(table, i + 1, j + 1) + 1 : Math.max(cellAt(table, i + 1, j), cellAt(table, i, j + 1));
33
+ }
34
+ return table;
35
+ };
36
+ const backtrack = (a, b, lengths) => {
37
+ const ops = [];
38
+ let i = 0;
39
+ let j = 0;
40
+ while (i < a.length && j < b.length) {
41
+ const tokenA = a[i];
42
+ const tokenB = b[j];
43
+ if (tokenA === void 0 || tokenB === void 0) break;
44
+ if (tokenA === tokenB) {
45
+ ops.push({
46
+ token: tokenA,
47
+ type: "equal"
48
+ });
49
+ i++;
50
+ j++;
51
+ continue;
52
+ }
53
+ if (cellAt(lengths, i + 1, j) >= cellAt(lengths, i, j + 1)) {
54
+ ops.push({
55
+ token: tokenA,
56
+ type: "delete"
57
+ });
58
+ i++;
59
+ continue;
60
+ }
61
+ ops.push({
62
+ token: tokenB,
63
+ type: "insert"
64
+ });
65
+ j++;
66
+ }
67
+ for (const token of a.slice(i)) ops.push({
68
+ token,
69
+ type: "delete"
70
+ });
71
+ for (const token of b.slice(j)) ops.push({
72
+ token,
73
+ type: "insert"
74
+ });
75
+ return ops;
76
+ };
77
+ //#endregion
78
+ export { diffWords };
@@ -130,6 +130,14 @@
130
130
  0.999,
131
131
  1
132
132
  );
133
+ /* UI easing. Surfaces that enter or exit use ease-out: a strong curve that
134
+ responds at once and settles softly. Movement on screen uses ease-in-out.
135
+ Overriding Tailwind's own names keeps `ease-out`/`ease-in-out` and every
136
+ transition without an explicit curve on these values. Never `ease-in` for
137
+ UI (no-layout-motion-classes rejects it). */
138
+ --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
139
+ --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
140
+ --default-transition-timing-function: var(--ease-out);
133
141
  --animate-skeleton: skeleton 2s -1s infinite linear;
134
142
  --animate-caret-blink: caret-blink 1.25s ease-out infinite;
135
143
  /* One-shot tint pulse for a surface that just became relevant.
@@ -142,6 +150,56 @@
142
150
  --animate-loader: loader 1.8s ease-in-out infinite;
143
151
  /* A list item settling into place; callers stagger it by index. */
144
152
  --animate-rise: rise 240ms ease-out both;
153
+ /* StatusMark: the running arc turns (paused, never reset, when it stops);
154
+ under reduced motion a running ring breathes instead. Its state
155
+ changes are transitions, owned by the component. */
156
+ --animate-status-spin: status-spin 1100ms linear infinite;
157
+ --animate-status-breathe: status-breathe 1400ms ease-in-out infinite;
158
+ /* Text that replaces other text (a changed digit, a new live label)
159
+ fades in; opacity only, so inline glyphs keep their bidirectional
160
+ order. */
161
+ --animate-text-fade: text-fade 200ms ease-out both;
162
+ /* SwapText: a live label rolls over, the old one lifting out as the new
163
+ one rises in, softened by a slight blur. */
164
+ --animate-swap-in: swap-in 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
165
+ --animate-swap-out: swap-out 200ms ease-in both;
166
+ @keyframes swap-in {
167
+ from {
168
+ filter: blur(2px);
169
+ opacity: 0;
170
+ transform: translateY(0.45em);
171
+ }
172
+ to {
173
+ filter: blur(0);
174
+ opacity: 1;
175
+ transform: translateY(0);
176
+ }
177
+ }
178
+ @keyframes swap-out {
179
+ to {
180
+ filter: blur(2px);
181
+ opacity: 0;
182
+ transform: translateY(-0.45em);
183
+ }
184
+ }
185
+ @keyframes status-spin {
186
+ to {
187
+ transform: rotate(360deg);
188
+ }
189
+ }
190
+ @keyframes status-breathe {
191
+ 50% {
192
+ opacity: 0.45;
193
+ }
194
+ }
195
+ @keyframes text-fade {
196
+ from {
197
+ opacity: 0;
198
+ }
199
+ to {
200
+ opacity: 1;
201
+ }
202
+ }
145
203
  @keyframes loader {
146
204
  0%,
147
205
  100% {
@@ -1165,8 +1223,26 @@
1165
1223
  * {
1166
1224
  @apply border-border outline-ring/50;
1167
1225
  }
1226
+ /* Device safe areas (notch, home indicator, rounded corners), non-zero
1227
+ * because the viewport meta carries `viewport-fit=cover`. The inline pair
1228
+ * follows the writing direction, so `ps-(--safe-area-inline-start)` pads
1229
+ * the notch side in both LTR and RTL. */
1230
+ :root,
1231
+ [dir="ltr"] {
1232
+ --safe-area-top: env(safe-area-inset-top, 0px);
1233
+ --safe-area-bottom: env(safe-area-inset-bottom, 0px);
1234
+ --safe-area-inline-start: env(safe-area-inset-left, 0px);
1235
+ --safe-area-inline-end: env(safe-area-inset-right, 0px);
1236
+ }
1237
+ [dir="rtl"] {
1238
+ --safe-area-inline-start: env(safe-area-inset-right, 0px);
1239
+ --safe-area-inline-end: env(safe-area-inset-left, 0px);
1240
+ }
1168
1241
  html {
1169
1242
  @apply antialiased;
1243
+ /* Controls draw their own hover, pressed and focus states; the grey
1244
+ * WebKit tap flash on top of them reads as a web page. */
1245
+ -webkit-tap-highlight-color: transparent;
1170
1246
  /* Paint native UI (scrollbars, form controls, spellcheck) in the active
1171
1247
  * palette. Without this the browser renders default scrollbars light even
1172
1248
  * in dark mode, so they read as bright strips against the dark surface. */
@@ -1178,6 +1254,9 @@
1178
1254
  html:has([data-slot="workspace-shell"]) {
1179
1255
  overflow: hidden;
1180
1256
  scrollbar-gutter: auto !important;
1257
+ /* The shell is an app, not a page: no pull-to-refresh or rubber-band
1258
+ * on the document, and no scroll chaining from an inner scroller. */
1259
+ overscroll-behavior: none;
1181
1260
  }
1182
1261
  html.dark {
1183
1262
  color-scheme: dark;