@invana/ui 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -525,6 +525,54 @@ interface MenuItem {
525
525
  }
526
526
  declare const MenuItem: React$1.FC<MenuItemProps>;
527
527
 
528
+ /**
529
+ * NavItemConfig - Shared configuration for a single navigation item, used by
530
+ * both NavHorizontal and NavVertical. An item renders as an `<a>` (when `href`
531
+ * is set), a `<button>` (when `onClick` is set), or a static `<div>`.
532
+ */
533
+ interface NavItemConfig {
534
+ /** Optional unique key for React rendering */
535
+ key?: string;
536
+ /** Display name shown in tooltip */
537
+ name: string;
538
+ /** Optional label text to display next to the icon */
539
+ label?: React__default.ReactNode;
540
+ /** Navigation URL (for anchor tag) */
541
+ href?: string;
542
+ /** Click handler (for button behavior) */
543
+ onClick?: () => void;
544
+ /** Additional CSS classes for the item wrapper */
545
+ className?: string;
546
+ /** CSS classes applied when item is active */
547
+ activeClass?: string;
548
+ /** CSS classes for the icon */
549
+ iconClassName?: string;
550
+ /** Stroke width for the icon (default: 2) */
551
+ iconStroke?: number;
552
+ /** Tooltip position */
553
+ tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
554
+ /** Show a separator line after this item */
555
+ showSeperator?: boolean;
556
+ /** Lucide icon component */
557
+ icon: React__default.ElementType | LucideIcon;
558
+ /** Custom tooltip content (overrides name) */
559
+ tooltip?: React__default.ReactNode;
560
+ }
561
+ interface NavItemsProps {
562
+ items: NavItemConfig[];
563
+ /** Layout orientation — drives default icon size, padding, tooltip side and separator. */
564
+ orientation?: 'horizontal' | 'vertical';
565
+ /** Default tooltip side when an item doesn't specify one. */
566
+ tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
567
+ /** Default icon classes when an item doesn't specify `iconClassName`. */
568
+ iconClassName?: string;
569
+ }
570
+ /**
571
+ * NavItems - Shared renderer for navigation items. Renders href / onClick /
572
+ * static items with identical styling so all three share the same padding,
573
+ * primary hover + active highlight, and icon size.
574
+ */
575
+ declare const NavItems: React__default.FC<NavItemsProps>;
528
576
  interface NavSection {
529
577
  content?: React__default.ReactNode;
530
578
  className?: string;
@@ -565,34 +613,7 @@ declare const NavBase: React__default.FC<BaseNavProps>;
565
613
  * ];
566
614
  * ```
567
615
  */
568
- interface NavHorizontalItem {
569
- /** Optional unique key for React rendering */
570
- key?: string;
571
- /** Display name shown in tooltip */
572
- name: string;
573
- /** Optional label text to display next to the icon */
574
- label?: React__default.ReactNode;
575
- /** Navigation URL (for anchor tag) */
576
- href?: string;
577
- /** Click handler (for button behavior) */
578
- onClick?: () => void;
579
- /** Additional CSS classes for the item wrapper */
580
- className?: string;
581
- /** CSS classes applied when item is active */
582
- activeClass?: string;
583
- /** CSS classes for the icon */
584
- iconClassName?: string;
585
- /** Stroke width for the icon (default: 2) */
586
- iconStroke?: number;
587
- /** Tooltip position (default: 'bottom') */
588
- tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
589
- /** Show a separator line after this item */
590
- showSeperator?: boolean;
591
- /** Lucide icon component */
592
- icon: React__default.ElementType | LucideIcon;
593
- /** Custom tooltip content (overrides name) */
594
- tooltip?: React__default.ReactNode;
595
- }
616
+ type NavHorizontalItem = NavItemConfig;
596
617
  interface NavHorizontalItemsProps {
597
618
  items: NavHorizontalItem[];
598
619
  }
@@ -673,32 +694,7 @@ declare const NavHorizontal: React__default.FC<NavHorizontalProps>;
673
694
  * ];
674
695
  * ```
675
696
  */
676
- interface NavVerticalItem {
677
- /** Optional unique key for React rendering */
678
- key?: string;
679
- /** Display name shown in tooltip */
680
- name: string;
681
- /** Navigation URL (for anchor tag) */
682
- href?: string;
683
- /** Click handler (for button behavior) */
684
- onClick?: () => void;
685
- /** Additional CSS classes for the item wrapper */
686
- className?: string;
687
- /** CSS classes applied when item is active */
688
- activeClass?: string;
689
- /** CSS classes for the icon */
690
- iconClassName?: string;
691
- /** Stroke width for the icon (default: 2) */
692
- iconStroke?: number;
693
- /** Tooltip position (default: 'right') */
694
- tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
695
- /** Show a separator line after this item */
696
- showSeperator?: boolean;
697
- /** Lucide icon component */
698
- icon: React__default.ElementType | LucideIcon;
699
- /** Custom tooltip content (overrides name) */
700
- tooltip?: React__default.ReactNode;
701
- }
697
+ type NavVerticalItem = NavItemConfig;
702
698
  interface NavVerticalItemsProps {
703
699
  items: NavVerticalItem[];
704
700
  }
