@opensite/ui 0.4.4 → 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 (81) hide show
  1. package/dist/navbar-animated-preview.cjs +12 -7
  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 +12 -7
  5. package/dist/navbar-centered-menu.cjs +55 -46
  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 +55 -46
  9. package/dist/navbar-dark-icons.cjs +1 -1
  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 +1 -1
  13. package/dist/navbar-dropdown-menu.cjs +54 -45
  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 +54 -45
  17. package/dist/navbar-education-platform.cjs +1 -1
  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 +1 -1
  21. package/dist/navbar-enterprise-mega.cjs +2 -2
  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 +2 -2
  25. package/dist/navbar-feature-grid.cjs +1 -1
  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 +1 -1
  29. package/dist/navbar-floating-pill.cjs +1 -1
  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 +1 -1
  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.d.cts +4 -10
  36. package/dist/navbar-icon-links.d.ts +4 -10
  37. package/dist/navbar-image-preview.cjs +11 -6
  38. package/dist/navbar-image-preview.d.cts +6 -16
  39. package/dist/navbar-image-preview.d.ts +6 -16
  40. package/dist/navbar-image-preview.js +11 -6
  41. package/dist/navbar-mega-menu.cjs +16 -11
  42. package/dist/navbar-mega-menu.d.cts +3 -73
  43. package/dist/navbar-mega-menu.d.ts +3 -73
  44. package/dist/navbar-mega-menu.js +16 -11
  45. package/dist/navbar-multi-column-groups.cjs +1 -1
  46. package/dist/navbar-multi-column-groups.d.cts +1 -10
  47. package/dist/navbar-multi-column-groups.d.ts +1 -10
  48. package/dist/navbar-multi-column-groups.js +1 -1
  49. package/dist/navbar-platform-resources.cjs +17 -12
  50. package/dist/navbar-platform-resources.d.cts +2 -36
  51. package/dist/navbar-platform-resources.d.ts +2 -36
  52. package/dist/navbar-platform-resources.js +17 -12
  53. package/dist/navbar-search-focused.d.cts +1 -10
  54. package/dist/navbar-search-focused.d.ts +1 -10
  55. package/dist/navbar-sidebar-mobile.cjs +1 -1
  56. package/dist/navbar-sidebar-mobile.d.cts +1 -10
  57. package/dist/navbar-sidebar-mobile.d.ts +1 -10
  58. package/dist/navbar-sidebar-mobile.js +1 -1
  59. package/dist/navbar-simple-links.cjs +54 -45
  60. package/dist/navbar-simple-links.d.cts +1 -10
  61. package/dist/navbar-simple-links.d.ts +1 -10
  62. package/dist/navbar-simple-links.js +54 -45
  63. package/dist/navbar-split-cta.cjs +1 -1
  64. package/dist/navbar-split-cta.d.cts +1 -10
  65. package/dist/navbar-split-cta.d.ts +1 -10
  66. package/dist/navbar-split-cta.js +1 -1
  67. package/dist/navbar-sticky-compact.cjs +1 -1
  68. package/dist/navbar-sticky-compact.d.cts +1 -10
  69. package/dist/navbar-sticky-compact.d.ts +1 -10
  70. package/dist/navbar-sticky-compact.js +1 -1
  71. package/dist/navbar-tabbed-sections.cjs +1 -1
  72. package/dist/navbar-tabbed-sections.d.cts +1 -10
  73. package/dist/navbar-tabbed-sections.d.ts +1 -10
  74. package/dist/navbar-tabbed-sections.js +1 -1
  75. package/dist/navbar-transparent-overlay.d.cts +1 -10
  76. package/dist/navbar-transparent-overlay.d.ts +1 -10
  77. package/dist/registry.cjs +200 -168
  78. package/dist/registry.js +200 -168
  79. package/dist/types-D2b35ylu.d.cts +98 -0
  80. package/dist/types-D2b35ylu.d.ts +98 -0
  81. package/package.json +1 -1
