@opensite/ui 0.9.4 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/navbar-animated-preview.cjs +71 -29
  2. package/dist/navbar-animated-preview.js +71 -29
  3. package/dist/navbar-centered-menu.cjs +101 -31
  4. package/dist/navbar-centered-menu.js +101 -31
  5. package/dist/navbar-dark-icons.cjs +72 -30
  6. package/dist/navbar-dark-icons.js +72 -30
  7. package/dist/navbar-dropdown-menu.cjs +97 -30
  8. package/dist/navbar-dropdown-menu.js +97 -30
  9. package/dist/navbar-education-platform.cjs +71 -26
  10. package/dist/navbar-education-platform.js +71 -26
  11. package/dist/navbar-enterprise-mega.cjs +71 -29
  12. package/dist/navbar-enterprise-mega.js +71 -29
  13. package/dist/navbar-feature-grid.cjs +81 -28
  14. package/dist/navbar-feature-grid.js +81 -28
  15. package/dist/navbar-floating-pill.cjs +71 -26
  16. package/dist/navbar-floating-pill.js +71 -26
  17. package/dist/navbar-fullscreen-menu.cjs +71 -26
  18. package/dist/navbar-fullscreen-menu.js +72 -27
  19. package/dist/navbar-icon-links.cjs +72 -27
  20. package/dist/navbar-icon-links.js +72 -27
  21. package/dist/navbar-image-preview.cjs +2 -2
  22. package/dist/navbar-image-preview.js +2 -2
  23. package/dist/navbar-mega-menu.cjs +71 -40
  24. package/dist/navbar-mega-menu.js +71 -40
  25. package/dist/navbar-multi-column-groups.cjs +2 -2
  26. package/dist/navbar-multi-column-groups.js +2 -2
  27. package/dist/navbar-platform-resources.cjs +71 -26
  28. package/dist/navbar-platform-resources.js +71 -26
  29. package/dist/navbar-search-focused.cjs +2 -2
  30. package/dist/navbar-search-focused.js +2 -2
  31. package/dist/navbar-sidebar-mobile.cjs +2 -2
  32. package/dist/navbar-sidebar-mobile.js +2 -2
  33. package/dist/navbar-simple-links.cjs +72 -27
  34. package/dist/navbar-simple-links.js +72 -27
  35. package/dist/navbar-split-cta.cjs +2 -2
  36. package/dist/navbar-split-cta.js +2 -2
  37. package/dist/navbar-sticky-compact.cjs +2 -2
  38. package/dist/navbar-sticky-compact.js +2 -2
  39. package/dist/navbar-tabbed-sections.cjs +2 -2
  40. package/dist/navbar-tabbed-sections.js +2 -2
  41. package/dist/navbar-transparent-overlay.cjs +2 -2
  42. package/dist/navbar-transparent-overlay.js +2 -2
  43. package/dist/registry.cjs +242 -345
  44. package/dist/registry.js +242 -345
  45. package/package.json +6 -1
package/dist/registry.cjs CHANGED
@@ -57207,6 +57207,66 @@ function SheetDescription({
57207
57207
  }
57208
57208
  );
57209
57209
  }
57210
+ var NavbarLogo = ({
57211
+ logo,
57212
+ logoSlot,
57213
+ logoClassName,
57214
+ optixFlowConfig
57215
+ }) => {
57216
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
57217
+ if (!logo) return null;
57218
+ const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
57219
+ return /* @__PURE__ */ jsxRuntime.jsx(
57220
+ Pressable,
57221
+ {
57222
+ href: logo.url || "/",
57223
+ className: cn("flex items-center", logoClassName),
57224
+ children: hasResponsiveSources ? (
57225
+ // Responsive logo with desktop/mobile sources
57226
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
57227
+ /* @__PURE__ */ jsxRuntime.jsx(
57228
+ img.Img,
57229
+ {
57230
+ src: logo.desktopSrc || logo.src || "",
57231
+ className: cn(
57232
+ "hidden h-8 w-auto object-contain md:block",
57233
+ logo.className
57234
+ ),
57235
+ alt: logo.alt || "Logo",
57236
+ optixFlowConfig
57237
+ }
57238
+ ),
57239
+ /* @__PURE__ */ jsxRuntime.jsx(
57240
+ img.Img,
57241
+ {
57242
+ src: logo.mobileSrc || logo.src || "",
57243
+ className: cn(
57244
+ "h-8 w-auto object-contain md:hidden",
57245
+ logo.className
57246
+ ),
57247
+ alt: logo.alt || "Logo",
57248
+ optixFlowConfig
57249
+ }
57250
+ )
57251
+ ] })
57252
+ ) : logo.src ? (
57253
+ // Standard single logo image
57254
+ /* @__PURE__ */ jsxRuntime.jsx(
57255
+ img.Img,
57256
+ {
57257
+ src: logo.src,
57258
+ className: cn("max-h-8 w-auto object-contain", logo.className),
57259
+ alt: logo.alt || "Logo",
57260
+ optixFlowConfig
57261
+ }
57262
+ )
57263
+ ) : (
57264
+ // Text-based logo (title as string or React element)
57265
+ logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57266
+ )
57267
+ }
57268
+ );
57269
+ };
57210
57270
 