@@ -775,6 +771,59 @@ interface PanelContentProps {
775
771
  }
776
772
  declare function PanelContent({ title, titleText, children, onClose, showClose, headerClassName, bodyClassName, footerContent, footerClassName, closeIcon }: PanelContentProps): react_jsx_runtime.JSX.Element;
777
773
 
774
+ interface RichSelectOption {
775
+ /** Stable key used as the selection value. */
776
+ value: string;
777
+ /** Rich primary content — string or JSX. */
778
+ label: React$1.ReactNode;
779
+ /** Secondary line shown muted under the label. */
780
+ description?: React$1.ReactNode;
781
+ /** Lucide glyph or any component accepting `{ size }`. */
782
+ icon?: React$1.ElementType;
783
+ /** Trailing content (e.g. a count or status badge), pushed to the right. */
784
+ badge?: React$1.ReactNode;
785
+ disabled?: boolean;
786
+ }
787
+ interface RichSelectProps {
788
+ options: RichSelectOption[];
789
+ /** `string` in single mode, `string[]` in multi mode. */
790
+ value: string | string[];
791
+ /** Fired with the new selection — mirrors the mode of {@link value}. */
792
+ onChange: (value: string | string[]) => void;
793
+ /** Enable multi-select (checkboxes). Default `false` (radio). */
794
+ multiple?: boolean;
795
+ /** Menu heading and default trigger prefix. */
796
+ label?: string;
797
+ /** Trigger content when nothing is selected. */
798
+ placeholder?: React$1.ReactNode;
799
+ /** Full custom row JSX. Overrides the default row layout. */
800
+ renderOption?: (option: RichSelectOption, state: {
801
+ selected: boolean;
802
+ }) => React$1.ReactNode;
803
+ /** Full custom trigger JSX for the current selection. Overrides the default. */
804
+ renderValue?: (selected: RichSelectOption[]) => React$1.ReactNode;
805
+ /** Menu alignment relative to the trigger. Default `'start'`. */
806
+ align?: "start" | "center" | "end";
807
+ /** Trigger tooltip content; omit to disable the tooltip. */
808
+ tooltip?: React$1.ReactNode;
809
+ /** Side the trigger tooltip is placed on. Default `'top'`. */
810
+ tooltipSide?: "top" | "right" | "bottom" | "left";
811
+ disabled?: boolean;
812
+ /** Class merged onto the trigger Button. */
813
+ triggerClassName?: string;
814
+ /** Class merged onto the dropdown content. */
815
+ contentClassName?: string;
816
+ /** Alias of {@link triggerClassName} for ergonomics. */
817
+ className?: string;
818
+ }
819
+ /**
820
+ * A `<select>` replacement built on {@link DropdownMenu}. Each option carries
821
+ * rich content (`label`, `description`, `icon`, `badge`) and both the rows and
822
+ * the trigger are fully customizable via `renderOption` / `renderValue`.
823
+ * Supports single (radio) and multi (checkbox) selection via `multiple`.
824
+ */
825
+ declare function RichSelect({ options, value, onChange, multiple, label, placeholder, renderOption, renderValue, align, tooltip, tooltipSide, disabled, triggerClassName, contentClassName, className, }: RichSelectProps): react_jsx_runtime.JSX.Element;
826
+
778
827
  interface TabConfig {
779
828
  /** Unique identifier for the tab */
780
829
  value: string;
@@ -1038,4 +1087,4 @@ declare const Typography: {
1038
1087
  Pre: React$1.ForwardRefExoticComponent<TypographyPreProps & React$1.RefAttributes<HTMLPreElement>>;
1039
1088
  };
1040
1089
 
1041
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BaseNavProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorBoundary, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelContent, type PanelContentProps, Popover, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, SearchInput, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseTourOptions, badgeVariants, buttonGroupVariants, buttonVariants, cn, navigationMenuTriggerStyle, toggleVariants, useSidebar, useTour };
1090
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BaseNavProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorBoundary, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelContent, type PanelContentProps, Popover, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichSelect, type RichSelectOption, type RichSelectProps, ScrollArea, ScrollBar, SearchInput, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseTourOptions, badgeVariants, buttonGroupVariants, buttonVariants, cn, navigationMenuTriggerStyle, toggleVariants, useSidebar, useTour };
package/dist/index.d.ts CHANGED
@@ -525,6 +525,54 @@ interface MenuItem {
525
525
  }
