@opensite/ui 3.4.6 → 3.4.9

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 (87) hide show
  1. package/dist/navbar-animated-preview.cjs +16 -9
  2. package/dist/navbar-animated-preview.d.cts +3 -1
  3. package/dist/navbar-animated-preview.d.ts +3 -1
  4. package/dist/navbar-animated-preview.js +16 -9
  5. package/dist/navbar-centered-menu.cjs +4 -4
  6. package/dist/navbar-centered-menu.d.cts +4 -2
  7. package/dist/navbar-centered-menu.d.ts +4 -2
  8. package/dist/navbar-centered-menu.js +4 -4
  9. package/dist/navbar-dark-icons.cjs +10 -9
  10. package/dist/navbar-dark-icons.d.cts +5 -3
  11. package/dist/navbar-dark-icons.d.ts +5 -3
  12. package/dist/navbar-dark-icons.js +10 -9
  13. package/dist/navbar-dropdown-menu.cjs +4 -4
  14. package/dist/navbar-dropdown-menu.d.cts +4 -2
  15. package/dist/navbar-dropdown-menu.d.ts +4 -2
  16. package/dist/navbar-dropdown-menu.js +4 -4
  17. package/dist/navbar-education-platform.cjs +4 -4
  18. package/dist/navbar-education-platform.d.cts +5 -3
  19. package/dist/navbar-education-platform.d.ts +5 -3
  20. package/dist/navbar-education-platform.js +4 -4
  21. package/dist/navbar-enterprise-mega.cjs +109 -27
  22. package/dist/navbar-enterprise-mega.d.cts +10 -8
  23. package/dist/navbar-enterprise-mega.d.ts +10 -8
  24. package/dist/navbar-enterprise-mega.js +109 -27
  25. package/dist/navbar-feature-grid.cjs +2 -2
  26. package/dist/navbar-feature-grid.d.cts +3 -1
  27. package/dist/navbar-feature-grid.d.ts +3 -1
  28. package/dist/navbar-feature-grid.js +2 -2
  29. package/dist/navbar-floating-pill.cjs +2 -2
  30. package/dist/navbar-floating-pill.d.cts +3 -1
  31. package/dist/navbar-floating-pill.d.ts +3 -1
  32. package/dist/navbar-floating-pill.js +2 -2
  33. package/dist/navbar-fullscreen-menu.d.cts +3 -1
  34. package/dist/navbar-fullscreen-menu.d.ts +3 -1
  35. package/dist/navbar-icon-links.cjs +17 -3
  36. package/dist/navbar-icon-links.d.cts +4 -2
  37. package/dist/navbar-icon-links.d.ts +4 -2
  38. package/dist/navbar-icon-links.js +17 -3
  39. package/dist/navbar-image-preview.cjs +8 -8
  40. package/dist/navbar-image-preview.d.cts +5 -3
  41. package/dist/navbar-image-preview.d.ts +5 -3
  42. package/dist/navbar-image-preview.js +8 -8
  43. package/dist/navbar-mega-menu.cjs +36 -12
  44. package/dist/navbar-mega-menu.d.cts +4 -2
  45. package/dist/navbar-mega-menu.d.ts +4 -2
  46. package/dist/navbar-mega-menu.js +36 -12
  47. package/dist/navbar-multi-column-groups.cjs +10 -10
  48. package/dist/navbar-multi-column-groups.d.cts +5 -3
  49. package/dist/navbar-multi-column-groups.d.ts +5 -3
  50. package/dist/navbar-multi-column-groups.js +10 -10
  51. package/dist/navbar-platform-resources.cjs +72 -53
  52. package/dist/navbar-platform-resources.d.cts +3 -1
  53. package/dist/navbar-platform-resources.d.ts +3 -1
  54. package/dist/navbar-platform-resources.js +72 -53
  55. package/dist/navbar-search-focused.cjs +7 -7
  56. package/dist/navbar-search-focused.d.cts +5 -3
  57. package/dist/navbar-search-focused.d.ts +5 -3
  58. package/dist/navbar-search-focused.js +7 -7
  59. package/dist/navbar-sidebar-mobile.cjs +4 -4
  60. package/dist/navbar-sidebar-mobile.d.cts +4 -2
  61. package/dist/navbar-sidebar-mobile.d.ts +4 -2
  62. package/dist/navbar-sidebar-mobile.js +4 -4
  63. package/dist/navbar-simple-links.cjs +4 -4
  64. package/dist/navbar-simple-links.d.cts +3 -1
  65. package/dist/navbar-simple-links.d.ts +3 -1
  66. package/dist/navbar-simple-links.js +4 -4
  67. package/dist/navbar-split-cta.cjs +4 -5
  68. package/dist/navbar-split-cta.d.cts +4 -2
  69. package/dist/navbar-split-cta.d.ts +4 -2
  70. package/dist/navbar-split-cta.js +4 -5
  71. package/dist/navbar-sticky-compact.cjs +14 -8
  72. package/dist/navbar-sticky-compact.d.cts +4 -2
  73. package/dist/navbar-sticky-compact.d.ts +4 -2
  74. package/dist/navbar-sticky-compact.js +14 -8
  75. package/dist/navbar-tabbed-sections.cjs +4 -5
  76. package/dist/navbar-tabbed-sections.d.cts +5 -3
  77. package/dist/navbar-tabbed-sections.d.ts +5 -3
  78. package/dist/navbar-tabbed-sections.js +4 -5
  79. package/dist/navbar-transparent-overlay.cjs +6 -6
  80. package/dist/navbar-transparent-overlay.d.cts +5 -3
  81. package/dist/navbar-transparent-overlay.d.ts +5 -3
  82. package/dist/navbar-transparent-overlay.js +6 -6
  83. package/dist/registry.cjs +337 -186
  84. package/dist/registry.js +337 -186
  85. package/dist/{types-ldjwVMcl.d.cts → types-hJ2R0GoH.d.ts} +5 -4
  86. package/dist/{types-ldjwVMcl.d.ts → types-mWZcgKth.d.cts} +5 -4
  87. package/package.json +1 -1
