@opensite/ui 1.0.7 → 1.0.9

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 (47) hide show
  1. package/dist/navbar-animated-preview.cjs +16 -16
  2. package/dist/navbar-animated-preview.js +16 -16
  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 +278 -236
  10. package/dist/navbar-education-platform.d.cts +61 -36
  11. package/dist/navbar-education-platform.d.ts +61 -36
  12. package/dist/navbar-education-platform.js +279 -237
  13. package/dist/navbar-enterprise-mega.cjs +6 -6
  14. package/dist/navbar-enterprise-mega.js +6 -6
  15. package/dist/navbar-feature-grid.cjs +1 -1
  16. package/dist/navbar-feature-grid.js +1 -1
  17. package/dist/navbar-icon-links.cjs +2 -1
  18. package/dist/navbar-icon-links.js +2 -1
  19. package/dist/navbar-image-preview.cjs +129 -50
  20. package/dist/navbar-image-preview.js +128 -50
  21. package/dist/navbar-mega-menu.cjs +1 -1
  22. package/dist/navbar-mega-menu.js +1 -1
  23. package/dist/navbar-multi-column-groups.cjs +53 -49
  24. package/dist/navbar-multi-column-groups.js +53 -49
  25. package/dist/navbar-platform-resources.cjs +5 -4
  26. package/dist/navbar-platform-resources.js +5 -4
  27. package/dist/navbar-search-focused.cjs +1 -1
  28. package/dist/navbar-search-focused.js +1 -1
  29. package/dist/navbar-sidebar-mobile.cjs +235 -166
  30. package/dist/navbar-sidebar-mobile.js +236 -167
  31. package/dist/navbar-simple-links.cjs +228 -184
  32. package/dist/navbar-simple-links.d.cts +15 -3
  33. package/dist/navbar-simple-links.d.ts +15 -3
  34. package/dist/navbar-simple-links.js +228 -183
  35. package/dist/navbar-split-cta.cjs +3 -3
  36. package/dist/navbar-split-cta.js +3 -3
  37. package/dist/navbar-sticky-compact.cjs +1 -1
  38. package/dist/navbar-sticky-compact.js +1 -1
  39. package/dist/navbar-tabbed-sections.cjs +1 -1
  40. package/dist/navbar-tabbed-sections.js +1 -1
  41. package/dist/navbar-transparent-overlay.cjs +244 -123
  42. package/dist/navbar-transparent-overlay.d.cts +30 -1
  43. package/dist/navbar-transparent-overlay.d.ts +30 -1
  44. package/dist/navbar-transparent-overlay.js +244 -123
  45. package/dist/registry.cjs +1008 -894
  46. package/dist/registry.js +1008 -894
  47. package/package.json +1 -1
package/dist/registry.js CHANGED
@@ -57092,7 +57092,7 @@ var NavbarMobileMenu = ({
57092
57092
  "data-state": open ? "open" : "closed",
57093
57093
  children: [
57094
57094
  /* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
57095
- /* @__PURE__ */ jsx("div", { className: "absolute top-4 right-4 z-10", children: /* @__PURE__ */ jsxs(
57095
+ /* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxs(
57096
57096
  "button",
57097
57097
  {
57098
57098
  onClick: onClose,
@@ -58622,7 +58622,7 @@ var DesktopMenuItem2 = ({
58622
58622
  if (hasDropdown) {
58623
58623
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
58624
58624
  /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
58625
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "!rounded-xl !border-0 !p-6", children: renderDropdownContent(
58625
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "rounded-xl! border-0! p-4!", children: renderDropdownContent(
58626
58626
  { ...item, layout: effectiveLayout },
58627
58627
  optixFlowConfig
58628
58628
  ) })
@@ -58693,7 +58693,7 @@ var renderDropdownContent = (item, optixFlowConfig) => {
58693
58693
  var renderMobileDropdownContent = (item) => {
58694
58694
  switch (item.layout) {
58695
58695
  case "solutions-with-platform":
58696
- return /* @__PURE__ */ jsx("div", { className: "relative", children: item.solutionCards?.map((solution) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
58696
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col space-y-2", children: item.solutionCards?.map((solution) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
58697
58697
  /* @__PURE__ */ jsx(
58698
58698
  Pressable,
58699
58699
  {
@@ -58721,7 +58721,7 @@ var renderMobileDropdownContent = (item) => {
58721
58721
  Pressable,
58722
58722
  {
58723
58723
  href: product.href,
58724
- className: "flex items-center gap-2 text-sm text-muted-foreground",
58724
+ className: "flex items-center pl-4 gap-2 text-sm text-muted-foreground",
58725
58725
  children: product.title
58726
58726
  },
58727
58727
  product.id
@@ -58732,7 +58732,7 @@ var renderMobileDropdownContent = (item) => {
58732
58732
  Pressable,
58733
58733
  {
58734
58734
  href: resource.href,
58735
- className: "flex items-center gap-2 text-sm text-muted-foreground",
58735
+ className: "flex items-center pl-4 gap-2 text-sm text-muted-foreground",
58736
58736
  children: [
58737
58737
  /* @__PURE__ */ jsx(DynamicIcon, { name: resource.icon, size: 14 }),
58738
58738
  resource.title
@@ -58821,7 +58821,7 @@ var MobileNavigationMenu = ({
58821
58821
  typeof item.label === "string" ? item.label : `nav-${index}`
58822
58822
  );
58823
58823
  }) }),
58824
- /* @__PURE__ */ jsx("div", { className: cn("mt-6 flex flex-col gap-4", actionsClassName), children: renderActions })
58824
+ /* @__PURE__ */ jsx("div", { className: cn("mt-4 flex flex-col gap-4", actionsClassName), children: renderActions })
58825
58825
  ] })
58826
58826
  }
58827
58827
  );
@@ -59566,6 +59566,7 @@ var NavbarPlatformResources = ({
59566
59566
  children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
59567
59567
  NavigationMenu,
59568
59568
  {
59569
+ viewport: false,
59569
59570
  className: cn("min-w-full", navigationMenuClassName),
59570
59571
  children: [
59571
59572
  /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
@@ -59588,7 +59589,7 @@ var NavbarPlatformResources = ({
59588
59589
  NavigationMenuItem,
59589
59590
  {
59590
59591
  children: [
59591
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-muted-foreground hover:bg-transparent focus:bg-transparent data-[state=open]:bg-transparent", children: link.label }),
59592
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-4 py-2 font-normal hover:bg-muted focus:bg-transparent data-[state=open]:bg-transparent", children: link.label }),
59592
59593
  renderDropdownContent3(link)
59593
59594
  ]
59594
59595
  },
@@ -59605,7 +59606,7 @@ var NavbarPlatformResources = ({
59605
59606
  NavigationMenuLink,
59606
59607
  {
59607
59608
  href: link.href,
59608
- className: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-accent-foreground",
59609
+ className: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-muted",
59609
59610
  children: link.label
59610
59611
  }
59611
59612
  )
@@ -59656,7 +59657,7 @@ var NavbarPlatformResources = ({
59656
59657
  className: "border-b-0",
59657
59658
  children: [
59658
59659
  /* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
59659
- /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
59660
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none space-y-4", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
59660
59661
  Pressable,
59661
59662
  {
59662
59663
  href: getLinkUrl(item),
@@ -59960,7 +59961,7 @@ var DesktopMenuItem3 = ({
59960
59961
  onMouseLeave: handleMouseLeave,
59961
59962
  children: /* @__PURE__ */ jsxs("div", { children: [
59962
59963
  /* @__PURE__ */ jsx("h3", { className: "text-sm leading-normal font-medium", children: link.label }),
59963
- /* @__PURE__ */ jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
59964
+ /* @__PURE__ */ jsx("p", { className: "text-xs leading-normal", children: link.description })
59964
59965
  ] })
59965
59966
  }
59966
59967
  ) }, `desktop-nav-sublink-${linkIndex}`)) })
@@ -59988,44 +59989,17 @@ var MobileNavigationMenu2 = ({
59988
59989
  authActions,
59989
59990
  authActionsSlot
59990
59991
  }) => {
59991
- const renderMobileNavigation = useMemo$1(() => {
59992
- if (mobileNavigationSlot) return mobileNavigationSlot;
59993
- if (!mobileNavigation || mobileNavigation.length === 0) return null;
59994
- return /* @__PURE__ */ jsx("div", { className: "grid w-full grid-cols-2 gap-x-4 gap-y-10", children: mobileNavigation.map((item, index) => /* @__PURE__ */ jsxs(
59995
- "div",
59996
- {
59997
- className: cn(
59998
- "flex flex-col gap-4 text-primary-foreground",
59999
- item.className
60000
- ),
60001
- children: [
60002
- /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground uppercase", children: item.title }),
60003
- /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-3", children: item.links?.map((link, i) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
60004
- Pressable,
60005
- {
60006
- href: getLinkUrl(link),
60007
- className: cn(
60008
- "text-primary-foreground leading-normal font-medium",
60009
- index === 0 ? "text-2xl" : "text-base"
60010
- ),
60011
- children: link.label
60012
- }
60013
- ) }, `mobile-nav-link-${i}`)) })
60014
- ]
60015
- },
60016
- `mobile-menu-item-${index}`
60017
- )) });
60018
- }, [mobileNavigationSlot, mobileNavigation]);
59992
+ const handleClose = () => setOpen(false);
60019
59993
  const renderSocialLinks = useMemo$1(() => {
60020
59994
  if (socialLinksSlot) return socialLinksSlot;
60021
59995
  if (!socialLinks || socialLinks.length === 0) return null;
60022
- return /* @__PURE__ */ jsxs("div", { className: "col-span-2 flex flex-col gap-4", children: [
60023
- /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground uppercase", children: "SOCIAL" }),
60024
- /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: socialLinks.map((link, index) => /* @__PURE__ */ jsxs(
59996
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mt-6", children: [
59997
+ /* @__PURE__ */ jsx("div", { className: "px-4 text-[10px] text-muted-foreground uppercase", children: "SOCIAL" }),
59998
+ /* @__PURE__ */ jsx("div", { className: "flex gap-4 px-4", children: socialLinks.map((link, index) => /* @__PURE__ */ jsxs(
60025
59999
  Pressable,
60026
60000
  {
60027
60001
  href: link.url,
60028
- className: "text-primary-foreground",
60002
+ onClick: handleClose,
60029
60003
  children: [
60030
60004
  link.icon ?? (link.iconName && /* @__PURE__ */ jsx(DynamicIcon, { name: link.iconName, size: 20 })),
60031
60005
  !link.icon && !link.iconName && link.label
@@ -60034,11 +60008,11 @@ var MobileNavigationMenu2 = ({
60034
60008
  `social-link-${index}`
60035
60009
  )) })
60036
60010
  ] });
60037
- }, [socialLinksSlot, socialLinks]);
60011
+ }, [socialLinksSlot, socialLinks, handleClose]);
60038
60012
  const renderMobileAuthActions = useMemo$1(() => {
60039
60013
  if (authActionsSlot) return authActionsSlot;
60040
60014
  if (!authActions || authActions.length === 0) return null;
60041
- return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: authActions.map((action, index) => {
60015
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 mt-6", children: authActions.map((action, index) => {
60042
60016
  const {
60043
60017
  label,
60044
60018
  icon,
@@ -60052,6 +60026,7 @@ var MobileNavigationMenu2 = ({
60052
60026
  {
60053
60027
  asButton: true,
60054
60028
  className: cn("w-full", actionClassName),
60029
+ onClick: handleClose,
60055
60030
  ...pressableProps,
60056
60031
  children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
60057
60032
  icon,
@@ -60062,20 +60037,63 @@ var MobileNavigationMenu2 = ({
60062
60037
  index
60063
60038
  );
60064
60039
  }) });
60065
- }, [authActionsSlot, authActions]);
60066
- return /* @__PURE__ */ jsx(
60067
- NavbarMobileMenu,
60068
- {
60069
- open,
60070
- onClose: () => setOpen(false),
60071
- title: "Mobile Navigation",
60072
- children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between gap-30", children: [
60073
- renderMobileNavigation,
60074
- renderSocialLinks,
60075
- renderMobileAuthActions
60076
- ] }) })
60077
- }
60078
- );
60040
+ }, [authActionsSlot, authActions, handleClose]);
60041
+ if (mobileNavigationSlot) {
60042
+ 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: [
60043
+ mobileNavigationSlot,
60044
+ renderSocialLinks,
60045
+ renderMobileAuthActions
60046
+ ] }) }) });
60047
+ }
60048
+ 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: [
60049
+ /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: mobileNavigation.map((item, index) => {
60050
+ if (item.links && item.links.length > 0) {
60051
+ return /* @__PURE__ */ jsxs(
60052
+ AccordionItem,
60053
+ {
60054
+ value: `nav-${index}`,
60055
+ className: "border-b-0",
60056
+ children: [
60057
+ /* @__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 }),
60058
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
60059
+ Pressable,
60060
+ {
60061
+ href: getLinkUrl(link),
60062
+ 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",
60063
+ onClick: handleClose,
60064
+ children: [
60065
+ link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
60066
+ DynamicIcon,
60067
+ {
60068
+ name: link.iconName,
60069
+ size: 16,
60070
+ className: "stroke-muted-foreground"
60071
+ }
60072
+ ) : null,
60073
+ link.label
60074
+ ]
60075
+ },
60076
+ `mobile-link-${linkIndex}`
60077
+ )) })
60078
+ ]
60079
+ },
60080
+ `nav-item-${index}`
60081
+ );
60082
+ }
60083
+ return /* @__PURE__ */ jsx(
60084
+ Pressable,
60085
+ {
60086
+ href: item.url,
60087
+ 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",
60088
+ onClick: handleClose,
60089
+ children: item.title
60090
+ },
60091
+ `nav-link-${index}`
60092
+ );
60093
+ }) }),
60094
+ renderSocialLinks,
60095
+ renderMobileAuthActions
60096
+ ] }) }) });
60079
60097
  };
