@opensite/ui 1.1.0 → 1.1.2

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 (41) hide show
  1. package/dist/navbar-animated-preview.cjs +15 -11
  2. package/dist/navbar-animated-preview.js +15 -11
  3. package/dist/navbar-centered-menu.cjs +8 -4
  4. package/dist/navbar-centered-menu.js +8 -4
  5. package/dist/navbar-dark-icons.cjs +8 -4
  6. package/dist/navbar-dark-icons.js +8 -4
  7. package/dist/navbar-dropdown-menu.cjs +8 -4
  8. package/dist/navbar-dropdown-menu.js +8 -4
  9. package/dist/navbar-education-platform.cjs +8 -4
  10. package/dist/navbar-education-platform.js +8 -4
  11. package/dist/navbar-enterprise-mega.cjs +8 -4
  12. package/dist/navbar-enterprise-mega.js +8 -4
  13. package/dist/navbar-feature-grid.cjs +8 -4
  14. package/dist/navbar-feature-grid.js +8 -4
  15. package/dist/navbar-icon-links.cjs +8 -4
  16. package/dist/navbar-icon-links.js +8 -4
  17. package/dist/navbar-image-preview.cjs +8 -4
  18. package/dist/navbar-image-preview.js +8 -4
  19. package/dist/navbar-mega-menu.cjs +8 -4
  20. package/dist/navbar-mega-menu.js +8 -4
  21. package/dist/navbar-multi-column-groups.cjs +8 -4
  22. package/dist/navbar-multi-column-groups.js +8 -4
  23. package/dist/navbar-platform-resources.cjs +8 -4
  24. package/dist/navbar-platform-resources.js +8 -4
  25. package/dist/navbar-search-focused.cjs +179 -97
  26. package/dist/navbar-search-focused.js +179 -97
  27. package/dist/navbar-sidebar-mobile.cjs +8 -4
  28. package/dist/navbar-sidebar-mobile.js +8 -4
  29. package/dist/navbar-simple-links.cjs +8 -4
  30. package/dist/navbar-simple-links.js +8 -4
  31. package/dist/navbar-split-cta.cjs +8 -4
  32. package/dist/navbar-split-cta.js +8 -4
  33. package/dist/navbar-sticky-compact.cjs +10 -16
  34. package/dist/navbar-sticky-compact.js +10 -16
  35. package/dist/navbar-tabbed-sections.cjs +8 -4
  36. package/dist/navbar-tabbed-sections.js +8 -4
  37. package/dist/navbar-transparent-overlay.cjs +9 -4
  38. package/dist/navbar-transparent-overlay.js +9 -4
  39. package/dist/registry.cjs +175 -118
  40. package/dist/registry.js +175 -118
  41. package/package.json +1 -1
