@cueplusplus/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +684 -0
  2. package/dist/brand/_chassis.d.ts +54 -0
  3. package/dist/brand/_chassis.js +81 -0
  4. package/dist/brand/_geometry.js +41 -0
  5. package/dist/brand/cue-logotype.d.ts +29 -0
  6. package/dist/brand/cue-logotype.js +60 -0
  7. package/dist/brand/cue-mark.d.ts +30 -0
  8. package/dist/brand/cue-mark.js +61 -0
  9. package/dist/brand/index.d.ts +5 -0
  10. package/dist/brand/plussie.d.ts +67 -0
  11. package/dist/brand/plussie.js +125 -0
  12. package/dist/chat/agent-pile.js +1 -1
  13. package/dist/chat/ask-box.js +2 -2
  14. package/dist/chat/delegation-card.js +1 -1
  15. package/dist/chat/message.js +2 -2
  16. package/dist/chrome/_edge-scroller.d.ts +45 -0
  17. package/dist/chrome/_edge-scroller.js +138 -0
  18. package/dist/chrome/_glyphs.js +19 -1
  19. package/dist/chrome/_tabs-scroll.d.ts +12 -7
  20. package/dist/chrome/_tabs-scroll.js +12 -7
  21. package/dist/chrome/app-bar.d.ts +103 -0
  22. package/dist/chrome/app-bar.js +175 -0
  23. package/dist/chrome/app-shell.d.ts +125 -0
  24. package/dist/chrome/app-shell.js +167 -0
  25. package/dist/chrome/footer.d.ts +75 -0
  26. package/dist/chrome/footer.js +68 -0
  27. package/dist/chrome/index.d.ts +5 -1
  28. package/dist/chrome/index.js +4 -1
  29. package/dist/chrome/navigation-menu.js +1 -1
  30. package/dist/chrome/page-shell.d.ts +1 -1
  31. package/dist/chrome/page-shell.js +15 -5
  32. package/dist/chrome/segmented-control.d.ts +19 -0
  33. package/dist/chrome/segmented-control.js +40 -21
  34. package/dist/chrome/tabs.js +21 -65
  35. package/dist/chrome/toolbar.d.ts +22 -0
  36. package/dist/chrome/toolbar.js +26 -5
  37. package/dist/configurator/_overrides.js +4 -2
  38. package/dist/configurator/configurator.js +1 -1
  39. package/dist/configurator/panel-sections.js +10 -4
  40. package/dist/dmx/channel-matrix.js +1 -1
  41. package/dist/forms/otp-field.js +1 -1
  42. package/dist/index.d.ts +15 -6
  43. package/dist/index.js +15 -9
  44. package/dist/instruments/data-table.js +1 -1
  45. package/dist/layout/carousel.js +1 -1
  46. package/dist/layout/container.d.ts +1 -1
  47. package/dist/layout/container.js +6 -3
  48. package/dist/layout/index.d.ts +3 -3
  49. package/dist/layout/index.js +3 -3
  50. package/dist/layout/pagination.js +1 -1
  51. package/dist/layout/sidebar.d.ts +23 -3
  52. package/dist/layout/sidebar.js +18 -7
  53. package/dist/midi/spectrum-visualizer.js +1 -1
  54. package/dist/midi/timeline-ruler.js +1 -1
  55. package/dist/overlays/command-palette.js +1 -1
  56. package/dist/overlays/dialog.js +1 -1
  57. package/dist/overlays/dropdown-menu.js +2 -2
  58. package/dist/overlays/hover-card.js +1 -1
  59. package/dist/overlays/index.js +1 -1
  60. package/dist/overlays/popover.js +1 -1
  61. package/dist/overlays/sheet.js +1 -1
  62. package/dist/overlays/toast.js +1 -1
  63. package/dist/primitives/index.d.ts +1 -1
  64. package/dist/primitives/index.js +1 -1
  65. package/dist/primitives/status-dot.d.ts +7 -0
  66. package/dist/primitives/status-dot.js +8 -1
  67. package/dist/styles.css +47 -1
  68. package/dist/system/density.d.ts +4 -1
  69. package/dist/system/density.js +12 -4
  70. package/dist/system/index.d.ts +2 -2
  71. package/dist/system/portal.d.ts +5 -5
  72. package/dist/system/portal.js +11 -6
  73. package/dist/system/prepaint.d.ts +15 -8
  74. package/dist/system/prepaint.js +26 -9
  75. package/dist/system/theme-provider.d.ts +36 -10
  76. package/dist/system/theme-provider.js +56 -18
  77. package/dist/system/use-density.d.ts +3 -3
  78. package/dist/system/use-density.js +16 -6
  79. package/dist/system/use-theme.d.ts +4 -2
  80. package/dist/system/use-theme.js +4 -2
  81. package/dist/theming/_presets.js +80 -5
  82. package/dist/theming/create-theme.js +13 -4
  83. package/package.json +4 -3
@@ -1,9 +1,31 @@
1
+ import { BarOverflow } from "./_edge-scroller.js";
1
2
  import * as React from "react";
2
3
  import { Toolbar } from "@base-ui/react/toolbar";
3
4
  //#region src/chrome/toolbar.d.ts
4
5
  interface ToolbarRootProps extends Omit<Toolbar.Root.Props, "className"> {
5
6
  /** Extra classes for the bar. */
6
7
  className?: string;
8
+ /**
9
+ * What the bar does when its controls do not fit. Defaults to `"scroll"`.
10
+ *
11
+ * `"scroll"` is the library's one overflow behaviour (see
12
+ * `./_edge-scroller` for why it is scrolling rather than wrapping or a "more"
13
+ * menu): the bar keeps its single chrome-rung height, the controls scroll
14
+ * inside it, the overflowing edge is faded and a pager chevron appears there.
15
+ * A bar whose controls all fit renders exactly as it did before — no mask, no
16
+ * chevrons, no compositing layer.
17
+ *
18
+ * `"clip"` restores the old behaviour and adds no wrapper element, for a bar
19
+ * that is already inside something which scrolls.
20
+ *
21
+ * A vertical toolbar ignores this: the affordance is horizontal, and a
22
+ * vertical bar overflows on the axis this does not measure.
23
+ */
24
+ overflow?: BarOverflow;
25
+ /** Accessible name for the chevron that reveals controls off the leading edge. */
26
+ previousLabel?: string;
27
+ /** Accessible name for the chevron that reveals controls off the trailing edge. */
28
+ nextLabel?: string;
7
29
  }
