@neuronection/assistant-ui 0.15.0 → 0.16.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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/sidebar-nav/SidebarNav.tsx"],"names":["SidebarNav","sectionSeen"],"mappings":"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","file":"chunk-EZTQMJ5I.js","sourcesContent":["import * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport {\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n type LucideIcon,\n} from 'lucide-react'\nimport { cn } from '../../lib/utils'\n\nexport interface NavChild {\n id: string\n label: string\n icon?: LucideIcon\n badge?: string | number\n /** Divider label rendered above this child (first occurrence only). */\n section?: string\n disabled?: boolean\n}\n\nexport interface NavItem {\n id: string\n label: string\n icon?: LucideIcon\n badge?: string | number\n /** One nesting level; deeper trees stay app-side. */\n children?: NavChild[]\n disabled?: boolean\n /** Divider label rendered above this item (first occurrence only) —\n * for flat sidebars with visual groups. Ignored in the collapsed rail. */\n section?: string\n}\n\nexport interface SidebarNavLabels {\n /** aria-label on the <nav> element. */\n navAria?: string\n /** Collapsed-rail toggle title when collapsed. */\n expand?: string\n /** Collapsed-rail toggle title when expanded. */\n collapse?: string\n /** aria-label for a collapsed group's flyout trigger. */\n openGroup?: string\n}\n\nexport interface SidebarNavProps {\n /** Pre-filtered by the app (roles, feature flags); order = render order. */\n items: NavItem[]\n /** The app resolves route → id; matching logic stays app-side. */\n activeId?: string | null\n /** Fires for leaves only; group triggers toggle expansion instead. */\n onNavigate?: (id: string) => void\n /** Controlled icon rail. */\n collapsed?: boolean\n onCollapsedChange?: (collapsed: boolean) => void\n /** Renders the rail collapse/expand toggle handle (desktop only). */\n collapsible?: boolean\n /** Controlled group expansion; uncontrolled defaults to internal\n * state + auto-expand when activeId enters a group. */\n expandedIds?: string[]\n onExpandedIdsChange?: (ids: string[]) => void\n /** Slot above the list (brand, logo). */\n header?: React.ReactNode\n /** Slot below the list (settings, profile, version). */\n footer?: React.ReactNode\n labels?: SidebarNavLabels\n className?: string\n /** Targets the scrollable list region. */\n navClassName?: string\n}\n\nconst FLYOUT_DELAY_MS = 150\n\nconst itemButtonClass = (active: boolean) =>\n cn(\n 'flex w-full cursor-pointer items-center gap-3 rounded-[var(--as-radius)] px-3 py-2.5 text-left text-sm transition-colors focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[var(--as-focus-ring)] disabled:pointer-events-none disabled:opacity-50',\n active\n ? 'bg-[color-mix(in_srgb,var(--as-primary)_12%,transparent)] font-bold text-[var(--as-primary)]'\n : 'font-medium text-[var(--as-fg)] hover:bg-[var(--as-muted)]',\n )\n\nconst flyoutContentClass =\n 'as-anim-pop z-[var(--as-z-popover)] min-w-44 rounded-[var(--as-radius-lg)] border border-[var(--as-border)] bg-[var(--as-surface-raised)] p-1 text-[var(--as-fg)] shadow-[var(--as-shadow-3)] focus:outline-none'\n\nfunction Badge({ value, active }: { value: string | number; active: boolean }) {\n return (\n <span\n className={cn(\n 'inline-flex min-w-5 shrink-0 items-center justify-center rounded-full px-1.5 py-0.5 text-[11px] font-bold leading-none',\n active\n ? 'bg-[var(--as-primary)] text-[var(--as-primary-fg)]'\n : 'bg-[var(--as-muted)] text-[var(--as-muted-fg)]',\n )}\n >\n {value}\n </span>\n )\n}\n\nfunction ItemBadge({ badge, active }: { badge?: string | number; active: boolean }) {\n if (badge === undefined) return null\n return (\n <span className=\"ml-auto\">\n <Badge value={badge} active={active} />\n </span>\n )\n}\n\nexport const SidebarNav = React.forwardRef<HTMLElement, SidebarNavProps>(\n function SidebarNav(\n {\n items,\n activeId,\n onNavigate,\n collapsed = false,\n onCollapsedChange,\n collapsible = false,\n expandedIds,\n onExpandedIdsChange,\n header,\n footer,\n labels,\n className,\n navClassName,\n },\n ref,\n ) {\n const baseId = React.useId()\n const listRef = React.useRef<HTMLDivElement>(null)\n const flyoutTimer = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n const [openFlyout, setOpenFlyout] = React.useState<string | null>(null)\n const [internalExpanded, setInternalExpanded] = React.useState<string[]>([])\n\n const controlledExpanded =\n expandedIds !== undefined && onExpandedIdsChange !== undefined\n const expanded = controlledExpanded ? (expandedIds as string[]) : internalExpanded\n\n const setExpandedList = React.useCallback(\n (next: string[]) => {\n if (controlledExpanded) onExpandedIdsChange?.(next)\n else setInternalExpanded(next)\n },\n [controlledExpanded, onExpandedIdsChange],\n )\n\n const toggleGroup = React.useCallback(\n (id: string) => {\n setExpandedList(\n expanded.includes(id)\n ? expanded.filter((g) => g !== id)\n : [...expanded, id],\n )\n },\n [expanded, setExpandedList],\n )\n\n // Auto-expand the group containing the active item so the highlighted\n // entry is always visible (uncontrolled mode only — the app owns\n // expansion when controlled).\n React.useEffect(() => {\n if (controlledExpanded || activeId == null) return\n const owner = items.find((it) => it.children?.some((c) => c.id === activeId))\n if (owner && !expanded.includes(owner.id)) {\n setExpandedList([...expanded, owner.id])\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeId, items, controlledExpanded])\n\n React.useEffect(() => {\n return () => {\n if (flyoutTimer.current) clearTimeout(flyoutTimer.current)\n }\n }, [])\n\n const flyoutEnter = (id: string) => {\n if (flyoutTimer.current) clearTimeout(flyoutTimer.current)\n flyoutTimer.current = setTimeout(() => setOpenFlyout(id), FLYOUT_DELAY_MS)\n }\n const flyoutLeave = () => {\n if (flyoutTimer.current) clearTimeout(flyoutTimer.current)\n flyoutTimer.current = setTimeout(() => setOpenFlyout(null), FLYOUT_DELAY_MS)\n }\n const flyoutEnterCancel = () => {\n if (flyoutTimer.current) clearTimeout(flyoutTimer.current)\n }\n\n const navigate = (id: string) => {\n setOpenFlyout(null)\n onNavigate?.(id)\n }\n\n // ---- keyboard navigation over the visible list ----\n const visibleItems = (): HTMLButtonElement[] => {\n const list = listRef.current\n if (!list) return []\n return Array.from(\n list.querySelectorAll<HTMLButtonElement>('[data-as-nav-item]'),\n ).filter((el) => el.closest('[hidden]') === null)\n }\n\n const focusSibling = (current: HTMLElement, offset: number) => {\n const all = visibleItems()\n const index = all.indexOf(current as HTMLButtonElement)\n if (index === -1) return\n const next = all[Math.min(Math.max(index + offset, 0), all.length - 1)]\n next?.focus()\n }\n\n const handleFlyoutArrowKeys = (e: React.KeyboardEvent) => {\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n e.preventDefault()\n const buttons = Array.from(\n (e.currentTarget as HTMLElement).querySelectorAll<HTMLButtonElement>(\n 'button[data-as-flyout-item]:not([disabled])',\n ),\n )\n const index = buttons.indexOf(document.activeElement as HTMLButtonElement)\n const step = e.key === 'ArrowDown' ? 1 : buttons.length - 1\n buttons[(index + step) % buttons.length]?.focus()\n }\n\n const groupTriggerFor = (id: string) =>\n Array.from(\n listRef.current?.querySelectorAll<HTMLButtonElement>(\n '[data-as-nav-group-id]',\n ) ?? [],\n ).find((b) => b.dataset.asNavGroupId === id)\n\n const firstChildFor = (id: string) =>\n Array.from(\n listRef.current?.querySelectorAll<HTMLButtonElement>(\n '[data-as-nav-parent-id]',\n ) ?? [],\n ).find((b) => b.dataset.asNavParentId === id && !b.disabled)\n\n const handleListKeyDown = (e: React.KeyboardEvent) => {\n const button = (e.target as HTMLElement).closest<HTMLButtonElement>(\n '[data-as-nav-item]',\n )\n if (!button) return\n const groupId = button.dataset.asNavGroupId\n const parentId = button.dataset.asNavParentId\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault()\n focusSibling(button, 1)\n break\n case 'ArrowUp':\n e.preventDefault()\n focusSibling(button, -1)\n break\n case 'Home': {\n e.preventDefault()\n visibleItems()[0]?.focus()\n break\n }\n case 'End': {\n e.preventDefault()\n const all = visibleItems()\n all[all.length - 1]?.focus()\n break\n }\n case 'ArrowRight':\n if (groupId) {\n e.preventDefault()\n if (!expanded.includes(groupId)) {\n setExpandedList([...expanded, groupId])\n } else {\n firstChildFor(groupId)?.focus()\n }\n }\n break\n case 'ArrowLeft':\n if (parentId) {\n e.preventDefault()\n groupTriggerFor(parentId)?.focus()\n } else if (groupId && expanded.includes(groupId)) {\n e.preventDefault()\n toggleGroup(groupId)\n }\n break\n }\n }\n\n const navAria = labels?.navAria ?? 'Main navigation'\n const rail = collapsed\n\n const flyoutHeader = (text: string) => (\n <div className=\"border-b border-[var(--as-border)] px-2 py-1.5 text-xs font-bold text-[var(--as-muted-fg)]\">\n {text}\n </div>\n )\n\n return (\n <nav\n ref={ref}\n data-as=\"sidebar-nav\"\n aria-label={navAria}\n className={cn(\n 'relative flex h-full flex-col border-r border-[var(--as-border)] bg-[var(--as-surface)] text-[var(--as-fg)] transition-[width] duration-200',\n rail ? 'w-20' : 'w-64',\n className,\n )}\n >\n {collapsible ? (\n <div className=\"pointer-events-none absolute inset-y-0 -right-3 z-10 hidden flex-col justify-center lg:flex\">\n <button\n type=\"button\"\n onClick={() => onCollapsedChange?.(!collapsed)}\n title={\n collapsed\n ? (labels?.expand ?? 'Expand sidebar')\n : (labels?.collapse ?? 'Collapse sidebar')\n }\n aria-label={\n collapsed\n ? (labels?.expand ?? 'Expand sidebar')\n : (labels?.collapse ?? 'Collapse sidebar')\n }\n className=\"pointer-events-auto flex size-6 items-center justify-center rounded-lg border border-[var(--as-border)] bg-[var(--as-surface-raised)] text-[var(--as-muted-fg)] shadow-[var(--as-shadow-2)] transition-colors hover:text-[var(--as-fg)] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[var(--as-focus-ring)]\"\n >\n {collapsed ? (\n <ChevronRight className=\"size-3.5\" aria-hidden />\n ) : (\n <ChevronLeft className=\"size-3.5\" aria-hidden />\n )}\n </button>\n </div>\n ) : null}\n\n {header ? <div className=\"shrink-0\">{header}</div> : null}\n\n <div\n ref={listRef}\n onKeyDown={handleListKeyDown}\n className={cn('min-h-0 flex-1 overflow-y-auto px-3 py-3', navClassName)}\n >\n <ul className=\"space-y-1\">\n {items.map((item, index) => {\n // Group whose children were all filtered out app-side renders\n // nothing (presentational).\n if (item.children !== undefined && item.children.length === 0) {\n return null\n }\n const sectionSeen =\n !rail &&\n item.section !== undefined &&\n items.findIndex((i) => i.section === item.section) === index\n const sectionDivider = sectionSeen ? (\n <div\n role=\"presentation\"\n className=\"mt-2 border-t border-[var(--as-border)] px-3 pb-1 pt-3 text-[11px] font-bold uppercase tracking-wide text-[var(--as-muted-fg)]\"\n >\n {item.section}\n </div>\n ) : null\n const active = item.id === activeId\n const childActive = item.children?.some((c) => c.id === activeId) ?? false\n const isExpanded = expanded.includes(item.id)\n const Icon = item.icon\n const groupId = `${baseId}-group-${item.id}`\n\n if (item.children && item.children.length > 0 && rail) {\n return (\n <li key={item.id}>\n {sectionDivider}\n <PopoverPrimitive.Root\n open={openFlyout === item.id}\n onOpenChange={(open) => {\n if (!open) setOpenFlyout(null)\n }}\n >\n <PopoverPrimitive.Anchor asChild>\n <button\n type=\"button\"\n data-as-nav-item\n data-as-nav-group-id={item.id}\n disabled={item.disabled}\n aria-label={labels?.openGroup ?? `Open ${item.label} menu`}\n aria-haspopup=\"true\"\n aria-expanded={openFlyout === item.id}\n onClick={() => setOpenFlyout(item.id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setOpenFlyout(item.id)\n }\n }}\n onMouseEnter={() => flyoutEnter(item.id)}\n onMouseLeave={flyoutLeave}\n className={cn(itemButtonClass(active || childActive), 'justify-center px-0')}\n >\n {Icon ? (\n <Icon\n className={cn(\n 'size-5 shrink-0',\n active || childActive\n ? 'text-[var(--as-primary)]'\n : 'text-[var(--as-muted-fg)]',\n )}\n aria-hidden\n />\n ) : null}\n </button>\n </PopoverPrimitive.Anchor>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side=\"right\"\n sideOffset={8}\n aria-label={item.label}\n onCloseAutoFocus={(e) => {\n // Menu-standard: focus returns to the trigger.\n e.preventDefault()\n groupTriggerFor(item.id)?.focus()\n }}\n onMouseEnter={flyoutEnterCancel}\n onMouseLeave={flyoutLeave}\n onKeyDown={handleFlyoutArrowKeys}\n className={flyoutContentClass}\n >\n {flyoutHeader(item.label)}\n <ul className=\"mt-1 space-y-0.5\">\n {item.children.map((child) => (\n <li key={child.id}>\n <button\n type=\"button\"\n data-as-flyout-item\n disabled={child.disabled}\n onClick={() => navigate(child.id)}\n aria-current={child.id === activeId ? 'page' : undefined}\n className={cn(\n 'flex w-full cursor-pointer items-center gap-2 rounded-[calc(var(--as-radius-sm)-2px)] px-2 py-1.5 text-left text-sm outline-none transition-colors focus:bg-[var(--as-secondary)] disabled:pointer-events-none disabled:opacity-50',\n child.id === activeId && 'font-bold text-[var(--as-primary)]',\n )}\n >\n {child.icon ? <child.icon aria-hidden /> : null}\n <span className=\"min-w-0 flex-1 truncate\">{child.label}</span>\n <ItemBadge badge={child.badge} active={child.id === activeId} />\n </button>\n </li>\n ))}\n </ul>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </li>\n )\n }\n\n if (item.children && item.children.length > 0) {\n return (\n <li key={item.id}>\n {sectionDivider}\n <button\n type=\"button\"\n data-as-nav-item\n data-as-nav-group-id={item.id}\n disabled={item.disabled}\n aria-expanded={isExpanded}\n aria-controls={groupId}\n onClick={() => toggleGroup(item.id)}\n className={itemButtonClass(active || childActive)}\n >\n {Icon ? (\n <Icon\n className={cn(\n 'size-4 shrink-0',\n active || childActive\n ? 'text-[var(--as-primary)]'\n : 'text-[var(--as-muted-fg)]',\n )}\n aria-hidden\n />\n ) : null}\n <span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n <ItemBadge badge={item.badge} active={active || childActive} />\n {isExpanded ? (\n <ChevronDown className=\"size-4 shrink-0 text-[var(--as-muted-fg)]\" aria-hidden />\n ) : (\n <ChevronRight className=\"size-4 shrink-0 text-[var(--as-muted-fg)]\" aria-hidden />\n )}\n </button>\n <ul id={groupId} hidden={!isExpanded} className=\"mt-1 space-y-0.5 pl-6\">\n {item.children.map((child) => {\n const childActiveItem = child.id === activeId\n const ChildIcon = child.icon\n const sectionSeen =\n child.section !== undefined &&\n item.children!.findIndex(\n (c) => c.section === child.section,\n ) === item.children!.indexOf(child)\n return (\n <li key={child.id}>\n {sectionSeen ? (\n <div\n role=\"presentation\"\n className=\"mt-2 border-t border-[var(--as-border)] px-3 pb-1 pt-3 text-[11px] font-bold uppercase tracking-wide text-[var(--as-muted-fg)]\"\n >\n {child.section}\n </div>\n ) : null}\n <button\n type=\"button\"\n data-as-nav-item\n data-as-nav-parent-id={item.id}\n disabled={child.disabled}\n aria-current={childActiveItem ? 'page' : undefined}\n onClick={() => navigate(child.id)}\n className={cn(\n itemButtonClass(childActiveItem),\n 'py-2 pl-3 pr-2',\n )}\n >\n {ChildIcon ? (\n <ChildIcon className=\"size-4 shrink-0\" aria-hidden />\n ) : null}\n <span className=\"min-w-0 flex-1 truncate\">{child.label}</span>\n <ItemBadge badge={child.badge} active={childActiveItem} />\n </button>\n </li>\n )\n })}\n </ul>\n </li>\n )\n }\n\n return (\n <li key={item.id}>\n {sectionDivider}\n <button\n type=\"button\"\n data-as-nav-item\n disabled={item.disabled}\n title={rail ? item.label : undefined}\n aria-label={rail ? item.label : undefined}\n aria-current={active ? 'page' : undefined}\n onClick={() => navigate(item.id)}\n className={cn(itemButtonClass(active), rail && 'justify-center px-0')}\n >\n {Icon ? (\n <Icon\n className={cn(\n 'shrink-0',\n rail ? 'size-5' : 'size-4',\n active ? 'text-[var(--as-primary)]' : 'text-[var(--as-muted-fg)]',\n )}\n aria-hidden\n />\n ) : null}\n {!rail ? <span className=\"min-w-0 flex-1 truncate\">{item.label}</span> : null}\n {!rail ? <ItemBadge badge={item.badge} active={active} /> : null}\n </button>\n </li>\n )\n })}\n </ul>\n </div>\n\n {footer ? (\n <div className=\"shrink-0 border-t border-[var(--as-border)] p-3\">{footer}</div>\n ) : null}\n </nav>\n )\n },\n)\n"]}