57211
57271
  // components/blocks/navbars/layout-variant-utils.ts
57212
57272
  function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
@@ -57233,14 +57293,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
57233
57293
  ),
57234
57294
  // Navigation wrapper classes (for border and shadow)
57235
57295
  navWrapperClasses: cn(
57236
- "w-full",
57296
+ "w-full h-16 items-center",
57237
57297
  isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
57238
57298
  ),
57239
57299
  // Section container configuration for full-width navbars
57240
57300
  sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
57241
57301
  sectionContainerMaxWidth: "full",
57242
57302
  // Spacing adjustment for Section component
57243
- spacingOverride: isFloatingBar ? "none" : void 0
57303
+ spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
57244
57304
  };
57245
57305
  }
57246
57306
  var SubMenuLink = ({
@@ -57319,29 +57379,6 @@ var NavbarDropdownMenu = ({
57319
57379
  patternOpacity,
57320
57380
  optixFlowConfig
57321
57381
  }) => {
57322
- const renderLogo = React52.useMemo(() => {
57323
- if (logoSlot) return logoSlot;
57324
- if (!logo) return null;
57325
- return /* @__PURE__ */ jsxRuntime.jsxs(
57326
- Pressable,
57327
- {
57328
- href: logo.url || "/",
57329
- className: cn("flex items-center gap-2", logoClassName),
57330
- children: [
57331
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
57332
- img.Img,
57333
- {
57334
- src: logo.src,
57335
- className: cn("max-h-8 dark:invert", logo.className),
57336
- alt: logo.alt || "Logo",
57337
- optixFlowConfig
57338
- }
57339
- ),
57340
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57341
- ]
57342
- }
57343
- );
57344
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
57345
57382
  const renderAuthActions = React52.useMemo(() => {
57346
57383
  if (authActionsSlot) return authActionsSlot;
57347
57384
  if (!authActions || authActions.length === 0) return null;
@@ -57409,7 +57446,15 @@ var NavbarDropdownMenu = ({
57409
57446
  ),
57410
57447
  children: [
57411
57448
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-6", children: [
57412
- renderLogo,
57449
+ /* @__PURE__ */ jsxRuntime.jsx(
57450
+ NavbarLogo,
57451
+ {
57452
+ logo,
57453
+ logoSlot,
57454
+ logoClassName,
57455
+ optixFlowConfig
57456
+ }
57457
+ ),
57413
57458
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenu, { className: navigationMenuClassName, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: renderMenu }) }) })
57414
57459
  ] }),
57415
57460
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions })
@@ -57417,7 +57462,15 @@ var NavbarDropdownMenu = ({
57417
57462
  }
57418
57463
  ),
57419
57464
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
57420
- renderLogo,
57465
+ /* @__PURE__ */ jsxRuntime.jsx(
57466
+ NavbarLogo,
57467
+ {
57468
+ logo,
57469
+ logoSlot,
57470
+ logoClassName,
57471
+ optixFlowConfig
57472
+ }
57473
+ ),
57421
57474
  /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
