@acronis-platform/ui-react 0.29.0 → 0.33.1

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 (30) hide show
  1. package/README.md +18 -1
  2. package/dist/components/ui/input-date-picker/input-date-picker.js +104 -0
  3. package/dist/components/ui/input-date-picker/input-date-picker.js.map +1 -0
  4. package/dist/components/ui/input-select/input-select.js +257 -0
  5. package/dist/components/ui/input-select/input-select.js.map +1 -0
  6. package/dist/components/ui/input-text-area/input-text-area.js +72 -16
  7. package/dist/components/ui/input-text-area/input-text-area.js.map +1 -1
  8. package/dist/components/ui/link/link.js +39 -0
  9. package/dist/components/ui/link/link.js.map +1 -0
  10. package/dist/components/ui/sidebar-primary/sidebar-primary.js +85 -71
  11. package/dist/components/ui/sidebar-primary/sidebar-primary.js.map +1 -1
  12. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js +125 -117
  13. package/dist/components/ui/sidebar-secondary/sidebar-secondary.js.map +1 -1
  14. package/dist/index.js +112 -94
  15. package/dist/index.js.map +1 -1
  16. package/dist/react.js +112 -94
  17. package/dist/react.js.map +1 -1
  18. package/dist/src/components/ui/input-date-picker/index.d.ts +1 -0
  19. package/dist/src/components/ui/input-date-picker/input-date-picker.d.ts +27 -0
  20. package/dist/src/components/ui/input-select/index.d.ts +1 -0
  21. package/dist/src/components/ui/input-select/input-select.d.ts +40 -0
  22. package/dist/src/components/ui/input-text-area/input-text-area.d.ts +14 -2
  23. package/dist/src/components/ui/link/index.d.ts +1 -0
  24. package/dist/src/components/ui/link/link.d.ts +15 -0
  25. package/dist/src/components/ui/select/select.d.ts +1 -14
  26. package/dist/src/index.d.ts +3 -0
  27. package/dist/ui-react.css +1 -1
  28. package/package.json +5 -1
  29. package/dist/components/ui/select/select.js +0 -105
  30. package/dist/components/ui/select/select.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-secondary.js","sources":["../../../../src/components/ui/sidebar-secondary/sidebar-secondary.tsx"],"sourcesContent":["import * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { Collapsible } from '@base-ui/react/collapsible';\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n SquareArrowUpRightIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\n// Composable SidebarSecondary primitives mirroring the Figma \"SidebarSecondary\"\n// component set (node 2468:59502, variant expanded|collapsed). Every color and\n// metric is wired to a next-gen `--ui-sidebar-secondary-*` token from\n// @acronis-platform/tokens-pd — no hex, no invented tokens.\n//\n// Like SidebarPrimary, expanded/collapsed is a width-reflow state (not a panel\n// show/hide), modelled as a controlled/uncontrolled `expanded` prop (default\n// true) that sets `data-state=\"expanded|collapsed\"` on the root and is shared to\n// descendants via context. The collapsed rail replaces the section list with a\n// vertical breadcrumb (parent → separator → current page), toggled purely by the\n// `data-[state]` selectors so it is SSR-present and needs no JS branch.\n//\n// Menu-item color wiring DIVERGES from Primary (DESIGN §6.2): Secondary recolors\n// only the CONTAINER per selected/unselected; the icon and label use the shared\n// `--ui-sidebar-secondary-menu-item-global-{icon,label}-color-color` tokens\n// across both variants and every interaction state (the next-gen token sync\n// collapsed the former per-state idle/hover/active icon+label colors into a\n// single value each). So the cva base carries the global icon/label colors and\n// the two variants only swap the container fill.\n//\n// The Level-1 expandable disclosure (SidebarSecondaryMenuSub) is the canonical\n// Base UI Collapsible use — it gives `aria-expanded`/`aria-controls` for free and\n// per-row open state. The trigger gets `data-panel-open` when open, which rotates\n// the chevron.\n//\n// R6 (collapsed separator icon): resolved from the Figma node metadata — the\n// collapsed `iconSeparator` instance's mainComponent is \"ChevronRight\", so the\n// separator defaults to `ChevronRightIcon` (16px), tinted by\n// `--ui-sidebar-secondary-collapsed-icon-separator-color`. The disclosure chevron\n// uses `ChevronDownIcon` rotated via `data-panel-open`. The focus ring reuses the\n// shared `--ui-focus-brand` (no sidebar focus token exists — R1).\n\ninterface SidebarSecondaryContextValue {\n expanded: boolean;\n /** Flip the panel width — drives the controlled/uncontrolled `expanded` state. */\n toggleExpanded: () => void;\n}\n\nconst SidebarSecondaryContext =\n React.createContext<SidebarSecondaryContextValue | null>(null);\n\nfunction useSidebarSecondaryContext(): SidebarSecondaryContextValue {\n // Default to expanded so parts render standalone (in isolation tests /\n // stories) without a wrapping root; the toggle is a no-op outside a root.\n return (\n React.useContext(SidebarSecondaryContext) ?? {\n expanded: true,\n toggleExpanded: () => {},\n }\n );\n}\n\n/**\n * Controlled + uncontrolled boolean state (the Base UI idiom). When `controlled`\n * is provided it wins and the setter only emits the change callback; otherwise\n * the setter updates internal state. `onChange` is ALWAYS invoked with the next\n * value so a consumer can react in either mode.\n */\nfunction useControllableBoolean(\n controlled: boolean | undefined,\n defaultValue: boolean,\n onChange?: (next: boolean) => void\n): [boolean, (next: boolean) => void] {\n const [uncontrolled, setUncontrolled] = React.useState(defaultValue);\n const isControlled = controlled !== undefined;\n const value = isControlled ? controlled : uncontrolled;\n const setValue = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolled(next);\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n return [value, setValue];\n}\n\nexport interface SidebarSecondaryProps\n extends React.ComponentPropsWithoutRef<'nav'> {\n /** Controlled expanded (rail width) state. */\n expanded?: boolean;\n /** Uncontrolled initial expanded state. Defaults to `true` (full width). */\n defaultExpanded?: boolean;\n /** Fires when the expanded state changes (e.g. a consumer toggle). */\n onExpandedChange?: (expanded: boolean) => void;\n /**\n * Replace the rendered `<nav>` with another element or component\n * (Base UI composition). Accepts a React element or a render function.\n */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondary = React.forwardRef<HTMLElement, SidebarSecondaryProps>(\n (\n {\n className,\n expanded: expandedProp,\n defaultExpanded = true,\n onExpandedChange,\n 'aria-label': ariaLabel = 'Section navigation',\n render,\n children,\n ...props\n },\n ref\n ) => {\n const [expanded, setExpanded] = useControllableBoolean(\n expandedProp,\n defaultExpanded,\n onExpandedChange\n );\n\n // Collapse is driven by the consumer through the layout context — the\n // `SidebarSecondaryCollapseTrigger` calls `toggleExpanded`, which updates\n // uncontrolled state and always emits `onExpandedChange`. Controlled\n // consumers ignore the internal state and react to the callback.\n const context = React.useMemo<SidebarSecondaryContextValue>(\n () => ({ expanded, toggleExpanded: () => setExpanded(!expanded) }),\n [expanded, setExpanded]\n );\n\n const element = useRender({\n render,\n ref,\n defaultTagName: 'nav',\n props: mergeProps<'nav'>(\n {\n 'aria-label': ariaLabel,\n // `data-state` drives every collapsed/expanded token switch via\n // attribute selectors; typed loosely because React's nav attribute\n // map doesn't include arbitrary data-* keys as literals.\n ...({ 'data-state': expanded ? 'expanded' : 'collapsed' } as Record<\n string,\n string\n >),\n className: cn(\n 'group/sidebar flex h-full flex-col bg-[var(--ui-sidebar-secondary-global-container-color)] border-r border-[var(--ui-sidebar-secondary-global-container-border-color)] [border-right-width:var(--ui-sidebar-secondary-global-container-border-width)] w-[var(--ui-sidebar-secondary-collapsed-container-width)] data-[state=expanded]:w-[var(--ui-sidebar-secondary-expanded-container-width)] transition-[width]',\n className\n ),\n children,\n },\n props\n ),\n });\n\n return (\n <SidebarSecondaryContext.Provider value={context}>\n {element}\n </SidebarSecondaryContext.Provider>\n );\n }\n);\nSidebarSecondary.displayName = 'SidebarSecondary';\n\nexport interface SidebarSecondaryHeaderProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** Heading text (or pass as children). */\n label?: React.ReactNode;\n}\n\nconst SidebarSecondaryHeader = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryHeaderProps\n>(({ className, label, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex items-center shrink-0',\n 'px-[var(--ui-sidebar-secondary-collapsed-container-header-padding-x)] py-[var(--ui-sidebar-secondary-collapsed-container-header-padding-y)]',\n 'group-data-[state=expanded]/sidebar:px-[var(--ui-sidebar-secondary-expanded-container-header-padding-x)] group-data-[state=expanded]/sidebar:py-[var(--ui-sidebar-secondary-expanded-container-header-padding-y)]',\n className\n )}\n {...props}\n >\n <h2 className=\"ui-sidebar-secondary-global-header-label-text-style truncate text-[var(--ui-sidebar-secondary-global-header-label-color)]\">\n {label ?? children}\n </h2>\n </div>\n));\nSidebarSecondaryHeader.displayName = 'SidebarSecondaryHeader';\n\nconst SidebarSecondaryContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n // Expanded: the section list. Hidden in collapsed mode, where the\n // CollapsedBreadcrumb sibling takes over.\n <div\n ref={ref}\n className={cn(\n 'flex flex-1 flex-col overflow-y-auto gap-[var(--ui-sidebar-secondary-global-section-list-gap)]',\n 'hidden group-data-[state=expanded]/sidebar:flex',\n className\n )}\n {...props}\n />\n));\nSidebarSecondaryContent.displayName = 'SidebarSecondaryContent';\n\nexport interface SidebarSecondaryCollapsedBreadcrumbProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** The parent section label (breadcrumbLabel). */\n parentLabel: React.ReactNode;\n /** The current page label (labelCurrentPage). */\n currentLabel: React.ReactNode;\n /** Separator between the two; defaults to a 16px ChevronRightIcon (R6). */\n separator?: React.ReactNode;\n}\n\nconst SidebarSecondaryCollapsedBreadcrumb = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryCollapsedBreadcrumbProps\n>(({ className, parentLabel, currentLabel, separator, ...props }, ref) => (\n // Shown only in collapsed mode — toggled by the same data-[state] selector so\n // it stays in the DOM (SSR-present) with no JS branch. Laid out vertically:\n // parent → separator → current page.\n <div\n ref={ref}\n className={cn(\n 'flex flex-col items-center shrink-0',\n 'gap-[var(--ui-sidebar-secondary-collapsed-container-content-gap)] py-[var(--ui-sidebar-secondary-collapsed-container-content-padding-y)]',\n 'flex group-data-[state=expanded]/sidebar:hidden',\n className\n )}\n {...props}\n >\n <span className=\"ui-sidebar-secondary-collapsed-breadcrumb-label-text-style text-[var(--ui-sidebar-secondary-collapsed-breadcrumb-label-color)]\">\n {parentLabel}\n </span>\n <span\n aria-hidden=\"true\"\n className=\"inline-flex items-center text-[var(--ui-sidebar-secondary-collapsed-icon-separator-color)] [&>svg]:size-[var(--ui-sidebar-secondary-collapsed-icon-separator-size)]\"\n >\n {separator ?? <ChevronRightIcon size={16} />}\n </span>\n <span className=\"ui-sidebar-secondary-collapsed-label-current-page-text-style text-[var(--ui-sidebar-secondary-collapsed-label-current-page-color)]\">\n {currentLabel}\n </span>\n </div>\n));\nSidebarSecondaryCollapsedBreadcrumb.displayName =\n 'SidebarSecondaryCollapsedBreadcrumb';\n\nconst SidebarSecondaryFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col shrink-0',\n 'border-t border-[var(--ui-sidebar-secondary-global-container-footer-border-color)] [border-top-width:var(--ui-sidebar-secondary-global-container-footer-border-width)]',\n 'py-[var(--ui-sidebar-secondary-section-container-padding-y)]',\n className\n )}\n {...props}\n />\n));\nSidebarSecondaryFooter.displayName = 'SidebarSecondaryFooter';\n\n// A section can be a static group (label + items) or an EXPANDABLE disclosure\n// (Figma Section `expandable=yes-*`): the label becomes a chevron toggle that\n// shows/hides the whole item list. Whether a section is expandable is shared to\n// its label + menu via this context (default: static), so the same `SectionLabel`\n// / `Menu` parts adapt without a separate component set.\ninterface SidebarSecondarySectionContextValue {\n expandable: boolean;\n}\n\nconst SidebarSecondarySectionContext =\n React.createContext<SidebarSecondarySectionContextValue>({ expandable: false });\n\nconst SECTION_STATIC: SidebarSecondarySectionContextValue = { expandable: false };\nconst SECTION_EXPANDABLE: SidebarSecondarySectionContextValue = { expandable: true };\n\nexport interface SidebarSecondarySectionProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Make the section a collapsible disclosure: the `SidebarSecondarySectionLabel`\n * becomes a chevron toggle and the `SidebarSecondaryMenu` becomes its panel.\n */\n expandable?: boolean;\n /** Controlled open state (expandable sections only). */\n open?: boolean;\n /** Uncontrolled initial open state (expandable sections only). Defaults to open. */\n defaultOpen?: boolean;\n /** Fires with the next open value when an expandable section toggles. */\n onOpenChange?: (open: boolean) => void;\n}\n\nconst SidebarSecondarySection = React.forwardRef<\n HTMLDivElement,\n SidebarSecondarySectionProps\n>(\n (\n { className, expandable = false, open, defaultOpen = true, onOpenChange, children, ...props },\n ref\n ) => {\n // Sections are separated by vertical padding + the section label; the next-gen\n // token sync removed the inter-section divider (no\n // `--ui-sidebar-secondary-section-container-border-*` token survives).\n const sectionClass = cn(\n 'flex flex-col py-[var(--ui-sidebar-secondary-section-container-padding-y)]',\n className\n );\n\n if (!expandable) {\n return (\n <SidebarSecondarySectionContext.Provider value={SECTION_STATIC}>\n <div ref={ref} className={sectionClass} {...props}>\n {children}\n </div>\n </SidebarSecondarySectionContext.Provider>\n );\n }\n\n // Expandable: Base UI Collapsible owns the open state (controlled or\n // uncontrolled) + the aria-expanded/aria-controls wiring on the trigger.\n return (\n <SidebarSecondarySectionContext.Provider value={SECTION_EXPANDABLE}>\n <Collapsible.Root\n ref={ref}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n render={<div className={sectionClass} />}\n {...props}\n >\n {children}\n </Collapsible.Root>\n </SidebarSecondarySectionContext.Provider>\n );\n }\n);\nSidebarSecondarySection.displayName = 'SidebarSecondarySection';\n\nexport interface SidebarSecondarySectionLabelProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** Trailing header actions (e.g. a ghost `ButtonIcon`). Rendered outside the toggle. */\n actions?: React.ReactNode;\n /**\n * A rollup badge (e.g. a `Tag` with an unread count) shown in the header only\n * when an expandable section is collapsed. Ignored for static sections.\n */\n unreadRollup?: React.ReactNode;\n}\n\nconst sectionLabelTextClass =\n 'ui-sidebar-secondary-section-label-section-text-style text-[var(--ui-sidebar-secondary-section-label-section-color)]';\nconst sectionHeaderPadClass =\n 'pb-[var(--ui-sidebar-secondary-section-container-header-padding-y)] px-[var(--ui-sidebar-secondary-section-container-header-padding-x)]';\n\nconst SidebarSecondarySectionLabel = React.forwardRef<\n HTMLDivElement,\n SidebarSecondarySectionLabelProps\n>(({ className, actions, unreadRollup, children, ...props }, ref) => {\n const { expandable } = React.useContext(SidebarSecondarySectionContext);\n\n if (!expandable) {\n // Static header: preserve the original markup when there are no actions so\n // existing layouts/baselines are unchanged.\n const base = cn(sectionLabelTextClass, sectionHeaderPadClass, className);\n if (actions == null) {\n return (\n <div ref={ref} className={base} {...props}>\n {children}\n </div>\n );\n }\n return (\n <div\n ref={ref}\n className={cn(\n base,\n 'flex items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)]'\n )}\n {...props}\n >\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n <span className=\"flex shrink-0 items-center\">{actions}</span>\n </div>\n );\n }\n\n // Expandable header: a chevron toggle (the Collapsible trigger) plus optional\n // trailing actions kept OUTSIDE the trigger button (no nested buttons). The\n // unread-rollup badge sits inside the trigger and shows only while collapsed.\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)]',\n sectionHeaderPadClass,\n className\n )}\n {...props}\n >\n <Collapsible.Trigger\n className={cn(\n 'group/section flex min-w-0 flex-1 items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)] text-left',\n sectionLabelTextClass,\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset'\n )}\n >\n <ChevronDownIcon\n size={16}\n aria-hidden=\"true\"\n className=\"shrink-0 -rotate-90 transition-transform group-data-[panel-open]/section:rotate-0 text-[var(--ui-sidebar-secondary-section-icon-arrow-color)]\"\n />\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n {unreadRollup != null && (\n <span className=\"flex shrink-0 items-center group-data-[panel-open]/section:hidden\">\n {unreadRollup}\n </span>\n )}\n </Collapsible.Trigger>\n {actions != null && (\n <span className=\"flex shrink-0 items-center\">{actions}</span>\n )}\n </div>\n );\n});\nSidebarSecondarySectionLabel.displayName = 'SidebarSecondarySectionLabel';\n\nconst SidebarSecondaryMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<'ul'>\n>(({ className, ...props }, ref) => {\n const { expandable } = React.useContext(SidebarSecondarySectionContext);\n const list = (\n <ul\n ref={ref}\n className={cn(\n 'flex flex-col gap-[var(--ui-sidebar-secondary-section-menu-item-list-gap)]',\n className\n )}\n {...props}\n />\n );\n // Inside an expandable section the item list IS the collapsible panel, so it\n // mounts/unmounts with the section's open state.\n return expandable ? <Collapsible.Panel>{list}</Collapsible.Panel> : list;\n});\nSidebarSecondaryMenu.displayName = 'SidebarSecondaryMenu';\n\n// Shared row geometry + the GLOBAL icon/label state colors (shared across\n// selected/unselected — DESIGN §6.2). The cva `variant` only swaps the container\n// fill. Each interaction state is wired to its own token even where acronis's\n// value is unchanged (runtime var() references honor brand overrides only on the\n// referenced token).\nconst sidebarSecondaryRowClasses =\n 'group/row flex w-full items-center gap-[var(--ui-sidebar-secondary-menu-item-global-container-gap)] min-h-[var(--ui-sidebar-secondary-menu-item-global-container-height-min)] px-[var(--ui-sidebar-secondary-menu-item-global-container-padding-x)] py-[var(--ui-sidebar-secondary-menu-item-global-container-padding-y)] no-underline ui-sidebar-secondary-menu-item-global-label-text-style transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset text-[var(--ui-sidebar-secondary-menu-item-global-label-color-color)] [&_svg]:shrink-0 [&_svg]:size-[var(--ui-sidebar-secondary-menu-item-global-icon-size)] [&_svg]:text-[var(--ui-sidebar-secondary-menu-item-global-icon-color-color)]';\n\nconst sidebarSecondaryMenuItemVariants = cva(sidebarSecondaryRowClasses, {\n variants: {\n variant: {\n unselected:\n 'bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-idle)] hover:bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-hover)] active:bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-active)]',\n selected:\n 'bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-idle)] hover:bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-hover)] active:bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-active)]',\n },\n },\n defaultVariants: {\n variant: 'unselected',\n },\n});\n\nexport interface SidebarSecondaryMenuItemProps\n extends Omit<React.ComponentPropsWithoutRef<'a'>, 'children'>,\n Omit<VariantProps<typeof sidebarSecondaryMenuItemVariants>, 'variant'> {\n /** Marks the current route: sets the `selected` variant + `aria-current=\"page\"`. */\n selected?: boolean;\n /** Optional leading 16px icon (Level-1 only; `hasIcon` in Figma). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n /** Replace the rendered `<a>` (e.g. a router `Link` or a `<button>`). */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondaryMenuItem = React.forwardRef<\n HTMLAnchorElement,\n SidebarSecondaryMenuItemProps\n>(({ className, selected = false, icon, render, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n const inner = useRender({\n render,\n ref,\n defaultTagName: 'a',\n props: mergeProps<'a'>(\n {\n className: cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n className\n ),\n 'aria-current': selected ? 'page' : undefined,\n children: (\n <>\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n {/* Keep the label in the DOM as `sr-only` in collapsed/rail mode so\n an icon-only row keeps an accessible name (a11y §7). */}\n <span\n className={cn('flex-1 truncate text-left', !expanded && 'sr-only')}\n >\n {children}\n </span>\n </>\n ),\n },\n props\n ),\n });\n\n return <li className=\"contents\">{inner}</li>;\n});\nSidebarSecondaryMenuItem.displayName = 'SidebarSecondaryMenuItem';\n\nexport type SidebarSecondaryMenuSubProps = React.ComponentPropsWithoutRef<\n typeof Collapsible.Root\n>;\n\nconst SidebarSecondaryMenuSub = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryMenuSubProps\n>(({ className, render, ...props }, ref) => (\n // Disclosure row: Base UI Collapsible gives per-row open state +\n // aria-expanded/aria-controls. Rendered as the list `<li>` wrapper.\n <Collapsible.Root\n ref={ref}\n render={render ?? <li />}\n className={cn('contents', className)}\n {...props}\n />\n));\nSidebarSecondaryMenuSub.displayName = 'SidebarSecondaryMenuSub';\n\nexport interface SidebarSecondaryMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Collapsible.Trigger> {\n /** Marks the parent row as selected. */\n selected?: boolean;\n /** Optional leading 16px icon. */\n icon?: React.ReactNode;\n}\n\nconst SidebarSecondaryMenuSubTrigger = React.forwardRef<\n HTMLButtonElement,\n SidebarSecondaryMenuSubTriggerProps\n>(({ className, selected = false, icon, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n return (\n <Collapsible.Trigger\n ref={ref}\n aria-current={selected ? 'page' : undefined}\n className={cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n 'text-left',\n className\n )}\n {...props}\n >\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n <span className={cn('flex-1 truncate', !expanded && 'sr-only')}>\n {children}\n </span>\n {/* Chevron rotates when the panel is open (Base UI sets data-panel-open\n on the trigger). Hidden in collapsed rail mode. */}\n <ChevronDownIcon\n size={16}\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 transition-transform group-data-[panel-open]/row:rotate-180',\n !expanded && 'hidden'\n )}\n />\n </Collapsible.Trigger>\n );\n});\nSidebarSecondaryMenuSubTrigger.displayName = 'SidebarSecondaryMenuSubTrigger';\n\nexport type SidebarSecondaryMenuSubContentProps =\n React.ComponentPropsWithoutRef<typeof Collapsible.Panel>;\n\nconst SidebarSecondaryMenuSubContent = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryMenuSubContentProps\n>(({ className, children, ...props }, ref) => (\n <Collapsible.Panel ref={ref} className={cn(className)} {...props}>\n <ul className=\"flex flex-col gap-[var(--ui-sidebar-secondary-section-menu-item-list-gap)]\">\n {children}\n </ul>\n </Collapsible.Panel>\n));\nSidebarSecondaryMenuSubContent.displayName = 'SidebarSecondaryMenuSubContent';\n\nexport interface SidebarSecondaryMenuSubItemProps\n extends Omit<React.ComponentPropsWithoutRef<'a'>, 'children'> {\n /** Marks the current route (Level-2 — no icon). */\n selected?: boolean;\n children?: React.ReactNode;\n /** Replace the rendered `<a>` (e.g. a router `Link`). */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondaryMenuSubItem = React.forwardRef<\n HTMLAnchorElement,\n SidebarSecondaryMenuSubItemProps\n>(({ className, selected = false, render, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n const inner = useRender({\n render,\n ref,\n defaultTagName: 'a',\n props: mergeProps<'a'>(\n {\n className: cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n // Level-2 left indent (no icon column). The dedicated level-2 padding\n // token was removed in the next-gen sync; reconstruct the indent from\n // surviving tokens so the label aligns under level-1 labels (row\n // padding + icon column + gap).\n 'pl-[calc(var(--ui-sidebar-secondary-menu-item-global-container-padding-x)+var(--ui-sidebar-secondary-menu-item-global-icon-size)+var(--ui-sidebar-secondary-menu-item-global-container-gap))]',\n className\n ),\n 'aria-current': selected ? 'page' : undefined,\n children: (\n <span className={cn('flex-1 truncate text-left', !expanded && 'sr-only')}>\n {children}\n </span>\n ),\n },\n props\n ),\n });\n\n return <li className=\"contents\">{inner}</li>;\n});\nSidebarSecondaryMenuSubItem.displayName = 'SidebarSecondaryMenuSubItem';\n\nexport interface SidebarSecondaryMenuItemExtrasProps\n extends React.ComponentPropsWithoutRef<'span'> {\n /** Which trailing affordance to render. */\n variant: 'tag' | 'externalLink' | 'shortcut' | 'tag-externalLink';\n /** Shortcut text for the `shortcut` variant. */\n shortcut?: string;\n /** Tag content for the `tag` / `tag-externalLink` variants. */\n tag?: React.ReactNode;\n}\n\nconst SidebarSecondaryMenuItemExtras = React.forwardRef<\n HTMLSpanElement,\n SidebarSecondaryMenuItemExtrasProps\n>(({ className, variant, shortcut, tag, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n const showTag = variant === 'tag' || variant === 'tag-externalLink';\n const showExternal =\n variant === 'externalLink' || variant === 'tag-externalLink';\n const showShortcut = variant === 'shortcut';\n\n return (\n <span\n ref={ref}\n className={cn(\n 'inline-flex items-center gap-[var(--ui-sidebar-secondary-menu-item-extras-global-container-gap)]',\n !expanded && 'hidden',\n className\n )}\n {...props}\n >\n {showTag && (tag ?? children)}\n {showShortcut && (\n <span className=\"ui-sidebar-secondary-menu-item-extras-global-shortcut-text-style text-[var(--ui-sidebar-secondary-menu-item-extras-global-shortcut-color)]\">\n {shortcut ?? children}\n </span>\n )}\n {showExternal && (\n <SquareArrowUpRightIcon\n size={16}\n className=\"text-[var(--ui-sidebar-secondary-menu-item-extras-global-external-icon-color)] size-[var(--ui-sidebar-secondary-menu-item-extras-global-external-icon-size)]\"\n />\n )}\n </span>\n );\n});\nSidebarSecondaryMenuItemExtras.displayName = 'SidebarSecondaryMenuItemExtras';\n\nexport interface SidebarSecondaryCollapseTriggerProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'children'> {\n /** Leading 16px icon (e.g. a panel-left glyph). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n}\n\n// The footer \"Collapse menu\" affordance. A row-styled `<button>` that flips the\n// panel width via the layout context — the live wiring for the controllable\n// `expanded` state (B1). Keeps its label as `sr-only` in collapsed mode.\nconst SidebarSecondaryCollapseTrigger = React.forwardRef<\n HTMLButtonElement,\n SidebarSecondaryCollapseTriggerProps\n>(({ className, icon, children, onClick, ...props }, ref) => {\n const { expanded, toggleExpanded } = useSidebarSecondaryContext();\n\n return (\n <li className=\"contents\">\n <button\n ref={ref}\n type=\"button\"\n aria-expanded={expanded}\n className={cn(\n sidebarSecondaryMenuItemVariants({ variant: 'unselected' }),\n 'text-left',\n className\n )}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) toggleExpanded();\n }}\n {...props}\n >\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n <span className={cn('flex-1 truncate', !expanded && 'sr-only')}>\n {children}\n </span>\n </button>\n </li>\n );\n});\nSidebarSecondaryCollapseTrigger.displayName = 'SidebarSecondaryCollapseTrigger';\n\nexport {\n SidebarSecondary,\n SidebarSecondaryHeader,\n SidebarSecondaryContent,\n SidebarSecondaryCollapsedBreadcrumb,\n SidebarSecondaryFooter,\n SidebarSecondarySection,\n SidebarSecondarySectionLabel,\n SidebarSecondaryMenu,\n SidebarSecondaryMenuItem,\n SidebarSecondaryMenuSub,\n SidebarSecondaryMenuSubTrigger,\n SidebarSecondaryMenuSubContent,\n SidebarSecondaryMenuSubItem,\n SidebarSecondaryMenuItemExtras,\n SidebarSecondaryCollapseTrigger,\n sidebarSecondaryMenuItemVariants,\n};\n"],"names":["SidebarSecondaryContext","React","useSidebarSecondaryContext","useControllableBoolean","controlled","defaultValue","onChange","uncontrolled","setUncontrolled","isControlled","value","setValue","next","SidebarSecondary","className","expandedProp","defaultExpanded","onExpandedChange","ariaLabel","render","children","props","ref","expanded","setExpanded","context","element","useRender","mergeProps","cn","SidebarSecondaryHeader","label","jsx","SidebarSecondaryContent","SidebarSecondaryCollapsedBreadcrumb","parentLabel","currentLabel","separator","jsxs","ChevronRightIcon","SidebarSecondaryFooter","SidebarSecondarySectionContext","SECTION_STATIC","SECTION_EXPANDABLE","SidebarSecondarySection","expandable","open","defaultOpen","onOpenChange","sectionClass","Collapsible","sectionLabelTextClass","sectionHeaderPadClass","SidebarSecondarySectionLabel","actions","unreadRollup","base","ChevronDownIcon","SidebarSecondaryMenu","list","sidebarSecondaryRowClasses","sidebarSecondaryMenuItemVariants","cva","SidebarSecondaryMenuItem","selected","icon","inner","Fragment","SidebarSecondaryMenuSub","SidebarSecondaryMenuSubTrigger","SidebarSecondaryMenuSubContent","SidebarSecondaryMenuSubItem","SidebarSecondaryMenuItemExtras","variant","shortcut","tag","showTag","showExternal","showShortcut","SquareArrowUpRightIcon","SidebarSecondaryCollapseTrigger","onClick","toggleExpanded","event"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-secondary.js","sources":["../../../../src/components/ui/sidebar-secondary/sidebar-secondary.tsx"],"sourcesContent":["import * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { Collapsible } from '@base-ui/react/collapsible';\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n SquareArrowUpRightIcon,\n} from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\n// Composable SidebarSecondary primitives mirroring the Figma \"SidebarSecondary\"\n// component set (node 2468:59502, variant expanded|collapsed). Every color and\n// metric is wired to a next-gen `--ui-sidebar-secondary-*` token from\n// @acronis-platform/tokens-pd — no hex, no invented tokens.\n//\n// Like SidebarPrimary, expanded/collapsed is a width-reflow state (not a panel\n// show/hide), modelled as a controlled/uncontrolled `expanded` prop (default\n// true) that sets `data-state=\"expanded|collapsed\"` on the root and is shared to\n// descendants via context. The collapsed rail replaces the section list with a\n// vertical breadcrumb (parent → separator → current page), toggled purely by the\n// `data-[state]` selectors so it is SSR-present and needs no JS branch.\n//\n// Menu-item color wiring DIVERGES from Primary (DESIGN §6.2): Secondary recolors\n// only the CONTAINER per selected/unselected; the icon and label use the shared\n// `--ui-sidebar-secondary-menu-item-global-{icon,label}-color-color` tokens\n// across both variants and every interaction state (the next-gen token sync\n// collapsed the former per-state idle/hover/active icon+label colors into a\n// single value each). So the cva base carries the global icon/label colors and\n// the two variants only swap the container fill.\n//\n// The Level-1 expandable disclosure (SidebarSecondaryMenuSub) is the canonical\n// Base UI Collapsible use — it gives `aria-expanded`/`aria-controls` for free and\n// per-row open state. The trigger gets `data-panel-open` when open, which rotates\n// the chevron.\n//\n// R6 (collapsed separator icon): resolved from the Figma node metadata — the\n// collapsed `iconSeparator` instance's mainComponent is \"ChevronRight\", so the\n// separator defaults to `ChevronRightIcon` (16px), tinted by\n// `--ui-sidebar-secondary-collapsed-icon-separator-color`. The disclosure chevron\n// uses `ChevronDownIcon` rotated via `data-panel-open`. The focus ring reuses the\n// shared `--ui-focus-brand` (no sidebar focus token exists — R1).\n\ninterface SidebarSecondaryContextValue {\n expanded: boolean;\n /** Flip the panel width — drives the controlled/uncontrolled `expanded` state. */\n toggleExpanded: () => void;\n}\n\nconst SidebarSecondaryContext =\n React.createContext<SidebarSecondaryContextValue | null>(null);\n\nfunction useSidebarSecondaryContext(): SidebarSecondaryContextValue {\n // Default to expanded so parts render standalone (in isolation tests /\n // stories) without a wrapping root; the toggle is a no-op outside a root.\n return (\n React.useContext(SidebarSecondaryContext) ?? {\n expanded: true,\n toggleExpanded: () => {},\n }\n );\n}\n\n/**\n * Controlled + uncontrolled boolean state (the Base UI idiom). When `controlled`\n * is provided it wins and the setter only emits the change callback; otherwise\n * the setter updates internal state. `onChange` is ALWAYS invoked with the next\n * value so a consumer can react in either mode.\n */\nfunction useControllableBoolean(\n controlled: boolean | undefined,\n defaultValue: boolean,\n onChange?: (next: boolean) => void\n): [boolean, (next: boolean) => void] {\n const [uncontrolled, setUncontrolled] = React.useState(defaultValue);\n const isControlled = controlled !== undefined;\n const value = isControlled ? controlled : uncontrolled;\n const setValue = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolled(next);\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n return [value, setValue];\n}\n\nexport interface SidebarSecondaryProps\n extends React.ComponentPropsWithoutRef<'nav'> {\n /** Controlled expanded (rail width) state. */\n expanded?: boolean;\n /** Uncontrolled initial expanded state. Defaults to `true` (full width). */\n defaultExpanded?: boolean;\n /** Fires when the expanded state changes (e.g. a consumer toggle). */\n onExpandedChange?: (expanded: boolean) => void;\n /**\n * Replace the rendered `<nav>` with another element or component\n * (Base UI composition). Accepts a React element or a render function.\n */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondary = React.forwardRef<HTMLElement, SidebarSecondaryProps>(\n (\n {\n className,\n expanded: expandedProp,\n defaultExpanded = true,\n onExpandedChange,\n 'aria-label': ariaLabel = 'Section navigation',\n render,\n children,\n ...props\n },\n ref\n ) => {\n const [expanded, setExpanded] = useControllableBoolean(\n expandedProp,\n defaultExpanded,\n onExpandedChange\n );\n\n // Collapse is driven by the consumer through the layout context — the\n // `SidebarSecondaryCollapseTrigger` calls `toggleExpanded`, which updates\n // uncontrolled state and always emits `onExpandedChange`. Controlled\n // consumers ignore the internal state and react to the callback.\n const context = React.useMemo<SidebarSecondaryContextValue>(\n () => ({ expanded, toggleExpanded: () => setExpanded(!expanded) }),\n [expanded, setExpanded]\n );\n\n const element = useRender({\n render,\n ref,\n defaultTagName: 'nav',\n props: mergeProps<'nav'>(\n {\n 'aria-label': ariaLabel,\n // `data-state` drives every collapsed/expanded token switch via\n // attribute selectors; typed loosely because React's nav attribute\n // map doesn't include arbitrary data-* keys as literals.\n ...({ 'data-state': expanded ? 'expanded' : 'collapsed' } as Record<\n string,\n string\n >),\n className: cn(\n 'group/sidebar flex h-full flex-col bg-[var(--ui-sidebar-secondary-global-container-color)] border-r border-[var(--ui-sidebar-secondary-global-container-border-color)] [border-right-width:var(--ui-sidebar-secondary-global-container-border-width)] w-[var(--ui-sidebar-secondary-collapsed-container-width)] data-[state=expanded]:w-[var(--ui-sidebar-secondary-expanded-container-width)] transition-[width]',\n className\n ),\n children,\n },\n props\n ),\n });\n\n return (\n <SidebarSecondaryContext.Provider value={context}>\n {element}\n </SidebarSecondaryContext.Provider>\n );\n }\n);\nSidebarSecondary.displayName = 'SidebarSecondary';\n\nexport interface SidebarSecondaryHeaderProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** Heading text (or pass as children). */\n label?: React.ReactNode;\n}\n\nconst SidebarSecondaryHeader = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryHeaderProps\n>(({ className, label, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex items-center shrink-0',\n 'px-[var(--ui-sidebar-secondary-collapsed-container-header-padding-x)] py-[var(--ui-sidebar-secondary-collapsed-container-header-padding-y)]',\n 'group-data-[state=expanded]/sidebar:px-[var(--ui-sidebar-secondary-expanded-container-header-padding-x)] group-data-[state=expanded]/sidebar:py-[var(--ui-sidebar-secondary-expanded-container-header-padding-y)]',\n className\n )}\n {...props}\n >\n <h2 className=\"ui-sidebar-secondary-global-header-label-text-style truncate text-[var(--ui-sidebar-secondary-global-header-label-color)]\">\n {label ?? children}\n </h2>\n </div>\n));\nSidebarSecondaryHeader.displayName = 'SidebarSecondaryHeader';\n\nconst SidebarSecondaryContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n // Expanded: the section list. Hidden in collapsed mode, where the\n // CollapsedBreadcrumb sibling takes over.\n <div\n ref={ref}\n className={cn(\n 'flex flex-1 flex-col overflow-y-auto gap-[var(--ui-sidebar-secondary-global-section-list-gap)]',\n 'hidden group-data-[state=expanded]/sidebar:flex',\n className\n )}\n {...props}\n />\n));\nSidebarSecondaryContent.displayName = 'SidebarSecondaryContent';\n\nexport interface SidebarSecondaryCollapsedBreadcrumbProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** The parent section label (breadcrumbLabel). */\n parentLabel: React.ReactNode;\n /** The current page label (labelCurrentPage). */\n currentLabel: React.ReactNode;\n /** Separator between the two; defaults to a 16px ChevronRightIcon (R6). */\n separator?: React.ReactNode;\n}\n\nconst SidebarSecondaryCollapsedBreadcrumb = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryCollapsedBreadcrumbProps\n>(({ className, parentLabel, currentLabel, separator, ...props }, ref) => (\n // Shown only in collapsed mode — toggled by the same data-[state] selector so\n // it stays in the DOM (SSR-present) with no JS branch. Laid out vertically:\n // parent → separator → current page.\n <div\n ref={ref}\n className={cn(\n 'flex flex-col items-center shrink-0',\n 'gap-[var(--ui-sidebar-secondary-collapsed-container-content-gap)] py-[var(--ui-sidebar-secondary-collapsed-container-content-padding-y)]',\n 'flex group-data-[state=expanded]/sidebar:hidden',\n className\n )}\n {...props}\n >\n <span className=\"ui-sidebar-secondary-collapsed-breadcrumb-label-text-style text-[var(--ui-sidebar-secondary-collapsed-breadcrumb-label-color)]\">\n {parentLabel}\n </span>\n <span\n aria-hidden=\"true\"\n className=\"inline-flex items-center text-[var(--ui-sidebar-secondary-collapsed-icon-separator-color)] [&>svg]:size-[var(--ui-sidebar-secondary-collapsed-icon-separator-size)]\"\n >\n {separator ?? <ChevronRightIcon size={16} />}\n </span>\n <span className=\"ui-sidebar-secondary-collapsed-label-current-page-text-style text-[var(--ui-sidebar-secondary-collapsed-label-current-page-color)]\">\n {currentLabel}\n </span>\n </div>\n));\nSidebarSecondaryCollapsedBreadcrumb.displayName =\n 'SidebarSecondaryCollapsedBreadcrumb';\n\nconst SidebarSecondaryFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col shrink-0',\n 'border-t border-[var(--ui-sidebar-secondary-global-container-footer-border-color)] [border-top-width:var(--ui-sidebar-secondary-global-container-footer-border-width)]',\n 'py-[var(--ui-sidebar-secondary-section-container-padding-y)]',\n className\n )}\n {...props}\n />\n));\nSidebarSecondaryFooter.displayName = 'SidebarSecondaryFooter';\n\n// A section can be a static group (label + items) or an EXPANDABLE disclosure\n// (Figma Section `expandable=yes-*`): the label becomes a chevron toggle that\n// shows/hides the whole item list. Whether a section is expandable is shared to\n// its label + menu via this context (default: static), so the same `SectionLabel`\n// / `Menu` parts adapt without a separate component set.\ninterface SidebarSecondarySectionContextValue {\n expandable: boolean;\n}\n\nconst SidebarSecondarySectionContext =\n React.createContext<SidebarSecondarySectionContextValue>({ expandable: false });\n\nconst SECTION_STATIC: SidebarSecondarySectionContextValue = { expandable: false };\nconst SECTION_EXPANDABLE: SidebarSecondarySectionContextValue = { expandable: true };\n\nexport interface SidebarSecondarySectionProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Make the section a collapsible disclosure: the `SidebarSecondarySectionLabel`\n * becomes a chevron toggle and the `SidebarSecondaryMenu` becomes its panel.\n */\n expandable?: boolean;\n /** Controlled open state (expandable sections only). */\n open?: boolean;\n /** Uncontrolled initial open state (expandable sections only). Defaults to open. */\n defaultOpen?: boolean;\n /** Fires with the next open value when an expandable section toggles. */\n onOpenChange?: (open: boolean) => void;\n}\n\nconst SidebarSecondarySection = React.forwardRef<\n HTMLDivElement,\n SidebarSecondarySectionProps\n>(\n (\n { className, expandable = false, open, defaultOpen = true, onOpenChange, children, ...props },\n ref\n ) => {\n // Sections are separated by vertical padding + the section label; the next-gen\n // token sync removed the inter-section divider (no\n // `--ui-sidebar-secondary-section-container-border-*` token survives).\n const sectionClass = cn(\n 'flex flex-col py-[var(--ui-sidebar-secondary-section-container-padding-y)]',\n className\n );\n\n if (!expandable) {\n return (\n <SidebarSecondarySectionContext.Provider value={SECTION_STATIC}>\n <div ref={ref} className={sectionClass} {...props}>\n {children}\n </div>\n </SidebarSecondarySectionContext.Provider>\n );\n }\n\n // Expandable: Base UI Collapsible owns the open state (controlled or\n // uncontrolled) + the aria-expanded/aria-controls wiring on the trigger.\n return (\n <SidebarSecondarySectionContext.Provider value={SECTION_EXPANDABLE}>\n <Collapsible.Root\n ref={ref}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n render={<div className={sectionClass} />}\n {...props}\n >\n {children}\n </Collapsible.Root>\n </SidebarSecondarySectionContext.Provider>\n );\n }\n);\nSidebarSecondarySection.displayName = 'SidebarSecondarySection';\n\nexport interface SidebarSecondarySectionLabelProps\n extends React.ComponentPropsWithoutRef<'div'> {\n /** Trailing header actions (e.g. a ghost `ButtonIcon`). Rendered outside the toggle. */\n actions?: React.ReactNode;\n /**\n * A rollup badge (e.g. a `Tag` with an unread count) shown in the header only\n * when an expandable section is collapsed. Ignored for static sections.\n */\n unreadRollup?: React.ReactNode;\n}\n\nconst sectionLabelTextClass =\n 'ui-sidebar-secondary-section-label-section-text-style text-[var(--ui-sidebar-secondary-section-label-section-color)]';\nconst sectionHeaderPadClass =\n 'pb-[var(--ui-sidebar-secondary-section-container-header-padding-y)] px-[var(--ui-sidebar-secondary-section-container-header-padding-x)]';\n\nconst SidebarSecondarySectionLabel = React.forwardRef<\n HTMLDivElement,\n SidebarSecondarySectionLabelProps\n>(({ className, actions, unreadRollup, children, ...props }, ref) => {\n const { expandable } = React.useContext(SidebarSecondarySectionContext);\n\n if (!expandable) {\n // Static header: preserve the original markup when there are no actions so\n // existing layouts/baselines are unchanged.\n const base = cn(sectionLabelTextClass, sectionHeaderPadClass, className);\n if (actions == null) {\n return (\n <div ref={ref} className={base} {...props}>\n {children}\n </div>\n );\n }\n return (\n <div\n ref={ref}\n className={cn(\n base,\n 'flex items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)]'\n )}\n {...props}\n >\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n <span className=\"flex shrink-0 items-center\">{actions}</span>\n </div>\n );\n }\n\n // Expandable header: a chevron toggle (the Collapsible trigger) plus optional\n // trailing actions kept OUTSIDE the trigger button (no nested buttons). The\n // unread-rollup badge sits inside the trigger and shows only while collapsed.\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)]',\n sectionHeaderPadClass,\n className\n )}\n {...props}\n >\n <Collapsible.Trigger\n className={cn(\n 'group/section flex min-w-0 flex-1 items-center gap-[var(--ui-sidebar-secondary-section-container-header-gap)] text-left',\n sectionLabelTextClass,\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset'\n )}\n >\n <ChevronDownIcon\n size={16}\n aria-hidden=\"true\"\n className=\"shrink-0 -rotate-90 transition-transform group-data-[panel-open]/section:rotate-0 text-[var(--ui-sidebar-secondary-section-icon-arrow-color)]\"\n />\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n {unreadRollup != null && (\n <span className=\"flex shrink-0 items-center group-data-[panel-open]/section:hidden\">\n {unreadRollup}\n </span>\n )}\n </Collapsible.Trigger>\n {actions != null && (\n <span className=\"flex shrink-0 items-center\">{actions}</span>\n )}\n </div>\n );\n});\nSidebarSecondarySectionLabel.displayName = 'SidebarSecondarySectionLabel';\n\nconst SidebarSecondaryMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<'ul'>\n>(({ className, ...props }, ref) => {\n const { expandable } = React.useContext(SidebarSecondarySectionContext);\n const list = (\n <ul\n ref={ref}\n className={cn(\n 'flex flex-col gap-[var(--ui-sidebar-secondary-section-menu-item-list-gap)]',\n className\n )}\n {...props}\n />\n );\n // Inside an expandable section the item list IS the collapsible panel, so it\n // mounts/unmounts with the section's open state.\n return expandable ? <Collapsible.Panel>{list}</Collapsible.Panel> : list;\n});\nSidebarSecondaryMenu.displayName = 'SidebarSecondaryMenu';\n\n// Shared row geometry + the GLOBAL icon/label state colors (shared across\n// selected/unselected — DESIGN §6.2). The cva `variant` only swaps the container\n// fill. Each interaction state is wired to its own token even where acronis's\n// value is unchanged (runtime var() references honor brand overrides only on the\n// referenced token).\nconst sidebarSecondaryRowClasses =\n 'group/row flex w-full items-center gap-[var(--ui-sidebar-secondary-menu-item-global-container-gap)] min-h-[var(--ui-sidebar-secondary-menu-item-global-container-height-min)] px-[var(--ui-sidebar-secondary-menu-item-global-container-padding-x)] py-[var(--ui-sidebar-secondary-menu-item-global-container-padding-y)] no-underline ui-sidebar-secondary-menu-item-global-label-text-style transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset text-[var(--ui-sidebar-secondary-menu-item-global-label-color-color)] [&_svg]:shrink-0 [&_svg]:size-[var(--ui-sidebar-secondary-menu-item-global-icon-size)] [&_svg]:text-[var(--ui-sidebar-secondary-menu-item-global-icon-color-color)]';\n\nconst sidebarSecondaryMenuItemVariants = cva(sidebarSecondaryRowClasses, {\n variants: {\n variant: {\n unselected:\n 'bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-idle)] hover:bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-hover)] active:bg-[var(--ui-sidebar-secondary-menu-item-unselected-container-color-active)]',\n selected:\n 'bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-idle)] hover:bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-hover)] active:bg-[var(--ui-sidebar-secondary-menu-item-selected-container-color-active)]',\n },\n },\n defaultVariants: {\n variant: 'unselected',\n },\n});\n\nexport interface SidebarSecondaryMenuItemProps\n extends Omit<React.ComponentPropsWithoutRef<'a'>, 'children'>,\n Omit<VariantProps<typeof sidebarSecondaryMenuItemVariants>, 'variant'> {\n /** Marks the current route: sets the `selected` variant + `aria-current=\"page\"`. */\n selected?: boolean;\n /** Optional leading 16px icon (Level-1 only; `hasIcon` in Figma). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n /** Replace the rendered `<a>` (e.g. a router `Link` or a `<button>`). */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondaryMenuItem = React.forwardRef<\n HTMLAnchorElement,\n SidebarSecondaryMenuItemProps\n>(({ className, selected = false, icon, render, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n // Trailing extras (tag / shortcut / external link) are passed as children but\n // must sit at the right edge of the row, after the title — so split them out:\n // the title takes the remaining width and truncates with an ellipsis, while the\n // extras stay `shrink-0` on the right (the row's `gap` is their left margin).\n const items = React.Children.toArray(children);\n const extras = items.filter(\n (child): child is React.ReactElement =>\n React.isValidElement(child) &&\n (child.type as { displayName?: string }).displayName ===\n 'SidebarSecondaryMenuItemExtras'\n );\n const label = items.filter(\n (child) => !extras.includes(child as React.ReactElement)\n );\n\n const inner = useRender({\n render,\n ref,\n defaultTagName: 'a',\n props: mergeProps<'a'>(\n {\n className: cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n className\n ),\n 'aria-current': selected ? 'page' : undefined,\n children: (\n <>\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n {/* Keep the label in the DOM as `sr-only` in collapsed/rail mode so\n an icon-only row keeps an accessible name (a11y §7). */}\n <span\n className={cn(\n 'min-w-0 flex-1 truncate text-left',\n !expanded && 'sr-only'\n )}\n >\n {label}\n </span>\n {extras.length > 0 && (\n <span className=\"flex shrink-0 items-center\">{extras}</span>\n )}\n </>\n ),\n },\n props\n ),\n });\n\n return <li className=\"contents\">{inner}</li>;\n});\nSidebarSecondaryMenuItem.displayName = 'SidebarSecondaryMenuItem';\n\nexport type SidebarSecondaryMenuSubProps = React.ComponentPropsWithoutRef<\n typeof Collapsible.Root\n>;\n\nconst SidebarSecondaryMenuSub = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryMenuSubProps\n>(({ className, render, ...props }, ref) => (\n // Disclosure row: Base UI Collapsible gives per-row open state +\n // aria-expanded/aria-controls. Rendered as the list `<li>` wrapper.\n <Collapsible.Root\n ref={ref}\n render={render ?? <li />}\n className={cn('contents', className)}\n {...props}\n />\n));\nSidebarSecondaryMenuSub.displayName = 'SidebarSecondaryMenuSub';\n\nexport interface SidebarSecondaryMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Collapsible.Trigger> {\n /** Marks the parent row as selected. */\n selected?: boolean;\n /** Optional leading 16px icon. */\n icon?: React.ReactNode;\n}\n\nconst SidebarSecondaryMenuSubTrigger = React.forwardRef<\n HTMLButtonElement,\n SidebarSecondaryMenuSubTriggerProps\n>(({ className, selected = false, icon, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n return (\n <Collapsible.Trigger\n ref={ref}\n aria-current={selected ? 'page' : undefined}\n className={cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n 'text-left',\n className\n )}\n {...props}\n >\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n <span className={cn('flex-1 truncate', !expanded && 'sr-only')}>\n {children}\n </span>\n {/* Chevron rotates when the panel is open (Base UI sets data-panel-open\n on the trigger). Hidden in collapsed rail mode. */}\n <ChevronDownIcon\n size={16}\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 transition-transform group-data-[panel-open]/row:rotate-180',\n !expanded && 'hidden'\n )}\n />\n </Collapsible.Trigger>\n );\n});\nSidebarSecondaryMenuSubTrigger.displayName = 'SidebarSecondaryMenuSubTrigger';\n\nexport type SidebarSecondaryMenuSubContentProps =\n React.ComponentPropsWithoutRef<typeof Collapsible.Panel>;\n\nconst SidebarSecondaryMenuSubContent = React.forwardRef<\n HTMLDivElement,\n SidebarSecondaryMenuSubContentProps\n>(({ className, children, ...props }, ref) => (\n <Collapsible.Panel ref={ref} className={cn(className)} {...props}>\n <ul className=\"flex flex-col gap-[var(--ui-sidebar-secondary-section-menu-item-list-gap)]\">\n {children}\n </ul>\n </Collapsible.Panel>\n));\nSidebarSecondaryMenuSubContent.displayName = 'SidebarSecondaryMenuSubContent';\n\nexport interface SidebarSecondaryMenuSubItemProps\n extends Omit<React.ComponentPropsWithoutRef<'a'>, 'children'> {\n /** Marks the current route (Level-2 — no icon). */\n selected?: boolean;\n children?: React.ReactNode;\n /** Replace the rendered `<a>` (e.g. a router `Link`). */\n render?: useRender.RenderProp;\n}\n\nconst SidebarSecondaryMenuSubItem = React.forwardRef<\n HTMLAnchorElement,\n SidebarSecondaryMenuSubItemProps\n>(({ className, selected = false, render, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n\n const inner = useRender({\n render,\n ref,\n defaultTagName: 'a',\n props: mergeProps<'a'>(\n {\n className: cn(\n sidebarSecondaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n // Level-2 left indent (no icon column). The dedicated level-2 padding\n // token was removed in the next-gen sync; reconstruct the indent from\n // surviving tokens so the label aligns under level-1 labels (row\n // padding + icon column + gap).\n 'pl-[calc(var(--ui-sidebar-secondary-menu-item-global-container-padding-x)+var(--ui-sidebar-secondary-menu-item-global-icon-size)+var(--ui-sidebar-secondary-menu-item-global-container-gap))]',\n className\n ),\n 'aria-current': selected ? 'page' : undefined,\n children: (\n <span className={cn('flex-1 truncate text-left', !expanded && 'sr-only')}>\n {children}\n </span>\n ),\n },\n props\n ),\n });\n\n return <li className=\"contents\">{inner}</li>;\n});\nSidebarSecondaryMenuSubItem.displayName = 'SidebarSecondaryMenuSubItem';\n\nexport interface SidebarSecondaryMenuItemExtrasProps\n extends React.ComponentPropsWithoutRef<'span'> {\n /** Which trailing affordance to render. */\n variant: 'tag' | 'externalLink' | 'shortcut' | 'tag-externalLink';\n /** Shortcut text for the `shortcut` variant. */\n shortcut?: string;\n /** Tag content for the `tag` / `tag-externalLink` variants. */\n tag?: React.ReactNode;\n}\n\nconst SidebarSecondaryMenuItemExtras = React.forwardRef<\n HTMLSpanElement,\n SidebarSecondaryMenuItemExtrasProps\n>(({ className, variant, shortcut, tag, children, ...props }, ref) => {\n const { expanded } = useSidebarSecondaryContext();\n const showTag = variant === 'tag' || variant === 'tag-externalLink';\n const showExternal =\n variant === 'externalLink' || variant === 'tag-externalLink';\n const showShortcut = variant === 'shortcut';\n\n return (\n <span\n ref={ref}\n className={cn(\n 'inline-flex items-center gap-[var(--ui-sidebar-secondary-menu-item-extras-global-container-gap)]',\n !expanded && 'hidden',\n className\n )}\n {...props}\n >\n {showTag && (tag ?? children)}\n {showShortcut && (\n <span className=\"ui-sidebar-secondary-menu-item-extras-global-shortcut-text-style text-[var(--ui-sidebar-secondary-menu-item-extras-global-shortcut-color)]\">\n {shortcut ?? children}\n </span>\n )}\n {showExternal && (\n <SquareArrowUpRightIcon\n size={16}\n className=\"text-[var(--ui-sidebar-secondary-menu-item-extras-global-external-icon-color)] size-[var(--ui-sidebar-secondary-menu-item-extras-global-external-icon-size)]\"\n />\n )}\n </span>\n );\n});\nSidebarSecondaryMenuItemExtras.displayName = 'SidebarSecondaryMenuItemExtras';\n\nexport interface SidebarSecondaryCollapseTriggerProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'children'> {\n /** Leading 16px icon (e.g. a panel-left glyph). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n}\n\n// The footer \"Collapse menu\" affordance. A row-styled `<button>` that flips the\n// panel width via the layout context — the live wiring for the controllable\n// `expanded` state (B1). Keeps its label as `sr-only` in collapsed mode.\nconst SidebarSecondaryCollapseTrigger = React.forwardRef<\n HTMLButtonElement,\n SidebarSecondaryCollapseTriggerProps\n>(({ className, icon, children, onClick, ...props }, ref) => {\n const { expanded, toggleExpanded } = useSidebarSecondaryContext();\n\n return (\n <li className=\"contents\">\n <button\n ref={ref}\n type=\"button\"\n aria-expanded={expanded}\n className={cn(\n sidebarSecondaryMenuItemVariants({ variant: 'unselected' }),\n 'text-left',\n className\n )}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) toggleExpanded();\n }}\n {...props}\n >\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-secondary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n <span className={cn('flex-1 truncate', !expanded && 'sr-only')}>\n {children}\n </span>\n </button>\n </li>\n );\n});\nSidebarSecondaryCollapseTrigger.displayName = 'SidebarSecondaryCollapseTrigger';\n\nexport {\n SidebarSecondary,\n SidebarSecondaryHeader,\n SidebarSecondaryContent,\n SidebarSecondaryCollapsedBreadcrumb,\n SidebarSecondaryFooter,\n SidebarSecondarySection,\n SidebarSecondarySectionLabel,\n SidebarSecondaryMenu,\n SidebarSecondaryMenuItem,\n SidebarSecondaryMenuSub,\n SidebarSecondaryMenuSubTrigger,\n SidebarSecondaryMenuSubContent,\n SidebarSecondaryMenuSubItem,\n SidebarSecondaryMenuItemExtras,\n SidebarSecondaryCollapseTrigger,\n sidebarSecondaryMenuItemVariants,\n};\n"],"names":["SidebarSecondaryContext","React","useSidebarSecondaryContext","useControllableBoolean","controlled","defaultValue","onChange","uncontrolled","setUncontrolled","isControlled","value","setValue","next","SidebarSecondary","className","expandedProp","defaultExpanded","onExpandedChange","ariaLabel","render","children","props","ref","expanded","setExpanded","context","element","useRender","mergeProps","cn","SidebarSecondaryHeader","label","jsx","SidebarSecondaryContent","SidebarSecondaryCollapsedBreadcrumb","parentLabel","currentLabel","separator","jsxs","ChevronRightIcon","SidebarSecondaryFooter","SidebarSecondarySectionContext","SECTION_STATIC","SECTION_EXPANDABLE","SidebarSecondarySection","expandable","open","defaultOpen","onOpenChange","sectionClass","Collapsible","sectionLabelTextClass","sectionHeaderPadClass","SidebarSecondarySectionLabel","actions","unreadRollup","base","ChevronDownIcon","SidebarSecondaryMenu","list","sidebarSecondaryRowClasses","sidebarSecondaryMenuItemVariants","cva","SidebarSecondaryMenuItem","selected","icon","items","extras","child","inner","Fragment","SidebarSecondaryMenuSub","SidebarSecondaryMenuSubTrigger","SidebarSecondaryMenuSubContent","SidebarSecondaryMenuSubItem","SidebarSecondaryMenuItemExtras","variant","shortcut","tag","showTag","showExternal","showShortcut","SquareArrowUpRightIcon","SidebarSecondaryCollapseTrigger","onClick","toggleExpanded","event"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,98 +1,116 @@
