@opensite/ui 0.4.3 → 0.4.5

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 +17 -12
  2. package/dist/navbar-animated-preview.d.cts +4 -63
  3. package/dist/navbar-animated-preview.d.ts +4 -63
  4. package/dist/navbar-animated-preview.js +17 -12
  5. package/dist/navbar-centered-menu.cjs +60 -51
  6. package/dist/navbar-centered-menu.d.cts +2 -10
  7. package/dist/navbar-centered-menu.d.ts +2 -10
  8. package/dist/navbar-centered-menu.js +60 -51
  9. package/dist/navbar-dark-icons.cjs +4 -4
  10. package/dist/navbar-dark-icons.d.cts +1 -10
  11. package/dist/navbar-dark-icons.d.ts +1 -10
  12. package/dist/navbar-dark-icons.js +4 -4
  13. package/dist/navbar-dropdown-menu.cjs +59 -50
  14. package/dist/navbar-dropdown-menu.d.cts +3 -11
  15. package/dist/navbar-dropdown-menu.d.ts +3 -11
  16. package/dist/navbar-dropdown-menu.js +59 -50
  17. package/dist/navbar-education-platform.cjs +4 -4
  18. package/dist/navbar-education-platform.d.cts +1 -10
  19. package/dist/navbar-education-platform.d.ts +1 -10
  20. package/dist/navbar-education-platform.js +4 -4
  21. package/dist/navbar-enterprise-mega.cjs +7 -7
  22. package/dist/navbar-enterprise-mega.d.cts +2 -36
  23. package/dist/navbar-enterprise-mega.d.ts +2 -36
  24. package/dist/navbar-enterprise-mega.js +7 -7
  25. package/dist/navbar-feature-grid.cjs +4 -4
  26. package/dist/navbar-feature-grid.d.cts +1 -10
  27. package/dist/navbar-feature-grid.d.ts +1 -10
  28. package/dist/navbar-feature-grid.js +4 -4
  29. package/dist/navbar-floating-pill.cjs +4 -4
  30. package/dist/navbar-floating-pill.d.cts +1 -10
  31. package/dist/navbar-floating-pill.d.ts +1 -10
  32. package/dist/navbar-floating-pill.js +4 -4
  33. package/dist/navbar-fullscreen-menu.d.cts +1 -10
  34. package/dist/navbar-fullscreen-menu.d.ts +1 -10
  35. package/dist/navbar-icon-links.cjs +3 -3
  36. package/dist/navbar-icon-links.d.cts +4 -10
  37. package/dist/navbar-icon-links.d.ts +4 -10
  38. package/dist/navbar-icon-links.js +3 -3
  39. package/dist/navbar-image-preview.cjs +16 -11
  40. package/dist/navbar-image-preview.d.cts +6 -16
  41. package/dist/navbar-image-preview.d.ts +6 -16
  42. package/dist/navbar-image-preview.js +16 -11
  43. package/dist/navbar-mega-menu.cjs +26 -28
  44. package/dist/navbar-mega-menu.d.cts +3 -73
  45. package/dist/navbar-mega-menu.d.ts +3 -73
  46. package/dist/navbar-mega-menu.js +26 -28
  47. package/dist/navbar-multi-column-groups.cjs +4 -4
  48. package/dist/navbar-multi-column-groups.d.cts +1 -10
  49. package/dist/navbar-multi-column-groups.d.ts +1 -10
  50. package/dist/navbar-multi-column-groups.js +4 -4
  51. package/dist/navbar-platform-resources.cjs +20 -15
  52. package/dist/navbar-platform-resources.d.cts +2 -36
  53. package/dist/navbar-platform-resources.d.ts +2 -36
  54. package/dist/navbar-platform-resources.js +20 -15
  55. package/dist/navbar-search-focused.cjs +3 -3
  56. package/dist/navbar-search-focused.d.cts +1 -10
  57. package/dist/navbar-search-focused.d.ts +1 -10
  58. package/dist/navbar-search-focused.js +3 -3
  59. package/dist/navbar-sidebar-mobile.cjs +4 -4
  60. package/dist/navbar-sidebar-mobile.d.cts +1 -10
  61. package/dist/navbar-sidebar-mobile.d.ts +1 -10
  62. package/dist/navbar-sidebar-mobile.js +4 -4
  63. package/dist/navbar-simple-links.cjs +58 -49
  64. package/dist/navbar-simple-links.d.cts +1 -10
  65. package/dist/navbar-simple-links.d.ts +1 -10
  66. package/dist/navbar-simple-links.js +58 -49
  67. package/dist/navbar-split-cta.cjs +4 -4
  68. package/dist/navbar-split-cta.d.cts +1 -10
  69. package/dist/navbar-split-cta.d.ts +1 -10
  70. package/dist/navbar-split-cta.js +4 -4
  71. package/dist/navbar-sticky-compact.cjs +4 -4
  72. package/dist/navbar-sticky-compact.d.cts +1 -10
  73. package/dist/navbar-sticky-compact.d.ts +1 -10
  74. package/dist/navbar-sticky-compact.js +4 -4
  75. package/dist/navbar-tabbed-sections.cjs +4 -4
  76. package/dist/navbar-tabbed-sections.d.cts +1 -10
  77. package/dist/navbar-tabbed-sections.d.ts +1 -10
  78. package/dist/navbar-tabbed-sections.js +4 -4
  79. package/dist/navbar-transparent-overlay.cjs +3 -3
  80. package/dist/navbar-transparent-overlay.d.cts +1 -10
  81. package/dist/navbar-transparent-overlay.d.ts +1 -10
  82. package/dist/navbar-transparent-overlay.js +3 -3
  83. package/dist/registry.cjs +222 -192
  84. package/dist/registry.js +222 -192
  85. package/dist/types-D2b35ylu.d.cts +98 -0
  86. package/dist/types-D2b35ylu.d.ts +98 -0
  87. package/package.json +1 -1
