@opensite/ui 3.4.9 → 3.5.0

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 (133) hide show
  1. package/dist/components.cjs +13 -7
  2. package/dist/components.js +13 -7
  3. package/dist/footer-accordion-social.cjs +1 -1
  4. package/dist/footer-accordion-social.js +1 -1
  5. package/dist/footer-animated-social.cjs +1 -1
  6. package/dist/footer-animated-social.js +1 -1
  7. package/dist/footer-background-card.cjs +1 -1
  8. package/dist/footer-background-card.js +1 -1
  9. package/dist/footer-brand-description.cjs +1 -0
  10. package/dist/footer-brand-description.js +1 -0
  11. package/dist/footer-brand-links-contact.cjs +1 -1
  12. package/dist/footer-brand-links-contact.js +1 -1
  13. package/dist/footer-comprehensive-links.cjs +1 -1
  14. package/dist/footer-comprehensive-links.js +1 -1
  15. package/dist/footer-contact-card.cjs +1 -1
  16. package/dist/footer-contact-card.js +1 -1
  17. package/dist/footer-cta-banner.cjs +1 -1
  18. package/dist/footer-cta-banner.js +1 -1
  19. package/dist/footer-cta-social.cjs +1 -1
  20. package/dist/footer-cta-social.js +1 -1
  21. package/dist/footer-info-cards-accordion.cjs +1 -1
  22. package/dist/footer-info-cards-accordion.js +1 -1
  23. package/dist/footer-links-grid.cjs +1 -0
  24. package/dist/footer-links-grid.js +1 -0
  25. package/dist/footer-nav-social.cjs +1 -0
  26. package/dist/footer-nav-social.js +1 -0
  27. package/dist/footer-newsletter-contact.cjs +1 -1
  28. package/dist/footer-newsletter-contact.js +1 -1
  29. package/dist/footer-newsletter-grid.cjs +1 -0
  30. package/dist/footer-newsletter-grid.js +1 -0
  31. package/dist/footer-newsletter-minimal.cjs +1 -1
  32. package/dist/footer-newsletter-minimal.js +1 -1
  33. package/dist/footer-simple-centered.cjs +1 -1
  34. package/dist/footer-simple-centered.js +1 -1
  35. package/dist/footer-social-apps.cjs +1 -0
  36. package/dist/footer-social-apps.js +1 -0
  37. package/dist/footer-social-newsletter.cjs +1 -0
  38. package/dist/footer-social-newsletter.js +1 -0
  39. package/dist/footer-split-image-accordion.cjs +1 -1
  40. package/dist/footer-split-image-accordion.js +1 -1
  41. package/dist/hero-stats-social-proof.cjs +35 -5
  42. package/dist/hero-stats-social-proof.d.cts +1 -1
  43. package/dist/hero-stats-social-proof.d.ts +1 -1
  44. package/dist/hero-stats-social-proof.js +19 -4
  45. package/dist/index.cjs +13 -7
  46. package/dist/index.js +13 -7
  47. package/dist/navbar-animated-preview.cjs +1 -0
  48. package/dist/navbar-animated-preview.d.cts +15 -1
  49. package/dist/navbar-animated-preview.d.ts +15 -1
  50. package/dist/navbar-animated-preview.js +1 -0
  51. package/dist/navbar-centered-menu.cjs +1 -1
  52. package/dist/navbar-centered-menu.d.cts +15 -1
  53. package/dist/navbar-centered-menu.d.ts +15 -1
  54. package/dist/navbar-centered-menu.js +1 -1
  55. package/dist/navbar-dark-icons.cjs +1 -1
  56. package/dist/navbar-dark-icons.d.cts +15 -1
  57. package/dist/navbar-dark-icons.d.ts +15 -1
  58. package/dist/navbar-dark-icons.js +1 -1
  59. package/dist/navbar-dropdown-menu.cjs +1 -1
  60. package/dist/navbar-dropdown-menu.d.cts +15 -1
  61. package/dist/navbar-dropdown-menu.d.ts +15 -1
  62. package/dist/navbar-dropdown-menu.js +1 -1
  63. package/dist/navbar-education-platform.cjs +1 -0
  64. package/dist/navbar-education-platform.d.cts +15 -1
  65. package/dist/navbar-education-platform.d.ts +15 -1
  66. package/dist/navbar-education-platform.js +1 -0
  67. package/dist/navbar-enterprise-mega.cjs +2 -1
  68. package/dist/navbar-enterprise-mega.d.cts +15 -1
  69. package/dist/navbar-enterprise-mega.d.ts +15 -1
  70. package/dist/navbar-enterprise-mega.js +2 -1
  71. package/dist/navbar-feature-grid.cjs +1 -1
  72. package/dist/navbar-feature-grid.d.cts +19 -1
  73. package/dist/navbar-feature-grid.d.ts +19 -1
  74. package/dist/navbar-feature-grid.js +1 -1
  75. package/dist/navbar-floating-pill.cjs +1 -1
  76. package/dist/navbar-floating-pill.d.cts +15 -1
  77. package/dist/navbar-floating-pill.d.ts +15 -1
  78. package/dist/navbar-floating-pill.js +1 -1
  79. package/dist/navbar-fullscreen-menu.cjs +1 -0
  80. package/dist/navbar-fullscreen-menu.d.cts +15 -1
  81. package/dist/navbar-fullscreen-menu.d.ts +15 -1
  82. package/dist/navbar-fullscreen-menu.js +1 -0
  83. package/dist/navbar-icon-links.cjs +1 -1
  84. package/dist/navbar-icon-links.d.cts +15 -1
  85. package/dist/navbar-icon-links.d.ts +15 -1
  86. package/dist/navbar-icon-links.js +1 -1
  87. package/dist/navbar-image-preview.cjs +1 -1
  88. package/dist/navbar-image-preview.d.cts +15 -1
  89. package/dist/navbar-image-preview.d.ts +15 -1
  90. package/dist/navbar-image-preview.js +1 -1
  91. package/dist/navbar-mega-menu.cjs +1 -1
  92. package/dist/navbar-mega-menu.d.cts +15 -1
  93. package/dist/navbar-mega-menu.d.ts +15 -1
  94. package/dist/navbar-mega-menu.js +1 -1
  95. package/dist/navbar-multi-column-groups.cjs +1 -0
  96. package/dist/navbar-multi-column-groups.d.cts +15 -1
  97. package/dist/navbar-multi-column-groups.d.ts +15 -1
  98. package/dist/navbar-multi-column-groups.js +1 -0
  99. package/dist/navbar-platform-resources.cjs +40 -7
  100. package/dist/navbar-platform-resources.d.cts +16 -2
  101. package/dist/navbar-platform-resources.d.ts +16 -2
  102. package/dist/navbar-platform-resources.js +40 -7
  103. package/dist/navbar-search-focused.cjs +1 -0
  104. package/dist/navbar-search-focused.d.cts +19 -1
  105. package/dist/navbar-search-focused.d.ts +19 -1
  106. package/dist/navbar-search-focused.js +1 -0
  107. package/dist/navbar-sidebar-mobile.cjs +1 -0
  108. package/dist/navbar-sidebar-mobile.d.cts +15 -1
  109. package/dist/navbar-sidebar-mobile.d.ts +15 -1
  110. package/dist/navbar-sidebar-mobile.js +1 -0
  111. package/dist/navbar-simple-links.cjs +1 -0
  112. package/dist/navbar-simple-links.d.cts +19 -1
  113. package/dist/navbar-simple-links.d.ts +19 -1
  114. package/dist/navbar-simple-links.js +1 -0
  115. package/dist/navbar-split-cta.cjs +1 -1
  116. package/dist/navbar-split-cta.d.cts +15 -1
  117. package/dist/navbar-split-cta.d.ts +15 -1
  118. package/dist/navbar-split-cta.js +1 -1
  119. package/dist/navbar-sticky-compact.cjs +1 -0
  120. package/dist/navbar-sticky-compact.d.cts +15 -1
  121. package/dist/navbar-sticky-compact.d.ts +15 -1
  122. package/dist/navbar-sticky-compact.js +1 -0
  123. package/dist/navbar-tabbed-sections.cjs +1 -1
  124. package/dist/navbar-tabbed-sections.d.cts +15 -1
  125. package/dist/navbar-tabbed-sections.d.ts +15 -1
  126. package/dist/navbar-tabbed-sections.js +1 -1
  127. package/dist/navbar-transparent-overlay.cjs +1 -0
  128. package/dist/navbar-transparent-overlay.d.cts +15 -1
  129. package/dist/navbar-transparent-overlay.d.ts +15 -1
  130. package/dist/navbar-transparent-overlay.js +1 -0
  131. package/dist/registry.cjs +81 -32
  132. package/dist/registry.js +81 -32
  133. package/package.json +1 -1
