{"version":3,"file":"components\\ui\\navigation-menu.cjs","sources":["webpack://@arolariu/components/./src/components/ui/navigation-menu.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\r\nimport { cva } from \"class-variance-authority\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\nfunction NavigationMenu({\r\n  className,\r\n  children,\r\n  viewport = true,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\r\n  viewport?: boolean;\r\n}) {\r\n  return (\r\n    <NavigationMenuPrimitive.Root\r\n      data-slot=\"navigation-menu\"\r\n      data-viewport={viewport}\r\n      className={cn(\r\n        \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\r\n        className\r\n      )}\r\n      {...props}\r\n    >\r\n      {children}\r\n      {viewport && <NavigationMenuViewport />}\r\n    </NavigationMenuPrimitive.Root>\r\n  );\r\n}\r\n\r\nfunction NavigationMenuList({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\r\n  return (\r\n    <NavigationMenuPrimitive.List\r\n      data-slot=\"navigation-menu-list\"\r\n      className={cn(\r\n        \"group flex flex-1 list-none items-center justify-center gap-1\",\r\n        className\r\n      )}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nfunction NavigationMenuItem({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\r\n  return (\r\n    <NavigationMenuPrimitive.Item\r\n      data-slot=\"navigation-menu-item\"\r\n      className={cn(\"relative\", className)}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nconst navigationMenuTriggerStyle = cva(\r\n  \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20\"\r\n);\r\n\r\nfunction NavigationMenuTrigger({\r\n  className,\r\n  children,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\r\n  return (\r\n    <NavigationMenuPrimitive.Trigger\r\n      data-slot=\"navigation-menu-trigger\"\r\n      className={cn(navigationMenuTriggerStyle(), \"group\", className)}\r\n      {...props}\r\n    >\r\n      {children}\r\n      {\"\"}\r\n      <ChevronDownIcon\r\n        className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\r\n        aria-hidden=\"true\"\r\n      />\r\n    </NavigationMenuPrimitive.Trigger>\r\n  );\r\n}\r\n\r\nfunction NavigationMenuContent({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\r\n  return (\r\n    <NavigationMenuPrimitive.Content\r\n      data-slot=\"navigation-menu-content\"\r\n      className={cn(\r\n        \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\r\n        \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-sm group-data-[viewport=false]/navigation-menu:duration-200 focus:data-[slot=navigation-menu-link]:**:ring-0 focus:data-[slot=navigation-menu-link]:**:outline-hidden\",\r\n        className\r\n      )}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nfunction NavigationMenuViewport({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\r\n  return (\r\n    <div\r\n      className={cn(\r\n        \"absolute top-full left-0 isolate z-50 flex justify-center\"\r\n      )}\r\n    >\r\n      <NavigationMenuPrimitive.Viewport\r\n        data-slot=\"navigation-menu-viewport\"\r\n        className={cn(\r\n          \"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow-sm md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\r\n          className\r\n        )}\r\n        {...props}\r\n      />\r\n    </div>\r\n  );\r\n}\r\n\r\nfunction NavigationMenuLink({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\r\n  return (\r\n    <NavigationMenuPrimitive.Link\r\n      data-slot=\"navigation-menu-link\"\r\n      className={cn(\r\n        \"hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-xs p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\r\n        className\r\n      )}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n\r\nfunction NavigationMenuIndicator({\r\n  className,\r\n  ...props\r\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\r\n  return (\r\n    <NavigationMenuPrimitive.Indicator\r\n      data-slot=\"navigation-menu-indicator\"\r\n      className={cn(\r\n        \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden\",\r\n        className\r\n      )}\r\n      {...props}\r\n    >\r\n      <div className=\"bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800\" />\r\n    </NavigationMenuPrimitive.Indicator>\r\n  );\r\n}\r\n\r\nexport {\r\n  NavigationMenu,\r\n  NavigationMenuList,\r\n  NavigationMenuItem,\r\n  NavigationMenuContent,\r\n  NavigationMenuTrigger,\r\n  NavigationMenuLink,\r\n  NavigationMenuIndicator,\r\n  NavigationMenuViewport,\r\n  navigationMenuTriggerStyle,\r\n};\r\n"],"names":["NavigationMenu","className","children","viewport","props","NavigationMenuPrimitive","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuItem","navigationMenuTriggerStyle","cva","NavigationMenuTrigger","ChevronDownIcon","NavigationMenuContent","NavigationMenuLink","NavigationMenuIndicator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAASA,eAAe,EACtBC,SAAS,EACTC,QAAQ,EACRC,WAAW,IAAI,EACf,GAAGC,OAGJ;IACC,OACE,WADF,GACE,sCAACC,sCAAAA,IAA4B;QAC3B,aAAU;QACV,iBAAeF;QACf,WAAWG,IAAAA,0BAAAA,EAAAA,EACT,oFACAL;QAED,GAAGG,KAAK;;YAERF;YACAC,YAAY,WAAZA,GAAY,qCAACI,wBAAAA,CAAAA;;;AAGpB;AAEA,SAASC,mBAAmB,EAC1BP,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,qCAACC,sCAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,iEACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASK,mBAAmB,EAC1BR,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,qCAACC,sCAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EAAG,YAAYL;QACzB,GAAGG,KAAK;;AAGf;AAEA,MAAMM,6BAA6BC,IAAAA,kDAAAA,GAAAA,EACjC;AAGF,SAASC,sBAAsB,EAC7BX,SAAS,EACTC,QAAQ,EACR,GAAGE,OAC0D;IAC7D,OACE,WADF,GACE,sCAACC,sCAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EAAGI,8BAA8B,SAAST;QACpD,GAAGG,KAAK;;YAERF;YACA;0BACD,qCAACW,sCAAAA,eAAeA,EAAAA;gBACd,WAAU;gBACV,eAAY;;;;AAIpB;AAEA,SAASC,sBAAsB,EAC7Bb,SAAS,EACT,GAAGG,OAC0D;IAC7D,OACE,WADF,GACE,qCAACC,sCAAAA,OAA+B;QAC9B,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,oWACA,kiCACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASG,uBAAuB,EAC9BN,SAAS,EACT,GAAGG,OAC2D;IAC9D,OACE,WADF,GACE,qCAAC;QACC,WAAWE,IAAAA,0BAAAA,EAAAA,EACT;kBAGF,mDAACD,sCAAAA,QAAgC;YAC/B,aAAU;YACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,oaACAL;YAED,GAAGG,KAAK;;;AAIjB;AAEA,SAASW,mBAAmB,EAC1Bd,SAAS,EACT,GAAGG,OACuD;IAC1D,OACE,WADF,GACE,qCAACC,sCAAAA,IAA4B;QAC3B,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,uuBACAL;QAED,GAAGG,KAAK;;AAGf;AAEA,SAASY,wBAAwB,EAC/Bf,SAAS,EACT,GAAGG,OAC4D;IAC/D,OACE,WADF,GACE,qCAACC,sCAAAA,SAAiC;QAChC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,8LACAL;QAED,GAAGG,KAAK;kBAET,mDAAC;YAAI,WAAU;;;AAGrB"}