@opensite/ui 0.9.1 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/link-page-bento-layout.cjs +56 -15
  2. package/dist/link-page-bento-layout.js +56 -15
  3. package/dist/link-tree-block.cjs +2 -87
  4. package/dist/link-tree-block.js +2 -87
  5. package/dist/navbar-animated-preview.cjs +1 -1
  6. package/dist/navbar-animated-preview.js +1 -1
  7. package/dist/navbar-centered-menu.cjs +1 -1
  8. package/dist/navbar-centered-menu.js +1 -1
  9. package/dist/navbar-dark-icons.cjs +1 -1
  10. package/dist/navbar-dark-icons.js +1 -1
  11. package/dist/navbar-dropdown-menu.cjs +1 -1
  12. package/dist/navbar-dropdown-menu.js +1 -1
  13. package/dist/navbar-education-platform.cjs +1 -1
  14. package/dist/navbar-education-platform.js +1 -1
  15. package/dist/navbar-enterprise-mega.cjs +11 -9
  16. package/dist/navbar-enterprise-mega.js +11 -9
  17. package/dist/navbar-feature-grid.cjs +1 -1
  18. package/dist/navbar-feature-grid.js +1 -1
  19. package/dist/navbar-floating-pill.cjs +1 -1
  20. package/dist/navbar-floating-pill.js +1 -1
  21. package/dist/navbar-fullscreen-menu.cjs +1 -1
  22. package/dist/navbar-fullscreen-menu.js +1 -1
  23. package/dist/navbar-icon-links.cjs +1 -1
  24. package/dist/navbar-icon-links.js +1 -1
  25. package/dist/navbar-image-preview.cjs +1 -1
  26. package/dist/navbar-image-preview.js +1 -1
  27. package/dist/navbar-mega-menu.cjs +17 -5
  28. package/dist/navbar-mega-menu.js +17 -5
  29. package/dist/navbar-multi-column-groups.cjs +1 -1
  30. package/dist/navbar-multi-column-groups.js +1 -1
  31. package/dist/navbar-platform-resources.cjs +1 -1
  32. package/dist/navbar-platform-resources.js +1 -1
  33. package/dist/navbar-search-focused.cjs +1 -1
  34. package/dist/navbar-search-focused.js +1 -1
  35. package/dist/navbar-sidebar-mobile.cjs +1 -1
  36. package/dist/navbar-sidebar-mobile.js +1 -1
  37. package/dist/navbar-simple-links.cjs +1 -1
  38. package/dist/navbar-simple-links.js +1 -1
  39. package/dist/navbar-split-cta.cjs +1 -1
  40. package/dist/navbar-split-cta.js +1 -1
  41. package/dist/navbar-sticky-compact.cjs +1 -1
  42. package/dist/navbar-sticky-compact.js +1 -1
  43. package/dist/navbar-tabbed-sections.cjs +1 -1
  44. package/dist/navbar-tabbed-sections.js +1 -1
  45. package/dist/navbar-transparent-overlay.cjs +1 -1
  46. package/dist/navbar-transparent-overlay.js +1 -1
  47. package/dist/registry.cjs +85 -37
  48. package/dist/registry.js +85 -37
  49. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -57234,7 +57234,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
57234
57234
  // Navigation wrapper classes (for border and shadow)
57235
57235
  navWrapperClasses: cn(
57236
57236
  "w-full",
57237
- isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
57237
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
57238
57238
  ),
57239
57239
  // Section container configuration for full-width navbars
57240
57240
  sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
@@ -57878,13 +57878,16 @@ var NavbarMegaMenu = ({
57878
57878
  Pressable,
57879
57879
  {
57880
57880
  href: logo.url || "/",
57881
- className: cn("flex items-center gap-2", logoClassName),
57881
+ className: cn("flex items-center h-16 py-2", logoClassName),
57882
57882
  children: [
57883
57883
  /* @__PURE__ */ jsxRuntime.jsx(
57884
57884
  img.Img,
57885
57885
  {
57886
57886
  src: logo.desktopSrc,
57887
- className: cn("hidden h-7 dark:invert md:block", logo.className),
57887
+ className: cn(
57888
+ "hidden h-full w-auto object-contain dark:invert md:block",
57889
+ logo.className
57890
+ ),
57888
57891
  alt: logo.alt || "Logo",
57889
57892
  optixFlowConfig
57890
57893
  }
@@ -57893,7 +57896,10 @@ var NavbarMegaMenu = ({
57893
57896
  img.Img,
57894
57897
  {
57895
57898
  src: logo.mobileSrc,
57896
- className: cn("h-7 dark:invert md:hidden", logo.className),
57899
+ className: cn(
57900
+ "h-full w-auto object-contain dark:invert md:hidden",
57901
+ logo.className
57902
+ ),
57897
57903
  alt: logo.alt || "Logo",
57898
57904
  optixFlowConfig
57899
57905
  }
@@ -58048,7 +58054,13 @@ var NavbarMegaMenu = ({
58048
58054
  onClick: () => setSubmenuIndex(index),
58049
58055
  children: [
58050
58056
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: link.label }),
58051
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 }) })
58057
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
58058
+ DynamicIcon,
58059
+ {
58060
+ name: "lucide/chevron-right",
58061
+ size: 16
58062
+ }
58063
+ ) })
58052
58064
  ]