60080
60098
  var MOBILE_BREAKPOINT3 = 1024;
60081
60099
  var NavbarDarkIcons = ({
@@ -60673,8 +60691,8 @@ var AnimatedImagePreviewDropdown = ({
60673
60691
  updateImageClasses(0);
60674
60692
  };
60675
60693
  if (!links) return null;
60676
- return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
60677
- /* @__PURE__ */ jsx("ul", { className: "grid grid-cols-2 gap-8", children: links.map((link, index) => /* @__PURE__ */ jsx(
60694
+ return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
60695
+ /* @__PURE__ */ jsx("ul", { className: "grid grid-cols-2 gap-4", children: links.map((link, index) => /* @__PURE__ */ jsx(
60678
60696
  NavLink,
60679
60697
  {
60680
60698
  link,
@@ -60713,7 +60731,7 @@ var FeaturedCardsGridDropdown = ({
60713
60731
  optixFlowConfig
60714
60732
  }) => {
60715
60733
  return /* @__PURE__ */ jsxs("div", { children: [
60716
- /* @__PURE__ */ jsx("div", { className: "flex gap-8 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
60734
+ /* @__PURE__ */ jsx("div", { className: "flex gap-4 pb-8", children: featuredLinks?.map((link, index) => /* @__PURE__ */ jsx(
60717
60735
  FeaturedLink,
60718
60736
  {
60719
60737
  link,
@@ -60730,7 +60748,7 @@ var GroupedLinksImageDropdown = ({
60730
60748
  imageLink,
60731
60749
  optixFlowConfig
60732
60750
  }) => {
60733
- return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
60751
+ return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
60734
60752
  /* @__PURE__ */ jsx(GroupLinks, { groupLinks }),
60735
60753
  /* @__PURE__ */ jsx(FeaturedImageLink, { link: imageLink, optixFlowConfig })
60736
60754
  ] });
@@ -60751,9 +60769,9 @@ var GroupLinks = ({ groupLinks }) => {
60751
60769
  };
60752
60770
  if (!groupLinks) return null;
60753
60771
  let linkIndex = 0;
60754
- return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-8", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { children: [
60755
- /* @__PURE__ */ jsx("div", { className: "mb-4 text-xs text-muted-foreground", children: group.label }),
60756
- /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-8", children: group.links.map((link, index2) => {
60772
+ return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between gap-4", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { children: [
60773
+ /* @__PURE__ */ jsx("div", { className: "mb-4 text-xs", children: group.label }),
60774
+ /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-4", children: group.links.map((link, index2) => {
60757
60775
  const idx = linkIndex++;
60758
60776
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
60759
60777
  NavLink,
@@ -60781,7 +60799,7 @@ var FeaturedImageLink = ({
60781
60799
  className: "overflow-hidden rounded-lg bg-muted",
60782
60800
  children: /* @__PURE__ */ jsxs("div", { className: "size-full", children: [
60783
60801
  /* @__PURE__ */ jsx(Badge, { className: "absolute top-2 left-2", children: "New" }),
60784
- /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-center justify-center gap-8 pt-10", children: [
60802
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-center justify-center gap-4 pt-10", children: [
60785
60803
  /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold", children: link.label }),
60786
60804
  /* @__PURE__ */ jsx("div", { className: "w-[80%]", children: /* @__PURE__ */ jsx(
60787
60805
  AspectRatio,
@@ -60793,7 +60811,7 @@ var FeaturedImageLink = ({
60793
60811
  {
60794
60812
  src: link.image,
60795
60813
  alt: typeof link.label === "string" ? link.label : "",
60796
- className: "size-full object-cover object-left-top",
60814
+ className: "size-full object-cover object-center",
60797
60815
  optixFlowConfig
60798
60816
  }
60799
60817
  )
@@ -60809,7 +60827,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
60809
60827
  Pressable,
60810
60828
  {
60811
60829
  href: getLinkUrl(link),
60812
- className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-8 py-7",
60830
+ className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-8 py-12",
60813
60831
  children: [
60814
60832
  /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex w-full items-center gap-6", children: [
60815
60833
  /* @__PURE__ */ jsx("div", { className: "flex size-12 shrink-0 rounded-lg border bg-background shadow-lg", children: link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
@@ -60817,12 +60835,12 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
60817
60835
  {
60818
60836
  name: link.iconName,
60819
60837
  size: 20,
60820
- className: "m-auto stroke-foreground"
60838
+ className: "m-auto stroke-white"
60821
60839
  }
60822
60840
  ) : null }),
60823
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
60824
- /* @__PURE__ */ jsx("div", { className: "text-lg font-semibold text-background", children: link.label }),
60825
- /* @__PURE__ */ jsx("div", { className: "font-medium text-background/80", children: link.description })
60841
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 text-white text-shadow-lg", children: [
60842
+ /* @__PURE__ */ jsx("div", { className: "text-lg font-semibold", children: link.label }),
60843
+ /* @__PURE__ */ jsx("div", { className: "font-medium", children: link.description })
60826
60844
  ] })
60827
60845
  ] }),
60828
60846
  /* @__PURE__ */ jsx(
@@ -60830,7 +60848,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
60830
60848
  {
60831
60849
  src: link.background,
60832
60850
  alt: typeof link.label === "string" ? link.label : "",
60833
- className: "absolute top-0 left-0 size-full object-cover object-left-top opacity-90 transition-opacity duration-300 ease-in-out group-hover:opacity-100",
60851
+ className: "absolute top-0 left-0 size-full brightness-50 object-cover object-center opacity-90 transition-opacity duration-300 ease-in-out group-hover:opacity-100",
60834
60852
  optixFlowConfig
60835
60853
  }
60836
60854
  )
@@ -61170,10 +61188,11 @@ var MobileNavigationMenu5 = ({
61170
61188
  authActions,
61171
61189
  authActionsSlot
61172
61190
  }) => {
61191
+ const handleClose = () => setOpen(false);
61173
61192
  const renderMobileAuthActions = useMemo$1(() => {
61174
61193
  if (authActionsSlot) return authActionsSlot;
61175
61194
  if (!authActions || authActions.length === 0) return null;
61176
- return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4", children: authActions.map((action, index) => {
61195
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 mt-6", children: authActions.map((action, index) => {
61177
61196
  const {
61178
61197
  label,
61179
61198
  icon,
@@ -61187,6 +61206,7 @@ var MobileNavigationMenu5 = ({
61187
61206
  {
61188
61207
  asButton: true,
61189
61208
  className: cn("w-full", actionClassName),
61209
+ onClick: handleClose,
61190
61210
  ...pressableProps,
61191
61211
  children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
61192
61212
  icon,
@@ -61197,63 +61217,65 @@ var MobileNavigationMenu5 = ({
61197
61217
  index
61198
61218
  );
61199
61219
  }) });
61200
- }, [authActionsSlot, authActions]);
61220
+ }, [authActionsSlot, authActions, handleClose]);
61201
61221
  return /* @__PURE__ */ jsx(
61202
61222
  NavbarMobileMenu,
61203
61223
  {
61204
61224
  open,
61205
- onClose: () => setOpen(false),
61225
+ onClose: handleClose,
61206
61226
  title: "Mobile Navigation",
61207
61227
  children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
61208
- /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem5(item, index)) }),
61209
- renderMobileAuthActions
61210
- ] }) })
61211
- }
61212
- );
61213
- };
61214
- var renderMobileMenuItem5 = (item, index) => {
61215
- if (item.groups) {
61216
- return /* @__PURE__ */ jsxs(
61217
- AccordionItem,
61218
- {
61219
- value: `nav-${index}`,
61220
- className: "border-b-0",
61221
- children: [
61222
- /* @__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 }),
61223
- /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.groups.flatMap(
61224
- (group, groupIndex) => group.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
61225
- Pressable,
61228
+ /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => {
61229
+ if (item.groups && item.groups.length > 0) {
61230
+ return /* @__PURE__ */ jsxs(
61231
+ AccordionItem,
61226
61232
  {
61227
- href: link.url,
61228
- 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",
61233
+ value: `nav-${index}`,
61234
+ className: "border-b-0",
61229
61235
  children: [
61230
- link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
61231
- DynamicIcon,
61232
- {
61233
- name: link.iconName,
61234
- size: 16,
61235
- className: "stroke-muted-foreground"
61236
- }
61237
- ) : null,
61238
- link.label
61236
+ /* @__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 }),
61237
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
61238
+ /* @__PURE__ */ jsx("p", { className: "mb-2 px-4 text-[10px] text-muted-foreground uppercase", children: group.title }),
61239
+ group.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
61240
+ Pressable,
61241
+ {
61242
+ href: link.url,
61243
+ 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",
61244
+ onClick: handleClose,
61245
+ children: [
61246
+ link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
61247
+ DynamicIcon,
61248
+ {
61249
+ name: link.iconName,
61250
+ size: 16,
61251
+ className: "stroke-muted-foreground"
61252
+ }
61253
+ ) : null,
61254
+ link.label
61255
+ ]
61256
+ },
61257
+ `mobile-link-${groupIndex}-${linkIndex}`
61258
+ ))
61259
+ ] }, `mobile-group-${groupIndex}`)) })
61239
61260
  ]
61240
61261
  },
61241
- `mobile-link-${groupIndex}-${linkIndex}`
61242
- ))
61243
- ) })
61244
- ]
61245
- },
61246
- `nav-item-${index}`
61247
- );
61248
- }
61249
- return /* @__PURE__ */ jsx(
61250
- Pressable,
61251
- {
61252
- href: item.url,
61253
- 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 nth-last-1:border-0",
61254
- children: item.title
61255
- },
61256
- `nav-link-${index}`
61262
+ `nav-item-${index}`
61263
+ );
61264
+ }
61265
+ return /* @__PURE__ */ jsx(
61266
+ Pressable,
61267
+ {
61268
+ href: item.url,
61269
+ 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",
61270
+ onClick: handleClose,
61271
+ children: item.title
61272
+ },
61273
+ `nav-link-${index}`
61274
+ );
61275
+ }) }),
61276
+ renderMobileAuthActions
61277
+ ] }) })
61278
+ }
61257
61279
  );
61258
61280
  };
