@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
|
@@ -952,7 +952,7 @@ function NavigationMenuList({
|
|
|
952
952
|
{
|
|
953
953
|
"data-slot": "navigation-menu-list",
|
|
954
954
|
className: cn(
|
|
955
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
955
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
956
956
|
className
|
|
957
957
|
),
|
|
958
958
|
...props
|
|
@@ -992,8 +992,9 @@ function NavigationMenuTrigger({
|
|
|
992
992
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
993
993
|
DynamicIcon,
|
|
994
994
|
{
|
|
995
|
+
size: 18,
|
|
995
996
|
name: "lucide/chevron-down",
|
|
996
|
-
className: "relative top-
|
|
997
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
997
998
|
"aria-hidden": "true"
|
|
998
999
|
}
|
|
999
1000
|
)
|
|
@@ -1033,7 +1034,7 @@ function NavigationMenuViewport({
|
|
|
1033
1034
|
{
|
|
1034
1035
|
"data-slot": "navigation-menu-viewport",
|
|
1035
1036
|
className: cn(
|
|
1036
|
-
"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-
|
|
1037
|
+
"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)",
|
|
1037
1038
|
className
|
|
1038
1039
|
),
|
|
1039
1040
|
...props
|
|
@@ -1051,7 +1052,7 @@ function NavigationMenuLink({
|
|
|
1051
1052
|
{
|
|
1052
1053
|
"data-slot": "navigation-menu-link",
|
|
1053
1054
|
className: cn(
|
|
1054
|
-
"
|
|
1055
|
+
"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",
|
|
1055
1056
|
className
|
|
1056
1057
|
),
|
|
1057
1058
|
...props
|
|
@@ -1062,6 +1063,36 @@ function NavigationMenuLink({
|
|
|
1062
1063
|
// lib/mediaPlaceholders.ts
|
|
1063
1064
|
var logoPlaceholders = {
|
|
1064
1065
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1066
|
+
|
|
1067
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1068
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1069
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1070
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1071
|
+
return {
|
|
1072
|
+
// Section wrapper classes
|
|
1073
|
+
sectionClasses: cn(
|
|
1074
|
+
"inset-x-0 z-20",
|
|
1075
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1076
|
+
customClasses?.className
|
|
1077
|
+
),
|
|
1078
|
+
// Outer container wrapper (only for floating bar)
|
|
1079
|
+
containerWrapperClasses: cn(
|
|
1080
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1081
|
+
),
|
|
1082
|
+
// Inner container classes
|
|
1083
|
+
innerContainerClasses: cn(
|
|
1084
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1085
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1086
|
+
customClasses?.containerClassName
|
|
1087
|
+
),
|
|
1088
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1089
|
+
navWrapperClasses: cn(
|
|
1090
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1091
|
+
),
|
|
1092
|
+
// Spacing adjustment for Section component
|
|
1093
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1094
|
+
};
|
|
1095
|
+
}
|
|
1065
1096
|
var NavbarFloatingPill = ({
|
|
1066
1097
|
logo = {
|
|
1067
1098
|
url: "/",
|
|
@@ -1078,6 +1109,7 @@ var NavbarFloatingPill = ({
|
|
|
1078
1109
|
pillWrapperClassName,
|
|
1079
1110
|
navigationMenuClassName,
|
|
1080
1111
|
actionsClassName,
|
|
1112
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1081
1113
|
background = "white",
|
|
1082
1114
|
spacing = "none",
|
|
1083
1115
|
pattern,
|
|
@@ -1142,20 +1174,27 @@ var NavbarFloatingPill = ({
|
|
|
1142
1174
|
if (!items || items.length === 0) return null;
|
|
1143
1175
|
return items;
|
|
1144
1176
|
};
|
|
1177
|
+
const {
|
|
1178
|
+
sectionClasses,
|
|
1179
|
+
containerWrapperClasses,
|
|
1180
|
+
innerContainerClasses,
|
|
1181
|
+
navWrapperClasses,
|
|
1182
|
+
spacingOverride
|
|
1183
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1145
1184
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1146
1185
|
Section,
|
|
1147
1186
|
{
|
|
1148
1187
|
background,
|
|
1149
|
-
spacing,
|
|
1150
|
-
className:
|
|
1188
|
+
spacing: spacingOverride ?? spacing,
|
|
1189
|
+
className: sectionClasses,
|
|
1151
1190
|
pattern,
|
|
1152
1191
|
patternOpacity,
|
|
1153
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1154
|
-
"
|
|
1192
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1193
|
+
"nav",
|
|
1155
1194
|
{
|
|
1156
1195
|
className: cn(
|
|
1157
|
-
"absolute top-5 left-1/2 z-50 w-[min(90%,700px)] -translate-x-1/2 rounded-full
|
|
1158
|
-
|
|
1196
|
+
"absolute top-5 left-1/2 z-50 w-[min(90%,700px)] -translate-x-1/2 rounded-full bg-background/70 backdrop-blur-md lg:top-12",
|
|
1197
|
+
navWrapperClasses
|
|
1159
1198
|
),
|
|
1160
1199
|
children: [
|
|
1161
1200
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1311,7 +1350,7 @@ var NavbarFloatingPill = ({
|
|
|
1311
1350
|
)
|
|
1312
1351
|
]
|
|
1313
1352
|
}
|
|
1314
|
-
)
|
|
1353
|
+
) }) })
|
|
1315
1354
|
}
|
|
1316
1355
|
);
|
|
1317
1356
|
};
|
|
@@ -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';
|
|
@@ -17,16 +18,6 @@ interface NavItem {
|
|
|
17
18
|
href: string;
|
|
18
19
|
dropdownItems?: DropdownItem[];
|
|
19
20
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Logo configuration interface
|
|
22
|
-
*/
|
|
23
|
-
interface LogoConfig {
|
|
24
|
-
url?: string;
|
|
25
|
-
src?: string;
|
|
26
|
-
alt?: string;
|
|
27
|
-
title?: React.ReactNode;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
21
|
/**
|
|
31
22
|
* Props for the NavbarFloatingPill component
|
|
32
23
|
*/
|
|
@@ -95,6 +86,10 @@ interface NavbarFloatingPillProps {
|
|
|
95
86
|
* Pattern overlay opacity (0-1)
|
|
96
87
|
*/
|
|
97
88
|
patternOpacity?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Layout variant for the navbar
|
|
91
|
+
*/
|
|
92
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
98
93
|
/**
|
|
99
94
|
* OptixFlow image optimization configuration
|
|
100
95
|
*/
|
|
@@ -108,6 +103,6 @@ interface NavbarFloatingPillProps {
|
|
|
108
103
|
* animations and a collapsible mobile menu. Perfect for landing pages and modern marketing
|
|
109
104
|
* sites where the navbar should float over hero content.
|
|
110
105
|
*/
|
|
111
|
-
declare const NavbarFloatingPill: ({ logo, logoSlot, logoClassName, items, menuSlot, authActions, authActionsSlot, className, containerClassName, pillWrapperClassName, navigationMenuClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFloatingPillProps) => react_jsx_runtime.JSX.Element;
|
|
106
|
+
declare const NavbarFloatingPill: ({ logo, logoSlot, logoClassName, items, menuSlot, authActions, authActionsSlot, className, containerClassName, pillWrapperClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFloatingPillProps) => react_jsx_runtime.JSX.Element;
|
|
112
107
|
|
|
113
108
|
export { NavbarFloatingPill, type NavbarFloatingPillProps };
|
|
@@ -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';
|
|
@@ -17,16 +18,6 @@ interface NavItem {
|
|
|
17
18
|
href: string;
|
|
18
19
|
dropdownItems?: DropdownItem[];
|
|
19
20
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Logo configuration interface
|
|
22
|
-
*/
|
|
23
|
-
interface LogoConfig {
|
|
24
|
-
url?: string;
|
|
25
|
-
src?: string;
|
|
26
|
-
alt?: string;
|
|
27
|
-
title?: React.ReactNode;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
21
|
/**
|
|
31
22
|
* Props for the NavbarFloatingPill component
|
|
32
23
|
*/
|
|
@@ -95,6 +86,10 @@ interface NavbarFloatingPillProps {
|
|
|
95
86
|
* Pattern overlay opacity (0-1)
|
|
96
87
|
*/
|
|
97
88
|
patternOpacity?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Layout variant for the navbar
|
|
91
|
+
*/
|
|
92
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
98
93
|
/**
|
|
99
94
|
* OptixFlow image optimization configuration
|
|
100
95
|
*/
|
|
@@ -108,6 +103,6 @@ interface NavbarFloatingPillProps {
|
|
|
108
103
|
* animations and a collapsible mobile menu. Perfect for landing pages and modern marketing
|
|
109
104
|
* sites where the navbar should float over hero content.
|
|
110
105
|
*/
|
|
111
|
-
declare const NavbarFloatingPill: ({ logo, logoSlot, logoClassName, items, menuSlot, authActions, authActionsSlot, className, containerClassName, pillWrapperClassName, navigationMenuClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFloatingPillProps) => react_jsx_runtime.JSX.Element;
|
|
106
|
+
declare const NavbarFloatingPill: ({ logo, logoSlot, logoClassName, items, menuSlot, authActions, authActionsSlot, className, containerClassName, pillWrapperClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFloatingPillProps) => react_jsx_runtime.JSX.Element;
|
|
112
107
|
|
|
113
108
|
export { NavbarFloatingPill, type NavbarFloatingPillProps };
|
|
@@ -930,7 +930,7 @@ function NavigationMenuList({
|
|
|
930
930
|
{
|
|
931
931
|
"data-slot": "navigation-menu-list",
|
|
932
932
|
className: cn(
|
|
933
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
933
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
934
934
|
className
|
|
935
935
|
),
|
|
936
936
|
...props
|
|
@@ -970,8 +970,9 @@ function NavigationMenuTrigger({
|
|
|
970
970
|
/* @__PURE__ */ jsx(
|
|
971
971
|
DynamicIcon,
|
|
972
972
|
{
|
|
973
|
+
size: 18,
|
|
973
974
|
name: "lucide/chevron-down",
|
|
974
|
-
className: "relative top-
|
|
975
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
975
976
|
"aria-hidden": "true"
|
|
976
977
|
}
|
|
977
978
|
)
|
|
@@ -1011,7 +1012,7 @@ function NavigationMenuViewport({
|
|
|
1011
1012
|
{
|
|
1012
1013
|
"data-slot": "navigation-menu-viewport",
|
|
1013
1014
|
className: cn(
|
|
1014
|
-
"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-
|
|
1015
|
+
"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)",
|
|
1015
1016
|
className
|
|
1016
1017
|
),
|
|
1017
1018
|
...props
|
|
@@ -1029,7 +1030,7 @@ function NavigationMenuLink({
|
|
|
1029
1030
|
{
|
|
1030
1031
|
"data-slot": "navigation-menu-link",
|
|
1031
1032
|
className: cn(
|
|
1032
|
-
"
|
|
1033
|
+
"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",
|
|
1033
1034
|
className
|
|
1034
1035
|
),
|
|
1035
1036
|
...props
|
|
@@ -1040,6 +1041,36 @@ function NavigationMenuLink({
|
|
|
1040
1041
|
// lib/mediaPlaceholders.ts
|
|
1041
1042
|
var logoPlaceholders = {
|
|
1042
1043
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1044
|
+
|
|
1045
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1046
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1047
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1048
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1049
|
+
return {
|
|
1050
|
+
// Section wrapper classes
|
|
1051
|
+
sectionClasses: cn(
|
|
1052
|
+
"inset-x-0 z-20",
|
|
1053
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1054
|
+
customClasses?.className
|
|
1055
|
+
),
|
|
1056
|
+
// Outer container wrapper (only for floating bar)
|
|
1057
|
+
containerWrapperClasses: cn(
|
|
1058
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1059
|
+
),
|
|
1060
|
+
// Inner container classes
|
|
1061
|
+
innerContainerClasses: cn(
|
|
1062
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1063
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1064
|
+
customClasses?.containerClassName
|
|
1065
|
+
),
|
|
1066
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1067
|
+
navWrapperClasses: cn(
|
|
1068
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1069
|
+
),
|
|
1070
|
+
// Spacing adjustment for Section component
|
|
1071
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1072
|
+
};
|
|
1073
|
+
}
|
|
1043
1074
|
var NavbarFloatingPill = ({
|
|
1044
1075
|
logo = {
|
|
1045
1076
|
url: "/",
|
|
@@ -1056,6 +1087,7 @@ var NavbarFloatingPill = ({
|
|
|
1056
1087
|
pillWrapperClassName,
|
|
1057
1088
|
navigationMenuClassName,
|
|
1058
1089
|
actionsClassName,
|
|
1090
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1059
1091
|
background = "white",
|
|
1060
1092
|
spacing = "none",
|
|
1061
1093
|
pattern,
|
|
@@ -1120,20 +1152,27 @@ var NavbarFloatingPill = ({
|
|
|
1120
1152
|
if (!items || items.length === 0) return null;
|
|
1121
1153
|
return items;
|
|
1122
1154
|
};
|
|
1155
|
+
const {
|
|
1156
|
+
sectionClasses,
|
|
1157
|
+
containerWrapperClasses,
|
|
1158
|
+
innerContainerClasses,
|
|
1159
|
+
navWrapperClasses,
|
|
1160
|
+
spacingOverride
|
|
1161
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1123
1162
|
return /* @__PURE__ */ jsx(
|
|
1124
1163
|
Section,
|
|
1125
1164
|
{
|
|
1126
1165
|
background,
|
|
1127
|
-
spacing,
|
|
1128
|
-
className:
|
|
1166
|
+
spacing: spacingOverride ?? spacing,
|
|
1167
|
+
className: sectionClasses,
|
|
1129
1168
|
pattern,
|
|
1130
1169
|
patternOpacity,
|
|
1131
|
-
children: /* @__PURE__ */ jsxs(
|
|
1132
|
-
"
|
|
1170
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1171
|
+
"nav",
|
|
1133
1172
|
{
|
|
1134
1173
|
className: cn(
|
|
1135
|
-
"absolute top-5 left-1/2 z-50 w-[min(90%,700px)] -translate-x-1/2 rounded-full
|
|
1136
|
-
|
|
1174
|
+
"absolute top-5 left-1/2 z-50 w-[min(90%,700px)] -translate-x-1/2 rounded-full bg-background/70 backdrop-blur-md lg:top-12",
|
|
1175
|
+
navWrapperClasses
|
|
1137
1176
|
),
|
|
1138
1177
|
children: [
|
|
1139
1178
|
/* @__PURE__ */ jsxs(
|
|
@@ -1289,7 +1328,7 @@ var NavbarFloatingPill = ({
|
|
|
1289
1328
|
)
|
|
1290
1329
|
]
|
|
1291
1330
|
}
|
|
1292
|
-
)
|
|
1331
|
+
) }) })
|
|
1293
1332
|
}
|
|
1294
1333
|
);
|
|
1295
1334
|
};
|
|
@@ -817,6 +817,36 @@ Section.displayName = "Section";
|
|
|
817
817
|
// lib/mediaPlaceholders.ts
|
|
818
818
|
var logoPlaceholders = {
|
|
819
819
|
darkHorizontalLogo: "https://cdn.ing/assets/i/r/285986/5ivxh3ivywsmm6uslf3te38r6tg1/logo-dark.png"};
|
|
820
|
+
|
|
821
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
822
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
823
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
824
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
825
|
+
return {
|
|
826
|
+
// Section wrapper classes
|
|
827
|
+
sectionClasses: cn(
|
|
828
|
+
"inset-x-0 z-20",
|
|
829
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
830
|
+
customClasses?.className
|
|
831
|
+
),
|
|
832
|
+
// Outer container wrapper (only for floating bar)
|
|
833
|
+
containerWrapperClasses: cn(
|
|
834
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
835
|
+
),
|
|
836
|
+
// Inner container classes
|
|
837
|
+
innerContainerClasses: cn(
|
|
838
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
839
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
840
|
+
customClasses?.containerClassName
|
|
841
|
+
),
|
|
842
|
+
// Navigation wrapper classes (for border and shadow)
|
|
843
|
+
navWrapperClasses: cn(
|
|
844
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
845
|
+
),
|
|
846
|
+
// Spacing adjustment for Section component
|
|
847
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
848
|
+
};
|
|
849
|
+
}
|
|
820
850
|
var NavbarFullscreenMenu = ({
|
|
821
851
|
logo = {
|
|
822
852
|
url: "/",
|
|
@@ -834,6 +864,7 @@ var NavbarFullscreenMenu = ({
|
|
|
834
864
|
overlayClassName,
|
|
835
865
|
menuItemsClassName,
|
|
836
866
|
socialLinksClassName,
|
|
867
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
837
868
|
background = "white",
|
|
838
869
|
spacing = "none",
|
|
839
870
|
pattern,
|
|
@@ -900,20 +931,28 @@ var NavbarFullscreenMenu = ({
|
|
|
900
931
|
link.label
|
|
901
932
|
));
|
|
902
933
|
};
|
|
934
|
+
const {
|
|
935
|
+
sectionClasses,
|
|
936
|
+
containerWrapperClasses,
|
|
937
|
+
innerContainerClasses,
|
|
938
|
+
navWrapperClasses,
|
|
939
|
+
spacingOverride
|
|
940
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
903
941
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
904
942
|
Section,
|
|
905
943
|
{
|
|
906
944
|
background,
|
|
907
|
-
spacing,
|
|
908
|
-
className:
|
|
945
|
+
spacing: spacingOverride ?? spacing,
|
|
946
|
+
className: sectionClasses,
|
|
909
947
|
pattern,
|
|
910
948
|
patternOpacity,
|
|
911
|
-
children: /* @__PURE__ */ jsxRuntime.
|
|
949
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: innerContainerClasses, children: [
|
|
912
950
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
913
|
-
"
|
|
951
|
+
"nav",
|
|
914
952
|
{
|
|
915
953
|
className: cn(
|
|
916
954
|
"flex items-center justify-between px-6 py-6",
|
|
955
|
+
navWrapperClasses,
|
|
917
956
|
headerClassName
|
|
918
957
|
),
|
|
919
958
|
children: [
|
|
@@ -969,7 +1008,7 @@ var NavbarFullscreenMenu = ({
|
|
|
969
1008
|
] })
|
|
970
1009
|
}
|
|
971
1010
|
)
|
|
972
|
-
] })
|
|
1011
|
+
] }) })
|
|
973
1012
|
}
|
|
974
1013
|
);
|
|
975
1014
|
};
|
|
@@ -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 { O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.cjs';
|
|
@@ -15,16 +16,6 @@ interface SocialLink {
|
|
|
15
16
|
label: string;
|
|
16
17
|
href: string;
|
|
17
18
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Logo configuration interface
|
|
20
|
-
*/
|
|
21
|
-
interface LogoConfig {
|
|
22
|
-
url?: string;
|
|
23
|
-
src?: string;
|
|
24
|
-
alt?: string;
|
|
25
|
-
title?: React.ReactNode;
|
|
26
|
-
className?: string;
|
|
27
|
-
}
|
|
28
19
|
/**
|
|
29
20
|
* Props for the NavbarFullscreenMenu component
|
|
30
21
|
*/
|
|
@@ -97,6 +88,10 @@ interface NavbarFullscreenMenuProps {
|
|
|
97
88
|
* Pattern overlay opacity (0-1)
|
|
98
89
|
*/
|
|
99
90
|
patternOpacity?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Layout variant for the navbar
|
|
93
|
+
*/
|
|
94
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
100
95
|
/**
|
|
101
96
|
* OptixFlow image optimization configuration
|
|
102
97
|
*/
|
|
@@ -110,6 +105,6 @@ interface NavbarFullscreenMenuProps {
|
|
|
110
105
|
* on hover. Social links appear at the bottom with staggered animations. Uses Framer Motion
|
|
111
106
|
* for smooth transitions. Perfect for creative agencies, portfolios, and artistic websites.
|
|
112
107
|
*/
|
|
113
|
-
declare const NavbarFullscreenMenu: ({ logo, logoSlot, logoClassName, menuItems, menuSlot, socialLinks, socialLinksSlot, className, containerClassName, headerClassName, overlayClassName, menuItemsClassName, socialLinksClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFullscreenMenuProps) => react_jsx_runtime.JSX.Element;
|
|
108
|
+
declare const NavbarFullscreenMenu: ({ logo, logoSlot, logoClassName, menuItems, menuSlot, socialLinks, socialLinksSlot, className, containerClassName, headerClassName, overlayClassName, menuItemsClassName, socialLinksClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFullscreenMenuProps) => react_jsx_runtime.JSX.Element;
|
|
114
109
|
|
|
115
110
|
export { NavbarFullscreenMenu, type NavbarFullscreenMenuProps };
|
|
@@ -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 { O as OptixFlowConfig } from './blocks-k17uluAz.js';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.js';
|
|
@@ -15,16 +16,6 @@ interface SocialLink {
|
|
|
15
16
|
label: string;
|
|
16
17
|
href: string;
|
|
17
18
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Logo configuration interface
|
|
20
|
-
*/
|
|
21
|
-
interface LogoConfig {
|
|
22
|
-
url?: string;
|
|
23
|
-
src?: string;
|
|
24
|
-
alt?: string;
|
|
25
|
-
title?: React.ReactNode;
|
|
26
|
-
className?: string;
|
|
27
|
-
}
|
|
28
19
|
/**
|
|
29
20
|
* Props for the NavbarFullscreenMenu component
|
|
30
21
|
*/
|
|
@@ -97,6 +88,10 @@ interface NavbarFullscreenMenuProps {
|
|
|
97
88
|
* Pattern overlay opacity (0-1)
|
|
98
89
|
*/
|
|
99
90
|
patternOpacity?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Layout variant for the navbar
|
|
93
|
+
*/
|
|
94
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
100
95
|
/**
|
|
101
96
|
* OptixFlow image optimization configuration
|
|
102
97
|
*/
|
|
@@ -110,6 +105,6 @@ interface NavbarFullscreenMenuProps {
|
|
|
110
105
|
* on hover. Social links appear at the bottom with staggered animations. Uses Framer Motion
|
|
111
106
|
* for smooth transitions. Perfect for creative agencies, portfolios, and artistic websites.
|
|
112
107
|
*/
|
|
113
|
-
declare const NavbarFullscreenMenu: ({ logo, logoSlot, logoClassName, menuItems, menuSlot, socialLinks, socialLinksSlot, className, containerClassName, headerClassName, overlayClassName, menuItemsClassName, socialLinksClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFullscreenMenuProps) => react_jsx_runtime.JSX.Element;
|
|
108
|
+
declare const NavbarFullscreenMenu: ({ logo, logoSlot, logoClassName, menuItems, menuSlot, socialLinks, socialLinksSlot, className, containerClassName, headerClassName, overlayClassName, menuItemsClassName, socialLinksClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFullscreenMenuProps) => react_jsx_runtime.JSX.Element;
|
|
114
109
|
|
|
115
110
|
export { NavbarFullscreenMenu, type NavbarFullscreenMenuProps };
|
|
@@ -796,6 +796,36 @@ Section.displayName = "Section";
|
|
|
796
796
|
// lib/mediaPlaceholders.ts
|
|
797
797
|
var logoPlaceholders = {
|
|
798
798
|
darkHorizontalLogo: "https://cdn.ing/assets/i/r/285986/5ivxh3ivywsmm6uslf3te38r6tg1/logo-dark.png"};
|
|
799
|
+
|
|
800
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
801
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
802
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
803
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
804
|
+
return {
|
|
805
|
+
// Section wrapper classes
|
|
806
|
+
sectionClasses: cn(
|
|
807
|
+
"inset-x-0 z-20",
|
|
808
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
809
|
+
customClasses?.className
|
|
810
|
+
),
|
|
811
|
+
// Outer container wrapper (only for floating bar)
|
|
812
|
+
containerWrapperClasses: cn(
|
|
813
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
814
|
+
),
|
|
815
|
+
// Inner container classes
|
|
816
|
+
innerContainerClasses: cn(
|
|
817
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
818
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
819
|
+
customClasses?.containerClassName
|
|
820
|
+
),
|
|
821
|
+
// Navigation wrapper classes (for border and shadow)
|
|
822
|
+
navWrapperClasses: cn(
|
|
823
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
824
|
+
),
|
|
825
|
+
// Spacing adjustment for Section component
|
|
826
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
827
|
+
};
|
|
828
|
+
}
|
|
799
829
|
var NavbarFullscreenMenu = ({
|
|
800
830
|
logo = {
|
|
801
831
|
url: "/",
|
|
@@ -813,6 +843,7 @@ var NavbarFullscreenMenu = ({
|
|
|
813
843
|
overlayClassName,
|
|
814
844
|
menuItemsClassName,
|
|
815
845
|
socialLinksClassName,
|
|
846
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
816
847
|
background = "white",
|
|
817
848
|
spacing = "none",
|
|
818
849
|
pattern,
|
|
@@ -879,20 +910,28 @@ var NavbarFullscreenMenu = ({
|
|
|
879
910
|
link.label
|
|
880
911
|
));
|
|
881
912
|
};
|
|
913
|
+
const {
|
|
914
|
+
sectionClasses,
|
|
915
|
+
containerWrapperClasses,
|
|
916
|
+
innerContainerClasses,
|
|
917
|
+
navWrapperClasses,
|
|
918
|
+
spacingOverride
|
|
919
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
882
920
|
return /* @__PURE__ */ jsx(
|
|
883
921
|
Section,
|
|
884
922
|
{
|
|
885
923
|
background,
|
|
886
|
-
spacing,
|
|
887
|
-
className:
|
|
924
|
+
spacing: spacingOverride ?? spacing,
|
|
925
|
+
className: sectionClasses,
|
|
888
926
|
pattern,
|
|
889
927
|
patternOpacity,
|
|
890
|
-
children: /* @__PURE__ */
|
|
928
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxs("div", { className: innerContainerClasses, children: [
|
|
891
929
|
/* @__PURE__ */ jsxs(
|
|
892
|
-
"
|
|
930
|
+
"nav",
|
|
893
931
|
{
|
|
894
932
|
className: cn(
|
|
895
933
|
"flex items-center justify-between px-6 py-6",
|
|
934
|
+
navWrapperClasses,
|
|
896
935
|
headerClassName
|
|
897
936
|
),
|
|
898
937
|
children: [
|
|
@@ -948,7 +987,7 @@ var NavbarFullscreenMenu = ({
|
|
|
948
987
|
] })
|
|
949
988
|
}
|
|
950
989
|
)
|
|
951
|
-
] })
|
|
990
|
+
] }) })
|
|
952
991
|
}
|
|
953
992
|
);
|
|
954
993
|
};
|