@@ -839,9 +839,9 @@ var NavbarMultiColumnGroups = ({
839
839
  className: actionClassName,
840
840
  ...pressableProps,
841
841
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
842
- icon,
842
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: icon, size: 16, className: "shrink-0" }),
843
843
  label,
844
- iconAfter
844
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: iconAfter, size: 16, className: "shrink-0" })
845
845
  ] })
846
846
  },
847
847
  index
@@ -952,14 +952,14 @@ var DesktopMenuItem = ({ item, index }) => {
952
952
  asChild: true,
953
953
  className: "group/link flex-row gap-2 px-3 py-2 transition-colors duration-200",
954
954
  children: /* @__PURE__ */ jsxRuntime.jsxs(pressable.Pressable, { href: link.url, children: [
955
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
955
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
956
956
  DynamicIcon,
957
957
  {
958
- name: link.iconName,
958
+ name: link.icon || link.iconName,
959
959
  size: 16,
960
960
  className: "m-auto group-hover/link:stroke-black"
961
961
  }
962
- ) : null }),
962
+ ) }),
963
963
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
964
964
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium", children: link.label }),
965
965
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-muted-foreground group-hover/link:text-foreground", children: link.description })
@@ -1007,9 +1007,9 @@ var MobileNavigationMenu = ({
1007
1007
  onClick: handleClose,
1008
1008
  ...pressableProps,
1009
1009
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1010
- icon,
1010
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: icon, size: 16, className: "shrink-0" }),
1011
1011
  label,
1012
- iconAfter
1012
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: iconAfter, size: 16, className: "shrink-0" })
1013
1013
  ] })
1014
1014
  },
1015
1015
  index
@@ -1045,14 +1045,14 @@ var MobileNavigationMenu = ({
1045
1045
  className: "flex min-h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
1046
1046
  onClick: handleClose,
1047
1047
  children: [
1048
- link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
1048
+ /* @__PURE__ */ jsxRuntime.jsx(
1049
1049
  DynamicIcon,
1050
1050
  {
1051
- name: link.iconName,
1051
+ name: link.icon || link.iconName,
1052
1052
  size: 16,
1053
1053
  className: "stroke-muted-foreground"
1054
1054
  }
1055
- ) : null,
1055
+ ),
1056
1056
  link.label
1057
1057
  ]
1058
1058
  },
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { DynamicIconName } from './dynamic-icon.cjs';
3
4
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
4
- import { L as LogoConfig, N as NavbarLayoutVariant } from './types-ldjwVMcl.cjs';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-mWZcgKth.cjs';
5
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
7
+ import '@page-speed/icon';
6
8
  import 'class-variance-authority';