@@ -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';
@@ -12,16 +13,6 @@ interface FeatureItem {
12
13
  description: string;
13
14
  href: string;
14
15
  }
15
- /**
16
- * Logo configuration interface
17
- */
18
- interface LogoConfig {
19
- url?: string;
20
- src?: string;
21
- alt?: string;
22
- title?: React.ReactNode;
23
- className?: string;
24
- }
25
16
  /**
26
17
  * Props for the NavbarFeatureGrid component
27
18
  */
@@ -1027,7 +1027,7 @@ function NavigationMenuTrigger({
1027
1027
  DynamicIcon,
1028
1028
  {
1029
1029
  name: "lucide/chevron-down",
1030
- className: "relative top-[1px] ml-1 size-2.5 transition duration-300 group-data-[state=open]:rotate-180",
1030
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
1031
1031
  "aria-hidden": "true"
1032
1032
  }
1033
1033
  )
@@ -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-2.5 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
  )
@@ -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';
@@ -17,16 +18,6 @@ interface NavItem {
17
18
  href: string;
18
19
  dropdownItems?: DropdownItem[];
19
20
  }
20
- /**
21
- * Logo configuration interface
22
- */
23
- interface LogoConfig {
24
- url?: string;
25
- src?: string;
26
- alt?: string;
27
- title?: React.ReactNode;
28
- className?: string;
29
- }
30
21
  /**
31
22
  * Props for the NavbarFloatingPill component
32
23
  */
@@ -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';
@@ -17,16 +18,6 @@ interface NavItem {
17
18
  href: string;
18
19
  dropdownItems?: DropdownItem[];
19
20
  }
20
- /**
21
- * Logo configuration interface
22
- */
23
- interface LogoConfig {
24
- url?: string;
25
- src?: string;
26
- alt?: string;
27
- title?: React.ReactNode;
28
- className?: string;
29
- }
30
21
  /**
31
22
  * Props for the NavbarFloatingPill component
32
23
  */
@@ -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-2.5 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
  )
