@opensite/ui 1.1.2 → 1.1.4

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 (45) hide show
  1. package/dist/navbar-animated-preview.cjs +3 -3
  2. package/dist/navbar-animated-preview.js +3 -3
  3. package/dist/navbar-centered-menu.cjs +1 -1
  4. package/dist/navbar-centered-menu.js +1 -1
  5. package/dist/navbar-dark-icons.cjs +1 -1
  6. package/dist/navbar-dark-icons.js +1 -1
  7. package/dist/navbar-dropdown-menu.cjs +1 -1
  8. package/dist/navbar-dropdown-menu.js +1 -1
  9. package/dist/navbar-education-platform.cjs +2 -2
  10. package/dist/navbar-education-platform.js +2 -2
  11. package/dist/navbar-enterprise-mega.cjs +1 -1
  12. package/dist/navbar-enterprise-mega.js +1 -1
  13. package/dist/navbar-feature-grid.cjs +3 -3
  14. package/dist/navbar-feature-grid.js +3 -3
  15. package/dist/navbar-floating-pill.cjs +1 -1
  16. package/dist/navbar-floating-pill.js +1 -1
  17. package/dist/navbar-fullscreen-menu.cjs +1 -1
  18. package/dist/navbar-fullscreen-menu.js +1 -1
  19. package/dist/navbar-icon-links.cjs +1 -1
  20. package/dist/navbar-icon-links.js +1 -1
  21. package/dist/navbar-image-preview.cjs +114 -108
  22. package/dist/navbar-image-preview.js +114 -108
  23. package/dist/navbar-mega-menu.cjs +1 -2
  24. package/dist/navbar-mega-menu.js +1 -2
  25. package/dist/navbar-multi-column-groups.cjs +1 -1
  26. package/dist/navbar-multi-column-groups.js +1 -1
  27. package/dist/navbar-platform-resources.cjs +1 -1
  28. package/dist/navbar-platform-resources.js +1 -1
  29. package/dist/navbar-search-focused.cjs +2 -2
  30. package/dist/navbar-search-focused.js +2 -2
  31. package/dist/navbar-sidebar-mobile.cjs +1 -1
  32. package/dist/navbar-sidebar-mobile.js +1 -1
  33. package/dist/navbar-simple-links.cjs +1 -1
  34. package/dist/navbar-simple-links.js +1 -1
  35. package/dist/navbar-split-cta.cjs +2 -2
  36. package/dist/navbar-split-cta.js +2 -2
  37. package/dist/navbar-sticky-compact.cjs +4 -4
  38. package/dist/navbar-sticky-compact.js +4 -4
  39. package/dist/navbar-tabbed-sections.cjs +133 -44
  40. package/dist/navbar-tabbed-sections.js +132 -44
  41. package/dist/navbar-transparent-overlay.cjs +4 -12
  42. package/dist/navbar-transparent-overlay.js +4 -12
  43. package/dist/registry.cjs +197 -173
  44. package/dist/registry.js +197 -173
  45. package/package.json +1 -1
package/dist/registry.js CHANGED
@@ -57202,7 +57202,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
57202
57202
  // Section wrapper classes - always full width for non-floating variants
57203
57203
  sectionClasses: cn(
57204
57204
  "inset-x-0 z-20",
57205
- isFloatingBar ? "sticky top-4" : "top-0",
57205
+ isFloatingBar ? "sticky top-4" : "fixed top-0",
57206
57206
  customClasses?.className
57207
57207
  ),
57208
57208
  // Outer container wrapper (only for floating bar - this containerizes the entire navbar)