61259
61281
  var NavbarSidebarMobile = ({
@@ -61279,7 +61301,29 @@ var NavbarSidebarMobile = ({
61279
61301
  optixFlowConfig
61280
61302
  }) => {
61281
61303
  const [isOpen, setIsOpen] = useState(false);
61282
- const renderAuthActions = () => {
61304
+ const MOBILE_BREAKPOINT8 = 1024;
61305
+ useEffect(() => {
61306
+ if (typeof window === "undefined") return;
61307
+ const handleResize = () => {
61308
+ if (window.innerWidth > MOBILE_BREAKPOINT8) {
61309
+ setIsOpen(false);
61310
+ }
61311
+ };
61312
+ handleResize();
61313
+ window.addEventListener("resize", handleResize);
61314
+ return () => window.removeEventListener("resize", handleResize);
61315
+ }, []);
61316
+ useEffect(() => {
61317
+ if (typeof document === "undefined") return;
61318
+ document.body.style.overflow = isOpen ? "hidden" : "auto";
61319
+ return () => {
61320
+ document.body.style.overflow = "auto";
61321
+ };
61322
+ }, [isOpen]);
61323
+ const handleMobileMenu = () => {
61324
+ setIsOpen(!isOpen);
61325
+ };
61326
+ const renderAuthActions = useMemo$1(() => {
61283
61327
  if (authActionsSlot) return authActionsSlot;
61284
61328
  if (!authActions || authActions.length === 0) return null;
61285
61329
  return authActions.map((action, index) => {
@@ -61306,17 +61350,12 @@ var NavbarSidebarMobile = ({
61306
61350
  index
61307
61351
  );
61308
61352
  });
61309
- };
61353
+ }, [authActionsSlot, authActions]);
61310
61354
  const renderMenu = () => {
61311
61355
  if (menuSlot) return null;
61312
61356
  if (!menu || menu.length === 0) return null;
61313
61357
  return menu;
61314
61358
  };
61315
- const renderMobileExtraLinks = () => {
61316
- if (mobileExtraLinksSlot) return null;
61317
- if (!mobileExtraLinks || mobileExtraLinks.length === 0) return null;
61318
- return mobileExtraLinks;
61319
- };
61320
61359
  const {
61321
61360
  sectionClasses,
61322
61361
  containerWrapperClasses,
@@ -61326,180 +61365,283 @@ var NavbarSidebarMobile = ({
61326
61365
  sectionContainerMaxWidth,
61327
61366
  spacingOverride
61328
61367
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
61329
- return /* @__PURE__ */ jsx(
61330
- Section,
61331
- {
61332
- background,
61333
- spacing: spacingOverride ?? spacing,
61334
- className: sectionClasses,
61335
- pattern,
61336
- patternOpacity,
61337
- containerClassName: sectionContainerClassName,
61338
- containerMaxWidth: sectionContainerMaxWidth,
61339
- children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
61340
- "nav",
61341
- {
61342
- className: cn(
61343
- "flex items-center justify-between py-4",
61344
- navClassName
61345
- ),
61346
- children: [
61347
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
61368
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
61369
+ /* @__PURE__ */ jsx(
61370
+ Section,
61371
+ {
61372
+ background,
61373
+ spacing: spacingOverride ?? spacing,
61374
+ className: sectionClasses,
61375
+ pattern,
61376
+ patternOpacity,
61377
+ containerClassName: sectionContainerClassName,
61378
+ containerMaxWidth: sectionContainerMaxWidth,
61379
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
61380
+ "nav",
61381
+ {
61382
+ className: cn(
61383
+ "flex items-center justify-between py-4",
61384
+ navClassName
61385
+ ),
61386
+ children: [
61387
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
61388
+ /* @__PURE__ */ jsx(
61389
+ NavbarLogo,
61390
+ {
61391
+ logo,
61392
+ logoSlot,
61393
+ logoClassName,
61394
+ optixFlowConfig
61395
+ }
61396
+ ),
61397
+ /* @__PURE__ */ jsx(
61398
+ NavigationMenu,
61399
+ {
61400
+ className: cn("hidden lg:flex", navigationMenuClassName),
61401
+ children: /* @__PURE__ */ jsx(NavigationMenuList, { children: menuSlot ? menuSlot : renderMenu()?.map(
61402
+ (item, index) => item.items ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
61403
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.title }),
61404
+ /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("ul", { className: "grid w-[400px] gap-3 p-4 md:w-[500px] md:grid-cols-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
61405
+ Pressable,
61406
+ {
61407
+ href: subItem.url,
61408
+ className: "block w-full select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-muted focus:bg-muted",
61409
+ children: [
61410
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
61411
+ subItem.icon && /* @__PURE__ */ jsx(
61412
+ DynamicIcon,
61413
+ {
61414
+ name: subItem.icon,
61415
+ size: 16
61416
+ }
61417
+ ),
61418
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-medium leading-none", children: subItem.title })
61419
+ ] }),
61420
+ subItem.description && /* @__PURE__ */ jsx("p", { className: "line-clamp-2 text-sm leading-snug text-muted-foreground", children: subItem.description })
61421
+ ]
61422
+ }
61423
+ ) }) }, subIndex)) }) })
61424
+ ] }, index) : /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
61425
+ NavigationMenuLink,
61426
+ {
61427
+ asChild: true,
61428
+ className: navigationMenuTriggerStyle(),
61429
+ children: /* @__PURE__ */ jsx(Pressable, { href: item.url, children: item.title })
61430
+ }
61431
+ ) }, index)
61432
+ ) })
61433
+ }
61434
+ )
61435
+ ] }),
61348
61436
  /* @__PURE__ */ jsx(
61349
- NavbarLogo,
61437
+ "div",
61350
61438
  {
61351
- logo,
61352
- logoSlot,
61353
- logoClassName,
61354
- optixFlowConfig
61439
+ className: cn(
61440
+ "hidden items-center gap-2 lg:flex",
61441
+ actionsClassName
61442
+ ),
61443
+ children: renderAuthActions
61355
61444
  }
61356
61445
  ),
61357
- /* @__PURE__ */ jsx(
61358
- NavigationMenu,
61446
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
61447
+ Pressable,
61359
61448
  {
61360
- className: cn("hidden lg:flex", navigationMenuClassName),
61361
- children: /* @__PURE__ */ jsx(NavigationMenuList, { children: menuSlot ? menuSlot : renderMenu()?.map(
61362
- (item, index) => item.items ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
61363
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.title }),
61364
- /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("ul", { className: "grid w-[400px] gap-3 p-4 md:w-[500px] md:grid-cols-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
61365
- Pressable,
61366
- {
61367
- href: subItem.url,
61368
- className: "block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",
61369
- children: [
61370
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
61371
- subItem.icon && /* @__PURE__ */ jsx(
61372
- DynamicIcon,
61373
- {
61374
- name: subItem.icon,
61375
- size: 16
61376
- }
61377
- ),
61378
- /* @__PURE__ */ jsx("div", { className: "text-sm font-medium leading-none", children: subItem.title })
61379
- ] }),
61380
- subItem.description && /* @__PURE__ */ jsx("p", { className: "line-clamp-2 text-sm leading-snug text-muted-foreground", children: subItem.description })
61381
- ]
61382
- }
61383
- ) }) }, subIndex)) }) })
61384
- ] }, index) : /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
61385
- NavigationMenuLink,
61386
- {
61387
- asChild: true,
61388
- className: navigationMenuTriggerStyle(),
61389
- children: /* @__PURE__ */ jsx(Pressable, { href: item.url, children: item.title })
61390
- }
61391
- ) }, index)
61392
- ) })
61393
- }
61394
- )
61395
- ] }),
61396
- /* @__PURE__ */ jsx(
61397
- "div",
61398
- {
61399
- className: cn(
61400
- "hidden items-center gap-2 lg:flex",
61401
- actionsClassName
61402
- ),
61403
- children: renderAuthActions()
61404
- }
61405
- ),
61406
- /* @__PURE__ */ jsxs(
61407
- Pressable,
61408
- {
61409
- variant: "outline",
61410
- size: "icon",
61411
- asButton: true,
61412
- className: "lg:hidden",
61413
- onClick: () => setIsOpen(!isOpen),
61414
- children: [
61415
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 20 }),
61416
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle menu" })
61417
- ]
61418
- }
61419
- ),
61420
- /* @__PURE__ */ jsx(
61421
- NavbarMobileMenu,
61422
- {
61423
- open: isOpen,
61424
- onClose: () => setIsOpen(false),
61425
- title: "Navigation Menu",
61426
- children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col", children: [
61427
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between border-b pb-4", children: /* @__PURE__ */ jsx(
61428
- NavbarLogo,
61449
+ className: "size-11",
61450
+ variant: "ghost",
61451
+ size: "icon",
61452
+ asButton: true,
61453
+ onClick: handleMobileMenu,
61454
+ children: /* @__PURE__ */ jsx(
61455
+ DynamicIcon,
61429
61456
  {
61430
- logo,
61431
- logoSlot,
61432
- logoClassName,
61433
- optixFlowConfig
61457
+ name: "lucide/menu",
61458
+ size: 22,
61459
+ className: "stroke-foreground"
61434
61460
  }
61435
- ) }),
61436
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto py-4", children: /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: menuSlot ? menuSlot : renderMenu()?.map(
61437
- (item, index) => item.items ? /* @__PURE__ */ jsxs(
61438
- AccordionItem,
61439
- {
61440
- value: `item-${index}`,
61441
- children: [
61442
- /* @__PURE__ */ jsx(AccordionTrigger, { className: "text-base hover:no-underline", children: item.title }),
61443
- /* @__PURE__ */ jsx(AccordionContent, { children: /* @__PURE__ */ jsx("div", { className: "flex flex-col space-y-2 pl-4", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxs(
61444
- Pressable,
61445
- {
61446
- href: subItem.url,
61447
- className: "flex items-center gap-2 rounded-md py-2 text-sm text-muted-foreground hover:text-foreground",
61448
- onClick: () => setIsOpen(false),
61449
- children: [
61450
- subItem.icon && /* @__PURE__ */ jsx(
61451
- DynamicIcon,
61452
- {
61453
- name: subItem.icon,
61454
- size: 14
61455
- }
61456
- ),
61457
- subItem.title
61458
- ]
61459
- },
61460
- subIndex
61461
- )) }) })
61462
- ]
61463
- },
61464
- index
61465
- ) : /* @__PURE__ */ jsx("div", { className: "border-b py-4", children: /* @__PURE__ */ jsx(
61466
- Pressable,
61467
- {
61468
- href: item.url,
61469
- className: "text-base font-medium",
61470
- onClick: () => setIsOpen(false),
61471
- children: item.title
61472
- }
61473
- ) }, index)
61474
- ) }) }),
61475
- /* @__PURE__ */ jsxs("div", { className: "border-t pt-4", children: [
61476
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: renderAuthActions() }),
61477
- /* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-x-4 gap-y-2", children: mobileExtraLinksSlot ? mobileExtraLinksSlot : renderMobileExtraLinks()?.map((link, index) => /* @__PURE__ */ jsx(
61478
- Pressable,
61479
- {
61480
- href: link.url,
61481
- className: "text-xs text-muted-foreground hover:text-foreground",
61482
- onClick: () => setIsOpen(false),
61483
- children: link.title
61484
- },
61485
- index
61486
- )) })
61487
- ] })
61488
- ] }) })
61489
- }
61490
- )
61491
- ]
61492
- }
61493
- ) }) }) })
61461
+ )
61462
+ }
61463
+ ) })
61464
+ ]
61465
+ }
61466
+ ) }) }) })
61467
+ }
61468
+ ),
61469
+ /* @__PURE__ */ jsx(
61470
+ MobileNavigationMenu6,
61471
+ {
61472
+ open: isOpen,
61473
+ setOpen: setIsOpen,
61474
+ menu: menu ?? [],
61475
+ menuSlot,
61476
+ authActions,
61477
+ authActionsSlot,
61478
+ mobileExtraLinks,
61479
+ mobileExtraLinksSlot
61480
+ }
61481
+ )
61482
+ ] });
61483
+ };
61484
+ var MobileNavigationMenu6 = ({
61485
+ open,
61486
+ setOpen,
61487
+ menu,
61488
+ menuSlot,
61489
+ authActions,
61490
+ authActionsSlot,
61491
+ mobileExtraLinks,
61492
+ mobileExtraLinksSlot
61493
+ }) => {
61494
+ const renderMobileAuthActions = useMemo$1(() => {
61495
+ if (authActionsSlot) return authActionsSlot;
61496
+ if (!authActions || authActions.length === 0) return null;
61497
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4", children: authActions.map((action, index) => {
61498
+ const {
61499
+ label,
61500
+ icon,
61501
+ iconAfter,
61502
+ children,
61503
+ className: actionClassName,
61504
+ ...pressableProps
61505
+ } = action;
61506
+ return /* @__PURE__ */ jsx(
61507
+ Pressable,
61508
+ {
61509
+ asButton: true,
61510
+ className: cn("w-full", actionClassName),
61511
+ ...pressableProps,
61512
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
61513
+ icon,
61514
+ label,
61515
+ iconAfter
61516
+ ] })
61517
+ },
61518
+ index
61519
+ );
61520
+ }) });
61521
+ }, [authActionsSlot, authActions]);
61522
+ const renderMobileExtraLinks = useMemo$1(() => {
61523
+ if (mobileExtraLinksSlot) return mobileExtraLinksSlot;
61524
+ if (!mobileExtraLinks || mobileExtraLinks.length === 0) return null;
61525
+ return /* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-x-4 gap-y-2", children: mobileExtraLinks.map((link, index) => /* @__PURE__ */ jsx(
61526
+ Pressable,
61527
+ {
61528
+ href: link.url,
61529
+ className: "text-xs text-muted-foreground hover:text-foreground",
61530
+ children: link.title
61531
+ },
61532
+ index
61533
+ )) });
61534
+ }, [mobileExtraLinksSlot, mobileExtraLinks]);
61535
+ return /* @__PURE__ */ jsx(
61536
+ NavbarMobileMenu,
61537
+ {
61538
+ open,
61539
+ onClose: () => setOpen(false),
61540
+ title: "Navigation Menu",
61541
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
61542
+ /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: menuSlot ? menuSlot : menu.map(
61543
+ (item, index) => item.items ? /* @__PURE__ */ jsxs(
61544
+ AccordionItem,
61545
+ {
61546
+ value: `nav-${index}`,
61547
+ className: "border-b-0",
61548
+ children: [
61549
+ /* @__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 }),
61550
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxs(
61551
+ Pressable,
61552
+ {
61553
+ href: subItem.url,
61554
+ 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",
61555
+ children: [
61556
+ subItem.icon && /* @__PURE__ */ jsx(
61557
+ DynamicIcon,
61558
+ {
61559
+ name: subItem.icon,
61560
+ size: 16,
61561
+ className: "stroke-muted-foreground"
61562
+ }
61563
+ ),
61564
+ subItem.title
61565
+ ]
61566
+ },
61567
+ `mobile-link-${index}-${subIndex}`
61568
+ )) })
61569
+ ]
61570
+ },
61571
+ `nav-item-${index}`
61572
+ ) : /* @__PURE__ */ jsx(
61573
+ Pressable,
61574
+ {
61575
+ href: item.url,
61576
+ 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 nth-last-1:border-0",
61577
+ children: item.title
61578
+ },
61579
+ `nav-link-${index}`
61580
+ )
61581
+ ) }),
61582
+ renderMobileAuthActions,
61583
+ renderMobileExtraLinks
61584
+ ] }) })
61494
61585
  }