526
526
  declare const MenuItem: React$1.FC<MenuItemProps>;
527
527
 
528
+ /**
529
+ * NavItemConfig - Shared configuration for a single navigation item, used by
530
+ * both NavHorizontal and NavVertical. An item renders as an `<a>` (when `href`
531
+ * is set), a `<button>` (when `onClick` is set), or a static `<div>`.
532
+ */
533
+ interface NavItemConfig {
534
+ /** Optional unique key for React rendering */
535
+ key?: string;
536
+ /** Display name shown in tooltip */
537
+ name: string;
538
+ /** Optional label text to display next to the icon */
539
+ label?: React__default.ReactNode;
540
+ /** Navigation URL (for anchor tag) */
541
+ href?: string;
542
+ /** Click handler (for button behavior) */
543
+ onClick?: () => void;
544
+ /** Additional CSS classes for the item wrapper */
545
+ className?: string;
546
+ /** CSS classes applied when item is active */
547
+ activeClass?: string;
548
+ /** CSS classes for the icon */
549
+ iconClassName?: string;
550
+ /** Stroke width for the icon (default: 2) */
551
+ iconStroke?: number;
552
+ /** Tooltip position */
553
+ tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
554
+ /** Show a separator line after this item */
555
+ showSeperator?: boolean;
556
+ /** Lucide icon component */
557
+ icon: React__default.ElementType | LucideIcon;
558
+ /** Custom tooltip content (overrides name) */
559
+ tooltip?: React__default.ReactNode;
560
+ }
561
+ interface NavItemsProps {
562
+ items: NavItemConfig[];
563
+ /** Layout orientation — drives default icon size, padding, tooltip side and separator. */
564
+ orientation?: 'horizontal' | 'vertical';
565
+ /** Default tooltip side when an item doesn't specify one. */
566
+ tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
567
+ /** Default icon classes when an item doesn't specify `iconClassName`. */
568
+ iconClassName?: string;
569
+ }
570
+ /**
571
+ * NavItems - Shared renderer for navigation items. Renders href / onClick /
572
+ * static items with identical styling so all three share the same padding,
573
+ * primary hover + active highlight, and icon size.
574
+ */
575
+ declare const NavItems: React__default.FC<NavItemsProps>;
528
576
  interface NavSection {
529
577
  content?: React__default.ReactNode;
530
578
  className?: string;
@@ -565,34 +613,7 @@ declare const NavBase: React__default.FC<BaseNavProps>;
565
613
  * ];
566
614
  * ```
567
615
  */
568
- interface NavHorizontalItem {
569
- /** Optional unique key for React rendering */
570
- key?: string;
571
- /** Display name shown in tooltip */
572
- name: string;
573
- /** Optional label text to display next to the icon */
574
- label?: React__default.ReactNode;
575
- /** Navigation URL (for anchor tag) */
576
- href?: string;
577
- /** Click handler (for button behavior) */
578
- onClick?: () => void;
579
- /** Additional CSS classes for the item wrapper */
580
- className?: string;
581
- /** CSS classes applied when item is active */
582
- activeClass?: string;
583
- /** CSS classes for the icon */
584
- iconClassName?: string;
585
- /** Stroke width for the icon (default: 2) */
586
- iconStroke?: number;
587
- /** Tooltip position (default: 'bottom') */
588
- tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
589
- /** Show a separator line after this item */
590
- showSeperator?: boolean;
591
- /** Lucide icon component */
592
- icon: React__default.ElementType | LucideIcon;
593
- /** Custom tooltip content (overrides name) */
594
- tooltip?: React__default.ReactNode;
595
- }
616
+ type NavHorizontalItem = NavItemConfig;
596
617
  interface NavHorizontalItemsProps {
597
618
  items: NavHorizontalItem[];
598
619
  }
@@ -673,32 +694,7 @@ declare const NavHorizontal: React__default.FC<NavHorizontalProps>;
673
694
  * ];
674
695
  * ```
675
696
  */
676
- interface NavVerticalItem {
677
- /** Optional unique key for React rendering */
678
- key?: string;
679
- /** Display name shown in tooltip */
680
- name: string;
681
- /** Navigation URL (for anchor tag) */
682
- href?: string;
683
- /** Click handler (for button behavior) */
684
- onClick?: () => void;
685
- /** Additional CSS classes for the item wrapper */
686
- className?: string;
687
- /** CSS classes applied when item is active */
688
- activeClass?: string;
689
- /** CSS classes for the icon */
690
- iconClassName?: string;
691
- /** Stroke width for the icon (default: 2) */
692
- iconStroke?: number;
693
- /** Tooltip position (default: 'right') */
694
- tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
695
- /** Show a separator line after this item */
696
- showSeperator?: boolean;
697
- /** Lucide icon component */
698
- icon: React__default.ElementType | LucideIcon;
699
- /** Custom tooltip content (overrides name) */
700
- tooltip?: React__default.ReactNode;
701
- }
697
+ type NavVerticalItem = NavItemConfig;
702
698
  interface NavVerticalItemsProps {
703
699
  items: NavVerticalItem[];
704
700
  }