58053
58065
  },
58054
58066
  `mobile-menu-link-${index}`
@@ -58264,6 +58276,7 @@ var NavbarEnterpriseMega = ({
58264
58276
  MobileNavigationMenu,
58265
58277
  {
58266
58278
  open,
58279
+ setOpen,
58267
58280
  menuLinks: menuLinks ?? [],
58268
58281
  actionsClassName,
58269
58282
  actions,
@@ -58283,7 +58296,7 @@ var DesktopMenuItem2 = ({
58283
58296
  if (hasDropdown) {
58284
58297
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { value: `${index}`, children: [
58285
58298
  /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
58286
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "rounded-xl! border-0! p-0!", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-dvw px-8 pt-6 pb-12", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: renderDropdownContent(
58299
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "!rounded-xl !border-0 !p-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-dvw px-8 pt-6 pb-12", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: renderDropdownContent(
58287
58300
  { ...item, layout: effectiveLayout },
58288
58301
  optixFlowConfig
58289
58302
  ) }) }) })
@@ -58381,7 +58394,7 @@ var SolutionsMenu = ({
58381
58394
  ] }),
58382
58395
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-xs text-primary-foreground/85", children: featuredHeroCard.description })
58383
58396
  ] }),
58384
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-2/1 overflow-clip rounded-t pl-6 lg:max-w-64 lg:pl-0 xl:max-w-96", children: /* @__PURE__ */ jsxRuntime.jsx(
58397
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-2/1 overflow-clip rounded-t pl-6 lg:max-w-80 lg:pl-0 xl:max-w-[30rem]", children: /* @__PURE__ */ jsxRuntime.jsx(
58385
58398
  img.Img,
