@opensite/ui 0.4.4 → 0.4.6
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 +97 -58
- package/dist/navbar-animated-preview.d.cts +9 -64
- package/dist/navbar-animated-preview.d.ts +9 -64
- package/dist/navbar-animated-preview.js +97 -58
- package/dist/navbar-centered-menu.cjs +46 -7
- package/dist/navbar-centered-menu.d.cts +7 -11
- package/dist/navbar-centered-menu.d.ts +7 -11
- package/dist/navbar-centered-menu.js +46 -7
- package/dist/navbar-dark-icons.cjs +50 -10
- package/dist/navbar-dark-icons.d.cts +6 -11
- package/dist/navbar-dark-icons.d.ts +6 -11
- package/dist/navbar-dark-icons.js +50 -10
- package/dist/navbar-dropdown-menu.cjs +47 -8
- package/dist/navbar-dropdown-menu.d.cts +8 -12
- package/dist/navbar-dropdown-menu.d.ts +8 -12
- package/dist/navbar-dropdown-menu.js +47 -8
- package/dist/navbar-education-platform.cjs +48 -10
- package/dist/navbar-education-platform.d.cts +6 -11
- package/dist/navbar-education-platform.d.ts +6 -11
- package/dist/navbar-education-platform.js +48 -10
- package/dist/navbar-enterprise-mega.cjs +50 -10
- package/dist/navbar-enterprise-mega.d.cts +7 -37
- package/dist/navbar-enterprise-mega.d.ts +7 -37
- package/dist/navbar-enterprise-mega.js +50 -10
- package/dist/navbar-feature-grid.cjs +47 -8
- package/dist/navbar-feature-grid.d.cts +6 -11
- package/dist/navbar-feature-grid.d.ts +6 -11
- package/dist/navbar-feature-grid.js +47 -8
- package/dist/navbar-floating-pill.cjs +50 -11
- package/dist/navbar-floating-pill.d.cts +6 -11
- package/dist/navbar-floating-pill.d.ts +6 -11
- package/dist/navbar-floating-pill.js +50 -11
- package/dist/navbar-fullscreen-menu.cjs +44 -5
- package/dist/navbar-fullscreen-menu.d.cts +6 -11
- package/dist/navbar-fullscreen-menu.d.ts +6 -11
- package/dist/navbar-fullscreen-menu.js +44 -5
- package/dist/navbar-icon-links.cjs +46 -8
- package/dist/navbar-icon-links.d.cts +9 -11
- package/dist/navbar-icon-links.d.ts +9 -11
- package/dist/navbar-icon-links.js +46 -8
- package/dist/navbar-image-preview.cjs +56 -12
- package/dist/navbar-image-preview.d.cts +11 -17
- package/dist/navbar-image-preview.d.ts +11 -17
- package/dist/navbar-image-preview.js +56 -12
- package/dist/navbar-mega-menu.cjs +69 -20
- package/dist/navbar-mega-menu.d.cts +8 -74
- package/dist/navbar-mega-menu.d.ts +8 -74
- package/dist/navbar-mega-menu.js +69 -20
- package/dist/navbar-multi-column-groups.cjs +47 -11
- package/dist/navbar-multi-column-groups.d.cts +6 -11
- package/dist/navbar-multi-column-groups.d.ts +6 -11
- package/dist/navbar-multi-column-groups.js +47 -11
- package/dist/navbar-platform-resources.cjs +199 -164
- package/dist/navbar-platform-resources.d.cts +7 -37
- package/dist/navbar-platform-resources.d.ts +7 -37
- package/dist/navbar-platform-resources.js +199 -164
- package/dist/navbar-search-focused.cjs +45 -7
- package/dist/navbar-search-focused.d.cts +6 -11
- package/dist/navbar-search-focused.d.ts +6 -11
- package/dist/navbar-search-focused.js +45 -7
- package/dist/navbar-sidebar-mobile.cjs +47 -8
- package/dist/navbar-sidebar-mobile.d.cts +6 -11
- package/dist/navbar-sidebar-mobile.d.ts +6 -11
- package/dist/navbar-sidebar-mobile.js +47 -8
- package/dist/navbar-simple-links.cjs +45 -7
- package/dist/navbar-simple-links.d.cts +6 -11
- package/dist/navbar-simple-links.d.ts +6 -11
- package/dist/navbar-simple-links.js +45 -7
- package/dist/navbar-split-cta.cjs +47 -8
- package/dist/navbar-split-cta.d.cts +6 -11
- package/dist/navbar-split-cta.d.ts +6 -11
- package/dist/navbar-split-cta.js +47 -8
- package/dist/navbar-sticky-compact.cjs +49 -10
- package/dist/navbar-sticky-compact.d.cts +6 -11
- package/dist/navbar-sticky-compact.d.ts +6 -11
- package/dist/navbar-sticky-compact.js +49 -10
- package/dist/navbar-tabbed-sections.cjs +47 -8
- package/dist/navbar-tabbed-sections.d.cts +6 -11
- package/dist/navbar-tabbed-sections.d.ts +6 -11
- package/dist/navbar-tabbed-sections.js +47 -8
- package/dist/navbar-transparent-overlay.cjs +47 -9
- package/dist/navbar-transparent-overlay.d.cts +6 -11
- package/dist/navbar-transparent-overlay.d.ts +6 -11
- package/dist/navbar-transparent-overlay.js +47 -9
- package/dist/registry.cjs +522 -328
- package/dist/registry.js +522 -328
- package/dist/types-COVDidbn.d.cts +119 -0
- package/dist/types-COVDidbn.d.ts +119 -0
- package/package.json +2 -2
|
@@ -2,36 +2,12 @@ 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, N as NavbarLayoutVariant } from './types-COVDidbn.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
|
-
* SHARED BASE TYPE INTERFACES
|
|
12
|
-
* These types provide a consistent interface across navbar components
|
|
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
11
|
/**
|
|
36
12
|
* SPECIALIZED TYPE INTERFACES FOR ENTERPRISE MEGA MENU
|
|
37
13
|
* These extend the base types for specific layout requirements
|
|
@@ -228,16 +204,6 @@ interface IMenuLink {
|
|
|
228
204
|
resourceItems?: IResourceItem[];
|
|
229
205
|
topicGroups?: ITopicGroup[];
|
|
230
206
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Logo configuration interface
|
|
233
|
-
*/
|
|
234
|
-
interface LogoConfig {
|
|
235
|
-
url?: string;
|
|
236
|
-
src?: string;
|
|
237
|
-
alt?: string;
|
|
238
|
-
title?: React.ReactNode;
|
|
239
|
-
className?: string;
|
|
240
|
-
}
|
|
241
207
|
/**
|
|
242
208
|
* Props for the NavbarEnterpriseMega component
|
|
243
209
|
*/
|
|
@@ -302,6 +268,10 @@ interface NavbarEnterpriseMegaProps {
|
|
|
302
268
|
* Pattern overlay opacity (0-1)
|
|
303
269
|
*/
|
|
304
270
|
patternOpacity?: number;
|
|
271
|
+
/**
|
|
272
|
+
* Layout variant for the navbar
|
|
273
|
+
*/
|
|
274
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
305
275
|
/**
|
|
306
276
|
* OptixFlow image optimization configuration
|
|
307
277
|
*/
|
|
@@ -317,6 +287,6 @@ interface NavbarEnterpriseMegaProps {
|
|
|
317
287
|
* cards. Each menu spans full width with rich content layouts. Mobile view uses a full-screen sheet
|
|
318
288
|
* with accordion navigation. Ideal for large enterprise SaaS platforms and B2B software companies.
|
|
319
289
|
*/
|
|
320
|
-
declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
|
|
290
|
+
declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
|
|
321
291
|
|
|
322
|
-
export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard,
|
|
292
|
+
export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard, ILinkItem, type ILocationItem, type IMenuLink, IMenuLinkGroup, type IPartnerCard, type IProductCategory, type IProductItem, type IRegionItem, type IResourceItem, type ISolutionCard, type ISubpageItem, type ITechnologyItem, type ITopicGroup, type ITopicItem, LogoConfig, type MegaMenuLayout, NavbarEnterpriseMega, type NavbarEnterpriseMegaProps };
|
|
@@ -2,36 +2,12 @@ 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, N as NavbarLayoutVariant } from './types-COVDidbn.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
|
-
* SHARED BASE TYPE INTERFACES
|
|
12
|
-
* These types provide a consistent interface across navbar components
|
|
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
11
|
/**
|
|
36
12
|
* SPECIALIZED TYPE INTERFACES FOR ENTERPRISE MEGA MENU
|
|
37
13
|
* These extend the base types for specific layout requirements
|
|
@@ -228,16 +204,6 @@ interface IMenuLink {
|
|
|
228
204
|
resourceItems?: IResourceItem[];
|
|
229
205
|
topicGroups?: ITopicGroup[];
|
|
230
206
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Logo configuration interface
|
|
233
|
-
*/
|
|
234
|
-
interface LogoConfig {
|
|
235
|
-
url?: string;
|
|
236
|
-
src?: string;
|
|
237
|
-
alt?: string;
|
|
238
|
-
title?: React.ReactNode;
|
|
239
|
-
className?: string;
|
|
240
|
-
}
|
|
241
207
|
/**
|
|
242
208
|
* Props for the NavbarEnterpriseMega component
|
|
243
209
|
*/
|
|
@@ -302,6 +268,10 @@ interface NavbarEnterpriseMegaProps {
|
|
|
302
268
|
* Pattern overlay opacity (0-1)
|
|
303
269
|
*/
|
|
304
270
|
patternOpacity?: number;
|
|
271
|
+
/**
|
|
272
|
+
* Layout variant for the navbar
|
|
273
|
+
*/
|
|
274
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
305
275
|
/**
|
|
306
276
|
* OptixFlow image optimization configuration
|
|
307
277
|
*/
|
|
@@ -317,6 +287,6 @@ interface NavbarEnterpriseMegaProps {
|
|
|
317
287
|
* cards. Each menu spans full width with rich content layouts. Mobile view uses a full-screen sheet
|
|
318
288
|
* with accordion navigation. Ideal for large enterprise SaaS platforms and B2B software companies.
|
|
319
289
|
*/
|
|
320
|
-
declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
|
|
290
|
+
declare const NavbarEnterpriseMega: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, menuLinks, actions, actionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEnterpriseMegaProps) => react_jsx_runtime.JSX.Element;
|
|
321
291
|
|
|
322
|
-
export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard,
|
|
292
|
+
export { type IFeatureCategory, type IFeatureItem, type IFeaturedHeroCard, ILinkItem, type ILocationItem, type IMenuLink, IMenuLinkGroup, type IPartnerCard, type IProductCategory, type IProductItem, type IRegionItem, type IResourceItem, type ISolutionCard, type ISubpageItem, type ITechnologyItem, type ITopicGroup, type ITopicItem, LogoConfig, type MegaMenuLayout, NavbarEnterpriseMega, type NavbarEnterpriseMegaProps };
|
|
@@ -986,7 +986,7 @@ function NavigationMenuList({
|
|
|
986
986
|
{
|
|
987
987
|
"data-slot": "navigation-menu-list",
|
|
988
988
|
className: cn(
|
|
989
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
989
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
990
990
|
className
|
|
991
991
|
),
|
|
992
992
|
...props
|
|
@@ -1026,8 +1026,9 @@ function NavigationMenuTrigger({
|
|
|
1026
1026
|
/* @__PURE__ */ jsx(
|
|
1027
1027
|
DynamicIcon,
|
|
1028
1028
|
{
|
|
1029
|
+
size: 18,
|
|
1029
1030
|
name: "lucide/chevron-down",
|
|
1030
|
-
className: "relative top-
|
|
1031
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1031
1032
|
"aria-hidden": "true"
|
|
1032
1033
|
}
|
|
1033
1034
|
)
|
|
@@ -1067,7 +1068,7 @@ function NavigationMenuViewport({
|
|
|
1067
1068
|
{
|
|
1068
1069
|
"data-slot": "navigation-menu-viewport",
|
|
1069
1070
|
className: cn(
|
|
1070
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1071
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1071
1072
|
className
|
|
1072
1073
|
),
|
|
1073
1074
|
...props
|
|
@@ -1085,7 +1086,7 @@ function NavigationMenuLink({
|
|
|
1085
1086
|
{
|
|
1086
1087
|
"data-slot": "navigation-menu-link",
|
|
1087
1088
|
className: cn(
|
|
1088
|
-
"
|
|
1089
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group 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",
|
|
1089
1090
|
className
|
|
1090
1091
|
),
|
|
1091
1092
|
...props
|
|
@@ -1165,6 +1166,36 @@ function SheetTitle({
|
|
|
1165
1166
|
// lib/mediaPlaceholders.ts
|
|
1166
1167
|
var logoPlaceholders = {
|
|
1167
1168
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1169
|
+
|
|
1170
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1171
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1172
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1173
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1174
|
+
return {
|
|
1175
|
+
// Section wrapper classes
|
|
1176
|
+
sectionClasses: cn(
|
|
1177
|
+
"inset-x-0 z-20",
|
|
1178
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1179
|
+
customClasses?.className
|
|
1180
|
+
),
|
|
1181
|
+
// Outer container wrapper (only for floating bar)
|
|
1182
|
+
containerWrapperClasses: cn(
|
|
1183
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1184
|
+
),
|
|
1185
|
+
// Inner container classes
|
|
1186
|
+
innerContainerClasses: cn(
|
|
1187
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1188
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1189
|
+
customClasses?.containerClassName
|
|
1190
|
+
),
|
|
1191
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1192
|
+
navWrapperClasses: cn(
|
|
1193
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1194
|
+
),
|
|
1195
|
+
// Spacing adjustment for Section component
|
|
1196
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1197
|
+
};
|
|
1198
|
+
}
|
|
1168
1199
|
var MOBILE_BREAKPOINT = 1024;
|
|
1169
1200
|
var NavbarEnterpriseMega = ({
|
|
1170
1201
|
className,
|
|
@@ -1181,6 +1212,7 @@ var NavbarEnterpriseMega = ({
|
|
|
1181
1212
|
menuLinks,
|
|
1182
1213
|
actions,
|
|
1183
1214
|
actionsSlot,
|
|
1215
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1184
1216
|
background = "white",
|
|
1185
1217
|
spacing = "none",
|
|
1186
1218
|
pattern,
|
|
@@ -1249,23 +1281,31 @@ var NavbarEnterpriseMega = ({
|
|
|
1249
1281
|
] }) }, index);
|
|
1250
1282
|
});
|
|
1251
1283
|
};
|
|
1284
|
+
const {
|
|
1285
|
+
sectionClasses,
|
|
1286
|
+
containerWrapperClasses,
|
|
1287
|
+
innerContainerClasses,
|
|
1288
|
+
navWrapperClasses,
|
|
1289
|
+
spacingOverride
|
|
1290
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1252
1291
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1253
1292
|
/* @__PURE__ */ jsx(
|
|
1254
1293
|
Section,
|
|
1255
1294
|
{
|
|
1256
1295
|
background,
|
|
1257
|
-
spacing,
|
|
1296
|
+
spacing: spacingOverride ?? spacing,
|
|
1258
1297
|
className: cn(
|
|
1259
|
-
"pointer-events-auto fixed top-0 z-999 flex w-full items-center justify-center
|
|
1260
|
-
|
|
1298
|
+
"pointer-events-auto fixed top-0 z-999 flex w-full items-center justify-center",
|
|
1299
|
+
sectionClasses
|
|
1261
1300
|
),
|
|
1262
1301
|
pattern,
|
|
1263
1302
|
patternOpacity,
|
|
1264
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
1265
|
-
"
|
|
1303
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1304
|
+
"nav",
|
|
1266
1305
|
{
|
|
1267
1306
|
className: cn(
|
|
1268
1307
|
"flex h-16 items-center justify-between gap-8",
|
|
1308
|
+
navWrapperClasses,
|
|
1269
1309
|
navClassName
|
|
1270
1310
|
),
|
|
1271
1311
|
children: [
|
|
@@ -1316,7 +1356,7 @@ var NavbarEnterpriseMega = ({
|
|
|
1316
1356
|
] })
|
|
1317
1357
|
]
|
|
1318
1358
|
}
|
|
1319
|
-
) })
|
|
1359
|
+
) }) })
|
|
1320
1360
|
}
|
|
1321
1361
|
),
|
|
1322
1362
|
/* @__PURE__ */ jsx(
|
|
@@ -1010,7 +1010,7 @@ function NavigationMenuList({
|
|
|
1010
1010
|
{
|
|
1011
1011
|
"data-slot": "navigation-menu-list",
|
|
1012
1012
|
className: cn(
|
|
1013
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
1013
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
1014
1014
|
className
|
|
1015
1015
|
),
|
|
1016
1016
|
...props
|
|
@@ -1050,8 +1050,9 @@ function NavigationMenuTrigger({
|
|
|
1050
1050
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1051
1051
|
DynamicIcon,
|
|
1052
1052
|
{
|
|
1053
|
+
size: 18,
|
|
1053
1054
|
name: "lucide/chevron-down",
|
|
1054
|
-
className: "relative top-
|
|
1055
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1055
1056
|
"aria-hidden": "true"
|
|
1056
1057
|
}
|
|
1057
1058
|
)
|
|
@@ -1091,7 +1092,7 @@ function NavigationMenuViewport({
|
|
|
1091
1092
|
{
|
|
1092
1093
|
"data-slot": "navigation-menu-viewport",
|
|
1093
1094
|
className: cn(
|
|
1094
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1095
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1095
1096
|
className
|
|
1096
1097
|
),
|
|
1097
1098
|
...props
|
|
@@ -1109,7 +1110,7 @@ function NavigationMenuLink({
|
|
|
1109
1110
|
{
|
|
1110
1111
|
"data-slot": "navigation-menu-link",
|
|
1111
1112
|
className: cn(
|
|
1112
|
-
"
|
|
1113
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group 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",
|
|
1113
1114
|
className
|
|
1114
1115
|
),
|
|
1115
1116
|
...props
|
|
@@ -1204,6 +1205,36 @@ function SheetTitle({
|
|
|
1204
1205
|
// lib/mediaPlaceholders.ts
|
|
1205
1206
|
var logoPlaceholders = {
|
|
1206
1207
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1208
|
+
|
|
1209
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1210
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1211
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1212
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1213
|
+
return {
|
|
1214
|
+
// Section wrapper classes
|
|
1215
|
+
sectionClasses: cn(
|
|
1216
|
+
"inset-x-0 z-20",
|
|
1217
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1218
|
+
customClasses?.className
|
|
1219
|
+
),
|
|
1220
|
+
// Outer container wrapper (only for floating bar)
|
|
1221
|
+
containerWrapperClasses: cn(
|
|
1222
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1223
|
+
),
|
|
1224
|
+
// Inner container classes
|
|
1225
|
+
innerContainerClasses: cn(
|
|
1226
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1227
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1228
|
+
customClasses?.containerClassName
|
|
1229
|
+
),
|
|
1230
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1231
|
+
navWrapperClasses: cn(
|
|
1232
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1233
|
+
),
|
|
1234
|
+
// Spacing adjustment for Section component
|
|
1235
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1236
|
+
};
|
|
1237
|
+
}
|
|
1207
1238
|
var NavbarFeatureGrid = ({
|
|
1208
1239
|
className,
|
|
1209
1240
|
containerClassName,
|
|
@@ -1219,6 +1250,7 @@ var NavbarFeatureGrid = ({
|
|
|
1219
1250
|
features,
|
|
1220
1251
|
authActions,
|
|
1221
1252
|
authActionsSlot,
|
|
1253
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1222
1254
|
background = "white",
|
|
1223
1255
|
spacing = "sm",
|
|
1224
1256
|
pattern,
|
|
@@ -1267,15 +1299,22 @@ var NavbarFeatureGrid = ({
|
|
|
1267
1299
|
] }) }, index);
|
|
1268
1300
|
});
|
|
1269
1301
|
};
|
|
1302
|
+
const {
|
|
1303
|
+
sectionClasses,
|
|
1304
|
+
containerWrapperClasses,
|
|
1305
|
+
innerContainerClasses,
|
|
1306
|
+
navWrapperClasses,
|
|
1307
|
+
spacingOverride
|
|
1308
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1270
1309
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1271
1310
|
Section,
|
|
1272
1311
|
{
|
|
1273
1312
|
background,
|
|
1274
|
-
spacing,
|
|
1275
|
-
className:
|
|
1313
|
+
spacing: spacingOverride ?? spacing,
|
|
1314
|
+
className: sectionClasses,
|
|
1276
1315
|
pattern,
|
|
1277
1316
|
patternOpacity,
|
|
1278
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1317
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: cn("flex items-center justify-between", navWrapperClasses, navClassName), children: [
|
|
1279
1318
|
renderLogo(),
|
|
1280
1319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1281
1320
|
NavigationMenu,
|
|
@@ -1379,7 +1418,7 @@ var NavbarFeatureGrid = ({
|
|
|
1379
1418
|
] })
|
|
1380
1419
|
] })
|
|
1381
1420
|
] })
|
|
1382
|
-
] }) })
|
|
1421
|
+
] }) }) })
|
|
1383
1422
|
}
|
|
1384
1423
|
);
|
|
1385
1424
|
};
|
|
@@ -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, N as NavbarLayoutVariant } from './types-COVDidbn.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';
|
|
@@ -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
|
*/
|
|
@@ -86,6 +77,10 @@ interface NavbarFeatureGridProps {
|
|
|
86
77
|
* Pattern overlay opacity (0-1)
|
|
87
78
|
*/
|
|
88
79
|
patternOpacity?: number;
|
|
80
|
+
/**
|
|
81
|
+
* Layout variant for the navbar
|
|
82
|
+
*/
|
|
83
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
89
84
|
/**
|
|
90
85
|
* OptixFlow image optimization configuration
|
|
91
86
|
*/
|
|
@@ -99,6 +94,6 @@ interface NavbarFeatureGridProps {
|
|
|
99
94
|
* view uses a top-sliding sheet with accordion navigation. Ideal for SaaS applications
|
|
100
95
|
* with multiple feature categories.
|
|
101
96
|
*/
|
|
102
|
-
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
97
|
+
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
103
98
|
|
|
104
99
|
export { NavbarFeatureGrid, type NavbarFeatureGridProps };
|
|
@@ -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, N as NavbarLayoutVariant } from './types-COVDidbn.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
|
*/
|
|
@@ -86,6 +77,10 @@ interface NavbarFeatureGridProps {
|
|
|
86
77
|
* Pattern overlay opacity (0-1)
|
|
87
78
|
*/
|
|
88
79
|
patternOpacity?: number;
|
|
80
|
+
/**
|
|
81
|
+
* Layout variant for the navbar
|
|
82
|
+
*/
|
|
83
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
89
84
|
/**
|
|
90
85
|
* OptixFlow image optimization configuration
|
|
91
86
|
*/
|
|
@@ -99,6 +94,6 @@ interface NavbarFeatureGridProps {
|
|
|
99
94
|
* view uses a top-sliding sheet with accordion navigation. Ideal for SaaS applications
|
|
100
95
|
* with multiple feature categories.
|
|
101
96
|
*/
|
|
102
|
-
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
97
|
+
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
103
98
|
|
|
104
99
|
export { NavbarFeatureGrid, type NavbarFeatureGridProps };
|
|
@@ -986,7 +986,7 @@ function NavigationMenuList({
|
|
|
986
986
|
{
|
|
987
987
|
"data-slot": "navigation-menu-list",
|
|
988
988
|
className: cn(
|
|
989
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
989
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
990
990
|
className
|
|
991
991
|
),
|
|
992
992
|
...props
|
|
@@ -1026,8 +1026,9 @@ function NavigationMenuTrigger({
|
|
|
1026
1026
|
/* @__PURE__ */ jsx(
|
|
1027
1027
|
DynamicIcon,
|
|
1028
1028
|
{
|
|
1029
|
+
size: 18,
|
|
1029
1030
|
name: "lucide/chevron-down",
|
|
1030
|
-
className: "relative top-
|
|
1031
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1031
1032
|
"aria-hidden": "true"
|
|
1032
1033
|
}
|
|
1033
1034
|
)
|
|
@@ -1067,7 +1068,7 @@ function NavigationMenuViewport({
|
|
|
1067
1068
|
{
|
|
1068
1069
|
"data-slot": "navigation-menu-viewport",
|
|
1069
1070
|
className: cn(
|
|
1070
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1071
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1071
1072
|
className
|
|
1072
1073
|
),
|
|
1073
1074
|
...props
|
|
@@ -1085,7 +1086,7 @@ function NavigationMenuLink({
|
|
|
1085
1086
|
{
|
|
1086
1087
|
"data-slot": "navigation-menu-link",
|
|
1087
1088
|
className: cn(
|
|
1088
|
-
"
|
|
1089
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group 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",
|
|
1089
1090
|
className
|
|
1090
1091
|
),
|
|
1091
1092
|
...props
|
|
@@ -1180,6 +1181,36 @@ function SheetTitle({
|
|
|
1180
1181
|
// lib/mediaPlaceholders.ts
|
|
1181
1182
|
var logoPlaceholders = {
|
|
1182
1183
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1184
|
+
|
|
1185
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1186
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1187
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1188
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1189
|
+
return {
|
|
1190
|
+
// Section wrapper classes
|
|
1191
|
+
sectionClasses: cn(
|
|
1192
|
+
"inset-x-0 z-20",
|
|
1193
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1194
|
+
customClasses?.className
|
|
1195
|
+
),
|
|
1196
|
+
// Outer container wrapper (only for floating bar)
|
|
1197
|
+
containerWrapperClasses: cn(
|
|
1198
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1199
|
+
),
|
|
1200
|
+
// Inner container classes
|
|
1201
|
+
innerContainerClasses: cn(
|
|
1202
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1203
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1204
|
+
customClasses?.containerClassName
|
|
1205
|
+
),
|
|
1206
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1207
|
+
navWrapperClasses: cn(
|
|
1208
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1209
|
+
),
|
|
1210
|
+
// Spacing adjustment for Section component
|
|
1211
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1183
1214
|
var NavbarFeatureGrid = ({
|
|
1184
1215
|
className,
|
|
1185
1216
|
containerClassName,
|
|
@@ -1195,6 +1226,7 @@ var NavbarFeatureGrid = ({
|
|
|
1195
1226
|
features,
|
|
1196
1227
|
authActions,
|
|
1197
1228
|
authActionsSlot,
|
|
1229
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1198
1230
|
background = "white",
|
|
1199
1231
|
spacing = "sm",
|
|
1200
1232
|
pattern,
|
|
@@ -1243,15 +1275,22 @@ var NavbarFeatureGrid = ({
|
|
|
1243
1275
|
] }) }, index);
|
|
1244
1276
|
});
|
|
1245
1277
|
};
|
|
1278
|
+
const {
|
|
1279
|
+
sectionClasses,
|
|
1280
|
+
containerWrapperClasses,
|
|
1281
|
+
innerContainerClasses,
|
|
1282
|
+
navWrapperClasses,
|
|
1283
|
+
spacingOverride
|
|
1284
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1246
1285
|
return /* @__PURE__ */ jsx(
|
|
1247
1286
|
Section,
|
|
1248
1287
|
{
|
|
1249
1288
|
background,
|
|
1250
|
-
spacing,
|
|
1251
|
-
className:
|
|
1289
|
+
spacing: spacingOverride ?? spacing,
|
|
1290
|
+
className: sectionClasses,
|
|
1252
1291
|
pattern,
|
|
1253
1292
|
patternOpacity,
|
|
1254
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
1293
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs("nav", { className: cn("flex items-center justify-between", navWrapperClasses, navClassName), children: [
|
|
1255
1294
|
renderLogo(),
|
|
1256
1295
|
/* @__PURE__ */ jsx(
|
|
1257
1296
|
NavigationMenu,
|
|
@@ -1355,7 +1394,7 @@ var NavbarFeatureGrid = ({
|
|
|
1355
1394
|
] })
|
|
1356
1395
|
] })
|
|
1357
1396
|
] })
|
|
1358
|
-
] }) })
|
|
1397
|
+
] }) }) })
|
|
1359
1398
|
}
|
|
1360
1399
|
);
|
|
1361
1400
|
};
|