1
- import { cn as a } from "./lib/utils.js";
2
- import { Avatar as t, AvatarFallback as i, AvatarGroup as n, AvatarImage as d, avatarVariants as S } from "./components/ui/avatar/avatar.js";
3
- import { Breadcrumb as b, BreadcrumbEllipsis as c, BreadcrumbItem as u, BreadcrumbLink as p, BreadcrumbList as l, BreadcrumbPage as x, BreadcrumbSeparator as y } from "./components/ui/breadcrumb/breadcrumb.js";
4
- import { Button as s, buttonVariants as I } from "./components/ui/button/button.js";
5
- import { ButtonMenu as M, buttonMenuVariants as P } from "./components/ui/button-menu/button-menu.js";
6
- import { CardFilter as B, cardFilterVariants as C } from "./components/ui/card-filter/card-filter.js";
7
- import { Checkbox as v } from "./components/ui/checkbox/checkbox.js";
8
- import { Radio as h, RadioGroup as A } from "./components/ui/radio/radio.js";
9
- import { Input as R } from "./components/ui/input/input.js";
10
- import { InputSearch as k } from "./components/ui/input-search/input-search.js";
11
- import { InputText as E } from "./components/ui/input-text/input-text.js";
12
- import { InputTextArea as w } from "./components/ui/input-text-area/input-text-area.js";
13
- import { Search as q } from "./components/ui/search/search.js";
14
- import { SearchGlobal as J } from "./components/ui/search-global/search-global.js";
15
- import { Select as N, SelectContent as O, SelectGroup as Q, SelectGroupLabel as U, SelectItem as W, SelectTrigger as X, SelectValue as Y } from "./components/ui/select/select.js";
16
- import { ResizableHandle as _, ResizablePanel as $, ResizablePanelGroup as rr } from "./components/ui/resizable/resizable.js";
17
- import { SidebarPrimary as ar, SidebarPrimaryCollapseTrigger as or, SidebarPrimaryContent as tr, SidebarPrimaryFooter as ir, SidebarPrimaryHeader as nr, SidebarPrimaryMenu as dr, SidebarPrimaryMenuItem as Sr, SidebarPrimaryMenuItemExtras as mr, SidebarPrimarySection as br, sidebarPrimaryMenuItemVariants as cr } from "./components/ui/sidebar-primary/sidebar-primary.js";
18
- import { SidebarSecondary as pr, SidebarSecondaryCollapseTrigger as lr, SidebarSecondaryCollapsedBreadcrumb as xr, SidebarSecondaryContent as yr, SidebarSecondaryFooter as fr, SidebarSecondaryHeader as sr, SidebarSecondaryMenu as Ir, SidebarSecondaryMenuItem as gr, SidebarSecondaryMenuItemExtras as Mr, SidebarSecondaryMenuSub as Pr, SidebarSecondaryMenuSubContent as Tr, SidebarSecondaryMenuSubItem as Br, SidebarSecondaryMenuSubTrigger as Cr, SidebarSecondarySection as Vr, SidebarSecondarySectionLabel as vr, sidebarSecondaryMenuItemVariants as Gr } from "./components/ui/sidebar-secondary/sidebar-secondary.js";
19
- import { ButtonIcon as Ar, buttonIconVariants as Fr } from "./components/ui/button-icon/button-icon.js";
20
- import { Switch as Lr } from "./components/ui/switch/switch.js";
21
- import { Tooltip as zr, TooltipContent as Er, TooltipProvider as Hr, TooltipTrigger as wr } from "./components/ui/tooltip/tooltip.js";
22
- import { Tag as qr, tagVariants as Dr } from "./components/ui/tag/tag.js";
1
+ import { cn as t } from "./lib/utils.js";
2
+ import { Avatar as o, AvatarFallback as n, AvatarGroup as S, AvatarImage as i, avatarVariants as c } from "./components/ui/avatar/avatar.js";
3
+ import { Breadcrumb as p, BreadcrumbEllipsis as l, BreadcrumbItem as d, BreadcrumbLink as m, BreadcrumbList as b, BreadcrumbPage as I, BreadcrumbSeparator as s } from "./components/ui/breadcrumb/breadcrumb.js";
4
+ import { Button as y, buttonVariants as f } from "./components/ui/button/button.js";
5
+ import { ButtonMenu as P, buttonMenuVariants as M } from "./components/ui/button-menu/button-menu.js";
6
+ import { CardFilter as C, cardFilterVariants as B } from "./components/ui/card-filter/card-filter.js";
7
+ import { Checkbox as L } from "./components/ui/checkbox/checkbox.js";
8
+ import { Radio as h, RadioGroup as v } from "./components/ui/radio/radio.js";
9
+ import { Input as k } from "./components/ui/input/input.js";
10
+ import { InputDatePicker as R } from "./components/ui/input-date-picker/input-date-picker.js";
11
+ import { InputSearch as z } from "./components/ui/input-search/input-search.js";
12
+ import { InputSelect as D, InputSelectContent as w, InputSelectDescription as j, InputSelectError as q, InputSelectField as J, InputSelectGroup as K, InputSelectItem as N, InputSelectLabel as O, InputSelectSearch as Q, InputSelectSection as U, InputSelectSectionLabel as W, InputSelectStatus as X, InputSelectTrigger as Y, InputSelectValue as Z, InputSelect as _, InputSelectContent as $, InputSelectSection as ee, InputSelectSectionLabel as re, InputSelectItem as te, InputSelectTrigger as ae, InputSelectValue as oe } from "./components/ui/input-select/input-select.js";
13
+ import { InputText as Se } from "./components/ui/input-text/input-text.js";
14
+ import { InputTextArea as ce } from "./components/ui/input-text-area/input-text-area.js";
15
+ import { Link as pe } from "./components/ui/link/link.js";
16
+ import { Search as de } from "./components/ui/search/search.js";
17
+ import { SearchGlobal as be } from "./components/ui/search-global/search-global.js";
18
+ import { ResizableHandle as se, ResizablePanel as xe, ResizablePanelGroup as ye } from "./components/ui/resizable/resizable.js";
19
+ import { SidebarPrimary as ge, SidebarPrimaryCollapseTrigger as Pe, SidebarPrimaryContent as Me, SidebarPrimaryFooter as Te, SidebarPrimaryHeader as Ce, SidebarPrimaryMenu as Be, SidebarPrimaryMenuItem as Ve, SidebarPrimaryMenuItemExtras as Le, SidebarPrimarySection as Ge, sidebarPrimaryMenuItemVariants as he } from "./components/ui/sidebar-primary/sidebar-primary.js";
20
+ import { SidebarSecondary as Fe, SidebarSecondaryCollapseTrigger as ke, SidebarSecondaryCollapsedBreadcrumb as Ae, SidebarSecondaryContent as Re, SidebarSecondaryFooter as Ee, SidebarSecondaryHeader as ze, SidebarSecondaryMenu as He, SidebarSecondaryMenuItem as De, SidebarSecondaryMenuItemExtras as we, SidebarSecondaryMenuSub as je, SidebarSecondaryMenuSubContent as qe, SidebarSecondaryMenuSubItem as Je, SidebarSecondaryMenuSubTrigger as Ke, SidebarSecondarySection as Ne, SidebarSecondarySectionLabel as Oe, sidebarSecondaryMenuItemVariants as Qe } from "./components/ui/sidebar-secondary/sidebar-secondary.js";
21
+ import { ButtonIcon as We, buttonIconVariants as Xe } from "./components/ui/button-icon/button-icon.js";
22
+ import { Switch as Ze } from "./components/ui/switch/switch.js";
23
+ import { Tooltip as $e, TooltipContent as er, TooltipProvider as rr, TooltipTrigger as tr } from "./components/ui/tooltip/tooltip.js";
24
+ import { Tag as or, tagVariants as nr } from "./components/ui/tag/tag.js";
23
25
  export {
24
- t as Avatar,
25
- i as AvatarFallback,
26
- n as AvatarGroup,
27
- d as AvatarImage,
28
- b as Breadcrumb,
29
- c as BreadcrumbEllipsis,
30
- u as BreadcrumbItem,
31
- p as BreadcrumbLink,
32
- l as BreadcrumbList,
33
- x as BreadcrumbPage,
34
- y as BreadcrumbSeparator,
35
- s as Button,
36
- Ar as ButtonIcon,
37
- M as ButtonMenu,
38
- B as CardFilter,
39
- v as Checkbox,
40
- R as Input,
41
- k as InputSearch,
42
- E as InputText,
43
- w as InputTextArea,
26
+ o as Avatar,
27
+ n as AvatarFallback,
28
+ S as AvatarGroup,
29
+ i as AvatarImage,
30
+ p as Breadcrumb,
31
+ l as BreadcrumbEllipsis,
32
+ d as BreadcrumbItem,
33
+ m as BreadcrumbLink,
34
+ b as BreadcrumbList,
35
+ I as BreadcrumbPage,
36
+ s as BreadcrumbSeparator,
37
+ y as Button,
38
+ We as ButtonIcon,
39
+ P as ButtonMenu,
40
+ C as CardFilter,
41
+ L as Checkbox,
42
+ k as Input,
43
+ R as InputDatePicker,
44
+ z as InputSearch,
45
+ D as InputSelect,
46
+ w as InputSelectContent,
47
+ j as InputSelectDescription,
48
+ q as InputSelectError,
49
+ J as InputSelectField,
50
+ K as InputSelectGroup,
51
+ N as InputSelectItem,
52
+ O as InputSelectLabel,
53
+ Q as InputSelectSearch,
54
+ U as InputSelectSection,
55
+ W as InputSelectSectionLabel,
56
+ X as InputSelectStatus,
57
+ Y as InputSelectTrigger,
58
+ Z as InputSelectValue,
59
+ Se as InputText,
60
+ ce as InputTextArea,
61
+ pe as Link,
44
62
  h as Radio,
45
- A as RadioGroup,
46
- _ as ResizableHandle,
47
- $ as ResizablePanel,
48
- rr as ResizablePanelGroup,
49
- q as Search,
50
- J as SearchGlobal,
51
- N as Select,
52
- O as SelectContent,
53
- Q as SelectGroup,
54
- U as SelectGroupLabel,
55
- W as SelectItem,
56
- X as SelectTrigger,
57
- Y as SelectValue,
58
- ar as SidebarPrimary,
59
- or as SidebarPrimaryCollapseTrigger,
60
- tr as SidebarPrimaryContent,
61
- ir as SidebarPrimaryFooter,
62
- nr as SidebarPrimaryHeader,
63
- dr as SidebarPrimaryMenu,
64
- Sr as SidebarPrimaryMenuItem,
65
- mr as SidebarPrimaryMenuItemExtras,
66
- br as SidebarPrimarySection,
67
- pr as SidebarSecondary,
68
- lr as SidebarSecondaryCollapseTrigger,
69
- xr as SidebarSecondaryCollapsedBreadcrumb,
70
- yr as SidebarSecondaryContent,
71
- fr as SidebarSecondaryFooter,
72
- sr as SidebarSecondaryHeader,
73
- Ir as SidebarSecondaryMenu,
74
- gr as SidebarSecondaryMenuItem,
75
- Mr as SidebarSecondaryMenuItemExtras,
76
- Pr as SidebarSecondaryMenuSub,
77
- Tr as SidebarSecondaryMenuSubContent,
78
- Br as SidebarSecondaryMenuSubItem,
79
- Cr as SidebarSecondaryMenuSubTrigger,
80
- Vr as SidebarSecondarySection,
81
- vr as SidebarSecondarySectionLabel,
82
- Lr as Switch,
83
- qr as Tag,
84
- zr as Tooltip,
85
- Er as TooltipContent,
86
- Hr as TooltipProvider,
87
- wr as TooltipTrigger,
88
- S as avatarVariants,
89
- Fr as buttonIconVariants,
90
- P as buttonMenuVariants,
91
- I as buttonVariants,
92
- C as cardFilterVariants,
93
- a as cn,
94
- cr as sidebarPrimaryMenuItemVariants,
95
- Gr as sidebarSecondaryMenuItemVariants,
96
- Dr as tagVariants
63
+ v as RadioGroup,
64
+ se as ResizableHandle,
65
+ xe as ResizablePanel,
66
+ ye as ResizablePanelGroup,
67
+ de as Search,
68
+ be as SearchGlobal,
69
+ _ as Select,
70
+ $ as SelectContent,
71
+ ee as SelectGroup,
72
+ re as SelectGroupLabel,
73
+ te as SelectItem,
74
+ ae as SelectTrigger,
75
+ oe as SelectValue,
76
+ ge as SidebarPrimary,
77
+ Pe as SidebarPrimaryCollapseTrigger,
78
+ Me as SidebarPrimaryContent,
79
+ Te as SidebarPrimaryFooter,
80
+ Ce as SidebarPrimaryHeader,
81
+ Be as SidebarPrimaryMenu,
82
+ Ve as SidebarPrimaryMenuItem,
83
+ Le as SidebarPrimaryMenuItemExtras,
84
+ Ge as SidebarPrimarySection,
85
+ Fe as SidebarSecondary,
86
+ ke as SidebarSecondaryCollapseTrigger,
87
+ Ae as SidebarSecondaryCollapsedBreadcrumb,
88
+ Re as SidebarSecondaryContent,
89
+ Ee as SidebarSecondaryFooter,
90
+ ze as SidebarSecondaryHeader,
91
+ He as SidebarSecondaryMenu,
92
+ De as SidebarSecondaryMenuItem,
93
+ we as SidebarSecondaryMenuItemExtras,
94
+ je as SidebarSecondaryMenuSub,
95
+ qe as SidebarSecondaryMenuSubContent,
96
+ Je as SidebarSecondaryMenuSubItem,
97
+ Ke as SidebarSecondaryMenuSubTrigger,
98
+ Ne as SidebarSecondarySection,
99
+ Oe as SidebarSecondarySectionLabel,
100
+ Ze as Switch,
101
+ or as Tag,
102
+ $e as Tooltip,
103
+ er as TooltipContent,
104
+ rr as TooltipProvider,
105
+ tr as TooltipTrigger,
106
+ c as avatarVariants,
107
+ Xe as buttonIconVariants,
108
+ M as buttonMenuVariants,
109
+ f as buttonVariants,
110
+ B as cardFilterVariants,
111
+ t as cn,
112
+ he as sidebarPrimaryMenuItemVariants,
113
+ Qe as sidebarSecondaryMenuItemVariants,
114
+ nr as tagVariants
97
115
  };
98
116
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}