@@ -775,6 +771,59 @@ interface PanelContentProps {
775
771
  }
776
772
  declare function PanelContent({ title, titleText, children, onClose, showClose, headerClassName, bodyClassName, footerContent, footerClassName, closeIcon }: PanelContentProps): react_jsx_runtime.JSX.Element;
777
773
 
774
+ interface RichSelectOption {
775
+ /** Stable key used as the selection value. */
776
+ value: string;
777
+ /** Rich primary content — string or JSX. */
778
+ label: React$1.ReactNode;
779
+ /** Secondary line shown muted under the label. */
780
+ description?: React$1.ReactNode;
781
+ /** Lucide glyph or any component accepting `{ size }`. */
782
+ icon?: React$1.ElementType;
783
+ /** Trailing content (e.g. a count or status badge), pushed to the right. */
784
+ badge?: React$1.ReactNode;
785
+ disabled?: boolean;
786
+ }
787
+ interface RichSelectProps {
788
+ options: RichSelectOption[];
789
+ /** `string` in single mode, `string[]` in multi mode. */
790
+ value: string | string[];
791
+ /** Fired with the new selection — mirrors the mode of {@link value}. */
792
+ onChange: (value: string | string[]) => void;
793
+ /** Enable multi-select (checkboxes). Default `false` (radio). */
794
+ multiple?: boolean;
795
+ /** Menu heading and default trigger prefix. */
796
+ label?: string;
797
+ /** Trigger content when nothing is selected. */
798
+ placeholder?: React$1.ReactNode;
799
+ /** Full custom row JSX. Overrides the default row layout. */
800
+ renderOption?: (option: RichSelectOption, state: {
801
+ selected: boolean;
802
+ }) => React$1.ReactNode;
803
+ /** Full custom trigger JSX for the current selection. Overrides the default. */
804
+ renderValue?: (selected: RichSelectOption[]) => React$1.ReactNode;
805
+ /** Menu alignment relative to the trigger. Default `'start'`. */
806
+ align?: "start" | "center" | "end";
807
+ /** Trigger tooltip content; omit to disable the tooltip. */
808
+ tooltip?: React$1.ReactNode;
809
+ /** Side the trigger tooltip is placed on. Default `'top'`. */
810
+ tooltipSide?: "top" | "right" | "bottom" | "left";
811
+ disabled?: boolean;
812
+ /** Class merged onto the trigger Button. */
813
+ triggerClassName?: string;
814
+ /** Class merged onto the dropdown content. */
815
+ contentClassName?: string;
816
+ /** Alias of {@link triggerClassName} for ergonomics. */
817
+ className?: string;
818
+ }
819
+ /**
820
+ * A `<select>` replacement built on {@link DropdownMenu}. Each option carries
821
+ * rich content (`label`, `description`, `icon`, `badge`) and both the rows and
822
+ * the trigger are fully customizable via `renderOption` / `renderValue`.
823
+ * Supports single (radio) and multi (checkbox) selection via `multiple`.
824
+ */
825
+ declare function RichSelect({ options, value, onChange, multiple, label, placeholder, renderOption, renderValue, align, tooltip, tooltipSide, disabled, triggerClassName, contentClassName, className, }: RichSelectProps): react_jsx_runtime.JSX.Element;
826
+
778
827
  interface TabConfig {
779
828
  /** Unique identifier for the tab */
780
829
  value: string;
@@ -1038,4 +1087,4 @@ declare const Typography: {
1038
1087
  Pre: React$1.ForwardRefExoticComponent<TypographyPreProps & React$1.RefAttributes<HTMLPreElement>>;
1039
1088
  };
1040
1089
 
1041
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BaseNavProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorBoundary, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelContent, type PanelContentProps, Popover, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, SearchInput, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseTourOptions, badgeVariants, buttonGroupVariants, buttonVariants, cn, navigationMenuTriggerStyle, toggleVariants, useSidebar, useTour };
1090
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BaseNavProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorBoundary, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelContent, type PanelContentProps, Popover, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichSelect, type RichSelectOption, type RichSelectProps, ScrollArea, ScrollBar, SearchInput, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseTourOptions, badgeVariants, buttonGroupVariants, buttonVariants, cn, navigationMenuTriggerStyle, toggleVariants, useSidebar, useTour };