7
9
  import '@page-speed/pressable';
8
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -11,8 +13,8 @@ interface MenuLink {
11
13
  label: React.ReactNode;
12
14
  description?: React.ReactNode;
13
15
  url: string;
14
- icon?: React.ReactNode;
15
- iconName?: string;
16
+ icon?: DynamicIconName;
17
+ iconName?: DynamicIconName;
16
18
  }
17
19
  interface MenuGroup {
18
20
  title: React.ReactNode;
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { DynamicIconName } from './dynamic-icon.js';
3
4
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
4
- import { L as LogoConfig, N as NavbarLayoutVariant } from './types-ldjwVMcl.js';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-hJ2R0GoH.js';
5
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.js';
7
+ import '@page-speed/icon';
6
8
  import 'class-variance-authority';
7
9
  import '@page-speed/pressable';
8
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -11,8 +13,8 @@ interface MenuLink {
11
13
  label: React.ReactNode;
12
14
  description?: React.ReactNode;
13
15
  url: string;
14
- icon?: React.ReactNode;
15
- iconName?: string;
16
+ icon?: DynamicIconName;
17
+ iconName?: DynamicIconName;
16
18
  }
17
19
  interface MenuGroup {
18
20
  title: React.ReactNode;
@@ -816,9 +816,9 @@ var NavbarMultiColumnGroups = ({
816
816
  className: actionClassName,
817
817
  ...pressableProps,
818
818
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
819
- icon,
819
+ /* @__PURE__ */ jsx(DynamicIcon, { name: icon, size: 16, className: "shrink-0" }),
820
820
  label,
821
- iconAfter
821
+ /* @__PURE__ */ jsx(DynamicIcon, { name: iconAfter, size: 16, className: "shrink-0" })
822
822
  ] })
823
823
  },
824
824
  index
@@ -929,14 +929,14 @@ var DesktopMenuItem = ({ item, index }) => {
929
929
  asChild: true,
930
930
  className: "group/link flex-row gap-2 px-3 py-2 transition-colors duration-200",
931
931
  children: /* @__PURE__ */ jsxs(Pressable, { href: link.url, children: [
932
- /* @__PURE__ */ jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
932
+ /* @__PURE__ */ jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: /* @__PURE__ */ jsx(
933
933
  DynamicIcon,
934
934
  {
935
- name: link.iconName,
935
+ name: link.icon || link.iconName,
936
936
  size: 16,
937
937
  className: "m-auto group-hover/link:stroke-black"
938
938
  }
939
- ) : null }),
939
+ ) }),
940
940
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
941
941
  /* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: link.label }),
942
942
  /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground group-hover/link:text-foreground", children: link.description })
@@ -984,9 +984,9 @@ var MobileNavigationMenu = ({
984
984
  onClick: handleClose,
985
985
  ...pressableProps,
986
986
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
987
- icon,
987
+ /* @__PURE__ */ jsx(DynamicIcon, { name: icon, size: 16, className: "shrink-0" }),
988
988
  label,
989
- iconAfter
989
+ /* @__PURE__ */ jsx(DynamicIcon, { name: iconAfter, size: 16, className: "shrink-0" })
990
990
  ] })
991
991
  },
992
992
  index
@@ -1022,14 +1022,14 @@ var MobileNavigationMenu = ({
1022
1022
  className: "flex min-h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
1023
1023
  onClick: handleClose,
1024
1024
  children: [
1025
- link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
1025
+ /* @__PURE__ */ jsx(
1026
1026
  DynamicIcon,
1027
1027
  {
1028
- name: link.iconName,
1028
+ name: link.icon || link.iconName,
1029
1029
  size: 16,
1030
1030
  className: "stroke-muted-foreground"
1031
1031
  }
1032
- ) : null,
1032
+ ),
1033
1033
  link.label
1034
1034
  ]
1035
1035
  },
