@opensite/ui 3.4.8 → 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 (135) 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 +3 -3
  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 +3 -3
  55. package/dist/navbar-dark-icons.cjs +4 -3
  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 +4 -3
  59. package/dist/navbar-dropdown-menu.cjs +3 -3
  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 +3 -3
  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 +99 -23
  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 +99 -23
  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 +77 -43
  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 +77 -43
  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 +3 -4
  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 +3 -4
  119. package/dist/navbar-sticky-compact.cjs +11 -4
  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 +11 -4
  123. package/dist/navbar-tabbed-sections.cjs +3 -4
  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 +3 -4
  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 +236 -106
  132. package/dist/registry.js +236 -106
  133. package/dist/social-link-icon.d.cts +1 -1
  134. package/dist/social-link-icon.d.ts +1 -1
  135. package/package.json +1 -1
@@ -24,6 +24,20 @@ interface MenuItem {
24
24
  * Props for the NavbarDropdownMenu component
25
25
  */
26
26
  interface NavbarDropdownMenuProps {
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 NavbarDropdownMenuRuntimeProps {
27
41
  /**
28
42
  * Additional CSS classes for the section
29
43
  */
@@ -110,6 +124,6 @@ interface NavbarDropdownMenuProps {
110
124
  * menu with accordion navigation on mobile. Includes login and signup call-to-action buttons.
111
125
  * The dropdown menus display icons and descriptions for each submenu item.
112
126
  */
113
- declare const NavbarDropdownMenu: ({ sectionId, logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarDropdownMenuProps) => react_jsx_runtime.JSX.Element;
127
+ declare const NavbarDropdownMenu: ({ sectionId, logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarDropdownMenuRuntimeProps) => react_jsx_runtime.JSX.Element;
114
128
 
115
129
  export { NavbarDropdownMenu, type NavbarDropdownMenuProps };
@@ -747,10 +747,10 @@ var SubMenuLink = ({
747
747
  return /* @__PURE__ */ jsxs(
748
748
  Pressable,
749
749
  {
750
- className: "flex min-w-80 flex-row gap-4 rounded-md p-3 leading-none no-underline transition-colors outline-none select-none hover:bg-muted",
750
+ className: "flex min-w-80 flex-row items-center gap-4 rounded-md p-3 leading-none no-underline transition-colors outline-none select-none hover:bg-muted",
751
751
  href: item.url,
752
752
  children: [
753
- item.icon && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(DynamicIcon, { name: item.icon, size: 20, className: "shrink-0" }) }),
753
+ item.icon && /* @__PURE__ */ jsx("div", { className: "flex size-5 shrink-0 items-center justify-center text-muted-foreground", children: /* @__PURE__ */ jsx(DynamicIcon, { name: item.icon, size: 20, className: "shrink-0" }) }),
754
754
  /* @__PURE__ */ jsxs("div", { children: [
755
755
  /* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: item.title }),
756
756
  item.description && /* @__PURE__ */ jsx("p", { className: "text-sm leading-snug text-muted-foreground", children: item.description })
@@ -865,7 +865,7 @@ var NavbarDropdownMenu = ({
865
865
  return /* @__PURE__ */ jsx(
866
866
  Section,
867
867
  {
868
- id: sectionId,
868
+ id: "navbar-dropdown-menu",
869
869
  background,
870
870
  spacing: spacingOverride ?? spacing,
871
871
  className: sectionClasses,
@@ -869,6 +869,7 @@ var NavbarEducationPlatform = ({
869
869
  /* @__PURE__ */ jsxRuntime.jsx(
870
870
  Section,
871
871
  {
872
+ id: "navbar-education-platform",
872
873
  background,
873
874
  spacing: spacingOverride ?? spacing,
874
875
  className: sectionClasses,
@@ -59,6 +59,20 @@ interface MenuItem {
59
59
  * Props for the NavbarEducationPlatform component
60
60
  */
61
61
  interface NavbarEducationPlatformProps {
62
+ /**
63
+ * Logo configuration
64
+ */
65
+ logo?: LogoConfig;
66
+ /**
67
+ * Navigation menu items - can be simple links or dropdowns with grouped links
68
+ */
69
+ menu?: MenuItem[];
70
+ /**
71
+ * Authentication action configurations
72
+ */
73
+ authActions?: ActionConfig[];
74
+ }
75
+ interface NavbarEducationPlatformRuntimeProps {
62
76
  /**
63
77
  * Additional CSS classes for the section
64
78
  */
@@ -153,6 +167,6 @@ interface NavbarEducationPlatformProps {
153
167
  * Mobile view uses accordion navigation with the shared NavbarMobileMenu component.
154
168
  * Ideal for e-learning platforms, course management systems, and educational technology products.
155
169
  */
156
- declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menu, menuSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
170
+ declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menu, menuSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformRuntimeProps) => react_jsx_runtime.JSX.Element;
157
171
 
158
172
  export { NavbarEducationPlatform, type NavbarEducationPlatformProps };
@@ -59,6 +59,20 @@ interface MenuItem {
59
59
  * Props for the NavbarEducationPlatform component
60
60
  */
61
61
  interface NavbarEducationPlatformProps {
62
+ /**
63
+ * Logo configuration
64
+ */
65
+ logo?: LogoConfig;
66
+ /**
67
+ * Navigation menu items - can be simple links or dropdowns with grouped links
68
+ */
69
+ menu?: MenuItem[];
70
+ /**
71
+ * Authentication action configurations
72
+ */
73
+ authActions?: ActionConfig[];
74
+ }
75
+ interface NavbarEducationPlatformRuntimeProps {
62
76
  /**
63
77
  * Additional CSS classes for the section
64
78
  */
@@ -153,6 +167,6 @@ interface NavbarEducationPlatformProps {
153
167
  * Mobile view uses accordion navigation with the shared NavbarMobileMenu component.
154
168
  * Ideal for e-learning platforms, course management systems, and educational technology products.
155
169
  */
156
- declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menu, menuSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
170
+ declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menu, menuSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformRuntimeProps) => react_jsx_runtime.JSX.Element;
157
171
 
158
172
  export { NavbarEducationPlatform, type NavbarEducationPlatformProps };
@@ -845,6 +845,7 @@ var NavbarEducationPlatform = ({
845
845
  /* @__PURE__ */ jsx(
846
846
  Section,
847
847
  {
848
+ id: "navbar-education-platform",
848
849
  background,
849
850
  spacing: spacingOverride ?? spacing,
850
851
  className: sectionClasses,
@@ -768,17 +768,17 @@ var SolutionsMenu = ({
768
768
  platformItems,
769
769
  featuredHeroCard,
770
770
  optixFlowConfig
771
- }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-[1200px] grid-cols-2 gap-4", children: [
772
- featuredHeroCard && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxRuntime.jsxs(
771
+ }) => {
772
+ const featuredCard = featuredHeroCard ? /* @__PURE__ */ jsxRuntime.jsxs(
773
773
  pressable.Pressable,
774
774
  {
775
775
  href: featuredHeroCard.href,
776
776
  className: cn(
777
- "group flex h-full flex-col overflow-hidden rounded-lg text-primary-foreground",
777
+ "group flex h-full min-h-[420px] flex-col overflow-hidden rounded-lg text-primary-foreground",
778
778
  featuredHeroCard.variant === "accent" ? "bg-accent text-accent-foreground" : "bg-primary"
779
779
  ),
780
780
  children: [
781
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col justify-between p-5", children: [
781
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 flex-col justify-between p-5", children: [
782
782
  featuredHeroCard.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-2 text-xs font-medium tracking-wider uppercase", children: featuredHeroCard.subtitle }),
783
783
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
784
784
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-base font-semibold", children: [
@@ -795,7 +795,7 @@ var SolutionsMenu = ({
795
795
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm leading-relaxed text-primary-foreground/85", children: featuredHeroCard.description })
796
796
  ] })
797
797
  ] }),
798
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
798
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
799
799
  img.Img,
800
800
  {
801
801
  src: featuredHeroCard.image,
@@ -806,35 +806,42 @@ var SolutionsMenu = ({
806
806
  ) })
807
807
  ]
808
808
  }
809
- ) }),
810
- platformItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-1", children: [
809
+ ) : null;
810
+ const platformSection = platformItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
811
811
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-left", children: /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "text-xs font-medium tracking-wider text-muted-foreground uppercase", children: "Developer Platform" }) }),
812
812
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: platformItems.map((technology) => /* @__PURE__ */ jsxRuntime.jsxs(
813
813
  NavigationMenuLink,
814
814
  {
815
815
  href: technology.href,
816
- className: "group !flex !w-full items-center gap-2 rounded-lg p-2 hover:bg-muted",
816
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 hover:bg-muted",
817
817
  children: [
818
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: technology.icon, size: 16, className: "shrink-0" }),
818
+ /* @__PURE__ */ jsxRuntime.jsx(
819
+ DynamicIcon,
820
+ {
821
+ name: technology.icon,
822
+ size: 16,
823
+ className: "shrink-0"
824
+ }
825
+ ),
819
826
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: technology.title })
820
827
  ]
821
828
  },
822
829
  technology.id
823
830
  )) })
824
- ] }),
825
- solutionCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2 mt-2 grid grid-cols-4 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxRuntime.jsxs(
831
+ ] }) : null;
832
+ const solutionSection = solutionCards.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxRuntime.jsxs(
826
833
  "div",
827
834
  {
828
- className: "col-span-1 flex w-full flex-col rounded-lg border border-border p-4",
835
+ className: "flex min-w-0 flex-col rounded-lg border border-border p-4",
829
836
  children: [
830
837
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border pb-3", children: /* @__PURE__ */ jsxRuntime.jsxs(
831
838
  pressable.Pressable,
832
839
  {
833
840
  href: solution.href,
834
- className: "group flex flex-col text-left",
841
+ className: "group flex min-w-0 flex-col text-left",
835
842
  children: [
836
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
837
- /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "text-sm font-medium", children: solution.title }),
843
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [
844
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "min-w-0 break-words text-sm font-medium", children: solution.title }),
838
845
  /* @__PURE__ */ jsxRuntime.jsx(
839
846
  DynamicIcon,
840
847
  {
@@ -844,7 +851,7 @@ var SolutionsMenu = ({
844
851
  }
845
852
  )
846
853
  ] }),
847
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: solution.description })
854
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 break-words text-xs text-muted-foreground", children: solution.description })
848
855
  ]
849
856
  }
850
857
  ) }),
@@ -852,10 +859,17 @@ var SolutionsMenu = ({
852
859
  NavigationMenuLink,
853
860
  {
854
861
  href: subpage.href,
855
- className: "group !flex !w-full items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
862
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
856
863
  children: [
857
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: subpage.icon, size: 14, className: "shrink-0" }),
858
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: subpage.title })
864
+ /* @__PURE__ */ jsxRuntime.jsx(
865
+ DynamicIcon,
866
+ {
867
+ name: subpage.icon,
868
+ size: 14,
869
+ className: "shrink-0"
870
+ }
871
+ ),
872
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1 break-words text-sm font-medium", children: subpage.title })
859
873
  ]
860
874
  },
861
875
  subpage.id
@@ -863,8 +877,69 @@ var SolutionsMenu = ({
863
877
  ]
864
878
  },
865
879
  solution.id
866
- )) })
867
- ] });
880
+ )) }) : null;
881
+ if (featuredCard) {
882
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-[1200px] max-w-[calc(100vw-4rem)] grid-cols-[minmax(380px,1fr)_minmax(360px,0.95fr)] gap-4", children: [
883
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: featuredCard }),
884
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col gap-4", children: [
885
+ platformSection,
886
+ solutionSection
887
+ ] })
888
+ ] });
889
+ }
890
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-[1200px] max-w-[calc(100vw-4rem)] grid-cols-2 gap-4", children: [
891
+ platformSection,
892
+ solutionCards.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2 grid grid-cols-4 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxRuntime.jsxs(
893
+ "div",
894
+ {
895
+ className: "flex min-w-0 flex-col rounded-lg border border-border p-4",
896
+ children: [
897
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border pb-3", children: /* @__PURE__ */ jsxRuntime.jsxs(
898
+ pressable.Pressable,
899
+ {
900
+ href: solution.href,
901
+ className: "group flex min-w-0 flex-col text-left",
902
+ children: [
903
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [
904
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "min-w-0 break-words text-sm font-medium", children: solution.title }),
905
+ /* @__PURE__ */ jsxRuntime.jsx(
906
+ DynamicIcon,
907
+ {
908
+ name: "lucide/arrow-right",
909
+ size: 14,
910
+ className: "shrink-0 transition-transform group-hover:translate-x-1"
911
+ }
912
+ )
913
+ ] }),
914
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 break-words text-xs text-muted-foreground", children: solution.description })
915
+ ]
916
+ }
917
+ ) }),
918
+ /* @__PURE__ */ jsxRuntime.jsx("menu", { className: "mt-3 grid gap-2", children: solution.subpages.map((subpage) => /* @__PURE__ */ jsxRuntime.jsxs(
919
+ NavigationMenuLink,
920
+ {
921
+ href: subpage.href,
922
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
923
+ children: [
924
+ /* @__PURE__ */ jsxRuntime.jsx(
925
+ DynamicIcon,
926
+ {
927
+ name: subpage.icon,
928
+ size: 14,
929
+ className: "shrink-0"
930
+ }
931
+ ),
932
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1 break-words text-sm font-medium", children: subpage.title })
933
+ ]
934
+ },
935
+ subpage.id
936
+ )) })
937
+ ]
938
+ },
939
+ solution.id
940
+ )) })
941
+ ] });
942
+ };
868
943
  var ProductsMenu = ({
869
944
  productCategories,
870
945
  featuredHeroCard,
@@ -1179,7 +1254,7 @@ var NavbarEnterpriseMega = ({
1179
1254
  actions,
1180
1255
  actionsSlot,
1181
1256
  layoutVariant = "fullScreenContainerizedLinks",
1182
- background,
1257
+ background = "white",
1183
1258
  spacing,
1184
1259
  pattern,
1185
1260
  patternOpacity,
@@ -1234,6 +1309,7 @@ var NavbarEnterpriseMega = ({
1234
1309
  /* @__PURE__ */ jsxRuntime.jsx(
1235
1310
  Section,
1236
1311
  {
1312
+ id: "navbar-enterprise-mega",
1237
1313
  background,
1238
1314
  spacing: spacingOverride ?? spacing,
1239
1315
  className: cn(
@@ -1343,7 +1419,7 @@ var DesktopMenuItem = ({
1343
1419
  if (hasDropdown) {
1344
1420
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { value: `${index}`, children: [
1345
1421
  /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
1346
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "rounded-xl! border-0! p-4!", children: renderDropdownContent(
1422
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "max-h-[calc(100vh-6rem)] overflow-y-auto rounded-xl! border-0! p-4!", children: renderDropdownContent(
1347
1423
  { ...item, layout: effectiveLayout },
1348
1424
  optixFlowConfig
1349
1425
  ) })
@@ -209,6 +209,20 @@ interface IMenuLink {
209
209
  * Props for the NavbarEnterpriseMega component
210
210
  */
211
211
  interface NavbarEnterpriseMegaProps {
212
+ /**
213
+ * Logo configuration
214
+ */
215
+ logo?: LogoConfig;
216
+ /**
217
+ * Navigation menu links with mega menu configurations
218
+ */
219
+ menuLinks?: IMenuLink[];
220
+ /**
221
+ * Action configurations (e.g., login, signup buttons)
222
+ */
223
+ actions?: ActionConfig[];
224
+ }
225
+ interface NavbarEnterpriseMegaRuntimeProps {
212
226
  /**
213
227
  * Additional CSS classes for the section
214
228
  */
@@ -288,6 +302,6 @@ interface NavbarEnterpriseMegaProps {
288
302
  * cards. Each menu spans full width with rich content layouts. Mobile view uses a full-screen sheet
289
303
  * with accordion navigation. Ideal for large enterprise SaaS platforms and B2B software companies.
290
304
  */
291
- declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
305
+ declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaRuntimeProps) => react_jsx_runtime.JSX.Element;
292
306
 
293
307
  export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard, ILinkItem, type ILocationItem, type IMenuLink, IMenuLinkGroup, type IPartnerCard, type IProductCategory, type IProductItem, type IRegionItem, type IResourceItem, type ISolutionCard, type ISubpageItem, type ITechnologyItem, type ITopicGroup, type ITopicItem, LogoConfig, type MegaMenuLayout, NavbarEnterpriseMega, type NavbarEnterpriseMegaProps };
@@ -209,6 +209,20 @@ interface IMenuLink {
209
209
  * Props for the NavbarEnterpriseMega component
210
210
  */
211
211
  interface NavbarEnterpriseMegaProps {
212
+ /**
213
+ * Logo configuration
214
+ */
215
+ logo?: LogoConfig;
216
+ /**
217
+ * Navigation menu links with mega menu configurations
218
+ */
219
+ menuLinks?: IMenuLink[];
220
+ /**
221
+ * Action configurations (e.g., login, signup buttons)
222
+ */
223
+ actions?: ActionConfig[];
224
+ }
225
+ interface NavbarEnterpriseMegaRuntimeProps {
212
226
  /**
213
227
  * Additional CSS classes for the section
214
228
  */
@@ -288,6 +302,6 @@ interface NavbarEnterpriseMegaProps {
288
302
  * cards. Each menu spans full width with rich content layouts. Mobile view uses a full-screen sheet
289
303
  * with accordion navigation. Ideal for large enterprise SaaS platforms and B2B software companies.
290
304
  */
291
- declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
305
+ declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaRuntimeProps) => react_jsx_runtime.JSX.Element;
292
306
 
293
307
  export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard, ILinkItem, type ILocationItem, type IMenuLink, IMenuLinkGroup, type IPartnerCard, type IProductCategory, type IProductItem, type IRegionItem, type IResourceItem, type ISolutionCard, type ISubpageItem, type ITechnologyItem, type ITopicGroup, type ITopicItem, LogoConfig, type MegaMenuLayout, NavbarEnterpriseMega, type NavbarEnterpriseMegaProps };
@@ -745,17 +745,17 @@ var SolutionsMenu = ({
745
745
  platformItems,
746
746
  featuredHeroCard,
747
747
  optixFlowConfig
748
- }) => /* @__PURE__ */ jsxs("div", { className: "grid w-[1200px] grid-cols-2 gap-4", children: [
749
- featuredHeroCard && /* @__PURE__ */ jsx("div", { className: "col-span-1", children: /* @__PURE__ */ jsxs(
748
+ }) => {
749
+ const featuredCard = featuredHeroCard ? /* @__PURE__ */ jsxs(
750
750
  Pressable,
751
751
  {
752
752
  href: featuredHeroCard.href,
753
753
  className: cn(
754
- "group flex h-full flex-col overflow-hidden rounded-lg text-primary-foreground",
754
+ "group flex h-full min-h-[420px] flex-col overflow-hidden rounded-lg text-primary-foreground",
755
755
  featuredHeroCard.variant === "accent" ? "bg-accent text-accent-foreground" : "bg-primary"
756
756
  ),
757
757
  children: [
758
- /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col justify-between p-5", children: [
758
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 flex-col justify-between p-5", children: [
759
759
  featuredHeroCard.subtitle && /* @__PURE__ */ jsx("span", { className: "mb-2 text-xs font-medium tracking-wider uppercase", children: featuredHeroCard.subtitle }),
760
760
  /* @__PURE__ */ jsxs("div", { children: [
761
761
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-base font-semibold", children: [
@@ -772,7 +772,7 @@ var SolutionsMenu = ({
772
772
  /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm leading-relaxed text-primary-foreground/85", children: featuredHeroCard.description })
773
773
  ] })
774
774
  ] }),
775
- /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: /* @__PURE__ */ jsx(
775
+ /* @__PURE__ */ jsx("div", { className: "relative min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsx(
776
776
  Img,
777
777
  {
778
778
  src: featuredHeroCard.image,
@@ -783,35 +783,42 @@ var SolutionsMenu = ({
783
783
  ) })
784
784
  ]
785
785
  }
786
- ) }),
787
- platformItems.length > 0 && /* @__PURE__ */ jsxs("div", { className: "col-span-1", children: [
786
+ ) : null;
787
+ const platformSection = platformItems.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
788
788
  /* @__PURE__ */ jsx("div", { className: "mb-3 text-left", children: /* @__PURE__ */ jsx("strong", { className: "text-xs font-medium tracking-wider text-muted-foreground uppercase", children: "Developer Platform" }) }),
789
789
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2", children: platformItems.map((technology) => /* @__PURE__ */ jsxs(
790
790
  NavigationMenuLink,
791
791
  {
792
792
  href: technology.href,
793
- className: "group !flex !w-full items-center gap-2 rounded-lg p-2 hover:bg-muted",
793
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 hover:bg-muted",
794
794
  children: [
795
- /* @__PURE__ */ jsx(DynamicIcon, { name: technology.icon, size: 16, className: "shrink-0" }),
795
+ /* @__PURE__ */ jsx(
796
+ DynamicIcon,
797
+ {
798
+ name: technology.icon,
799
+ size: 16,
800
+ className: "shrink-0"
801
+ }
802
+ ),
796
803
  /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: technology.title })
797
804
  ]
798
805
  },
799
806
  technology.id
800
807
  )) })
801
- ] }),
802
- solutionCards.length > 0 && /* @__PURE__ */ jsx("div", { className: "col-span-2 mt-2 grid grid-cols-4 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxs(
808
+ ] }) : null;
809
+ const solutionSection = solutionCards.length > 0 ? /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxs(
803
810
  "div",
804
811
  {
805
- className: "col-span-1 flex w-full flex-col rounded-lg border border-border p-4",
812
+ className: "flex min-w-0 flex-col rounded-lg border border-border p-4",
806
813
  children: [
807
814
  /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-3", children: /* @__PURE__ */ jsxs(
808
815
  Pressable,
809
816
  {
810
817
  href: solution.href,
811
- className: "group flex flex-col text-left",
818
+ className: "group flex min-w-0 flex-col text-left",
812
819
  children: [
813
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
814
- /* @__PURE__ */ jsx("strong", { className: "text-sm font-medium", children: solution.title }),
820
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [
821
+ /* @__PURE__ */ jsx("strong", { className: "min-w-0 break-words text-sm font-medium", children: solution.title }),
815
822
  /* @__PURE__ */ jsx(
816
823
  DynamicIcon,
817
824
  {
@@ -821,7 +828,7 @@ var SolutionsMenu = ({
821
828
  }
822
829
  )
823
830
  ] }),
824
- /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: solution.description })
831
+ /* @__PURE__ */ jsx("p", { className: "mt-1 break-words text-xs text-muted-foreground", children: solution.description })
825
832
  ]
826
833
  }
827
834
  ) }),
@@ -829,10 +836,17 @@ var SolutionsMenu = ({
829
836
  NavigationMenuLink,
830
837
  {
831
838
  href: subpage.href,
832
- className: "group !flex !w-full items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
839
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
833
840
  children: [
834
- /* @__PURE__ */ jsx(DynamicIcon, { name: subpage.icon, size: 14, className: "shrink-0" }),
835
- /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 text-sm font-medium", children: subpage.title })
841
+ /* @__PURE__ */ jsx(
842
+ DynamicIcon,
843
+ {
844
+ name: subpage.icon,
845
+ size: 14,
846
+ className: "shrink-0"
847
+ }
848
+ ),
849
+ /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 break-words text-sm font-medium", children: subpage.title })
836
850
  ]
837
851
  },
838
852
  subpage.id
@@ -840,8 +854,69 @@ var SolutionsMenu = ({
840
854
  ]
841
855
  },
842
856
  solution.id
843
- )) })
844
- ] });
857
+ )) }) : null;
858
+ if (featuredCard) {
859
+ return /* @__PURE__ */ jsxs("div", { className: "grid w-[1200px] max-w-[calc(100vw-4rem)] grid-cols-[minmax(380px,1fr)_minmax(360px,0.95fr)] gap-4", children: [
860
+ /* @__PURE__ */ jsx("div", { className: "min-w-0", children: featuredCard }),
861
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-4", children: [
862
+ platformSection,
863
+ solutionSection
864
+ ] })
865
+ ] });
866
+ }
867
+ return /* @__PURE__ */ jsxs("div", { className: "grid w-[1200px] max-w-[calc(100vw-4rem)] grid-cols-2 gap-4", children: [
868
+ platformSection,
869
+ solutionCards.length > 0 && /* @__PURE__ */ jsx("div", { className: "col-span-2 grid grid-cols-4 gap-3", children: solutionCards.map((solution) => /* @__PURE__ */ jsxs(
870
+ "div",
871
+ {
872
+ className: "flex min-w-0 flex-col rounded-lg border border-border p-4",
873
+ children: [
874
+ /* @__PURE__ */ jsx("div", { className: "border-b border-border pb-3", children: /* @__PURE__ */ jsxs(
875
+ Pressable,
876
+ {
877
+ href: solution.href,
878
+ className: "group flex min-w-0 flex-col text-left",
879
+ children: [
880
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [
881
+ /* @__PURE__ */ jsx("strong", { className: "min-w-0 break-words text-sm font-medium", children: solution.title }),
882
+ /* @__PURE__ */ jsx(
883
+ DynamicIcon,
884
+ {
885
+ name: "lucide/arrow-right",
886
+ size: 14,
887
+ className: "shrink-0 transition-transform group-hover:translate-x-1"
888
+ }
889
+ )
890
+ ] }),
891
+ /* @__PURE__ */ jsx("p", { className: "mt-1 break-words text-xs text-muted-foreground", children: solution.description })
892
+ ]
893
+ }
894
+ ) }),
895
+ /* @__PURE__ */ jsx("menu", { className: "mt-3 grid gap-2", children: solution.subpages.map((subpage) => /* @__PURE__ */ jsxs(
896
+ NavigationMenuLink,
897
+ {
898
+ href: subpage.href,
899
+ className: "group !flex !w-full min-w-0 items-center gap-2 rounded-lg p-2 text-left hover:bg-muted",
900
+ children: [
901
+ /* @__PURE__ */ jsx(
902
+ DynamicIcon,
903
+ {
904
+ name: subpage.icon,
905
+ size: 14,
906
+ className: "shrink-0"
907
+ }
908
+ ),
909
+ /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 break-words text-sm font-medium", children: subpage.title })
910
+ ]
911
+ },
912
+ subpage.id
913
+ )) })
914
+ ]
915
+ },
916
+ solution.id
917
+ )) })
918
+ ] });
919
+ };
845
920
  var ProductsMenu = ({
846
921
  productCategories,
847
922
  featuredHeroCard,
@@ -1156,7 +1231,7 @@ var NavbarEnterpriseMega = ({
1156
1231
  actions,
1157
1232
  actionsSlot,
1158
1233
  layoutVariant = "fullScreenContainerizedLinks",
1159
- background,
1234
+ background = "white",
1160
1235
  spacing,
1161
1236
  pattern,
1162
1237
  patternOpacity,
@@ -1211,6 +1286,7 @@ var NavbarEnterpriseMega = ({
1211
1286
  /* @__PURE__ */ jsx(
1212
1287
  Section,
1213
1288
  {
1289
+ id: "navbar-enterprise-mega",
1214
1290
  background,
1215
1291
  spacing: spacingOverride ?? spacing,
1216
1292
  className: cn(
@@ -1320,7 +1396,7 @@ var DesktopMenuItem = ({
1320
1396
  if (hasDropdown) {
1321
1397
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
1322
1398
  /* @__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 }),
1323
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "rounded-xl! border-0! p-4!", children: renderDropdownContent(
1399
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "max-h-[calc(100vh-6rem)] overflow-y-auto rounded-xl! border-0! p-4!", children: renderDropdownContent(
1324
1400
  { ...item, layout: effectiveLayout },
1325
1401
  optixFlowConfig
1326
1402
  ) })
@@ -816,7 +816,7 @@ var NavbarFeatureGrid = ({
816
816
  return /* @__PURE__ */ jsxRuntime.jsx(
817
817
  Section,
818
818
  {
819
- id: sectionId,
819
+ id: "navbar-feature-grid",
820
820
  background,
821
821
  spacing: spacingOverride ?? spacing,
822
822
  className: sectionClasses,
@@ -22,6 +22,24 @@ interface MenuItem {
22
22
  * Props for the NavbarFeatureGrid component
23
23
  */
24
24
  interface NavbarFeatureGridProps {
25
+ /**
26
+ * Logo configuration
27
+ */
28
+ logo?: LogoConfig;
29
+ /**
30
+ * Features for Features dropdown
31
+ */
32
+ features?: FeatureItem[];
33
+ /**
34
+ * Additional menu items (simple links without dropdowns)
35
+ */
36
+ menu?: MenuItem[];
37
+ /**
38
+ * Authentication action configurations
39
+ */
40
+ authActions?: ActionConfig[];
41
+ }
42
+ interface NavbarFeatureGridRuntimeProps {
25
43
  /**
26
44
  * Additional CSS classes for the section
27
45
  */
@@ -105,6 +123,6 @@ interface NavbarFeatureGridProps {
105
123
  * view uses a top-sliding sheet with accordion navigation. Ideal for SaaS applications
106
124
  * with multiple feature categories.
107
125
  */
108
- declare const NavbarFeatureGrid: ({ sectionId, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, menu, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
126
+ declare const NavbarFeatureGrid: ({ sectionId, className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, menu, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridRuntimeProps) => react_jsx_runtime.JSX.Element;
109
127
 
110
128
  export { NavbarFeatureGrid, type NavbarFeatureGridProps };