@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.js CHANGED
@@ -57167,6 +57167,66 @@ function SheetDescription({
57167
57167
  }
57168
57168
  );
57169
57169
  }
57170
+ var NavbarLogo = ({
57171
+ logo,
57172
+ logoSlot,
57173
+ logoClassName,
57174
+ optixFlowConfig
57175
+ }) => {
57176
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment$1, { children: logoSlot });
57177
+ if (!logo) return null;
57178
+ const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
57179
+ return /* @__PURE__ */ jsx(
57180
+ Pressable,
57181
+ {
57182
+ href: logo.url || "/",
57183
+ className: cn("flex items-center", logoClassName),
57184
+ children: hasResponsiveSources ? (
57185
+ // Responsive logo with desktop/mobile sources
57186
+ /* @__PURE__ */ jsxs(Fragment$1, { children: [
57187
+ /* @__PURE__ */ jsx(
57188
+ Img,
57189
+ {
57190
+ src: logo.desktopSrc || logo.src || "",
57191
+ className: cn(
57192
+ "hidden h-8 w-auto object-contain md:block",
57193
+ logo.className
57194
+ ),
57195
+ alt: logo.alt || "Logo",
57196
+ optixFlowConfig
57197
+ }
57198
+ ),
57199
+ /* @__PURE__ */ jsx(
57200
+ Img,
57201
+ {
57202
+ src: logo.mobileSrc || logo.src || "",
57203
+ className: cn(
57204
+ "h-8 w-auto object-contain md:hidden",
57205
+ logo.className
57206
+ ),
57207
+ alt: logo.alt || "Logo",
57208
+ optixFlowConfig
57209
+ }
57210
+ )
57211
+ ] })
57212
+ ) : logo.src ? (
57213
+ // Standard single logo image
57214
+ /* @__PURE__ */ jsx(
57215
+ Img,
57216
+ {
57217
+ src: logo.src,
57218
+ className: cn("max-h-8 w-auto object-contain", logo.className),
57219
+ alt: logo.alt || "Logo",
57220
+ optixFlowConfig
57221
+ }
57222
+ )
57223
+ ) : (
57224
+ // Text-based logo (title as string or React element)
57225
+ logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57226
+ )
57227
+ }
57228
+ );
57229
+ };
57170
57230
 
57171
57231
  // components/blocks/navbars/layout-variant-utils.ts
57172
57232
  function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
@@ -57193,14 +57253,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
57193
57253
  ),
57194
57254
  // Navigation wrapper classes (for border and shadow)
57195
57255
  navWrapperClasses: cn(
57196
- "w-full",
57256
+ "w-full h-16 items-center",
57197
57257
  isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
57198
57258
  ),
57199
57259
  // Section container configuration for full-width navbars
57200
57260
  sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
57201
57261
  sectionContainerMaxWidth: "full",
57202
57262
  // Spacing adjustment for Section component
57203
- spacingOverride: isFloatingBar ? "none" : void 0
57263
+ spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
57204
57264
  };
57205
57265
  }