58386
58399
  {
58387
58400
  src: featuredHeroCard.image,
@@ -58472,7 +58485,7 @@ var ProductsMenu = ({
58472
58485
  featuredHeroCard,
58473
58486
  optixFlowConfig
58474
58487
  }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-y-12 lg:flex lg:space-x-8", children: [
58475
- featuredHeroCard && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full shrink-0 lg:max-w-[18rem]", children: /* @__PURE__ */ jsxRuntime.jsx(
58488
+ featuredHeroCard && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full shrink-0 lg:max-w-[24rem]", children: /* @__PURE__ */ jsxRuntime.jsx(
58476
58489
  Pressable,
58477
58490
  {
58478
58491
  href: featuredHeroCard.href,
@@ -58481,7 +58494,7 @@ var ProductsMenu = ({
58481
58494
  featuredHeroCard.variant === "accent" ? "bg-accent text-accent-foreground" : "bg-primary"
58482
58495
  ),
58483
58496
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex w-full flex-col text-left", children: [
58484
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex aspect-2/1 max-h-44 w-full flex-1 justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
58497
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex aspect-2/1 max-h-64 w-full flex-1 justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
58485
58498
  img.Img,
58486
58499
  {
58487
58500
  src: featuredHeroCard.image,
@@ -58515,12 +58528,12 @@ var ProductsMenu = ({
58515
58528
  href: product.href,
58516
58529
  className: "group flex flex-row items-center space-x-6 border-b border-border py-5 text-left sm:py-7 lg:space-x-4 lg:border-0 lg:py-2",
58517
58530
  children: [
58518
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex aspect-square w-6 shrink-0 items-center justify-center overflow-clip rounded md:size-9 md:p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
58531
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex aspect-square w-16 shrink-0 items-center justify-center overflow-clip rounded md:size-20 md:p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
58519
58532
  img.Img,
58520
58533
  {
58521
58534
  src: product.image,
58522
58535
  alt: product.title,
58523
- className: "dark:invert",
58536
+ className: "object-cover",
58524
58537
  optixFlowConfig
58525
58538
  }
58526
58539
  ) }),
@@ -58847,6 +58860,7 @@ var renderMobileDropdownContent = (item) => {
58847
58860
  };
58848
58861
  var MobileNavigationMenu = ({
58849
58862
  open,
58863
+ setOpen,
58850
58864
  menuLinks,
58851
58865
  actionsClassName,
58852
58866
  actions,
@@ -58881,12 +58895,12 @@ var MobileNavigationMenu = ({
58881
58895
  );
58882
58896
  });
58883
58897
  }, [actionsSlot, actions]);
58884
- return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open, children: /* @__PURE__ */ jsxRuntime.jsx(
58898
+ return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntime.jsx(
58885
58899
  SheetContent,
58886
58900
  {
58887
58901
  "aria-describedby": void 0,
58888
58902
  side: "top",
58889
- className: "inset-0 z-998 h-dvh w-full bg-background pt-16 [&>button]:hidden",
58903
+ className: "inset-0 z-998 h-dvh w-full bg-background pt-16",
58890
58904
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full overflow-y-auto pt-4 pb-20", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container", children: [
58891
58905
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -m-px h-px w-px overflow-hidden border-0 mask-clip-border p-0 text-nowrap whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "text-primary", children: "Mobile Navigation" }) }),
58892
58906
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-4", actionsClassName), children: renderActions }),
@@ -96145,7 +96159,6 @@ function LinkTreeBlock({
96145
96159
  {
96146
96160
  className: cn(
96147
96161
  "max-w-xs text-balance text-sm",
96148
- getTextColor(resolvedBackground, "muted"),
96149
96162
  taglineClassName
96150
96163
  ),
96151
96164
  children: brandTagline
@@ -96166,7 +96179,6 @@ function LinkTreeBlock({
96166
96179
  verifiedIcon,
96167
96180
  verifiedIconClassName,
96168
96181
  brandName,
96169
- resolvedBackground,
96170
96182
  nameClassName,
96171
96183
  brandTagline,
96172
96184
  taglineClassName
@@ -96244,7 +96256,7 @@ function LinkTreeBlock({
96244
96256
  {
96245
96257
  className: cn(
96246
96258
  "mt-0.5 block truncate text-xs",
96247
- isFeatured ? "text-primary-foreground/70" : getTextColor(resolvedBackground, "muted"),
96259
+ isFeatured ? "text-primary-foreground/70" : "",
96248
96260
  linkDescriptionClassName
96249
96261
  ),
96250
96262
  children: description
@@ -96266,7 +96278,7 @@ function LinkTreeBlock({
96266
96278
  size: 16,
96267
96279
  className: cn(
96268
96280
  "shrink-0 transition-transform group-hover:translate-x-0.5",
96269
- isFeatured ? "text-primary-foreground/70" : getTextColor(resolvedBackground, "muted"),
96281
+ isFeatured ? "text-primary-foreground/70" : "",
96270
96282
  linkChevronClassName
96271
96283
  )
96272
96284
  }
@@ -96281,7 +96293,6 @@ function LinkTreeBlock({
96281
96293
  links,
96282
96294
  linksClassName,
96283
96295
  linkIconClassName,
96284
- resolvedBackground,
96285
96296
  linkClassName,
96286
96297
  featuredLinkClassName,
96287
96298
  linkLabelClassName,
@@ -96315,7 +96326,6 @@ function LinkTreeBlock({
96315
96326
  "group relative aspect-square overflow-hidden rounded-lg cursor-pointer",
96316
96327
  "transition-all duration-200 hover:scale-[1.02]",
96317
96328
  "ring-1",
96318
- getBorderColor(resolvedBackground, "muted"),
96319
96329
  mediaGalleryItemClassName,
96320
96330
  item.className
96321
96331
  ),
@@ -96433,8 +96443,6 @@ function LinkTreeBlock({
96433
96443
  className: cn(
96434
96444
  "flex h-12 w-12 items-center justify-center rounded-full p-2.5 transition-all duration-200",
96435
96445
  "hover:scale-110 active:scale-95",
96436
- getNestedCardBg(resolvedBackground),
96437
- getNestedCardTextColor(resolvedBackground),
96438
96446
  socialLinkClassName,
96439
96447
  social.className
96440
96448
  ),
@@ -96450,7 +96458,6 @@ function LinkTreeBlock({
96450
96458
  socialLinks,
96451
96459
  socialLinksClassName,
96452
96460
  socialIconClassName,
96453
- resolvedBackground,
96454
96461
  socialLinkClassName
96455
96462
  ]);
96456
96463
  const renderFooter = React52.useMemo(() => {
@@ -97614,7 +97621,14 @@ function LinkPageBentoLayout({
97614
97621
  social.id ?? index
97615
97622
  );
97616
97623
  }) });
97617
- }, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName, resolvedBackground, socialLinkClassName]);
97624
+ }, [
97625
+ socialLinksSlot,
97626
+ socialLinks,
97627
+ socialLinksClassName,
97628
+ socialIconClassName,
97629
+ resolvedBackground,
97630
+ socialLinkClassName
97631
+ ]);
97618
97632
  const renderFeaturedLinks = React52.useMemo(() => {
97619
97633
  if (featuredLinksSlot) return featuredLinksSlot;
97620
97634
  if (!featuredLinks || featuredLinks.length === 0) return null;
@@ -97723,7 +97737,18 @@ function LinkPageBentoLayout({
97723
97737
  link.id ?? index
97724
97738
  );
97725
97739
  });
97726
- }, [featuredLinksSlot, featuredLinks, resolvedBackground, featuredLinkClassName, featuredLinkImageClassName, optixFlowConfig, featuredLinkOverlayClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName]);
97740
+ }, [
97741
+ featuredLinksSlot,
97742
+ featuredLinks,
97743
+ resolvedBackground,
97744
+ featuredLinkClassName,
97745
+ featuredLinkImageClassName,
97746
+ optixFlowConfig,
97747
+ featuredLinkOverlayClassName,
97748
+ featuredLinkIconClassName,
97749
+ featuredLinkLabelClassName,
97750
+ featuredLinkDescriptionClassName
97751
+ ]);
97727
97752
  const renderRegularLinks = React52.useMemo(() => {
97728
97753
  if (regularLinksSlot) return regularLinksSlot;
97729
97754
  if (!regularLinks || regularLinks.length === 0) return null;
@@ -97800,7 +97825,15 @@ function LinkPageBentoLayout({
97800
97825
  link.id ?? index
97801
97826
  );
97802
97827
  });
97803
- }, [regularLinksSlot, regularLinks, resolvedBackground, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName]);
97828
+ }, [
97829
+ regularLinksSlot,
97830
+ regularLinks,
97831
+ resolvedBackground,
97832
+ regularLinkClassName,
97833
+ regularLinkIconWrapperClassName,
97834
+ regularLinkIconClassName,
97835
+ regularLinkLabelClassName
97836
+ ]);
97804
97837
  const renderLinks = React52.useMemo(() => {
97805
97838
  if (linksSlot) return linksSlot;
97806
97839
  if (!links || links.length === 0) return null;
@@ -97810,7 +97843,19 @@ function LinkPageBentoLayout({
97810
97843
  hasFeatured && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-2 gap-3", featuredLinksClassName), children: renderFeaturedLinks }),
97811
97844
  hasRegular && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-2 gap-3", regularLinksClassName), children: renderRegularLinks })
97812
97845
  ] });
97813
- }, [linksSlot, links, linksClassName, featuredLinksSlot, featuredLinks, featuredLinksClassName, renderFeaturedLinks, regularLinksSlot, regularLinks, regularLinksClassName, renderRegularLinks]);
97846
+ }, [
97847
+ linksSlot,
97848
+ links,
97849
+ linksClassName,
97850
+ featuredLinksSlot,
97851
+ featuredLinks,
97852
+ featuredLinksClassName,
97853
+ renderFeaturedLinks,
97854
+ regularLinksSlot,
97855
+ regularLinks,
97856
+ regularLinksClassName,
97857
+ renderRegularLinks
97858
+ ]);
97814
97859
  const renderProfile = React52.useMemo(() => {
97815
97860
  if (profileSlot) return profileSlot;
97816
97861
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -97840,16 +97885,7 @@ function LinkPageBentoLayout({
97840
97885
  }
97841
97886
  ),
97842
97887
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
97843
- name && (typeof name === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
97844
- "h1",
97845
- {
97846
- className: cn(
97847
- "text-xl font-bold",
97848
- nameClassName
97849
- ),
97850
- children: name
97851
- }
97852
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: nameClassName, children: name })),
97888
+ name && (typeof name === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-xl font-bold", nameClassName), children: name }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: nameClassName, children: name })),
97853
97889
  bio && (typeof bio === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
97854
97890
  "p",
97855
97891
  {
@@ -97866,7 +97902,19 @@ function LinkPageBentoLayout({
97866
97902
  ]
97867
97903
  }
97868
97904
  );
97869
- }, [profileSlot, resolvedAvatar, resolvedBackground, avatarClassName, optixFlowConfig, name, nameClassName, bio, bioClassName, renderSocialLinks, headerClassName]);
97905
+ }, [
97906
+ profileSlot,
97907
+ resolvedAvatar,
97908
+ resolvedBackground,
97909
+ avatarClassName,
97910
+ optixFlowConfig,
97911
+ name,
97912
+ nameClassName,
97913
+ bio,
97914
+ bioClassName,
97915
+ renderSocialLinks,
97916
+ headerClassName
97917
+ ]);
97870
97918
  const renderFooter = React52.useMemo(() => {
97871
97919
  if (footerSlot) return footerSlot;
97872
97920
  if (!footerAction) return null;
package/dist/registry.js CHANGED
@@ -57194,7 +57194,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
57194
57194
  // Navigation wrapper classes (for border and shadow)
57195
57195
  navWrapperClasses: cn(
57196
57196
  "w-full",
57197
- isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
57197
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
57198
57198
  ),
57199
57199
  // Section container configuration for full-width navbars
57200
57200
  sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
@@ -57838,13 +57838,16 @@ var NavbarMegaMenu = ({
57838
57838
  Pressable,
57839
57839
  {
57840
57840
  href: logo.url || "/",
57841
- className: cn("flex items-center gap-2", logoClassName),
57841
+ className: cn("flex items-center h-16 py-2", logoClassName),
57842
57842
  children: [
57843
57843
  /* @__PURE__ */ jsx(
57844
57844
  Img,
57845
57845
  {
57846
57846
  src: logo.desktopSrc,
57847
- className: cn("hidden h-7 dark:invert md:block", logo.className),
57847
+ className: cn(
57848
+ "hidden h-full w-auto object-contain dark:invert md:block",
57849
+ logo.className
57850
+ ),
57848
57851
  alt: logo.alt || "Logo",
57849
57852
  optixFlowConfig
57850
57853
  }
@@ -57853,7 +57856,10 @@ var NavbarMegaMenu = ({
57853
57856
  Img,
57854
57857
  {
57855
57858
  src: logo.mobileSrc,
57856
- className: cn("h-7 dark:invert md:hidden", logo.className),
57859
+ className: cn(
57860
+ "h-full w-auto object-contain dark:invert md:hidden",
57861
+ logo.className
57862
+ ),
57857
57863
  alt: logo.alt || "Logo",
57858
57864
  optixFlowConfig
57859
57865
  }
@@ -58008,7 +58014,13 @@ var NavbarMegaMenu = ({
58008
58014
  onClick: () => setSubmenuIndex(index),
58009
58015
  children: [
58010
58016
  /* @__PURE__ */ jsx("span", { className: "flex-1", children: link.label }),
58011
- /* @__PURE__ */ jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 }) })
58017
+ /* @__PURE__ */ jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsx(
58018
+ DynamicIcon,
58019
+ {
58020
+ name: "lucide/chevron-right",
58021
+ size: 16
58022
+ }
58023
+ ) })
58012
58024
  ]
58013
58025
  },
58014
58026
  `mobile-menu-link-${index}`
@@ -58224,6 +58236,7 @@ var NavbarEnterpriseMega = ({
58224
58236
  MobileNavigationMenu,
58225
58237
  {
58226
58238
  open,
58239
+ setOpen,
58227
58240
  menuLinks: menuLinks ?? [],
58228
58241
  actionsClassName,
58229
58242
  actions,
@@ -58243,7 +58256,7 @@ var DesktopMenuItem2 = ({
58243
58256
  if (hasDropdown) {
58244
58257
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
58245
58258
  /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
58246
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "rounded-xl! border-0! p-0!", children: /* @__PURE__ */ jsx("div", { className: "w-dvw px-8 pt-6 pb-12", children: /* @__PURE__ */ jsx("div", { className: "container", children: renderDropdownContent(
58259
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "!rounded-xl !border-0 !p-0", children: /* @__PURE__ */ jsx("div", { className: "w-dvw px-8 pt-6 pb-12", children: /* @__PURE__ */ jsx("div", { className: "container", children: renderDropdownContent(
58247
58260
  { ...item, layout: effectiveLayout },
58248
58261
  optixFlowConfig
58249
58262
  ) }) }) })
@@ -58341,7 +58354,7 @@ var SolutionsMenu = ({
58341
58354
  ] }),
58342
58355
  /* @__PURE__ */ jsx("p", { className: "mt-2 text-xs text-primary-foreground/85", children: featuredHeroCard.description })
58343
58356
  ] }),
58344
- /* @__PURE__ */ jsx("div", { className: "relative aspect-2/1 overflow-clip rounded-t pl-6 lg:max-w-64 lg:pl-0 xl:max-w-96", children: /* @__PURE__ */ jsx(
58357
+ /* @__PURE__ */ jsx("div", { className: "relative aspect-2/1 overflow-clip rounded-t pl-6 lg:max-w-80 lg:pl-0 xl:max-w-[30rem]", children: /* @__PURE__ */ jsx(
58345
58358
  Img,
58346
58359
  {
58347
58360
  src: featuredHeroCard.image,
@@ -58432,7 +58445,7 @@ var ProductsMenu = ({
58432
58445
  featuredHeroCard,
58433
58446
  optixFlowConfig
58434
58447
  }) => /* @__PURE__ */ jsxs("div", { className: "grid gap-y-12 lg:flex lg:space-x-8", children: [
58435
- featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 lg:max-w-[18rem]", children: /* @__PURE__ */ jsx(
58448
+ featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 lg:max-w-[24rem]", children: /* @__PURE__ */ jsx(
58436
58449
  Pressable,
58437
58450
  {
58438
58451
  href: featuredHeroCard.href,
@@ -58441,7 +58454,7 @@ var ProductsMenu = ({
58441
58454
  featuredHeroCard.variant === "accent" ? "bg-accent text-accent-foreground" : "bg-primary"
58442
58455
  ),
58443
58456
  children: /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex w-full flex-col text-left", children: [
58444
- /* @__PURE__ */ jsx("div", { className: "relative flex aspect-2/1 max-h-44 w-full flex-1 justify-center", children: /* @__PURE__ */ jsx(
58457
+ /* @__PURE__ */ jsx("div", { className: "relative flex aspect-2/1 max-h-64 w-full flex-1 justify-center", children: /* @__PURE__ */ jsx(
58445
58458
  Img,
58446
58459
  {
58447
58460
  src: featuredHeroCard.image,
@@ -58475,12 +58488,12 @@ var ProductsMenu = ({
58475
58488
  href: product.href,
58476
58489
  className: "group flex flex-row items-center space-x-6 border-b border-border py-5 text-left sm:py-7 lg:space-x-4 lg:border-0 lg:py-2",
58477
58490
  children: [
58478
- /* @__PURE__ */ jsx("div", { className: "relative flex aspect-square w-6 shrink-0 items-center justify-center overflow-clip rounded md:size-9 md:p-2", children: /* @__PURE__ */ jsx(
58491
+ /* @__PURE__ */ jsx("div", { className: "relative flex aspect-square w-16 shrink-0 items-center justify-center overflow-clip rounded md:size-20 md:p-2", children: /* @__PURE__ */ jsx(
58479
58492
  Img,
58480
58493
  {
58481
58494
  src: product.image,
58482
58495
  alt: product.title,
58483
- className: "dark:invert",
58496
+ className: "object-cover",
58484
58497
  optixFlowConfig
58485
58498
  }
58486
58499
  ) }),
@@ -58807,6 +58820,7 @@ var renderMobileDropdownContent = (item) => {
58807
58820
  };
58808
58821
  var MobileNavigationMenu = ({
58809
58822
  open,
58823
+ setOpen,
58810
58824
  menuLinks,
58811
58825
  actionsClassName,
58812
58826
  actions,
@@ -58841,12 +58855,12 @@ var MobileNavigationMenu = ({
58841
58855
  );
58842
58856
  });
58843
58857
  }, [actionsSlot, actions]);
58844
- return /* @__PURE__ */ jsx(Sheet, { open, children: /* @__PURE__ */ jsx(
58858
+ return /* @__PURE__ */ jsx(Sheet, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsx(
58845
58859
  SheetContent,
58846
58860
  {
58847
58861
  "aria-describedby": void 0,
58848
58862
  side: "top",
58849
- className: "inset-0 z-998 h-dvh w-full bg-background pt-16 [&>button]:hidden",
58863
+ className: "inset-0 z-998 h-dvh w-full bg-background pt-16",
58850
58864
  children: /* @__PURE__ */ jsx("div", { className: "h-full overflow-y-auto pt-4 pb-20", children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
58851
58865
  /* @__PURE__ */ jsx("div", { className: "absolute -m-px h-px w-px overflow-hidden border-0 mask-clip-border p-0 text-nowrap whitespace-nowrap", children: /* @__PURE__ */ jsx(SheetTitle, { className: "text-primary", children: "Mobile Navigation" }) }),
58852
58866
  /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-4", actionsClassName), children: renderActions }),
@@ -96105,7 +96119,6 @@ function LinkTreeBlock({
96105
96119
  {
96106
96120
  className: cn(
96107
96121
  "max-w-xs text-balance text-sm",
96108
- getTextColor(resolvedBackground, "muted"),
96109
96122
  taglineClassName
96110
96123
  ),
96111
96124
  children: brandTagline
@@ -96126,7 +96139,6 @@ function LinkTreeBlock({
96126
96139
  verifiedIcon,
96127
96140
  verifiedIconClassName,
96128
96141
  brandName,
96129
- resolvedBackground,
96130
96142
  nameClassName,
96131
96143
  brandTagline,
96132
96144
  taglineClassName
@@ -96204,7 +96216,7 @@ function LinkTreeBlock({
96204
96216
  {
96205
96217
  className: cn(
96206
96218
  "mt-0.5 block truncate text-xs",
96207
- isFeatured ? "text-primary-foreground/70" : getTextColor(resolvedBackground, "muted"),
96219
+ isFeatured ? "text-primary-foreground/70" : "",
96208
96220
  linkDescriptionClassName
96209
96221
  ),
96210
96222
  children: description
@@ -96226,7 +96238,7 @@ function LinkTreeBlock({
96226
96238
  size: 16,
96227
96239
  className: cn(
96228
96240
  "shrink-0 transition-transform group-hover:translate-x-0.5",
96229
- isFeatured ? "text-primary-foreground/70" : getTextColor(resolvedBackground, "muted"),
96241
+ isFeatured ? "text-primary-foreground/70" : "",
96230
96242
  linkChevronClassName
96231
96243
  )
96232
96244
  }
@@ -96241,7 +96253,6 @@ function LinkTreeBlock({
96241
96253
  links,
96242
96254
  linksClassName,
96243
96255
  linkIconClassName,
96244
- resolvedBackground,
96245
96256
  linkClassName,
96246
96257
  featuredLinkClassName,
96247
96258
  linkLabelClassName,
@@ -96275,7 +96286,6 @@ function LinkTreeBlock({
96275
96286
  "group relative aspect-square overflow-hidden rounded-lg cursor-pointer",
96276
96287
  "transition-all duration-200 hover:scale-[1.02]",
96277
96288
  "ring-1",
96278
- getBorderColor(resolvedBackground, "muted"),
96279
96289
  mediaGalleryItemClassName,
96280
96290
  item.className
96281
96291
  ),
@@ -96393,8 +96403,6 @@ function LinkTreeBlock({
96393
96403
  className: cn(
96394
96404
  "flex h-12 w-12 items-center justify-center rounded-full p-2.5 transition-all duration-200",
96395
96405
  "hover:scale-110 active:scale-95",
96396
- getNestedCardBg(resolvedBackground),
96397
- getNestedCardTextColor(resolvedBackground),
96398
96406
  socialLinkClassName,
96399
96407
  social.className
96400
96408
  ),
@@ -96410,7 +96418,6 @@ function LinkTreeBlock({
96410
96418
  socialLinks,
96411
96419
  socialLinksClassName,
96412
96420
  socialIconClassName,
96413
- resolvedBackground,
96414
96421
  socialLinkClassName
96415
96422
  ]);
96416
96423
  const renderFooter = useMemo$1(() => {
@@ -97574,7 +97581,14 @@ function LinkPageBentoLayout({
97574
97581
  social.id ?? index
97575
97582
  );
97576
97583
  }) });
97577
- }, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName, resolvedBackground, socialLinkClassName]);
97584
+ }, [
97585
+ socialLinksSlot,
97586
+ socialLinks,
97587
+ socialLinksClassName,
97588
+ socialIconClassName,
97589
+ resolvedBackground,
97590
+ socialLinkClassName
97591
+ ]);
97578
97592
  const renderFeaturedLinks = useMemo$1(() => {
97579
97593
  if (featuredLinksSlot) return featuredLinksSlot;
97580
97594
  if (!featuredLinks || featuredLinks.length === 0) return null;
@@ -97683,7 +97697,18 @@ function LinkPageBentoLayout({
97683
97697
  link.id ?? index
97684
97698
  );
97685
97699
  });
97686
- }, [featuredLinksSlot, featuredLinks, resolvedBackground, featuredLinkClassName, featuredLinkImageClassName, optixFlowConfig, featuredLinkOverlayClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName]);
97700
+ }, [
97701
+ featuredLinksSlot,
97702
+ featuredLinks,
97703
+ resolvedBackground,
97704
+ featuredLinkClassName,
97705
+ featuredLinkImageClassName,
97706
+ optixFlowConfig,
97707
+ featuredLinkOverlayClassName,
97708
+ featuredLinkIconClassName,
97709
+ featuredLinkLabelClassName,
97710
+ featuredLinkDescriptionClassName
97711
+ ]);
97687
97712
  const renderRegularLinks = useMemo$1(() => {
97688
97713
  if (regularLinksSlot) return regularLinksSlot;
97689
97714
  if (!regularLinks || regularLinks.length === 0) return null;
@@ -97760,7 +97785,15 @@ function LinkPageBentoLayout({
97760
97785
  link.id ?? index
97761
97786
  );
97762
97787
  });
97763
- }, [regularLinksSlot, regularLinks, resolvedBackground, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName]);
97788
+ }, [
97789
+ regularLinksSlot,
97790
+ regularLinks,
97791
+ resolvedBackground,
97792
+ regularLinkClassName,
97793
+ regularLinkIconWrapperClassName,
97794
+ regularLinkIconClassName,
97795
+ regularLinkLabelClassName
97796
+ ]);
97764
97797
  const renderLinks = useMemo$1(() => {
97765
97798
  if (linksSlot) return linksSlot;
97766
97799
  if (!links || links.length === 0) return null;
@@ -97770,7 +97803,19 @@ function LinkPageBentoLayout({
97770
97803
  hasFeatured && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-3", featuredLinksClassName), children: renderFeaturedLinks }),
97771
97804
  hasRegular && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-3", regularLinksClassName), children: renderRegularLinks })
97772
97805
  ] });
97773
- }, [linksSlot, links, linksClassName, featuredLinksSlot, featuredLinks, featuredLinksClassName, renderFeaturedLinks, regularLinksSlot, regularLinks, regularLinksClassName, renderRegularLinks]);
97806
+ }, [
97807
+ linksSlot,
97808
+ links,
97809
+ linksClassName,
97810
+ featuredLinksSlot,
97811
+ featuredLinks,
97812
+ featuredLinksClassName,
97813
+ renderFeaturedLinks,
97814
+ regularLinksSlot,
97815
+ regularLinks,
97816
+ regularLinksClassName,
97817
+ renderRegularLinks
97818
+ ]);
97774
97819
  const renderProfile = useMemo$1(() => {
97775
97820
  if (profileSlot) return profileSlot;
97776
97821
  return /* @__PURE__ */ jsxs(
@@ -97800,16 +97845,7 @@ function LinkPageBentoLayout({
97800
97845
  }
97801
97846
  ),
97802
97847
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
97803
- name && (typeof name === "string" ? /* @__PURE__ */ jsx(
97804
- "h1",
97805
- {
97806
- className: cn(
97807
- "text-xl font-bold",
97808
- nameClassName
97809
- ),
97810
- children: name
97811
- }
97812
- ) : /* @__PURE__ */ jsx("div", { className: nameClassName, children: name })),
97848
+ name && (typeof name === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-xl font-bold", nameClassName), children: name }) : /* @__PURE__ */ jsx("div", { className: nameClassName, children: name })),
97813
97849
  bio && (typeof bio === "string" ? /* @__PURE__ */ jsx(
97814
97850
  "p",
97815
97851
  {
@@ -97826,7 +97862,19 @@ function LinkPageBentoLayout({
97826
97862
  ]
97827
97863
  }
97828
97864
  );
97829
- }, [profileSlot, resolvedAvatar, resolvedBackground, avatarClassName, optixFlowConfig, name, nameClassName, bio, bioClassName, renderSocialLinks, headerClassName]);
97865
+ }, [
97866
+ profileSlot,
97867
+ resolvedAvatar,
97868
+ resolvedBackground,
97869
+ avatarClassName,
97870
+ optixFlowConfig,
97871
+ name,
97872
+ nameClassName,
97873
+ bio,
97874
+ bioClassName,
97875
+ renderSocialLinks,
97876
+ headerClassName
97877
+ ]);
97830
97878
  const renderFooter = useMemo$1(() => {
97831
97879
  if (footerSlot) return footerSlot;
97832
97880
  if (!footerAction) return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "0.9.1",
3
+ "version": "0.9.4",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",