@@ -793,26 +793,27 @@ var NavbarPlatformResources = ({
793
793
  const renderDropdownContent = (link) => {
794
794
  const layout = link.layout || "simple-list";
795
795
  if (layout === "simple-list") {
796
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[400px] p-3", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(
796
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[400px] max-w-[calc(100vw-2rem)] p-3", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "w-full space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(
797
797
  "li",
798
798
  {
799
+ className: "w-full",
799
800
  children: /* @__PURE__ */ jsxRuntime.jsxs(
800
801
  NavigationMenuLink,
801
802
  {
802
803
  href: getLinkUrl(item),
803
- className: "group/link flex-row gap-2 px-3 py-2 transition-colors duration-200",
804
+ className: "group/link !flex !w-full min-w-0 flex-row items-center gap-2 rounded-md px-3 py-2 transition-colors duration-200",
804
805
  children: [
805
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
806
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
806
807
  DynamicIcon,
807
808
  {
808
- name: item.iconName,
809
+ name: item.icon || item.iconName,
809
810
  size: 16,
810
811
  className: "m-auto group-hover/link:stroke-black"
811
812
  }
812
- ) : null }),
813
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
813
+ ) }),
814
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
814
815
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium", children: item.label }),
815
- item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-muted-foreground group-hover/link:text-foreground", children: item.description })
816
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-xs text-muted-foreground group-hover/link:text-foreground", children: item.description })
816
817
  ] })
817
818
  ]
818
819
  }
@@ -824,12 +825,12 @@ var NavbarPlatformResources = ({
824
825
  if (layout === "featured-grid" && link.links && link.links.length > 0) {
825
826
  const featuredItem = link.links[0];
826
827
  const gridItems = link.links.slice(1);
827
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[900px] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-8", children: [
828
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(260px,0.8fr)_minmax(0,1.2fr)] gap-8", children: [
828
829
  /* @__PURE__ */ jsxRuntime.jsx(
829
830
  NavigationMenuLink,
830
831
  {
831
832
  href: getLinkUrl(featuredItem),
832
- className: "group w-1/3 p-0 hover:bg-transparent",
833
+ className: "group block h-full min-w-0 p-0 hover:bg-transparent",
833
834
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "overflow-clip rounded-lg border border-input bg-background", children: [
834
835
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
835
836
  img.Img,
@@ -847,17 +848,23 @@ var NavbarPlatformResources = ({
847
848
  ] })
848
849
  }
849
850
  ),
850
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-[760px] flex-1", children: [
851
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
851
852
  link.dropdownGroups && link.dropdownGroups[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
852
853
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-2 lg:gap-8", children: gridItems.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
853
854
  NavigationMenuLink,
854
855
  {
855
856
  href: getLinkUrl(item),
856
- className: "group block p-4",
857
+ className: "group block h-full w-full min-w-0 rounded-md p-4",
857
858
  children: [
858
- (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-5 group-hover:opacity-60", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 20 }) : null }),
859
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-base", children: item.label }),
860
- item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
859
+ (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-5 group-hover:opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(
860
+ DynamicIcon,
861
+ {
862
+ name: item.icon || item.iconName,
863
+ size: 20
864
+ }
865
+ ) }),
866
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 break-words text-base", children: item.label }),
867
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: item.description })
861
868
  ]
862
869
  },
863
870
  `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
@@ -867,17 +874,23 @@ var NavbarPlatformResources = ({
867
874
  }
868
875
  if (layout === "two-column-cta" && link.dropdownGroups && link.dropdownGroups.length > 0) {
869
876
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
870
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[900px] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-4", children: [
871
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-1/2 max-w-[510px]", children: link.dropdownGroups[0] && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
877
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)] gap-4", children: [
878
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: link.dropdownGroups[0] && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
872
879
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
873
880
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-4", children: link.dropdownGroups[0].links.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
874
881
  NavigationMenuLink,
875
882
  {
876
883
  href: getLinkUrl(item),
877
- className: "group flex flex-row items-center gap-5",
884
+ className: "group !flex !w-full min-w-0 flex-row items-center gap-5 rounded-md p-2",
878
885
  children: [
879
- (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "group-hover:opacity-60", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
880
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base", children: item.label })
886
+ (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "group-hover:opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(
887
+ DynamicIcon,
888
+ {
889
+ name: item.icon || item.iconName,
890
+ size: 16
891
+ }
892
+ ) }),
893
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 break-words text-base", children: item.label })
881
894
  ]
882
895
  },
883
896
  `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
@@ -887,7 +900,7 @@ var NavbarPlatformResources = ({
887
900
  NavigationMenuLink,
888
901
  {
889
902
  href: getLinkUrl(ctaItem),
890
- className: "group flex-1 p-0 hover:bg-transparent",
903
+ className: "group min-w-0 p-0 hover:bg-transparent",
891
904
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full rounded-lg border border-input bg-background p-0 hover:bg-transparent", children: [
892
905
  ctaItem.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-2/5 max-w-[310px] shrink-0 overflow-clip rounded-tl-lg rounded-bl-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
893
906
  img.Img,
@@ -898,11 +911,11 @@ var NavbarPlatformResources = ({
898
911
  optixFlowConfig
899
912
  }
900
913
  ) }),
901
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col p-5 xl:p-8", children: [
914
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col p-5 xl:p-8", children: [
902
915
  ctaItem.background && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 text-xs tracking-widest text-muted-foreground uppercase", children: ctaItem.background }),
903
916
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
904
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xl", children: ctaItem.label }),
905
- ctaItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: ctaItem.description })
917
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 break-words text-xl", children: ctaItem.label }),
918
+ ctaItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: ctaItem.description })
906
919
  ] })
