@opensite/ui 1.0.9 → 1.1.1
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 +30 -19
- package/dist/navbar-animated-preview.js +30 -19
- package/dist/navbar-centered-menu.cjs +21 -10
- package/dist/navbar-centered-menu.js +21 -10
- package/dist/navbar-dark-icons.cjs +21 -10
- package/dist/navbar-dark-icons.js +21 -10
- package/dist/navbar-dropdown-menu.cjs +21 -10
- package/dist/navbar-dropdown-menu.js +21 -10
- package/dist/navbar-education-platform.cjs +82 -56
- package/dist/navbar-education-platform.js +82 -56
- package/dist/navbar-enterprise-mega.cjs +22 -11
- package/dist/navbar-enterprise-mega.js +22 -11
- package/dist/navbar-feature-grid.cjs +21 -10
- package/dist/navbar-feature-grid.js +21 -10
- package/dist/navbar-icon-links.cjs +21 -10
- package/dist/navbar-icon-links.js +21 -10
- package/dist/navbar-image-preview.cjs +21 -10
- package/dist/navbar-image-preview.js +21 -10
- package/dist/navbar-mega-menu.cjs +21 -10
- package/dist/navbar-mega-menu.js +21 -10
- package/dist/navbar-multi-column-groups.cjs +53 -35
- package/dist/navbar-multi-column-groups.js +53 -35
- package/dist/navbar-platform-resources.cjs +21 -10
- package/dist/navbar-platform-resources.js +21 -10
- package/dist/navbar-search-focused.cjs +192 -103
- package/dist/navbar-search-focused.js +192 -103
- package/dist/navbar-sidebar-mobile.cjs +22 -10
- package/dist/navbar-sidebar-mobile.js +22 -10
- package/dist/navbar-simple-links.cjs +23 -12
- package/dist/navbar-simple-links.js +23 -12
- package/dist/navbar-split-cta.cjs +21 -10
- package/dist/navbar-split-cta.js +21 -10
- package/dist/navbar-sticky-compact.cjs +231 -123
- package/dist/navbar-sticky-compact.js +230 -123
- package/dist/navbar-tabbed-sections.cjs +21 -10
- package/dist/navbar-tabbed-sections.js +21 -10
- package/dist/navbar-transparent-overlay.cjs +23 -10
- package/dist/navbar-transparent-overlay.js +23 -10
- package/dist/registry.cjs +435 -302
- package/dist/registry.js +435 -302
- package/package.json +1 -1
|
@@ -970,6 +970,22 @@ var NavbarLogo = ({
|
|
|
970
970
|
}
|
|
971
971
|
);
|
|
972
972
|
};
|
|
973
|
+
function Input({ className, type, ...props }) {
|
|
974
|
+
return /* @__PURE__ */ jsx(
|
|
975
|
+
"input",
|
|
976
|
+
{
|
|
977
|
+
type,
|
|
978
|
+
"data-slot": "input",
|
|
979
|
+
className: cn(
|
|
980
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
981
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
982
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
983
|
+
className
|
|
984
|
+
),
|
|
985
|
+
...props
|
|
986
|
+
}
|
|
987
|
+
);
|
|
988
|
+
}
|
|
973
989
|
function NavigationMenu({
|
|
974
990
|
className,
|
|
975
991
|
children,
|
|
@@ -1071,6 +1087,8 @@ var NavbarMobileMenu = ({
|
|
|
1071
1087
|
children,
|
|
1072
1088
|
className,
|
|
1073
1089
|
contentClassName,
|
|
1090
|
+
closeContainerClassName,
|
|
1091
|
+
closeIconClassName,
|
|
1074
1092
|
title = "Mobile Navigation"
|
|
1075
1093
|
}) => {
|
|
1076
1094
|
React.useEffect(() => {
|
|
@@ -1095,18 +1113,27 @@ var NavbarMobileMenu = ({
|
|
|
1095
1113
|
"data-state": open ? "open" : "closed",
|
|
1096
1114
|
children: [
|
|
1097
1115
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1098
|
-
/* @__PURE__ */ jsx(
|
|
1099
|
-
"
|
|
1116
|
+
/* @__PURE__ */ jsx(
|
|
1117
|
+
"div",
|
|
1100
1118
|
{
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1119
|
+
className: cn(
|
|
1120
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1121
|
+
closeContainerClassName
|
|
1122
|
+
),
|
|
1123
|
+
children: /* @__PURE__ */ jsxs(
|
|
1124
|
+
"button",
|
|
1125
|
+
{
|
|
1126
|
+
onClick: onClose,
|
|
1127
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1128
|
+
"aria-label": "Close mobile menu",
|
|
1129
|
+
children: [
|
|
1130
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1131
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1132
|
+
]
|
|
1133
|
+
}
|
|
1134
|
+
)
|
|
1108
1135
|
}
|
|
1109
|
-
)
|
|
1136
|
+
),
|
|
1110
1137
|
/* @__PURE__ */ jsx(
|
|
1111
1138
|
"div",
|
|
1112
1139
|
{
|
|
@@ -1183,6 +1210,11 @@ var NavbarSearchFocused = ({
|
|
|
1183
1210
|
optixFlowConfig
|
|
1184
1211
|
}) => {
|
|
1185
1212
|
const [isOpen, setIsOpen] = useState(false);
|
|
1213
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
1214
|
+
const handleSearchSubmit = (e) => {
|
|
1215
|
+
e.preventDefault();
|
|
1216
|
+
onSearch?.(searchQuery);
|
|
1217
|
+
};
|
|
1186
1218
|
const renderNavigation = (items) => {
|
|
1187
1219
|
if (navigationSlot) return navigationSlot;
|
|
1188
1220
|
if (!items || items.length === 0) return null;
|
|
@@ -1228,7 +1260,7 @@ var NavbarSearchFocused = ({
|
|
|
1228
1260
|
);
|
|
1229
1261
|
});
|
|
1230
1262
|
}, [authActionsSlot, authActions]);
|
|
1231
|
-
|
|
1263
|
+
useMemo(() => {
|
|
1232
1264
|
if (mobileMenuActionsSlot) return mobileMenuActionsSlot;
|
|
1233
1265
|
if (!mobileMenuActions || mobileMenuActions.length === 0) return null;
|
|
1234
1266
|
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: mobileMenuActions.map((action, index) => {
|
|
@@ -1257,100 +1289,157 @@ var NavbarSearchFocused = ({
|
|
|
1257
1289
|
sectionContainerMaxWidth,
|
|
1258
1290
|
spacingOverride
|
|
1259
1291
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1260
|
-
return /* @__PURE__ */
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
"
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
children: [
|
|
1278
|
-
/* @__PURE__ */ jsx(
|
|
1279
|
-
NavbarLogo,
|
|
1280
|
-
{
|
|
1281
|
-
logo,
|
|
1282
|
-
logoSlot,
|
|
1283
|
-
logoClassName,
|
|
1284
|
-
optixFlowConfig
|
|
1285
|
-
}
|
|
1286
|
-
),
|
|
1287
|
-
/* @__PURE__ */ jsx(
|
|
1288
|
-
NavigationMenu,
|
|
1289
|
-
{
|
|
1290
|
-
className: cn("hidden lg:flex", navigationMenuClassName),
|
|
1291
|
-
children: renderNavigation(navItems?.slice(0, 2) ?? [])
|
|
1292
|
-
}
|
|
1293
|
-
),
|
|
1294
|
-
/* @__PURE__ */ jsx(
|
|
1295
|
-
NavigationMenu,
|
|
1296
|
-
{
|
|
1297
|
-
className: cn("hidden lg:flex", navigationMenuClassName),
|
|
1298
|
-
children: renderNavigation(navItems?.slice(2) ?? [])
|
|
1299
|
-
}
|
|
1292
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1293
|
+
/* @__PURE__ */ jsx(
|
|
1294
|
+
Section,
|
|
1295
|
+
{
|
|
1296
|
+
background,
|
|
1297
|
+
spacing: spacingOverride ?? spacing,
|
|
1298
|
+
className: sectionClasses,
|
|
1299
|
+
pattern,
|
|
1300
|
+
patternOpacity,
|
|
1301
|
+
containerClassName: sectionContainerClassName,
|
|
1302
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1303
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1304
|
+
"nav",
|
|
1305
|
+
{
|
|
1306
|
+
className: cn(
|
|
1307
|
+
"flex items-center justify-between gap-4 py-3 lg:gap-6",
|
|
1308
|
+
navClassName
|
|
1300
1309
|
),
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1310
|
+
children: [
|
|
1311
|
+
/* @__PURE__ */ jsx(
|
|
1312
|
+
NavbarLogo,
|
|
1313
|
+
{
|
|
1314
|
+
logo,
|
|
1315
|
+
logoSlot,
|
|
1316
|
+
logoClassName,
|
|
1317
|
+
optixFlowConfig
|
|
1318
|
+
}
|
|
1319
|
+
),
|
|
1320
|
+
/* @__PURE__ */ jsx(
|
|
1321
|
+
NavigationMenu,
|
|
1322
|
+
{
|
|
1323
|
+
className: cn("hidden lg:flex", navigationMenuClassName),
|
|
1324
|
+
children: renderNavigation(navItems ?? [])
|
|
1325
|
+
}
|
|
1326
|
+
),
|
|
1327
|
+
/* @__PURE__ */ jsx("div", { className: "hidden flex-1 max-w-md lg:block", children: searchSlot ?? /* @__PURE__ */ jsxs("form", { onSubmit: handleSearchSubmit, className: "relative", children: [
|
|
1328
|
+
/* @__PURE__ */ jsx(
|
|
1329
|
+
DynamicIcon,
|
|
1330
|
+
{
|
|
1331
|
+
name: "lucide/search",
|
|
1332
|
+
size: 16,
|
|
1333
|
+
className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"
|
|
1334
|
+
}
|
|
1307
1335
|
),
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1336
|
+
/* @__PURE__ */ jsx(
|
|
1337
|
+
Input,
|
|
1338
|
+
{
|
|
1339
|
+
type: "search",
|
|
1340
|
+
placeholder: typeof searchPlaceholder === "string" ? searchPlaceholder : "Search...",
|
|
1341
|
+
value: searchQuery,
|
|
1342
|
+
onChange: (e) => setSearchQuery(e.target.value),
|
|
1343
|
+
className: "pl-9 pr-4"
|
|
1344
|
+
}
|
|
1345
|
+
)
|
|
1346
|
+
] }) }),
|
|
1347
|
+
/* @__PURE__ */ jsx(
|
|
1348
|
+
"div",
|
|
1349
|
+
{
|
|
1350
|
+
className: cn(
|
|
1351
|
+
"hidden shrink-0 items-center gap-2 lg:flex",
|
|
1352
|
+
actionsClassName
|
|
1353
|
+
),
|
|
1354
|
+
children: renderAuthActions
|
|
1355
|
+
}
|
|
1356
|
+
),
|
|
1357
|
+
/* @__PURE__ */ jsxs(
|
|
1358
|
+
Pressable,
|
|
1359
|
+
{
|
|
1360
|
+
variant: "ghost",
|
|
1361
|
+
size: "icon",
|
|
1362
|
+
asButton: true,
|
|
1363
|
+
className: "lg:hidden",
|
|
1364
|
+
onClick: () => setIsOpen(!isOpen),
|
|
1365
|
+
children: [
|
|
1366
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 20 }),
|
|
1367
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle menu" })
|
|
1368
|
+
]
|
|
1369
|
+
}
|
|
1370
|
+
)
|
|
1371
|
+
]
|
|
1372
|
+
}
|
|
1373
|
+
) }) }) })
|
|
1374
|
+
}
|
|
1375
|
+
),
|
|
1376
|
+
/* @__PURE__ */ jsx(
|
|
1377
|
+
MobileNavigationMenu,
|
|
1378
|
+
{
|
|
1379
|
+
open: isOpen,
|
|
1380
|
+
setOpen: setIsOpen,
|
|
1381
|
+
navItems: navItems ?? [],
|
|
1382
|
+
navigationSlot,
|
|
1383
|
+
mobileMenuActions: mobileMenuActions ?? authActions,
|
|
1384
|
+
mobileMenuActionsSlot: mobileMenuActionsSlot ?? authActionsSlot
|
|
1385
|
+
}
|
|
1386
|
+
)
|
|
1387
|
+
] });
|
|
1388
|
+
};
|
|
1389
|
+
var MobileNavigationMenu = ({
|
|
1390
|
+
open,
|
|
1391
|
+
setOpen,
|
|
1392
|
+
navItems,
|
|
1393
|
+
navigationSlot,
|
|
1394
|
+
mobileMenuActions,
|
|
1395
|
+
mobileMenuActionsSlot
|
|
1396
|
+
}) => {
|
|
1397
|
+
const handleClose = () => setOpen(false);
|
|
1398
|
+
const renderMobileActions = useMemo(() => {
|
|
1399
|
+
if (mobileMenuActionsSlot) return mobileMenuActionsSlot;
|
|
1400
|
+
if (!mobileMenuActions || mobileMenuActions.length === 0) return null;
|
|
1401
|
+
return /* @__PURE__ */ jsx("div", { className: "mt-6 flex flex-col gap-4", children: mobileMenuActions.map((action, index) => {
|
|
1402
|
+
const {
|
|
1403
|
+
label,
|
|
1404
|
+
icon,
|
|
1405
|
+
iconAfter,
|
|
1406
|
+
children,
|
|
1407
|
+
className: actionClassName,
|
|
1408
|
+
...pressableProps
|
|
1409
|
+
} = action;
|
|
1410
|
+
return /* @__PURE__ */ jsx(
|
|
1411
|
+
Pressable,
|
|
1412
|
+
{
|
|
1413
|
+
asButton: true,
|
|
1414
|
+
className: cn("w-full", actionClassName),
|
|
1415
|
+
onClick: handleClose,
|
|
1416
|
+
...pressableProps,
|
|
1417
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1418
|
+
icon,
|
|
1419
|
+
label,
|
|
1420
|
+
iconAfter
|
|
1421
|
+
] })
|
|
1422
|
+
},
|
|
1423
|
+
index
|
|
1424
|
+
);
|
|
1425
|
+
}) });
|
|
1426
|
+
}, [mobileMenuActionsSlot, mobileMenuActions]);
|
|
1427
|
+
return /* @__PURE__ */ jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Navigation Menu", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1428
|
+
navigationSlot ?? /* @__PURE__ */ jsx("nav", { className: "flex flex-col", children: navItems.map((item, index) => /* @__PURE__ */ jsxs(
|
|
1429
|
+
Pressable,
|
|
1430
|
+
{
|
|
1431
|
+
href: item.url,
|
|
1432
|
+
className: "flex h-15 items-center gap-2 rounded-md px-4 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all hover:bg-muted focus-visible:ring-4 focus-visible:outline-1",
|
|
1433
|
+
onClick: handleClose,
|
|
1434
|
+
children: [
|
|
1435
|
+
item.icon ?? (item.iconName && /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 })),
|
|
1436
|
+
item.title
|
|
1437
|
+
]
|
|
1438
|
+
},
|
|
1439
|
+
`nav-link-${index}`
|
|
1440
|
+
)) }),
|
|
1441
|
+
renderMobileActions
|
|
1442
|
+
] }) }) });
|
|
1354
1443
|
};
|
|
1355
1444
|
|
|
1356
1445
|
export { NavbarSearchFocused };
|
|
@@ -1198,6 +1198,8 @@ var NavbarMobileMenu = ({
|
|
|
1198
1198
|
children,
|
|
1199
1199
|
className,
|
|
1200
1200
|
contentClassName,
|
|
1201
|
+
closeContainerClassName,
|
|
1202
|
+
closeIconClassName,
|
|
1201
1203
|
title = "Mobile Navigation"
|
|
1202
1204
|
}) => {
|
|
1203
1205
|
React__namespace.useEffect(() => {
|
|
@@ -1222,18 +1224,27 @@ var NavbarMobileMenu = ({
|
|
|
1222
1224
|
"data-state": open ? "open" : "closed",
|
|
1223
1225
|
children: [
|
|
1224
1226
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1226
|
-
"
|
|
1227
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1228
|
+
"div",
|
|
1227
1229
|
{
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1230
|
+
className: cn(
|
|
1231
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1232
|
+
closeContainerClassName
|
|
1233
|
+
),
|
|
1234
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1235
|
+
"button",
|
|
1236
|
+
{
|
|
1237
|
+
onClick: onClose,
|
|
1238
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1239
|
+
"aria-label": "Close mobile menu",
|
|
1240
|
+
children: [
|
|
1241
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1242
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1243
|
+
]
|
|
1244
|
+
}
|
|
1245
|
+
)
|
|
1235
1246
|
}
|
|
1236
|
-
)
|
|
1247
|
+
),
|
|
1237
1248
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1238
1249
|
"div",
|
|
1239
1250
|
{
|
|
@@ -1404,6 +1415,7 @@ var NavbarSidebarMobile = ({
|
|
|
1404
1415
|
NavigationMenu,
|
|
1405
1416
|
{
|
|
1406
1417
|
className: cn("hidden lg:flex", navigationMenuClassName),
|
|
1418
|
+
viewport: false,
|
|
1407
1419
|
children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: menuSlot ? menuSlot : renderMenu()?.map(
|
|
1408
1420
|
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
1409
1421
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { children: item.title }),
|
|
@@ -1175,6 +1175,8 @@ var NavbarMobileMenu = ({
|
|
|
1175
1175
|
children,
|
|
1176
1176
|
className,
|
|
1177
1177
|
contentClassName,
|
|
1178
|
+
closeContainerClassName,
|
|
1179
|
+
closeIconClassName,
|
|
1178
1180
|
title = "Mobile Navigation"
|
|
1179
1181
|
}) => {
|
|
1180
1182
|
React.useEffect(() => {
|
|
@@ -1199,18 +1201,27 @@ var NavbarMobileMenu = ({
|
|
|
1199
1201
|
"data-state": open ? "open" : "closed",
|
|
1200
1202
|
children: [
|
|
1201
1203
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1202
|
-
/* @__PURE__ */ jsx(
|
|
1203
|
-
"
|
|
1204
|
+
/* @__PURE__ */ jsx(
|
|
1205
|
+
"div",
|
|
1204
1206
|
{
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1207
|
+
className: cn(
|
|
1208
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1209
|
+
closeContainerClassName
|
|
1210
|
+
),
|
|
1211
|
+
children: /* @__PURE__ */ jsxs(
|
|
1212
|
+
"button",
|
|
1213
|
+
{
|
|
1214
|
+
onClick: onClose,
|
|
1215
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1216
|
+
"aria-label": "Close mobile menu",
|
|
1217
|
+
children: [
|
|
1218
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1219
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1220
|
+
]
|
|
1221
|
+
}
|
|
1222
|
+
)
|
|
1212
1223
|
}
|
|
1213
|
-
)
|
|
1224
|
+
),
|
|
1214
1225
|
/* @__PURE__ */ jsx(
|
|
1215
1226
|
"div",
|
|
1216
1227
|
{
|
|
@@ -1381,6 +1392,7 @@ var NavbarSidebarMobile = ({
|
|
|
1381
1392
|
NavigationMenu,
|
|
1382
1393
|
{
|
|
1383
1394
|
className: cn("hidden lg:flex", navigationMenuClassName),
|
|
1395
|
+
viewport: false,
|
|
1384
1396
|
children: /* @__PURE__ */ jsx(NavigationMenuList, { children: menuSlot ? menuSlot : renderMenu()?.map(
|
|
1385
1397
|
(item, index) => item.items ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
1386
1398
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.title }),
|
|
@@ -1093,6 +1093,8 @@ var NavbarMobileMenu = ({
|
|
|
1093
1093
|
children,
|
|
1094
1094
|
className,
|
|
1095
1095
|
contentClassName,
|
|
1096
|
+
closeContainerClassName,
|
|
1097
|
+
closeIconClassName,
|
|
1096
1098
|
title = "Mobile Navigation"
|
|
1097
1099
|
}) => {
|
|
1098
1100
|
React__namespace.useEffect(() => {
|
|
@@ -1117,18 +1119,27 @@ var NavbarMobileMenu = ({
|
|
|
1117
1119
|
"data-state": open ? "open" : "closed",
|
|
1118
1120
|
children: [
|
|
1119
1121
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1120
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1121
|
-
"
|
|
1122
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1123
|
+
"div",
|
|
1122
1124
|
{
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1125
|
+
className: cn(
|
|
1126
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1127
|
+
closeContainerClassName
|
|
1128
|
+
),
|
|
1129
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1130
|
+
"button",
|
|
1131
|
+
{
|
|
1132
|
+
onClick: onClose,
|
|
1133
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1134
|
+
"aria-label": "Close mobile menu",
|
|
1135
|
+
children: [
|
|
1136
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1137
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1138
|
+
]
|
|
1139
|
+
}
|
|
1140
|
+
)
|
|
1130
1141
|
}
|
|
1131
|
-
)
|
|
1142
|
+
),
|
|
1132
1143
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1133
1144
|
"div",
|
|
1134
1145
|
{
|
|
@@ -1385,8 +1396,8 @@ var NavbarSimpleLinks = ({
|
|
|
1385
1396
|
open: isOpen,
|
|
1386
1397
|
onClose: handleMobileMenuClose,
|
|
1387
1398
|
navItems: navItems ?? [],
|
|
1388
|
-
mobileActions,
|
|
1389
|
-
mobileActionsSlot,
|
|
1399
|
+
mobileActions: mobileActions ?? actions,
|
|
1400
|
+
mobileActionsSlot: mobileActionsSlot ?? actionsSlot,
|
|
1390
1401
|
mobileMenuClassName
|
|
1391
1402
|
}
|
|
1392
1403
|
)
|
|
@@ -1071,6 +1071,8 @@ var NavbarMobileMenu = ({
|
|
|
1071
1071
|
children,
|
|
1072
1072
|
className,
|
|
1073
1073
|
contentClassName,
|
|
1074
|
+
closeContainerClassName,
|
|
1075
|
+
closeIconClassName,
|
|
1074
1076
|
title = "Mobile Navigation"
|
|
1075
1077
|
}) => {
|
|
1076
1078
|
React.useEffect(() => {
|
|
@@ -1095,18 +1097,27 @@ var NavbarMobileMenu = ({
|
|
|
1095
1097
|
"data-state": open ? "open" : "closed",
|
|
1096
1098
|
children: [
|
|
1097
1099
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1098
|
-
/* @__PURE__ */ jsx(
|
|
1099
|
-
"
|
|
1100
|
+
/* @__PURE__ */ jsx(
|
|
1101
|
+
"div",
|
|
1100
1102
|
{
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1103
|
+
className: cn(
|
|
1104
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1105
|
+
closeContainerClassName
|
|
1106
|
+
),
|
|
1107
|
+
children: /* @__PURE__ */ jsxs(
|
|
1108
|
+
"button",
|
|
1109
|
+
{
|
|
1110
|
+
onClick: onClose,
|
|
1111
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1112
|
+
"aria-label": "Close mobile menu",
|
|
1113
|
+
children: [
|
|
1114
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1115
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1116
|
+
]
|
|
1117
|
+
}
|
|
1118
|
+
)
|
|
1108
1119
|
}
|
|
1109
|
-
)
|
|
1120
|
+
),
|
|
1110
1121
|
/* @__PURE__ */ jsx(
|
|
1111
1122
|
"div",
|
|
1112
1123
|
{
|
|
@@ -1363,8 +1374,8 @@ var NavbarSimpleLinks = ({
|
|
|
1363
1374
|
open: isOpen,
|
|
1364
1375
|
onClose: handleMobileMenuClose,
|
|
1365
1376
|
navItems: navItems ?? [],
|
|
1366
|
-
mobileActions,
|
|
1367
|
-
mobileActionsSlot,
|
|
1377
|
+
mobileActions: mobileActions ?? actions,
|
|
1378
|
+
mobileActionsSlot: mobileActionsSlot ?? actionsSlot,
|
|
1368
1379
|
mobileMenuClassName
|
|
1369
1380
|
}
|
|
1370
1381
|
)
|
|
@@ -1136,6 +1136,8 @@ var NavbarMobileMenu = ({
|
|
|
1136
1136
|
children,
|
|
1137
1137
|
className,
|
|
1138
1138
|
contentClassName,
|
|
1139
|
+
closeContainerClassName,
|
|
1140
|
+
closeIconClassName,
|
|
1139
1141
|
title = "Mobile Navigation"
|
|
1140
1142
|
}) => {
|
|
1141
1143
|
React__namespace.useEffect(() => {
|
|
@@ -1160,18 +1162,27 @@ var NavbarMobileMenu = ({
|
|
|
1160
1162
|
"data-state": open ? "open" : "closed",
|
|
1161
1163
|
children: [
|
|
1162
1164
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1164
|
-
"
|
|
1165
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1166
|
+
"div",
|
|
1165
1167
|
{
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1168
|
+
className: cn(
|
|
1169
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1170
|
+
closeContainerClassName
|
|
1171
|
+
),
|
|
1172
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1173
|
+
"button",
|
|
1174
|
+
{
|
|
1175
|
+
onClick: onClose,
|
|
1176
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1177
|
+
"aria-label": "Close mobile menu",
|
|
1178
|
+
children: [
|
|
1179
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1180
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1181
|
+
]
|
|
1182
|
+
}
|
|
1183
|
+
)
|
|
1173
1184
|
}
|
|
1174
|
-
)
|
|
1185
|
+
),
|
|
1175
1186
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1176
1187
|
"div",
|
|
1177
1188
|
{
|