61495
61586
  );
61496
61587
  };
61588
+ var platformIconMap = {
61589
+ instagram: "cib/instagram",
61590
+ linkedin: "cib/linkedin",
61591
+ google: "cib/google",
61592
+ facebook: "cib/facebook",
61593
+ tiktok: "cib/tiktok",
61594
+ youtube: "cib/youtube",
61595
+ yelp: "cib/yelp",
61596
+ spotify: "cib/spotify",
61597
+ apple: "cib/apple",
61598
+ x: "line-md/twitter-x"
61599
+ };
61600
+ var SocialLinkIcon = React52.forwardRef(
61601
+ ({
61602
+ platformName,
61603
+ label,
61604
+ iconSize = 20,
61605
+ iconColor,
61606
+ iconClassName,
61607
+ className,
61608
+ ...pressableProps
61609
+ }, ref) => {
61610
+ const iconName = platformIconMap[platformName];
61611
+ const accessibleLabel = label || platformName;
61612
+ return /* @__PURE__ */ jsx(
61613
+ Pressable,
61614
+ {
61615
+ ref,
61616
+ "aria-label": accessibleLabel,
61617
+ className: cn(
61618
+ "inline-flex items-center justify-center transition-colors",
61619
+ className
61620
+ ),
61621
+ ...pressableProps,
61622
+ children: /* @__PURE__ */ jsx(
61623
+ DynamicIcon,
61624
+ {
61625
+ name: iconName,
61626
+ size: iconSize,
61627
+ color: iconColor,
61628
+ className: iconClassName,
61629
+ alt: accessibleLabel
61630
+ }
61631
+ )
61632
+ }
61633
+ );
61634
+ }
61635
+ );
61636
+ SocialLinkIcon.displayName = "SocialLinkIcon";
61497
61637
  var NavbarTransparentOverlay = ({
61498
61638
  className,
61499
61639
  containerClassName,
61500
61640
  navClassName,
61501
61641
  navigationMenuClassName,
61502
61642
  actionsClassName,
61643
+ mobileMenuClassName,
61644
+ socialLinksClassName,
61503
61645
  logo,
61504
61646
  logoSlot,
61505
61647
  logoClassName,
@@ -61509,6 +61651,8 @@ var NavbarTransparentOverlay = ({
61509
61651
  authActionsSlot,
61510
61652
  mobileAuthActions,
61511
61653
  mobileAuthActionsSlot,
61654
+ socialLinks,
61655
+ socialLinksSlot,
61512
61656
  layoutVariant = "fullScreenContainerizedLinks",
61513
61657
  background,
61514
61658
  spacing,
@@ -61527,14 +61671,7 @@ var NavbarTransparentOverlay = ({
61527
61671
  window.addEventListener("scroll", handleScroll);
61528
61672
  return () => window.removeEventListener("scroll", handleScroll);
61529
61673
  }, []);
61530
- useEffect(() => {
61531
- if (typeof document === "undefined") return;
61532
- document.body.style.overflow = isOpen ? "hidden" : "auto";
61533
- return () => {
61534
- document.body.style.overflow = "auto";
61535
- };
61536
- }, [isOpen]);
61537
- const toggleMenu = () => setIsOpen(!isOpen);
61674
+ const handleMobileMenuClose = () => setIsOpen(false);
61538
61675
  const renderNavigation = useMemo$1(() => {
61539
61676
  if (navigationSlot) return navigationSlot;
61540
61677
  if (!navItems || navItems.length === 0) return null;
@@ -61589,35 +61726,6 @@ var NavbarTransparentOverlay = ({
61589
61726
  );
61590
61727
  });
61591
61728
  }, [authActionsSlot, authActions, isScrolled]);
61592
- const renderMobileAuthActions = useMemo$1(() => {
61593
- if (mobileAuthActionsSlot) return mobileAuthActionsSlot;
61594
- if (!mobileAuthActions || mobileAuthActions.length === 0) return null;
61595
- return mobileAuthActions.map((action, index) => {
61596
- const {
61597
- label,
61598
- icon,
61599
- iconAfter,
61600
- children,
61601
- className: actionClassName,
61602
- ...pressableProps
61603
- } = action;
61604
- return /* @__PURE__ */ jsx(
61605
- Pressable,
61606
- {
61607
- asButton: true,
61608
- className: cn("min-w-[200px]", actionClassName),
61609
- onClick: () => setIsOpen(false),
61610
- ...pressableProps,
61611
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
61612
- icon,
61613
- label,
61614
- iconAfter
61615
- ] })
61616
- },
61617
- index
61618
- );
61619
- });
61620
- }, [mobileAuthActionsSlot, mobileAuthActions]);
61621
61729
  const {
61622
61730
  sectionClasses,
61623
61731
  containerWrapperClasses,
@@ -61627,18 +61735,18 @@ var NavbarTransparentOverlay = ({
61627
61735
  sectionContainerMaxWidth,
61628
61736
  spacingOverride
61629
61737
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
61630
- return /* @__PURE__ */ jsxs(
61631
- Section,
61632
- {
61633
- background,
61634
- spacing: spacingOverride ?? spacing,
61635
- className: sectionClasses,
61636
- pattern,
61637
- patternOpacity,
61638
- containerClassName: sectionContainerClassName,
61639
- containerMaxWidth: sectionContainerMaxWidth,
61640
- children: [
61641
- /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx(
61738
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
61739
+ /* @__PURE__ */ jsx(
61740
+ Section,
61741
+ {
61742
+ background,
61743
+ spacing: spacingOverride ?? spacing,
61744
+ className: sectionClasses,
61745
+ pattern,
61746
+ patternOpacity,
61747
+ containerClassName: sectionContainerClassName,
61748
+ containerMaxWidth: sectionContainerMaxWidth,
61749
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx(
61642
61750
  "nav",
61643
61751
  {
61644
61752
  className: cn(
@@ -61678,95 +61786,144 @@ var NavbarTransparentOverlay = ({
61678
61786
  children: renderAuthActions
61679
61787
  }
61680
61788
  ),
61681
- /* @__PURE__ */ jsxs(
61682
- "button",
61789
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
61790
+ Pressable,
61683
61791
  {
61684
- onClick: toggleMenu,
61792
+ variant: "ghost",
61793
+ size: "icon",
61794
+ asButton: true,
61795
+ "aria-label": "Open menu",
61796
+ onClick: () => setIsOpen(true),
61685
61797
  className: cn(
61686
- "z-50 flex h-10 w-10 flex-col items-center justify-center gap-1.5 lg:hidden"
61798
+ "size-11",
61799
+ !isScrolled && "hover:bg-white/10"
61687
61800
  ),
61688
- "aria-label": "Toggle menu",
61689
- children: [
61690
- /* @__PURE__ */ jsx(
61691
- "span",
61692
- {
61693
- className: cn(
61694
- "h-0.5 w-6 transition-all duration-300",
61695
- isOpen ? "translate-y-2 rotate-45 bg-foreground" : isScrolled ? "bg-foreground" : "bg-white"
61696
- )
61697
- }
61698
- ),
61699
- /* @__PURE__ */ jsx(
61700
- "span",
61701
- {
61702
- className: cn(
61703
- "h-0.5 w-6 transition-all duration-300",
61704
- isOpen ? "opacity-0" : isScrolled ? "bg-foreground" : "bg-white"
61705
- )
61706
- }
61707
- ),
61708
- /* @__PURE__ */ jsx(
61709
- "span",
61710
- {
61711
- className: cn(
61712
- "h-0.5 w-6 transition-all duration-300",
61713
- isOpen ? "-translate-y-2 -rotate-45 bg-foreground" : isScrolled ? "bg-foreground" : "bg-white"
61714
- )
61715
- }
61716
- )
61717
- ]
61801
+ children: /* @__PURE__ */ jsx(
61802
+ DynamicIcon,
61803
+ {
61804
+ name: "lucide/menu",
61805
+ size: 16,
61806
+ className: cn(
61807
+ isScrolled ? "stroke-foreground" : "stroke-white"
61808
+ )
61809
+ }
61810
+ )
61718
61811
  }
61719
- )
61812
+ ) })
61720
61813
  ] }) })
61721
61814
  }
61722
- ) }),
61723
- /* @__PURE__ */ jsx(
61815
+ ) })
61816
+ }
61817
+ ),
61818
+ /* @__PURE__ */ jsx(
61819
+ MobileNavigationMenu7,
61820
+ {
61821
+ open: isOpen,
61822
+ onClose: handleMobileMenuClose,
61823
+ navItems,
61824
+ mobileAuthActions,
61825
+ mobileAuthActionsSlot,
61826
+ socialLinks,
61827
+ socialLinksSlot,
61828
+ mobileMenuClassName,
61829
+ socialLinksClassName
61830
+ }
61831
+ )
61832
+ ] });
61833
+ };
61834
+ var MobileNavigationMenu7 = ({
61835
+ open,
61836
+ onClose,
61837
+ navItems,
61838
+ mobileAuthActions,
61839
+ mobileAuthActionsSlot,
61840
+ socialLinks,
61841
+ socialLinksSlot,
61842
+ mobileMenuClassName,
61843
+ socialLinksClassName
61844
+ }) => {
61845
+ const renderMobileAuthActions = useMemo$1(() => {
61846
+ if (mobileAuthActionsSlot) return mobileAuthActionsSlot;
61847
+ if (!mobileAuthActions || mobileAuthActions.length === 0) return null;
61848
+ return mobileAuthActions.map((action, index) => {
61849
+ const {
61850
+ label,
61851
+ icon,
61852
+ iconAfter,
61853
+ children,
61854
+ className: actionClassName,
61855
+ ...pressableProps
61856
+ } = action;
61857
+ return /* @__PURE__ */ jsx(
61858
+ Pressable,
61859
+ {
61860
+ asButton: true,
61861
+ className: cn("min-w-[200px]", actionClassName),
61862
+ onClick: onClose,
61863
+ ...pressableProps,
61864
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
61865
+ icon,
61866
+ label,
61867
+ iconAfter
61868
+ ] })
61869
+ },
61870
+ index
61871
+ );
61872
+ });
61873
+ }, [mobileAuthActionsSlot, mobileAuthActions, onClose]);
61874
+ const renderSocialLinks = useMemo$1(() => {
61875
+ if (socialLinksSlot) return socialLinksSlot;
61876
+ if (!socialLinks || socialLinks.length === 0) return null;
61877
+ return socialLinks.map((link) => /* @__PURE__ */ jsx(
61878
+ SocialLinkIcon,
61879
+ {
61880
+ platformName: link.platformName,
61881
+ href: link.href,
61882
+ label: link.label,
61883
+ iconSize: 24,
61884
+ className: "text-white/70 transition-all duration-300 hover:text-white hover:scale-110"
61885
+ },
61886
+ link.platformName
61887
+ ));
61888
+ }, [socialLinksSlot, socialLinks]);
61889
+ return /* @__PURE__ */ jsx(
61890
+ NavbarMobileMenu,
61891
+ {
61892
+ open,
61893
+ onClose,
61894
+ title: "Mobile Navigation",
61895
+ className: cn("bg-black/95", mobileMenuClassName),
61896
+ contentClassName: "flex flex-col items-center justify-center",
61897
+ children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
61898
+ /* @__PURE__ */ jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxs(
61899
+ Pressable,
61900
+ {
61901
+ href: item.url,
61902
+ className: "text-3xl font-medium text-white transition-all duration-300 hover:text-white/80",
61903
+ onClick: onClose,
61904
+ children: [
61905
+ item.icon ?? (item.iconName && /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 })),
61906
+ item.title
61907
+ ]
61908
+ },
61909
+ index
61910
+ )) }),
61911
+ renderMobileAuthActions && /* @__PURE__ */ jsx("div", { className: "mt-12 flex flex-col items-center gap-4", children: renderMobileAuthActions }),
61912
+ renderSocialLinks && /* @__PURE__ */ jsx(
61724
61913
  "div",
61725
61914
  {
61726
61915
  className: cn(
61727
- "fixed inset-0 z-40 bg-background transition-all duration-500 lg:hidden",
61728
- isOpen ? "opacity-100 pointer-events-auto" : "opacity-0 pointer-events-none"
61916
+ "mt-12 flex flex-row flex-wrap items-center justify-center gap-6",
61917
+ socialLinksClassName
61729
61918
  ),
61730
- children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
61731
- /* @__PURE__ */ jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxs(
61732
- Pressable,
61733
- {
61734
- href: item.url,
61735
- className: cn(
61736
- "text-3xl font-medium text-foreground transition-all duration-300",
61737
- isOpen ? "translate-y-0 opacity-100" : "translate-y-4 opacity-0"
61738
- ),
61739
- style: {
61740
- transitionDelay: isOpen ? `${index * 100}ms` : "0ms"
61741
- },
61742
- onClick: () => setIsOpen(false),
61743
- children: [
61744
- item.icon ?? (item.iconName && /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 })),
61745
- item.title
61746
- ]
61747
- },
61748
- index
61749
- )) }),
61750
- /* @__PURE__ */ jsx(
61751
- "div",
61752
- {
61753
- className: cn(
61754
- "mt-12 flex flex-col items-center gap-4 transition-all duration-300",
61755
- isOpen ? "translate-y-0 opacity-100" : "translate-y-4 opacity-0"
61756
- ),
61757
- style: {
61758
- transitionDelay: isOpen ? `${(navItems?.length ?? 0) * 100}ms` : "0ms"
61759
- },
61760
- children: renderMobileAuthActions
61761
- }
61762
- )
61763
- ] })
61919
+ children: renderSocialLinks
61764
61920
  }