57206
57266
  var SubMenuLink = ({
@@ -57279,29 +57339,6 @@ var NavbarDropdownMenu = ({
57279
57339
  patternOpacity,
57280
57340
  optixFlowConfig
57281
57341
  }) => {
57282
- const renderLogo = useMemo$1(() => {
57283
- if (logoSlot) return logoSlot;
57284
- if (!logo) return null;
57285
- return /* @__PURE__ */ jsxs(
57286
- Pressable,
57287
- {
57288
- href: logo.url || "/",
57289
- className: cn("flex items-center gap-2", logoClassName),
57290
- children: [
57291
- logo.src && /* @__PURE__ */ jsx(
57292
- Img,
57293
- {
57294
- src: logo.src,
57295
- className: cn("max-h-8 dark:invert", logo.className),
57296
- alt: logo.alt || "Logo",
57297
- optixFlowConfig
57298
- }
57299
- ),
57300
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57301
- ]
57302
- }
57303
- );
57304
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
57305
57342
  const renderAuthActions = useMemo$1(() => {
57306
57343
  if (authActionsSlot) return authActionsSlot;
57307
57344
  if (!authActions || authActions.length === 0) return null;
@@ -57369,7 +57406,15 @@ var NavbarDropdownMenu = ({
57369
57406
  ),
57370
57407
  children: [
57371
57408
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6", children: [
57372
- renderLogo,
57409
+ /* @__PURE__ */ jsx(
57410
+ NavbarLogo,
57411
+ {
57412
+ logo,
57413
+ logoSlot,
57414
+ logoClassName,
57415
+ optixFlowConfig
57416
+ }
57417
+ ),
57373
57418
  /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsx(NavigationMenu, { className: navigationMenuClassName, children: /* @__PURE__ */ jsx(NavigationMenuList, { children: renderMenu }) }) })
57374
57419
  ] }),
57375
57420
  /* @__PURE__ */ jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions })
@@ -57377,7 +57422,15 @@ var NavbarDropdownMenu = ({
57377
57422
  }
57378
57423
  ),
57379
57424
  /* @__PURE__ */ jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
57380
- renderLogo,
57425
+ /* @__PURE__ */ jsx(
57426
+ NavbarLogo,
57427
+ {
57428
+ logo,
57429
+ logoSlot,
57430
+ logoClassName,
57431
+ optixFlowConfig
57432
+ }
57433
+ ),
57381
57434
  /* @__PURE__ */ jsxs(Sheet, { children: [
57382
57435
  /* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
57383
57436
  Pressable,
@@ -57391,7 +57444,15 @@ var NavbarDropdownMenu = ({
57391
57444
  }
57392
57445
  ) }),
57393
57446
  /* @__PURE__ */ jsxs(SheetContent, { className: "overflow-y-auto", children: [
57394
- /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: renderLogo }) }),
57447
+ /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: /* @__PURE__ */ jsx(
57448
+ NavbarLogo,
57449
+ {
57450
+ logo,
57451
+ logoSlot,
57452
+ logoClassName,
57453
+ optixFlowConfig
57454
+ }
57455
+ ) }) }),
57395
57456
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
57396
57457
  /* @__PURE__ */ jsx(
57397
57458
  Accordion,
@@ -57402,7 +57463,13 @@ var NavbarDropdownMenu = ({
57402
57463
  children: renderMobileMenu
57403
57464
  }
57404
57465
  ),
57405
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions })
57466
+ /* @__PURE__ */ jsx(
57467
+ "div",
57468
+ {
57469
+ className: cn("flex flex-col gap-3", actionsClassName),
57470
+ children: renderAuthActions
57471
+ }
57472
+ )
57406
57473
  ] })
57407
57474
  ] })
57408
57475
  ] })
