@opensite/ui 0.9.9 → 1.0.1

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.
package/dist/registry.js CHANGED
@@ -58356,10 +58356,10 @@ var DesktopMenuItem2 = ({
58356
58356
  if (hasDropdown) {
58357
58357
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
58358
58358
  /* @__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 }),
58359
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "!rounded-xl !border-0", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-6xl p-6", children: renderDropdownContent(
58359
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "!rounded-xl !border-0 !p-6", children: renderDropdownContent(
58360
58360
  { ...item, layout: effectiveLayout },
58361
58361
  optixFlowConfig
58362
- ) }) })
58362
+ ) })
58363
58363
  ] }, `desktop-menu-item-${index}`);
58364
58364
  }
58365
58365
  return /* @__PURE__ */ jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsx(
@@ -58429,7 +58429,7 @@ var SolutionsMenu = ({
58429
58429
  platformItems,
58430
58430
  featuredHeroCard,
58431
58431
  optixFlowConfig
58432
- }) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
58432
+ }) => /* @__PURE__ */ jsxs("div", { className: "grid min-w-[1100px] grid-cols-2 gap-4", children: [
58433
58433
  featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
58434
58434
  Pressable,
58435
58435
  {
@@ -58474,7 +58474,7 @@ var SolutionsMenu = ({
58474
58474
  NavigationMenuLink,
58475
58475
  {
58476
58476
  href: technology.href,
58477
- className: "group flex items-center gap-2 rounded-lg p-2 hover:bg-muted",
58477
+ className: "group !flex !w-full items-center gap-2 rounded-lg p-2 hover:bg-muted",
58478
58478
  children: [
58479
58479
  /* @__PURE__ */ jsx(DynamicIcon, { name: technology.icon, size: 16, className: "shrink-0" }),
58480
58480
  /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: technology.title })
@@ -58486,7 +58486,7 @@ var SolutionsMenu = ({
58486
58486
  solutionCards.length > 0 && /* @__PURE__ */ jsx("div", { className: "col-span-2 mt-2 grid grid-cols-4 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxs(
58487
58487
  "div",
58488
58488
  {
58489
- className: "col-span-1 flex flex-col rounded-lg border border-border p-4",
58489
+ className: "col-span-1 flex w-full flex-col rounded-lg border border-border p-4",
58490
58490
  children: [
58491
58491
  /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-3", children: /* @__PURE__ */ jsxs(
58492
58492
  Pressable,
@@ -58513,7 +58513,7 @@ var SolutionsMenu = ({
58513
58513
  NavigationMenuLink,
58514
58514
  {
58515
58515
  href: subpage.href,
58516
- className: "group flex items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58516
+ className: "group !flex !w-full items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58517
58517
  children: [
58518
58518
  /* @__PURE__ */ jsx(DynamicIcon, { name: subpage.icon, size: 14, className: "shrink-0" }),
58519
58519
  /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: subpage.title })
@@ -58530,7 +58530,7 @@ var ProductsMenu = ({
58530
58530
  productCategories,
58531
58531
  featuredHeroCard,
58532
58532
  optixFlowConfig
58533
- }) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[320px_1fr] gap-6", children: [
58533
+ }) => /* @__PURE__ */ jsxs("div", { className: "grid min-w-[1000px] grid-cols-[320px_1fr] gap-6", children: [
58534
58534
  featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
58535
58535
  Pressable,
58536
58536
  {
@@ -58572,7 +58572,7 @@ var ProductsMenu = ({
58572
58572
  NavigationMenuLink,
58573
58573
  {
58574
58574
  href: product.href,
58575
- className: "group col-span-1 flex items-center gap-3 rounded-lg p-3 text-left hover:bg-muted",
58575
+ className: "group col-span-1 !flex !w-full items-center gap-3 rounded-lg p-3 text-left hover:bg-muted",
58576
58576
  children: [
58577
58577
  /* @__PURE__ */ jsx("div", { className: "relative flex size-12 shrink-0 items-center justify-center overflow-hidden rounded", children: /* @__PURE__ */ jsx(
58578
58578
  Img,
@@ -58598,7 +58598,7 @@ var GlobalMenu = ({
58598
58598
  regions,
58599
58599
  featuredHeroCard,
58600
58600
  optixFlowConfig
58601
- }) => /* @__PURE__ */ jsxs("div", { children: [
58601
+ }) => /* @__PURE__ */ jsxs("div", { className: "min-w-[1000px]", children: [
58602
58602
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[280px_1fr] gap-6", children: [
58603
58603
  featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
58604
58604
  Pressable,
@@ -58641,7 +58641,7 @@ var GlobalMenu = ({
58641
58641
  NavigationMenuLink,
58642
58642
  {
58643
58643
  href: feature.href,
58644
- className: "group col-span-1 flex items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58644
+ className: "group col-span-1 !flex !w-full items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58645
58645
  children: [
58646
58646
  /* @__PURE__ */ jsx("div", { className: "flex size-8 shrink-0 items-center justify-center", children: /* @__PURE__ */ jsx(DynamicIcon, { name: feature.icon, size: 18 }) }),
58647
58647
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -58659,14 +58659,14 @@ var GlobalMenu = ({
58659
58659
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-4 gap-4", children: regions.map((region) => /* @__PURE__ */ jsxs(
58660
58660
  "div",
58661
58661
  {
58662
- className: "col-span-1 flex flex-col gap-3",
58662
+ className: "col-span-1 flex w-full flex-col gap-3",
58663
58663
  children: [
58664
58664
  /* @__PURE__ */ jsx("div", { className: "text-left text-xs font-medium text-muted-foreground", children: region.title }),
58665
58665
  /* @__PURE__ */ jsx("menu", { className: "grid gap-1.5", children: region.locations.map((location) => /* @__PURE__ */ jsxs(
58666
58666
  NavigationMenuLink,
58667
58667
  {
58668
58668
  href: location.href,
58669
- className: "group flex items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58669
+ className: "group !flex !w-full items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
58670
58670
  children: [
58671
58671
  /* @__PURE__ */ jsx("div", { className: "flex size-4 shrink-0 items-center justify-center", children: location.icon }),
58672
58672
  /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: location.title })
@@ -58684,7 +58684,7 @@ var PartnersMenu = ({
58684
58684
  partnerCards,
58685
58685
  featuredHeroCard,
58686
58686
  optixFlowConfig
58687
- }) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[2fr_1fr] gap-6", children: [
58687
+ }) => /* @__PURE__ */ jsxs("div", { className: "grid min-w-[900px] grid-cols-[2fr_1fr] gap-6", children: [
58688
58688
  featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
58689
58689
  Pressable,
58690
58690
  {
@@ -58727,7 +58727,7 @@ var PartnersMenu = ({
58727
58727
  NavigationMenuLink,
58728
58728
  {
58729
58729
  href: card.href,
58730
- className: "group flex items-start gap-3 rounded-lg border border-border p-4 hover:bg-muted",
58730
+ className: "group !flex !w-full items-start gap-3 rounded-lg border border-border p-4 hover:bg-muted",
58731
58731
  children: [
58732
58732
  /* @__PURE__ */ jsx(DynamicIcon, { name: card.icon, size: 28, className: "shrink-0" }),
58733
58733
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -58743,7 +58743,7 @@ var ResourcesMenu = ({
58743
58743
  resourceItems,
58744
58744
  topicGroups,
58745
58745
  featuredHeroCard
58746
- }) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[280px_1fr_220px] gap-6", children: [
58746
+ }) => /* @__PURE__ */ jsxs("div", { className: "grid min-w-[1000px] grid-cols-[280px_1fr_220px] gap-6", children: [
58747
58747
  featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
58748
58748
  Pressable,
58749
58749
  {
@@ -58784,7 +58784,7 @@ var ResourcesMenu = ({
58784
58784
  NavigationMenuLink,
58785
58785
  {
58786
58786
  href: resource.href,
58787
- className: "group col-span-1 flex items-start gap-3 rounded-lg border border-border p-3 hover:bg-muted",
58787
+ className: "group col-span-1 !flex !w-full items-start gap-3 rounded-lg border border-border p-3 hover:bg-muted",
58788
58788
  children: [
58789
58789
  /* @__PURE__ */ jsx(
58790
58790
  DynamicIcon,
@@ -58809,7 +58809,7 @@ var ResourcesMenu = ({
58809
58809
  NavigationMenuLink,
58810
58810
  {
58811
58811
  href: topic.href,
58812
- className: "group flex items-center gap-2 rounded-lg p-2 hover:bg-muted",
58812
+ className: "group !flex !w-full items-center gap-2 rounded-lg p-2 hover:bg-muted",
58813
58813
  children: [
58814
58814
  /* @__PURE__ */ jsx(DynamicIcon, { name: topic.icon, size: 14, className: "shrink-0" }),
58815
58815
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 text-sm font-medium", children: topic.title })
@@ -63610,6 +63610,55 @@ var NavbarTabbedSections = ({
63610
63610
  }
63611
63611
  );
63612
63612
  };
63613
+ var platformIconMap = {
63614
+ instagram: "cib/instagram",
63615
+ linkedin: "cib/linkedin",
63616
+ google: "cib/google",
63617
+ facebook: "cib/facebook",
63618
+ tiktok: "cib/tiktok",
63619
+ youtube: "cib/youtube",
63620
+ yelp: "cib/yelp",
63621
+ spotify: "cib/spotify",
63622
+ apple: "cib/apple",
63623
+ x: "line-md/twitter-x"
63624
+ };
63625
+ var SocialLinkIcon = React52.forwardRef(
63626
+ ({
63627
+ platformName,
63628
+ label,
63629
+ iconSize = 20,
63630
+ iconColor,
63631
+ iconClassName,
63632
+ className,
63633
+ ...pressableProps
63634
+ }, ref) => {
63635
+ const iconName = platformIconMap[platformName];
63636
+ const accessibleLabel = label || platformName;
63637
+ return /* @__PURE__ */ jsx(
63638
+ Pressable,
63639
+ {
63640
+ ref,
63641
+ "aria-label": accessibleLabel,
63642
+ className: cn(
63643
+ "inline-flex items-center justify-center transition-colors",
63644
+ className
63645
+ ),
63646
+ ...pressableProps,
63647
+ children: /* @__PURE__ */ jsx(
63648
+ DynamicIcon,
63649
+ {
63650
+ name: iconName,
63651
+ size: iconSize,
63652
+ color: iconColor,
63653
+ className: iconClassName,
63654
+ alt: accessibleLabel
63655
+ }
63656
+ )
63657
+ }
63658
+ );
63659
+ }
63660
+ );
63661
+ SocialLinkIcon.displayName = "SocialLinkIcon";
63613
63662
  var NavbarFullscreenMenu = ({
63614
63663
  logo = {
63615
63664
  url: "/",
@@ -63639,36 +63688,35 @@ var NavbarFullscreenMenu = ({
63639
63688
  const renderMenuItems = useMemo$1(() => {
63640
63689
  if (menuSlot) return menuSlot;
63641
63690
  if (!menuItems || menuItems.length === 0) return null;
63642
- return menuItems.map((item, index) => /* @__PURE__ */ jsx(
63691
+ return /* @__PURE__ */ jsx("div", { className: "group/menu-container", children: menuItems.map((item, index) => /* @__PURE__ */ jsx(
63643
63692
  "div",
63644
63693
  {
63645
- className: "mb-5 animate-in slide-in-from-bottom-4 fade-in",
63694
+ className: "group/menu-item mb-5 animate-in slide-in-from-bottom-4 fade-in",
63646
63695
  style: {
63647
63696
  animationDelay: `${0.2 + index * 0.1}s`,
63648
63697
  animationFillMode: "both"
63649
63698
  },
63650
- children: /* @__PURE__ */ jsxs(Pressable, { href: item.href, className: "group relative inline-block", children: [
63651
- /* @__PURE__ */ jsx("span", { className: "relative z-10 text-4xl font-black text-foreground uppercase transition-all duration-300 md:text-6xl group-hover:opacity-80 group-hover:blur-[6px]", children: item.label }),
63652
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 h-1 w-0 bg-primary transition-all duration-300 group-hover:w-full" })
63699
+ children: /* @__PURE__ */ jsxs(Pressable, { href: item.href, className: "relative inline-block", children: [
63700
+ /* @__PURE__ */ jsx("span", { className: "relative z-10 text-4xl font-black text-foreground uppercase transition-all duration-300 md:text-6xl group-hover/menu-container:opacity-50 group-hover/menu-container:blur-[4px] group-hover/menu-item:!opacity-100 group-hover/menu-item:!blur-none", children: item.label }),
63701
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 h-1 w-0 bg-primary transition-all duration-300 group-hover/menu-item:w-full" })
63653
63702
  ] })
63654
63703
  },
63655
63704
  item.label
63656
- ));
63705
+ )) });
63657
63706
  }, [menuSlot, menuItems]);
63658
63707
  const renderSocialLinks = useMemo$1(() => {
63659
63708
  if (socialLinksSlot) return socialLinksSlot;
63660
63709
  if (!socialLinks || socialLinks.length === 0) return null;
63661
- return socialLinks.map((link, index) => /* @__PURE__ */ jsx(
63662
- Pressable,
63710
+ return socialLinks.map((link) => /* @__PURE__ */ jsx(
63711
+ SocialLinkIcon,
63663
63712
  {
63713
+ platformName: link.platformName,
63664
63714
  href: link.href,
63665
- target: "_blank",
63666
- rel: "noopener noreferrer",
63667
- className: "group flex items-center gap-2 font-mono text-sm tracking-wider text-muted-foreground transition-colors hover:text-foreground hover:translate-x-1",
63668
- style: { animationDelay: `${0.8 + index * 0.1}s` },
63669
- children: /* @__PURE__ */ jsx("span", { children: link.label })
63715
+ label: link.label,
63716
+ iconSize: 24,
63717
+ className: "text-muted-foreground transition-all duration-300 hover:text-foreground hover:scale-110"
63670
63718
  },
63671
- link.label
63719
+ link.platformName
63672
63720
  ));
63673
63721
  }, [socialLinksSlot, socialLinks]);
63674
63722
  const {
@@ -63680,18 +63728,18 @@ var NavbarFullscreenMenu = ({
63680
63728
  sectionContainerMaxWidth,
63681
63729
  spacingOverride
63682
63730
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
63683
- return /* @__PURE__ */ jsx(
63684
- Section,
63685
- {
63686
- background,
63687
- spacing: spacingOverride ?? spacing,
63688
- className: sectionClasses,
63689
- pattern,
63690
- patternOpacity,
63691
- containerClassName: sectionContainerClassName,
63692
- containerMaxWidth: sectionContainerMaxWidth,
63693
- children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsxs("div", { className: innerContainerClasses, children: [
63694
- /* @__PURE__ */ jsxs(
63731
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
63732
+ /* @__PURE__ */ jsx(
63733
+ Section,
63734
+ {
63735
+ background,
63736
+ spacing: spacingOverride ?? spacing,
63737
+ className: sectionClasses,
63738
+ pattern,
63739
+ patternOpacity,
63740
+ containerClassName: sectionContainerClassName,
63741
+ containerMaxWidth: sectionContainerMaxWidth,
63742
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
63695
63743
  "nav",
63696
63744
  {
63697
63745
  className: cn(
@@ -63708,60 +63756,75 @@ var NavbarFullscreenMenu = ({
63708
63756
  optixFlowConfig
63709
63757
  }
63710
63758
  ) }),
63711
- /* @__PURE__ */ jsx("div", { className: "z-50", children: /* @__PURE__ */ jsxs(
63759
+ /* @__PURE__ */ jsx("div", { className: "z-50", children: /* @__PURE__ */ jsx(
63712
63760
  "button",
63713
63761
  {
63714
63762
  onClick: toggleMenu,
63715
- className: "text-lg tracking-wider text-foreground transition-colors hover:text-muted-foreground",
63716
- children: [
63717
- /* @__PURE__ */ jsx(
63718
- "span",
63719
- {
63720
- className: `inline-block transition-all duration-200 ${isOpen ? "opacity-0 -translate-y-2" : "opacity-100 translate-y-0"}`,
63721
- style: { display: isOpen ? "none" : "inline-block" },
63722
- children: isOpen ? "" : "\u2630"
63723
- }
63724
- ),
63725
- /* @__PURE__ */ jsx(
63726
- "span",
63727
- {
63728
- className: `inline-block transition-all duration-200 ${isOpen ? "opacity-100 translate-y-0" : "opacity-0 translate-y-2"}`,
63729
- style: { display: isOpen ? "inline-block" : "none" },
63730
- children: isOpen ? "\u2715" : ""
63731
- }
63732
- )
63733
- ]
63763
+ className: "text-2xl tracking-wider text-foreground transition-colors hover:text-muted-foreground",
63764
+ "aria-label": isOpen ? "Close menu" : "Open menu",
63765
+ children: "\u2630"
63734
63766
  }
63735
63767
  ) })
63736
63768
  ]
63737
63769
  }
63770
+ ) }) }) })
63771
+ }
63772
+ ),
63773
+ isOpen && /* @__PURE__ */ jsxs(
63774
+ "div",
63775
+ {
63776
+ className: cn(
63777
+ "fixed inset-0 z-50 flex flex-col bg-background animate-in fade-in duration-300",
63778
+ overlayClassName
63738
63779
  ),
63739
- isOpen && /* @__PURE__ */ jsx(
63740
- "div",
63741
- {
63742
- className: cn(
63743
- "fixed inset-0 z-40 overflow-hidden bg-background animate-in fade-in duration-300",
63744
- overlayClassName
63780
+ children: [
63781
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-6 py-6", children: [
63782
+ /* @__PURE__ */ jsx(
63783
+ NavbarLogo,
63784
+ {
63785
+ logo,
63786
+ logoSlot,
63787
+ logoClassName,
63788
+ optixFlowConfig
63789
+ }
63745
63790
  ),
63746
- children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col items-center justify-center px-6", children: [
63747
- /* @__PURE__ */ jsx("div", { className: cn("mb-16 text-center", menuItemsClassName), children: renderMenuItems }),
63748
- /* @__PURE__ */ jsx(
63749
- "div",
63750
- {
63751
- className: cn(
63752
- "flex flex-col gap-8 sm:flex-row sm:gap-12 animate-in slide-in-from-bottom-4 fade-in",
63753
- socialLinksClassName
63754
- ),
63755
- style: { animationDelay: "0.7s", animationFillMode: "both" },
63756
- children: renderSocialLinks
63757
- }
63758
- )
63759
- ] })
63760
- }
63761
- )
63762
- ] }) }) })
63763
- }
63764
- );
63791
+ /* @__PURE__ */ jsx(
63792
+ "button",
63793
+ {
63794
+ onClick: toggleMenu,
63795
+ className: "text-2xl text-foreground transition-colors hover:text-muted-foreground",
63796
+ "aria-label": "Close menu",
63797
+ children: "\u2715"
63798
+ }
63799
+ )
63800
+ ] }),
63801
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col items-center justify-center overflow-y-auto px-6 py-8", children: [
63802
+ /* @__PURE__ */ jsx(
63803
+ "div",
63804
+ {
63805
+ className: cn(
63806
+ "mb-12 max-h-[60vh] overflow-y-auto text-center md:max-h-none",
63807
+ menuItemsClassName
63808
+ ),
63809
+ children: renderMenuItems
63810
+ }
63811
+ ),
63812
+ /* @__PURE__ */ jsx(
63813
+ "div",
63814
+ {
63815
+ className: cn(
63816
+ "flex flex-row flex-wrap items-center justify-center gap-6 animate-in slide-in-from-bottom-4 fade-in",
63817
+ socialLinksClassName
63818
+ ),
63819
+ style: { animationDelay: "0.7s", animationFillMode: "both" },
63820
+ children: renderSocialLinks
63821
+ }
63822
+ )
63823
+ ] })
63824
+ ]
63825
+ }
63826
+ )
63827
+ ] });
63765
63828
  };
63766
63829
  function LogosInlineTagline({
63767
63830
  className,