61765
61921
  )
61766
- ]
61922
+ ] })
61767
61923
  }
61768
61924
  );
61769
61925
  };
61926
+ var MOBILE_BREAKPOINT6 = 1024;
61770
61927
  var NavbarEducationPlatform = ({
61771
61928
  className,
61772
61929
  containerClassName,
@@ -61777,12 +61934,12 @@ var NavbarEducationPlatform = ({
61777
61934
  mobileMenuClassName,
61778
61935
  logo,
61779
61936
  logoSlot,
61780
- features,
61781
- docs,
61782
- company,
61783
- featuredImage,
61937
+ menu,
61938
+ menuSlot,
61784
61939
  authActions,
61785
61940
  authActionsSlot,
61941
+ mobileAuthActions,
61942
+ mobileAuthActionsSlot,
61786
61943
  layoutVariant = "fullScreenContainerizedLinks",
61787
61944
  background,
61788
61945
  spacing,
@@ -61791,6 +61948,33 @@ var NavbarEducationPlatform = ({
61791
61948
  optixFlowConfig
61792
61949
  }) => {
61793
61950
  const [isOpen, setIsOpen] = useState(false);
61951
+ useEffect(() => {
61952
+ if (typeof window === "undefined") return;
61953
+ const handleResize = () => {
61954
+ if (window.innerWidth > MOBILE_BREAKPOINT6) {
61955
+ setIsOpen(false);
61956
+ }
61957
+ };
61958
+ handleResize();
61959
+ window.addEventListener("resize", handleResize);
61960
+ return () => window.removeEventListener("resize", handleResize);
61961
+ }, []);
61962
+ const handleMobileMenuClose = () => {
61963
+ setIsOpen(false);
61964
+ };
61965
+ const renderNavigation = useMemo$1(() => {
61966
+ if (menuSlot) return menuSlot;
61967
+ if (!menu || menu.length === 0) return null;
61968
+ return /* @__PURE__ */ jsx(NavigationMenuList, { children: menu.map((item, index) => /* @__PURE__ */ jsx(
61969
+ DesktopMenuItem7,
61970
+ {
61971
+ item,
61972
+ index,
61973
+ optixFlowConfig
61974
+ },
61975
+ `desktop-link-${index}`
61976
+ )) });
61977
+ }, [menuSlot, menu, optixFlowConfig]);
61794
61978
  const renderAuthActions = useMemo$1(() => {
61795
61979
  if (authActionsSlot) return authActionsSlot;
61796
61980
  if (!authActions || authActions.length === 0) return null;
@@ -61819,166 +62003,43 @@ var NavbarEducationPlatform = ({
61819
62003
  sectionContainerMaxWidth,
61820
62004
  spacingOverride
61821
62005
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
61822
- return /* @__PURE__ */ jsxs(
61823
- Section,
61824
- {
61825
- background,
61826
- spacing: spacingOverride ?? spacing,
61827
- className: cn(isOpen && "border-b-0", sectionClasses),
61828
- pattern,
61829
- patternOpacity,
61830
- containerClassName: sectionContainerClassName,
61831
- containerMaxWidth: sectionContainerMaxWidth,
61832
- children: [
61833
- /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
61834
- "nav",
61835
- {
61836
- className: cn(
61837
- "flex items-center justify-between py-4",
61838
- navClassName
61839
- ),
61840
- children: [
61841
- /* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
61842
- /* @__PURE__ */ jsx(
61843
- NavbarLogo,
61844
- {
61845
- logo,
61846
- logoSlot,
61847
- logoClassName,
61848
- optixFlowConfig
61849
- }
61850
- ),
61851
- /* @__PURE__ */ jsx(
61852
- "div",
61853
- {
61854
- className: cn(
61855
- "hidden items-center gap-1.5 lg:flex",
61856
- navigationMenuClassName
61857
- ),
61858
- children: /* @__PURE__ */ jsx(NavigationMenu, { delayDuration: 0, children: /* @__PURE__ */ jsxs(NavigationMenuList, { children: [
61859
- /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
61860
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Products" }),
61861
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
61862
- /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
61863
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "TOOLS" }),
61864
- features?.map((feature) => /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
61865
- Pressable,
61866
- {
61867
- href: feature.link,
61868
- className: "group flex cursor-pointer flex-row gap-3",
61869
- children: [
61870
- /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-md border border-border bg-background", children: /* @__PURE__ */ jsx(
61871
- DynamicIcon,
61872
- {
61873
- name: feature.icon,
61874
- size: 20
61875
- }
61876
- ) }),
61877
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
61878
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-0.5 text-sm font-medium whitespace-nowrap", children: [
61879
- feature.title,
61880
- /* @__PURE__ */ jsx(
61881
- DynamicIcon,
61882
- {
61883
- name: "lucide/chevron-right",
61884
- size: 16,
61885
- className: "text-primary! opacity-0 transition-all duration-200 group-hover:translate-x-0.5 group-hover:opacity-100"
61886
- }
61887
- )
61888
- ] }),
61889
- /* @__PURE__ */ jsx("p", { className: "text-xs whitespace-nowrap text-muted-foreground", children: feature.description })
61890
- ] })
61891
- ]
61892
- }
61893
- ) }, feature.title))
61894
- ] }),
61895
- /* @__PURE__ */ jsx(
61896
- Separator,
61897
- {
61898
- orientation: "vertical",
61899
- className: "data-[orientation=vertical]:h-auto"
61900
- }
61901
- ),
61902
- /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
61903
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "QUICK START" }),
61904
- /* @__PURE__ */ jsx("div", {}),
61905
- featuredImage && /* @__PURE__ */ jsxs(Fragment$1, { children: [
61906
- /* @__PURE__ */ jsx("p", { className: "mt-5 mb-3 text-[10px] text-muted-foreground uppercase", children: "LATEST UPDATES" }),
61907
- /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: featuredImage.href || "#", children: /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-primary p-3", children: /* @__PURE__ */ jsx(
61908
- Img,
61909
- {
61910
- src: featuredImage.src,
61911
- alt: featuredImage.alt || "Featured update",
61912
- className: "aspect-video min-w-52 rounded-md object-cover",
61913
- optixFlowConfig
61914
- }
61915
- ) }) }) })
61916
- ] })
61917
- ] })
61918
- ] }) })
61919
- ] }),
61920
- /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
61921
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Support" }),
61922
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
61923
- /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
61924
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "GUIDES" }),
61925
- docs?.map((doc) => /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
61926
- Pressable,
61927
- {
61928
- href: doc.link,
61929
- className: "group flex flex-row gap-3",
61930
- children: [
61931
- /* @__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: doc.icon, size: 20 }) }),
61932
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
61933
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-0.5 text-sm font-medium whitespace-nowrap", children: [
61934
- doc.title,
61935
- /* @__PURE__ */ jsx(
61936
- DynamicIcon,
61937
- {
61938
- name: "lucide/chevron-right",
61939
- size: 16,
61940
- className: "text-primary! opacity-0 transition-all duration-200 group-hover:translate-x-0.5 group-hover:opacity-100"
61941
- }
61942
- )
61943
- ] }),
61944
- /* @__PURE__ */ jsx("p", { className: "text-xs whitespace-nowrap text-muted-foreground", children: doc.description })
61945
- ] })
61946
- ]
61947
- }
61948
- ) }, doc.title))
61949
- ] }),
61950
- /* @__PURE__ */ jsx(
61951
- Separator,
61952
- {
61953
- orientation: "vertical",
61954
- className: "data-[orientation=vertical]:h-auto"
61955
- }
61956
- ),
61957
- /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
61958
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "ABOUT US" }),
61959
- /* @__PURE__ */ jsx("div", { children: company?.map((item) => /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
61960
- Pressable,
61961
- {
61962
- href: item.link,
61963
- className: "flex flex-row items-center gap-3",
61964
- children: [
61965
- /* @__PURE__ */ jsx(DynamicIcon, { name: item.icon, size: 16 }),
61966
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium whitespace-nowrap", children: item.title })
61967
- ]
61968
- }
61969
- ) }, item.title)) })
61970
- ] })
61971
- ] }) })
61972
- ] }),
61973
- /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
61974
- NavigationMenuLink,
61975
- {
61976
- asChild: true,
61977
- className: navigationMenuTriggerStyle(),
61978
- children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: "About" })
61979
- }
61980
- ) })
61981
- ] }) })
62006
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
62007
+ /* @__PURE__ */ jsx(
62008
+ Section,
62009
+ {
62010
+ background,
62011
+ spacing: spacingOverride ?? spacing,
62012
+ className: sectionClasses,
62013
+ pattern,
62014
+ patternOpacity,
62015
+ containerClassName: sectionContainerClassName,
62016
+ containerMaxWidth: sectionContainerMaxWidth,
62017
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
62018
+ "nav",
62019
+ {
62020
+ className: cn(
62021
+ "flex items-center justify-between py-4",
62022
+ navClassName
62023
+ ),
62024
+ children: [
62025
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
62026
+ /* @__PURE__ */ jsx(
62027
+ NavbarLogo,
62028
+ {
62029
+ logo,
62030
+ logoSlot,
62031
+ logoClassName,
62032
+ optixFlowConfig
62033
+ }
62034
+ ),
62035
+ /* @__PURE__ */ jsx(
62036
+ "div",
62037
+ {
62038
+ className: cn(
62039
+ "hidden items-center gap-1.5 lg:flex",
62040
+ navigationMenuClassName
62041
+ ),
62042
+ children: /* @__PURE__ */ jsx(NavigationMenu, { delayDuration: 0, viewport: false, children: renderNavigation })
61982
62043
  }
61983
62044
  )
61984
62045
  ] }),
@@ -61992,113 +62053,194 @@ var NavbarEducationPlatform = ({
61992
62053
  children: renderAuthActions
61993
62054
  }
61994
62055
  ),
61995
- /* @__PURE__ */ jsxs(
62056
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
61996
62057
  Pressable,
61997
62058
  {
61998
- variant: "outline",
62059
+ className: "size-11",
62060
+ variant: "ghost",
61999
62061
  size: "icon",
62000
62062
  asButton: true,
62001
- className: "lg:hidden",
62002
62063
  onClick: () => setIsOpen(!isOpen),
62003
- children: [
62004
- isOpen ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 20 }),
62005
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle menu" })
62006
- ]
62064
+ children: /* @__PURE__ */ jsx(
62065
+ DynamicIcon,
62066
+ {
62067
+ name: "lucide/menu",
62068
+ size: 22,
62069
+ className: "stroke-foreground"
62070
+ }
62071
+ )
62007
62072
  }