@@ -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 { O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
6
7
  import 'class-variance-authority';
7
8
  import './button-variants-lRElsmTc.cjs';
@@ -15,16 +16,6 @@ interface SocialLink {
15
16
  label: string;
16
17
  href: string;
17
18
  }
18
- /**
19
- * Logo configuration interface
20
- */
21
- interface LogoConfig {
22
- url?: string;
23
- src?: string;
24
- alt?: string;
25
- title?: React.ReactNode;
26
- className?: string;
27
- }
28
19
  /**
29
20
  * Props for the NavbarFullscreenMenu component
30
21
  */
@@ -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 { O as OptixFlowConfig } from './blocks-k17uluAz.js';
6
7
  import 'class-variance-authority';
7
8
  import './button-variants-lRElsmTc.js';
@@ -15,16 +16,6 @@ interface SocialLink {
15
16
  label: string;
16
17
  href: string;
17
18
  }
18
- /**
19
- * Logo configuration interface
20
- */
21
- interface LogoConfig {
22
- url?: string;
23
- src?: string;
24
- alt?: string;
25
- title?: React.ReactNode;
26
- className?: string;
27
- }
28
19
  /**
29
20
  * Props for the NavbarFullscreenMenu component
30
21
  */
@@ -2,26 +2,20 @@ 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';
8
9
  import 'class-variance-authority/types';
9
10
 
11
+ /**
12
+ * Navigation item with icon for compact navbar display
13
+ */
10
14
  interface NavItem {
11
15
  title: string;
12
16
  url: string;
13
17
  icon: string;
14
18
  }
15
- /**
16
- * Logo configuration interface
17
- */
18
- interface LogoConfig {
19
- url?: string;
20
- src?: string;
21
- alt?: string;
22
- title?: React.ReactNode;
23
- className?: string;
24
- }
25
19
  /**
26
20
  * Props for the NavbarIconLinks component
27
21
  */
@@ -2,26 +2,20 @@ 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';
8
9
  import 'class-variance-authority/types';
9
10
 
11
+ /**
12
+ * Navigation item with icon for compact navbar display
13
+ */
10
14
  interface NavItem {
11
15
  title: string;
12
16
  url: string;
13
17
  icon: string;
14
18
  }
15
- /**
16
- * Logo configuration interface
17
- */
18
- interface LogoConfig {
19
- url?: string;
20
- src?: string;
21
- alt?: string;
22
- title?: React.ReactNode;
23
- className?: string;
24
- }
25
19
  /**
26
20
  * Props for the NavbarIconLinks component
27
21
  */
@@ -995,7 +995,7 @@ function NavigationMenuTrigger({
995
995
  DynamicIcon,
996
996
  {
997
997
  name: "lucide/chevron-down",
998
- className: "relative top-[1px] ml-1 size-2.5 transition duration-300 group-data-[state=open]:rotate-180",
998
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
999
999
  "aria-hidden": "true"
1000
1000
  }
1001
1001
  )
@@ -1255,6 +1255,11 @@ var imagePlaceholders = [
1255
1255
  "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
1256
1256
  "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
1257
1257
  ];
1258
+
1259
+ // components/blocks/navbars/types.ts
1260
+ function getLinkUrl(item) {
1261
+ return item.href || item.url || "#";
1262
+ }
1258
1263
  var MOBILE_BREAKPOINT = 1024;
1259
1264
  var NavbarImagePreview = ({
1260
1265
  className,
@@ -1401,7 +1406,7 @@ var NavbarImagePreview = ({
1401
1406
  containerClassName
1402
1407
  ),
1403
1408
  ref: navRef,
1404
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container border-b", children: /* @__PURE__ */ jsxRuntime.jsxs(
1409
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container border-b border-border/50 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsxs(
1405
1410
  "div",
1406
1411
  {
1407
1412
  className: cn(
@@ -1503,14 +1508,14 @@ var DesktopMenuItem = ({
1503
1508
  /* @__PURE__ */ jsxRuntime.jsx("ul", { children: item.links.map((link, linkIndex) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1504
1509
  Pressable,
1505
1510
  {
1506
- href: link.url,
1511
+ href: getLinkUrl(link),
1507
1512
  className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
1508
1513
  "data-index": linkIndex,
1509
1514
  onMouseEnter: handleMouseEnter,
1510
1515
  onMouseLeave: handleMouseLeave,
1511
1516
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1512
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "leading-normal font-medium", children: link.label }),
1513
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-normal text-muted-foreground", children: link.description })
1517
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm leading-normal font-medium", children: link.label }),
1518
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
1514
1519
  ] })
1515
1520
  }
1516
1521
  ) }, `desktop-nav-sublink-${linkIndex}`)) })
@@ -1553,7 +1558,7 @@ var MobileNavigationMenu = ({
1553
1558
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-3", children: item.links?.map((link, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1554
1559
  Pressable,
1555
1560
  {
1556
- href: link.url,
1561
+ href: getLinkUrl(link),
1557
1562
  className: cn(
1558
1563
  "text-primary-foreground leading-normal font-medium",
1559
1564
  index === 0 ? "text-2xl" : "text-base"
@@ -2,17 +2,17 @@ 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, b as ILinkItem } 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';
8
9
  import 'class-variance-authority/types';
9
10
 
10
- interface MenuLink {
11
- label: React.ReactNode;
12
- description?: React.ReactNode;
13
- url: string;
14
- image?: string;
15
- }
11
+ /**
12
+ * MenuLink type alias for backward compatibility
13
+ * Uses shared ILinkItem which supports both href and url
14
+ */
15
+ type MenuLink = ILinkItem;
16
16
  interface MenuItem {
17
17
  title: React.ReactNode;
18
18
  url?: string;
@@ -25,16 +25,6 @@ interface SocialLink {
25
25
  icon?: React.ReactNode;
26
26
  iconName?: string;
27
27
  }
28
- /**
29
- * Logo configuration interface
30
- */
31
- interface LogoConfig {
32
- url?: string;
33
- src?: string;
34
- alt?: string;
35
- title?: React.ReactNode;
36
- className?: string;
37
- }
38
28
  /**
39
29
  * Props for the NavbarImagePreview component
40
30
  */
@@ -2,17 +2,17 @@ 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, b as ILinkItem } 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';
8
9
  import 'class-variance-authority/types';
9
10
 
10
- interface MenuLink {
11
- label: React.ReactNode;
12
- description?: React.ReactNode;
13
- url: string;
14
- image?: string;
15
- }
11
+ /**
12
+ * MenuLink type alias for backward compatibility
13
+ * Uses shared ILinkItem which supports both href and url
14
+ */
15
+ type MenuLink = ILinkItem;
16
16
  interface MenuItem {
17
17
  title: React.ReactNode;
18
18
  url?: string;
@@ -25,16 +25,6 @@ interface SocialLink {
25
25
  icon?: React.ReactNode;
26
26
  iconName?: string;
27
27
  }
28
- /**
29
- * Logo configuration interface
30
- */
31
- interface LogoConfig {
32
- url?: string;
33
- src?: string;
34
- alt?: string;
35
- title?: React.ReactNode;
36
- className?: string;
37
- }
38
28
  /**
39
29
  * Props for the NavbarImagePreview component
40
30
  */
@@ -972,7 +972,7 @@ function NavigationMenuTrigger({
972
972
  DynamicIcon,
973
973
  {
974
974
  name: "lucide/chevron-down",
975
- className: "relative top-[1px] ml-1 size-2.5 transition duration-300 group-data-[state=open]:rotate-180",
975
+ className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
976
976
  "aria-hidden": "true"
977
977
  }
978
978
  )
@@ -1232,6 +1232,11 @@ var imagePlaceholders = [
1232
1232
  "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
1233
1233
  "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
1234
1234
  ];
1235
+
1236
+ // components/blocks/navbars/types.ts
1237
+ function getLinkUrl(item) {
1238
+ return item.href || item.url || "#";
1239
+ }
1235
1240
  var MOBILE_BREAKPOINT = 1024;
1236
1241
  var NavbarImagePreview = ({
1237
1242
  className,
@@ -1378,7 +1383,7 @@ var NavbarImagePreview = ({
1378
1383
  containerClassName
1379
1384
  ),
1380
1385
  ref: navRef,
1381
- children: /* @__PURE__ */ jsx("div", { className: "container border-b", children: /* @__PURE__ */ jsxs(
1386
+ children: /* @__PURE__ */ jsx("div", { className: "container border-b border-border/50 shadow-sm", children: /* @__PURE__ */ jsxs(
1382
1387
  "div",
1383
1388
  {
1384
1389
  className: cn(
@@ -1480,14 +1485,14 @@ var DesktopMenuItem = ({
1480
1485
  /* @__PURE__ */ jsx("ul", { children: item.links.map((link, linkIndex) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1481
1486
  Pressable,
1482
1487
  {
1483
- href: link.url,
1488
+ href: getLinkUrl(link),
1484
1489
  className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
1485
1490
  "data-index": linkIndex,
1486
1491
  onMouseEnter: handleMouseEnter,
1487
1492
  onMouseLeave: handleMouseLeave,
1488
1493
  children: /* @__PURE__ */ jsxs("div", { children: [
1489
- /* @__PURE__ */ jsx("h3", { className: "leading-normal font-medium", children: link.label }),
1490
- /* @__PURE__ */ jsx("p", { className: "leading-normal text-muted-foreground", children: link.description })
1494
+ /* @__PURE__ */ jsx("h3", { className: "text-sm leading-normal font-medium", children: link.label }),
1495
+ /* @__PURE__ */ jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
1491
1496
  ] })
1492
1497
  }
1493
1498
  ) }, `desktop-nav-sublink-${linkIndex}`)) })
@@ -1530,7 +1535,7 @@ var MobileNavigationMenu = ({
1530
1535
  /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-3", children: item.links?.map((link, i) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1531
1536
  Pressable,
1532
1537
  {
1533
- href: link.url,
1538
+ href: getLinkUrl(link),
1534
1539
  className: cn(
1535
1540
  "text-primary-foreground leading-normal font-medium",
1536
1541
  index === 0 ? "text-2xl" : "text-base"
@@ -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-2.5 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
  )
@@ -1058,6 +1058,11 @@ function NavigationMenuLink({
1058
1058
  }
1059
1059
  );
1060
1060
  }
1061
+
1062
+ // components/blocks/navbars/types.ts
1063
+ function getLinkUrl(item) {
1064
+ return item.href || item.url || "#";
1065
+ }
1061
1066
  var DesktopMenuItem = ({
1062
1067
  link,
1063
1068
  index,
@@ -1110,14 +1115,14 @@ var DesktopMenuItem = ({
1110
1115
  /* @__PURE__ */ jsxRuntime.jsx("ul", { children: link.links.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1111
1116
  NavigationMenuLink,
1112
1117
  {
1113
- href: item.url,
1118
+ href: getLinkUrl(item),
1114
1119
  className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
1115
1120
  "data-index": idx,
1116
1121
  onMouseEnter: handleMouseEnter,
1117
1122
  onMouseLeave: handleMouseLeave,
1118
1123
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1119
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "leading-normal font-medium", children: item.label }),
1120
- 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 })
1121
1126
  ] })
1122
1127
  }
1123
1128
  ) }, `desktop-nav-sublink-${idx}`)) })
@@ -1128,13 +1133,13 @@ var DesktopMenuItem = ({
1128
1133
  if (layout === "simple-grid" && link.links) {
1129
1134
  return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
1130
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 }),
1131
- /* @__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(
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(
1132
1137
  NavigationMenuLink,
1133
1138
  {
1134
- href: item.url,
1139
+ href: getLinkUrl(item),
1135
1140
  className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-muted hover:text-foreground",
1136
1141
  children: [
1137
- item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-16 w-16 shrink-0 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(
1138
1143
  img.Img,
1139
1144
  {
1140
1145
  src: item.image,
@@ -1143,7 +1148,7 @@ var DesktopMenuItem = ({
1143
1148
  optixFlowConfig
1144
1149
  }
1145
1150
  ) }),
1146
- !item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-16 w-16 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 }),
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 }),
1147
1152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1148
1153
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium", children: item.label }),
1149
1154
  item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
@@ -1160,7 +1165,7 @@ var DesktopMenuItem = ({
1160
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(
1161
1166
  NavigationMenuLink,
1162
1167
  {
1163
- href: item.url,
1168
+ href: getLinkUrl(item),
1164
1169
  className: "flex items-start gap-3 rounded-lg p-3 hover:bg-muted",
1165
1170
  children: [
1166
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 }),
@@ -1204,7 +1209,7 @@ var MobileSubmenu = ({
1204
1209
  return /* @__PURE__ */ jsxRuntime.jsxs(
1205
1210
  Pressable,
1206
1211
  {
1207
- href: item.url,
1212
+ href: getLinkUrl(item),
1208
1213
  className: "flex items-start gap-4 border-b border-border px-8 py-5",
1209
1214
  children: [
1210
1215
  item.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1319,7 +1324,7 @@ var NavbarMegaMenu = ({
1319
1324
  navClassName
1320
1325
  ),
1321
1326
  children: [
1322
- /* @__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: [
1323
1328
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1324
1329
  (!open || submenuIndex === null) && renderLogo(),
1325
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 };