@@ -57999,7 +57999,6 @@ var NavbarMegaMenu = ({
57999
57999
  open,
58000
58000
  onClose: () => setOpen(false),
58001
58001
  title: "Mobile Navigation",
58002
- contentClassName: "pt-10 pb-20",
58003
58002
  children: /* @__PURE__ */ jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
58004
58003
  /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
58005
58004
  if (hasDropdownItems(link)) {
@@ -58975,12 +58974,12 @@ var NavbarFeatureGrid = ({
58975
58974
  /* @__PURE__ */ jsxs(Accordion, { type: "multiple", className: "w-full", children: [
58976
58975
  features && features.length > 0 && /* @__PURE__ */ jsxs(AccordionItem, { value: "features", className: "border-b-0", children: [
58977
58976
  /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal hover:no-underline", children: "Features" }),
58978
- /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: features.map((feature, index) => /* @__PURE__ */ jsx(
58977
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none space-y-4", children: features.map((feature, index) => /* @__PURE__ */ jsx(
58979
58978
  Pressable,
58980
58979
  {
58981
58980
  href: feature.href,
58982
58981
  className: "flex items-start gap-2 pl-4 text-sm",
58983
- children: /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
58982
+ children: /* @__PURE__ */ jsxs("div", { className: "space-y-0", children: [
58984
58983
  /* @__PURE__ */ jsx("p", { className: "font-semibold", children: feature.title }),
58985
58984
  /* @__PURE__ */ jsx("p", { className: "text-sm", children: feature.description })
58986
58985
  ] })
@@ -59844,65 +59843,55 @@ var NavbarImagePreview = ({
59844
59843
  containerClassName: sectionContainerClassName,
59845
59844
  containerMaxWidth: sectionContainerMaxWidth,
59846
59845
  children: [
59847
- /* @__PURE__ */ jsx(
59846
+ /* @__PURE__ */ jsx("div", { className: cn("z-500 w-full", containerWrapperClasses), ref: navRef, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
59848
59847
  "div",
59849
59848
  {
59850
59849
  className: cn(
59851
- "fixed top-0 z-500 w-full bg-transparent transition-colors duration-500",
59852
- containerWrapperClasses
59850
+ "flex items-center justify-between gap-3.5 py-5",
59851
+ navClassName
59853
59852
  ),
59854
- ref: navRef,
59855
- children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
59856
- "div",
59857
- {
59858
- className: cn(
59859
- "flex items-center justify-between gap-3.5 py-5",
59860
- navClassName
59861
- ),
59862
- children: [
59863
- /* @__PURE__ */ jsx(
59864
- NavbarLogo,
59865
- {
59866
- logo,
59867
- logoSlot,
59868
- logoClassName,
59869
- optixFlowConfig
59870
- }
59871
- ),
59872
- /* @__PURE__ */ jsx(
59873
- NavigationMenu,
59874
- {
59875
- className: cn(
59876
- "hidden lg:flex [&>div:nth-child(2)]:left-1/2 [&>div:nth-child(2)]:-translate-x-1/2",
59877
- navigationMenuClassName
59878
- ),
59879
- children: renderNavigation
59880
- }
59853
+ children: [
59854
+ /* @__PURE__ */ jsx(
59855
+ NavbarLogo,
59856
+ {
59857
+ logo,
59858
+ logoSlot,
59859
+ logoClassName,
59860
+ optixFlowConfig
59861
+ }
59862
+ ),
59863
+ /* @__PURE__ */ jsx(
59864
+ NavigationMenu,
59865
+ {
59866
+ className: cn(
59867
+ "hidden lg:flex [&>div:nth-child(2)]:left-1/2 [&>div:nth-child(2)]:-translate-x-1/2",
59868
+ navigationMenuClassName
59881
59869
  ),
59882
- /* @__PURE__ */ jsxs(
59883
- "div",
59884
- {
59885
- className: cn("flex items-center gap-3.5", actionsClassName),
59886
- children: [
59887
- /* @__PURE__ */ jsx("div", { className: "hidden lg:flex lg:items-center lg:gap-3.5", children: renderAuthActions }),
59888
- /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
59889
- Pressable,
59890
- {
59891
- variant: "ghost",
59892
- size: "icon",
59893
- asButton: true,
59894
- onClick: handleMobileMenu,
59895
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 22 })
59896
- }
59897
- ) })
59898
- ]
59899
- }
59900
- )
59901
- ]
59902
- }
59903
- ) }) })
59870
+ children: renderNavigation
59871
+ }
59872
+ ),
59873
+ /* @__PURE__ */ jsxs(
59874
+ "div",
59875
+ {
59876
+ className: cn("flex items-center gap-3.5", actionsClassName),
59877
+ children: [
59878
+ /* @__PURE__ */ jsx("div", { className: "hidden lg:flex lg:items-center lg:gap-3.5", children: renderAuthActions }),
59879
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
59880
+ Pressable,
59881
+ {
59882
+ variant: "ghost",
59883
+ size: "icon",
59884
+ asButton: true,
59885
+ onClick: handleMobileMenu,
59886
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 22 })
59887
+ }
59888
+ ) })
59889
+ ]
59890
+ }
59891
+ )
59892
+ ]
59904
59893
  }
59905
- ),
59894
+ ) }) }) }),
59906
59895
  /* @__PURE__ */ jsx(
59907
59896
  MobileNavigationMenu2,
59908
59897
  {
@@ -60053,61 +60042,77 @@ var MobileNavigationMenu2 = ({
60053
60042
  }) });