62008
- )
62073
+ ) })
62009
62074
  ]
62010
62075
  }
62011
- ) }) }) }),
62012
- isOpen && /* @__PURE__ */ jsx(
62013
- "div",
62076
+ ) }) }) })
62077
+ }
62078
+ ),
62079
+ /* @__PURE__ */ jsx(
62080
+ MobileNavigationMenu8,
62081
+ {
62082
+ open: isOpen,
62083
+ onClose: handleMobileMenuClose,
62084
+ menu: menu ?? [],
62085
+ mobileAuthActions,
62086
+ mobileAuthActionsSlot,
62087
+ mobileMenuClassName
62088
+ }
62089
+ )
62090
+ ] });
62091
+ };
62092
+ var DesktopMenuItem7 = ({
62093
+ item,
62094
+ index,
62095
+ optixFlowConfig
62096
+ }) => {
62097
+ if (item.groups && item.groups.length > 0) {
62098
+ return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
62099
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.label }),
62100
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React52.Fragment, { children: [
62101
+ groupIndex > 0 && /* @__PURE__ */ jsx(
62102
+ Separator,
62014
62103
  {
62015
- className: cn(
62016
- "border-t bg-background lg:hidden",
62017
- mobileMenuClassName
62018
- ),
62019
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
62020
- /* @__PURE__ */ jsxs(Accordion, { type: "single", collapsible: true, className: "w-full", children: [
62021
- /* @__PURE__ */ jsxs(AccordionItem, { value: "learning-hub", children: [
62022
- /* @__PURE__ */ jsx(AccordionTrigger, { className: "pr-2.5 text-base font-medium hover:no-underline", children: "Products" }),
62023
- /* @__PURE__ */ jsx(AccordionContent, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
62024
- /* @__PURE__ */ jsxs("div", { children: [
62025
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "TOOLS" }),
62026
- /* @__PURE__ */ jsx("div", { className: "space-y-5", children: features?.map((feature) => /* @__PURE__ */ jsxs(
62027
- Pressable,
62028
- {
62029
- href: feature.link,
62030
- className: "group flex cursor-pointer flex-row gap-3 rounded-md transition-colors",
62031
- onClick: () => setIsOpen(false),
62032
- children: [
62033
- /* @__PURE__ */ jsx("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-md border border-border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: feature.icon, size: 16 }) }),
62034
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
62035
- /* @__PURE__ */ jsx("span", { className: "text-sm leading-tight font-medium", children: feature.title }),
62036
- /* @__PURE__ */ jsx("p", { className: "text-xs leading-tight text-muted-foreground", children: feature.description })
62037
- ] })
62038
- ]
62039
- },
62040
- feature.title
62041
- )) })
62042
- ] }),
62043
- /* @__PURE__ */ jsx(Separator, {}),
62044
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "QUICK START" }) })
62045
- ] }) })
62046
- ] }),
62047
- /* @__PURE__ */ jsxs(AccordionItem, { value: "support", className: "last:border-b", children: [
62048
- /* @__PURE__ */ jsx(AccordionTrigger, { className: "pr-2.5 text-base font-medium hover:no-underline", children: "Support" }),
62049
- /* @__PURE__ */ jsx(AccordionContent, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
62050
- /* @__PURE__ */ jsxs("div", { children: [
62051
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "GUIDES" }),
62052
- /* @__PURE__ */ jsx("div", { className: "space-y-5", children: docs?.map((doc) => /* @__PURE__ */ jsxs(
62053
- Pressable,
62054
- {
62055
- href: doc.link,
62056
- className: "group flex cursor-pointer flex-row gap-3 rounded-md transition-colors",
62057
- onClick: () => setIsOpen(false),
62058
- children: [
62059
- /* @__PURE__ */ jsx("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-md border border-border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: doc.icon, size: 16 }) }),
62060
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
62061
- /* @__PURE__ */ jsx("span", { className: "text-sm leading-tight font-medium", children: doc.title }),
62062
- /* @__PURE__ */ jsx("p", { className: "text-xs leading-tight text-muted-foreground", children: doc.description })
62063
- ] })
62064
- ]
62065
- },
62066
- doc.title
62067
- )) })
62068
- ] }),
62069
- /* @__PURE__ */ jsx(Separator, {}),
62070
- /* @__PURE__ */ jsxs("div", { children: [
62071
- /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: "ABOUT US" }),
62072
- /* @__PURE__ */ jsx("div", { className: "space-y-5", children: company?.map((item) => /* @__PURE__ */ jsxs(
62073
- Pressable,
62074
- {
62075
- href: item.link,
62076
- className: "flex cursor-pointer flex-row items-center gap-3 rounded-md transition-colors",
62077
- onClick: () => setIsOpen(false),
62078
- children: [
62079
- /* @__PURE__ */ jsx(DynamicIcon, { name: item.icon, size: 16 }),
62080
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: item.title })
62081
- ]
62082
- },
62083
- item.title
62084
- )) })
62085
- ] })
62086
- ] }) })
62104
+ orientation: "vertical",
62105
+ className: "data-[orientation=vertical]:h-auto"
62106
+ }
62107
+ ),
62108
+ /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
62109
+ /* @__PURE__ */ jsx("p", { className: "mb-3 text-[10px] text-muted-foreground uppercase", children: group.label }),
62110
+ /* @__PURE__ */ jsx("div", { className: "space-y-1", children: group.links.map((link) => /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxs(
62111
+ Pressable,
62112
+ {
62113
+ href: link.href,
62114
+ className: "group flex cursor-pointer flex-row gap-3",
62115
+ children: [
62116
+ 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 }) }),
62117
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
62118
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-0.5 text-sm font-medium whitespace-nowrap", children: [
62119
+ link.title,
62120
+ /* @__PURE__ */ jsx(
62121
+ DynamicIcon,
62122
+ {
62123
+ name: "lucide/chevron-right",
62124
+ size: 16,
62125
+ className: "text-primary! opacity-0 transition-all duration-200 group-hover:translate-x-0.5 group-hover:opacity-100"
62126
+ }
62127
+ )
62128
+ ] }),
62129
+ link.description && /* @__PURE__ */ jsx("p", { className: "text-xs whitespace-nowrap text-muted-foreground", children: link.description })
62087
62130
  ] })
62088
- ] }),
62089
- /* @__PURE__ */ jsx("div", { className: "space-y-2", children: /* @__PURE__ */ jsx(
62090
- Pressable,
62091
- {
62092
- href: "#",
62093
- className: "block border-b border-border py-4 pr-3 text-base font-medium transition-colors",
62094
- onClick: () => setIsOpen(false),
62095
- children: "About"
62096
- }
62097
- ) })
62098
- ] })
62131
+ ]
62132
+ }
62133
+ ) }, link.title)) }),
62134
+ group.featuredImage && /* @__PURE__ */ jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: group.featuredImage.href || "#", children: /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-muted p-3", children: /* @__PURE__ */ jsx(
62135
+ Img,
62136
+ {
62137
+ src: group.featuredImage.src,
62138
+ alt: group.featuredImage.alt || "Featured image",
62139
+ className: "aspect-video w-full max-w-[240px] rounded-md object-cover object-center",
62140
+ optixFlowConfig
62141
+ }
62142
+ ) }) }) }) })
62143
+ ] })
62144
+ ] }, `group-${groupIndex}`)) }) })
62145
+ ] }, `desktop-menu-item-${index}`);
62146
+ }
62147
+ return /* @__PURE__ */ jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsx(NavigationMenuLink, { asChild: true, className: navigationMenuTriggerStyle(), children: /* @__PURE__ */ jsx(Pressable, { href: item.href, children: item.label }) }) }, `desktop-menu-item-${index}`);
62148
+ };
62149
+ var MobileNavigationMenu8 = ({
62150
+ open,
62151
+ onClose,
62152
+ menu,
62153
+ mobileAuthActions,
62154
+ mobileAuthActionsSlot,
62155
+ mobileMenuClassName
62156
+ }) => {
62157
+ const renderMobileAuthActions = useMemo$1(() => {
62158
+ if (mobileAuthActionsSlot) return mobileAuthActionsSlot;
62159
+ if (!mobileAuthActions || mobileAuthActions.length === 0) return null;
62160
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4", children: mobileAuthActions.map((action, index) => {
62161
+ const {
62162
+ label,
62163
+ icon,
62164
+ iconAfter,
62165
+ children,
62166
+ className: actionClassName,
62167
+ ...pressableProps
62168
+ } = action;
62169
+ return /* @__PURE__ */ jsx(
62170
+ Pressable,
62171
+ {
62172
+ asButton: true,
62173
+ className: cn("w-full", actionClassName),
62174
+ onClick: onClose,
62175
+ ...pressableProps,
62176
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
62177
+ icon,
62178
+ label,
62179
+ iconAfter
62180
+ ] })
62181
+ },
62182
+ index
62183
+ );
62184
+ }) });
62185
+ }, [mobileAuthActionsSlot, mobileAuthActions, onClose]);
62186
+ return /* @__PURE__ */ jsx(
62187
+ NavbarMobileMenu,
62188
+ {
62189
+ open,
62190
+ onClose,
62191
+ title: "Mobile Navigation",
62192
+ className: mobileMenuClassName,
62193
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
62194
+ /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menu.map((item, index) => {
62195
+ if (item.groups && item.groups.length > 0) {
62196
+ return /* @__PURE__ */ jsxs(
62197
+ AccordionItem,
62198
+ {
62199
+ value: `nav-${index}`,
62200
+ className: "border-b-0",
62201
+ children: [
62202
+ /* @__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.label }),
62203
+ /* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
62204
+ /* @__PURE__ */ jsx("p", { className: "mb-2 px-4 text-[10px] text-muted-foreground uppercase", children: group.label }),
62205
+ group.links.map((link) => /* @__PURE__ */ jsxs(
62206
+ Pressable,
62207
+ {
62208
+ href: link.href,
62209
+ 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",
62210
+ onClick: onClose,
62211
+ children: [
62212
+ link.icon && /* @__PURE__ */ jsx(
62213
+ DynamicIcon,
62214
+ {
62215
+ name: link.icon,
62216
+ size: 16,
62217
+ className: "stroke-muted-foreground"
62218
+ }
62219
+ ),
62220
+ link.title
62221
+ ]
62222
+ },
62223
+ link.title
62224
+ ))
62225
+ ] }, `mobile-group-${groupIndex}`)) })
62226
+ ]
62227
+ },
62228
+ `nav-item-${index}`
62229
+ );
62099
62230
  }
