@opensite/ui 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/navbar-animated-preview.cjs +17 -12
- package/dist/navbar-animated-preview.d.cts +4 -63
- package/dist/navbar-animated-preview.d.ts +4 -63
- package/dist/navbar-animated-preview.js +17 -12
- package/dist/navbar-centered-menu.cjs +60 -51
- package/dist/navbar-centered-menu.d.cts +2 -10
- package/dist/navbar-centered-menu.d.ts +2 -10
- package/dist/navbar-centered-menu.js +60 -51
- package/dist/navbar-dark-icons.cjs +4 -4
- package/dist/navbar-dark-icons.d.cts +1 -10
- package/dist/navbar-dark-icons.d.ts +1 -10
- package/dist/navbar-dark-icons.js +4 -4
- package/dist/navbar-dropdown-menu.cjs +59 -50
- package/dist/navbar-dropdown-menu.d.cts +3 -11
- package/dist/navbar-dropdown-menu.d.ts +3 -11
- package/dist/navbar-dropdown-menu.js +59 -50
- package/dist/navbar-education-platform.cjs +4 -4
- package/dist/navbar-education-platform.d.cts +1 -10
- package/dist/navbar-education-platform.d.ts +1 -10
- package/dist/navbar-education-platform.js +4 -4
- package/dist/navbar-enterprise-mega.cjs +7 -7
- package/dist/navbar-enterprise-mega.d.cts +2 -36
- package/dist/navbar-enterprise-mega.d.ts +2 -36
- package/dist/navbar-enterprise-mega.js +7 -7
- package/dist/navbar-feature-grid.cjs +4 -4
- package/dist/navbar-feature-grid.d.cts +1 -10
- package/dist/navbar-feature-grid.d.ts +1 -10
- package/dist/navbar-feature-grid.js +4 -4
- package/dist/navbar-floating-pill.cjs +4 -4
- package/dist/navbar-floating-pill.d.cts +1 -10
- package/dist/navbar-floating-pill.d.ts +1 -10
- package/dist/navbar-floating-pill.js +4 -4
- package/dist/navbar-fullscreen-menu.d.cts +1 -10
- package/dist/navbar-fullscreen-menu.d.ts +1 -10
- package/dist/navbar-icon-links.cjs +3 -3
- package/dist/navbar-icon-links.d.cts +4 -10
- package/dist/navbar-icon-links.d.ts +4 -10
- package/dist/navbar-icon-links.js +3 -3
- package/dist/navbar-image-preview.cjs +16 -11
- package/dist/navbar-image-preview.d.cts +6 -16
- package/dist/navbar-image-preview.d.ts +6 -16
- package/dist/navbar-image-preview.js +16 -11
- package/dist/navbar-mega-menu.cjs +26 -28
- package/dist/navbar-mega-menu.d.cts +3 -73
- package/dist/navbar-mega-menu.d.ts +3 -73
- package/dist/navbar-mega-menu.js +26 -28
- package/dist/navbar-multi-column-groups.cjs +4 -4
- 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 +4 -4
- package/dist/navbar-platform-resources.cjs +20 -15
- package/dist/navbar-platform-resources.d.cts +2 -36
- package/dist/navbar-platform-resources.d.ts +2 -36
- package/dist/navbar-platform-resources.js +20 -15
- package/dist/navbar-search-focused.cjs +3 -3
- package/dist/navbar-search-focused.d.cts +1 -10
- package/dist/navbar-search-focused.d.ts +1 -10
- package/dist/navbar-search-focused.js +3 -3
- package/dist/navbar-sidebar-mobile.cjs +4 -4
- package/dist/navbar-sidebar-mobile.d.cts +1 -10
- package/dist/navbar-sidebar-mobile.d.ts +1 -10
- package/dist/navbar-sidebar-mobile.js +4 -4
- package/dist/navbar-simple-links.cjs +58 -49
- package/dist/navbar-simple-links.d.cts +1 -10
- package/dist/navbar-simple-links.d.ts +1 -10
- package/dist/navbar-simple-links.js +58 -49
- package/dist/navbar-split-cta.cjs +4 -4
- package/dist/navbar-split-cta.d.cts +1 -10
- package/dist/navbar-split-cta.d.ts +1 -10
- package/dist/navbar-split-cta.js +4 -4
- package/dist/navbar-sticky-compact.cjs +4 -4
- package/dist/navbar-sticky-compact.d.cts +1 -10
- package/dist/navbar-sticky-compact.d.ts +1 -10
- package/dist/navbar-sticky-compact.js +4 -4
- package/dist/navbar-tabbed-sections.cjs +4 -4
- package/dist/navbar-tabbed-sections.d.cts +1 -10
- package/dist/navbar-tabbed-sections.d.ts +1 -10
- package/dist/navbar-tabbed-sections.js +4 -4
- package/dist/navbar-transparent-overlay.cjs +3 -3
- package/dist/navbar-transparent-overlay.d.cts +1 -10
- package/dist/navbar-transparent-overlay.d.ts +1 -10
- package/dist/navbar-transparent-overlay.js +3 -3
- package/dist/registry.cjs +222 -192
- package/dist/registry.js +222 -192
- package/dist/types-D2b35ylu.d.cts +98 -0
- package/dist/types-D2b35ylu.d.ts +98 -0
- package/package.json +1 -1
|
@@ -1015,7 +1015,7 @@ function NavigationMenuList({
|
|
|
1015
1015
|
{
|
|
1016
1016
|
"data-slot": "navigation-menu-list",
|
|
1017
1017
|
className: cn(
|
|
1018
|
-
"group flex flex-1 list-none items-center justify-center gap-
|
|
1018
|
+
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
1019
1019
|
className
|
|
1020
1020
|
),
|
|
1021
1021
|
...props
|
|
@@ -1036,7 +1036,7 @@ function NavigationMenuItem({
|
|
|
1036
1036
|
);
|
|
1037
1037
|
}
|
|
1038
1038
|
var navigationMenuTriggerStyle = classVarianceAuthority.cva(
|
|
1039
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-
|
|
1039
|
+
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
|
|
1040
1040
|
);
|
|
1041
1041
|
function NavigationMenuTrigger({
|
|
1042
1042
|
className,
|
|
@@ -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-
|
|
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
|
)
|
|
@@ -1114,7 +1114,7 @@ function NavigationMenuLink({
|
|
|
1114
1114
|
{
|
|
1115
1115
|
"data-slot": "navigation-menu-link",
|
|
1116
1116
|
className: cn(
|
|
1117
|
-
"data-[active=true]:focus:bg-
|
|
1117
|
+
"data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
|
|
1118
1118
|
className
|
|
1119
1119
|
),
|
|
1120
1120
|
...props
|
|
@@ -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(
|
|
@@ -1565,7 +1570,7 @@ var DesktopMenuItem = ({
|
|
|
1565
1570
|
);
|
|
1566
1571
|
if (hasDropdown) {
|
|
1567
1572
|
return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
1568
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-
|
|
1573
|
+
/* @__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: item.label }),
|
|
1569
1574
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-dvw animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: renderDropdownContent(item, optixFlowConfig) }) }) })
|
|
1570
1575
|
] }, `desktop-menu-item-${index}`);
|
|
1571
1576
|
}
|
|
@@ -1573,7 +1578,7 @@ var DesktopMenuItem = ({
|
|
|
1573
1578
|
NavigationMenuLink,
|
|
1574
1579
|
{
|
|
1575
1580
|
href: item.href,
|
|
1576
|
-
className: `${navigationMenuTriggerStyle()} bg-transparent px-
|
|
1581
|
+
className: `${navigationMenuTriggerStyle()} bg-transparent px-3 py-2 hover:bg-muted focus:bg-muted h-fit font-normal text-foreground/80`,
|
|
1577
1582
|
children: item.label
|
|
1578
1583
|
}
|
|
1579
1584
|
) }, `desktop-menu-item-${index}`);
|
|
@@ -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 };
|
|
@@ -989,7 +989,7 @@ function NavigationMenuList({
|
|
|
989
989
|
{
|
|
990
990
|
"data-slot": "navigation-menu-list",
|
|
991
991
|
className: cn(
|
|
992
|
-
"group flex flex-1 list-none items-center justify-center gap-
|
|
992
|
+
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
993
993
|
className
|
|
994
994
|
),
|
|
995
995
|
...props
|
|
@@ -1010,7 +1010,7 @@ function NavigationMenuItem({
|
|
|
1010
1010
|
);
|
|
1011
1011
|
}
|
|
1012
1012
|
var navigationMenuTriggerStyle = cva(
|
|
1013
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-
|
|
1013
|
+
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
|
|
1014
1014
|
);
|
|
1015
1015
|
function NavigationMenuTrigger({
|
|
1016
1016
|
className,
|
|
@@ -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-
|
|
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
|
)
|
|
@@ -1088,7 +1088,7 @@ function NavigationMenuLink({
|
|
|
1088
1088
|
{
|
|
1089
1089
|
"data-slot": "navigation-menu-link",
|
|
1090
1090
|
className: cn(
|
|
1091
|
-
"data-[active=true]:focus:bg-
|
|
1091
|
+
"data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
|
|
1092
1092
|
className
|
|
1093
1093
|
),
|
|
1094
1094
|
...props
|
|
@@ -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(
|
|
@@ -1539,7 +1544,7 @@ var DesktopMenuItem = ({
|
|
|
1539
1544
|
);
|
|
1540
1545
|
if (hasDropdown) {
|
|
1541
1546
|
return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
1542
|
-
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-
|
|
1547
|
+
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground", children: item.label }),
|
|
1543
1548
|
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsx("div", { className: "w-dvw animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: /* @__PURE__ */ jsx("div", { className: "container", children: renderDropdownContent(item, optixFlowConfig) }) }) })
|
|
1544
1549
|
] }, `desktop-menu-item-${index}`);
|
|
1545
1550
|
}
|
|
@@ -1547,7 +1552,7 @@ var DesktopMenuItem = ({
|
|
|
1547
1552
|
NavigationMenuLink,
|
|
1548
1553
|
{
|
|
1549
1554
|
href: item.href,
|
|
1550
|
-
className: `${navigationMenuTriggerStyle()} bg-transparent px-
|
|
1555
|
+
className: `${navigationMenuTriggerStyle()} bg-transparent px-3 py-2 hover:bg-muted focus:bg-muted h-fit font-normal text-foreground/80`,
|
|
1551
1556
|
children: item.label
|
|
1552
1557
|
}
|
|
1553
1558
|
) }, `desktop-menu-item-${index}`);
|
|
@@ -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
|
}
|
|
@@ -987,7 +987,7 @@ function NavigationMenuList({
|
|
|
987
987
|
{
|
|
988
988
|
"data-slot": "navigation-menu-list",
|
|
989
989
|
className: cn(
|
|
990
|
-
"group flex flex-1 list-none items-center justify-center gap-
|
|
990
|
+
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
991
991
|
className
|
|
992
992
|
),
|
|
993
993
|
...props
|
|
@@ -1008,7 +1008,7 @@ function NavigationMenuItem({
|
|
|
1008
1008
|
);
|
|
1009
1009
|
}
|
|
1010
1010
|
var navigationMenuTriggerStyle = classVarianceAuthority.cva(
|
|
1011
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-
|
|
1011
|
+
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:text-foreground data-[state=open]:focus:bg-muted data-[state=open]:bg-muted/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
|
|
1012
1012
|
);
|
|
1013
1013
|
function NavigationMenuTrigger({
|
|
1014
1014
|
className,
|
|
@@ -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-
|
|
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
|
)
|
|
@@ -1062,7 +1062,7 @@ function NavigationMenuLink({
|
|
|
1062
1062
|
{
|
|
1063
1063
|
"data-slot": "navigation-menu-link",
|
|
1064
1064
|
className: cn(
|
|
1065
|
-
"data-[active=true]:focus:bg-
|
|
1065
|
+
"data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
|
|
1066
1066
|
className
|
|
1067
1067
|
),
|
|
1068
1068
|
...props
|
|
@@ -1179,7 +1179,7 @@ var SubMenuLink = ({ item }) => {
|
|
|
1179
1179
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1180
1180
|
Pressable,
|
|
1181
1181
|
{
|
|
1182
|
-
className: "flex flex-row gap-4 rounded-md p-3 leading-none no-underline transition-colors outline-none select-none hover:bg-muted hover:text-
|
|
1182
|
+
className: "flex flex-row gap-4 rounded-md p-3 leading-none no-underline transition-colors outline-none select-none hover:bg-muted hover:text-foreground",
|
|
1183
1183
|
href: item.url,
|
|
1184
1184
|
children: [
|
|
1185
1185
|
item.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.icon, size: 20, className: "shrink-0" }) }),
|
|
@@ -1202,7 +1202,7 @@ var renderMenuItem = (item) => {
|
|
|
1202
1202
|
NavigationMenuLink,
|
|
1203
1203
|
{
|
|
1204
1204
|
href: item.url,
|
|
1205
|
-
className: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-
|
|
1205
|
+
className: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-foreground",
|
|
1206
1206
|
children: item.title
|
|
1207
1207
|
}
|
|
1208
1208
|
) }, item.title);
|
|
@@ -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
|
*/
|