@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
|
@@ -985,7 +985,7 @@ function NavigationMenuList({
|
|
|
985
985
|
{
|
|
986
986
|
"data-slot": "navigation-menu-list",
|
|
987
987
|
className: cn(
|
|
988
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
988
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
989
989
|
className
|
|
990
990
|
),
|
|
991
991
|
...props
|
|
@@ -1025,8 +1025,9 @@ function NavigationMenuTrigger({
|
|
|
1025
1025
|
/* @__PURE__ */ jsx(
|
|
1026
1026
|
DynamicIcon,
|
|
1027
1027
|
{
|
|
1028
|
+
size: 18,
|
|
1028
1029
|
name: "lucide/chevron-down",
|
|
1029
|
-
className: "relative top-
|
|
1030
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1030
1031
|
"aria-hidden": "true"
|
|
1031
1032
|
}
|
|
1032
1033
|
)
|
|
@@ -1066,7 +1067,7 @@ function NavigationMenuViewport({
|
|
|
1066
1067
|
{
|
|
1067
1068
|
"data-slot": "navigation-menu-viewport",
|
|
1068
1069
|
className: cn(
|
|
1069
|
-
"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-
|
|
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-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1070
1071
|
className
|
|
1071
1072
|
),
|
|
1072
1073
|
...props
|
|
@@ -1084,7 +1085,7 @@ function NavigationMenuLink({
|
|
|
1084
1085
|
{
|
|
1085
1086
|
"data-slot": "navigation-menu-link",
|
|
1086
1087
|
className: cn(
|
|
1087
|
-
"
|
|
1088
|
+
"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",
|
|
1088
1089
|
className
|
|
1089
1090
|
),
|
|
1090
1091
|
...props
|
|
@@ -1095,6 +1096,41 @@ function NavigationMenuLink({
|
|
|
1095
1096
|
// lib/mediaPlaceholders.ts
|
|
1096
1097
|
var logoPlaceholders = {
|
|
1097
1098
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1099
|
+
|
|
1100
|
+
// components/blocks/navbars/types.ts
|
|
1101
|
+
function getLinkUrl(item) {
|
|
1102
|
+
return item.href || item.url || "#";
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1106
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1107
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1108
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1109
|
+
return {
|
|
1110
|
+
// Section wrapper classes
|
|
1111
|
+
sectionClasses: cn(
|
|
1112
|
+
"inset-x-0 z-20",
|
|
1113
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1114
|
+
customClasses?.className
|
|
1115
|
+
),
|
|
1116
|
+
// Outer container wrapper (only for floating bar)
|
|
1117
|
+
containerWrapperClasses: cn(
|
|
1118
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1119
|
+
),
|
|
1120
|
+
// Inner container classes
|
|
1121
|
+
innerContainerClasses: cn(
|
|
1122
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1123
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1124
|
+
customClasses?.containerClassName
|
|
1125
|
+
),
|
|
1126
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1127
|
+
navWrapperClasses: cn(
|
|
1128
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1129
|
+
),
|
|
1130
|
+
// Spacing adjustment for Section component
|
|
1131
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1132
|
+
};
|
|
1133
|
+
}
|
|
1098
1134
|
var NavbarPlatformResources = ({
|
|
1099
1135
|
className,
|
|
1100
1136
|
containerClassName,
|
|
@@ -1110,6 +1146,7 @@ var NavbarPlatformResources = ({
|
|
|
1110
1146
|
logoSlot,
|
|
1111
1147
|
menuLinks,
|
|
1112
1148
|
actions,
|
|
1149
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1113
1150
|
background = "white",
|
|
1114
1151
|
spacing = "none",
|
|
1115
1152
|
pattern,
|
|
@@ -1147,7 +1184,7 @@ var NavbarPlatformResources = ({
|
|
|
1147
1184
|
return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[640px] p-4", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1148
1185
|
NavigationMenuLink,
|
|
1149
1186
|
{
|
|
1150
|
-
href: item
|
|
1187
|
+
href: getLinkUrl(item),
|
|
1151
1188
|
className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
|
|
1152
1189
|
children: [
|
|
1153
1190
|
item.image && /* @__PURE__ */ jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
@@ -1176,7 +1213,7 @@ var NavbarPlatformResources = ({
|
|
|
1176
1213
|
/* @__PURE__ */ jsx(
|
|
1177
1214
|
NavigationMenuLink,
|
|
1178
1215
|
{
|
|
1179
|
-
href: featuredItem
|
|
1216
|
+
href: getLinkUrl(featuredItem),
|
|
1180
1217
|
className: "group w-1/3 p-0 hover:bg-transparent",
|
|
1181
1218
|
children: /* @__PURE__ */ jsxs("div", { className: "overflow-clip rounded-lg border border-input bg-background", children: [
|
|
1182
1219
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
@@ -1200,7 +1237,7 @@ var NavbarPlatformResources = ({
|
|
|
1200
1237
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-2 lg:gap-8", children: gridItems.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1201
1238
|
NavigationMenuLink,
|
|
1202
1239
|
{
|
|
1203
|
-
href: item
|
|
1240
|
+
href: getLinkUrl(item),
|
|
1204
1241
|
className: "group block p-4",
|
|
1205
1242
|
children: [
|
|
1206
1243
|
(item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "mb-5 group-hover:opacity-60", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 }) : null }),
|
|
@@ -1221,7 +1258,7 @@ var NavbarPlatformResources = ({
|
|
|
1221
1258
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-4", children: link.dropdownGroups[0].links.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1222
1259
|
NavigationMenuLink,
|
|
1223
1260
|
{
|
|
1224
|
-
href: item
|
|
1261
|
+
href: getLinkUrl(item),
|
|
1225
1262
|
className: "group flex flex-row items-center gap-5",
|
|
1226
1263
|
children: [
|
|
1227
1264
|
(item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "group-hover:opacity-60", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
|
|
@@ -1234,7 +1271,7 @@ var NavbarPlatformResources = ({
|
|
|
1234
1271
|
ctaItem && /* @__PURE__ */ jsx(
|
|
1235
1272
|
NavigationMenuLink,
|
|
1236
1273
|
{
|
|
1237
|
-
href: ctaItem
|
|
1274
|
+
href: getLinkUrl(ctaItem),
|
|
1238
1275
|
className: "group flex-1 p-0 hover:bg-transparent",
|
|
1239
1276
|
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full rounded-lg border border-input bg-background p-0 hover:bg-transparent", children: [
|
|
1240
1277
|
ctaItem.image && /* @__PURE__ */ jsx("div", { className: "w-2/5 max-w-[310px] shrink-0 overflow-clip rounded-tl-lg rounded-bl-lg", children: /* @__PURE__ */ jsx(
|
|
@@ -1268,7 +1305,7 @@ var NavbarPlatformResources = ({
|
|
|
1268
1305
|
/* @__PURE__ */ jsx("div", { className: "-ml-2.5 space-y-2.5", children: listItems.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1269
1306
|
NavigationMenuLink,
|
|
1270
1307
|
{
|
|
1271
|
-
href: item
|
|
1308
|
+
href: getLinkUrl(item),
|
|
1272
1309
|
className: "group flex flex-row items-center gap-2.5 rounded-md p-2.5 focus:text-accent-foreground",
|
|
1273
1310
|
children: [
|
|
1274
1311
|
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : null),
|
|
@@ -1281,7 +1318,7 @@ var NavbarPlatformResources = ({
|
|
|
1281
1318
|
/* @__PURE__ */ jsx("div", { className: "max-w-[716px] flex-1 space-y-6", children: showcaseItems.map((showcase, showcaseIndex) => /* @__PURE__ */ jsxs(
|
|
1282
1319
|
NavigationMenuLink,
|
|
1283
1320
|
{
|
|
1284
|
-
href: showcase
|
|
1321
|
+
href: getLinkUrl(showcase),
|
|
1285
1322
|
className: "flex flex-row items-center overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
|
|
1286
1323
|
children: [
|
|
1287
1324
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 p-5 xl:p-8", children: [
|
|
@@ -1315,7 +1352,7 @@ var NavbarPlatformResources = ({
|
|
|
1315
1352
|
/* @__PURE__ */ jsx("div", { className: "grid flex-1 grid-cols-1 gap-6 md:grid-cols-2", children: group.links.map((item, itemIndex) => /* @__PURE__ */ jsx(
|
|
1316
1353
|
NavigationMenuLink,
|
|
1317
1354
|
{
|
|
1318
|
-
href: item
|
|
1355
|
+
href: getLinkUrl(item),
|
|
1319
1356
|
className: "flex h-full flex-col overflow-clip rounded-lg border border-input bg-background p-5 hover:bg-accent hover:text-accent-foreground xl:p-8",
|
|
1320
1357
|
children: /* @__PURE__ */ jsxs("div", { className: "mt-auto", children: [
|
|
1321
1358
|
/* @__PURE__ */ jsx("div", { className: "mb-2 text-base", children: item.label }),
|
|
@@ -1332,7 +1369,7 @@ var NavbarPlatformResources = ({
|
|
|
1332
1369
|
/* @__PURE__ */ jsxs(
|
|
1333
1370
|
NavigationMenuLink,
|
|
1334
1371
|
{
|
|
1335
|
-
href: ctaItem
|
|
1372
|
+
href: getLinkUrl(ctaItem),
|
|
1336
1373
|
className: "mb-6 flex flex-row overflow-clip rounded-lg border border-input bg-background p-0 hover:bg-transparent",
|
|
1337
1374
|
children: [
|
|
1338
1375
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 p-5 xl:p-8", children: [
|
|
@@ -1361,7 +1398,7 @@ var NavbarPlatformResources = ({
|
|
|
1361
1398
|
return /* @__PURE__ */ jsx(NavigationMenuContent, { className: "min-w-[640px] p-4", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1362
1399
|
NavigationMenuLink,
|
|
1363
1400
|
{
|
|
1364
|
-
href: item
|
|
1401
|
+
href: getLinkUrl(item),
|
|
1365
1402
|
className: "flex flex-row items-start gap-4 rounded-lg border border-input bg-background p-4 hover:bg-accent hover:text-accent-foreground",
|
|
1366
1403
|
children: [
|
|
1367
1404
|
item.image && /* @__PURE__ */ jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
@@ -1401,173 +1438,171 @@ var NavbarPlatformResources = ({
|
|
|
1401
1438
|
] }) }, index);
|
|
1402
1439
|
});
|
|
1403
1440
|
};
|
|
1441
|
+
const {
|
|
1442
|
+
sectionClasses,
|
|
1443
|
+
containerWrapperClasses,
|
|
1444
|
+
innerContainerClasses,
|
|
1445
|
+
navWrapperClasses,
|
|
1446
|
+
spacingOverride
|
|
1447
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1404
1448
|
return /* @__PURE__ */ jsx(
|
|
1405
1449
|
Section,
|
|
1406
1450
|
{
|
|
1407
1451
|
background,
|
|
1408
|
-
spacing,
|
|
1409
|
-
className:
|
|
1452
|
+
spacing: spacingOverride ?? spacing,
|
|
1453
|
+
className: sectionClasses,
|
|
1410
1454
|
pattern,
|
|
1411
1455
|
patternOpacity,
|
|
1412
|
-
children: /* @__PURE__ */ jsx(
|
|
1413
|
-
"div",
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
return null;
|
|
1441
|
-
}
|
|
1442
|
-
return /* @__PURE__ */ jsx(
|
|
1443
|
-
NavigationMenuItem,
|
|
1456
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxs(NavigationMenu, { className: cn("min-w-full", navigationMenuClassName), children: [
|
|
1457
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
|
|
1458
|
+
renderLogo(),
|
|
1459
|
+
/* @__PURE__ */ jsx(
|
|
1460
|
+
NavigationMenuList,
|
|
1461
|
+
{
|
|
1462
|
+
className: cn("hidden lg:flex", navigationMenuListClassName),
|
|
1463
|
+
children: menuLinks?.map((link, index) => {
|
|
1464
|
+
if (hasDropdownItems(link)) {
|
|
1465
|
+
return /* @__PURE__ */ jsxs(
|
|
1466
|
+
NavigationMenuItem,
|
|
1467
|
+
{
|
|
1468
|
+
children: [
|
|
1469
|
+
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-0 py-0 font-normal text-foreground/60 hover:bg-transparent hover:text-foreground focus:bg-transparent focus:text-foreground data-[state=open]:bg-transparent data-[state=open]:text-foreground", children: link.label }),
|
|
1470
|
+
renderDropdownContent(link)
|
|
1471
|
+
]
|
|
1472
|
+
},
|
|
1473
|
+
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1474
|
+
);
|
|
1475
|
+
}
|
|
1476
|
+
if (!link.href) {
|
|
1477
|
+
return null;
|
|
1478
|
+
}
|
|
1479
|
+
return /* @__PURE__ */ jsx(
|
|
1480
|
+
NavigationMenuItem,
|
|
1481
|
+
{
|
|
1482
|
+
children: /* @__PURE__ */ jsx(
|
|
1483
|
+
NavigationMenuLink,
|
|
1444
1484
|
{
|
|
1445
|
-
|
|
1446
|
-
|
|
1485
|
+
href: link.href,
|
|
1486
|
+
className: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-accent-foreground",
|
|
1487
|
+
children: link.label
|
|
1488
|
+
}
|
|
1489
|
+
)
|
|
1490
|
+
},
|
|
1491
|
+
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1492
|
+
);
|
|
1493
|
+
})
|
|
1494
|
+
}
|
|
1495
|
+
),
|
|
1496
|
+
/* @__PURE__ */ jsx(
|
|
1497
|
+
"div",
|
|
1498
|
+
{
|
|
1499
|
+
className: cn(
|
|
1500
|
+
"hidden items-center gap-4 lg:flex",
|
|
1501
|
+
actionsClassName
|
|
1502
|
+
),
|
|
1503
|
+
children: renderActions()
|
|
1504
|
+
}
|
|
1505
|
+
),
|
|
1506
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 lg:hidden", children: /* @__PURE__ */ jsxs(
|
|
1507
|
+
Pressable,
|
|
1508
|
+
{
|
|
1509
|
+
variant: "outline",
|
|
1510
|
+
size: "icon",
|
|
1511
|
+
asButton: true,
|
|
1512
|
+
"aria-label": "Main Menu",
|
|
1513
|
+
onClick: () => setOpen(!open),
|
|
1514
|
+
children: [
|
|
1515
|
+
!open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 16 }),
|
|
1516
|
+
open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1517
|
+
]
|
|
1518
|
+
}
|
|
1519
|
+
) })
|
|
1520
|
+
] }),
|
|
1521
|
+
open && /* @__PURE__ */ jsxs(
|
|
1522
|
+
"div",
|
|
1523
|
+
{
|
|
1524
|
+
className: cn(
|
|
1525
|
+
"absolute inset-0 top-[72px] flex h-[calc(100vh-72px)] w-full flex-col overflow-scroll border-t border-border bg-background lg:hidden",
|
|
1526
|
+
mobileMenuClassName
|
|
1527
|
+
),
|
|
1528
|
+
children: [
|
|
1529
|
+
/* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: menuLinks?.map((link, index) => {
|
|
1530
|
+
if (hasDropdownItems(link)) {
|
|
1531
|
+
return /* @__PURE__ */ jsxs(
|
|
1532
|
+
AccordionItem,
|
|
1533
|
+
{
|
|
1534
|
+
value: `menu-${index}`,
|
|
1535
|
+
className: "border-b-2 border-dashed",
|
|
1536
|
+
children: [
|
|
1537
|
+
/* @__PURE__ */ jsx(AccordionTrigger, { className: "px-2 py-4 text-left hover:no-underline", children: link.label }),
|
|
1538
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "px-2 pb-4", children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1539
|
+
Pressable,
|
|
1447
1540
|
{
|
|
1448
|
-
href:
|
|
1449
|
-
className: "group
|
|
1450
|
-
children:
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1541
|
+
href: getLinkUrl(item),
|
|
1542
|
+
className: "group flex items-start gap-4 rounded-lg p-2 hover:bg-muted",
|
|
1543
|
+
children: [
|
|
1544
|
+
item.image && /* @__PURE__ */ jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
1545
|
+
Img,
|
|
1546
|
+
{
|
|
1547
|
+
src: item.image,
|
|
1548
|
+
alt: typeof item.label === "string" ? item.label : "Menu item",
|
|
1549
|
+
className: "h-full w-full object-cover object-center",
|
|
1550
|
+
optixFlowConfig
|
|
1551
|
+
}
|
|
1552
|
+
) }),
|
|
1553
|
+
!item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
1554
|
+
DynamicIcon,
|
|
1555
|
+
{
|
|
1556
|
+
name: item.iconName,
|
|
1557
|
+
size: 16
|
|
1558
|
+
}
|
|
1559
|
+
) : null }),
|
|
1560
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
1561
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-foreground", children: item.label }),
|
|
1562
|
+
item.description && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: item.description })
|
|
1563
|
+
] })
|
|
1564
|
+
]
|
|
1565
|
+
},
|
|
1566
|
+
`${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
|
|
1567
|
+
)) }) })
|
|
1568
|
+
]
|
|
1569
|
+
},
|
|
1570
|
+
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1571
|
+
);
|
|
1457
1572
|
}
|
|
1458
|
-
|
|
1573
|
+
if (!link.href) {
|
|
1574
|
+
return null;
|
|
1575
|
+
}
|
|
1576
|
+
return /* @__PURE__ */ jsx(
|
|
1577
|
+
"div",
|
|
1578
|
+
{
|
|
1579
|
+
className: "border-b-2 border-dashed",
|
|
1580
|
+
children: /* @__PURE__ */ jsx(
|
|
1581
|
+
Pressable,
|
|
1582
|
+
{
|
|
1583
|
+
href: link.href,
|
|
1584
|
+
className: "flex w-full items-center px-2 py-4 text-left text-sm font-medium",
|
|
1585
|
+
children: link.label
|
|
1586
|
+
}
|
|
1587
|
+
)
|
|
1588
|
+
},
|
|
1589
|
+
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1590
|
+
);
|
|
1591
|
+
}) }),
|
|
1459
1592
|
/* @__PURE__ */ jsx(
|
|
1460
1593
|
"div",
|
|
1461
1594
|
{
|
|
1462
1595
|
className: cn(
|
|
1463
|
-
"
|
|
1596
|
+
"mx-8 mt-auto flex flex-col gap-4 py-12",
|
|
1464
1597
|
actionsClassName
|
|
1465
1598
|
),
|
|
1466
1599
|
children: renderActions()
|
|
1467
1600
|
}
|
|
1468
|
-
)
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
size: "icon",
|
|
1474
|
-
asButton: true,
|
|
1475
|
-
"aria-label": "Main Menu",
|
|
1476
|
-
onClick: () => setOpen(!open),
|
|
1477
|
-
children: [
|
|
1478
|
-
!open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 16 }),
|
|
1479
|
-
open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1480
|
-
]
|
|
1481
|
-
}
|
|
1482
|
-
) })
|
|
1483
|
-
] }),
|
|
1484
|
-
open && /* @__PURE__ */ jsxs(
|
|
1485
|
-
"div",
|
|
1486
|
-
{
|
|
1487
|
-
className: cn(
|
|
1488
|
-
"absolute inset-0 top-[72px] flex h-[calc(100vh-72px)] w-full flex-col overflow-scroll border-t border-border bg-background lg:hidden",
|
|
1489
|
-
mobileMenuClassName
|
|
1490
|
-
),
|
|
1491
|
-
children: [
|
|
1492
|
-
/* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: menuLinks?.map((link, index) => {
|
|
1493
|
-
if (hasDropdownItems(link)) {
|
|
1494
|
-
return /* @__PURE__ */ jsxs(
|
|
1495
|
-
AccordionItem,
|
|
1496
|
-
{
|
|
1497
|
-
value: `menu-${index}`,
|
|
1498
|
-
className: "border-b-2 border-dashed",
|
|
1499
|
-
children: [
|
|
1500
|
-
/* @__PURE__ */ jsx(AccordionTrigger, { className: "px-2 py-4 text-left hover:no-underline", children: link.label }),
|
|
1501
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "px-2 pb-4", children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1502
|
-
Pressable,
|
|
1503
|
-
{
|
|
1504
|
-
href: item.url,
|
|
1505
|
-
className: "group flex items-start gap-4 rounded-lg p-2 hover:bg-muted",
|
|
1506
|
-
children: [
|
|
1507
|
-
item.image && /* @__PURE__ */ jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
1508
|
-
Img,
|
|
1509
|
-
{
|
|
1510
|
-
src: item.image,
|
|
1511
|
-
alt: typeof item.label === "string" ? item.label : "Menu item",
|
|
1512
|
-
className: "h-full w-full object-cover object-center",
|
|
1513
|
-
optixFlowConfig
|
|
1514
|
-
}
|
|
1515
|
-
) }),
|
|
1516
|
-
!item.image && (item.icon || item.iconName) && /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-md border border-border bg-muted/40 text-muted-foreground", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
1517
|
-
DynamicIcon,
|
|
1518
|
-
{
|
|
1519
|
-
name: item.iconName,
|
|
1520
|
-
size: 16
|
|
1521
|
-
}
|
|
1522
|
-
) : null }),
|
|
1523
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
1524
|
-
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-foreground", children: item.label }),
|
|
1525
|
-
item.description && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: item.description })
|
|
1526
|
-
] })
|
|
1527
|
-
]
|
|
1528
|
-
},
|
|
1529
|
-
`${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
|
|
1530
|
-
)) }) })
|
|
1531
|
-
]
|
|
1532
|
-
},
|
|
1533
|
-
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1534
|
-
);
|
|
1535
|
-
}
|
|
1536
|
-
if (!link.href) {
|
|
1537
|
-
return null;
|
|
1538
|
-
}
|
|
1539
|
-
return /* @__PURE__ */ jsx(
|
|
1540
|
-
"div",
|
|
1541
|
-
{
|
|
1542
|
-
className: "border-b-2 border-dashed",
|
|
1543
|
-
children: /* @__PURE__ */ jsx(
|
|
1544
|
-
Pressable,
|
|
1545
|
-
{
|
|
1546
|
-
href: link.href,
|
|
1547
|
-
className: "flex w-full items-center px-2 py-4 text-left text-sm font-medium",
|
|
1548
|
-
children: link.label
|
|
1549
|
-
}
|
|
1550
|
-
)
|
|
1551
|
-
},
|
|
1552
|
-
`${typeof link.label === "string" ? link.label : "menu"}-${index}`
|
|
1553
|
-
);
|
|
1554
|
-
}) }),
|
|
1555
|
-
/* @__PURE__ */ jsx(
|
|
1556
|
-
"div",
|
|
1557
|
-
{
|
|
1558
|
-
className: cn(
|
|
1559
|
-
"mx-8 mt-auto flex flex-col gap-4 py-12",
|
|
1560
|
-
actionsClassName
|
|
1561
|
-
),
|
|
1562
|
-
children: renderActions()
|
|
1563
|
-
}
|
|
1564
|
-
)
|
|
1565
|
-
]
|
|
1566
|
-
}
|
|
1567
|
-
)
|
|
1568
|
-
] })
|
|
1569
|
-
}
|
|
1570
|
-
)
|
|
1601
|
+
)
|
|
1602
|
+
]
|
|
1603
|
+
}
|
|
1604
|
+
)
|
|
1605
|
+
] }) }) })
|
|
1571
1606
|
}
|
|
1572
1607
|
);
|
|
1573
1608
|
};
|
|
@@ -954,7 +954,7 @@ function NavigationMenuList({
|
|
|
954
954
|
{
|
|
955
955
|
"data-slot": "navigation-menu-list",
|
|
956
956
|
className: cn(
|
|
957
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
957
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
958
958
|
className
|
|
959
959
|
),
|
|
960
960
|
...props
|
|
@@ -992,7 +992,7 @@ function NavigationMenuViewport({
|
|
|
992
992
|
{
|
|
993
993
|
"data-slot": "navigation-menu-viewport",
|
|
994
994
|
className: cn(
|
|
995
|
-
"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-
|
|
995
|
+
"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)",
|
|
996
996
|
className
|
|
997
997
|
),
|
|
998
998
|
...props
|
|
@@ -1010,7 +1010,7 @@ function NavigationMenuLink({
|
|
|
1010
1010
|
{
|
|
1011
1011
|
"data-slot": "navigation-menu-link",
|
|
1012
1012
|
className: cn(
|
|
1013
|
-
"
|
|
1013
|
+
"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",
|
|
1014
1014
|
className
|
|
1015
1015
|
),
|
|
1016
1016
|
...props
|
|
@@ -1095,6 +1095,36 @@ function SheetTitle({
|
|
|
1095
1095
|
// lib/mediaPlaceholders.ts
|
|
1096
1096
|
var logoPlaceholders = {
|
|
1097
1097
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1098
|
+
|
|
1099
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1100
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1101
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1102
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1103
|
+
return {
|
|
1104
|
+
// Section wrapper classes
|
|
1105
|
+
sectionClasses: cn(
|
|
1106
|
+
"inset-x-0 z-20",
|
|
1107
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1108
|
+
customClasses?.className
|
|
1109
|
+
),
|
|
1110
|
+
// Outer container wrapper (only for floating bar)
|
|
1111
|
+
containerWrapperClasses: cn(
|
|
1112
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1113
|
+
),
|
|
1114
|
+
// Inner container classes
|
|
1115
|
+
innerContainerClasses: cn(
|
|
1116
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1117
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1118
|
+
customClasses?.containerClassName
|
|
1119
|
+
),
|
|
1120
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1121
|
+
navWrapperClasses: cn(
|
|
1122
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1123
|
+
),
|
|
1124
|
+
// Spacing adjustment for Section component
|
|
1125
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1126
|
+
};
|
|
1127
|
+
}
|
|
1098
1128
|
var NavbarSearchFocused = ({
|
|
1099
1129
|
className,
|
|
1100
1130
|
containerClassName,
|
|
@@ -1116,6 +1146,7 @@ var NavbarSearchFocused = ({
|
|
|
1116
1146
|
authActionsSlot,
|
|
1117
1147
|
mobileMenuActions,
|
|
1118
1148
|
mobileMenuActionsSlot,
|
|
1149
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1119
1150
|
background = "white",
|
|
1120
1151
|
spacing = "none",
|
|
1121
1152
|
pattern,
|
|
@@ -1211,15 +1242,22 @@ var NavbarSearchFocused = ({
|
|
|
1211
1242
|
);
|
|
1212
1243
|
}) });
|
|
1213
1244
|
};
|
|
1245
|
+
const {
|
|
1246
|
+
sectionClasses,
|
|
1247
|
+
containerWrapperClasses,
|
|
1248
|
+
innerContainerClasses,
|
|
1249
|
+
navWrapperClasses,
|
|
1250
|
+
spacingOverride
|
|
1251
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1214
1252
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1215
1253
|
Section,
|
|
1216
1254
|
{
|
|
1217
1255
|
background,
|
|
1218
|
-
spacing,
|
|
1219
|
-
className:
|
|
1256
|
+
spacing: spacingOverride ?? spacing,
|
|
1257
|
+
className: sectionClasses,
|
|
1220
1258
|
pattern,
|
|
1221
1259
|
patternOpacity,
|
|
1222
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1260
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1223
1261
|
"nav",
|
|
1224
1262
|
{
|
|
1225
1263
|
className: cn("flex items-center gap-4 py-3 lg:gap-8", navClassName),
|
|
@@ -1287,7 +1325,7 @@ var NavbarSearchFocused = ({
|
|
|
1287
1325
|
] })
|
|
1288
1326
|
]
|
|
1289
1327
|
}
|
|
1290
|
-
) })
|
|
1328
|
+
) }) })
|
|
1291
1329
|
}
|
|
1292
1330
|
);
|
|
1293
1331
|
};
|
|
@@ -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';
|
|
@@ -13,16 +14,6 @@ interface NavItem {
|
|
|
13
14
|
icon?: React.ReactNode;
|
|
14
15
|
iconName?: string;
|
|
15
16
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Logo configuration interface
|
|
18
|
-
*/
|
|
19
|
-
interface LogoConfig {
|
|
20
|
-
url?: string;
|
|
21
|
-
src?: string;
|
|
22
|
-
alt?: string;
|
|
23
|
-
title?: React.ReactNode;
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
26
17
|
/**
|
|
27
18
|
* Props for the NavbarSearchFocused component
|
|
28
19
|
*/
|
|
@@ -115,6 +106,10 @@ interface NavbarSearchFocusedProps {
|
|
|
115
106
|
* OptixFlow image optimization configuration
|
|
116
107
|
*/
|
|
117
108
|
optixFlowConfig?: OptixFlowConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Layout variant for the navbar
|
|
111
|
+
*/
|
|
112
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
118
113
|
}
|
|
119
114
|
/**
|
|
120
115
|
* NavbarSearchFocused - A navigation bar with a prominent search input.
|
|
@@ -125,6 +120,6 @@ interface NavbarSearchFocusedProps {
|
|
|
125
120
|
* below the logo and hamburger menu, with navigation in a slide-out sheet. Ideal for
|
|
126
121
|
* e-commerce sites, marketplaces, documentation sites, and content-heavy platforms.
|
|
127
122
|
*/
|
|
128
|
-
declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedProps) => react_jsx_runtime.JSX.Element;
|
|
123
|
+
declare const NavbarSearchFocused: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, searchPlaceholder, onSearch, searchSlot, authActions, authActionsSlot, mobileMenuActions, mobileMenuActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarSearchFocusedProps) => react_jsx_runtime.JSX.Element;
|
|
129
124
|
|
|
130
125
|
export { NavbarSearchFocused, type NavbarSearchFocusedProps };
|