@@ -952,7 +952,7 @@ function NavigationMenuList({
952
952
  {
953
953
  "data-slot": "navigation-menu-list",
954
954
  className: cn(
955
- "group flex flex-1 list-none items-center justify-center gap-1",
955
+ "group flex flex-1 list-none items-center justify-center gap-6",
956
956
  className
957
957
  ),
958
958
  ...props
@@ -973,7 +973,7 @@ function NavigationMenuItem({
973
973
  );
974
974
  }
975
975
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
976
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
976
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
977
977
  );
978
978
  function NavigationMenuTrigger({
979
979
  className,
@@ -993,7 +993,7 @@ function NavigationMenuTrigger({
993
993
  DynamicIcon,
994
994
  {
995
995
  name: "lucide/chevron-down",
996
- className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
996
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
997
997
  "aria-hidden": "true"
998
998
  }
999
999
  )
@@ -1051,7 +1051,7 @@ function NavigationMenuLink({
1051
1051
  {
1052
1052
  "data-slot": "navigation-menu-link",
1053
1053
  className: cn(
1054
- "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1054
+ "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1055
1055
  className
1056
1056
  ),
1057
1057
  ...props
@@ -1059,10 +1059,10 @@ function NavigationMenuLink({
1059
1059
  );
1060
1060
  }
1061
1061
 
1062
- // lib/mediaPlaceholders.ts
1063
- var logoPlaceholders = {
1064
- logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png",
1065
- darkHorizontalLogo: "https://cdn.ing/assets/i/r/285986/5ivxh3ivywsmm6uslf3te38r6tg1/logo-dark.png"};
1062
+ // components/blocks/navbars/types.ts
1063
+ function getLinkUrl(item) {
1064
+ return item.href || item.url || "#";
1065
+ }
1066
1066
  var DesktopMenuItem = ({
1067
1067
  link,
1068
1068
  index,
@@ -1090,7 +1090,7 @@ var DesktopMenuItem = ({
1090
1090
  };
1091
1091
  if (layout === "animated-image-preview" && link.links) {
1092
1092
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
1093
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1093
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1094
1094
  /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "!rounded-2xl !p-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid min-h-[18.75rem] w-[45.25rem] grid-cols-[22.5rem_1fr] gap-4 p-3", children: [
1095
1095
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-square w-full overflow-hidden rounded-xl", children: link.links.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx(
1096
1096
  img.Img,
@@ -1115,14 +1115,14 @@ var DesktopMenuItem = ({
1115
1115
  /* @__PURE__ */ jsxRuntime.jsx("ul", { children: link.links.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1116
1116
  NavigationMenuLink,
1117
1117
  {
1118
- href: item.url,
1118
+ href: getLinkUrl(item),
1119
1119
  className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
1120
1120
  "data-index": idx,
1121
1121
  onMouseEnter: handleMouseEnter,
1122
1122
  onMouseLeave: handleMouseLeave,
1123
1123
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1124
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "leading-normal font-medium", children: item.label }),
1125
- item.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-normal text-muted-foreground", children: item.description })
1124
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm leading-normal font-medium", children: item.label }),
1125
+ item.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: item.description })
1126
1126
  ] })
1127
1127
  }
1128
1128
  ) }, `desktop-nav-sublink-${idx}`)) })
@@ -1132,14 +1132,14 @@ var DesktopMenuItem = ({
1132
1132
  }
1133
1133
  if (layout === "simple-grid" && link.links) {
1134
1134
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
1135
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1136
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[520px] p-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
1135
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1136
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[700px] p-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
1137
1137
  NavigationMenuLink,
1138
1138
  {
1139
- href: item.url,
1140
- className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
1139
+ href: getLinkUrl(item),
1140
+ className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-muted hover:text-foreground",
1141
1141
  children: [
1142
- item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1142
+ item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-20 w-20 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1143
1143
  img.Img,
1144
1144
  {
1145
1145
  src: item.image,
@@ -1148,9 +1148,9 @@ var DesktopMenuItem = ({
1148
1148
  optixFlowConfig
1149
1149
  }
1150
1150
  ) }),
1151
- !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 }),
1151
+ !item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 shrink-0 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: 20 }) : null }),
1152
1152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1153
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base", children: item.label }),
1153
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium", children: item.label }),
1154
1154
  item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
1155
1155
  ] })