57422
57475
  /* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
57423
57476
  Pressable,
@@ -57431,7 +57484,15 @@ var NavbarDropdownMenu = ({
57431
57484
  }
57432
57485
  ) }),
57433
57486
  /* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { className: "overflow-y-auto", children: [
57434
- /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: renderLogo }) }),
57487
+ /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
57488
+ NavbarLogo,
57489
+ {
57490
+ logo,
57491
+ logoSlot,
57492
+ logoClassName,
57493
+ optixFlowConfig
57494
+ }
57495
+ ) }) }),
57435
57496
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
57436
57497
  /* @__PURE__ */ jsxRuntime.jsx(
57437
57498
  Accordion,
@@ -57442,7 +57503,13 @@ var NavbarDropdownMenu = ({
57442
57503
  children: renderMobileMenu
57443
57504
  }
57444
57505
  ),
57445
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions })
57506
+ /* @__PURE__ */ jsxRuntime.jsx(
57507
+ "div",
57508
+ {
57509
+ className: cn("flex flex-col gap-3", actionsClassName),
57510
+ children: renderAuthActions
57511
+ }
57512
+ )
57446
57513
  ] })
57447
57514
  ] })
57448
57515
  ] })
@@ -57535,29 +57602,6 @@ var NavbarCenteredMenu = ({
57535
57602
  patternOpacity,
57536
57603
  optixFlowConfig
57537
57604
  }) => {
57538
- const renderLogo = React52.useMemo(() => {
57539
- if (logoSlot) return logoSlot;
57540
- if (!logo) return null;
57541
- return /* @__PURE__ */ jsxRuntime.jsxs(
57542
- Pressable,
57543
- {
57544
- href: logo.url || "/",
57545
- className: cn("flex items-center gap-2", logoClassName),
57546
- children: [
57547
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
57548
- img.Img,
57549
- {
57550
- src: logo.src,
57551
- className: cn("max-h-8", logo.className),
57552
- alt: logo.alt || "Logo",
57553
- optixFlowConfig
57554
- }
57555
- ),
57556
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57557
- ]
57558
- }
57559
- );
57560
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
57561
57605
  const renderAuthActions = React52.useMemo(() => {
57562
57606
  if (authActionsSlot) return authActionsSlot;
57563
57607
  if (!authActions || authActions.length === 0) return null;
@@ -57619,9 +57663,20 @@ var NavbarCenteredMenu = ({
57619
57663
  /* @__PURE__ */ jsxRuntime.jsxs(
57620
57664
  "nav",
57621
57665
  {
57622
- className: cn("hidden justify-between lg:flex", desktopNavClassName),
57666
+ className: cn(
57667
+ "hidden justify-between lg:flex",
57668
+ desktopNavClassName
57669
+ ),
57623
57670
  children: [
57624
- renderLogo,
57671
+ /* @__PURE__ */ jsxRuntime.jsx(
57672
+ NavbarLogo,
57673
+ {
57674
+ logo,
57675
+ logoSlot,
57676
+ logoClassName,
57677
+ optixFlowConfig
57678
+ }
57679
+ ),
57625
57680
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(
57626
57681
  NavigationMenuWithoutViewport,
57627
57682
  {
@@ -57634,7 +57689,15 @@ var NavbarCenteredMenu = ({
57634
57689
  }
57635
57690
  ),
57636
57691
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
57637
- renderLogo,
57692
+ /* @__PURE__ */ jsxRuntime.jsx(
57693
+ NavbarLogo,
57694
+ {
57695
+ logo,
57696
+ logoSlot,
57697
+ logoClassName,
57698
+ optixFlowConfig
57699
+ }
57700
+ ),
57638
57701
  /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
57639
57702
  /* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
57640
57703
  Pressable,
@@ -57648,7 +57711,15 @@ var NavbarCenteredMenu = ({
57648
57711
  }
57649
57712
  ) }),
57650
57713
  /* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { className: "overflow-y-auto", children: [
57651
- /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: renderLogo }) }),
57714
+ /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
57715
+ NavbarLogo,
57716
+ {
57717
+ logo,
57718
+ logoSlot,
57719
+ logoClassName,
57720
+ optixFlowConfig
57721
+ }
57722
+ ) }) }),
57652
57723
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
57653
57724
  /* @__PURE__ */ jsxRuntime.jsx(
57654
57725
  Accordion,
@@ -57659,7 +57730,13 @@ var NavbarCenteredMenu = ({
57659
57730
  children: renderMobileMenu
57660
57731
  }
57661
57732
  ),
57662
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions })
57733
+ /* @__PURE__ */ jsxRuntime.jsx(
57734
+ "div",
57735
+ {
57736
+ className: cn("flex flex-col gap-3", actionsClassName),
57737
+ children: renderAuthActions
57738
+ }
57739
+ )
57663
57740
  ] })
57664
57741
  ] })
57665
57742
  ] })
@@ -57871,43 +57948,6 @@ var NavbarMegaMenu = ({
57871
57948
  const [open, setOpen] = React52.useState(false);
57872
57949
  const [submenuIndex, setSubmenuIndex] = React52.useState(null);
57873
57950
  const activeSubmenu = submenuIndex !== null ? menuLinks?.[submenuIndex] : null;
57874
- const renderLogo = () => {
57875
- if (logoSlot) return logoSlot;
57876
- if (!logo) return null;
57877
- return /* @__PURE__ */ jsxRuntime.jsxs(
57878
- Pressable,
57879
- {
57880
- href: logo.url || "/",
57881
- className: cn("flex items-center h-16 py-2", logoClassName),
57882
- children: [
57883
- /* @__PURE__ */ jsxRuntime.jsx(
57884
- img.Img,
57885
- {
57886
- src: logo.desktopSrc,
57887
- className: cn(
57888
- "hidden h-full w-auto object-contain dark:invert md:block",
57889
- logo.className
57890
- ),
57891
- alt: logo.alt || "Logo",
57892
- optixFlowConfig
57893
- }
57894
- ),
57895
- /* @__PURE__ */ jsxRuntime.jsx(
57896
- img.Img,
57897
- {
57898
- src: logo.mobileSrc,
57899
- className: cn(
57900
- "h-full w-auto object-contain dark:invert md:hidden",
57901
- logo.className
57902
- ),
57903
- alt: logo.alt || "Logo",
57904
- optixFlowConfig
57905
- }
57906
- )
57907
- ]
57908
- }
57909
- );
57910
- };
57911
57951
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
57912
57952
  const renderActions = () => {
57913
57953
  if (!actions || actions.length === 0) return null;
@@ -57960,7 +58000,15 @@ var NavbarMegaMenu = ({
57960
58000
  children: [
57961
58001
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: navWrapperClasses, children: [
57962
58002
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
57963
- (!open || submenuIndex === null) && renderLogo(),
58003
+ (!open || submenuIndex === null) && /* @__PURE__ */ jsxRuntime.jsx(
58004
+ NavbarLogo,
58005
+ {
58006
+ logo,
58007
+ logoSlot,
58008
+ logoClassName,
58009
+ optixFlowConfig
58010
+ }
58011
+ ),
57964
58012
  open && submenuIndex !== null && /* @__PURE__ */ jsxRuntime.jsxs(
57965
58013
  Pressable,
57966
58014
  {
@@ -58146,32 +58194,6 @@ var NavbarEnterpriseMega = ({
58146
58194
  const handleMobileMenu = () => {
58147
58195
  setOpen(!open);
58148
58196
  };
58149
- const renderLogo = React52.useMemo(() => {
58150
- if (logoSlot) return logoSlot;
58151
- if (!logo) return null;
58152
- return /* @__PURE__ */ jsxRuntime.jsxs(
58153
- Pressable,
58154
- {
58155
- href: logo.url || "/",
58156
- className: cn(
58157
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
58158
- logoClassName
58159
- ),
58160
- children: [
58161
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
58162
- img.Img,
58163
- {
58164
- src: logo.src,
58165
- alt: logo.alt || "Logo",
58166
- className: cn("inline-block size-6", logo.className),
58167
- optixFlowConfig
58168
- }
58169
- ),
58170
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
58171
- ]
58172
- }
58173
- );
58174
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
58175
58197
  const renderActions = React52.useMemo(() => {
58176
58198
  if (actionsSlot) return actionsSlot;
58177
58199
  if (!actions || actions.length === 0) return null;
@@ -58222,7 +58244,15 @@ var NavbarEnterpriseMega = ({
58222
58244
  navClassName
58223
58245
  ),
58224
58246
  children: [
58225
- renderLogo,
58247
+ /* @__PURE__ */ jsxRuntime.jsx(
58248
+ NavbarLogo,
58249
+ {
58250
+ logo,
58251
+ logoSlot,
58252
+ logoClassName,
58253
+ optixFlowConfig
58254
+ }
58255
+ ),
58226
58256
  /* @__PURE__ */ jsxRuntime.jsx(
58227
58257
  NavigationMenu,
58228
58258
  {
@@ -58956,29 +58986,6 @@ var NavbarFeatureGrid = ({
58956
58986
  patternOpacity,
58957
58987
  optixFlowConfig
58958
58988
  }) => {
58959
- const renderLogo = React52.useMemo(() => {
58960
- if (logoSlot) return logoSlot;
58961
- if (!logo) return null;
58962
- return /* @__PURE__ */ jsxRuntime.jsxs(
58963
- Pressable,
58964
- {
58965
- href: logo.url || "/",
58966
- className: cn("flex items-center gap-2", logoClassName),
58967
- children: [
58968
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
58969
- img.Img,
58970
- {
58971
- src: logo.src,
58972
- className: cn("max-h-8", logo.className),
58973
- alt: logo.alt || "Logo",
58974
- optixFlowConfig
58975
- }
58976
- ),
58977
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
58978
- ]
58979
- }
58980
- );
58981
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
58982
58989
  const renderAuthActions = React52.useMemo(() => {
58983
58990
  if (authActionsSlot) return authActionsSlot;
58984
58991
  if (!authActions || authActions.length === 0) return null;
@@ -59022,7 +59029,15 @@ var NavbarFeatureGrid = ({
59022
59029
  {
59023
59030
  className: cn("flex items-center justify-between", navClassName),
59024
59031
  children: [
59025
- renderLogo,
59032
+ /* @__PURE__ */ jsxRuntime.jsx(
59033
+ NavbarLogo,
59034
+ {
59035
+ logo,
59036
+ logoSlot,
59037
+ logoClassName,
59038
+ optixFlowConfig
59039
+ }
59040
+ ),
59026
59041
  /* @__PURE__ */ jsxRuntime.jsx(
59027
59042
  NavigationMenu,
59028
59043
  {
@@ -59067,7 +59082,15 @@ var NavbarFeatureGrid = ({
59067
59082
  }
59068
59083
  ) }),
59069
59084
  /* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "top", className: "max-h-screen overflow-auto", children: [
59070
- /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: renderLogo }) }),
59085
+ /* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
59086
+ NavbarLogo,
59087
+ {
59088
+ logo,
59089
+ logoSlot,
59090
+ logoClassName,
59091
+ optixFlowConfig
59092
+ }
59093
+ ) }) }),
59071
59094
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col p-4", children: [
59072
59095
  features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "single", collapsible: true, className: "mt-4 mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(AccordionItem, { value: "solutions", className: "border-none", children: [
59073
59096
  /* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "text-base hover:no-underline", children: "Features" }),
@@ -59125,29 +59148,6 @@ var NavbarFloatingPill = ({
59125
59148
  }) => {
59126
59149
  const [isMenuOpen, setIsMenuOpen] = React52.useState(false);
59127
59150
  const [openDropdown, setOpenDropdown] = React52.useState(null);
59128
- const renderLogo = React52.useMemo(() => {
59129
- if (logoSlot) return logoSlot;
59130
- if (!logo) return null;
59131
- return /* @__PURE__ */ jsxRuntime.jsxs(
59132
- Pressable,
59133
- {
59134
- href: logo.url || "/",
59135
- className: cn("flex shrink-0 items-center gap-2", logoClassName),
59136
- children: [
59137
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
59138
- img.Img,
59139
- {
59140
- src: logo.src,
59141
- className: cn("w-10", logo.className),
59142
- alt: logo.alt || "Logo",
59143
- optixFlowConfig
59144
- }
59145
- ),
59146
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
59147
- ]
59148
- }
59149
- );
59150
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
59151
59151
  const renderAuthActions = React52.useMemo(() => {
59152
59152
  if (authActionsSlot) return authActionsSlot;
59153
59153
  if (!authActions || authActions.length === 0) return null;
@@ -59216,7 +59216,15 @@ var NavbarFloatingPill = ({
59216
59216
  pillWrapperClassName
59217
59217
  ),
59218
59218
  children: [
59219
- renderLogo,
59219
+ /* @__PURE__ */ jsxRuntime.jsx(
59220
+ NavbarLogo,
59221
+ {
59222
+ logo,
59223
+ logoSlot,
59224
+ logoClassName,
59225
+ optixFlowConfig
59226
+ }
59227
+ ),
59220
59228
  /* @__PURE__ */ jsxRuntime.jsx(
59221
59229
  NavigationMenu,
59222
59230
  {
@@ -59388,29 +59396,6 @@ var NavbarPlatformResources = ({
59388
59396
  optixFlowConfig
59389
59397
  }) => {
59390
59398
  const [open, setOpen] = React52.useState(false);
59391
- const renderLogo = React52.useMemo(() => {
59392
- if (logoSlot) return logoSlot;
59393
- if (!logo) return null;
59394
- return /* @__PURE__ */ jsxRuntime.jsxs(
59395
- Pressable,
59396
- {
59397
- href: logo.url || "/",
59398
- className: cn("flex items-center gap-2", logoClassName),
59399
- children: [
59400
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
59401
- img.Img,
59402
- {
59403
- src: logo.src,
59404
- className: cn("max-h-8", logo.className),
59405
- alt: logo.alt || "Logo",
59406
- optixFlowConfig
59407
- }
59408
- ),
59409
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
59410
- ]
59411
- }
59412
- );
59413
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
59414
59399
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
59415
59400
  const renderDropdownContent3 = (link) => {
59416
59401
  const layout = link.layout || "simple-list";
@@ -59697,7 +59682,15 @@ var NavbarPlatformResources = ({
59697
59682
  className: cn("min-w-full", navigationMenuClassName),
59698
59683
  children: [
59699
59684
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
59700
- renderLogo,
59685
+ /* @__PURE__ */ jsxRuntime.jsx(
59686
+ NavbarLogo,
59687
+ {
59688
+ logo,
59689
+ logoSlot,
59690
+ logoClassName,
59691
+ optixFlowConfig
59692
+ }
59693
+ ),
59701
59694
  /* @__PURE__ */ jsxRuntime.jsx(
59702
59695
  NavigationMenuList,
59703
59696
  {
@@ -60295,32 +60288,6 @@ var NavbarDarkIcons = ({
60295
60288
  const handleMobileMenu = () => {
60296
60289
  setOpen(!open);
60297
60290
  };
60298
- const renderLogo = React52.useMemo(() => {
60299
- if (logoSlot) return logoSlot;
60300
- if (!logo) return null;
60301
- return /* @__PURE__ */ jsxRuntime.jsxs(
60302
- Pressable,
60303
- {
60304
- href: logo.url || "/",
60305
- className: cn(
60306
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
60307
- logoClassName
60308
- ),
60309
- children: [
60310
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
60311
- img.Img,
60312
- {
60313
- src: logo.src,
60314
- alt: logo.alt || "Logo",
60315
- className: cn("inline-block size-8 invert", logo.className),
60316
- optixFlowConfig
60317
- }
60318
- ),
60319
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
60320
- ]
60321
- }
60322
- );
60323
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
60324
60291
  const renderAuthActions = React52.useMemo(() => {
60325
60292
  if (authActionsSlot) return authActionsSlot;
60326
60293
  if (!authActions || authActions.length === 0) return null;
@@ -60394,7 +60361,15 @@ var NavbarDarkIcons = ({
60394
60361
  navClassName
60395
60362
  ),
60396
60363
  children: [
60397
- renderLogo,
60364
+ /* @__PURE__ */ jsxRuntime.jsx(
60365
+ NavbarLogo,
60366
+ {
60367
+ logo,
60368
+ logoSlot,
60369
+ logoClassName,
60370
+ optixFlowConfig
60371
+ }
60372
+ ),
60398
60373
  /* @__PURE__ */ jsxRuntime.jsx(
60399
60374
  NavigationMenu,
60400
60375
  {
@@ -60658,32 +60633,6 @@ var NavbarAnimatedPreview = ({
60658
60633
  const handleMobileMenu = () => {
60659
60634
  setOpen(!open);
60660
60635
  };
60661
- const renderLogo = React52.useMemo(() => {
60662
- if (logoSlot) return logoSlot;
60663
- if (!logo) return null;
60664
- return /* @__PURE__ */ jsxRuntime.jsxs(
60665
- Pressable,
60666
- {
60667
- href: logo.url || "/",
60668
- className: cn(
60669
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
60670
- logoClassName
60671
- ),
60672
- children: [
60673
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
60674
- img.Img,
60675
- {
60676
- src: logo.src,
60677
- alt: logo.alt || "Logo",
60678
- className: cn("inline-block size-6", logo.className),
60679
- optixFlowConfig
60680
- }
60681
- ),
60682
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
60683
- ]
60684
- }
60685
- );
60686
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
60687
60636
  const renderActions = React52.useMemo(() => {
60688
60637
  if (actionsSlot) return actionsSlot;
60689
60638
  if (!actions || actions.length === 0) return null;
@@ -60759,7 +60708,15 @@ var NavbarAnimatedPreview = ({
60759
60708
  "relative z-999 grid w-full grid-cols-2 items-center justify-between gap-8 xl:grid-cols-3"
60760
60709
  ),
60761
60710
  children: [
60762
- renderLogo,
60711
+ /* @__PURE__ */ jsxRuntime.jsx(
60712
+ NavbarLogo,
60713
+ {
60714
+ logo,
60715
+ logoSlot,
60716
+ logoClassName,
60717
+ optixFlowConfig
60718
+ }
60719
+ ),
60763
60720
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("hidden xl:flex", navClassName), children: renderNavigation }),
60764
60721
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("justify-self-end", actionsClassName), children: [
60765
60722
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden xl:block", children: renderActions }),
@@ -62074,29 +62031,6 @@ var NavbarEducationPlatform = ({
62074
62031
  optixFlowConfig
62075
62032
  }) => {
62076
62033
  const [isOpen, setIsOpen] = React52.useState(false);
62077
- const renderLogo = React52.useMemo(() => {
62078
- if (logoSlot) return logoSlot;
62079
- if (!logo) return null;
62080
- return /* @__PURE__ */ jsxRuntime.jsxs(
62081
- Pressable,
62082
- {
62083
- href: logo.url || "/",
62084
- className: cn("flex items-center gap-2", logoClassName),
62085
- children: [
62086
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
62087
- img.Img,
62088
- {
62089
- src: logo.src,
62090
- alt: logo.alt || "Logo",
62091
- className: cn("h-8 dark:invert", logo.className),
62092
- optixFlowConfig
62093
- }
62094
- ),
62095
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
62096
- ]
62097
- }
62098
- );
62099
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
62100
62034
  const renderAuthActions = React52.useMemo(() => {
62101
62035
  if (authActionsSlot) return authActionsSlot;
62102
62036
  if (!authActions || authActions.length === 0) return null;
@@ -62148,7 +62082,15 @@ var NavbarEducationPlatform = ({
62148
62082
  ),
62149
62083
  children: [
62150
62084
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
62151
- renderLogo,
62085
+ /* @__PURE__ */ jsxRuntime.jsx(
62086
+ NavbarLogo,
62087
+ {
62088
+ logo,
62089
+ logoSlot,
62090
+ logoClassName,
62091
+ optixFlowConfig
62092
+ }
62093
+ ),
62152
62094
  /* @__PURE__ */ jsxRuntime.jsx(
62153
62095
  "div",
62154
62096
  {
@@ -62983,29 +62925,6 @@ var NavbarSimpleLinks = ({
62983
62925
  window.addEventListener("resize", updateIndicator);
62984
62926
  return () => window.removeEventListener("resize", updateIndicator);
62985
62927
  }, [activeItem]);
62986
- const renderLogo = React52.useMemo(() => {
62987
- if (logoSlot) return logoSlot;
62988
- if (!logo) return null;
62989
- return /* @__PURE__ */ jsxRuntime.jsxs(
62990
- Pressable,
62991
- {
62992
- href: logo.url || "/",
62993
- className: cn("flex items-center gap-2", logoClassName),
62994
- children: [
62995
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
62996
- img.Img,
62997
- {
62998
- src: logo.src,
62999
- className: cn("max-h-8 w-8", logo.className),
63000
- alt: logo.alt || "Logo",
63001
- optixFlowConfig
63002
- }
63003
- ),
63004
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
63005
- ]
63006
- }
63007
- );
63008
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
63009
62928
  const renderNavItems = React52.useMemo(() => {
63010
62929
  if (navItemsSlot) return navItemsSlot;
63011
62930
  if (!navItems || navItems.length === 0) return null;
@@ -63077,7 +62996,15 @@ var NavbarSimpleLinks = ({
63077
62996
  navClassName
63078
62997
  ),
63079
62998
  children: [
63080
- renderLogo,
62999
+ /* @__PURE__ */ jsxRuntime.jsx(
63000
+ NavbarLogo,
63001
+ {
63002
+ logo,
63003
+ logoSlot,
63004
+ logoClassName,
63005
+ optixFlowConfig
63006
+ }
63007
+ ),
63081
63008
  /* @__PURE__ */ jsxRuntime.jsx(
63082
63009
  NavigationMenu,
63083
63010
  {
@@ -63403,29 +63330,6 @@ var NavbarIconLinks = ({
63403
63330
  }) => {
63404
63331
  const [activeItem, setActiveItem] = React52.useState(navItems?.[0]?.title || "");
63405
63332
  const [isOpen, setIsOpen] = React52.useState(false);
63406
- const renderLogo = React52.useMemo(() => {
63407
- if (logoSlot) return logoSlot;
63408
- if (!logo) return null;
63409
- return /* @__PURE__ */ jsxRuntime.jsxs(
63410
- Pressable,
63411
- {
63412
- href: logo.url || "/",
63413
- className: cn("flex items-center gap-2", logoClassName),
63414
- children: [
63415
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
63416
- img.Img,
63417
- {
63418
- src: logo.src,
63419
- className: cn("h-8", logo.className),
63420
- alt: logo.alt || "Logo",
63421
- optixFlowConfig
63422
- }
63423
- ),
63424
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
63425
- ]
63426
- }
63427
- );
63428
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
63429
63333
  const renderAuthActions = React52.useMemo(() => {
63430
63334
  if (authActionsSlot) return authActionsSlot;
63431
63335
  if (!authActions || authActions.length === 0) return null;
@@ -63489,7 +63393,15 @@ var NavbarIconLinks = ({
63489
63393
  ),
63490
63394
  children: [
63491
63395
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-6", children: [
63492
- renderLogo,
63396
+ /* @__PURE__ */ jsxRuntime.jsx(
63397
+ NavbarLogo,
63398
+ {
63399
+ logo,
63400
+ logoSlot,
63401
+ logoClassName,
63402
+ optixFlowConfig
63403
+ }
63404
+ ),
63493
63405
  /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
63494
63406
  NavigationMenu,
63495
63407
  {
@@ -63875,29 +63787,6 @@ var NavbarFullscreenMenu = ({
63875
63787
  }) => {
63876
63788
  const [isOpen, setIsOpen] = React52.useState(false);
63877
63789
  const toggleMenu = () => setIsOpen(!isOpen);
63878
- const renderLogo = React52.useMemo(() => {
63879
- if (logoSlot) return logoSlot;
63880
- if (!logo) return null;
63881
- return /* @__PURE__ */ jsxRuntime.jsxs(
63882
- Pressable,
63883
- {
63884
- href: logo.url || "/",
63885
- className: cn("flex items-center gap-2", logoClassName),
63886
- children: [
63887
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
63888
- img.Img,
63889
- {
63890
- src: logo.src,
63891
- className: cn("h-9", logo.className),
63892
- alt: logo.alt || "Logo",
63893
- optixFlowConfig
63894
- }
63895
- ),
63896
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
63897
- ]
63898
- }
63899
- );
63900
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
63901
63790
  const renderMenuItems = React52.useMemo(() => {
63902
63791
  if (menuSlot) return menuSlot;
63903
63792
  if (!menuItems || menuItems.length === 0) return null;
@@ -63961,7 +63850,15 @@ var NavbarFullscreenMenu = ({
63961
63850
  headerClassName
63962
63851
  ),
63963
63852
  children: [
63964
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-50", children: renderLogo }),
63853
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-50", children: /* @__PURE__ */ jsxRuntime.jsx(
63854
+ NavbarLogo,
63855
+ {
63856
+ logo,
63857
+ logoSlot,
63858
+ logoClassName,
63859
+ optixFlowConfig
63860
+ }
63861
+ ) }),
63965
63862
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-50", children: /* @__PURE__ */ jsxRuntime.jsxs(
63966
63863
  "button",
63967
63864
  {