@@ -57495,29 +57562,6 @@ var NavbarCenteredMenu = ({
57495
57562
  patternOpacity,
57496
57563
  optixFlowConfig
57497
57564
  }) => {
57498
- const renderLogo = useMemo$1(() => {
57499
- if (logoSlot) return logoSlot;
57500
- if (!logo) return null;
57501
- return /* @__PURE__ */ jsxs(
57502
- Pressable,
57503
- {
57504
- href: logo.url || "/",
57505
- className: cn("flex items-center gap-2", logoClassName),
57506
- children: [
57507
- logo.src && /* @__PURE__ */ jsx(
57508
- Img,
57509
- {
57510
- src: logo.src,
57511
- className: cn("max-h-8", logo.className),
57512
- alt: logo.alt || "Logo",
57513
- optixFlowConfig
57514
- }
57515
- ),
57516
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
57517
- ]
57518
- }
57519
- );
57520
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
57521
57565
  const renderAuthActions = useMemo$1(() => {
57522
57566
  if (authActionsSlot) return authActionsSlot;
57523
57567
  if (!authActions || authActions.length === 0) return null;
@@ -57579,9 +57623,20 @@ var NavbarCenteredMenu = ({
57579
57623
  /* @__PURE__ */ jsxs(
57580
57624
  "nav",
57581
57625
  {
57582
- className: cn("hidden justify-between lg:flex", desktopNavClassName),
57626
+ className: cn(
57627
+ "hidden justify-between lg:flex",
57628
+ desktopNavClassName
57629
+ ),
57583
57630
  children: [
57584
- renderLogo,
57631
+ /* @__PURE__ */ jsx(
57632
+ NavbarLogo,
57633
+ {
57634
+ logo,
57635
+ logoSlot,
57636
+ logoClassName,
57637
+ optixFlowConfig
57638
+ }
57639
+ ),
57585
57640
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-6", children: /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsx(
57586
57641
  NavigationMenuWithoutViewport,
57587
57642
  {
@@ -57594,7 +57649,15 @@ var NavbarCenteredMenu = ({
57594
57649
  }
57595
57650
  ),
57596
57651
  /* @__PURE__ */ jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
57597
- renderLogo,
57652
+ /* @__PURE__ */ jsx(
57653
+ NavbarLogo,
57654
+ {
57655
+ logo,
57656
+ logoSlot,
57657
+ logoClassName,
57658
+ optixFlowConfig
57659
+ }
57660
+ ),
57598
57661
  /* @__PURE__ */ jsxs(Sheet, { children: [
57599
57662
  /* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
57600
57663
  Pressable,
@@ -57608,7 +57671,15 @@ var NavbarCenteredMenu = ({
57608
57671
  }
57609
57672
  ) }),
57610
57673
  /* @__PURE__ */ jsxs(SheetContent, { className: "overflow-y-auto", children: [
57611
- /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: renderLogo }) }),
57674
+ /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: /* @__PURE__ */ jsx(
57675
+ NavbarLogo,
57676
+ {
57677
+ logo,
57678
+ logoSlot,
57679
+ logoClassName,
57680
+ optixFlowConfig
57681
+ }
57682
+ ) }) }),
57612
57683
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
57613
57684
  /* @__PURE__ */ jsx(
57614
57685
  Accordion,
@@ -57619,7 +57690,13 @@ var NavbarCenteredMenu = ({
57619
57690
  children: renderMobileMenu
57620
57691
  }
57621
57692
  ),
57622
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions })
57693
+ /* @__PURE__ */ jsx(
57694
+ "div",
57695
+ {
57696
+ className: cn("flex flex-col gap-3", actionsClassName),
57697
+ children: renderAuthActions
57698
+ }
57699
+ )
57623
57700
  ] })
57624
57701
  ] })
57625
57702
  ] })