1156
1156
  ]
@@ -1161,11 +1161,11 @@ var DesktopMenuItem = ({
1161
1161
  }
1162
1162
  if (layout === "list-with-icons" && link.links) {
1163
1163
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
1164
- /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1164
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1165
1165
  /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "min-w-[400px] p-4", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
1166
1166
  NavigationMenuLink,
1167
1167
  {
1168
- href: item.url,
1168
+ href: getLinkUrl(item),
1169
1169
  className: "flex items-start gap-3 rounded-lg p-3 hover:bg-muted",
1170
1170
  children: [
1171
1171
  (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-md bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
@@ -1209,7 +1209,7 @@ var MobileSubmenu = ({
1209
1209
  return /* @__PURE__ */ jsxRuntime.jsxs(
1210
1210
  Pressable,
1211
1211
  {
1212
- href: item.url,
1212
+ href: getLinkUrl(item),
1213
1213
  className: "flex items-start gap-4 border-b border-border px-8 py-5",
1214
1214
  children: [
1215
1215
  item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1244,9 +1244,7 @@ var NavbarMegaMenu = ({
1244
1244
  logoClassName,
1245
1245
  mobileMenuClassName,
1246
1246
  logo = {
1247
- url: "/",
1248
- desktopSrc: logoPlaceholders.darkHorizontalLogo,
1249
- mobileSrc: logoPlaceholders.logoMark
1247
+ url: "/"
1250
1248
  },
1251
1249
  logoSlot,
1252
1250
  menuLinks,
@@ -1272,7 +1270,7 @@ var NavbarMegaMenu = ({
1272
1270
  /* @__PURE__ */ jsxRuntime.jsx(
1273
1271
  img.Img,
1274
1272
  {
1275
- src: logo.desktopSrc || logoPlaceholders.darkHorizontalLogo,
1273
+ src: logo.desktopSrc,
1276
1274
  className: cn("hidden h-7 dark:invert md:block", logo.className),
1277
1275
  alt: logo.alt || "Logo",
1278
1276
  optixFlowConfig
@@ -1281,7 +1279,7 @@ var NavbarMegaMenu = ({
1281
1279
  /* @__PURE__ */ jsxRuntime.jsx(
1282
1280
  img.Img,
1283
1281
  {
1284
- src: logo.mobileSrc || logoPlaceholders.logoMark,
1282
+ src: logo.mobileSrc,
1285
1283
  className: cn("h-7 dark:invert md:hidden", logo.className),
1286
1284
  alt: logo.alt || "Logo",
1287
1285
  optixFlowConfig
@@ -1326,7 +1324,7 @@ var NavbarMegaMenu = ({
1326
1324
  navClassName
1327
1325
  ),
1328
1326
  children: [
1329
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
1327
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between gap-12 border-b border-border/50 py-4 shadow-sm", children: [
1330
1328
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1331
1329
  (!open || submenuIndex === null) && renderLogo(),
1332
1330
  open && submenuIndex !== null && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2,83 +2,13 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
4
4
  import { SectionBackground, SectionSpacing } from './types.cjs';
5
+ import { L as LogoConfig, I as IMenuLink } from './types-D2b35ylu.cjs';
6
+ export { b as ILinkItem, a as IMenuLinkGroup, M as MegaMenuLayout } from './types-D2b35ylu.cjs';
5
7
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
6
8
  import 'class-variance-authority';
7
9
  import './button-variants-lRElsmTc.cjs';
8
10
  import 'class-variance-authority/types';
9
11
 
10
- /**
11
- * SHARED TYPE INTERFACES FOR ALL NAVBAR COMPONENTS
12
- * These types provide a consistent interface across all navbar blocks
13
- */
14
- /**
15
- * Base link item - used across all navbar components
16
- */
17
- interface ILinkItem {
18
- label: React.ReactNode;
19
- description?: React.ReactNode;
20
- url: string;
21
- icon?: React.ReactNode;
22
- iconName?: string;
23
- image?: string;
24
- background?: string;
25
- }
26
- /**
27
- * Group of links with optional metadata
28
- */
29
- interface IMenuLinkGroup {
30
- label: React.ReactNode;
31
- description?: string;
32
- image?: string;
33
- links: ILinkItem[];
34
- }
35
- /**
36
- * Layout types for mega menu dropdowns
37
- *
38
- * LAYOUT OPTIONS FOR AI PAGE BUILDER:
39
- *
40
- * 1. "animated-image-preview"
41
- * - Visual: Grid layout with large image preview on left (360px wide), links list on right
42
- * - Behavior: Image changes on hover based on which link is being hovered over
43
- * - Best for: Product showcases, visual content navigation, feature highlights
44
- * - Required data: links[] with label, description, url, image
45
- * - Example use case: Product categories where each product has a hero image that displays on hover
46
- *
47
- * 2. "simple-grid"
48
- * - Visual: 2-column responsive grid of cards with icons or images
49
- * - Behavior: Static grid with hover effects on cards
50
- * - Best for: Feature lists, service offerings, general navigation with icons
51
- * - Required data: links[] with label, description, url, icon/iconName OR image
52
- * - Example use case: Features menu showing analytics, reports, dashboards with icons
53
- *
54
- * 3. "list-with-icons"
55
- * - Visual: Single column list of items with small icons on the left
56
- * - Behavior: Compact list with hover effects
57
- * - Best for: Simple navigation, documentation links, resource lists
58
- * - Required data: links[] with label, description (optional), url, icon/iconName
59
- * - Example use case: Resources menu with documentation, API reference, guides
60
- */
61
- type MegaMenuLayout = "animated-image-preview" | "simple-grid" | "list-with-icons";
62
- /**
63
- * Menu link configuration with layout-based dropdown options
64
- */
65
- interface IMenuLink {
66
- label: React.ReactNode;
67
- href?: string;
68
- layout?: MegaMenuLayout;
69
- links?: ILinkItem[];
70
- dropdownGroups?: IMenuLinkGroup[];
71
- }
72
- /**
73
- * Logo configuration interface
74
- */
75
- interface LogoConfig {
76
- url?: string;
77
- desktopSrc?: string;
78
- mobileSrc?: string;
79
- alt?: string;
80
- className?: string;
81
- }
82
12
  /**
83
13
  * Props for the NavbarMegaMenu component
84
14
  */
@@ -158,4 +88,4 @@ interface NavbarMegaMenuProps {
158
88
  */
159
89
  declare const NavbarMegaMenu: ({ className, containerClassName, navClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMegaMenuProps) => react_jsx_runtime.JSX.Element;
160
90
 
161
- export { type ILinkItem, type IMenuLink, type IMenuLinkGroup, type LogoConfig, type MegaMenuLayout, NavbarMegaMenu, type NavbarMegaMenuProps };
91
+ export { IMenuLink, LogoConfig, NavbarMegaMenu, type NavbarMegaMenuProps };
@@ -2,83 +2,13 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { P as PatternName } from './pattern-background-a7gKHzHy.js';
4
4
  import { SectionBackground, SectionSpacing } from './types.js';
5
+ import { L as LogoConfig, I as IMenuLink } from './types-D2b35ylu.js';
6
+ export { b as ILinkItem, a as IMenuLinkGroup, M as MegaMenuLayout } from './types-D2b35ylu.js';
5
7
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
6
8
  import 'class-variance-authority';
7
9
  import './button-variants-lRElsmTc.js';
8
10
  import 'class-variance-authority/types';
9
11
 
10
- /**
11
- * SHARED TYPE INTERFACES FOR ALL NAVBAR COMPONENTS
12
- * These types provide a consistent interface across all navbar blocks
13
- */
14
- /**
15
- * Base link item - used across all navbar components
16
- */
17
- interface ILinkItem {
18
- label: React.ReactNode;
19
- description?: React.ReactNode;
20
- url: string;
21
- icon?: React.ReactNode;
22
- iconName?: string;
23
- image?: string;
24
- background?: string;
25
- }
26
- /**
27
- * Group of links with optional metadata
28
- */
29
- interface IMenuLinkGroup {
30
- label: React.ReactNode;
31
- description?: string;
32
- image?: string;
33
- links: ILinkItem[];
34
- }
35
- /**
36
- * Layout types for mega menu dropdowns
37
- *
38
- * LAYOUT OPTIONS FOR AI PAGE BUILDER:
39
- *
40
- * 1. "animated-image-preview"
41
- * - Visual: Grid layout with large image preview on left (360px wide), links list on right
42
- * - Behavior: Image changes on hover based on which link is being hovered over
43
- * - Best for: Product showcases, visual content navigation, feature highlights
44
- * - Required data: links[] with label, description, url, image
45
- * - Example use case: Product categories where each product has a hero image that displays on hover
46
- *
47
- * 2. "simple-grid"
48
- * - Visual: 2-column responsive grid of cards with icons or images
49
- * - Behavior: Static grid with hover effects on cards
50
- * - Best for: Feature lists, service offerings, general navigation with icons
51
- * - Required data: links[] with label, description, url, icon/iconName OR image
52
- * - Example use case: Features menu showing analytics, reports, dashboards with icons
53
- *
54
- * 3. "list-with-icons"
55
- * - Visual: Single column list of items with small icons on the left
56
- * - Behavior: Compact list with hover effects
57
- * - Best for: Simple navigation, documentation links, resource lists
58
- * - Required data: links[] with label, description (optional), url, icon/iconName
59
- * - Example use case: Resources menu with documentation, API reference, guides
60
- */
61
- type MegaMenuLayout = "animated-image-preview" | "simple-grid" | "list-with-icons";
62
- /**
63
- * Menu link configuration with layout-based dropdown options
64
- */
65
- interface IMenuLink {
66
- label: React.ReactNode;
67
- href?: string;
68
- layout?: MegaMenuLayout;
69
- links?: ILinkItem[];
70
- dropdownGroups?: IMenuLinkGroup[];
71
- }
72
- /**
73
- * Logo configuration interface
74
- */
75
- interface LogoConfig {
76
- url?: string;
77
- desktopSrc?: string;
78
- mobileSrc?: string;
79
- alt?: string;
80
- className?: string;
81
- }
82
12
  /**
83
13
  * Props for the NavbarMegaMenu component
84
14
  */
@@ -158,4 +88,4 @@ interface NavbarMegaMenuProps {
158
88
  */
159
89
  declare const NavbarMegaMenu: ({ className, containerClassName, navClassName, navigationMenuListClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, menuLinks, actions, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMegaMenuProps) => react_jsx_runtime.JSX.Element;
160
90
 
161
- export { type ILinkItem, type IMenuLink, type IMenuLinkGroup, type LogoConfig, type MegaMenuLayout, NavbarMegaMenu, type NavbarMegaMenuProps };
91
+ export { IMenuLink, LogoConfig, NavbarMegaMenu, type NavbarMegaMenuProps };
@@ -930,7 +930,7 @@ function NavigationMenuList({
930
930
  {
931
931
  "data-slot": "navigation-menu-list",
932
932
  className: cn(
933
- "group flex flex-1 list-none items-center justify-center gap-1",
933
+ "group flex flex-1 list-none items-center justify-center gap-6",
934
934
  className
935
935
  ),
936
936
  ...props
@@ -951,7 +951,7 @@ function NavigationMenuItem({
951
951
  );
952
952
  }
953
953
  var navigationMenuTriggerStyle = cva(
954
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
954
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
955
955
  );
956
956
  function NavigationMenuTrigger({
957
957
  className,
@@ -971,7 +971,7 @@ function NavigationMenuTrigger({
971
971
  DynamicIcon,
972
972
  {
973
973
  name: "lucide/chevron-down",
974
- className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
974
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
975
975
  "aria-hidden": "true"
976
976
  }
977
977
  )
@@ -1029,7 +1029,7 @@ function NavigationMenuLink({
1029
1029
  {
1030
1030
  "data-slot": "navigation-menu-link",
1031
1031
  className: cn(
1032
- "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1032
+ "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1033
1033
  className
1034
1034
  ),
1035
1035
  ...props
@@ -1037,10 +1037,10 @@ function NavigationMenuLink({
1037
1037
  );
1038
1038
  }
1039
1039
 
1040
- // lib/mediaPlaceholders.ts
1041
- var logoPlaceholders = {
1042
- logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png",
1043
- darkHorizontalLogo: "https://cdn.ing/assets/i/r/285986/5ivxh3ivywsmm6uslf3te38r6tg1/logo-dark.png"};
1040
+ // components/blocks/navbars/types.ts
1041
+ function getLinkUrl(item) {
1042
+ return item.href || item.url || "#";
1043
+ }
1044
1044
  var DesktopMenuItem = ({
1045
1045
  link,
1046
1046
  index,
@@ -1068,7 +1068,7 @@ var DesktopMenuItem = ({
1068
1068
  };
1069
1069
  if (layout === "animated-image-preview" && link.links) {
1070
1070
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
1071
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1071
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1072
1072
  /* @__PURE__ */ jsx(NavigationMenuContent, { className: "!rounded-2xl !p-0", children: /* @__PURE__ */ jsxs("div", { className: "grid min-h-[18.75rem] w-[45.25rem] grid-cols-[22.5rem_1fr] gap-4 p-3", children: [
1073
1073
  /* @__PURE__ */ jsx("div", { className: "relative aspect-square w-full overflow-hidden rounded-xl", children: link.links.map((item, idx) => /* @__PURE__ */ jsx(
1074
1074
  Img,
@@ -1093,14 +1093,14 @@ var DesktopMenuItem = ({
1093
1093
  /* @__PURE__ */ jsx("ul", { children: link.links.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1094
1094
  NavigationMenuLink,
1095
1095
  {
1096
- href: item.url,
1096
+ href: getLinkUrl(item),
1097
1097
  className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
1098
1098
  "data-index": idx,
1099
1099
  onMouseEnter: handleMouseEnter,
1100
1100
  onMouseLeave: handleMouseLeave,
1101
1101
  children: /* @__PURE__ */ jsxs("div", { children: [
1102
- /* @__PURE__ */ jsx("h3", { className: "leading-normal font-medium", children: item.label }),
1103
- item.description && /* @__PURE__ */ jsx("p", { className: "leading-normal text-muted-foreground", children: item.description })
1102
+ /* @__PURE__ */ jsx("h3", { className: "text-sm leading-normal font-medium", children: item.label }),
1103
+ item.description && /* @__PURE__ */ jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: item.description })
1104
1104
  ] })
1105
1105
  }
1106
1106
  ) }, `desktop-nav-sublink-${idx}`)) })
@@ -1110,14 +1110,14 @@ var DesktopMenuItem = ({
1110
1110
  }
1111
1111
  if (layout === "simple-grid" && link.links) {
1112
1112
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
1113
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1114
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[520px] p-6", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxs(
1113
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1114
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[700px] p-6", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxs(
1115
1115
  NavigationMenuLink,
1116
1116
  {
1117
- href: item.url,
1118
- className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
1117
+ href: getLinkUrl(item),
1118
+ className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-muted hover:text-foreground",
1119
1119
  children: [
1120
- item.image && /* @__PURE__ */ jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
1120
+ item.image && /* @__PURE__ */ jsx("div", { className: "h-20 w-20 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
1121
1121
  Img,
1122
1122
  {
1123
1123
  src: item.image,
@@ -1126,9 +1126,9 @@ var DesktopMenuItem = ({
1126
1126
  optixFlowConfig
1127
1127
  }
1128
1128
  ) }),
1129
- !item.image && (item.icon || item.iconName) && /* @__PURE__ */ 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__ */ jsx(DynamicIcon, { name: item.iconName, size: 18 }) : null }),
1129
+ !item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 }) : null }),
1130
1130
  /* @__PURE__ */ jsxs("div", { children: [
1131
- /* @__PURE__ */ jsx("div", { className: "text-base", children: item.label }),
1131
+ /* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: item.label }),
1132
1132
  item.description && /* @__PURE__ */ jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
1133
1133
  ] })
1134
1134
  ]
@@ -1139,11 +1139,11 @@ var DesktopMenuItem = ({
1139
1139
  }
1140
1140
  if (layout === "list-with-icons" && link.links) {
1141
1141
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
1142
- /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
1142
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: link.label }),
1143
1143
  /* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[400px] p-4", children: /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
1144
1144
  NavigationMenuLink,
1145
1145
  {
1146
- href: item.url,
1146
+ href: getLinkUrl(item),
1147
1147
  className: "flex items-start gap-3 rounded-lg p-3 hover:bg-muted",
1148
1148
  children: [
1149
1149
  (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-md bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
@@ -1187,7 +1187,7 @@ var MobileSubmenu = ({
1187
1187
  return /* @__PURE__ */ jsxs(
1188
1188
  Pressable,
1189
1189
  {
1190
- href: item.url,
1190
+ href: getLinkUrl(item),
1191
1191
  className: "flex items-start gap-4 border-b border-border px-8 py-5",
1192
1192
  children: [
1193
1193
  item.image && /* @__PURE__ */ jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
@@ -1222,9 +1222,7 @@ var NavbarMegaMenu = ({
1222
1222
  logoClassName,
1223
1223
  mobileMenuClassName,
1224
1224
  logo = {
1225
- url: "/",
1226
- desktopSrc: logoPlaceholders.darkHorizontalLogo,
1227
- mobileSrc: logoPlaceholders.logoMark
1225
+ url: "/"
1228
1226
  },
1229
1227
  logoSlot,
1230
1228
  menuLinks,
@@ -1250,7 +1248,7 @@ var NavbarMegaMenu = ({
1250
1248
  /* @__PURE__ */ jsx(
1251
1249
  Img,
1252
1250
  {
1253
- src: logo.desktopSrc || logoPlaceholders.darkHorizontalLogo,
1251
+ src: logo.desktopSrc,
1254
1252
  className: cn("hidden h-7 dark:invert md:block", logo.className),
1255
1253
  alt: logo.alt || "Logo",
1256
1254
  optixFlowConfig
@@ -1259,7 +1257,7 @@ var NavbarMegaMenu = ({
1259
1257
  /* @__PURE__ */ jsx(
1260
1258
  Img,
1261
1259
  {
1262
- src: logo.mobileSrc || logoPlaceholders.logoMark,
1260
+ src: logo.mobileSrc,
1263
1261
  className: cn("h-7 dark:invert md:hidden", logo.className),
1264
1262
  alt: logo.alt || "Logo",
1265
1263
  optixFlowConfig
@@ -1304,7 +1302,7 @@ var NavbarMegaMenu = ({
1304
1302
  navClassName
1305
1303
  ),
1306
1304
  children: [
1307
- /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
1305
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 border-b border-border/50 py-4 shadow-sm", children: [
1308
1306
  /* @__PURE__ */ jsxs("div", { children: [
1309
1307
  (!open || submenuIndex === null) && renderLogo(),
1310
1308
  open && submenuIndex !== null && /* @__PURE__ */ jsxs(
@@ -1010,7 +1010,7 @@ function NavigationMenuList({
1010
1010
  {
1011
1011
  "data-slot": "navigation-menu-list",
1012
1012
  className: cn(
1013
- "group flex flex-1 list-none items-center justify-center gap-1",
1013
+ "group flex flex-1 list-none items-center justify-center gap-6",
1014
1014
  className
1015
1015
  ),
1016
1016
  ...props
@@ -1031,7 +1031,7 @@ function NavigationMenuItem({
1031
1031
  );
1032
1032
  }
1033
1033
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
1034
- "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
1034
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
1035
1035
  );
1036
1036
  function NavigationMenuTrigger({
1037
1037
  className,
@@ -1051,7 +1051,7 @@ function NavigationMenuTrigger({
1051
1051
  DynamicIcon,
1052
1052
  {
1053
1053
  name: "lucide/chevron-down",
1054
- className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
1054
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
1055
1055
  "aria-hidden": "true"
1056
1056
  }
1057
1057
  )
@@ -1109,7 +1109,7 @@ function NavigationMenuLink({
1109
1109
  {
1110
1110
  "data-slot": "navigation-menu-link",
1111
1111
  className: cn(
1112
- "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1112
+ "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1113
1113
  className
1114
1114
  ),
1115
1115
  ...props
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
4
4
  import { SectionBackground, SectionSpacing } from './types.cjs';
5
+ import { L as LogoConfig } from './types-D2b35ylu.cjs';
5
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
6
7
  import 'class-variance-authority';
7
8
  import './button-variants-lRElsmTc.cjs';
@@ -23,16 +24,6 @@ interface MenuItem {
23
24
  url?: string;
24
25
  groups?: MenuGroup[];
25
26
  }
26
- /**
27
- * Logo configuration interface
28
- */
29
- interface LogoConfig {
30
- url?: string;
31
- src?: string;
32
- alt?: string;
33
- title?: React.ReactNode;
34
- className?: string;
35
- }
36
27
  /**
37
28
  * Props for the NavbarMultiColumnGroups component
38
29
  */
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { P as PatternName } from './pattern-background-a7gKHzHy.js';
4
4
  import { SectionBackground, SectionSpacing } from './types.js';
5
+ import { L as LogoConfig } from './types-D2b35ylu.js';
5
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
6
7
  import 'class-variance-authority';
7
8
  import './button-variants-lRElsmTc.js';
@@ -23,16 +24,6 @@ interface MenuItem {
23
24
  url?: string;
24
25
  groups?: MenuGroup[];
25
26
  }
26
- /**
27
- * Logo configuration interface
28
- */
29
- interface LogoConfig {
30
- url?: string;
31
- src?: string;
32
- alt?: string;
33
- title?: React.ReactNode;
34
- className?: string;
35
- }
36
27
  /**
37
28
  * Props for the NavbarMultiColumnGroups component
38
29
  */