60054
60043
  }, [authActionsSlot, authActions, handleClose]);
60055
60044
  if (mobileNavigationSlot) {
60056
- return /* @__PURE__ */ jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Mobile Navigation", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
60057
- mobileNavigationSlot,
60058
- renderSocialLinks,
60059
- renderMobileAuthActions
60060
- ] }) }) });
60061
- }
60062
- return /* @__PURE__ */ jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Mobile Navigation", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
60063
- /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: mobileNavigation.map((item, index) => {
60064
- if (item.links && item.links.length > 0) {
60065
- return /* @__PURE__ */ jsxs(
60066
- AccordionItem,
60067
- {
60068
- value: `nav-${index}`,
60069
- className: "border-b-0",
60070
- children: [
60071
- /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
60072
- /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
60073
- Pressable,
60074
- {
60075
- href: getLinkUrl(link),
60076
- className: "flex min-h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
60077
- onClick: handleClose,
60078
- children: [
60079
- link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
60080
- DynamicIcon,
60081
- {
60082
- name: link.iconName,
60083
- size: 16,
60084
- className: "stroke-muted-foreground"
60085
- }
60086
- ) : null,
60087
- link.label
60088
- ]
60089
- },
60090
- `mobile-link-${linkIndex}`
60091
- )) })
60092
- ]
60093
- },
60094
- `nav-item-${index}`
60095
- );
60045
+ return /* @__PURE__ */ jsx(
60046
+ NavbarMobileMenu,
60047
+ {
60048
+ open,
60049
+ onClose: handleClose,
60050
+ title: "Mobile Navigation",
60051
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
60052
+ mobileNavigationSlot,
60053
+ renderSocialLinks,
60054
+ renderMobileAuthActions
60055
+ ] }) })
60096
60056
  }
60097
- return /* @__PURE__ */ jsx(
60098
- Pressable,
60099
- {
60100
- href: item.url,
60101
- className: "flex h-15 items-center rounded-md p-0 px-4 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all hover:bg-muted focus-visible:ring-4 focus-visible:outline-1",
60102
- onClick: handleClose,
60103
- children: item.title
60104
- },
60105
- `nav-link-${index}`
60106
- );
60107
- }) }),
60108
- renderSocialLinks,
60109
- renderMobileAuthActions
60110
- ] }) }) });
60057
+ );
60058
+ }
60059
+ return /* @__PURE__ */ jsx(
60060
+ NavbarMobileMenu,
60061
+ {
60062
+ open,
60063
+ onClose: handleClose,
60064
+ title: "Mobile Navigation",
60065
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
60066
+ /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: mobileNavigation.map((item, index) => {
60067
+ if (item.links && item.links.length > 0) {
60068
+ return /* @__PURE__ */ jsxs(
60069
+ AccordionItem,
60070
+ {
60071
+ value: `nav-${index}`,
60072
+ className: "border-b-0",
60073
+ children: [
60074
+ /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
60075
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
60076
+ Pressable,
60077
+ {
60078
+ href: getLinkUrl(link),
60079
+ className: "flex min-h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
60080
+ onClick: handleClose,
60081
+ children: [
60082
+ link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
60083
+ DynamicIcon,
60084
+ {
60085
+ name: link.iconName,
60086
+ size: 16,
60087
+ className: "stroke-muted-foreground"
60088
+ }
60089
+ ) : null,
60090
+ link.label
60091
+ ]
60092
+ },
60093
+ `mobile-link-${linkIndex}`
60094
+ )) })
60095
+ ]
60096
+ },
60097
+ `nav-item-${index}`
60098
+ );
60099
+ }
60100
+ return /* @__PURE__ */ jsx(
60101
+ Pressable,
60102
+ {
60103
+ href: item.url,
60104
+ className: "flex h-15 items-center rounded-md p-0 px-4 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all hover:bg-muted focus-visible:ring-4 focus-visible:outline-1",
60105
+ onClick: handleClose,
60106
+ children: item.title
60107
+ },
60108
+ `nav-link-${index}`
60109
+ );
60110
+ }) }),
60111
+ renderSocialLinks,
60112
+ renderMobileAuthActions
60113
+ ] }) })
60114
+ }
60115
+ );
60111
60116
  };