62100
- )
62101
- ]
62231
+ return /* @__PURE__ */ jsx(
62232
+ Pressable,
62233
+ {
62234
+ href: item.href,
62235
+ 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",
62236
+ onClick: onClose,
62237
+ children: item.label
62238
+ },
62239
+ `nav-link-${index}`
62240
+ );
62241
+ }) }),
62242
+ renderMobileAuthActions
62243
+ ] }) })
62102
62244
  }
62103
62245
  );
62104
62246
  };
@@ -62522,94 +62664,15 @@ var NavbarSearchFocused = ({
62522
62664
  )) }),
62523
62665
  /* @__PURE__ */ jsx("div", { className: "border-t pt-4 mt-6", children: renderMobileMenuActions })
62524
62666
  ] })
62525
- }
62526
- )
62527
- ]
62528
- }
62529
- ) }) }) })
62530
- }
62531
- );
62532
- };
62533
- var AnimatedHamburger = ({ isOpen }) => {
62534
- return /* @__PURE__ */ jsx("div", { className: "group relative size-full", children: /* @__PURE__ */ jsxs("div", { className: "absolute flex size-full items-center justify-center", children: [
62535
- /* @__PURE__ */ jsx(
62536
- DynamicIcon,
62537
- {
62538
- name: "lucide/menu",
62539
- size: 24,
62540
- className: `absolute text-muted-foreground transition-all duration-300 group-hover:text-foreground ${isOpen ? "rotate-90 opacity-0" : "rotate-0 opacity-100"}`
62541
- }
62542
- ),
62543
- /* @__PURE__ */ jsx(
62544
- DynamicIcon,
62545
- {
62546
- name: "lucide/x",
62547
- size: 24,
62548
- className: `absolute text-muted-foreground transition-all duration-300 group-hover:text-foreground ${isOpen ? "rotate-0 opacity-100" : "-rotate-90 opacity-0"}`
62549
- }
62550
- )
62551
- ] }) });
62552
- };
62553
- var MobileNav = ({
62554
- navItems,
62555
- activeItem,
62556
- setActiveItem,
62557
- actions,
62558
- actionsSlot
62559
- }) => {
62560
- const [isOpen, setIsOpen] = useState(false);
62561
- const renderActions = useMemo$1(() => {
62562
- if (actionsSlot) return actionsSlot;
62563
- if (!actions || actions.length === 0) return null;
62564
- return actions.map((action, index) => {
62565
- const {
62566
- label,
62567
- icon,
62568
- iconAfter,
62569
- children,
62570
- className: actionClassName,
62571
- ...pressableProps
62572
- } = action;
62573
- return /* @__PURE__ */ jsx(
62574
- Pressable,
62575
- {
62576
- asButton: true,
62577
- className: actionClassName,
62578
- ...pressableProps,
62579
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
62580
- icon,
62581
- label,
62582
- iconAfter
62583
- ] })
62584
- },
62585
- index
62586
- );
62587
- });
62588
- }, [actionsSlot, actions]);
62589
- return /* @__PURE__ */ jsx("div", { className: "flex h-full items-center lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [
62590
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { variant: "ghost", size: "icon", asButton: true, onClick: () => {
62591
- }, children: /* @__PURE__ */ jsx(AnimatedHamburger, { isOpen }) }) }),
62592
- /* @__PURE__ */ jsx(
62593
- PopoverContent,
62594
- {
62595
- align: "end",
62596
- className: "relative top-4 -right-4 block w-[calc(100vw-32px)] overflow-hidden rounded-xl p-0 sm:top-auto sm:right-auto sm:w-80 lg:hidden",
62597
- children: /* @__PURE__ */ jsxs("ul", { className: "w-full bg-background py-4 text-foreground", children: [
62598
- navItems.map((navItem, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
62599
- Pressable,
62600
- {
62601
- href: navItem.link,
62602
- onClick: () => setActiveItem(navItem.name),
62603
- className: `flex items-center border-l-[3px] px-6 py-4 text-sm font-medium text-foreground transition-all duration-75 ${activeItem === navItem.name ? "border-foreground text-foreground" : "border-transparent text-muted-foreground hover:text-foreground"}`,
62604
- children: navItem.name
62605
- }
62606
- ) }, idx)),
62607
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("li", { className: "flex flex-col gap-3 px-7 py-2", children: renderActions })
62608
- ] })
62609
- }
62610
- )
62611
- ] }) });
62667
+ }
62668
+ )
62669
+ ]
62670
+ }
62671
+ ) }) }) })
62672
+ }
62673
+ );
62612
62674
  };
62675
+ var MOBILE_BREAKPOINT7 = 1024;
62613
62676
  var NavbarSimpleLinks = ({
62614
62677
  className,
62615
62678
  containerClassName,
@@ -62617,6 +62680,7 @@ var NavbarSimpleLinks = ({
62617
62680
  navigationMenuClassName,
62618
62681
  menuListClassName,
62619
62682
  actionsClassName,
62683
+ mobileMenuClassName,
62620
62684
  logo,
62621
62685
  logoSlot,
62622
62686
  logoClassName,
@@ -62625,6 +62689,8 @@ var NavbarSimpleLinks = ({
62625
62689
  defaultActiveItem,
62626
62690
  actions,
62627
62691
  actionsSlot,
62692
+ mobileActions,
62693
+ mobileActionsSlot,
62628
62694
  layoutVariant = "fullScreenContainerizedLinks",
62629
62695
  background,
62630
62696
  spacing,
@@ -62635,8 +62701,20 @@ var NavbarSimpleLinks = ({
62635
62701
  const [activeItem, setActiveItem] = useState(
62636
62702
  defaultActiveItem || navItems?.[0]?.name || ""
62637
62703
  );
62704
+ const [isOpen, setIsOpen] = useState(false);
62638
62705
  const indicatorRef = useRef(null);
62639
62706
  const menuRef = useRef(null);
62707
+ useEffect(() => {
62708
+ if (typeof window === "undefined") return;
62709
+ const handleResize = () => {
62710
+ if (window.innerWidth > MOBILE_BREAKPOINT7) {
62711
+ setIsOpen(false);
62712
+ }
62713
+ };
62714
+ handleResize();
62715
+ window.addEventListener("resize", handleResize);
62716
+ return () => window.removeEventListener("resize", handleResize);
62717
+ }, []);
62640
62718
  useEffect(() => {
62641
62719
  const updateIndicator = () => {
62642
62720
  const activeEl = document.querySelector(
@@ -62653,6 +62731,9 @@ var NavbarSimpleLinks = ({
62653
62731
  window.addEventListener("resize", updateIndicator);
62654
62732
  return () => window.removeEventListener("resize", updateIndicator);
62655
62733
  }, [activeItem]);
62734
+ const handleMobileMenuClose = () => {
62735
+ setIsOpen(false);
62736
+ };
62656
62737
  const renderNavItems = useMemo$1(() => {
62657
62738
  if (navItemsSlot) return navItemsSlot;
62658
62739
  if (!navItems || navItems.length === 0) return null;
@@ -62706,80 +62787,161 @@ var NavbarSimpleLinks = ({
62706
62787
  sectionContainerMaxWidth,
62707
62788
  spacingOverride
62708
62789
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
62790
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
62791
+ /* @__PURE__ */ jsx(
62792
+ Section,
62793
+ {
62794
+ background,
62795
+ spacing: spacingOverride ?? spacing,
62796
+ className: sectionClasses,
62797
+ pattern,
62798
+ patternOpacity,
62799
+ containerClassName: sectionContainerClassName,
62800
+ containerMaxWidth: sectionContainerMaxWidth,
62801
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
62802
+ "nav",
62803
+ {
62804
+ className: cn("flex items-center justify-between", navClassName),
62805
+ children: [
62806
+ /* @__PURE__ */ jsx(
62807
+ NavbarLogo,
62808
+ {
62809
+ logo,
62810
+ logoSlot,
62811
+ logoClassName,
62812
+ optixFlowConfig
62813
+ }
62814
+ ),
62815
+ /* @__PURE__ */ jsx(
62816
+ NavigationMenu,
62817
+ {
62818
+ className: cn("hidden lg:block", navigationMenuClassName),
62819
+ children: /* @__PURE__ */ jsxs(
62820
+ NavigationMenuList,
62821
+ {
62822
+ ref: menuRef,
62823
+ className: cn(
62824
+ "flex items-center gap-6 rounded-4xl px-8 py-3",
62825
+ menuListClassName
62826
+ ),
62827
+ children: [
62828
+ renderNavItems,
62829
+ /* @__PURE__ */ jsx(
62830
+ "div",
62831
+ {
62832
+ ref: indicatorRef,
62833
+ className: "absolute bottom-2 flex h-1 items-center justify-center px-2 transition-all duration-300",
62834
+ children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-full rounded-t-none bg-foreground transition-all duration-300" })
62835
+ }
62836
+ )
62837
+ ]
62838
+ }
62839
+ )
62840
+ }
62841
+ ),
62842
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
62843
+ Pressable,
62844
+ {
62845
+ className: "size-11",
62846
+ variant: "ghost",
62847
+ size: "icon",
62848
+ asButton: true,
62849
+ onClick: () => setIsOpen(!isOpen),
62850
+ children: /* @__PURE__ */ jsx(
62851
+ DynamicIcon,
62852
+ {
62853
+ name: "lucide/menu",
62854
+ size: 22,
62855
+ className: "stroke-foreground"
62856
+ }
62857
+ )
62858
+ }
62859
+ ) }),
62860
+ /* @__PURE__ */ jsx(
62861
+ "div",
62862
+ {
62863
+ className: cn(
62864
+ "hidden items-center gap-2 lg:flex",
62865
+ actionsClassName
62866
+ ),
62867
+ children: renderActions
62868
+ }
62869
+ )
62870
+ ]
62871
+ }
62872
+ ) }) }) })
62873
+ }
62874
+ ),
62875
+ /* @__PURE__ */ jsx(
62876
+ MobileNavigationMenu9,
62877
+ {
62878
+ open: isOpen,
62879
+ onClose: handleMobileMenuClose,
62880
+ navItems: navItems ?? [],
62881
+ mobileActions,
62882
+ mobileActionsSlot,
62883
+ mobileMenuClassName
62884
+ }
62885
+ )
62886
+ ] });
62887
+ };
62888
+ var MobileNavigationMenu9 = ({
62889
+ open,
62890
+ onClose,
62891
+ navItems,
62892
+ mobileActions,
62893
+ mobileActionsSlot,
62894
+ mobileMenuClassName
62895
+ }) => {
62896
+ const renderMobileActions = useMemo$1(() => {
62897
+ if (mobileActionsSlot) return mobileActionsSlot;
62898
+ if (!mobileActions || mobileActions.length === 0) return null;
62899
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 px-4", children: mobileActions.map((action, index) => {
62900
+ const {
62901
+ label,
62902
+ icon,
62903
+ iconAfter,
62904
+ children,
62905
+ className: actionClassName,
62906
+ ...pressableProps
62907
+ } = action;
62908
+ return /* @__PURE__ */ jsx(
62909
+ Pressable,
62910
+ {
62911
+ asButton: true,
62912
+ className: cn("w-full", actionClassName),
62913
+ onClick: onClose,
62914
+ ...pressableProps,
62915
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
62916
+ icon,
62917
+ label,
62918
+ iconAfter
62919
+ ] })
62920
+ },
62921
+ index
62922
+ );
62923
+ }) });
62924
+ }, [mobileActionsSlot, mobileActions, onClose]);
62709
62925
  return /* @__PURE__ */ jsx(
62710
- Section,
62926
+ NavbarMobileMenu,
62711
62927
  {
62712
- background,
62713
- spacing: spacingOverride ?? spacing,
62714
- className: sectionClasses,
62715
- pattern,
62716
- patternOpacity,
62717
- containerClassName: sectionContainerClassName,
62718
- containerMaxWidth: sectionContainerMaxWidth,
62719
- children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
62720
- "nav",
62721
- {
62722
- className: cn("flex items-center justify-between", navClassName),
62723
- children: [
62724
- /* @__PURE__ */ jsx(
62725
- NavbarLogo,
62726
- {
62727
- logo,
62728
- logoSlot,
62729
- logoClassName,
62730
- optixFlowConfig
62731
- }
62732
- ),
62733
- /* @__PURE__ */ jsx(
62734
- NavigationMenu,
62735
- {
62736
- className: cn("hidden lg:block", navigationMenuClassName),
62737
- children: /* @__PURE__ */ jsxs(
62738
- NavigationMenuList,
62739
- {
62740
- ref: menuRef,
62741
- className: cn(
62742
- "flex items-center gap-6 rounded-4xl px-8 py-3",
62743
- menuListClassName
62744
- ),
62745
- children: [
62746
- renderNavItems,
62747
- /* @__PURE__ */ jsx(
62748
- "div",
62749
- {
62750
- ref: indicatorRef,
62751
- className: "absolute bottom-2 flex h-1 items-center justify-center px-2 transition-all duration-300",
62752
- children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-full rounded-t-none bg-foreground transition-all duration-300" })
62753
- }
62754
- )
62755
- ]
62756
- }
62757
- )
62758
- }
62759
- ),
62760
- /* @__PURE__ */ jsx(
62761
- MobileNav,
62762
- {
62763
- navItems: navItems ?? [],
62764
- activeItem,
62765
- setActiveItem,
62766
- actions,
62767
- actionsSlot
62768
- }
62769
- ),
62770
- /* @__PURE__ */ jsx(
62771
- "div",
62772
- {
62773
- className: cn(
62774
- "hidden items-center gap-2 lg:flex",
62775
- actionsClassName
62776
- ),
62777
- children: renderActions
62778
- }
62779
- )
62780
- ]
62781
- }
62782
- ) }) }) })
62928
+ open,
62929
+ onClose,
62930
+ title: "Navigation",
62931
+ className: mobileMenuClassName,
62932
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
62933
+ /* @__PURE__ */ jsx("nav", { className: "flex flex-col", children: navItems.map((item, index) => /* @__PURE__ */ jsx(
62934
+ Pressable,
62935
+ {
62936
+ href: item.link,
62937
+ className: "flex h-15 items-center rounded-md 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",
62938
+ onClick: onClose,
62939
+ children: item.name
62940
+ },
62941
+ `nav-link-${index}`
62942
+ )) }),
62943
+ renderMobileActions
62944
+ ] }) })
62783
62945
  }
