@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.
- package/dist/navbar-animated-preview.cjs +12 -7
- package/dist/navbar-animated-preview.d.cts +4 -63
- package/dist/navbar-animated-preview.d.ts +4 -63
- package/dist/navbar-animated-preview.js +12 -7
- package/dist/navbar-centered-menu.cjs +55 -46
- package/dist/navbar-centered-menu.d.cts +2 -10
- package/dist/navbar-centered-menu.d.ts +2 -10
- package/dist/navbar-centered-menu.js +55 -46
- package/dist/navbar-dark-icons.cjs +1 -1
- package/dist/navbar-dark-icons.d.cts +1 -10
- package/dist/navbar-dark-icons.d.ts +1 -10
- package/dist/navbar-dark-icons.js +1 -1
- package/dist/navbar-dropdown-menu.cjs +54 -45
- package/dist/navbar-dropdown-menu.d.cts +3 -11
- package/dist/navbar-dropdown-menu.d.ts +3 -11
- package/dist/navbar-dropdown-menu.js +54 -45
- package/dist/navbar-education-platform.cjs +1 -1
- package/dist/navbar-education-platform.d.cts +1 -10
- package/dist/navbar-education-platform.d.ts +1 -10
- package/dist/navbar-education-platform.js +1 -1
- package/dist/navbar-enterprise-mega.cjs +2 -2
- package/dist/navbar-enterprise-mega.d.cts +2 -36
- package/dist/navbar-enterprise-mega.d.ts +2 -36
- package/dist/navbar-enterprise-mega.js +2 -2
- package/dist/navbar-feature-grid.cjs +1 -1
- package/dist/navbar-feature-grid.d.cts +1 -10
- package/dist/navbar-feature-grid.d.ts +1 -10
- package/dist/navbar-feature-grid.js +1 -1
- package/dist/navbar-floating-pill.cjs +1 -1
- package/dist/navbar-floating-pill.d.cts +1 -10
- package/dist/navbar-floating-pill.d.ts +1 -10
- package/dist/navbar-floating-pill.js +1 -1
- package/dist/navbar-fullscreen-menu.d.cts +1 -10
- package/dist/navbar-fullscreen-menu.d.ts +1 -10
- package/dist/navbar-icon-links.d.cts +4 -10
- package/dist/navbar-icon-links.d.ts +4 -10
- package/dist/navbar-image-preview.cjs +11 -6
- package/dist/navbar-image-preview.d.cts +6 -16
- package/dist/navbar-image-preview.d.ts +6 -16
- package/dist/navbar-image-preview.js +11 -6
- package/dist/navbar-mega-menu.cjs +16 -11
- package/dist/navbar-mega-menu.d.cts +3 -73
- package/dist/navbar-mega-menu.d.ts +3 -73
- package/dist/navbar-mega-menu.js +16 -11
- package/dist/navbar-multi-column-groups.cjs +1 -1
- package/dist/navbar-multi-column-groups.d.cts +1 -10
- package/dist/navbar-multi-column-groups.d.ts +1 -10
- package/dist/navbar-multi-column-groups.js +1 -1
- package/dist/navbar-platform-resources.cjs +17 -12
- package/dist/navbar-platform-resources.d.cts +2 -36
- package/dist/navbar-platform-resources.d.ts +2 -36
- package/dist/navbar-platform-resources.js +17 -12
- package/dist/navbar-search-focused.d.cts +1 -10
- package/dist/navbar-search-focused.d.ts +1 -10
- package/dist/navbar-sidebar-mobile.cjs +1 -1
- package/dist/navbar-sidebar-mobile.d.cts +1 -10
- package/dist/navbar-sidebar-mobile.d.ts +1 -10
- package/dist/navbar-sidebar-mobile.js +1 -1
- package/dist/navbar-simple-links.cjs +54 -45
- package/dist/navbar-simple-links.d.cts +1 -10
- package/dist/navbar-simple-links.d.ts +1 -10
- package/dist/navbar-simple-links.js +54 -45
- package/dist/navbar-split-cta.cjs +1 -1
- package/dist/navbar-split-cta.d.cts +1 -10
- package/dist/navbar-split-cta.d.ts +1 -10
- package/dist/navbar-split-cta.js +1 -1
- package/dist/navbar-sticky-compact.cjs +1 -1
- package/dist/navbar-sticky-compact.d.cts +1 -10
- package/dist/navbar-sticky-compact.d.ts +1 -10
- package/dist/navbar-sticky-compact.js +1 -1
- package/dist/navbar-tabbed-sections.cjs +1 -1
- package/dist/navbar-tabbed-sections.d.cts +1 -10
- package/dist/navbar-tabbed-sections.d.ts +1 -10
- package/dist/navbar-tabbed-sections.js +1 -1
- package/dist/navbar-transparent-overlay.d.cts +1 -10
- package/dist/navbar-transparent-overlay.d.ts +1 -10
- package/dist/registry.cjs +200 -168
- package/dist/registry.js +200 -168
- package/dist/types-D2b35ylu.d.cts +98 -0
- package/dist/types-D2b35ylu.d.ts +98 -0
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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-[
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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 {
|
|
91
|
+
export { IMenuLink, LogoConfig, NavbarMegaMenu, type NavbarMegaMenuProps };
|