8
30
  interface ToolbarButtonProps extends Omit<Toolbar.Button.Props, "className"> {
9
31
  /** Extra classes for the button. */
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { useComposedRefs } from "../lib/compose.js";
4
+ import { EDGE_SCROLLER_CLASSES, EdgeChevrons, useEdgeScroll } from "./_edge-scroller.js";
3
5
  import * as React from "react";
4
6
  import { jsx, jsxs } from "react/jsx-runtime";
5
7
  import { Toolbar } from "@base-ui/react/toolbar";
@@ -21,12 +23,31 @@ import { Toolbar } from "@base-ui/react/toolbar";
21
23
  * </Toolbar.Root>
22
24
  */
23
25
  const Toolbar$1 = {
24
- Root: React.forwardRef(function ToolbarRoot({ className, ...elementProps }, ref) {
25
- return /* @__PURE__ */ jsx(Toolbar.Root, {
26
- ref,
26
+ Root: React.forwardRef(function ToolbarRoot({ className, overflow = "scroll", previousLabel = "Show earlier controls", nextLabel = "Show later controls", ...elementProps }, ref) {
27
+ const scrolls = overflow === "scroll" && elementProps.orientation !== "vertical";
28
+ const scroll = useEdgeScroll(scrolls);
29
+ const barRef = useComposedRefs(ref, scroll.ref);
30
+ const bar = /* @__PURE__ */ jsx(Toolbar.Root, {
31
+ ref: barRef,
27
32
  "data-slot": "toolbar",
28
- className: cn("flex h-(--cue-chrome-toolbar) w-full shrink-0 items-center gap-(--cue-space-2) border-b border-border bg-surface-1 px-(--cue-pad-row-x) data-[orientation=vertical]:h-auto data-[orientation=vertical]:w-(--cue-chrome-toolbar) data-[orientation=vertical]:flex-col data-[orientation=vertical]:border-r data-[orientation=vertical]:border-b-0", className),
29
- ...elementProps
33
+ className: cn("flex h-(--cue-chrome-toolbar) w-full shrink-0 items-center gap-(--cue-space-2) border-b border-border bg-surface-1 px-(--cue-pad-row-x) data-[orientation=vertical]:h-auto data-[orientation=vertical]:w-(--cue-chrome-toolbar) data-[orientation=vertical]:flex-col data-[orientation=vertical]:border-r data-[orientation=vertical]:border-b-0", scrolls ? EDGE_SCROLLER_CLASSES : null, className),
34
+ ...elementProps,
35
+ style: {
36
+ ...elementProps.style,
37
+ ...scroll.style
38
+ }
39
+ });
40
+ if (!scrolls) return bar;
41
+ return /* @__PURE__ */ jsxs("div", {
42
+ "data-slot": "toolbar-frame",
43
+ className: "relative w-full min-w-0 shrink-0",
44
+ children: [bar, /* @__PURE__ */ jsx(EdgeChevrons, {
45
+ edges: scroll.edges,
46
+ onNudge: scroll.nudge,
47
+ previousLabel,
48
+ nextLabel,
49
+ className: "bottom-px bg-surface-1"
50
+ })]
30
51
  });
31
52
  }),
32
53
  Button: React.forwardRef(function ToolbarButton({ className, icon: Icon, children, ...elementProps }, ref) {
@@ -63,8 +63,10 @@ const OVERRIDE_BANNER = "@cueplusplus/ui — theme configurator overrides";
63
63
  */
64
64
  const DENSITY_FACTOR = {
65
65
  "ultra-compact": .85,
66
- "normal": 1,
67
- "large": 1.3
66
+ "compact": 1,
67
+ "normal": 1.3,
68
+ "large": 1.6,
69
+ "ultra-large": 1.9
68
70
  };
69
71
  /** The authored label tracking, and the value the "reset" arrow returns to. */
70
72
  const BASE_TRACKING_LABEL = "0.12em";
@@ -4,8 +4,8 @@ import { Button } from "../primitives/button.js";
4
4
  import { Chip } from "../primitives/chip.js";
5
5
  import { useIsomorphicLayoutEffect } from "../system/use-isomorphic-layout-effect.js";
6
6
  import { overlaySurfaceClasses } from "../overlays/_surface.js";
7
- import { TwoStepButton } from "../instruments/two-step-button.js";
8
7
  import { IconButton } from "../primitives/icon-button.js";
8
+ import { TwoStepButton } from "../instruments/two-step-button.js";
9
9
  import { useTheme } from "../system/use-theme.js";
10
10
  import { DEFAULT_CONFIGURATOR_STORAGE_KEY, EMPTY_OVERRIDES, applyOverrideCss, clearOverride, configuratorCss, defaultSnapshot, isOverridden, overrideCount, readSnapshot, removeOverrideStyles, resolveValue, resolvedTokens, setOverride, writeSnapshot } from "./_overrides.js";
11
11
  import { ChevronGlyph, DockGlyph, GripGlyph } from "./_glyphs.js";
@@ -39,11 +39,17 @@ const MODE_ITEMS = [
39
39
  label: "System"
40
40
  }
41
41
  ];
42
- /** Short labels for a 19rem panel; the values are the ladder's own names. */
42
+ /**
43
+ * Labels for a 19rem panel. Five rungs will not fit as words — `Ultra-compact`
44
+ * and `Ultra-large` alone are 25 characters — so the segmented control wears
45
+ * the garment sizes and the value it sets is still the ladder's own name.
46
+ */
43
47
  const DENSITY_LABELS = {
44
- "ultra-compact": "Ultra",
45
- "normal": "Normal",
46
- "large": "Large"
48
+ "ultra-compact": "XS",
49
+ "compact": "S",
50
+ "normal": "M",
51
+ "large": "L",
52
+ "ultra-large": "XL"
47
53
  };
48
54
  /** Bounds of the text-scale knob, from spec §6's `fontScale`. */
49
55
  const FONT_SCALE = {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { useIsomorphicLayoutEffect } from "../system/use-isomorphic-layout-effect.js";
4
+ import { useComposedRefs } from "../lib/compose.js";
4
5
  import { useCuePortalProps } from "../system/portal.js";
5
6
  import { usePrefersReducedMotion } from "../instruments/_motion.js";
6
- import { useComposedRefs } from "../lib/compose.js";
7
7
  import { DMX_RAMP_NAMES, activeChannels, dmxPalette, dmxPaletteColor, dmxPaletteInk } from "./_ramp.js";
8
8
  import { DmxReadout } from "./_readout.js";
9
9
  import * as React from "react";
@@ -37,7 +37,7 @@ const OTPField$1 = React.forwardRef(function OTPField$2({ length = 6, size = "md
37
37
  length,
38
38
  "aria-label": ariaLabel,
39
39
  "data-slot": "otp-field",
40
- className: cn("flex items-center gap-(--cue-space-2)", className),
40
+ className: cn("relative flex items-center gap-(--cue-space-2)", className),
41
41
  ...elementProps,
42
42
  children: [ariaLabel === void 0 ? null : /* @__PURE__ */ jsx("label", {
43
43
  htmlFor: fieldId,
package/dist/index.d.ts CHANGED
@@ -7,9 +7,17 @@ import { Message, MessageProps, MessageRole } from "./chat/message.js";
7
7
  import { MessageList, MessageListProps } from "./chat/message-list.js";
8
8
  import "./chat/index.js";
9
9
  import { ScrollEdges, TAB_FADE_PX, computeScrollEdges, edgeFadeMask } from "./chrome/_tabs-scroll.js";
10
+ import { BarOverflow } from "./chrome/_edge-scroller.js";
10
11
  import { TREE_GUIDE_GLYPHS, TreeGuide, TreeItem, TreeRow, flattenTree } from "./chrome/_tree.js";
12
+ import { Link, LinkProps, linkVariants } from "./layout/link.js";
13
+ import { Separator, SeparatorProps } from "./primitives/separator.js";
14
+ import { AppBar, AppBarActionsProps, AppBarBrandProps, AppBarLinkProps, AppBarNavProps, AppBarRegister, AppBarRootProps, AppBarSeparatorProps } from "./chrome/app-bar.js";
15
+ import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./layout/sidebar.js";
16
+ import { AppShell, AppShellAsideProps, AppShellBodyProps, AppShellContentProps, AppShellNavTriggerProps, AppShellRootProps, AppShellScrollerProps, AppShellSidebarProps } from "./chrome/app-shell.js";
11
17
  import { EmptyState, EmptyStateProps } from "./chrome/empty-state.js";
12
18
  import { Eyebrow, EyebrowProps } from "./chrome/eyebrow.js";
19
+ import { Container, ContainerProps, ContainerWidth } from "./layout/container.js";
20
+ import { Footer, FooterProps } from "./chrome/footer.js";
13
21
  import { NavigationMenu, NavigationMenuContentProps, NavigationMenuItemProps, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootProps, NavigationMenuTriggerProps, NavigationMenuViewportProps } from "./chrome/navigation-menu.js";
14
22
  import { PageShell, PageShellProps, PageWidth } from "./chrome/page-shell.js";
15
23
  import { Panel, PanelHeader, PanelHeaderProps, PanelProps } from "./chrome/panel.js";
@@ -50,6 +58,11 @@ import { Textarea, TextareaProps } from "./forms/textarea.js";
50
58
  import { Toggle, ToggleProps } from "./forms/toggle.js";
51
59
  import { ToggleGroup, ToggleGroupProps } from "./forms/toggle-group.js";
52
60
  import "./forms/index.js";
61
+ import { BrandAssetProps, BrandSize, BrandTone } from "./brand/_chassis.js";
62
+ import { CueLogotype, CueLogotypeProps } from "./brand/cue-logotype.js";
63
+ import { CueMark, CueMarkProps } from "./brand/cue-mark.js";
64
+ import { Plussie, PlussieExpression, PlussieProps } from "./brand/plussie.js";
65
+ import "./brand/index.js";
53
66
  import { AppWindowFrame, AppWindowFrameProps } from "./instruments/app-window-frame.js";
54
67
  import { Button, ButtonProps, buttonVariants } from "./primitives/button.js";
55
68
  import { CopyButton, CopyButtonProps } from "./instruments/copy-button.js";
@@ -68,14 +81,11 @@ import { Accordion, AccordionHeaderProps, AccordionItemProps, AccordionPanelProp
68
81
  import { Breadcrumb, BreadcrumbItem, BreadcrumbProps } from "./layout/breadcrumb.js";
69
82
  import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardRootProps, CardTitleProps } from "./layout/card.js";
70
83
  import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./layout/collapsible.js";
71
- import { Container, ContainerProps, ContainerWidth } from "./layout/container.js";
72
84
  import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./layout/description-list.js";
73
85
  import { SpaceStep, Stack, StackAlign, StackJustify, StackProps } from "./layout/stack.js";
74
86
  import { Grid, GridColumns, GridProps } from "./layout/grid.js";
75
87
  import { Item, ItemProps, itemVariants } from "./layout/item.js";
76
- import { Link, LinkProps, linkVariants } from "./layout/link.js";
77
88
  import { Pagination, PaginationEntry, PaginationProps, paginationRange } from "./layout/pagination.js";
78
- import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./layout/sidebar.js";
79
89
  import { Stepper, StepperProps, StepperState, StepperStep } from "./layout/stepper.js";
80
90
  import { StatusDot, StatusDotProps, StatusTone } from "./primitives/status-dot.js";
81
91
  import { Timeline, TimelineContentProps, TimelineItemProps, TimelineMarkerProps, TimelineRootProps } from "./layout/timeline.js";
@@ -99,7 +109,6 @@ import { Avatar, AvatarGroup, AvatarGroupProps, AvatarProps, AvatarSize } from "
99
109
  import { Chip, ChipProps, chipVariants } from "./primitives/chip.js";
100
110
  import { IconButton, IconButtonProps } from "./primitives/icon-button.js";
101
111
  import { Kbd, KbdProps } from "./primitives/kbd.js";
102
- import { Separator, SeparatorProps } from "./primitives/separator.js";
103
112
  import { Skeleton, SkeletonProps } from "./primitives/skeleton.js";
104
113
  import { Spinner, SpinnerProps } from "./primitives/spinner.js";
105
114
  import "./primitives/index.js";
@@ -108,5 +117,5 @@ import { CuePortalFrame, CuePortalFrameProps, useCuePortalProps } from "./system
108
117
  import { DEFAULT_STORAGE_KEY, PersistedPreferences, prepaintScript } from "./system/prepaint.js";
109
118
  import { ControlSize, useControlHeight, useDensity } from "./system/use-density.js";
110
119
  import { useTheme } from "./system/use-theme.js";
111
- import { DensityLevel, Mode, ThemeName } from "./system/index.js";
112
- export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, type AgentColorOptions, AgentPile, type AgentPileEntry, type AgentPileProps, type AgentPileSize, AlertDialog, type AlertDialogActionProps, type AlertDialogCancelProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogRootProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, AppWindowFrame, type AppWindowFrameProps, type AskAnswer, AskBox, type AskBoxProps, type AskDanger, type AskKind, type AskOption, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Combobox, type ComboboxOption, type ComboboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, Composer, type ComposerProps, type ComposerSubmitKey, Container, type ContainerProps, type ContainerWidth, ContextMenu, type ContextMenuContentProps, type ContextMenuRootProps, type ContextMenuTriggerProps, type ControlSize, type ControlVariantProps, CopyButton, type CopyButtonProps, CuePortalFrame, type CuePortalFrameProps, DEFAULT_STORAGE_KEY, DelegationCard, type DelegationCardProps, type DelegationDirection, type DelegationStatus, Density, type DensityLevel, type DensityProps, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Dialog, type DialogCloseProps, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps, Disclosure, type DisclosureProps, Drawer, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerRootProps, type DrawerSwipeDirection, type DrawerTitleProps, type DrawerTriggerProps, DropdownMenu, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuGroupProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuRootProps, type DropdownMenuSeparatorProps, type DropdownMenuTriggerProps, EmptyState, type EmptyStateProps, EnvVarInput, type EnvVarInputProps, Eyebrow, type EyebrowProps, Field, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, type FieldIssue, FieldLabel, type FieldLabelProps, type FieldProps, type FilePartition, type FilePartitionOptions, type FileRejectReason, type FileRejection, FileUpload, type FileUploadProps, type FormControlSize, Grid, type GridColumns, type GridProps, GroupBar, type GroupBarItem, type GroupBarProps, type GroupBarTone, HoverCard, type HoverCardContentProps, type HoverCardRootProps, type HoverCardTriggerProps, IconButton, type IconButtonProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, Item, type ItemProps, Kbd, type KbdProps, Link, type LinkProps, Menubar, type MenubarContentProps, type MenubarMenuProps, type MenubarRootProps, type MenubarTriggerProps, Message, MessageList, type MessageListProps, type MessageProps, type MessageRole, Meter, type MeterProps, type MeterProvenance, type MeterTone, type Mode, MultiSelect, type MultiSelectProps, NavigationMenu, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps, NumberField, type NumberFieldProps, OTPField, type OTPFieldProps, OVERLAY_SIDE_OFFSET, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, PasswordInput, type PasswordInputProps, type PersistedPreferences, Popover, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverRootProps, type PopoverTitleProps, type PopoverTriggerProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RatingSize, type ResolvedMode, Row, type RowProps, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, type ScrollEdges, ScrollableTabsList, type ScrollableTabsListProps, ScrubInput, type ScrubInputProps, SeamCell, type SeamCellProps, SeamGrid, type SeamGridProps, type SeamGround, SeamList, type SeamListProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetCloseProps, type SheetContentProps, type SheetDescriptionProps, type SheetFooterProps, type SheetRootProps, type SheetTitleProps, type SheetTriggerProps, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SpaceStep, Sparkline, type SparklineProps, Spinner, type SpinnerProps, Stack, type StackAlign, type StackJustify, type StackProps, Stat, type StatProps, type StatTone, StatusBar, type StatusBarItemProps, type StatusBarProps, type StatusBarTone, StatusDot, type StatusDotProps, type StatusTone, Stepper, type StepperProps, type StepperState, type StepperStep, Switch, type SwitchProps, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, type TableCaptionProps, type TableCellProps, type TableHeadProps, type TableRootProps, type TableRowProps, type TableSectionProps, Tabs, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps, TagsInput, type TagsInputProps, TerminalFrame, type TerminalFrameLine, type TerminalFrameProps, type TerminalLine, type TerminalLineTone, type TerminalScript, type TerminalStep, Textarea, type TextareaProps, type ThemeContextValue, type ThemeName, ThemeProvider, type ThemeProviderProps, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, TitleBar, type TitleBarProps, Toast, type ToastManager, type ToastOptions, type ToastProviderProps, type ToastTone, type ToastViewportProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, Toolbar, type ToolbarButtonProps, type ToolbarGroupProps, type ToolbarRootProps, type ToolbarSeparatorProps, Tooltip, type TooltipContentProps, type TooltipProviderProps, type TooltipRootProps, type TooltipTriggerProps, Tree, type TreeGuide, type TreeItem, type TreeProps, type TreeRow, type TreeVisibility, TreeVisibilityToggle, type TreeVisibilityToggleProps, TwoStepButton, type TwoStepButtonProps, type TwoStepTone, type UploadFile, type UploadStatus, UsageChart, type UsageChartPoint, type UsageChartProps, type UsageChartTone, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensity, useSidebar, useTheme, useToast };
120
+ import { DensityLevel, FontName, Mode, ThemeName } from "./system/index.js";
121
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, type AgentColorOptions, AgentPile, type AgentPileEntry, type AgentPileProps, type AgentPileSize, AlertDialog, type AlertDialogActionProps, type AlertDialogCancelProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogRootProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, AppBar, type AppBarActionsProps, type AppBarBrandProps, type AppBarLinkProps, type AppBarNavProps, type AppBarRegister, type AppBarRootProps, type AppBarSeparatorProps, AppShell, type AppShellAsideProps, type AppShellBodyProps, type AppShellContentProps, type AppShellNavTriggerProps, type AppShellRootProps, type AppShellScrollerProps, type AppShellSidebarProps, AppWindowFrame, type AppWindowFrameProps, type AskAnswer, AskBox, type AskBoxProps, type AskDanger, type AskKind, type AskOption, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type BarOverflow, type BrandAssetProps, type BrandSize, type BrandTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Combobox, type ComboboxOption, type ComboboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, Composer, type ComposerProps, type ComposerSubmitKey, Container, type ContainerProps, type ContainerWidth, ContextMenu, type ContextMenuContentProps, type ContextMenuRootProps, type ContextMenuTriggerProps, type ControlSize, type ControlVariantProps, CopyButton, type CopyButtonProps, CueLogotype, type CueLogotypeProps, CueMark, type CueMarkProps, CuePortalFrame, type CuePortalFrameProps, DEFAULT_STORAGE_KEY, DelegationCard, type DelegationCardProps, type DelegationDirection, type DelegationStatus, Density, type DensityLevel, type DensityProps, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Dialog, type DialogCloseProps, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps, Disclosure, type DisclosureProps, Drawer, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerRootProps, type DrawerSwipeDirection, type DrawerTitleProps, type DrawerTriggerProps, DropdownMenu, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuGroupProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuRootProps, type DropdownMenuSeparatorProps, type DropdownMenuTriggerProps, EmptyState, type EmptyStateProps, EnvVarInput, type EnvVarInputProps, Eyebrow, type EyebrowProps, Field, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, type FieldIssue, FieldLabel, type FieldLabelProps, type FieldProps, type FilePartition, type FilePartitionOptions, type FileRejectReason, type FileRejection, FileUpload, type FileUploadProps, type FontName, Footer, type FooterProps, type FormControlSize, Grid, type GridColumns, type GridProps, GroupBar, type GroupBarItem, type GroupBarProps, type GroupBarTone, HoverCard, type HoverCardContentProps, type HoverCardRootProps, type HoverCardTriggerProps, IconButton, type IconButtonProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, Item, type ItemProps, Kbd, type KbdProps, Link, type LinkProps, Menubar, type MenubarContentProps, type MenubarMenuProps, type MenubarRootProps, type MenubarTriggerProps, Message, MessageList, type MessageListProps, type MessageProps, type MessageRole, Meter, type MeterProps, type MeterProvenance, type MeterTone, type Mode, MultiSelect, type MultiSelectProps, NavigationMenu, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps, NumberField, type NumberFieldProps, OTPField, type OTPFieldProps, OVERLAY_SIDE_OFFSET, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, PasswordInput, type PasswordInputProps, type PersistedPreferences, Plussie, type PlussieExpression, type PlussieProps, Popover, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverRootProps, type PopoverTitleProps, type PopoverTriggerProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RatingSize, type ResolvedMode, Row, type RowProps, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, type ScrollEdges, ScrollableTabsList, type ScrollableTabsListProps, ScrubInput, type ScrubInputProps, SeamCell, type SeamCellProps, SeamGrid, type SeamGridProps, type SeamGround, SeamList, type SeamListProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetCloseProps, type SheetContentProps, type SheetDescriptionProps, type SheetFooterProps, type SheetRootProps, type SheetTitleProps, type SheetTriggerProps, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SpaceStep, Sparkline, type SparklineProps, Spinner, type SpinnerProps, Stack, type StackAlign, type StackJustify, type StackProps, Stat, type StatProps, type StatTone, StatusBar, type StatusBarItemProps, type StatusBarProps, type StatusBarTone, StatusDot, type StatusDotProps, type StatusTone, Stepper, type StepperProps, type StepperState, type StepperStep, Switch, type SwitchProps, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, type TableCaptionProps, type TableCellProps, type TableHeadProps, type TableRootProps, type TableRowProps, type TableSectionProps, Tabs, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps, TagsInput, type TagsInputProps, TerminalFrame, type TerminalFrameLine, type TerminalFrameProps, type TerminalLine, type TerminalLineTone, type TerminalScript, type TerminalStep, Textarea, type TextareaProps, type ThemeContextValue, type ThemeName, ThemeProvider, type ThemeProviderProps, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, TitleBar, type TitleBarProps, Toast, type ToastManager, type ToastOptions, type ToastProviderProps, type ToastTone, type ToastViewportProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, Toolbar, type ToolbarButtonProps, type ToolbarGroupProps, type ToolbarRootProps, type ToolbarSeparatorProps, Tooltip, type TooltipContentProps, type TooltipProviderProps, type TooltipRootProps, type TooltipTriggerProps, Tree, type TreeGuide, type TreeItem, type TreeProps, type TreeRow, type TreeVisibility, TreeVisibilityToggle, type TreeVisibilityToggleProps, TwoStepButton, type TwoStepButtonProps, type TwoStepTone, type UploadFile, type UploadStatus, UsageChart, type UsageChartPoint, type UsageChartProps, type UsageChartTone, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensity, useSidebar, useTheme, useToast };
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
+ import { CueLogotype } from "./brand/cue-logotype.js";
2
+ import { CueMark } from "./brand/cue-mark.js";
3
+ import { Plussie } from "./brand/plussie.js";
1
4
  import { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, agentColor, agentColorStyle } from "./chat/agent-color.js";
2
5
  import { AgentPile } from "./chat/agent-pile.js";
3
6
  import { Checkbox, CheckboxGroup } from "./forms/checkbox.js";
@@ -16,13 +19,22 @@ import { Message } from "./chat/message.js";
16
19
  import { MessageList } from "./chat/message-list.js";
17
20
  import { TAB_FADE_PX, computeScrollEdges, edgeFadeMask } from "./chrome/_tabs-scroll.js";
18
21
  import { TREE_GUIDE_GLYPHS, flattenTree } from "./chrome/_tree.js";
19
- import { EmptyState } from "./chrome/empty-state.js";
20
- import { Eyebrow } from "./chrome/eyebrow.js";
22
+ import { Link, linkVariants } from "./layout/link.js";
23
+ import { Separator } from "./primitives/separator.js";
24
+ import { AppBar } from "./chrome/app-bar.js";
25
+ import { Sidebar, useSidebar } from "./layout/sidebar.js";
21
26
  import { Density } from "./system/density.js";
22
27
  import { DEFAULT_STORAGE_KEY, prepaintScript } from "./system/prepaint.js";
23
28
  import { ThemeProvider } from "./system/theme-provider.js";
24
29
  import { CuePortalFrame, useCuePortalProps } from "./system/portal.js";
25
30
  import { OVERLAY_SIDE_OFFSET, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, scrimClasses } from "./overlays/_surface.js";
31
+ import { Drawer } from "./overlays/drawer.js";
32
+ import { IconButton } from "./primitives/icon-button.js";
33
+ import { AppShell } from "./chrome/app-shell.js";
34
+ import { EmptyState } from "./chrome/empty-state.js";
35
+ import { Eyebrow } from "./chrome/eyebrow.js";
36
+ import { Container } from "./layout/container.js";
37
+ import { Footer } from "./chrome/footer.js";
26
38
  import { NavigationMenu } from "./chrome/navigation-menu.js";
27
39
  import { PageShell } from "./chrome/page-shell.js";
28
40
  import { Panel, PanelHeader } from "./chrome/panel.js";
@@ -70,15 +82,11 @@ import { Accordion } from "./layout/accordion.js";
70
82
  import { Breadcrumb } from "./layout/breadcrumb.js";
71
83
  import { Card } from "./layout/card.js";
72
84
  import { Collapsible, Disclosure } from "./layout/collapsible.js";
73
- import { Container } from "./layout/container.js";
74
85
  import { DescriptionList } from "./layout/description-list.js";
75
86
  import { Stack } from "./layout/stack.js";
76
87
  import { Grid } from "./layout/grid.js";
77
88
  import { Item, itemVariants } from "./layout/item.js";
78
- import { Link, linkVariants } from "./layout/link.js";
79
- import { IconButton } from "./primitives/icon-button.js";
80
89
  import { Pagination, paginationRange } from "./layout/pagination.js";
81
- import { Sidebar, useSidebar } from "./layout/sidebar.js";
82
90
  import { Stepper } from "./layout/stepper.js";
83
91
  import { StatusDot } from "./primitives/status-dot.js";
84
92
  import { Timeline } from "./layout/timeline.js";
@@ -87,7 +95,6 @@ import { CommandPalette } from "./overlays/command-palette.js";
87
95
  import { DropdownMenu } from "./overlays/dropdown-menu.js";
88
96
  import { ContextMenu } from "./overlays/context-menu.js";
89
97
  import { Dialog } from "./overlays/dialog.js";
90
- import { Drawer } from "./overlays/drawer.js";
91
98
  import { HoverCard } from "./overlays/hover-card.js";
92
99
  import { Tooltip } from "./overlays/tooltip.js";
93
100
  import { InfoTip } from "./overlays/info-tip.js";
@@ -97,8 +104,7 @@ import { Sheet } from "./overlays/sheet.js";
97
104
  import { Toast, useToast } from "./overlays/toast.js";
98
105
  import { Avatar, AvatarGroup } from "./primitives/avatar.js";
99
106
  import { Kbd } from "./primitives/kbd.js";
100
- import { Separator } from "./primitives/separator.js";
101
107
  import { Skeleton } from "./primitives/skeleton.js";
102
108
  import { useControlHeight, useDensity } from "./system/use-density.js";
103
109
  import { useTheme } from "./system/use-theme.js";
104
- export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AppWindowFrame, AskBox, Autocomplete, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, Checkbox, CheckboxGroup, Chip, Collapsible, Combobox, CommandPalette, Composer, Container, ContextMenu, CopyButton, CuePortalFrame, DEFAULT_STORAGE_KEY, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, Grid, GroupBar, HoverCard, IconButton, InfoTip, Input, InputGroup, Item, Kbd, Link, Menubar, Message, MessageList, Meter, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PageShell, Pagination, Panel, PanelHeader, PasswordInput, Popover, Progress, Radio, RadioGroup, Rating, Row, ScrollArea, ScrollableTabsList, ScrubInput, SeamCell, SeamGrid, SeamList, SearchInput, SectionHeader, SegmentedControl, Select, Separator, Sheet, Sidebar, Skeleton, Slider, Sparkline, Spinner, Stack, Stat, StatusBar, StatusDot, Stepper, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, Tabs, TagsInput, TerminalFrame, Textarea, ThemeProvider, Timeline, TitleBar, Toast, Toggle, ToggleGroup, Toolbar, Tooltip, Tree, TreeVisibilityToggle, TwoStepButton, UsageChart, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensity, useSidebar, useTheme, useToast };
110
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AppBar, AppShell, AppWindowFrame, AskBox, Autocomplete, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, Checkbox, CheckboxGroup, Chip, Collapsible, Combobox, CommandPalette, Composer, Container, ContextMenu, CopyButton, CueLogotype, CueMark, CuePortalFrame, DEFAULT_STORAGE_KEY, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, Footer, Grid, GroupBar, HoverCard, IconButton, InfoTip, Input, InputGroup, Item, Kbd, Link, Menubar, Message, MessageList, Meter, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PageShell, Pagination, Panel, PanelHeader, PasswordInput, Plussie, Popover, Progress, Radio, RadioGroup, Rating, Row, ScrollArea, ScrollableTabsList, ScrubInput, SeamCell, SeamGrid, SeamList, SearchInput, SectionHeader, SegmentedControl, Select, Separator, Sheet, Sidebar, Skeleton, Slider, Sparkline, Spinner, Stack, Stat, StatusBar, StatusDot, Stepper, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, Tabs, TagsInput, TerminalFrame, Textarea, ThemeProvider, Timeline, TitleBar, Toast, Toggle, ToggleGroup, Toolbar, Tooltip, Tree, TreeVisibilityToggle, TwoStepButton, UsageChart, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensity, useSidebar, useTheme, useToast };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { IconButton } from "../primitives/icon-button.js";
3
4
  import { SearchInput } from "../forms/search-input.js";
4
5
  import { ChevronLeftGlyph, ChevronRightGlyph, ChevronsLeftGlyph, ChevronsRightGlyph } from "./_glyphs.js";
5
- import { IconButton } from "../primitives/icon-button.js";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { columnFilteringFeature, createColumnHelper, createFilteredRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_inNumberRange, filterFn_includesString, flexRender, globalFilteringFeature, rowPaginationFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_basic, sortFn_datetime, sortFn_text, tableFeatures, useTable } from "@tanstack/react-table";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { ChevronLeftGlyph, ChevronRightGlyph } from "./_glyphs.js";
4
3
  import { IconButton } from "../primitives/icon-button.js";
4
+ import { ChevronLeftGlyph, ChevronRightGlyph } from "./_glyphs.js";
5
5
  import * as React from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  import useEmblaCarousel from "embla-carousel-react";
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  //#region src/layout/container.d.ts
3
3
  /** How wide the content column is allowed to get. */
4
- type ContainerWidth = "narrow" | "wide" | "full";
4
+ type ContainerWidth = "narrow" | "wide" | "broad" | "full";
5
5
  interface ContainerProps extends React.ComponentPropsWithoutRef<"div"> {
6
6
  /** Which measure the column takes. Defaults to `"narrow"`. */
7
7
  width?: ContainerWidth;
@@ -3,15 +3,18 @@ import * as React from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/layout/container.tsx
5
5
  /**
6
- * The same two measures `PageShell` uses, plus an uncapped one.
6
+ * The same four measures `PageShell` uses.
7
7
  *
8
8
  * `narrow` (42rem) is a reading column — settings, forms, prose. `wide` (54rem)
9
- * is a working column — tables and panel grids. `full` caps nothing, for a
10
- * console layout that owns the whole viewport and only wants the gutters.
9
+ * is a working column — tables and panel grids. `broad` (84rem) is the
10
+ * application measure, wide enough for a two-column page or a device frame.
11
+ * `full` caps nothing, for a console layout that owns the whole viewport and
12
+ * only wants the gutters.
11
13
  */
12
14
  const WIDTHS = {
13
15
  narrow: "max-w-[42rem]",
14
16
  wide: "max-w-[54rem]",
17
+ broad: "max-w-[84rem]",
15
18
  full: ""
16
19
  };
17
20
  /**
@@ -1,15 +1,15 @@
1
+ import { Link, LinkProps, linkVariants } from "./link.js";
2
+ import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./sidebar.js";
3
+ import { Container, ContainerProps, ContainerWidth } from "./container.js";
1
4
  import { Accordion, AccordionHeaderProps, AccordionItemProps, AccordionPanelProps, AccordionRootProps, AccordionTriggerProps } from "./accordion.js";
2
5
  import { Breadcrumb, BreadcrumbItem, BreadcrumbProps } from "./breadcrumb.js";
3
6
  import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardRootProps, CardTitleProps } from "./card.js";
4
7
  import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./collapsible.js";
5
- import { Container, ContainerProps, ContainerWidth } from "./container.js";
6
8
  import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./description-list.js";
7
9
  import { SpaceStep, Stack, StackAlign, StackJustify, StackProps } from "./stack.js";
8
10
  import { Grid, GridColumns, GridProps } from "./grid.js";
9
11
  import { Item, ItemProps, itemVariants } from "./item.js";
10
- import { Link, LinkProps, linkVariants } from "./link.js";
11
12
  import { Pagination, PaginationEntry, PaginationProps, paginationRange } from "./pagination.js";
12
- import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./sidebar.js";
13
13
  import { Stepper, StepperProps, StepperState, StepperStep } from "./stepper.js";
14
14
  import { Timeline, TimelineContentProps, TimelineItemProps, TimelineMarkerProps, TimelineRootProps } from "./timeline.js";
15
15
  export { Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Container, type ContainerProps, type ContainerWidth, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Disclosure, type DisclosureProps, Grid, type GridColumns, type GridProps, Item, type ItemProps, Link, type LinkProps, Pagination, type PaginationEntry, type PaginationProps, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, type SpaceStep, Stack, type StackAlign, type StackJustify, type StackProps, Stepper, type StepperProps, type StepperState, type StepperStep, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, itemVariants, linkVariants, paginationRange, useSidebar };
@@ -1,15 +1,15 @@
1
+ import { Link, linkVariants } from "./link.js";
2
+ import { Sidebar, useSidebar } from "./sidebar.js";
3
+ import { Container } from "./container.js";
1
4
  import { Accordion } from "./accordion.js";
2
5
  import { Breadcrumb } from "./breadcrumb.js";
3
6
  import { Card } from "./card.js";
4
7
  import { Collapsible, Disclosure } from "./collapsible.js";
5
- import { Container } from "./container.js";
6
8
  import { DescriptionList } from "./description-list.js";
7
9
  import { Stack } from "./stack.js";
8
10
  import { Grid } from "./grid.js";
9
11
  import { Item, itemVariants } from "./item.js";
10
- import { Link, linkVariants } from "./link.js";
11
12
  import { Pagination, paginationRange } from "./pagination.js";
12
- import { Sidebar, useSidebar } from "./sidebar.js";
13
13
  import { Stepper } from "./stepper.js";
14
14
  import { Timeline } from "./timeline.js";
15
15
  export { Accordion, Breadcrumb, Card, Collapsible, Container, DescriptionList, Disclosure, Grid, Item, Link, Pagination, Sidebar, Stack, Stepper, Timeline, itemVariants, linkVariants, paginationRange, useSidebar };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { ChevronLeftGlyph, ChevronRightGlyph } from "./_glyphs.js";
4
3
  import { IconButton } from "../primitives/icon-button.js";
4
+ import { ChevronLeftGlyph, ChevronRightGlyph } from "./_glyphs.js";
5
5
  import * as React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/layout/pagination.tsx
@@ -7,7 +7,27 @@ interface SidebarContextValue {
7
7
  }
8
8
  /** Read the collapse state of the nearest {@link SidebarRoot}. */
9
9
  declare function useSidebar(): SidebarContextValue;
10
+ /**
11
+ * Which landmark a navigation column announces as.
12
+ *
13
+ * `"navigation"` renders `<nav>`, `"complementary"` renders `<aside>`. Two
14
+ * values rather than a free `role`, because those are the only two a column of
15
+ * destinations can honestly be — and naming the landmark keeps the element and
16
+ * the role from ever disagreeing.
17
+ */
18
+ type SidebarLandmark = "navigation" | "complementary";
10
19
  interface SidebarRootProps extends React.ComponentPropsWithoutRef<"aside"> {
20
+ /**
21
+ * Which landmark the column is. Defaults to `"navigation"`, rendering
22
+ * `<nav>`; `"complementary"` renders `<aside>` instead.
23
+ *
24
+ * A column of `Sidebar.Item`s is a list of destinations, one of which carries
25
+ * `aria-current="page"` — that is primary navigation, and announcing it as
26
+ * complementary tells a screen-reader user the site's main map is an aside.
27
+ * `"complementary"` is there for the column that genuinely is one: a filter
28
+ * rail, an inspector, a related-links strip.
29
+ */
30
+ landmark?: SidebarLandmark;
11
31
  /** Collapsed state when controlled. Pass with `onCollapsedChange`. */
12
32
  collapsed?: boolean;
13
33
  /** Initial collapsed state when uncontrolled. Defaults to `false`. */
@@ -46,8 +66,8 @@ interface SidebarRailProps extends Omit<React.ComponentPropsWithoutRef<"button">
46
66
  expandLabel?: string;
47
67
  }
48
68
  /**
49
- * The console's navigation column: sections of items, and a rail that collapses
50
- * the whole thing to icons.
69
+ * The console's navigation column: sections of items, a scroller of its own,
70
+ * and a rail that collapses the whole thing to icons.
51
71
  *
52
72
  * @example
53
73
  * <Sidebar.Root defaultCollapsed aria-label="Main">
@@ -64,4 +84,4 @@ declare const Sidebar: {
64
84
  Rail: React.ForwardRefExoticComponent<SidebarRailProps & React.RefAttributes<HTMLButtonElement>>;
65
85
  };
66
86
  //#endregion
67
- export { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar };
87
+ export { Sidebar, SidebarItemProps, SidebarLandmark, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar };
@@ -19,9 +19,14 @@ const SidebarContext = React.createContext({
19
19
  function useSidebar() {
20
20
  return React.useContext(SidebarContext);
21
21
  }
22
+ /** The element each landmark is spelled with. */
23
+ const LANDMARK_ELEMENTS = {
24
+ navigation: "nav",
25
+ complementary: "aside"
26
+ };
22
27
  /**
23
- * The console's navigation column: sections of items, and a rail that collapses
24
- * the whole thing to icons.
28
+ * The console's navigation column: sections of items, a scroller of its own,
29
+ * and a rail that collapses the whole thing to icons.
25
30
  *
26
31
  * @example
27
32
  * <Sidebar.Root defaultCollapsed aria-label="Main">
@@ -32,7 +37,8 @@ function useSidebar() {
32
37
  * </Sidebar.Root>
33
38
  */
34
39
  const Sidebar = {
35
- Root: React.forwardRef(function SidebarRoot({ className, collapsed: collapsedProp, defaultCollapsed = false, onCollapsedChange, width = "14rem", collapsedWidth = "3rem", style, ...elementProps }, ref) {
40
+ Root: React.forwardRef(function SidebarRoot({ className, landmark = "navigation", collapsed: collapsedProp, defaultCollapsed = false, onCollapsedChange, width = "14rem", collapsedWidth = "3rem", style, children, ...elementProps }, ref) {
41
+ const Element = LANDMARK_ELEMENTS[landmark];
36
42
  const [uncontrolled, setUncontrolled] = React.useState(defaultCollapsed);
37
43
  const collapsed = collapsedProp ?? uncontrolled;
38
44
  const toggle = React.useCallback(() => {
@@ -50,16 +56,21 @@ const Sidebar = {
50
56
  }), [collapsed, toggle]);
51
57
  return /* @__PURE__ */ jsx(SidebarContext.Provider, {
52
58
  value: context,
53
- children: /* @__PURE__ */ jsx("aside", {
59
+ children: /* @__PURE__ */ jsx(Element, {
54
60
  ref,
55
61
  "data-slot": "sidebar",
56
62
  "data-collapsed": collapsed ? "" : void 0,
57
- className: cn("group/sidebar relative flex h-full shrink-0 flex-col gap-(--cue-space-4) border-r border-border bg-surface-1 py-(--cue-space-4) transition-[width] duration-150 ease-out motion-reduce:transition-none", className),
63
+ className: cn("group/sidebar relative flex h-full min-h-0 shrink-0 flex-col border-r border-border bg-surface-1 transition-[width] duration-150 ease-out motion-reduce:transition-none", className),
58
64
  style: {
59
65
  width: collapsed ? collapsedWidth : width,
60
66
  ...style
61
67
  },
62
- ...elementProps
68
+ ...elementProps,
69
+ children: /* @__PURE__ */ jsx("div", {
70
+ "data-slot": "sidebar-scroller",
71
+ className: "flex min-h-0 flex-1 flex-col gap-(--cue-space-4) overflow-y-auto py-(--cue-space-4)",
72
+ children
73
+ })
63
74
  })
64
75
  });
65
76
  }),
@@ -88,7 +99,7 @@ const Sidebar = {
88
99
  "data-slot": "sidebar-item",
89
100
  "data-active": active ? "" : void 0,
90
101
  "aria-current": active ? "page" : void 0,
91
- className: cn("flex h-control-md w-full cursor-pointer items-center gap-(--cue-space-3) rounded-(--radius-control) border-0 bg-transparent px-(--cue-space-3) text-left font-mono text-(length:--cue-text-ui) text-fg-muted no-underline transition-colors duration-150 outline-none select-none hover:bg-surface-2 hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-1 focus-visible:outline-accent data-[active]:bg-accent-soft data-[active]:text-accent disabled:pointer-events-none disabled:opacity-40", className),
102
+ className: cn("relative flex h-control-md w-full cursor-pointer items-center gap-(--cue-space-3) rounded-(--radius-control) border-0 bg-transparent px-(--cue-space-3) text-left font-mono text-(length:--cue-text-ui) text-fg-muted no-underline transition-colors duration-150 outline-none select-none hover:bg-surface-2 hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-1 focus-visible:outline-accent data-[active]:bg-accent-soft data-[active]:text-accent disabled:pointer-events-none disabled:opacity-40", className),
92
103
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
93
104
  Icon === void 0 ? null : /* @__PURE__ */ jsx(Icon, {
94
105
  "aria-hidden": "true",
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { useIsomorphicLayoutEffect } from "../system/use-isomorphic-layout-effect.js";
4
- import { toRem } from "../instruments/_rem.js";
5
4
  import { useComposedRefs } from "../lib/compose.js";
5
+ import { toRem } from "../instruments/_rem.js";
6
6
  import { resolveToken } from "../charts/_token.js";
7
7
  import { RAMPS } from "../charts/ramps.js";
8
8
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { toRem } from "../instruments/_rem.js";
4
3
  import { useComposedRefs } from "../lib/compose.js";
4
+ import { toRem } from "../instruments/_rem.js";
5
5
  import { DEFAULT_TIME_SIGNATURE, barBeats, beatsToMusical, formatMusicalTime } from "./_time.js";
6
6
  import { rulerTicks } from "./_ruler.js";
7
7
  import * as React from "react";
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { SearchGlyph } from "./_glyphs.js";
3
4
  import { useCuePortalProps } from "../system/portal.js";
4
5
  import { overlayModalTransitionClasses, overlaySurfaceClasses, scrimClasses } from "./_surface.js";
5
6
  import { useDebouncedValue } from "./_debounce.js";
6
- import { SearchGlyph } from "./_glyphs.js";
7
7
  import * as React from "react";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Combobox } from "@base-ui/react/combobox";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { cva } from "../lib/cva.js";
4
+ import { CrossGlyph } from "./_glyphs.js";
4
5
  import { useCuePortalProps } from "../system/portal.js";
5
6
  import { overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlaySurfaceClasses, overlayTitleClasses, scrimClasses } from "./_surface.js";
6
7
  import { IconButton } from "../primitives/icon-button.js";
7
- import { CrossGlyph } from "./_glyphs.js";
8
8
  import * as React from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import { Dialog } from "@base-ui/react/dialog";
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { useComposedRefs } from "../lib/compose.js";
4
+ import { TickGlyph } from "./_glyphs.js";
3
5
  import { useCuePortalProps } from "../system/portal.js";
4
6
  import { menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses } from "./_surface.js";
5
- import { TickGlyph } from "./_glyphs.js";
6
- import { useComposedRefs } from "../lib/compose.js";
7
7
  import { useCloseOnWheel } from "./_wheel.js";
8
8
  import * as React from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { useComposedRefs } from "../lib/compose.js";
3
4
  import { useCuePortalProps } from "../system/portal.js";
4
5
  import { overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses } from "./_surface.js";
5
- import { useComposedRefs } from "../lib/compose.js";
6
6
  import { useCloseOnWheel } from "./_wheel.js";
7
7
  import * as React from "react";
8
8
  import { jsx } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
1
  import { OVERLAY_SIDE_OFFSET, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, scrimClasses } from "./_surface.js";
2
+ import { Drawer } from "./drawer.js";
2
3
  import { AlertDialog } from "./alert-dialog.js";
3
4
  import { CommandPalette } from "./command-palette.js";
4
5
  import { DropdownMenu } from "./dropdown-menu.js";
5
6
  import { ContextMenu } from "./context-menu.js";
6
7
  import { Dialog } from "./dialog.js";
7
- import { Drawer } from "./drawer.js";
8
8
  import { HoverCard } from "./hover-card.js";
9
9
  import { Tooltip } from "./tooltip.js";
10
10
  import { InfoTip } from "./info-tip.js";