907
920
  ] })
908
921
  ] })
@@ -913,32 +926,38 @@ var NavbarPlatformResources = ({
913
926
  if (layout === "list-showcase" && link.dropdownGroups && link.dropdownGroups.length > 0) {
914
927
  const listItems = link.dropdownGroups[0].links;
915
928
  const showcaseItems = link.links || [];
916
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[900px] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-8", children: [
917
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-1/3 max-w-[404px]", children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
929
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(260px,0.7fr)_minmax(0,1.3fr)] gap-8", children: [
930
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
918
931
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
919
932
  link.dropdownGroups[0].description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 text-sm font-normal text-muted-foreground", children: link.dropdownGroups[0].description }),
920
933
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "-ml-2.5 space-y-2.5", children: listItems.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
921
934
  NavigationMenuLink,
922
935
  {
923
936
  href: getLinkUrl(item),
924
- className: "group flex flex-row items-center gap-2.5 rounded-md p-2.5 focus:text-accent-foreground",
937
+ className: "group !flex !w-full min-w-0 flex-row items-center gap-2.5 rounded-md p-2.5 focus:text-accent-foreground",
925
938
  children: [
926
- (item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null),
927
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base", children: item.label })
939
+ (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
940
+ DynamicIcon,
941
+ {
942
+ name: item.icon || item.iconName,
943
+ size: 16
944
+ }
945
+ ),
946
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 break-words text-base", children: item.label })
928
947
  ]
929
948
  },
930
949
  `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
931
950
  )) })
932
951
  ] }) }),
933
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-[716px] flex-1 space-y-6", children: showcaseItems.map((showcase, showcaseIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
952
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 space-y-6", children: showcaseItems.map((showcase, showcaseIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
934
953
  NavigationMenuLink,
935
954
  {
936
955
  href: getLinkUrl(showcase),
937
- className: "flex flex-row items-center overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
956
+ className: "!flex !w-full min-w-0 flex-row items-center overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
938
957
  children: [
939
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 p-5 xl:p-8", children: [
940
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-base", children: showcase.label }),
941
- showcase.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: showcase.description })
958
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 p-5 xl:p-8", children: [
959
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 break-words text-base", children: showcase.label }),
960
+ showcase.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: showcase.description })
942
961
  ] }),
943
962
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[154px] max-w-[264px] shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
944
963
  img.Img,
@@ -957,7 +976,7 @@ var NavbarPlatformResources = ({
957
976
  }
958
977
  if (layout === "multi-section" && link.dropdownGroups) {
959
978
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
960
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[900px] p-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
979
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
961
980
  link.dropdownGroups.map((group, groupIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
962
981
  "div",
963
982
  {
@@ -968,10 +987,10 @@ var NavbarPlatformResources = ({
968
987
  NavigationMenuLink,
969
988
  {
970
989
  href: getLinkUrl(item),
971
- className: "flex h-full flex-col overflow-clip rounded-lg border border-input bg-background p-5 hover:bg-accent hover:text-accent-foreground xl:p-8",
990
+ className: "!flex h-full w-full min-w-0 flex-col overflow-clip rounded-lg border border-input bg-background p-5 hover:bg-accent hover:text-accent-foreground xl:p-8",
972
991
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
973
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-base", children: item.label }),
974
- item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
992
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 break-words text-base", children: item.label }),
993
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: item.description })
975
994
  ] })
976
995
  },
977
996
  `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
@@ -985,11 +1004,11 @@ var NavbarPlatformResources = ({
985
1004
  NavigationMenuLink,
986
1005
  {
987
1006
  href: getLinkUrl(ctaItem),
988
- className: "mb-6 flex flex-row overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
1007
+ className: "mb-6 !flex !w-full min-w-0 flex-row overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
989
1008
  children: [
990
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 p-5 xl:p-8", children: [
991
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-base", children: ctaItem.label }),
992
- ctaItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: ctaItem.description })
1009
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 p-5 xl:p-8", children: [
1010
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 break-words text-base", children: ctaItem.label }),
1011
+ ctaItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: ctaItem.description })
993
1012
  ] }),