62784
62946
  );
62785
62947
  };
@@ -62943,8 +63105,8 @@ var NavbarSplitCta = ({
62943
63105
  open: isOpen,
62944
63106
  onClose: () => setIsOpen(false),
62945
63107
  title: "Navigation Menu",
62946
- children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
62947
- /* @__PURE__ */ jsx("div", { className: "border-t pt-4", children: menuSlot ? menuSlot : renderMenu?.map(
63108
+ children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
63109
+ /* @__PURE__ */ jsx("div", { className: "pt-0", children: menuSlot ? menuSlot : renderMenu?.map(
62948
63110
  (item, index) => item.items ? /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
62949
63111
  /* @__PURE__ */ jsx("div", { className: "mb-2 text-sm font-medium text-muted-foreground", children: item.title }),
62950
63112
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 pl-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxs(
@@ -63025,6 +63187,7 @@ var NavbarIconLinks = ({
63025
63187
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
63026
63188
  Pressable,
63027
63189
  {
63190
+ size: "icon",
63028
63191
  className: cn(
63029
63192
  "flex h-10 w-10 items-center justify-center rounded-md transition-colors",
63030
63193
  "text-muted-foreground hover:bg-accent hover:text-accent-foreground",
@@ -63424,55 +63587,6 @@ var NavbarTabbedSections = ({
63424
63587
  }
63425
63588
  );
63426
63589
  };
63427
- var platformIconMap = {
63428
- instagram: "cib/instagram",
63429
- linkedin: "cib/linkedin",
63430
- google: "cib/google",
63431
- facebook: "cib/facebook",
63432
- tiktok: "cib/tiktok",
63433
- youtube: "cib/youtube",
63434
- yelp: "cib/yelp",
63435
- spotify: "cib/spotify",
63436
- apple: "cib/apple",
63437
- x: "line-md/twitter-x"
63438
- };
63439
- var SocialLinkIcon = React52.forwardRef(
63440
- ({
63441
- platformName,
63442
- label,
63443
- iconSize = 20,
63444
- iconColor,
63445
- iconClassName,
63446
- className,
63447
- ...pressableProps
63448
- }, ref) => {
63449
- const iconName = platformIconMap[platformName];
63450
- const accessibleLabel = label || platformName;
63451
- return /* @__PURE__ */ jsx(
63452
- Pressable,
63453
- {
63454
- ref,
63455
- "aria-label": accessibleLabel,
63456
- className: cn(
63457
- "inline-flex items-center justify-center transition-colors",
63458
- className
63459
- ),
63460
- ...pressableProps,
63461
- children: /* @__PURE__ */ jsx(
63462
- DynamicIcon,
63463
- {
63464
- name: iconName,
63465
- size: iconSize,
63466
- color: iconColor,
63467
- className: iconClassName,
63468
- alt: accessibleLabel
63469
- }
63470
- )
63471
- }
63472
- );
63473
- }
63474
- );
63475
- SocialLinkIcon.displayName = "SocialLinkIcon";
63476
63590
  var NavbarFullscreenMenu = ({
63477
63591
  logo,
63478
63592
  logoSlot,
@@ -78495,7 +78609,7 @@ function ListSearchableGrid({
78495
78609
  }
78496
78610
  );
78497
78611
  }
78498
- var { useMemo: useMemo442 } = React52;
78612
+ var { useMemo: useMemo443 } = React52;
78499
78613
  function OfferModalNewsletterDiscount({
78500
78614
  title,
78501
78615
  emailPlaceholder,
@@ -78563,7 +78677,7 @@ function OfferModalNewsletterDiscount({
78563
78677
  });
78564
78678
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
78565
78679
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
78566
- const renderCloseButton = useMemo442(() => {
78680
+ const renderCloseButton = useMemo443(() => {
78567
78681
  if (closeButtonSlot) return closeButtonSlot;
78568
78682
  if (!closeButtonText) return null;
78569
78683
  return /* @__PURE__ */ jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
@@ -78577,12 +78691,12 @@ function OfferModalNewsletterDiscount({
78577
78691
  }
78578
78692
  ) }) });
78579
78693
  }, [closeButtonSlot, closeButtonText, closeClassName]);
78580
- const renderHeader = useMemo442(() => {
78694
+ const renderHeader = useMemo443(() => {
78581
78695
  if (headerSlot) return headerSlot;
78582
78696
  if (!title) return null;
78583
78697
  return /* @__PURE__ */ jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
78584
78698
  }, [headerSlot, title, headerClassName, titleClassName]);
78585
- const renderForm = useMemo442(() => {
78699
+ const renderForm = useMemo443(() => {
78586
78700
  if (formSlot) return formSlot;
78587
78701
  return /* @__PURE__ */ jsxs(
78588
78702
  Form,
@@ -78644,7 +78758,7 @@ function OfferModalNewsletterDiscount({
78644
78758
  }
78645
78759
  ) });
78646
78760
  }
78647
- var { useMemo: useMemo443 } = React52;
78761
+ var { useMemo: useMemo444 } = React52;
78648
78762
  function OfferModalMembershipImage({
78649
78763
  overline,
78650
78764
  title,
@@ -78721,7 +78835,7 @@ function OfferModalMembershipImage({
78721
78835
  });
78722
78836
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
78723
78837
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
78724
- const renderImage = useMemo443(() => {
78838
+ const renderImage = useMemo444(() => {
78725
78839
  if (imageSlot) return imageSlot;
78726
78840
  if (!image) return null;
78727
78841
  return /* @__PURE__ */ jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsx(
@@ -78734,7 +78848,7 @@ function OfferModalMembershipImage({
78734
78848
  }
78735
78849
  ) });
78736
78850
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
78737
- const renderCloseButton = useMemo443(() => {
78851
+ const renderCloseButton = useMemo444(() => {
78738
78852
  if (closeButtonSlot) return closeButtonSlot;
78739
78853
  return /* @__PURE__ */ jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
78740
78854
  Pressable,
@@ -78750,7 +78864,7 @@ function OfferModalMembershipImage({
78750
78864
  }
78751
78865
  ) }) });
78752
78866
  }, [closeButtonSlot, closeClassName]);
78753
- const renderForm = useMemo443(() => {
78867
+ const renderForm = useMemo444(() => {
78754
78868
  if (formSlot) return formSlot;
78755
78869
  return /* @__PURE__ */ jsxs(
78756
78870
  Form,
@@ -78813,7 +78927,7 @@ function OfferModalMembershipImage({
78813
78927
  }
78814
78928
  );
78815
78929
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
78816
- const renderFooter = useMemo443(() => {
78930
+ const renderFooter = useMemo444(() => {
78817
78931
  if (footerSlot) return footerSlot;
78818
78932
  if (!description) return null;
78819
78933
  return /* @__PURE__ */ jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -78933,7 +79047,7 @@ function SheetDescription({
78933
79047
  }
78934
79048
  );
78935
79049
  }
78936
- var { useMemo: useMemo444 } = React52;
79050
+ var { useMemo: useMemo445 } = React52;
78937
79051
  function OfferModalSheetNewsletter({
78938
79052
  logo,
78939
79053
  logoSlot,
@@ -79016,7 +79130,7 @@ function OfferModalSheetNewsletter({
79016
79130
  });
79017
79131
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
79018
79132
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
79019
- const renderLogo = useMemo444(() => {
79133
+ const renderLogo = useMemo445(() => {
79020
79134
  if (logoSlot) return logoSlot;
79021
79135
  if (!logo) return null;
79022
79136
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -79030,7 +79144,7 @@ function OfferModalSheetNewsletter({
79030
79144
  }
79031
79145
  );
79032
79146
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
79033
- const renderHeader = useMemo444(() => {
79147
+ const renderHeader = useMemo445(() => {
79034
79148
  if (headerSlot) return headerSlot;
79035
79149
  return /* @__PURE__ */ jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
79036
79150
  renderLogo,
@@ -79040,7 +79154,7 @@ function OfferModalSheetNewsletter({
79040
79154
  ] })
79041
79155
  ] });
79042
79156
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
79043
- const renderForm = useMemo444(() => {
79157
+ const renderForm = useMemo445(() => {
79044
79158
  if (formSlot) return formSlot;
79045
79159
  return /* @__PURE__ */ jsx(
79046
79160
  Form,
@@ -79088,7 +79202,7 @@ function OfferModalSheetNewsletter({
79088
79202
  }
79089
79203
  );
79090
79204
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
79091
- const renderLegal = useMemo444(() => {
79205
+ const renderLegal = useMemo445(() => {
79092
79206
  if (legalSlot) return legalSlot;
79093
79207
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
79094
79208
  return /* @__PURE__ */ jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -79102,7 +79216,7 @@ function OfferModalSheetNewsletter({
79102
79216
  "."
79103
79217
  ] });
79104
79218
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
79105
- const renderImage = useMemo444(() => {
79219
+ const renderImage = useMemo445(() => {
79106
79220
  if (imageSlot) return imageSlot;
79107
79221
  if (!image) return null;
79108
79222
  return /* @__PURE__ */ jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsx(