@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
|
@@ -1056,7 +1056,7 @@ function NavigationMenuTrigger({
|
|
|
1056
1056
|
DynamicIcon,
|
|
1057
1057
|
{
|
|
1058
1058
|
name: "lucide/chevron-down",
|
|
1059
|
-
className: "relative top-[1px] ml-1 size-2
|
|
1059
|
+
className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1060
1060
|
"aria-hidden": "true"
|
|
1061
1061
|
}
|
|
1062
1062
|
)
|
|
@@ -1368,6 +1368,11 @@ var imagePlaceholders = [
|
|
|
1368
1368
|
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
1369
1369
|
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
1370
1370
|
];
|
|
1371
|
+
|
|
1372
|
+
// components/blocks/navbars/types.ts
|
|
1373
|
+
function getLinkUrl(item) {
|
|
1374
|
+
return item.href || item.url || "#";
|
|
1375
|
+
}
|
|
1371
1376
|
var MOBILE_BREAKPOINT = 1280;
|
|
1372
1377
|
var NavbarAnimatedPreview = ({
|
|
1373
1378
|
className,
|
|
@@ -1496,7 +1501,7 @@ var NavbarAnimatedPreview = ({
|
|
|
1496
1501
|
NavigationMenu,
|
|
1497
1502
|
{
|
|
1498
1503
|
className: cn(
|
|
1499
|
-
"h-20 max-w-full after:absolute after:inset-0 after:z-998 after:block after:size-full after:bg-background after:content-[''] [&>div:last-child>div]:mt-0 [&>div:last-child>div]:animate-none [&>div:last-child>div]:rounded-none [&>div:last-child>div]:border-0 [&>div:last-child>div]:shadow-[0px_-1px_0px_0px_rgba(0,0,0,0.05),0px_0px_0px_1px_rgba(17,26,37,0.05),0px_2px_5px_0px_rgba(16,25,36,0.1),0px_5px_20px_0px_rgba(16,25,36,0.1)]!",
|
|
1504
|
+
"h-20 max-w-full border-b border-border/50 shadow-sm after:absolute after:inset-0 after:z-998 after:block after:size-full after:bg-background after:content-[''] [&>div:last-child>div]:mt-0 [&>div:last-child>div]:animate-none [&>div:last-child>div]:rounded-none [&>div:last-child>div]:border-0 [&>div:last-child>div]:shadow-[0px_-1px_0px_0px_rgba(0,0,0,0.05),0px_0px_0px_1px_rgba(17,26,37,0.05),0px_2px_5px_0px_rgba(16,25,36,0.1),0px_5px_20px_0px_rgba(16,25,36,0.1)]!",
|
|
1500
1505
|
navigationMenuClassName
|
|
1501
1506
|
),
|
|
1502
1507
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1744,7 +1749,7 @@ var FeaturedImageLink = ({
|
|
|
1744
1749
|
optixFlowConfig
|
|
1745
1750
|
}) => {
|
|
1746
1751
|
if (!link) return null;
|
|
1747
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, className: "w-full max-w-147.5", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1752
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url || "#", className: "w-full max-w-147.5", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1748
1753
|
AspectRatio,
|
|
1749
1754
|
{
|
|
1750
1755
|
ratio: 1.77245509,
|
|
@@ -1778,7 +1783,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
|
|
|
1778
1783
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1779
1784
|
Pressable,
|
|
1780
1785
|
{
|
|
1781
|
-
href: link
|
|
1786
|
+
href: getLinkUrl(link),
|
|
1782
1787
|
className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-8 py-7",
|
|
1783
1788
|
children: [
|
|
1784
1789
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex w-full items-center gap-6", children: [
|
|
@@ -1814,7 +1819,7 @@ var NavLink = React.forwardRef(
|
|
|
1814
1819
|
Pressable,
|
|
1815
1820
|
{
|
|
1816
1821
|
ref,
|
|
1817
|
-
href: link
|
|
1822
|
+
href: getLinkUrl(link),
|
|
1818
1823
|
className: "flex w-full gap-2 transition-opacity duration-300",
|
|
1819
1824
|
onMouseEnter,
|
|
1820
1825
|
onMouseLeave,
|
|
@@ -1828,8 +1833,8 @@ var NavLink = React.forwardRef(
|
|
|
1828
1833
|
}
|
|
1829
1834
|
) }),
|
|
1830
1835
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-2", children: [
|
|
1831
|
-
link.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
1832
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
1836
|
+
link.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm leading-normal", children: link.label }),
|
|
1837
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
|
|
1833
1838
|
] })
|
|
1834
1839
|
]
|
|
1835
1840
|
}
|
|
@@ -2,38 +2,14 @@ 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, a as IMenuLinkGroup } 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
|
/**
|
|
11
|
-
*
|
|
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
|
-
* Featured image link with badge
|
|
12
|
+
* Featured image link with badge (specific to animated-preview)
|
|
37
13
|
*/
|
|
38
14
|
interface IFeaturedImageLink {
|
|
39
15
|
url: string;
|
|
@@ -42,35 +18,10 @@ interface IFeaturedImageLink {
|
|
|
42
18
|
}
|
|
43
19
|
/**
|
|
44
20
|
* Layout types for animated preview dropdown menus
|
|
45
|
-
*
|
|
46
|
-
* LAYOUT OPTIONS FOR AI PAGE BUILDER:
|
|
47
|
-
*
|
|
48
|
-
* 1. "animated-image-preview"
|
|
49
|
-
* - Visual: Grid layout with large image preview on left (360px wide), links list on right
|
|
50
|
-
* - Behavior: Image changes on hover based on which link is being hovered
|
|
51
|
-
* - Best for: Product showcases, feature highlights, visual content navigation
|
|
52
|
-
* - Required data: links[] with label, description, url, image
|
|
53
|
-
* - Example use case: Product categories where each has a hero image
|
|
54
|
-
*
|
|
55
|
-
* 2. "featured-cards-grid"
|
|
56
|
-
* - Visual: 2-column grid of featured cards with background images and icons
|
|
57
|
-
* - Behavior: Static grid, cards have hover effects
|
|
58
|
-
* - Best for: Highlighting key features or products with visual emphasis
|
|
59
|
-
* - Required data: featuredLinks[] with label, description, url, iconName, background
|
|
60
|
-
* links[] for additional non-featured links
|
|
61
|
-
* - Example use case: Premium features or flagship products
|
|
62
|
-
*
|
|
63
|
-
* 3. "grouped-links-image"
|
|
64
|
-
* - Visual: Left side has grouped link sections, right side has single featured image card
|
|
65
|
-
* - Behavior: Static layout with organized link groups
|
|
66
|
-
* - Best for: Organized navigation with many links grouped by category
|
|
67
|
-
* - Required data: groupLinks[] with title and links[]
|
|
68
|
-
* imageLink with label, description, url, image, badge (optional)
|
|
69
|
-
* - Example use case: Developer resources grouped by topic with featured documentation
|
|
70
21
|
*/
|
|
71
22
|
type AnimatedPreviewLayout = "animated-image-preview" | "featured-cards-grid" | "grouped-links-image";
|
|
72
23
|
/**
|
|
73
|
-
* Menu link configuration with layout-based dropdown options
|
|
24
|
+
* Menu link configuration with layout-based dropdown options (specific to animated-preview)
|
|
74
25
|
*/
|
|
75
26
|
interface IMenuLink {
|
|
76
27
|
label: React.ReactNode;
|
|
@@ -82,16 +33,6 @@ interface IMenuLink {
|
|
|
82
33
|
groupLinks?: IMenuLinkGroup[];
|
|
83
34
|
imageLink?: IFeaturedImageLink;
|
|
84
35
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Logo configuration interface
|
|
87
|
-
*/
|
|
88
|
-
interface LogoConfig {
|
|
89
|
-
url?: string;
|
|
90
|
-
src?: string;
|
|
91
|
-
alt?: string;
|
|
92
|
-
title?: React.ReactNode;
|
|
93
|
-
className?: string;
|
|
94
|
-
}
|
|
95
36
|
/**
|
|
96
37
|
* Props for the NavbarAnimatedPreview component
|
|
97
38
|
*/
|
|
@@ -176,4 +117,4 @@ interface NavbarAnimatedPreviewProps {
|
|
|
176
117
|
*/
|
|
177
118
|
declare const NavbarAnimatedPreview: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, menuLinks, navigationSlot, actions, actionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarAnimatedPreviewProps) => react_jsx_runtime.JSX.Element;
|
|
178
119
|
|
|
179
|
-
export { type AnimatedPreviewLayout, type IFeaturedImageLink,
|
|
120
|
+
export { type AnimatedPreviewLayout, type IFeaturedImageLink, ILinkItem, type IMenuLink, IMenuLinkGroup, LogoConfig, NavbarAnimatedPreview, type NavbarAnimatedPreviewProps };
|
|
@@ -2,38 +2,14 @@ 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, a as IMenuLinkGroup } 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
|
/**
|
|
11
|
-
*
|
|
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
|
-
* Featured image link with badge
|
|
12
|
+
* Featured image link with badge (specific to animated-preview)
|
|
37
13
|
*/
|
|
38
14
|
interface IFeaturedImageLink {
|
|
39
15
|
url: string;
|
|
@@ -42,35 +18,10 @@ interface IFeaturedImageLink {
|
|
|
42
18
|
}
|
|
43
19
|
/**
|
|
44
20
|
* Layout types for animated preview dropdown menus
|
|
45
|
-
*
|
|
46
|
-
* LAYOUT OPTIONS FOR AI PAGE BUILDER:
|
|
47
|
-
*
|
|
48
|
-
* 1. "animated-image-preview"
|
|
49
|
-
* - Visual: Grid layout with large image preview on left (360px wide), links list on right
|
|
50
|
-
* - Behavior: Image changes on hover based on which link is being hovered
|
|
51
|
-
* - Best for: Product showcases, feature highlights, visual content navigation
|
|
52
|
-
* - Required data: links[] with label, description, url, image
|
|
53
|
-
* - Example use case: Product categories where each has a hero image
|
|
54
|
-
*
|
|
55
|
-
* 2. "featured-cards-grid"
|
|
56
|
-
* - Visual: 2-column grid of featured cards with background images and icons
|
|
57
|
-
* - Behavior: Static grid, cards have hover effects
|
|
58
|
-
* - Best for: Highlighting key features or products with visual emphasis
|
|
59
|
-
* - Required data: featuredLinks[] with label, description, url, iconName, background
|
|
60
|
-
* links[] for additional non-featured links
|
|
61
|
-
* - Example use case: Premium features or flagship products
|
|
62
|
-
*
|
|
63
|
-
* 3. "grouped-links-image"
|
|
64
|
-
* - Visual: Left side has grouped link sections, right side has single featured image card
|
|
65
|
-
* - Behavior: Static layout with organized link groups
|
|
66
|
-
* - Best for: Organized navigation with many links grouped by category
|
|
67
|
-
* - Required data: groupLinks[] with title and links[]
|
|
68
|
-
* imageLink with label, description, url, image, badge (optional)
|
|
69
|
-
* - Example use case: Developer resources grouped by topic with featured documentation
|
|
70
21
|
*/
|
|
71
22
|
type AnimatedPreviewLayout = "animated-image-preview" | "featured-cards-grid" | "grouped-links-image";
|
|
72
23
|
/**
|
|
73
|
-
* Menu link configuration with layout-based dropdown options
|
|
24
|
+
* Menu link configuration with layout-based dropdown options (specific to animated-preview)
|
|
74
25
|
*/
|
|
75
26
|
interface IMenuLink {
|
|
76
27
|
label: React.ReactNode;
|
|
@@ -82,16 +33,6 @@ interface IMenuLink {
|
|
|
82
33
|
groupLinks?: IMenuLinkGroup[];
|
|
83
34
|
imageLink?: IFeaturedImageLink;
|
|
84
35
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Logo configuration interface
|
|
87
|
-
*/
|
|
88
|
-
interface LogoConfig {
|
|
89
|
-
url?: string;
|
|
90
|
-
src?: string;
|
|
91
|
-
alt?: string;
|
|
92
|
-
title?: React.ReactNode;
|
|
93
|
-
className?: string;
|
|
94
|
-
}
|
|
95
36
|
/**
|
|
96
37
|
* Props for the NavbarAnimatedPreview component
|
|
97
38
|
*/
|
|
@@ -176,4 +117,4 @@ interface NavbarAnimatedPreviewProps {
|
|
|
176
117
|
*/
|
|
177
118
|
declare const NavbarAnimatedPreview: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, menuLinks, navigationSlot, actions, actionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarAnimatedPreviewProps) => react_jsx_runtime.JSX.Element;
|
|
178
119
|
|
|
179
|
-
export { type AnimatedPreviewLayout, type IFeaturedImageLink,
|
|
120
|
+
export { type AnimatedPreviewLayout, type IFeaturedImageLink, ILinkItem, type IMenuLink, IMenuLinkGroup, LogoConfig, NavbarAnimatedPreview, type NavbarAnimatedPreviewProps };
|
|
@@ -1030,7 +1030,7 @@ function NavigationMenuTrigger({
|
|
|
1030
1030
|
DynamicIcon,
|
|
1031
1031
|
{
|
|
1032
1032
|
name: "lucide/chevron-down",
|
|
1033
|
-
className: "relative top-[1px] ml-1 size-2
|
|
1033
|
+
className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1034
1034
|
"aria-hidden": "true"
|
|
1035
1035
|
}
|
|
1036
1036
|
)
|
|
@@ -1342,6 +1342,11 @@ var imagePlaceholders = [
|
|
|
1342
1342
|
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
1343
1343
|
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
1344
1344
|
];
|
|
1345
|
+
|
|
1346
|
+
// components/blocks/navbars/types.ts
|
|
1347
|
+
function getLinkUrl(item) {
|
|
1348
|
+
return item.href || item.url || "#";
|
|
1349
|
+
}
|
|
1345
1350
|
var MOBILE_BREAKPOINT = 1280;
|
|
1346
1351
|
var NavbarAnimatedPreview = ({
|
|
1347
1352
|
className,
|
|
@@ -1470,7 +1475,7 @@ var NavbarAnimatedPreview = ({
|
|
|
1470
1475
|
NavigationMenu,
|
|
1471
1476
|
{
|
|
1472
1477
|
className: cn(
|
|
1473
|
-
"h-20 max-w-full after:absolute after:inset-0 after:z-998 after:block after:size-full after:bg-background after:content-[''] [&>div:last-child>div]:mt-0 [&>div:last-child>div]:animate-none [&>div:last-child>div]:rounded-none [&>div:last-child>div]:border-0 [&>div:last-child>div]:shadow-[0px_-1px_0px_0px_rgba(0,0,0,0.05),0px_0px_0px_1px_rgba(17,26,37,0.05),0px_2px_5px_0px_rgba(16,25,36,0.1),0px_5px_20px_0px_rgba(16,25,36,0.1)]!",
|
|
1478
|
+
"h-20 max-w-full border-b border-border/50 shadow-sm after:absolute after:inset-0 after:z-998 after:block after:size-full after:bg-background after:content-[''] [&>div:last-child>div]:mt-0 [&>div:last-child>div]:animate-none [&>div:last-child>div]:rounded-none [&>div:last-child>div]:border-0 [&>div:last-child>div]:shadow-[0px_-1px_0px_0px_rgba(0,0,0,0.05),0px_0px_0px_1px_rgba(17,26,37,0.05),0px_2px_5px_0px_rgba(16,25,36,0.1),0px_5px_20px_0px_rgba(16,25,36,0.1)]!",
|
|
1474
1479
|
navigationMenuClassName
|
|
1475
1480
|
),
|
|
1476
1481
|
children: /* @__PURE__ */ jsxs(
|
|
@@ -1718,7 +1723,7 @@ var FeaturedImageLink = ({
|
|
|
1718
1723
|
optixFlowConfig
|
|
1719
1724
|
}) => {
|
|
1720
1725
|
if (!link) return null;
|
|
1721
|
-
return /* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, className: "w-full max-w-147.5", children: /* @__PURE__ */ jsx(
|
|
1726
|
+
return /* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsx(Pressable, { href: link.url || "#", className: "w-full max-w-147.5", children: /* @__PURE__ */ jsx(
|
|
1722
1727
|
AspectRatio,
|
|
1723
1728
|
{
|
|
1724
1729
|
ratio: 1.77245509,
|
|
@@ -1752,7 +1757,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
|
|
|
1752
1757
|
return /* @__PURE__ */ jsxs(
|
|
1753
1758
|
Pressable,
|
|
1754
1759
|
{
|
|
1755
|
-
href: link
|
|
1760
|
+
href: getLinkUrl(link),
|
|
1756
1761
|
className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-8 py-7",
|
|
1757
1762
|
children: [
|
|
1758
1763
|
/* @__PURE__ */ jsxs("div", { className: "relative z-10 flex w-full items-center gap-6", children: [
|
|
@@ -1788,7 +1793,7 @@ var NavLink = forwardRef(
|
|
|
1788
1793
|
Pressable,
|
|
1789
1794
|
{
|
|
1790
1795
|
ref,
|
|
1791
|
-
href: link
|
|
1796
|
+
href: getLinkUrl(link),
|
|
1792
1797
|
className: "flex w-full gap-2 transition-opacity duration-300",
|
|
1793
1798
|
onMouseEnter,
|
|
1794
1799
|
onMouseLeave,
|
|
@@ -1802,8 +1807,8 @@ var NavLink = forwardRef(
|
|
|
1802
1807
|
}
|
|
1803
1808
|
) }),
|
|
1804
1809
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-2", children: [
|
|
1805
|
-
link.label && /* @__PURE__ */ jsx("div", { className: "text-
|
|
1806
|
-
/* @__PURE__ */ jsx("div", { className: "text-
|
|
1810
|
+
link.label && /* @__PURE__ */ jsx("div", { className: "text-sm leading-normal", children: link.label }),
|
|
1811
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
|
|
1807
1812
|
] })
|
|
1808
1813
|
]
|
|
1809
1814
|
}
|
|
@@ -1028,7 +1028,7 @@ function NavigationMenuTrigger({
|
|
|
1028
1028
|
DynamicIcon,
|
|
1029
1029
|
{
|
|
1030
1030
|
name: "lucide/chevron-down",
|
|
1031
|
-
className: "relative top-[1px] ml-1 size-2
|
|
1031
|
+
className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1032
1032
|
"aria-hidden": "true"
|
|
1033
1033
|
}
|
|
1034
1034
|
)
|
|
@@ -1316,56 +1316,65 @@ var NavbarCenteredMenu = ({
|
|
|
1316
1316
|
className: cn(className),
|
|
1317
1317
|
pattern,
|
|
1318
1318
|
patternOpacity,
|
|
1319
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
className: navigationMenuClassName,
|
|
1330
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { className: "relative", children: renderMenu() })
|
|
1331
|
-
}
|
|
1332
|
-
) }) }),
|
|
1333
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions() })
|
|
1334
|
-
]
|
|
1335
|
-
}
|
|
1336
|
-
),
|
|
1337
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1338
|
-
renderLogo(),
|
|
1339
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
1340
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1341
|
-
Pressable,
|
|
1319
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1320
|
+
"div",
|
|
1321
|
+
{
|
|
1322
|
+
className: cn(
|
|
1323
|
+
"container border-b border-border/50 shadow-sm",
|
|
1324
|
+
containerClassName
|
|
1325
|
+
),
|
|
1326
|
+
children: [
|
|
1327
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1328
|
+
"nav",
|
|
1342
1329
|
{
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1330
|
+
className: cn("hidden justify-between lg:flex", desktopNavClassName),
|
|
1331
|
+
children: [
|
|
1332
|
+
renderLogo(),
|
|
1333
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1334
|
+
NavigationMenuWithoutViewport,
|
|
1335
|
+
{
|
|
1336
|
+
className: navigationMenuClassName,
|
|
1337
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { className: "relative", children: renderMenu() })
|
|
1338
|
+
}
|
|
1339
|
+
) }) }),
|
|
1340
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions() })
|
|
1341
|
+
]
|
|
1349
1342
|
}
|
|
1350
|
-
)
|
|
1351
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1352
|
-
|
|
1353
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1354
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1355
|
-
|
|
1343
|
+
),
|
|
1344
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1345
|
+
renderLogo(),
|
|
1346
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
1347
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1348
|
+
Pressable,
|
|
1356
1349
|
{
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1350
|
+
variant: "outline",
|
|
1351
|
+
size: "icon",
|
|
1352
|
+
asButton: true,
|
|
1353
|
+
onClick: () => {
|
|
1354
|
+
},
|
|
1355
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: 16 })
|
|
1361
1356
|
}
|
|
1362
|
-
),
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1357
|
+
) }),
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { className: "overflow-y-auto", children: [
|
|
1359
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: renderLogo() }) }),
|
|
1360
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
|
|
1361
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1362
|
+
Accordion,
|
|
1363
|
+
{
|
|
1364
|
+
type: "single",
|
|
1365
|
+
collapsible: true,
|
|
1366
|
+
className: "flex w-full flex-col gap-4",
|
|
1367
|
+
children: renderMobileMenu()
|
|
1368
|
+
}
|
|
1369
|
+
),
|
|
1370
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions() })
|
|
1371
|
+
] })
|
|
1372
|
+
] })
|
|
1364
1373
|
] })
|
|
1365
|
-
] })
|
|
1366
|
-
]
|
|
1367
|
-
|
|
1368
|
-
|
|
1374
|
+
] }) })
|
|
1375
|
+
]
|
|
1376
|
+
}
|
|
1377
|
+
)
|
|
1369
1378
|
}
|
|
1370
1379
|
);
|
|
1371
1380
|
};
|
|
@@ -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';
|
|
@@ -9,6 +10,7 @@ import 'class-variance-authority/types';
|
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Menu item interface for navigation
|
|
13
|
+
* Component-specific type using 'title' and 'url' fields
|
|
12
14
|
*/
|
|
13
15
|
interface MenuItem {
|
|
14
16
|
title: string;
|
|
@@ -17,16 +19,6 @@ interface MenuItem {
|
|
|
17
19
|
icon?: string;
|
|
18
20
|
items?: MenuItem[];
|
|
19
21
|
}
|
|
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
22
|
/**
|
|
31
23
|
* Props for the NavbarCenteredMenu component
|
|
32
24
|
*/
|
|
@@ -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';
|
|
@@ -9,6 +10,7 @@ import 'class-variance-authority/types';
|
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Menu item interface for navigation
|
|
13
|
+
* Component-specific type using 'title' and 'url' fields
|
|
12
14
|
*/
|
|
13
15
|
interface MenuItem {
|
|
14
16
|
title: string;
|
|
@@ -17,16 +19,6 @@ interface MenuItem {
|
|
|
17
19
|
icon?: string;
|
|
18
20
|
items?: MenuItem[];
|
|
19
21
|
}
|
|
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
22
|
/**
|
|
31
23
|
* Props for the NavbarCenteredMenu component
|
|
32
24
|
*/
|
|
@@ -1004,7 +1004,7 @@ function NavigationMenuTrigger({
|
|
|
1004
1004
|
DynamicIcon,
|
|
1005
1005
|
{
|
|
1006
1006
|
name: "lucide/chevron-down",
|
|
1007
|
-
className: "relative top-[1px] ml-1 size-2
|
|
1007
|
+
className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1008
1008
|
"aria-hidden": "true"
|
|
1009
1009
|
}
|
|
1010
1010
|
)
|
|
@@ -1292,56 +1292,65 @@ var NavbarCenteredMenu = ({
|
|
|
1292
1292
|
className: cn(className),
|
|
1293
1293
|
pattern,
|
|
1294
1294
|
patternOpacity,
|
|
1295
|
-
children: /* @__PURE__ */ jsxs(
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
className: navigationMenuClassName,
|
|
1306
|
-
children: /* @__PURE__ */ jsx(NavigationMenuList, { className: "relative", children: renderMenu() })
|
|
1307
|
-
}
|
|
1308
|
-
) }) }),
|
|
1309
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions() })
|
|
1310
|
-
]
|
|
1311
|
-
}
|
|
1312
|
-
),
|
|
1313
|
-
/* @__PURE__ */ jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1314
|
-
renderLogo(),
|
|
1315
|
-
/* @__PURE__ */ jsxs(Sheet, { children: [
|
|
1316
|
-
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
1317
|
-
Pressable,
|
|
1295
|
+
children: /* @__PURE__ */ jsxs(
|
|
1296
|
+
"div",
|
|
1297
|
+
{
|
|
1298
|
+
className: cn(
|
|
1299
|
+
"container border-b border-border/50 shadow-sm",
|
|
1300
|
+
containerClassName
|
|
1301
|
+
),
|
|
1302
|
+
children: [
|
|
1303
|
+
/* @__PURE__ */ jsxs(
|
|
1304
|
+
"nav",
|
|
1318
1305
|
{
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1306
|
+
className: cn("hidden justify-between lg:flex", desktopNavClassName),
|
|
1307
|
+
children: [
|
|
1308
|
+
renderLogo(),
|
|
1309
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6", children: /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsx(
|
|
1310
|
+
NavigationMenuWithoutViewport,
|
|
1311
|
+
{
|
|
1312
|
+
className: navigationMenuClassName,
|
|
1313
|
+
children: /* @__PURE__ */ jsx(NavigationMenuList, { className: "relative", children: renderMenu() })
|
|
1314
|
+
}
|
|
1315
|
+
) }) }),
|
|
1316
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex gap-2", actionsClassName), children: renderAuthActions() })
|
|
1317
|
+
]
|
|
1325
1318
|
}
|
|
1326
|
-
)
|
|
1327
|
-
/* @__PURE__ */ jsxs(
|
|
1328
|
-
|
|
1329
|
-
/* @__PURE__ */ jsxs(
|
|
1330
|
-
/* @__PURE__ */ jsx(
|
|
1331
|
-
|
|
1319
|
+
),
|
|
1320
|
+
/* @__PURE__ */ jsx("div", { className: cn("block lg:hidden", mobileNavClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1321
|
+
renderLogo(),
|
|
1322
|
+
/* @__PURE__ */ jsxs(Sheet, { children: [
|
|
1323
|
+
/* @__PURE__ */ jsx(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
1324
|
+
Pressable,
|
|
1332
1325
|
{
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1326
|
+
variant: "outline",
|
|
1327
|
+
size: "icon",
|
|
1328
|
+
asButton: true,
|
|
1329
|
+
onClick: () => {
|
|
1330
|
+
},
|
|
1331
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 16 })
|
|
1337
1332
|
}
|
|
1338
|
-
),
|
|
1339
|
-
/* @__PURE__ */
|
|
1333
|
+
) }),
|
|
1334
|
+
/* @__PURE__ */ jsxs(SheetContent, { className: "overflow-y-auto", children: [
|
|
1335
|
+
/* @__PURE__ */ jsx(SheetHeader, { children: /* @__PURE__ */ jsx(SheetTitle, { children: renderLogo() }) }),
|
|
1336
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 p-4", children: [
|
|
1337
|
+
/* @__PURE__ */ jsx(
|
|
1338
|
+
Accordion,
|
|
1339
|
+
{
|
|
1340
|
+
type: "single",
|
|
1341
|
+
collapsible: true,
|
|
1342
|
+
className: "flex w-full flex-col gap-4",
|
|
1343
|
+
children: renderMobileMenu()
|
|
1344
|
+
}
|
|
1345
|
+
),
|
|
1346
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-3", actionsClassName), children: renderAuthActions() })
|
|
1347
|
+
] })
|
|
1348
|
+
] })
|
|
1340
1349
|
] })
|
|
1341
|
-
] })
|
|
1342
|
-
]
|
|
1343
|
-
|
|
1344
|
-
|
|
1350
|
+
] }) })
|
|
1351
|
+
]
|
|
1352
|
+
}
|
|
1353
|
+
)
|
|
1345
1354
|
}
|
|
1346
1355
|
);
|
|
1347
1356
|
};
|
|
@@ -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-2
|
|
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
|
)
|