@@ -1138,7 +1138,8 @@ var NavbarMobileMenu = ({
1138
1138
  children,
1139
1139
  className,
1140
1140
  contentClassName,
1141
- closeContainerClassName = "",
1141
+ closeContainerClassName,
1142
+ closeIconClassName,
1142
1143
  title = "Mobile Navigation"
1143
1144
  }) => {
1144
1145
  React__namespace.useEffect(() => {
@@ -1167,14 +1168,17 @@ var NavbarMobileMenu = ({
1167
1168
  "div",
1168
1169
  {
1169
1170
  className: cn(
1170
- closeContainerClassName,
1171
- "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
1171
+ "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
1172
+ closeContainerClassName
1172
1173
  ),
1173
1174
  children: /* @__PURE__ */ jsxRuntime.jsxs(
1174
1175
  "button",
1175
1176
  {
1176
1177
  onClick: onClose,
1177
- className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1178
+ className: cn(
1179
+ "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1180
+ closeIconClassName
1181
+ ),
1178
1182
  "aria-label": "Close mobile menu",
1179
1183
  children: [
1180
1184
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
@@ -1115,7 +1115,8 @@ var NavbarMobileMenu = ({
1115
1115
  children,
1116
1116
  className,
1117
1117
  contentClassName,
1118
- closeContainerClassName = "",
1118
+ closeContainerClassName,
1119
+ closeIconClassName,
1119
1120
  title = "Mobile Navigation"
1120
1121
  }) => {
1121
1122
  React.useEffect(() => {
@@ -1144,14 +1145,17 @@ var NavbarMobileMenu = ({
1144
1145
  "div",
1145
1146
  {
1146
1147
  className: cn(
1147
- closeContainerClassName,
1148
- "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
1148
+ "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
1149
+ closeContainerClassName
1149
1150
  ),
1150
1151
  children: /* @__PURE__ */ jsxs(
1151
1152
  "button",
1152
1153
  {
1153
1154
  onClick: onClose,
1154
- className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1155
+ className: cn(
1156
+ "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1157
+ closeIconClassName
1158
+ ),
1155
1159
  "aria-label": "Close mobile menu",
1156
1160
  children: [
1157
1161
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
@@ -998,7 +998,8 @@ var NavbarMobileMenu = ({
998
998
  children,
999
999
  className,
1000
1000
  contentClassName,
1001
- closeContainerClassName = "",
1001
+ closeContainerClassName,
1002
+ closeIconClassName,
1002
1003
  title = "Mobile Navigation"
1003
1004
  }) => {
1004
1005
  React__namespace.useEffect(() => {
@@ -1027,14 +1028,17 @@ var NavbarMobileMenu = ({
1027
1028
  "div",
1028
1029
  {
1029
1030
  className: cn(
1030
- closeContainerClassName,
1031
- "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
1031
+ "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
1032
+ closeContainerClassName
1032
1033
  ),
1033
1034
  children: /* @__PURE__ */ jsxRuntime.jsxs(
1034
1035
  "button",
1035
1036
  {
1036
1037
  onClick: onClose,
1037
- className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1038
+ className: cn(
1039
+ "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1040
+ closeIconClassName
1041
+ ),
1038
1042
  "aria-label": "Close mobile menu",
1039
1043
  children: [
1040
1044
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
@@ -1499,6 +1503,7 @@ var MobileNavigationMenu = ({
1499
1503
  className: cn("bg-black/95", mobileMenuClassName),
1500
1504
  contentClassName: "flex flex-col items-center justify-center",
1501
1505
  closeContainerClassName: "bg-black/95",
1506
+ closeIconClassName: "text-white",
1502
1507
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
1503
1508
  /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
1504
1509
  Pressable,
@@ -976,7 +976,8 @@ var NavbarMobileMenu = ({
976
976
  children,
977
977
  className,
978
978
  contentClassName,
979
- closeContainerClassName = "",
979
+ closeContainerClassName,
980
+ closeIconClassName,
980
981
  title = "Mobile Navigation"
981
982
  }) => {
982
983
  React.useEffect(() => {
@@ -1005,14 +1006,17 @@ var NavbarMobileMenu = ({
1005
1006
  "div",
1006
1007
  {
1007
1008
  className: cn(
1008
- closeContainerClassName,
1009
- "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
1009
+ "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
1010
+ closeContainerClassName
1010
1011
  ),
1011
1012
  children: /* @__PURE__ */ jsxs(
1012
1013
  "button",
1013
1014
  {
1014
1015
  onClick: onClose,
1015
- className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1016
+ className: cn(
1017
+ "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1018
+ closeIconClassName
1019
+ ),
1016
1020
  "aria-label": "Close mobile menu",
1017
1021
  children: [
1018
1022
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
@@ -1477,6 +1481,7 @@ var MobileNavigationMenu = ({
1477
1481
  className: cn("bg-black/95", mobileMenuClassName),
1478
1482
  contentClassName: "flex flex-col items-center justify-center",
1479
1483
  closeContainerClassName: "bg-black/95",
1484
+ closeIconClassName: "text-white",
1480
1485
  children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
1481
1486
  /* @__PURE__ */ jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxs(
1482
1487
  Pressable,
package/dist/registry.cjs CHANGED
@@ -57108,7 +57108,8 @@ var NavbarMobileMenu = ({
57108
57108
  children,
57109
57109
  className,
57110
57110
  contentClassName,
57111
- closeContainerClassName = "",
57111
+ closeContainerClassName,
57112
+ closeIconClassName,
57112
57113
  title = "Mobile Navigation"
57113
57114
  }) => {
57114
57115
  React52__namespace.useEffect(() => {
@@ -57137,14 +57138,17 @@ var NavbarMobileMenu = ({
57137
57138
  "div",
57138
57139
  {
57139
57140
  className: cn(
57140
- closeContainerClassName,
57141
- "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
57141
+ "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
57142
+ closeContainerClassName
57142
57143
  ),
57143
57144
  children: /* @__PURE__ */ jsxRuntime.jsxs(
57144
57145
  "button",
57145
57146
  {
57146
57147
  onClick: onClose,
57147
- className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
57148
+ className: cn(
57149
+ "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
57150
+ closeIconClassName
57151
+ ),
57148
57152
  "aria-label": "Close mobile menu",
57149
57153
  children: [
57150
57154
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
@@ -60602,7 +60606,7 @@ var NavbarAnimatedPreview = ({
60602
60606
  "div",
60603
60607
  {
60604
60608
  className: cn(
60605
- "relative z-999 grid w-full grid-cols-2 items-center justify-between gap-8 xl:grid-cols-3"
60609
+ "relative z-999 flex w-full items-center justify-between gap-4"
60606
60610
  ),
60607
60611
  children: [
60608
60612
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -60877,7 +60881,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
60877
60881
  Pressable,
60878
60882
  {
60879
60883
  href: getLinkUrl(link),
60880
- className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-4 pt-12 pb-4",
60884
+ className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-4 pt-24 pb-4",
60881
60885
  children: [
60882
60886
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex w-full items-center gap-6", children: [
60883
60887
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-12 shrink-0 rounded-lg border bg-background shadow-lg", children: link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -60888,7 +60892,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
60888
60892
  className: "m-auto stroke-white"
60889
60893
  }
60890
60894
  ) : null }),
60891
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-white text-shadow-lg", children: [
60895
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col text-white text-shadow-lg", children: [
60892
60896
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg font-semibold", children: link.label }),
60893
60897
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: link.description })
60894
60898
  ] })
@@ -60992,10 +60996,10 @@ var renderMobileMenuItem4 = (item, index) => {
60992
60996
  className: "border-b-0",
60993
60997
  children: [
60994
60998
  /* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-10 items-center text-base font-normal text-foreground hover:no-underline", children: item.label }),
60995
- /* @__PURE__ */ jsxRuntime.jsxs(AccordionContent, { className: "flex flex-col gap-6 p-2", children: [
60996
- item.featuredLinks && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 p-2", children: item.featuredLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${idx}`)) }),
60997
- item.links && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 p-2", children: item.links.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${idx}`)) }),
60998
- item.groupLinks && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 p-2", children: item.groupLinks.map((group, groupIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
60999
+ /* @__PURE__ */ jsxRuntime.jsxs(AccordionContent, { className: "flex flex-col py-6 px-0", children: [
61000
+ item.featuredLinks && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4", children: item.featuredLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${idx}`)) }),
61001
+ item.links && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4", children: item.links.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }, `default-nav-link-${idx}`)) }),
61002
+ item.groupLinks && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4", children: item.groupLinks.map((group, groupIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
60999
61003
  group.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xs text-muted-foreground", children: group.label }),
61000
61004
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-2", children: group.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(NavLink, { link }) }, `group-link-${groupIdx}-${linkIdx}`)) })
61001
61005
  ] }, `group-link-${groupIdx}`)) })
@@ -61953,6 +61957,7 @@ var MobileNavigationMenu7 = ({
61953
61957
  className: cn("bg-black/95", mobileMenuClassName),
61954
61958
  contentClassName: "flex flex-col items-center justify-center",
61955
61959
  closeContainerClassName: "bg-black/95",
61960
+ closeIconClassName: "text-white",
61956
61961
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
61957
61962
  /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
61958
61963
  Pressable,
@@ -62455,11 +62460,7 @@ var NavbarStickyCompact = ({
62455
62460
  {
62456
62461
  logo,
62457
62462
  logoSlot,
62458
- logoClassName: cn(
62459
- isScrolled ? "[&_img]:h-6 [&_span]:text-base" : "[&_img]:h-8 [&_span]:text-lg",
62460
- "[&_img]:transition-all [&_img]:duration-300 [&_span]:transition-all [&_span]:duration-300",
62461
- logoClassName
62462
- ),
62463
+ logoClassName,
62463
62464
  optixFlowConfig
62464
62465
  }
62465
62466
  ),
@@ -62483,13 +62484,7 @@ var NavbarStickyCompact = ({
62483
62484
  className: "lg:hidden transition-all duration-300",
62484
62485
  onClick: () => setIsOpen(!isOpen),
62485
62486
  children: [
62486
- /* @__PURE__ */ jsxRuntime.jsx(
62487
- DynamicIcon,
62488
- {
62489
- name: "lucide/menu",
62490
- size: isScrolled ? 18 : 20
62491
- }
62492
- ),
62487
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: isScrolled ? 18 : 20 }),
62493
62488
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
62494
62489
  ]
62495
62490
  }
@@ -62622,6 +62617,11 @@ var NavbarSearchFocused = ({
62622
62617
  optixFlowConfig
62623
62618
  }) => {
62624
62619
  const [isOpen, setIsOpen] = React52.useState(false);
62620
+ const [searchQuery, setSearchQuery] = React52.useState("");
62621
+ const handleSearchSubmit = (e) => {
62622
+ e.preventDefault();
62623
+ onSearch?.(searchQuery);
62624
+ };
62625
62625
  const renderNavigation = (items) => {
62626
62626
  if (navigationSlot) return navigationSlot;
62627
62627
  if (!items || items.length === 0) return null;
@@ -62667,7 +62667,7 @@ var NavbarSearchFocused = ({
62667
62667
  );
62668
62668
  });
62669
62669
  }, [authActionsSlot, authActions]);
62670
- const renderMobileMenuActions = React52.useMemo(() => {
62670
+ React52.useMemo(() => {
62671
62671
  if (mobileMenuActionsSlot) return mobileMenuActionsSlot;
62672
62672
  if (!mobileMenuActions || mobileMenuActions.length === 0) return null;
62673
62673
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: mobileMenuActions.map((action, index) => {
@@ -62696,100 +62696,157 @@ var NavbarSearchFocused = ({
62696
62696
  sectionContainerMaxWidth,
62697
62697
  spacingOverride
62698
62698
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
62699
- return /* @__PURE__ */ jsxRuntime.jsx(
62700
- Section,
62701
- {
62702
- background,
62703
- spacing: spacingOverride ?? spacing,
62704
- className: sectionClasses,
62705
- pattern,
62706
- patternOpacity,
62707
- containerClassName: sectionContainerClassName,
62708
- containerMaxWidth: sectionContainerMaxWidth,
62709
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
62710
- "nav",
62711
- {
62712
- className: cn(
62713
- "flex items-center gap-4 py-3 lg:gap-8",
62714
- navClassName
62715
- ),
62716
- children: [
62717
- /* @__PURE__ */ jsxRuntime.jsx(
62718
- NavbarLogo,
62719
- {
62720
- logo,
62721
- logoSlot,
62722
- logoClassName,
62723
- optixFlowConfig
62724
- }
62725
- ),
62726
- /* @__PURE__ */ jsxRuntime.jsx(
62727
- NavigationMenu,
62728
- {
62729
- className: cn("hidden lg:flex", navigationMenuClassName),
62730
- children: renderNavigation(navItems?.slice(0, 2) ?? [])
62731
- }
62732
- ),
62733
- /* @__PURE__ */ jsxRuntime.jsx(
62734
- NavigationMenu,
62735
- {
62736
- className: cn("hidden lg:flex", navigationMenuClassName),
62737
- children: renderNavigation(navItems?.slice(2) ?? [])
62738
- }
62699
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
62700
+ /* @__PURE__ */ jsxRuntime.jsx(
62701
+ Section,
62702
+ {
62703
+ background,
62704
+ spacing: spacingOverride ?? spacing,
62705
+ className: sectionClasses,
62706
+ pattern,
62707
+ patternOpacity,
62708
+ containerClassName: sectionContainerClassName,
62709
+ containerMaxWidth: sectionContainerMaxWidth,
62710
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
62711
+ "nav",
62712
+ {
62713
+ className: cn(
62714
+ "flex items-center justify-between gap-4 py-3 lg:gap-6",
62715
+ navClassName
62739
62716
  ),
62740
- /* @__PURE__ */ jsxRuntime.jsx(
62741
- "div",
62742
- {
62743
- className: cn(
62744
- "hidden shrink-0 items-center gap-2 lg:flex",
62745
- actionsClassName
62717
+ children: [
62718
+ /* @__PURE__ */ jsxRuntime.jsx(
62719
+ NavbarLogo,
62720
+ {
62721
+ logo,
62722
+ logoSlot,
62723
+ logoClassName,
62724
+ optixFlowConfig
62725
+ }
62726
+ ),
62727
+ /* @__PURE__ */ jsxRuntime.jsx(
62728
+ NavigationMenu,
62729
+ {
62730
+ className: cn("hidden lg:flex", navigationMenuClassName),
62731
+ children: renderNavigation(navItems ?? [])
62732
+ }
62733
+ ),
62734
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden flex-1 max-w-md lg:block", children: searchSlot ?? /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSearchSubmit, className: "relative", children: [
62735
+ /* @__PURE__ */ jsxRuntime.jsx(
62736
+ DynamicIcon,
62737
+ {
62738
+ name: "lucide/search",
62739
+ size: 16,
62740
+ className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"
62741
+ }
62746
62742
  ),
62747
- children: renderAuthActions
62748
- }
62749
- ),
62750
- /* @__PURE__ */ jsxRuntime.jsxs(
62751
- Pressable,
62752
- {
62753
- variant: "ghost",
62754
- size: "icon",
62755
- asButton: true,
62756
- className: "lg:hidden",
62757
- onClick: () => setIsOpen(!isOpen),
62758
- children: [
62759
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: 20 }),
62760
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
62761
- ]
62762
- }
62763
- ),
62764
- /* @__PURE__ */ jsxRuntime.jsx(
62765
- NavbarMobileMenu,
62766
- {
62767
- open: isOpen,
62768
- onClose: () => setIsOpen(false),
62769
- title: "Navigation Menu",
62770
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
62771
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: navItems?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
62772
- Pressable,
62773
- {
62774
- href: item.url,
62775
- className: "flex items-center gap-2 rounded-md py-2 text-base font-medium",
62776
- onClick: () => setIsOpen(false),
62777
- children: [
62778
- item.icon ?? (item.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 })),
62779
- item.title
62780
- ]
62781
- },
62782
- index
62783
- )) }),
62784
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t pt-4 mt-6", children: renderMobileMenuActions })
62785
- ] })
62786
- }
62787
- )
62788
- ]
62789
- }
62790
- ) }) }) })
62791
- }
62792
- );
62743
+ /* @__PURE__ */ jsxRuntime.jsx(
62744
+ Input,
62745
+ {
62746
+ type: "search",
62747
+ placeholder: typeof searchPlaceholder === "string" ? searchPlaceholder : "Search...",
62748
+ value: searchQuery,
62749
+ onChange: (e) => setSearchQuery(e.target.value),
62750
+ className: "pl-9 pr-4"
62751
+ }
62752
+ )
62753
+ ] }) }),
62754
+ /* @__PURE__ */ jsxRuntime.jsx(
62755
+ "div",
62756
+ {
62757
+ className: cn(
62758
+ "hidden shrink-0 items-center gap-2 lg:flex",
62759
+ actionsClassName
62760
+ ),
62761
+ children: renderAuthActions
62762
+ }
62763
+ ),
62764
+ /* @__PURE__ */ jsxRuntime.jsxs(
62765
+ Pressable,
62766
+ {
62767
+ variant: "ghost",
62768
+ size: "icon",
62769
+ asButton: true,
62770
+ className: "lg:hidden",
62771
+ onClick: () => setIsOpen(!isOpen),
62772
+ children: [
62773
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: 20 }),
62774
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
62775
+ ]
62776
+ }
62777
+ )
62778
+ ]
62779
+ }
62780
+ ) }) }) })
62781
+ }
62782
+ ),
62783
+ /* @__PURE__ */ jsxRuntime.jsx(
62784
+ MobileNavigationMenu10,
62785
+ {
62786
+ open: isOpen,
62787
+ setOpen: setIsOpen,
62788
+ navItems: navItems ?? [],
62789
+ navigationSlot,
62790
+ mobileMenuActions: mobileMenuActions ?? authActions,
62791
+ mobileMenuActionsSlot: mobileMenuActionsSlot ?? authActionsSlot
62792
+ }
62793
+ )
62794
+ ] });
62795
+ };
62796
+ var MobileNavigationMenu10 = ({
62797
+ open,
62798
+ setOpen,
62799
+ navItems,
62800
+ navigationSlot,
62801
+ mobileMenuActions,
62802
+ mobileMenuActionsSlot
62803
+ }) => {
62804
+ const handleClose = () => setOpen(false);
62805
+ const renderMobileActions = React52.useMemo(() => {
62806
+ if (mobileMenuActionsSlot) return mobileMenuActionsSlot;
62807
+ if (!mobileMenuActions || mobileMenuActions.length === 0) return null;
62808
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6 flex flex-col gap-4", children: mobileMenuActions.map((action, index) => {
62809
+ const {
62810
+ label,
62811
+ icon,
62812
+ iconAfter,
62813
+ children,
62814
+ className: actionClassName,
62815
+ ...pressableProps
62816
+ } = action;
62817
+ return /* @__PURE__ */ jsxRuntime.jsx(
62818
+ Pressable,
62819
+ {
62820
+ asButton: true,
62821
+ className: cn("w-full", actionClassName),
62822
+ onClick: handleClose,
62823
+ ...pressableProps,
62824
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
62825
+ icon,
62826
+ label,
62827
+ iconAfter
62828
+ ] })
62829
+ },
62830
+ index
62831
+ );
62832
+ }) });
62833
+ }, [mobileMenuActionsSlot, mobileMenuActions]);
62834
+ return /* @__PURE__ */ jsxRuntime.jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Navigation Menu", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
62835
+ navigationSlot ?? /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex flex-col", children: navItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
62836
+ Pressable,
62837
+ {
62838
+ href: item.url,
62839
+ className: "flex h-15 items-center gap-2 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",
62840
+ onClick: handleClose,
62841
+ children: [
62842
+ item.icon ?? (item.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 })),
62843
+ item.title
62844
+ ]
62845
+ },
62846
+ `nav-link-${index}`
62847
+ )) }),
62848
+ renderMobileActions
62849
+ ] }) }) });
62793
62850
  };
62794
62851
  var MOBILE_BREAKPOINT7 = 1024;
62795
62852
  var NavbarSimpleLinks = ({
@@ -62992,7 +63049,7 @@ var NavbarSimpleLinks = ({
62992
63049
  }
62993
63050
  ),
62994
63051
  /* @__PURE__ */ jsxRuntime.jsx(
62995
- MobileNavigationMenu10,
63052
+ MobileNavigationMenu11,
62996
63053
  {
62997
63054
  open: isOpen,
62998
63055
  onClose: handleMobileMenuClose,
@@ -63004,7 +63061,7 @@ var NavbarSimpleLinks = ({
63004
63061
  )
63005
63062
  ] });
63006
63063
  };
63007
- var MobileNavigationMenu10 = ({
63064
+ var MobileNavigationMenu11 = ({
63008
63065
  open,
63009
63066
  onClose,
63010
63067
  navItems,