@@ -57831,43 +57908,6 @@ var NavbarMegaMenu = ({
57831
57908
  const [open, setOpen] = useState(false);
57832
57909
  const [submenuIndex, setSubmenuIndex] = useState(null);
57833
57910
  const activeSubmenu = submenuIndex !== null ? menuLinks?.[submenuIndex] : null;
57834
- const renderLogo = () => {
57835
- if (logoSlot) return logoSlot;
57836
- if (!logo) return null;
57837
- return /* @__PURE__ */ jsxs(
57838
- Pressable,
57839
- {
57840
- href: logo.url || "/",
57841
- className: cn("flex items-center h-16 py-2", logoClassName),
57842
- children: [
57843
- /* @__PURE__ */ jsx(
57844
- Img,
57845
- {
57846
- src: logo.desktopSrc,
57847
- className: cn(
57848
- "hidden h-full w-auto object-contain dark:invert md:block",
57849
- logo.className
57850
- ),
57851
- alt: logo.alt || "Logo",
57852
- optixFlowConfig
57853
- }
57854
- ),
57855
- /* @__PURE__ */ jsx(
57856
- Img,
57857
- {
57858
- src: logo.mobileSrc,
57859
- className: cn(
57860
- "h-full w-auto object-contain dark:invert md:hidden",
57861
- logo.className
57862
- ),
57863
- alt: logo.alt || "Logo",
57864
- optixFlowConfig
57865
- }
57866
- )
57867
- ]
57868
- }
57869
- );
57870
- };
57871
57911
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
57872
57912
  const renderActions = () => {
57873
57913
  if (!actions || actions.length === 0) return null;
@@ -57920,7 +57960,15 @@ var NavbarMegaMenu = ({
57920
57960
  children: [
57921
57961
  /* @__PURE__ */ jsxs("div", { className: navWrapperClasses, children: [
57922
57962
  /* @__PURE__ */ jsxs("div", { children: [
57923
- (!open || submenuIndex === null) && renderLogo(),
57963
+ (!open || submenuIndex === null) && /* @__PURE__ */ jsx(
57964
+ NavbarLogo,
57965
+ {
57966
+ logo,
57967
+ logoSlot,
57968
+ logoClassName,
57969
+ optixFlowConfig
57970
+ }
57971
+ ),
57924
57972
  open && submenuIndex !== null && /* @__PURE__ */ jsxs(
57925
57973
  Pressable,
57926
57974
  {
@@ -58106,32 +58154,6 @@ var NavbarEnterpriseMega = ({
58106
58154
  const handleMobileMenu = () => {
58107
58155
  setOpen(!open);
58108
58156
  };
58109
- const renderLogo = useMemo$1(() => {
58110
- if (logoSlot) return logoSlot;
58111
- if (!logo) return null;
58112
- return /* @__PURE__ */ jsxs(
58113
- Pressable,
58114
- {
58115
- href: logo.url || "/",
58116
- className: cn(
58117
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
58118
- logoClassName
58119
- ),
58120
- children: [
58121
- logo.src && /* @__PURE__ */ jsx(
58122
- Img,
58123
- {
58124
- src: logo.src,
58125
- alt: logo.alt || "Logo",
58126
- className: cn("inline-block size-6", logo.className),
58127
- optixFlowConfig
58128
- }
58129
- ),
58130
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
58131
- ]
58132
- }
58133
- );
58134
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
58135
58157
  const renderActions = useMemo$1(() => {
58136
58158
  if (actionsSlot) return actionsSlot;
58137
58159
  if (!actions || actions.length === 0) return null;
@@ -58182,7 +58204,15 @@ var NavbarEnterpriseMega = ({
58182
58204
  navClassName
58183
58205
  ),
58184
58206
  children: [
58185
- renderLogo,
58207
+ /* @__PURE__ */ jsx(
58208
+ NavbarLogo,
58209
+ {
58210
+ logo,
58211
+ logoSlot,
58212
+ logoClassName,
58213
+ optixFlowConfig
58214
+ }
58215
+ ),
58186
58216
  /* @__PURE__ */ jsx(
58187
58217
  NavigationMenu,
58188
58218
  {
@@ -58916,29 +58946,6 @@ var NavbarFeatureGrid = ({
58916
58946
  patternOpacity,
58917
58947
  optixFlowConfig
58918
58948
  }) => {
58919
- const renderLogo = useMemo$1(() => {
58920
- if (logoSlot) return logoSlot;
58921
- if (!logo) return null;
58922
- return /* @__PURE__ */ jsxs(
58923
- Pressable,
58924
- {
58925
- href: logo.url || "/",
58926
- className: cn("flex items-center gap-2", logoClassName),
58927
- children: [
58928
- logo.src && /* @__PURE__ */ jsx(
58929
- Img,
58930
- {
58931
- src: logo.src,
58932
- className: cn("max-h-8", logo.className),
58933
- alt: logo.alt || "Logo",
58934
- optixFlowConfig
58935
- }
58936
- ),
58937
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
58938
- ]
58939
- }
58940
- );
58941
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
58942
58949
  const renderAuthActions = useMemo$1(() => {
58943
58950
  if (authActionsSlot) return authActionsSlot;
58944
58951
  if (!authActions || authActions.length === 0) return null;
@@ -58982,7 +58989,15 @@ var NavbarFeatureGrid = ({
58982
58989
  {
58983
58990
  className: cn("flex items-center justify-between", navClassName),
58984
58991
  children: [
58985
- renderLogo,
58992
+ /* @__PURE__ */ jsx(
58993
+ NavbarLogo,
58994
+ {
58995
+ logo,
58996
+ logoSlot,
58997
+ logoClassName,
58998
+ optixFlowConfig
58999
+ }
59000
+ ),
58986
59001
  /* @__PURE__ */ jsx(
58987
59002
  NavigationMenu,
58988
59003
  {
@@ -59027,7 +59042,15 @@ var NavbarFeatureGrid = ({
59027
59042
  }
59028
59043
  ) }),
59029
59044
  /* @__PURE__ */ jsxs(SheetContent, { side: "top", className: "max-h-screen overflow-auto", children: [
59030
- /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: renderLogo }) }),
59045
+ /* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: /* @__PURE__ */ jsx(
59046
+ NavbarLogo,
59047
+ {
59048
+ logo,
59049
+ logoSlot,
59050
+ logoClassName,
59051
+ optixFlowConfig
59052
+ }
59053
+ ) }) }),
59031
59054
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col p-4", children: [
59032
59055
  features && features.length > 0 && /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "mt-4 mb-2", children: /* @__PURE__ */ jsxs(AccordionItem, { value: "solutions", className: "border-none", children: [
59033
59056
  /* @__PURE__ */ jsx(AccordionTrigger, { className: "text-base hover:no-underline", children: "Features" }),
@@ -59085,29 +59108,6 @@ var NavbarFloatingPill = ({
59085
59108
  }) => {
59086
59109
  const [isMenuOpen, setIsMenuOpen] = useState(false);
59087
59110
  const [openDropdown, setOpenDropdown] = useState(null);
59088
- const renderLogo = useMemo$1(() => {
59089
- if (logoSlot) return logoSlot;
59090
- if (!logo) return null;
59091
- return /* @__PURE__ */ jsxs(
59092
- Pressable,
59093
- {
59094
- href: logo.url || "/",
59095
- className: cn("flex shrink-0 items-center gap-2", logoClassName),
59096
- children: [
59097
- logo.src && /* @__PURE__ */ jsx(
59098
- Img,
59099
- {
59100
- src: logo.src,
59101
- className: cn("w-10", logo.className),
59102
- alt: logo.alt || "Logo",
59103
- optixFlowConfig
59104
- }
59105
- ),
59106
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
59107
- ]
59108
- }
59109
- );
59110
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
59111
59111
  const renderAuthActions = useMemo$1(() => {
59112
59112
  if (authActionsSlot) return authActionsSlot;
59113
59113
  if (!authActions || authActions.length === 0) return null;
@@ -59176,7 +59176,15 @@ var NavbarFloatingPill = ({
59176
59176
  pillWrapperClassName
59177
59177
  ),
59178
59178
  children: [
59179
- renderLogo,
59179
+ /* @__PURE__ */ jsx(
59180
+ NavbarLogo,
59181
+ {
59182
+ logo,
59183
+ logoSlot,
59184
+ logoClassName,
59185
+ optixFlowConfig
59186
+ }
59187
+ ),
59180
59188
  /* @__PURE__ */ jsx(
59181
59189
  NavigationMenu,
59182
59190
  {
@@ -59348,29 +59356,6 @@ var NavbarPlatformResources = ({
59348
59356
  optixFlowConfig
59349
59357
  }) => {
59350
59358
  const [open, setOpen] = useState(false);
59351
- const renderLogo = useMemo$1(() => {
59352
- if (logoSlot) return logoSlot;
59353
- if (!logo) return null;
59354
- return /* @__PURE__ */ jsxs(
59355
- Pressable,
59356
- {
59357
- href: logo.url || "/",
59358
- className: cn("flex items-center gap-2", logoClassName),
59359
- children: [
59360
- logo.src && /* @__PURE__ */ jsx(
59361
- Img,
59362
- {
59363
- src: logo.src,
59364
- className: cn("max-h-8", logo.className),
59365
- alt: logo.alt || "Logo",
59366
- optixFlowConfig
59367
- }
59368
- ),
59369
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
59370
- ]
59371
- }
59372
- );
59373
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
59374
59359
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
59375
59360
  const renderDropdownContent3 = (link) => {
59376
59361
  const layout = link.layout || "simple-list";
@@ -59657,7 +59642,15 @@ var NavbarPlatformResources = ({
59657
59642
  className: cn("min-w-full", navigationMenuClassName),
59658
59643
  children: [
59659
59644
  /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
59660
- renderLogo,
59645
+ /* @__PURE__ */ jsx(
59646
+ NavbarLogo,
59647
+ {
59648
+ logo,
59649
+ logoSlot,
59650
+ logoClassName,
59651
+ optixFlowConfig
59652
+ }
59653
+ ),
59661
59654
  /* @__PURE__ */ jsx(
59662
59655
  NavigationMenuList,
59663
59656
  {
@@ -60255,32 +60248,6 @@ var NavbarDarkIcons = ({
60255
60248
  const handleMobileMenu = () => {
60256
60249
  setOpen(!open);
60257
60250
  };
60258
- const renderLogo = useMemo$1(() => {
60259
- if (logoSlot) return logoSlot;
60260
- if (!logo) return null;
60261
- return /* @__PURE__ */ jsxs(
60262
- Pressable,
60263
- {
60264
- href: logo.url || "/",
60265
- className: cn(
60266
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
60267
- logoClassName
60268
- ),
60269
- children: [
60270
- logo.src && /* @__PURE__ */ jsx(
60271
- Img,
60272
- {
60273
- src: logo.src,
60274
- alt: logo.alt || "Logo",
60275
- className: cn("inline-block size-8 invert", logo.className),
60276
- optixFlowConfig
60277
- }
60278
- ),
60279
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
60280
- ]
60281
- }
60282
- );
60283
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
60284
60251
  const renderAuthActions = useMemo$1(() => {
60285
60252
  if (authActionsSlot) return authActionsSlot;
60286
60253
  if (!authActions || authActions.length === 0) return null;
@@ -60354,7 +60321,15 @@ var NavbarDarkIcons = ({
60354
60321
  navClassName
60355
60322
  ),
60356
60323
  children: [
60357
- renderLogo,
60324
+ /* @__PURE__ */ jsx(
60325
+ NavbarLogo,
60326
+ {
60327
+ logo,
60328
+ logoSlot,
60329
+ logoClassName,
60330
+ optixFlowConfig
60331
+ }
60332
+ ),
60358
60333
  /* @__PURE__ */ jsx(
60359
60334
  NavigationMenu,
60360
60335
  {
@@ -60618,32 +60593,6 @@ var NavbarAnimatedPreview = ({
60618
60593
  const handleMobileMenu = () => {
60619
60594
  setOpen(!open);
60620
60595
  };
60621
- const renderLogo = useMemo$1(() => {
60622
- if (logoSlot) return logoSlot;
60623
- if (!logo) return null;
60624
- return /* @__PURE__ */ jsxs(
60625
- Pressable,
60626
- {
60627
- href: logo.url || "/",
60628
- className: cn(
60629
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
60630
- logoClassName
60631
- ),
60632
- children: [
60633
- logo.src && /* @__PURE__ */ jsx(
60634
- Img,
60635
- {
60636
- src: logo.src,
60637
- alt: logo.alt || "Logo",
60638
- className: cn("inline-block size-6", logo.className),
60639
- optixFlowConfig
60640
- }
60641
- ),
60642
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
60643
- ]
60644
- }
60645
- );
60646
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
60647
60596
  const renderActions = useMemo$1(() => {
60648
60597
  if (actionsSlot) return actionsSlot;
60649
60598
  if (!actions || actions.length === 0) return null;
@@ -60719,7 +60668,15 @@ var NavbarAnimatedPreview = ({
60719
60668
  "relative z-999 grid w-full grid-cols-2 items-center justify-between gap-8 xl:grid-cols-3"
60720
60669
  ),
60721
60670
  children: [
60722
- renderLogo,
60671
+ /* @__PURE__ */ jsx(
60672
+ NavbarLogo,
60673
+ {
60674
+ logo,
60675
+ logoSlot,
60676
+ logoClassName,
60677
+ optixFlowConfig
60678
+ }
60679
+ ),
60723
60680
  /* @__PURE__ */ jsx("div", { className: cn("hidden xl:flex", navClassName), children: renderNavigation }),
60724
60681
  /* @__PURE__ */ jsxs("div", { className: cn("justify-self-end", actionsClassName), children: [
60725
60682
  /* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: renderActions }),
@@ -62034,29 +61991,6 @@ var NavbarEducationPlatform = ({
62034
61991
  optixFlowConfig
62035
61992
  }) => {
62036
61993
  const [isOpen, setIsOpen] = useState(false);
62037
- const renderLogo = useMemo$1(() => {
62038
- if (logoSlot) return logoSlot;
62039
- if (!logo) return null;
62040
- return /* @__PURE__ */ jsxs(
62041
- Pressable,
62042
- {
62043
- href: logo.url || "/",
62044
- className: cn("flex items-center gap-2", logoClassName),
62045
- children: [
62046
- logo.src && /* @__PURE__ */ jsx(
62047
- Img,
62048
- {
62049
- src: logo.src,
62050
- alt: logo.alt || "Logo",
62051
- className: cn("h-8 dark:invert", logo.className),
62052
- optixFlowConfig
62053
- }
62054
- ),
62055
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
62056
- ]
62057
- }
62058
- );
62059
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
62060
61994
  const renderAuthActions = useMemo$1(() => {
62061
61995
  if (authActionsSlot) return authActionsSlot;
62062
61996
  if (!authActions || authActions.length === 0) return null;
@@ -62108,7 +62042,15 @@ var NavbarEducationPlatform = ({
62108
62042
  ),
62109
62043
  children: [
62110
62044
  /* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
62111
- renderLogo,
62045
+ /* @__PURE__ */ jsx(
62046
+ NavbarLogo,
62047
+ {
62048
+ logo,
62049
+ logoSlot,
62050
+ logoClassName,
62051
+ optixFlowConfig
62052
+ }
62053
+ ),
62112
62054
  /* @__PURE__ */ jsx(
62113
62055
  "div",
62114
62056
  {
@@ -62943,29 +62885,6 @@ var NavbarSimpleLinks = ({
62943
62885
  window.addEventListener("resize", updateIndicator);
62944
62886
  return () => window.removeEventListener("resize", updateIndicator);
62945
62887
  }, [activeItem]);
62946
- const renderLogo = useMemo$1(() => {
62947
- if (logoSlot) return logoSlot;
62948
- if (!logo) return null;
62949
- return /* @__PURE__ */ jsxs(
62950
- Pressable,
62951
- {
62952
- href: logo.url || "/",
62953
- className: cn("flex items-center gap-2", logoClassName),
62954
- children: [
62955
- logo.src && /* @__PURE__ */ jsx(
62956
- Img,
62957
- {
62958
- src: logo.src,
62959
- className: cn("max-h-8 w-8", logo.className),
62960
- alt: logo.alt || "Logo",
62961
- optixFlowConfig
62962
- }
62963
- ),
62964
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
62965
- ]
62966
- }
62967
- );
62968
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
62969
62888
  const renderNavItems = useMemo$1(() => {
62970
62889
  if (navItemsSlot) return navItemsSlot;
62971
62890
  if (!navItems || navItems.length === 0) return null;
@@ -63037,7 +62956,15 @@ var NavbarSimpleLinks = ({
63037
62956
  navClassName
63038
62957
  ),
63039
62958
  children: [
63040
- renderLogo,
62959
+ /* @__PURE__ */ jsx(
62960
+ NavbarLogo,
62961
+ {
62962
+ logo,
62963
+ logoSlot,
62964
+ logoClassName,
62965
+ optixFlowConfig
62966
+ }
62967
+ ),
63041
62968
  /* @__PURE__ */ jsx(
63042
62969
  NavigationMenu,
63043
62970
  {
@@ -63363,29 +63290,6 @@ var NavbarIconLinks = ({
63363
63290
  }) => {
63364
63291
  const [activeItem, setActiveItem] = useState(navItems?.[0]?.title || "");
63365
63292
  const [isOpen, setIsOpen] = useState(false);
63366
- const renderLogo = useMemo$1(() => {
63367
- if (logoSlot) return logoSlot;
63368
- if (!logo) return null;
63369
- return /* @__PURE__ */ jsxs(
63370
- Pressable,
63371
- {
63372
- href: logo.url || "/",
63373
- className: cn("flex items-center gap-2", logoClassName),
63374
- children: [
63375
- logo.src && /* @__PURE__ */ jsx(
63376
- Img,
63377
- {
63378
- src: logo.src,
63379
- className: cn("h-8", logo.className),
63380
- alt: logo.alt || "Logo",
63381
- optixFlowConfig
63382
- }
63383
- ),
63384
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
63385
- ]
63386
- }
63387
- );
63388
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
63389
63293
  const renderAuthActions = useMemo$1(() => {
63390
63294
  if (authActionsSlot) return authActionsSlot;
63391
63295
  if (!authActions || authActions.length === 0) return null;
@@ -63449,7 +63353,15 @@ var NavbarIconLinks = ({
63449
63353
  ),
63450
63354
  children: [
63451
63355
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6", children: [
63452
- renderLogo,
63356
+ /* @__PURE__ */ jsx(
63357
+ NavbarLogo,
63358
+ {
63359
+ logo,
63360
+ logoSlot,
63361
+ logoClassName,
63362
+ optixFlowConfig
63363
+ }
63364
+ ),
63453
63365
  /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx(
63454
63366
  NavigationMenu,
63455
63367
  {
@@ -63835,29 +63747,6 @@ var NavbarFullscreenMenu = ({
63835
63747
  }) => {
63836
63748
  const [isOpen, setIsOpen] = useState(false);
63837
63749
  const toggleMenu = () => setIsOpen(!isOpen);
63838
- const renderLogo = useMemo$1(() => {
63839
- if (logoSlot) return logoSlot;
63840
- if (!logo) return null;
63841
- return /* @__PURE__ */ jsxs(
63842
- Pressable,
63843
- {
63844
- href: logo.url || "/",
63845
- className: cn("flex items-center gap-2", logoClassName),
63846
- children: [
63847
- logo.src && /* @__PURE__ */ jsx(
63848
- Img,
63849
- {
63850
- src: logo.src,
63851
- className: cn("h-9", logo.className),
63852
- alt: logo.alt || "Logo",
63853
- optixFlowConfig
63854
- }
63855
- ),
63856
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
63857
- ]
63858
- }
63859
- );
63860
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
63861
63750
  const renderMenuItems = useMemo$1(() => {
63862
63751
  if (menuSlot) return menuSlot;
63863
63752
  if (!menuItems || menuItems.length === 0) return null;
@@ -63921,7 +63810,15 @@ var NavbarFullscreenMenu = ({
63921
63810
  headerClassName
63922
63811
  ),
63923
63812
  children: [
63924
- /* @__PURE__ */ jsx("div", { className: "z-50", children: renderLogo }),
63813
+ /* @__PURE__ */ jsx("div", { className: "z-50", children: /* @__PURE__ */ jsx(
63814
+ NavbarLogo,
63815
+ {
63816
+ logo,
63817
+ logoSlot,
63818
+ logoClassName,
63819
+ optixFlowConfig
63820
+ }
63821
+ ) }),
63925
63822
  /* @__PURE__ */ jsx("div", { className: "z-50", children: /* @__PURE__ */ jsxs(
63926
63823
  "button",
63927
63824
  {