60112
60117
  var MOBILE_BREAKPOINT3 = 1024;
60113
60118
  var NavbarDarkIcons = ({
@@ -60783,9 +60788,9 @@ var GroupLinks = ({ groupLinks }) => {
60783
60788
  };
60784
60789
  if (!groupLinks) return null;
60785
60790
  let linkIndex = 0;
60786
- return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { children: [
60791
+ return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 w-full", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { children: [
60787
60792
  /* @__PURE__ */ jsx("div", { className: "mb-4 text-xs", children: group.label }),
60788
- /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-4", children: group.links.map((link, index2) => {
60793
+ /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-4 w-full", children: group.links.map((link, index2) => {
60789
60794
  const idx = linkIndex++;
60790
60795
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
60791
60796
  NavLink,
@@ -61818,18 +61823,10 @@ var NavbarTransparentOverlay = ({
61818
61823
  onClick: () => setIsOpen(true),
61819
61824
  className: cn(
61820
61825
  "size-11",
61821
- !isScrolled && "hover:bg-white/10"
61826
+ !isScrolled && "hover:bg-white/10",
61827
+ isScrolled ? "text-foreground" : "text-white"
61822
61828
  ),
61823
- children: /* @__PURE__ */ jsx(
61824
- DynamicIcon,
61825
- {
61826
- name: "lucide/menu",
61827
- size: 16,
61828
- className: cn(
61829
- isScrolled ? "stroke-foreground" : "stroke-white"
61830
- )
61831
- }
61832
- )
61829
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 16 })
61833
61830
  }
61834
61831
  ) })
61835
61832
  ] }) })
@@ -62140,7 +62137,7 @@ var DesktopMenuItem7 = ({
62140
62137
  Pressable,
62141
62138
  {
62142
62139
  href: link.href,
62143
- className: "group flex cursor-pointer flex-row gap-3",
62140
+ className: "group flex cursor-pointer justify-start! flex-row gap-3",
62144
62141
  children: [
62145
62142
  link.icon && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-md border border-border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 20 }) }),
62146
62143
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
@@ -62351,7 +62348,7 @@ var NavbarStickyCompact = ({
62351
62348
  NavigationMenuTrigger,
62352
62349
  {
62353
62350
  className: cn(
62354
- "transition-all duration-300",
62351
+ "transition-all duration-300 bg-transparent hover:bg-muted",
62355
62352
  isScrolled ? "h-8 text-sm" : "h-10"
62356
62353
  ),
62357
62354
  children: item.title
@@ -62361,7 +62358,7 @@ var NavbarStickyCompact = ({
62361
62358
  Pressable,
62362
62359
  {
62363
62360
  href: subItem.url,
62364
- className: "flex items-center gap-2 rounded-md px-3 py-2 text-sm hover:bg-accent",
62361
+ className: "flex items-center gap-2 rounded-md px-3 py-2 text-sm hover:bg-muted",
62365
62362
  children: [
62366
62363
  subItem.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: subItem.icon, size: 16 }),
62367
62364
  subItem.title
@@ -62374,7 +62371,7 @@ var NavbarStickyCompact = ({
62374
62371
  asChild: true,
62375
62372
  className: cn(
62376
62373
  navigationMenuTriggerStyle(),
62377
- "transition-all duration-300",
62374
+ "transition-all duration-300 bg-transparent hover:bg-muted",
62378
62375
  isScrolled ? "h-8 text-sm" : "h-10"
62379
62376
  ),
62380
62377
  children: /* @__PURE__ */ jsx(Pressable, { href: item.url, children: item.title })
@@ -62791,7 +62788,7 @@ var MobileNavigationMenu10 = ({
62791
62788
  );
62792
62789
  }) });
62793
62790
  }, [mobileMenuActionsSlot, mobileMenuActions]);
62794
- return /* @__PURE__ */ jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Navigation Menu", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
62791
+ return /* @__PURE__ */ jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Navigation Menu", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0", children: [
62795
62792
  navigationSlot ?? /* @__PURE__ */ jsx("nav", { className: "flex flex-col", children: navItems.map((item, index) => /* @__PURE__ */ jsxs(
62796
62793
  Pressable,
62797
62794
  {
@@ -63275,7 +63272,7 @@ var NavbarSplitCta = ({
63275
63272
  index
63276
63273
  )
63277
63274
  ) }),
63278
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 mt-6", children: renderAuthActions })
63275
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 mt-0", children: renderAuthActions })
63279
63276
  ] }) })
63280
63277
  }
63281
63278
  )
@@ -63533,13 +63530,13 @@ var NavbarTabbedSections = ({
63533
63530
  if (!menu || menu.length === 0) return null;
63534
63531
  return menu.map(
63535
63532
  (item, index) => item.tabs ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
63536
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.title }),
63533
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "bg-transparent hover:bg-muted", children: item.title }),
63537
63534
  /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: item.tabs[0]?.id, className: "w-[600px]", children: [
63538
- /* @__PURE__ */ jsx("div", { className: "border-b px-4 pt-2", children: /* @__PURE__ */ jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsx(
63535
+ /* @__PURE__ */ jsx("div", { className: "border-b-2 px-4 pt-2", children: /* @__PURE__ */ jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsx(
63539
63536
  TabsTrigger,
63540
63537
  {
63541
63538
  value: tab.id,
63542
- className: "rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
63539
+ className: "-mb-2 rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary data-[state=active]:text-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
63543
63540
  children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
63544
63541
  tab.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: tab.icon, size: 16 }),
63545
63542
  tab.title
@@ -63548,20 +63545,28 @@ var NavbarTabbedSections = ({
63548
63545
  tab.id
63549
63546
  )) }) }),
63550
63547
  item.tabs.map((tab) => /* @__PURE__ */ jsx(TabsContent, { value: tab.id, className: "mt-0 p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex gap-6", children: [
63551
- /* @__PURE__ */ jsx("div", { className: "flex-1 space-y-1", children: tab.links.map((link, linkIndex) => /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
63552
- Pressable,
63548
+ /* @__PURE__ */ jsx("div", { className: "flex-1 grid grid-cols-2 space-y-2 space-x-4", children: tab.links.map((link, linkIndex) => /* @__PURE__ */ jsx(
63549
+ NavigationMenuLink,
63553
63550
  {
63554
- href: link.url,
63555
- className: "flex items-start gap-3 rounded-md p-3 hover:bg-muted",
63556
- children: [
63557
- link.icon && /* @__PURE__ */ jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-muted bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
63558
- /* @__PURE__ */ jsxs("div", { children: [
63559
- /* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: link.title }),
63560
- link.description && /* @__PURE__ */ jsx("p", { className: "text-xs", children: link.description })
63561
- ] })
63562
- ]
63563
- }
63564
- ) }, linkIndex)) }),
63551
+ asChild: true,
63552
+ className: "w-full",
63553
+ children: /* @__PURE__ */ jsxs(
63554
+ Pressable,
63555
+ {
63556
+ href: link.url,
63557
+ className: "w-full flex items-start gap-3 rounded-md p-3 hover:bg-muted",
63558
+ children: [
63559
+ link.icon && /* @__PURE__ */ jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
63560
+ /* @__PURE__ */ jsxs("div", { children: [
63561
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: link.title }),
63562
+ link.description && /* @__PURE__ */ jsx("p", { className: "text-xs", children: link.description })
63563
+ ] })
63564
+ ]
63565
+ }
63566
+ )
63567
+ },
63568
+ linkIndex
63569
+ )) }),
63565
63570
  tab.featured && /* @__PURE__ */ jsx("div", { className: "w-[200px] shrink-0", children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
63566
63571
  Pressable,
63567
63572
  {
@@ -63599,39 +63604,58 @@ var NavbarTabbedSections = ({
63599
63604
  const renderMobileMenu = useMemo$1(() => {
63600
63605
  if (menuSlot) return menuSlot;
63601
63606
  if (!menu || menu.length === 0) return null;
63602
- return menu.map(
63603
- (item, index) => item.tabs ? /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
63604
- /* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: item.title }),
63605
- item.tabs.map((tab) => /* @__PURE__ */ jsxs("div", { className: "space-y-1 pl-2", children: [
63606
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs font-medium text-muted-foreground", children: [
63607
- tab.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: tab.icon, size: 14 }),
63608
- tab.title
63609
- ] }),
63610
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 pl-4", children: tab.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
63611
- Pressable,
63612
- {
63613
- href: link.url,
63614
- className: "flex items-center gap-2 rounded-md py-1.5 text-sm",
63615
- onClick: () => setIsOpen(false),
63616
- children: [
63617
- link.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 14 }),
63618
- link.title
63619
- ]
63620
- },
63621
- linkIndex
63622
- )) })
63623
- ] }, tab.id))
63624
- ] }, index) : /* @__PURE__ */ jsx(
63607
+ return /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menu.map((item, index) => {
63608
+ if (item.tabs && item.tabs.length > 0) {
63609
+ return /* @__PURE__ */ jsxs(
63610
+ AccordionItem,
63611
+ {
63612
+ value: `nav-${index}`,
63613
+ className: "border-b-0",
63614
+ children: [
63615
+ /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
63616
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none pb-4", children: /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full pl-4", children: item.tabs.map((tab) => /* @__PURE__ */ jsxs(
63617
+ AccordionItem,
63618
+ {
63619
+ value: tab.id,
63620
+ className: "border-b-0",
63621
+ children: [
63622
+ /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-12 items-center p-0 px-4! text-sm leading-[3] font-medium text-muted-foreground hover:bg-muted hover:no-underline", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
63623
+ tab.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: tab.icon, size: 14 }),
63624
+ tab.title
63625
+ ] }) }),
63626
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 pl-4", children: tab.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
63627
+ Pressable,
63628
+ {
63629
+ href: link.url,
63630
+ className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm hover:bg-muted",
63631
+ onClick: () => setIsOpen(false),
63632
+ children: [
63633
+ link.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 14 }),
63634
+ link.title
63635
+ ]
63636
+ },
63637
+ linkIndex
63638
+ )) }) })
63639
+ ]
63640
+ },
63641
+ tab.id
63642
+ )) }) })
63643
+ ]
63644
+ },
63645
+ `nav-item-${index}`
63646
+ );
63647
+ }
63648
+ return /* @__PURE__ */ jsx(
63625
63649
  Pressable,
63626
63650
  {
63627
63651
  href: item.url,
63628
- className: "text-sm font-medium",
63652
+ className: "flex h-15 items-center px-4 text-base font-normal text-muted-foreground hover:bg-muted",
63629
63653
  onClick: () => setIsOpen(false),
63630
63654
  children: item.title
63631
63655
  },
63632
- index
63633
- )
63634
- );
63656
+ `nav-link-${index}`
63657
+ );
63658
+ }) });
63635
63659
  }, [menuSlot, menu]);
63636
63660
  const {
63637
63661
  sectionClasses,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",