@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
package/dist/navbar-mega-menu.js
CHANGED
|
@@ -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,13 +1030,48 @@ 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
|
|
1036
1037
|
}
|
|
1037
1038
|
);
|
|
1038
1039
|
}
|
|
1040
|
+
|
|
1041
|
+
// components/blocks/navbars/types.ts
|
|
1042
|
+
function getLinkUrl(item) {
|
|
1043
|
+
return item.href || item.url || "#";
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1047
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1048
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1049
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1050
|
+
return {
|
|
1051
|
+
// Section wrapper classes
|
|
1052
|
+
sectionClasses: cn(
|
|
1053
|
+
"inset-x-0 z-20",
|
|
1054
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1055
|
+
customClasses?.className
|
|
1056
|
+
),
|
|
1057
|
+
// Outer container wrapper (only for floating bar)
|
|
1058
|
+
containerWrapperClasses: cn(
|
|
1059
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1060
|
+
),
|
|
1061
|
+
// Inner container classes
|
|
1062
|
+
innerContainerClasses: cn(
|
|
1063
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1064
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1065
|
+
customClasses?.containerClassName
|
|
1066
|
+
),
|
|
1067
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1068
|
+
navWrapperClasses: cn(
|
|
1069
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1070
|
+
),
|
|
1071
|
+
// Spacing adjustment for Section component
|
|
1072
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1073
|
+
};
|
|
1074
|
+
}
|
|
1039
1075
|
var DesktopMenuItem = ({
|
|
1040
1076
|
link,
|
|
1041
1077
|
index,
|
|
@@ -1064,8 +1100,8 @@ var DesktopMenuItem = ({
|
|
|
1064
1100
|
if (layout === "animated-image-preview" && link.links) {
|
|
1065
1101
|
return /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
1066
1102
|
/* @__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: link.label }),
|
|
1067
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "
|
|
1068
|
-
/* @__PURE__ */ jsx("div", { className: "relative aspect-square w-full overflow-hidden rounded-xl", children: link.links.map((item, idx) => /* @__PURE__ */ jsx(
|
|
1103
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "rounded-2xl! p-0!", children: /* @__PURE__ */ jsxs("div", { className: "grid min-h-75 w-181 grid-cols-[22.5rem_1fr] gap-4 p-3", children: [
|
|
1104
|
+
/* @__PURE__ */ jsx("div", { className: "relative aspect-square w-full overflow-hidden rounded-xl shadow-xl", children: link.links.map((item, idx) => /* @__PURE__ */ jsx(
|
|
1069
1105
|
Img,
|
|
1070
1106
|
{
|
|
1071
1107
|
ref: (el) => {
|
|
@@ -1088,14 +1124,14 @@ var DesktopMenuItem = ({
|
|
|
1088
1124
|
/* @__PURE__ */ jsx("ul", { children: link.links.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1089
1125
|
NavigationMenuLink,
|
|
1090
1126
|
{
|
|
1091
|
-
href: item
|
|
1127
|
+
href: getLinkUrl(item),
|
|
1092
1128
|
className: "flex items-center gap-4 rounded-lg px-4 py-3 hover:bg-muted",
|
|
1093
1129
|
"data-index": idx,
|
|
1094
1130
|
onMouseEnter: handleMouseEnter,
|
|
1095
1131
|
onMouseLeave: handleMouseLeave,
|
|
1096
1132
|
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
1097
|
-
/* @__PURE__ */ jsx("
|
|
1098
|
-
item.description && /* @__PURE__ */ jsx("p", { className: "leading-normal text-muted-foreground", children: item.description })
|
|
1133
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: item.label }),
|
|
1134
|
+
item.description && /* @__PURE__ */ jsx("p", { className: "text-xs leading-normal text-muted-foreground", children: item.description })
|
|
1099
1135
|
] })
|
|
1100
1136
|
}
|
|
1101
1137
|
) }, `desktop-nav-sublink-${idx}`)) })
|
|
@@ -1106,13 +1142,13 @@ var DesktopMenuItem = ({
|
|
|
1106
1142
|
if (layout === "simple-grid" && link.links) {
|
|
1107
1143
|
return /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
1108
1144
|
/* @__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: link.label }),
|
|
1109
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[
|
|
1145
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[700px] p-6", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1110
1146
|
NavigationMenuLink,
|
|
1111
1147
|
{
|
|
1112
|
-
href: item
|
|
1148
|
+
href: getLinkUrl(item),
|
|
1113
1149
|
className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-muted hover:text-foreground",
|
|
1114
1150
|
children: [
|
|
1115
|
-
item.image && /* @__PURE__ */ jsx("div", { className: "h-
|
|
1151
|
+
item.image && /* @__PURE__ */ jsx("div", { className: "h-20 w-20 shrink-0 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
1116
1152
|
Img,
|
|
1117
1153
|
{
|
|
1118
1154
|
src: item.image,
|
|
@@ -1121,7 +1157,7 @@ var DesktopMenuItem = ({
|
|
|
1121
1157
|
optixFlowConfig
|
|
1122
1158
|
}
|
|
1123
1159
|
) }),
|
|
1124
|
-
!item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-
|
|
1160
|
+
!item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 }) : null }),
|
|
1125
1161
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1126
1162
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: item.label }),
|
|
1127
1163
|
item.description && /* @__PURE__ */ jsx("div", { className: "text-sm font-normal text-muted-foreground", children: item.description })
|
|
@@ -1138,7 +1174,7 @@ var DesktopMenuItem = ({
|
|
|
1138
1174
|
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[400px] p-4", children: /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1", children: link.links.map((item, itemIndex) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
|
|
1139
1175
|
NavigationMenuLink,
|
|
1140
1176
|
{
|
|
1141
|
-
href: item
|
|
1177
|
+
href: getLinkUrl(item),
|
|
1142
1178
|
className: "flex items-start gap-3 rounded-lg p-3 hover:bg-muted",
|
|
1143
1179
|
children: [
|
|
1144
1180
|
(item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-md bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
|
|
@@ -1182,7 +1218,7 @@ var MobileSubmenu = ({
|
|
|
1182
1218
|
return /* @__PURE__ */ jsxs(
|
|
1183
1219
|
Pressable,
|
|
1184
1220
|
{
|
|
1185
|
-
href: item
|
|
1221
|
+
href: getLinkUrl(item),
|
|
1186
1222
|
className: "flex items-start gap-4 border-b border-border px-8 py-5",
|
|
1187
1223
|
children: [
|
|
1188
1224
|
item.image && /* @__PURE__ */ jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
@@ -1222,6 +1258,7 @@ var NavbarMegaMenu = ({
|
|
|
1222
1258
|
logoSlot,
|
|
1223
1259
|
menuLinks,
|
|
1224
1260
|
actions,
|
|
1261
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1225
1262
|
background = "white",
|
|
1226
1263
|
spacing = "none",
|
|
1227
1264
|
pattern,
|
|
@@ -1281,15 +1318,27 @@ var NavbarMegaMenu = ({
|
|
|
1281
1318
|
] }) }, index);
|
|
1282
1319
|
});
|
|
1283
1320
|
};
|
|
1321
|
+
const {
|
|
1322
|
+
sectionClasses,
|
|
1323
|
+
containerWrapperClasses,
|
|
1324
|
+
innerContainerClasses,
|
|
1325
|
+
navWrapperClasses: baseNavWrapperClasses,
|
|
1326
|
+
spacingOverride
|
|
1327
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1328
|
+
const navWrapperClasses = cn(
|
|
1329
|
+
"flex w-full items-center justify-between gap-12 py-4",
|
|
1330
|
+
baseNavWrapperClasses,
|
|
1331
|
+
layoutVariant === "floatingBar" && "pr-4 pl-8"
|
|
1332
|
+
);
|
|
1284
1333
|
return /* @__PURE__ */ jsx(
|
|
1285
1334
|
Section,
|
|
1286
1335
|
{
|
|
1287
1336
|
background,
|
|
1288
|
-
spacing,
|
|
1289
|
-
className:
|
|
1337
|
+
spacing: spacingOverride ?? spacing,
|
|
1338
|
+
className: sectionClasses,
|
|
1290
1339
|
pattern,
|
|
1291
1340
|
patternOpacity,
|
|
1292
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
1341
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1293
1342
|
NavigationMenu,
|
|
1294
1343
|
{
|
|
1295
1344
|
className: cn(
|
|
@@ -1297,7 +1346,7 @@ var NavbarMegaMenu = ({
|
|
|
1297
1346
|
navClassName
|
|
1298
1347
|
),
|
|
1299
1348
|
children: [
|
|
1300
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
1349
|
+
/* @__PURE__ */ jsxs("div", { className: navWrapperClasses, children: [
|
|
1301
1350
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1302
1351
|
(!open || submenuIndex === null) && renderLogo(),
|
|
1303
1352
|
open && submenuIndex !== null && /* @__PURE__ */ jsxs(
|
|
@@ -1442,7 +1491,7 @@ var NavbarMegaMenu = ({
|
|
|
1442
1491
|
)
|
|
1443
1492
|
]
|
|
1444
1493
|
}
|
|
1445
|
-
) })
|
|
1494
|
+
) }) })
|
|
1446
1495
|
}
|
|
1447
1496
|
);
|
|
1448
1497
|
};
|
|
@@ -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
|
|
@@ -1189,6 +1190,36 @@ function SheetTitle({
|
|
|
1189
1190
|
// lib/mediaPlaceholders.ts
|
|
1190
1191
|
var logoPlaceholders = {
|
|
1191
1192
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1193
|
+
|
|
1194
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1195
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1196
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1197
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1198
|
+
return {
|
|
1199
|
+
// Section wrapper classes
|
|
1200
|
+
sectionClasses: cn(
|
|
1201
|
+
"inset-x-0 z-20",
|
|
1202
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1203
|
+
customClasses?.className
|
|
1204
|
+
),
|
|
1205
|
+
// Outer container wrapper (only for floating bar)
|
|
1206
|
+
containerWrapperClasses: cn(
|
|
1207
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1208
|
+
),
|
|
1209
|
+
// Inner container classes
|
|
1210
|
+
innerContainerClasses: cn(
|
|
1211
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1212
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1213
|
+
customClasses?.containerClassName
|
|
1214
|
+
),
|
|
1215
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1216
|
+
navWrapperClasses: cn(
|
|
1217
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1218
|
+
),
|
|
1219
|
+
// Spacing adjustment for Section component
|
|
1220
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1192
1223
|
var MOBILE_BREAKPOINT = 1024;
|
|
1193
1224
|
var NavbarMultiColumnGroups = ({
|
|
1194
1225
|
className,
|
|
@@ -1208,6 +1239,7 @@ var NavbarMultiColumnGroups = ({
|
|
|
1208
1239
|
authActionsSlot,
|
|
1209
1240
|
mobileAuthActions,
|
|
1210
1241
|
mobileAuthActionsSlot,
|
|
1242
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1211
1243
|
background = "white",
|
|
1212
1244
|
spacing = "none",
|
|
1213
1245
|
pattern,
|
|
@@ -1302,19 +1334,23 @@ var NavbarMultiColumnGroups = ({
|
|
|
1302
1334
|
);
|
|
1303
1335
|
});
|
|
1304
1336
|
};
|
|
1337
|
+
const {
|
|
1338
|
+
sectionClasses,
|
|
1339
|
+
containerWrapperClasses,
|
|
1340
|
+
innerContainerClasses,
|
|
1341
|
+
navWrapperClasses,
|
|
1342
|
+
spacingOverride
|
|
1343
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1305
1344
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1306
1345
|
Section,
|
|
1307
1346
|
{
|
|
1308
1347
|
background,
|
|
1309
|
-
spacing,
|
|
1310
|
-
className:
|
|
1311
|
-
"pointer-events-auto fixed top-0 z-999 flex h-16 w-full items-center justify-center",
|
|
1312
|
-
className
|
|
1313
|
-
),
|
|
1348
|
+
spacing: spacingOverride ?? spacing,
|
|
1349
|
+
className: sectionClasses,
|
|
1314
1350
|
pattern,
|
|
1315
1351
|
patternOpacity,
|
|
1316
1352
|
children: [
|
|
1317
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1353
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1318
1354
|
"div",
|
|
1319
1355
|
{
|
|
1320
1356
|
className: cn(
|
|
@@ -1369,7 +1405,7 @@ var NavbarMultiColumnGroups = ({
|
|
|
1369
1405
|
) })
|
|
1370
1406
|
]
|
|
1371
1407
|
}
|
|
1372
|
-
) }),
|
|
1408
|
+
) }) }),
|
|
1373
1409
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1374
1410
|
MobileNavigationMenu,
|
|
1375
1411
|
{
|
|
@@ -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';
|
|
@@ -23,16 +24,6 @@ interface MenuItem {
|
|
|
23
24
|
url?: string;
|
|
24
25
|
groups?: MenuGroup[];
|
|
25
26
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Logo configuration interface
|
|
28
|
-
*/
|
|
29
|
-
interface LogoConfig {
|
|
30
|
-
url?: string;
|
|
31
|
-
src?: string;
|
|
32
|
-
alt?: string;
|
|
33
|
-
title?: React.ReactNode;
|
|
34
|
-
className?: string;
|
|
35
|
-
}
|
|
36
27
|
/**
|
|
37
28
|
* Props for the NavbarMultiColumnGroups component
|
|
38
29
|
*/
|
|
@@ -113,6 +104,10 @@ interface NavbarMultiColumnGroupsProps {
|
|
|
113
104
|
* OptixFlow image optimization configuration
|
|
114
105
|
*/
|
|
115
106
|
optixFlowConfig?: OptixFlowConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Layout variant for the navbar
|
|
109
|
+
*/
|
|
110
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
116
111
|
}
|
|
117
112
|
/**
|
|
118
113
|
* NavbarMultiColumnGroups - A navigation bar with multi-column grouped dropdown menus.
|
|
@@ -123,6 +118,6 @@ interface NavbarMultiColumnGroupsProps {
|
|
|
123
118
|
* full-screen sheet with accordion navigation and CTA buttons at the top. Ideal for SaaS
|
|
124
119
|
* platforms, enterprise software, and products with many features to showcase.
|
|
125
120
|
*/
|
|
126
|
-
declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
|
|
121
|
+
declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
|
|
127
122
|
|
|
128
123
|
export { NavbarMultiColumnGroups, type NavbarMultiColumnGroupsProps };
|
|
@@ -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';
|
|
@@ -23,16 +24,6 @@ interface MenuItem {
|
|
|
23
24
|
url?: string;
|
|
24
25
|
groups?: MenuGroup[];
|
|
25
26
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Logo configuration interface
|
|
28
|
-
*/
|
|
29
|
-
interface LogoConfig {
|
|
30
|
-
url?: string;
|
|
31
|
-
src?: string;
|
|
32
|
-
alt?: string;
|
|
33
|
-
title?: React.ReactNode;
|
|
34
|
-
className?: string;
|
|
35
|
-
}
|
|
36
27
|
/**
|
|
37
28
|
* Props for the NavbarMultiColumnGroups component
|
|
38
29
|
*/
|
|
@@ -113,6 +104,10 @@ interface NavbarMultiColumnGroupsProps {
|
|
|
113
104
|
* OptixFlow image optimization configuration
|
|
114
105
|
*/
|
|
115
106
|
optixFlowConfig?: OptixFlowConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Layout variant for the navbar
|
|
109
|
+
*/
|
|
110
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
116
111
|
}
|
|
117
112
|
/**
|
|
118
113
|
* NavbarMultiColumnGroups - A navigation bar with multi-column grouped dropdown menus.
|
|
@@ -123,6 +118,6 @@ interface NavbarMultiColumnGroupsProps {
|
|
|
123
118
|
* full-screen sheet with accordion navigation and CTA buttons at the top. Ideal for SaaS
|
|
124
119
|
* platforms, enterprise software, and products with many features to showcase.
|
|
125
120
|
*/
|
|
126
|
-
declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
|
|
121
|
+
declare const NavbarMultiColumnGroups: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navigation, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarMultiColumnGroupsProps) => react_jsx_runtime.JSX.Element;
|
|
127
122
|
|
|
128
123
|
export { NavbarMultiColumnGroups, type NavbarMultiColumnGroupsProps };
|
|
@@ -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 NavbarMultiColumnGroups = ({
|
|
1170
1201
|
className,
|
|
@@ -1184,6 +1215,7 @@ var NavbarMultiColumnGroups = ({
|
|
|
1184
1215
|
authActionsSlot,
|
|
1185
1216
|
mobileAuthActions,
|
|
1186
1217
|
mobileAuthActionsSlot,
|
|
1218
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1187
1219
|
background = "white",
|
|
1188
1220
|
spacing = "none",
|
|
1189
1221
|
pattern,
|
|
@@ -1278,19 +1310,23 @@ var NavbarMultiColumnGroups = ({
|
|
|
1278
1310
|
);
|
|
1279
1311
|
});
|
|
1280
1312
|
};
|
|
1313
|
+
const {
|
|
1314
|
+
sectionClasses,
|
|
1315
|
+
containerWrapperClasses,
|
|
1316
|
+
innerContainerClasses,
|
|
1317
|
+
navWrapperClasses,
|
|
1318
|
+
spacingOverride
|
|
1319
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1281
1320
|
return /* @__PURE__ */ jsxs(
|
|
1282
1321
|
Section,
|
|
1283
1322
|
{
|
|
1284
1323
|
background,
|
|
1285
|
-
spacing,
|
|
1286
|
-
className:
|
|
1287
|
-
"pointer-events-auto fixed top-0 z-999 flex h-16 w-full items-center justify-center",
|
|
1288
|
-
className
|
|
1289
|
-
),
|
|
1324
|
+
spacing: spacingOverride ?? spacing,
|
|
1325
|
+
className: sectionClasses,
|
|
1290
1326
|
pattern,
|
|
1291
1327
|
patternOpacity,
|
|
1292
1328
|
children: [
|
|
1293
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
1329
|
+
/* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxs(
|
|
1294
1330
|
"div",
|
|
1295
1331
|
{
|
|
1296
1332
|
className: cn(
|
|
@@ -1345,7 +1381,7 @@ var NavbarMultiColumnGroups = ({
|
|
|
1345
1381
|
) })
|
|
1346
1382
|
]
|
|
1347
1383
|
}
|
|
1348
|
-
) }),
|
|
1384
|
+
) }) }),
|
|
1349
1385
|
/* @__PURE__ */ jsx(
|
|
1350
1386
|
MobileNavigationMenu,
|
|
1351
1387
|
{
|