iguazio.dashboard-react-controls 3.2.23 → 3.2.25

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.mjs","sources":["../../../../src/lib/nextGenComponents/components/ui/sidebar.tsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\n\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { ChevronLeftIcon, ChevronRightIcon, MenuIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\nimport { Button } from './button'\nimport { Input } from './input'\nimport { Separator } from './separator'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip'\n\nimport SidebarClose from '../../../images/navbar-closed-icon.svg?react'\nimport SidebarOpen from '../../../images/navbar-opened-icon.svg?react'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '15rem'\nconst SIDEBAR_WIDTH_ICON = '70px'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ninterface SidebarContextValue {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (value: boolean | ((prev: boolean) => boolean)) => void\n toggleSidebar: () => void\n pinned: boolean\n togglePin: () => void\n hoverLocked: boolean\n setHoverLocked: (locked: boolean) => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextValue | null>(null)\n\nconst useSidebar = (): SidebarContextValue => {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n return context\n}\n\ninterface SidebarProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n open?: boolean\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n { children, className, defaultOpen = true, onOpenChange, open: openProp, style, ...props },\n ref\n ) => {\n const [pinned, setPinned] = React.useState<boolean>(() => {\n try {\n return JSON.parse(localStorage.getItem('isNavbarPinned') || 'false')\n } catch {\n return false\n }\n })\n const [hoverLocked, setHoverLocked] = React.useState(false)\n const [_open, _setOpen] = React.useState(defaultOpen || pinned)\n const open = openProp ?? _open\n\n const setOpen = React.useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value\n if (onOpenChange) {\n onOpenChange(openState)\n } else {\n _setOpen(openState)\n }\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [onOpenChange, open]\n )\n\n const toggleSidebar = React.useCallback(() => setOpen(prev => !prev), [setOpen])\n\n const togglePin = React.useCallback(() => {\n setPinned(prev => {\n const newValue = !prev\n localStorage.setItem('isNavbarPinned', JSON.stringify(newValue))\n setOpen(newValue)\n return newValue\n })\n }, [setOpen])\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n const state: 'expanded' | 'collapsed' = open ? 'expanded' : 'collapsed'\n\n const contextValue = React.useMemo(\n () => ({\n state,\n open,\n setOpen,\n toggleSidebar,\n pinned,\n togglePin,\n hoverLocked,\n setHoverLocked\n }),\n [state, open, setOpen, toggleSidebar, pinned, togglePin, hoverLocked]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex h-full w-full has-[[data-variant=inset]]:bg-sidebar',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = 'SidebarProvider'\n\ninterface SidebarProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n}\n\nconst Sidebar = React.forwardRef<HTMLElement, SidebarProps>(\n (\n {\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n },\n ref\n ) => {\n const [isMouseOver, setIsMouseOver] = React.useState(false)\n const { hoverLocked, open, pinned, state, togglePin, setOpen } = useSidebar()\n const openTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n const closeTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n\n React.useEffect(() => {\n if (!hoverLocked && !isMouseOver && !pinned) {\n closeTimerRef.current = setTimeout(() => setOpen(false), 200)\n return () => clearTimeout(closeTimerRef.current!)\n }\n }, [hoverLocked, isMouseOver, pinned, setOpen])\n\n if (collapsible === 'none') {\n return (\n <nav\n className={cn(\n 'flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground',\n className\n )}\n ref={ref as React.Ref<HTMLElement>}\n {...props}\n >\n {children}\n </nav>\n )\n }\n\n return (\n <nav\n ref={ref as React.Ref<HTMLElement>}\n className={cn(\n 'group peer relative shrink-0 self-stretch overflow-visible text-sidebar-foreground',\n 'transition-[width] duration-300 ease-linear',\n pinned && open ? 'w-[--sidebar-width]' : 'w-[--sidebar-width-icon]'\n )}\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-pinned={pinned}\n onMouseEnter={() => {\n clearTimeout(closeTimerRef.current!)\n clearTimeout(openTimerRef.current!)\n setIsMouseOver(true)\n if (!pinned) {\n openTimerRef.current = setTimeout(() => setOpen(true), 100)\n }\n }}\n onMouseLeave={() => {\n clearTimeout(openTimerRef.current!)\n setIsMouseOver(false)\n if (!pinned && !hoverLocked) {\n setOpen(false)\n }\n }}\n onTransitionEnd={(e: React.TransitionEvent<HTMLElement>) => {\n if (e.target === e.currentTarget && e.propertyName === 'width') {\n window.dispatchEvent(new CustomEvent('mainResize'))\n }\n }}\n >\n <div\n className={cn(\n 'absolute inset-y-0 left-0 z-20 flex flex-col transition-[width] duration-300 ease-linear md:flex',\n side === 'left' &&\n pinned &&\n 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]',\n side === 'right' &&\n pinned &&\n 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : cn(\n 'group-data-[side=left]:border-r group-data-[side=right]:border-l',\n (open && !pinned) || (pinned && state === 'expanded')\n ? 'w-[--sidebar-width]'\n : 'w-[--sidebar-width-icon]'\n ),\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex size-full flex-col bg-sidebar shadow-[1px_4px_16px_rgba(0,0,0,0.04)] group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n {open && (\n <Button\n variant=\"outline\"\n tooltip={pinned ? 'Unpin sidebar' : 'Pin sidebar'}\n data-testid=\"pin-sidebar-button\"\n side=\"right\"\n className={cn(\n 'absolute top-2 left-full border bg-[#FAFAFA] border-gray-200 border-solid',\n 'w-fit h-fit rounded-l-none border-l-0 py-2 pr-[3px] pl-[1px]',\n 'transition-opacity hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n pinned ? 'opacity-100' : 'opacity-0 group-hover:opacity-100'\n )}\n onClick={togglePin}\n >\n {pinned ? (\n <SidebarClose data-testid=\"closeed-pin\" />\n ) : (\n <SidebarOpen data-testid=\"opened-pin\" />\n )}\n </Button>\n )}\n </div>\n </div>\n </nav>\n )\n }\n)\nSidebar.displayName = 'Sidebar'\n\ninterface SidebarTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon?: 'menu' | 'chevronLeft' | 'chevronRight'\n}\n\nconst SidebarTrigger = React.forwardRef<HTMLButtonElement, SidebarTriggerProps>(\n ({ className, icon = 'menu', onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-9', className)}\n onClick={event => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n {icon === 'menu' && <MenuIcon className=\"size-4 shrink-0\" />}\n {icon === 'chevronLeft' && <ChevronLeftIcon className=\"size-4 shrink-0\" />}\n {icon === 'chevronRight' && <ChevronRightIcon className=\"size-4 shrink-0\" />}\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n }\n)\nSidebarTrigger.displayName = 'SidebarTrigger'\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n )\n})\nSidebarRail.displayName = 'SidebarRail'\n\nconst SidebarInset = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...props }, ref) => {\n return (\n <main\n ref={ref as React.Ref<HTMLElement>}\n className={cn(\n 'relative flex min-h-0 flex-1 flex-col bg-background transition-[width] duration-300 ease-linear',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarInset.displayName = 'SidebarInset'\n\nconst SidebarInput = React.forwardRef<HTMLInputElement, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-9 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring',\n className\n )}\n {...props}\n />\n )\n)\nSidebarInput.displayName = 'SidebarInput'\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn('flex gap-2 py-3.5', className)}\n {...props}\n />\n )\n)\nSidebarHeader.displayName = 'SidebarHeader'\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-3', className)}\n {...props}\n />\n )\n)\nSidebarFooter.displayName = 'SidebarFooter'\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentPropsWithoutRef<typeof Separator>\n>(({ className, ...props }, ref) => (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-5 mb-2 w-auto bg-sidebar-border', className)}\n {...props}\n />\n))\nSidebarSeparator.displayName = 'SidebarSeparator'\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n)\nSidebarContent.displayName = 'SidebarContent'\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-3', className)}\n {...props}\n />\n )\n)\nSidebarGroup.displayName = 'SidebarGroup'\n\ninterface SidebarGroupLabelProps extends React.HTMLAttributes<HTMLDivElement> {\n asChild?: boolean\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'flex h-9 shrink-0 items-center rounded-md px-2.5 text-sm font-medium outline-none whitespace-nowrap ring-sidebar-ring focus-visible:ring-2 [&>svg]:size-5 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarGroupLabel.displayName = 'SidebarGroupLabel'\n\ninterface SidebarGroupActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n}\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, SidebarGroupActionProps>(\n ({ asChild = false, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-5 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarGroupAction.displayName = 'SidebarGroupAction'\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n)\nSidebarGroupContent.displayName = 'SidebarGroupContent'\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 p-0 m-0 flex-col gap-1 items-center', className)}\n {...props}\n />\n )\n)\nSidebarMenu.displayName = 'SidebarMenu'\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.HTMLAttributes<HTMLLIElement>>(\n ({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item flex relative w-full', className)}\n {...props}\n />\n )\n)\nSidebarMenuItem.displayName = 'SidebarMenuItem'\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex flex-1 w-full items-center gap-2 text-inherit overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-active-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-active-accent-foreground [&_svg_path]:fill-current data-[state=open]:hover:bg-sidebar-accent whitespace-nowrap [&>svg]:size-5 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]'\n },\n size: {\n default: 'text-sm',\n sm: 'h-8 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!m-0'\n }\n },\n defaultVariants: {\n variant: 'default',\n size: 'default'\n }\n }\n)\n\ninterface SidebarMenuButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | Record<string, unknown>\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n const { state } = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...(props as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n />\n )\n\n if (!tooltip) return button\n const tooltipProps = typeof tooltip === 'string' ? { children: tooltip } : tooltip\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed'}\n {...tooltipProps}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = 'SidebarMenuButton'\n\ninterface SidebarMenuActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n showOnHover?: boolean\n}\n\nconst SidebarMenuAction = React.forwardRef<HTMLButtonElement, SidebarMenuActionProps>(\n ({ asChild = false, className, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'hidden group-hocus:flex',\n className\n )}\n {...(props as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n />\n )\n }\n)\nSidebarMenuAction.displayName = 'SidebarMenuAction'\n\nconst SidebarMenuBadge = React.forwardRef<HTMLSpanElement, React.HTMLAttributes<HTMLSpanElement>>(\n ({ className, ...props }, ref) => (\n <span\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'inline-flex h-5 items-center rounded-full bg-sidebar-accent px-2 py-0.5 text-xs font-medium text-sidebar-accent-foreground',\n className\n )}\n {...props}\n />\n )\n)\nSidebarMenuBadge.displayName = 'SidebarMenuBadge'\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn('flex flex-col gap-1 p-0', className)}\n {...props}\n />\n )\n)\nSidebarMenuSub.displayName = 'SidebarMenuSub'\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.HTMLAttributes<HTMLLIElement>>(\n ({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-sub-item\"\n className={cn('flex w-full', className)}\n {...props}\n />\n )\n)\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem'\n\ninterface SidebarMenuSubButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n size?: 'sm' | 'md' | 'default'\n isActive?: boolean\n}\n\nconst SidebarMenuSubButton = React.forwardRef<HTMLButtonElement, SidebarMenuSubButtonProps>(\n ({ asChild = false, className, size = 'default', ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n className={cn(\n 'flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 whitespace-nowrap [&>svg]:size-4 [&>svg]:shrink-0',\n className\n )}\n {...(props as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n />\n )\n }\n)\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton'\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar\n}\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","children","className","defaultOpen","onOpenChange","openProp","style","props","ref","pinned","setPinned","hoverLocked","setHoverLocked","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","prev","togglePin","newValue","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","collapsible","side","variant","isMouseOver","setIsMouseOver","openTimerRef","closeTimerRef","e","jsxs","Button","SidebarClose","SidebarOpen","SidebarTrigger","icon","onClick","MenuIcon","ChevronLeftIcon","ChevronRightIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
@@ -1,57 +1,58 @@
1
1
  import "./components/index.mjs";
2
2
  import { useTableStore as t } from "./stores/tableStore.mjs";
3
- import { default as l } from "./components/RowActions/ActionMenu/ActionMenu.mjs";
4
- import { default as p, getBadgeColor as i } from "./components/Badge/Badge.mjs";
3
+ import { default as n } from "./components/RowActions/ActionMenu/ActionMenu.mjs";
4
+ import { default as l, getBadgeColor as p } from "./components/Badge/Badge.mjs";
5
5
  import { default as u } from "./components/BadgeCell/BadgeCell.mjs";
6
- import { Button as g } from "./components/ui/button.mjs";
7
- import { Calendar as s } from "./components/ui/calendar.mjs";
8
- import { Card as D, CardContent as C, CardDescription as S, CardFooter as c, CardHeader as T, CardTitle as w } from "./components/ui/card.mjs";
9
- import { Checkbox as P } from "./components/ui/checkbox.mjs";
10
- import { Collapsible as B, CollapsibleContent as v, CollapsibleTrigger as I } from "./components/ui/collapsible.mjs";
11
- import { default as F, default as L } from "./components/EllipsisTooltip/EllipsisTooltip.mjs";
6
+ import { Button as f } from "./components/ui/button.mjs";
7
+ import { Calendar as g } from "./components/ui/calendar.mjs";
8
+ import { Card as s, CardContent as x, CardDescription as D, CardFooter as C, CardHeader as c, CardTitle as M } from "./components/ui/card.mjs";
9
+ import { Checkbox as w } from "./components/ui/checkbox.mjs";
10
+ import { Collapsible as B, CollapsibleContent as I, CollapsibleTrigger as v } from "./components/ui/collapsible.mjs";
11
+ import { default as G, default as F } from "./components/EllipsisTooltip/EllipsisTooltip.mjs";
12
12
  import { default as R } from "./components/DataTable/DataTable.mjs";
13
- import { default as y } from "./components/DetailsPanel/DetailsPanel.mjs";
14
- import { Dialog as E, DialogBody as H, DialogClose as N, DialogContent as O, DialogDescription as U, DialogFooter as V, DialogHeader as j, DialogOverlay as q, DialogPortal as z, DialogTitle as J, DialogTrigger as K } from "./components/ui/dialog.mjs";
15
- import { DropdownMenu as W, DropdownMenuCheckboxItem as X, DropdownMenuContent as Y, DropdownMenuGroup as Z, DropdownMenuItem as _, DropdownMenuLabel as $, DropdownMenuPortal as oo, DropdownMenuRadioGroup as eo, DropdownMenuRadioItem as ro, DropdownMenuSeparator as to, DropdownMenuShortcut as ao, DropdownMenuSub as lo, DropdownMenuSubContent as no, DropdownMenuSubTrigger as po, DropdownMenuTrigger as io } from "./components/ui/dropdown-menu.mjs";
16
- import { default as fo } from "./components/FilterPopover/FilterPopover.mjs";
17
- import { Input as mo } from "./components/ui/input.mjs";
18
- import { default as xo } from "./components/Loader/Loader.mjs";
19
- import { default as Co, SelectArrow as So } from "./components/MultiSelectField/MultiSelectField.mjs";
20
- import { Pagination as To, PaginationContent as wo, PaginationEllipsis as Mo, PaginationItem as Po, PaginationLink as bo, PaginationNext as Bo, PaginationPrevious as vo } from "./components/ui/pagination.mjs";
13
+ import { default as k } from "./components/DetailsPanel/DetailsPanel.mjs";
14
+ import { Dialog as H, DialogBody as E, DialogClose as N, DialogContent as O, DialogDescription as U, DialogFooter as V, DialogHeader as j, DialogOverlay as q, DialogPortal as z, DialogTitle as J, DialogTrigger as K } from "./components/ui/dialog.mjs";
15
+ import { DropdownMenu as W, DropdownMenuCheckboxItem as X, DropdownMenuContent as Y, DropdownMenuGroup as Z, DropdownMenuItem as _, DropdownMenuLabel as $, DropdownMenuPortal as oo, DropdownMenuRadioGroup as eo, DropdownMenuRadioItem as ro, DropdownMenuSeparator as to, DropdownMenuShortcut as ao, DropdownMenuSub as no, DropdownMenuSubContent as io, DropdownMenuSubTrigger as lo, DropdownMenuTrigger as po } from "./components/ui/dropdown-menu.mjs";
16
+ import { default as So } from "./components/FilterPopover/FilterPopover.mjs";
17
+ import { Input as bo } from "./components/ui/input.mjs";
18
+ import { default as mo } from "./components/Loader/Loader.mjs";
19
+ import { default as xo, SelectArrow as Do } from "./components/MultiSelectField/MultiSelectField.mjs";
20
+ import { Pagination as co, PaginationContent as Mo, PaginationEllipsis as To, PaginationItem as wo, PaginationLink as Po, PaginationNext as Bo, PaginationPrevious as Io } from "./components/ui/pagination.mjs";
21
21
  import { default as Ao } from "./components/PaginationControls/PaginationControls.mjs";
22
- import { Popover as Lo, PopoverContent as ho, PopoverTrigger as Ro } from "./components/ui/popover.mjs";
23
- import { default as yo } from "./components/RefreshButton/RefreshButton.mjs";
24
- import { default as Eo } from "./components/RowActions/RowActions.mjs";
22
+ import { Popover as Fo, PopoverContent as Lo, PopoverTrigger as Ro } from "./components/ui/popover.mjs";
23
+ import { default as ko } from "./components/RefreshButton/RefreshButton.mjs";
24
+ import { default as Ho } from "./components/RowActions/RowActions.mjs";
25
25
  import { ScrollArea as No, ScrollBar as Oo } from "./components/ui/scroll-area.mjs";
26
26
  import { Select as Vo, SelectContent as jo, SelectGroup as qo, SelectItem as zo, SelectLabel as Jo, SelectScrollDownButton as Ko, SelectScrollUpButton as Qo, SelectSeparator as Wo, SelectTrigger as Xo, SelectValue as Yo } from "./components/ui/select.mjs";
27
27
  import { Separator as _o } from "./components/ui/separator.mjs";
28
- import { default as oe } from "./components/RowActions/SingleActionButton/SingleActionButton.mjs";
29
- import { default as re } from "./components/StatsCard/StatsCard.mjs";
30
- import { Tabs as ae, TabsContent as le, TabsList as ne, TabsTrigger as pe } from "./components/ui/tabs.mjs";
31
- import { default as de } from "./components/TimeFilterDropdown/TimeFilterDropdown.mjs";
32
- import { Tooltip as fe, TooltipContent as ge, TooltipProvider as me, TooltipTrigger as se } from "./components/ui/tooltip.mjs";
33
- import { cn as De } from "./lib/utils.mjs";
28
+ import { Sidebar as oe, SidebarContent as ee, SidebarFooter as re, SidebarGroup as te, SidebarGroupAction as ae, SidebarGroupContent as ne, SidebarGroupLabel as ie, SidebarHeader as le, SidebarInput as pe, SidebarInset as de, SidebarMenu as ue, SidebarMenuAction as Se, SidebarMenuBadge as fe, SidebarMenuButton as be, SidebarMenuItem as ge, SidebarMenuSub as me, SidebarMenuSubButton as se, SidebarMenuSubItem as xe, SidebarProvider as De, SidebarRail as Ce, SidebarSeparator as ce, SidebarTrigger as Me, useSidebar as Te } from "./components/ui/sidebar.mjs";
29
+ import { default as Pe } from "./components/RowActions/SingleActionButton/SingleActionButton.mjs";
30
+ import { default as Ie } from "./components/StatsCard/StatsCard.mjs";
31
+ import { Tabs as Ae, TabsContent as Ge, TabsList as Fe, TabsTrigger as Le } from "./components/ui/tabs.mjs";
32
+ import { default as he } from "./components/TimeFilterDropdown/TimeFilterDropdown.mjs";
33
+ import { Tooltip as ye, TooltipContent as He, TooltipProvider as Ee, TooltipTrigger as Ne } from "./components/ui/tooltip.mjs";
34
+ import { cn as Ue } from "./lib/utils.mjs";
34
35
  export {
35
- l as ActionMenu,
36
- p as Badge,
36
+ n as ActionMenu,
37
+ l as Badge,
37
38
  u as BadgeCell,
38
- g as Button,
39
- s as Calendar,
40
- D as Card,
41
- C as CardContent,
42
- S as CardDescription,
43
- c as CardFooter,
44
- T as CardHeader,
45
- w as CardTitle,
46
- P as Checkbox,
39
+ f as Button,
40
+ g as Calendar,
41
+ s as Card,
42
+ x as CardContent,
43
+ D as CardDescription,
44
+ C as CardFooter,
45
+ c as CardHeader,
46
+ M as CardTitle,
47
+ w as Checkbox,
47
48
  B as Collapsible,
48
- v as CollapsibleContent,
49
- I as CollapsibleTrigger,
50
- F as CopyButton,
49
+ I as CollapsibleContent,
50
+ v as CollapsibleTrigger,
51
+ G as CopyButton,
51
52
  R as DataTable,
52
- y as DetailsPanel,
53
- E as Dialog,
54
- H as DialogBody,
53
+ k as DetailsPanel,
54
+ H as Dialog,
55
+ E as DialogBody,
55
56
  N as DialogClose,
56
57
  O as DialogContent,
57
58
  U as DialogDescription,
@@ -72,32 +73,32 @@ export {
72
73
  ro as DropdownMenuRadioItem,
73
74
  to as DropdownMenuSeparator,
74
75
  ao as DropdownMenuShortcut,
75
- lo as DropdownMenuSub,
76
- no as DropdownMenuSubContent,
77
- po as DropdownMenuSubTrigger,
78
- io as DropdownMenuTrigger,
79
- L as EllipsisTooltip,
80
- fo as FilterPopover,
81
- mo as Input,
82
- xo as Loader,
83
- Co as MultiSelectField,
84
- To as Pagination,
85
- wo as PaginationContent,
76
+ no as DropdownMenuSub,
77
+ io as DropdownMenuSubContent,
78
+ lo as DropdownMenuSubTrigger,
79
+ po as DropdownMenuTrigger,
80
+ F as EllipsisTooltip,
81
+ So as FilterPopover,
82
+ bo as Input,
83
+ mo as Loader,
84
+ xo as MultiSelectField,
85
+ co as Pagination,
86
+ Mo as PaginationContent,
86
87
  Ao as PaginationControls,
87
- Mo as PaginationEllipsis,
88
- Po as PaginationItem,
89
- bo as PaginationLink,
88
+ To as PaginationEllipsis,
89
+ wo as PaginationItem,
90
+ Po as PaginationLink,
90
91
  Bo as PaginationNext,
91
- vo as PaginationPrevious,
92
- Lo as Popover,
93
- ho as PopoverContent,
92
+ Io as PaginationPrevious,
93
+ Fo as Popover,
94
+ Lo as PopoverContent,
94
95
  Ro as PopoverTrigger,
95
- yo as RefreshButton,
96
- Eo as RowActions,
96
+ ko as RefreshButton,
97
+ Ho as RowActions,
97
98
  No as ScrollArea,
98
99
  Oo as ScrollBar,
99
100
  Vo as Select,
100
- So as SelectArrow,
101
+ Do as SelectArrow,
101
102
  jo as SelectContent,
102
103
  qo as SelectGroup,
103
104
  zo as SelectItem,
@@ -108,19 +109,42 @@ export {
108
109
  Xo as SelectTrigger,
109
110
  Yo as SelectValue,
110
111
  _o as Separator,
111
- oe as SingleActionButton,
112
- re as StatsCard,
113
- ae as Tabs,
114
- le as TabsContent,
115
- ne as TabsList,
116
- pe as TabsTrigger,
117
- de as TimeFilterDropdown,
118
- fe as Tooltip,
119
- ge as TooltipContent,
120
- me as TooltipProvider,
121
- se as TooltipTrigger,
122
- De as cn,
123
- i as getBadgeColor,
112
+ oe as Sidebar,
113
+ ee as SidebarContent,
114
+ re as SidebarFooter,
115
+ te as SidebarGroup,
116
+ ae as SidebarGroupAction,
117
+ ne as SidebarGroupContent,
118
+ ie as SidebarGroupLabel,
119
+ le as SidebarHeader,
120
+ pe as SidebarInput,
121
+ de as SidebarInset,
122
+ ue as SidebarMenu,
123
+ Se as SidebarMenuAction,
124
+ fe as SidebarMenuBadge,
125
+ be as SidebarMenuButton,
126
+ ge as SidebarMenuItem,
127
+ me as SidebarMenuSub,
128
+ se as SidebarMenuSubButton,
129
+ xe as SidebarMenuSubItem,
130
+ De as SidebarProvider,
131
+ Ce as SidebarRail,
132
+ ce as SidebarSeparator,
133
+ Me as SidebarTrigger,
134
+ Pe as SingleActionButton,
135
+ Ie as StatsCard,
136
+ Ae as Tabs,
137
+ Ge as TabsContent,
138
+ Fe as TabsList,
139
+ Le as TabsTrigger,
140
+ he as TimeFilterDropdown,
141
+ ye as Tooltip,
142
+ He as TooltipContent,
143
+ Ee as TooltipProvider,
144
+ Ne as TooltipTrigger,
145
+ Ue as cn,
146
+ p as getBadgeColor,
147
+ Te as useSidebar,
124
148
  t as useTableStore
125
149
  };
126
150
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iguazio.dashboard-react-controls",
3
- "version": "3.2.23",
3
+ "version": "3.2.25",
4
4
  "description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.mjs",