@@ -29,6 +29,20 @@ interface MenuItem {
29
29
  * Props for the NavbarMultiColumnGroups component
30
30
  */
31
31
  interface NavbarMultiColumnGroupsProps {
32
+ /**
33
+ * Logo configuration
34
+ */
35
+ logo?: LogoConfig;
36
+ /**
37
+ * Navigation menu items
38
+ */
39
+ navigation?: MenuItem[];
40
+ /**
41
+ * Authentication action configurations for desktop
42
+ */
43
+ authActions?: ActionConfig[];
44
+ }
45
+ interface NavbarMultiColumnGroupsRuntimeProps {
32
46
  /**
33
47
  * Additional CSS classes for the section
34
48
  */
@@ -119,6 +133,6 @@ interface NavbarMultiColumnGroupsProps {
119
133
  * full-screen sheet with accordion navigation and CTA buttons at the top. Ideal for SaaS
120
134
  * platforms, enterprise software, and products with many features to showcase.
121
135
  */
122
- declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
136
+ declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsRuntimeProps) => react_jsx_runtime.JSX.Element;
123
137
 
124
138
  export { NavbarMultiColumnGroups, type NavbarMultiColumnGroupsProps };
@@ -29,6 +29,20 @@ interface MenuItem {
29
29
  * Props for the NavbarMultiColumnGroups component
30
30
  */
31
31
  interface NavbarMultiColumnGroupsProps {
32
+ /**
33
+ * Logo configuration
34
+ */
35
+ logo?: LogoConfig;
36
+ /**
37
+ * Navigation menu items
38
+ */
39
+ navigation?: MenuItem[];
40
+ /**
41
+ * Authentication action configurations for desktop
42
+ */
43
+ authActions?: ActionConfig[];
44
+ }
45
+ interface NavbarMultiColumnGroupsRuntimeProps {
32
46
  /**
33
47
  * Additional CSS classes for the section
34
48
  */
@@ -119,6 +133,6 @@ interface NavbarMultiColumnGroupsProps {
119
133
  * full-screen sheet with accordion navigation and CTA buttons at the top. Ideal for SaaS
120
134
  * platforms, enterprise software, and products with many features to showcase.
121
135
  */
122
- declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
136
+ declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsRuntimeProps) => react_jsx_runtime.JSX.Element;
123
137
 
124
138
  export { NavbarMultiColumnGroups, type NavbarMultiColumnGroupsProps };
@@ -838,6 +838,7 @@ var NavbarMultiColumnGroups = ({
838
838
  /* @__PURE__ */ jsx(
839
839
  Section,
840
840
  {
841
+ id: "navbar-multi-column-groups",
841
842
  background,
842
843
  spacing: spacingOverride ?? spacing,
843
844
  className: sectionClasses,
@@ -792,8 +792,41 @@ var NavbarPlatformResources = ({
792
792
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
793
793
  const renderDropdownContent = (link) => {
794
794
  const layout = link.layout || "simple-list";
795
+ if (layout === "list-with-icons") {
796
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] overflow-y-auto p-4 md:!w-[900px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-full grid-cols-3 gap-4", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
797
+ NavigationMenuLink,
798
+ {
799
+ href: getLinkUrl(item),
800
+ className: "!flex h-full min-h-20 !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",
801
+ children: [
802
+ item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
803
+ img.Img,
804
+ {
805
+ src: item.image,
806
+ alt: typeof item.label === "string" ? item.label : "Menu item",
807
+ className: "h-full w-full object-cover object-center",
808
+ optixFlowConfig
809
+ }
810
+ ) }),
811
+ !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(
812
+ DynamicIcon,
813
+ {
814
+ name: item.icon || item.iconName,
815
+ size: 18,
816
+ className: "shrink-0"
817
+ }
818
+ ) }),
819
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
820
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-medium text-foreground", children: item.label }),
821
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: item.description })
822
+ ] })
823
+ ]
824
+ },
825
+ `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
826
+ )) }) });
827
+ }
795
828
  if (layout === "simple-list") {
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(
829
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[400px] max-w-[calc(100vw-2rem)] p-3 md:!w-[400px]", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "w-full space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(
797
830
  "li",
798
831
  {
799
832
  className: "w-full",
@@ -825,7 +858,7 @@ var NavbarPlatformResources = ({
825
858
  if (layout === "featured-grid" && link.links && link.links.length > 0) {
826
859
  const featuredItem = link.links[0];
827
860
  const gridItems = link.links.slice(1);
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: [
861
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(260px,0.8fr)_minmax(0,1.2fr)] gap-8", children: [
829
862
  /* @__PURE__ */ jsxRuntime.jsx(
830
863
  NavigationMenuLink,
831
864
  {
@@ -874,7 +907,7 @@ var NavbarPlatformResources = ({
874
907
  }
875
908
  if (layout === "two-column-cta" && link.dropdownGroups && link.dropdownGroups.length > 0) {
876
909
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
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: [
910
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)] gap-4", children: [
878
911
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: link.dropdownGroups[0] && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
879
912
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
880
913
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-4", children: link.dropdownGroups[0].links.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -926,7 +959,7 @@ var NavbarPlatformResources = ({
926
959
  if (layout === "list-showcase" && link.dropdownGroups && link.dropdownGroups.length > 0) {
927
960
  const listItems = link.dropdownGroups[0].links;
928
961
  const showcaseItems = link.links || [];
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: [
962
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(260px,0.7fr)_minmax(0,1.3fr)] gap-8", children: [
930
963
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
931
964
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
932
965
  link.dropdownGroups[0].description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 text-sm font-normal text-muted-foreground", children: link.dropdownGroups[0].description }),
@@ -976,7 +1009,7 @@ var NavbarPlatformResources = ({
976
1009
  }
977
1010
  if (layout === "multi-section" && link.dropdownGroups) {
978
1011
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
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: [
1012
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-8 md:!w-[900px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
980
1013
  link.dropdownGroups.map((group, groupIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
981
1014
  "div",
982
1015
  {
@@ -1029,7 +1062,7 @@ var NavbarPlatformResources = ({
1029
1062
  ] })
1030
1063
  ] }) });
1031
1064
  }
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(
1065
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-4 md:!w-[900px]", 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(
1033
1066
  NavigationMenuLink,
1034
1067
  {
1035
1068
  href: getLinkUrl(item),
@@ -1084,7 +1117,7 @@ var NavbarPlatformResources = ({
1084
1117
  return /* @__PURE__ */ jsxRuntime.jsx(
1085
1118
  Section,
1086
1119
  {
1087
- id: sectionId,
1120
+ id: "navbar-platform-resources",
1088
1121
  background,
1089
1122
  spacing: spacingOverride ?? spacing,
1090
1123
  className: sectionClasses,
@@ -53,7 +53,7 @@ import '@opensite/hooks/usePlatformFromUrl';
53
53
  * ctaCard (optional) for promotional content
54
54
  * - Example use case: "Resources" menu with sections for Blog, News, Case Studies, Customers
55
55
  */
56
- type DropdownLayout = "simple-list" | "featured-grid" | "two-column-cta" | "list-showcase" | "multi-section";
56
+ type DropdownLayout = "simple-list" | "list-with-icons" | "featured-grid" | "two-column-cta" | "list-showcase" | "multi-section";
57
57
  /**
58
58
  * Menu link configuration with layout-based dropdown options
59
59
  */
@@ -68,6 +68,20 @@ interface IMenuLink {
68
68
  * Props for the NavbarPlatformResources component
69
69
  */
70
70
  interface NavbarPlatformResourcesProps {
71
+ /**
72
+ * Logo configuration
73
+ */
74
+ logo?: LogoConfig;
75
+ /**
76
+ * Navigation menu links with optional dropdown groups
77
+ */
78
+ menuLinks?: IMenuLink[];
79
+ /**
80
+ * Actions rendered on the right side (desktop) and bottom (mobile)
81
+ */
82
+ actions?: ActionConfig[];
83
+ }
84
+ interface NavbarPlatformResourcesRuntimeProps {
71
85
  /**
72
86
  * Additional CSS classes for the section
73
87
  */
@@ -146,6 +160,6 @@ interface NavbarPlatformResourcesProps {
146
160
  * display icons or images. Mobile view uses a full-screen overlay with accordion navigation.
147
161
  * Ideal for platforms that need configurable navigation and supporting resources.
148
162
  */
149
- declare const NavbarPlatformResources: ({ sectionId, className, containerClassName, navigationMenuClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarPlatformResourcesProps) => react_jsx_runtime.JSX.Element;
163
+ declare const NavbarPlatformResources: ({ sectionId, className, containerClassName, navigationMenuClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarPlatformResourcesRuntimeProps) => react_jsx_runtime.JSX.Element;
150
164
 
151
165
  export { type DropdownLayout, ILinkItem, type IMenuLink, IMenuLinkGroup, LogoConfig, NavbarPlatformResources, type NavbarPlatformResourcesProps };
@@ -53,7 +53,7 @@ import '@opensite/hooks/usePlatformFromUrl';
53
53
  * ctaCard (optional) for promotional content
54
54
  * - Example use case: "Resources" menu with sections for Blog, News, Case Studies, Customers
55
55
  */
56
- type DropdownLayout = "simple-list" | "featured-grid" | "two-column-cta" | "list-showcase" | "multi-section";
56
+ type DropdownLayout = "simple-list" | "list-with-icons" | "featured-grid" | "two-column-cta" | "list-showcase" | "multi-section";
57
57
  /**
58
58
  * Menu link configuration with layout-based dropdown options
59
59
  */
@@ -68,6 +68,20 @@ interface IMenuLink {
68
68
  * Props for the NavbarPlatformResources component
69
69
  */
70
70
  interface NavbarPlatformResourcesProps {
71
+ /**
72
+ * Logo configuration
73
+ */
74
+ logo?: LogoConfig;
75
+ /**
76
+ * Navigation menu links with optional dropdown groups
77
+ */
78
+ menuLinks?: IMenuLink[];
79
+ /**
80
+ * Actions rendered on the right side (desktop) and bottom (mobile)
81
+ */
82
+ actions?: ActionConfig[];
83
+ }
84
+ interface NavbarPlatformResourcesRuntimeProps {
71
85
  /**
72
86
  * Additional CSS classes for the section
73
87
  */
@@ -146,6 +160,6 @@ interface NavbarPlatformResourcesProps {
146
160
  * display icons or images. Mobile view uses a full-screen overlay with accordion navigation.
147
161
  * Ideal for platforms that need configurable navigation and supporting resources.
148
162
  */
149
- declare const NavbarPlatformResources: ({ sectionId, className, containerClassName, navigationMenuClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarPlatformResourcesProps) => react_jsx_runtime.JSX.Element;
163
+ declare const NavbarPlatformResources: ({ sectionId, className, containerClassName, navigationMenuClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarPlatformResourcesRuntimeProps) => react_jsx_runtime.JSX.Element;
150
164
 
151
165
  export { type DropdownLayout, ILinkItem, type IMenuLink, IMenuLinkGroup, LogoConfig, NavbarPlatformResources, type NavbarPlatformResourcesProps };
@@ -769,8 +769,41 @@ var NavbarPlatformResources = ({
769
769
  const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
770
770
  const renderDropdownContent = (link) => {
771
771
  const layout = link.layout || "simple-list";
772
+ if (layout === "list-with-icons") {
773
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] overflow-y-auto p-4 md:!w-[900px]", children: /* @__PURE__ */ jsx("div", { className: "grid w-full grid-cols-3 gap-4", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
774
+ NavigationMenuLink,
775
+ {
776
+ href: getLinkUrl(item),
777
+ className: "!flex h-full min-h-20 !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",
778
+ children: [
779
+ item.image && /* @__PURE__ */ jsx("div", { className: "h-12 w-12 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
780
+ Img,
781
+ {
782
+ src: item.image,
783
+ alt: typeof item.label === "string" ? item.label : "Menu item",
784
+ className: "h-full w-full object-cover object-center",
785
+ optixFlowConfig
786
+ }
787
+ ) }),
788
+ !item.image && (item.icon || item.iconName) && /* @__PURE__ */ 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__ */ jsx(
789
+ DynamicIcon,
790
+ {
791
+ name: item.icon || item.iconName,
792
+ size: 18,
793
+ className: "shrink-0"
794
+ }
795
+ ) }),
796
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
797
+ /* @__PURE__ */ jsx("div", { className: "break-words text-sm font-medium text-foreground", children: item.label }),
798
+ item.description && /* @__PURE__ */ jsx("div", { className: "break-words text-sm font-normal text-muted-foreground", children: item.description })
799
+ ] })
800
+ ]
801
+ },
802
+ `${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
803
+ )) }) });
804
+ }
772
805
  if (layout === "simple-list") {
773
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[400px] max-w-[calc(100vw-2rem)] p-3", children: /* @__PURE__ */ jsx("ul", { className: "w-full space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsx(
806
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[400px] max-w-[calc(100vw-2rem)] p-3 md:!w-[400px]", children: /* @__PURE__ */ jsx("ul", { className: "w-full space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsx(
774
807
  "li",
775
808
  {
776
809
  className: "w-full",
@@ -802,7 +835,7 @@ var NavbarPlatformResources = ({
802
835
  if (layout === "featured-grid" && link.links && link.links.length > 0) {
803
836
  const featuredItem = link.links[0];
804
837
  const gridItems = link.links.slice(1);
805
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(260px,0.8fr)_minmax(0,1.2fr)] gap-8", children: [
838
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(260px,0.8fr)_minmax(0,1.2fr)] gap-8", children: [
806
839
  /* @__PURE__ */ jsx(
807
840
  NavigationMenuLink,
808
841
  {
@@ -851,7 +884,7 @@ var NavbarPlatformResources = ({
851
884
  }
852
885
  if (layout === "two-column-cta" && link.dropdownGroups && link.dropdownGroups.length > 0) {
853
886
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
854
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)] gap-4", children: [
887
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)] gap-4", children: [
855
888
  /* @__PURE__ */ jsx("div", { className: "min-w-0", children: link.dropdownGroups[0] && /* @__PURE__ */ jsxs(Fragment, { children: [
856
889
  /* @__PURE__ */ jsx("div", { className: "mb-6 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
857
890
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-4", children: link.dropdownGroups[0].links.map((item, itemIndex) => /* @__PURE__ */ jsxs(
@@ -903,7 +936,7 @@ var NavbarPlatformResources = ({
903
936
  if (layout === "list-showcase" && link.dropdownGroups && link.dropdownGroups.length > 0) {
904
937
  const listItems = link.dropdownGroups[0].links;
905
938
  const showcaseItems = link.links || [];
906
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-6", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(260px,0.7fr)_minmax(0,1.3fr)] gap-8", children: [
939
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-6 md:!w-[900px]", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(260px,0.7fr)_minmax(0,1.3fr)] gap-8", children: [
907
940
  /* @__PURE__ */ jsx("div", { className: "min-w-0", children: /* @__PURE__ */ jsxs(Fragment, { children: [
908
941
  /* @__PURE__ */ jsx("div", { className: "mb-4 text-xs tracking-widest text-muted-foreground uppercase", children: link.dropdownGroups[0].label }),
909
942
  link.dropdownGroups[0].description && /* @__PURE__ */ jsx("div", { className: "mb-6 text-sm font-normal text-muted-foreground", children: link.dropdownGroups[0].description }),
@@ -953,7 +986,7 @@ var NavbarPlatformResources = ({
953
986
  }
954
987
  if (layout === "multi-section" && link.dropdownGroups) {
955
988
  const ctaItem = link.links && link.links.length > 0 ? link.links[link.links.length - 1] : null;
956
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-8", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
989
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-8 md:!w-[900px]", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
957
990
  link.dropdownGroups.map((group, groupIndex) => /* @__PURE__ */ jsxs(
958
991
  "div",
959
992
  {
@@ -1006,7 +1039,7 @@ var NavbarPlatformResources = ({
1006
1039
  ] })
1007
1040
  ] }) });
1008
1041
  }
1009
- return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "w-[900px] max-w-[calc(100vw-2rem)] p-4", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
1042
+ return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "md:left-1/2 md:-translate-x-1/2 !w-[900px] max-w-[calc(100vw-2rem)] p-4 md:!w-[900px]", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
1010
1043
  NavigationMenuLink,
1011
1044
  {
1012
1045
  href: getLinkUrl(item),
@@ -1061,7 +1094,7 @@ var NavbarPlatformResources = ({
1061
1094
  return /* @__PURE__ */ jsx(
1062
1095
  Section,
1063
1096
  {
1064
- id: sectionId,
1097
+ id: "navbar-platform-resources",
1065
1098
  background,
1066
1099
  spacing: spacingOverride ?? spacing,
1067
1100
  className: sectionClasses,
@@ -783,6 +783,7 @@ var NavbarSearchFocused = ({
783
783
  /* @__PURE__ */ jsxRuntime.jsx(
784
784
  Section,
785
785
  {
786
+ id: "navbar-search-focused",
786
787
  background,
787
788
  spacing: spacingOverride ?? spacing,
788
789
  className: sectionClasses,
@@ -19,6 +19,24 @@ interface NavItem {
19
19
  * Props for the NavbarSearchFocused component
20
20
  */
21
21
  interface NavbarSearchFocusedProps {
22
+ /**
23
+ * Logo configuration
24
+ */
25
+ logo?: LogoConfig;
26
+ /**
27
+ * Search placeholder text
28
+ */
29
+ searchPlaceholder?: React.ReactNode;
30
+ /**
31
+ * Navigation items for the left side
32
+ */
33
+ navItems?: NavItem[];
34
+ /**
35
+ * Authentication action configurations for desktop
36
+ */
37
+ authActions?: ActionConfig[];
38
+ }
39
+ interface NavbarSearchFocusedRuntimeProps {
22
40
  /**
23
41
  * Additional CSS classes for the section
24
42
  */
@@ -121,6 +139,6 @@ interface NavbarSearchFocusedProps {
121
139
  * below the logo and hamburger menu, with navigation in a slide-out sheet. Ideal for
122
140
  * e-commerce sites, marketplaces, documentation sites, and content-heavy platforms.
123
141
  */
124
- declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedProps) => react_jsx_runtime.JSX.Element;
142
+ declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedRuntimeProps) => react_jsx_runtime.JSX.Element;
125
143
 
126
144
  export { NavbarSearchFocused, type NavbarSearchFocusedProps };
@@ -19,6 +19,24 @@ interface NavItem {
19
19
  * Props for the NavbarSearchFocused component
20
20
  */
21
21
  interface NavbarSearchFocusedProps {
22
+ /**
23
+ * Logo configuration
24
+ */
25
+ logo?: LogoConfig;
26
+ /**
27
+ * Search placeholder text
28
+ */
29
+ searchPlaceholder?: React.ReactNode;
30
+ /**
31
+ * Navigation items for the left side
32
+ */
33
+ navItems?: NavItem[];
34
+ /**
35
+ * Authentication action configurations for desktop
36
+ */
37
+ authActions?: ActionConfig[];
38
+ }
39
+ interface NavbarSearchFocusedRuntimeProps {
22
40
  /**
23
41
  * Additional CSS classes for the section
24
42
  */
@@ -121,6 +139,6 @@ interface NavbarSearchFocusedProps {
121
139
  * below the logo and hamburger menu, with navigation in a slide-out sheet. Ideal for
122
140
  * e-commerce sites, marketplaces, documentation sites, and content-heavy platforms.
123
141
  */
124
- declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedProps) => react_jsx_runtime.JSX.Element;
142
+ declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedRuntimeProps) => react_jsx_runtime.JSX.Element;
125
143
 
126
144
  export { NavbarSearchFocused, type NavbarSearchFocusedProps };
@@ -761,6 +761,7 @@ var NavbarSearchFocused = ({
761
761
  /* @__PURE__ */ jsx(
762
762
  Section,
763
763
  {
764
+ id: "navbar-search-focused",
764
765
  background,
765
766
  spacing: spacingOverride ?? spacing,
766
767
  className: sectionClasses,
@@ -854,6 +854,7 @@ var NavbarSidebarMobile = ({
854
854
  /* @__PURE__ */ jsxRuntime.jsx(
855
855
  Section,
856
856
  {
857
+ id: "navbar-sidebar-mobile",
857
858
  background,
858
859
  spacing: spacingOverride ?? spacing,
859
860
  className: sectionClasses,
@@ -24,6 +24,20 @@ interface MenuItem {
24
24
  * Props for the NavbarSidebarMobile component
25
25
  */
26
26
  interface NavbarSidebarMobileProps {
27
+ /**
28
+ * Logo configuration
29
+ */
30
+ logo?: LogoConfig;
31
+ /**
32
+ * Navigation menu items
33
+ */
34
+ menu?: MenuItem[];
35
+ /**
36
+ * Authentication action configurations
37
+ */
38
+ authActions?: ActionConfig[];
39
+ }
40
+ interface NavbarSidebarMobileRuntimeProps {
27
41
  /**
28
42
  * Additional CSS classes for the section
29
43
  */
@@ -117,6 +131,6 @@ interface NavbarSidebarMobileProps {
117
131
  * header with logo and close button. Ideal for applications that need a more app-like
118
132
  * mobile navigation experience.
119
133
  */
120
- declare const NavbarSidebarMobile: ({ logo, logoSlot, logoClassName, menu, menuSlot, mobileExtraLinks, mobileExtraLinksSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSidebarMobileProps) => react_jsx_runtime.JSX.Element;
134
+ declare const NavbarSidebarMobile: ({ logo, logoSlot, logoClassName, menu, menuSlot, mobileExtraLinks, mobileExtraLinksSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSidebarMobileRuntimeProps) => react_jsx_runtime.JSX.Element;
121
135
 
122
136
  export { NavbarSidebarMobile, type NavbarSidebarMobileProps };
@@ -24,6 +24,20 @@ interface MenuItem {
24
24
  * Props for the NavbarSidebarMobile component
25
25
  */
26
26
  interface NavbarSidebarMobileProps {
27
+ /**
28
+ * Logo configuration
29
+ */
30
+ logo?: LogoConfig;
31
+ /**
32
+ * Navigation menu items
33
+ */
34
+ menu?: MenuItem[];
35
+ /**
36
+ * Authentication action configurations
37
+ */
38
+ authActions?: ActionConfig[];
39
+ }
40
+ interface NavbarSidebarMobileRuntimeProps {
27
41
  /**
28
42
  * Additional CSS classes for the section
29
43
  */
@@ -117,6 +131,6 @@ interface NavbarSidebarMobileProps {
117
131
  * header with logo and close button. Ideal for applications that need a more app-like
118
132
  * mobile navigation experience.
119
133
  */
120
- declare const NavbarSidebarMobile: ({ logo, logoSlot, logoClassName, menu, menuSlot, mobileExtraLinks, mobileExtraLinksSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSidebarMobileProps) => react_jsx_runtime.JSX.Element;
134
+ declare const NavbarSidebarMobile: ({ logo, logoSlot, logoClassName, menu, menuSlot, mobileExtraLinks, mobileExtraLinksSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSidebarMobileRuntimeProps) => react_jsx_runtime.JSX.Element;
121
135
 
122
136
  export { NavbarSidebarMobile, type NavbarSidebarMobileProps };
@@ -831,6 +831,7 @@ var NavbarSidebarMobile = ({
831
831
  /* @__PURE__ */ jsx(
832
832
  Section,
833
833
  {
834
+ id: "navbar-sidebar-mobile",
834
835
  background,
835
836
  spacing: spacingOverride ?? spacing,
836
837
  className: sectionClasses,
@@ -777,6 +777,7 @@ var NavbarSimpleLinks = ({
777
777
  /* @__PURE__ */ jsxRuntime.jsx(
778
778
  Section,
779
779
  {
780
+ id: "navbar-simple-links",
780
781
  background,
781
782
  spacing: spacingOverride ?? spacing,
782
783
  className: sectionClasses,
@@ -20,6 +20,24 @@ interface NavItem {
20
20
  * Props for the NavbarSimpleLinks component
21
21
  */
22
22
  interface NavbarSimpleLinksProps {
23
+ /**
24
+ * Logo configuration
25
+ */
26
+ logo?: LogoConfig;
27
+ /**
28
+ * Navigation items array
29
+ */
30
+ navItems?: NavItem[];
31
+ /**
32
+ * Initial active item name
33
+ */
34
+ defaultActiveItem?: string;
35
+ /**
36
+ * Authentication/CTA action configurations
37
+ */
38
+ actions?: ActionConfig[];
39
+ }
40
+ interface NavbarSimpleLinksRuntimeProps {
23
41
  /**
24
42
  * Additional CSS classes for the section
25
43
  */
@@ -122,6 +140,6 @@ interface NavbarSimpleLinksProps {
122
140
  * NavbarMobileMenu component with a fullscreen overlay. Perfect for simple marketing
123
141
  * sites and portfolios.
124
142
  */
125
- declare const NavbarSimpleLinks: ({ className, containerClassName, navClassName, navigationMenuClassName, menuListClassName, actionsClassName, mobileMenuClassName, logo, logoSlot, logoClassName, navItems, navItemsSlot, defaultActiveItem, actions, actionsSlot, mobileActions, mobileActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSimpleLinksProps) => react_jsx_runtime.JSX.Element;
143
+ declare const NavbarSimpleLinks: ({ className, containerClassName, navClassName, navigationMenuClassName, menuListClassName, actionsClassName, mobileMenuClassName, logo, logoSlot, logoClassName, navItems, navItemsSlot, defaultActiveItem, actions, actionsSlot, mobileActions, mobileActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSimpleLinksRuntimeProps) => react_jsx_runtime.JSX.Element;
126
144
 
127
145
  export { NavbarSimpleLinks, type NavbarSimpleLinksProps };
@@ -20,6 +20,24 @@ interface NavItem {
20
20
  * Props for the NavbarSimpleLinks component
21
21
  */
22
22
  interface NavbarSimpleLinksProps {
23
+ /**
24
+ * Logo configuration
25
+ */
26
+ logo?: LogoConfig;
27
+ /**
28
+ * Navigation items array
29
+ */
30
+ navItems?: NavItem[];
31
+ /**
32
+ * Initial active item name
33
+ */
34
+ defaultActiveItem?: string;
35
+ /**
36
+ * Authentication/CTA action configurations
37
+ */
38
+ actions?: ActionConfig[];
39
+ }
40
+ interface NavbarSimpleLinksRuntimeProps {
23
41
  /**
24
42
  * Additional CSS classes for the section
25
43
  */
@@ -122,6 +140,6 @@ interface NavbarSimpleLinksProps {
122
140
  * NavbarMobileMenu component with a fullscreen overlay. Perfect for simple marketing
123
141
  * sites and portfolios.
124
142
  */
125
- declare const NavbarSimpleLinks: ({ className, containerClassName, navClassName, navigationMenuClassName, menuListClassName, actionsClassName, mobileMenuClassName, logo, logoSlot, logoClassName, navItems, navItemsSlot, defaultActiveItem, actions, actionsSlot, mobileActions, mobileActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSimpleLinksProps) => react_jsx_runtime.JSX.Element;
143
+ declare const NavbarSimpleLinks: ({ className, containerClassName, navClassName, navigationMenuClassName, menuListClassName, actionsClassName, mobileMenuClassName, logo, logoSlot, logoClassName, navItems, navItemsSlot, defaultActiveItem, actions, actionsSlot, mobileActions, mobileActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSimpleLinksRuntimeProps) => react_jsx_runtime.JSX.Element;
126
144
 
127
145
  export { NavbarSimpleLinks, type NavbarSimpleLinksProps };
@@ -755,6 +755,7 @@ var NavbarSimpleLinks = ({
755
755
  /* @__PURE__ */ jsx(
756
756
  Section,
757
757
  {
758
+ id: "navbar-simple-links",
758
759
  background,
759
760
  spacing: spacingOverride ?? spacing,
760
761
  className: sectionClasses,
@@ -768,7 +768,7 @@ var NavbarSplitCta = ({
768
768
  return /* @__PURE__ */ jsxRuntime.jsx(
769
769
  Section,
770
770
  {
771
- id: sectionId,
771
+ id: "navbar-split-cta",
772
772
  background,
773
773
  spacing: spacingOverride ?? spacing,
774
774
  className: sectionClasses,
@@ -24,6 +24,20 @@ interface MenuItem {
24
24
  * Props for the NavbarSplitCta component
25
25
  */
26
26
  interface NavbarSplitCtaProps {
27
+ /**
28
+ * Logo configuration
29
+ */
30
+ logo?: LogoConfig;
31
+ /**
32
+ * Navigation menu items
33
+ */
34
+ menu?: MenuItem[];
35
+ /**
36
+ * Authentication action configurations
37
+ */
38
+ authActions?: ActionConfig[];
39
+ }
40
+ interface NavbarSplitCtaRuntimeProps {
27
41
  /**
28
42
  * Additional CSS classes for the section
29
43
  */
@@ -108,6 +122,6 @@ interface NavbarSplitCtaProps {
108
122
  * slide-out sheet with the CTAs prominently displayed at the top. Ideal for SaaS products
109
123
  * and services that want to emphasize both login/signup or demo/trial actions.
110
124
  */
111
- declare const NavbarSplitCta: ({ sectionId, logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSplitCtaProps) => react_jsx_runtime.JSX.Element;
125
+ declare const NavbarSplitCta: ({ sectionId, logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSplitCtaRuntimeProps) => react_jsx_runtime.JSX.Element;
112
126
 
113
127
  export { NavbarSplitCta, type NavbarSplitCtaProps };