994
1013
  ctaItem.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-1/3 max-w-[130px] shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
995
1014
  img.Img,
@@ -1010,13 +1029,13 @@ var NavbarPlatformResources = ({
1010
1029
  ] })
1011
1030
  ] }) });
1012
1031
  }
1013
- return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[640px] p-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
1032
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
1014
1033
  NavigationMenuLink,
1015
1034
  {
1016
1035
  href: getLinkUrl(item),
1017
- className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
1036
+ className: "!flex !w-full min-w-0 flex-row items-center gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
1018
1037
  children: [
1019
- item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1038
+ item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1020
1039
  img.Img,
1021
1040
  {
1022
1041
  src: item.image,
@@ -1025,10 +1044,10 @@ var NavbarPlatformResources = ({
1025
1044
  optixFlowConfig
1026
1045
  }
1027
1046
  ) }),
1028
- !item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 18 }) : null }),
1029
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1030
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-foreground", children: item.label }),
1031
- item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
1047
+ !item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.icon || item.iconName, size: 18 }) }),
1048
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
1049
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-medium text-foreground", children: item.label }),
1050
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: item.description })
1032
1051
  ] })
1033
1052
  ]
1034
1053
  },
@@ -1047,9 +1066,9 @@ var NavbarPlatformResources = ({
1047
1066
  ...pressableProps
1048
1067
  } = action;
1049
1068
  return /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1050
- icon,
1069
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: icon, size: 16, className: "shrink-0" }),
1051
1070
  label,
1052
- iconAfter
1071
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: iconAfter, size: 16, className: "shrink-0" })
1053
1072
  ] }) }, index);
1054
1073
  });
1055
1074
  }, [actions]);
@@ -1173,13 +1192,13 @@ var NavbarPlatformResources = ({
1173
1192
  href: getLinkUrl(item),
1174
1193
  className: "flex items-center gap-2 pl-4 text-sm text-muted-foreground hover:text-foreground",
1175
1194
  children: [
1176
- (item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
1195
+ (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
1177
1196
  DynamicIcon,
1178
1197
  {
1179
- name: item.iconName,
1198
+ name: item.icon || item.iconName,
1180
1199
  size: 14
1181
1200
  }
1182
- ) : null),
1201
+ ),
1183
1202
  item.label
1184
1203
  ]
1185
1204
  },
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
4
- import { a as ILinkItem, b as IMenuLinkGroup, L as LogoConfig, N as NavbarLayoutVariant } from './types-ldjwVMcl.cjs';
4
+ import { a as ILinkItem, b as IMenuLinkGroup, L as LogoConfig, N as NavbarLayoutVariant } from './types-mWZcgKth.cjs';
5
5
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
6
+ import './dynamic-icon.cjs';
7
+ import '@page-speed/icon';
6
8
  import 'class-variance-authority';
7
9
  import '@page-speed/pressable';
8
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
4
- import { a as ILinkItem, b as IMenuLinkGroup, L as LogoConfig, N as NavbarLayoutVariant } from './types-ldjwVMcl.js';
4
+ import { a as ILinkItem, b as IMenuLinkGroup, L as LogoConfig, N as NavbarLayoutVariant } from './types-hJ2R0GoH.js';
5
5
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.js';
6
+ import './dynamic-icon.js';
7
+ import '@page-speed/icon';
6
8
  import 'class-variance-authority';
7
9
  import '@page-speed/pressable';
8
10
  import '@opensite/hooks/usePlatformFromUrl';