@opensite/ui 1.0.9 → 1.1.0
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 +27 -17
- package/dist/navbar-animated-preview.js +27 -17
- package/dist/navbar-centered-menu.cjs +20 -10
- package/dist/navbar-centered-menu.js +20 -10
- package/dist/navbar-dark-icons.cjs +20 -10
- package/dist/navbar-dark-icons.js +20 -10
- package/dist/navbar-dropdown-menu.cjs +20 -10
- package/dist/navbar-dropdown-menu.js +20 -10
- package/dist/navbar-education-platform.cjs +81 -56
- package/dist/navbar-education-platform.js +81 -56
- package/dist/navbar-enterprise-mega.cjs +21 -11
- package/dist/navbar-enterprise-mega.js +21 -11
- package/dist/navbar-feature-grid.cjs +20 -10
- package/dist/navbar-feature-grid.js +20 -10
- package/dist/navbar-icon-links.cjs +20 -10
- package/dist/navbar-icon-links.js +20 -10
- package/dist/navbar-image-preview.cjs +20 -10
- package/dist/navbar-image-preview.js +20 -10
- package/dist/navbar-mega-menu.cjs +20 -10
- package/dist/navbar-mega-menu.js +20 -10
- package/dist/navbar-multi-column-groups.cjs +52 -35
- package/dist/navbar-multi-column-groups.js +52 -35
- package/dist/navbar-platform-resources.cjs +20 -10
- package/dist/navbar-platform-resources.js +20 -10
- package/dist/navbar-search-focused.cjs +20 -10
- package/dist/navbar-search-focused.js +20 -10
- package/dist/navbar-sidebar-mobile.cjs +21 -10
- package/dist/navbar-sidebar-mobile.js +21 -10
- package/dist/navbar-simple-links.cjs +22 -12
- package/dist/navbar-simple-links.js +22 -12
- package/dist/navbar-split-cta.cjs +20 -10
- package/dist/navbar-split-cta.js +20 -10
- package/dist/navbar-sticky-compact.cjs +240 -123
- package/dist/navbar-sticky-compact.js +239 -123
- package/dist/navbar-tabbed-sections.cjs +20 -10
- package/dist/navbar-tabbed-sections.js +20 -10
- package/dist/navbar-transparent-overlay.cjs +21 -10
- package/dist/navbar-transparent-overlay.js +21 -10
- package/dist/registry.cjs +285 -206
- package/dist/registry.js +285 -206
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
var img = require('@page-speed/img');
|
|
10
|
+
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
10
11
|
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
11
12
|
|
|
12
13
|
function _interopNamespace(e) {
|
|
@@ -28,6 +29,7 @@ function _interopNamespace(e) {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
32
|
+
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
31
33
|
var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(NavigationMenuPrimitive);
|
|
32
34
|
|
|
33
35
|
// components/blocks/navbars/navbar-sticky-compact.tsx
|
|
@@ -992,6 +994,66 @@ var NavbarLogo = ({
|
|
|
992
994
|
}
|
|
993
995
|
);
|
|
994
996
|
};
|
|
997
|
+
function Accordion({
|
|
998
|
+
...props
|
|
999
|
+
}) {
|
|
1000
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Root, { "data-slot": "accordion", ...props });
|
|
1001
|
+
}
|
|
1002
|
+
function AccordionItem({
|
|
1003
|
+
className,
|
|
1004
|
+
...props
|
|
1005
|
+
}) {
|
|
1006
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1007
|
+
AccordionPrimitive__namespace.Item,
|
|
1008
|
+
{
|
|
1009
|
+
"data-slot": "accordion-item",
|
|
1010
|
+
className: cn("border-b ", className),
|
|
1011
|
+
...props
|
|
1012
|
+
}
|
|
1013
|
+
);
|
|
1014
|
+
}
|
|
1015
|
+
function AccordionTrigger({
|
|
1016
|
+
className,
|
|
1017
|
+
children,
|
|
1018
|
+
...props
|
|
1019
|
+
}) {
|
|
1020
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1021
|
+
AccordionPrimitive__namespace.Trigger,
|
|
1022
|
+
{
|
|
1023
|
+
"data-slot": "accordion-trigger",
|
|
1024
|
+
className: cn(
|
|
1025
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-center justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
|
|
1026
|
+
className
|
|
1027
|
+
),
|
|
1028
|
+
...props,
|
|
1029
|
+
children: [
|
|
1030
|
+
children,
|
|
1031
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1032
|
+
DynamicIcon,
|
|
1033
|
+
{
|
|
1034
|
+
name: "lucide/chevron-down",
|
|
1035
|
+
className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"
|
|
1036
|
+
}
|
|
1037
|
+
)
|
|
1038
|
+
]
|
|
1039
|
+
}
|
|
1040
|
+
) });
|
|
1041
|
+
}
|
|
1042
|
+
function AccordionContent({
|
|
1043
|
+
className,
|
|
1044
|
+
children,
|
|
1045
|
+
...props
|
|
1046
|
+
}) {
|
|
1047
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1048
|
+
AccordionPrimitive__namespace.Content,
|
|
1049
|
+
{
|
|
1050
|
+
"data-slot": "accordion-content",
|
|
1051
|
+
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
|
|
1052
|
+
...props,
|
|
1053
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-0 pb-4", className), children })
|
|
1054
|
+
}
|
|
1055
|
+
);
|
|
1056
|
+
}
|
|
995
1057
|
function NavigationMenu({
|
|
996
1058
|
className,
|
|
997
1059
|
children,
|
|
@@ -1136,6 +1198,7 @@ var NavbarMobileMenu = ({
|
|
|
1136
1198
|
children,
|
|
1137
1199
|
className,
|
|
1138
1200
|
contentClassName,
|
|
1201
|
+
closeContainerClassName = "",
|
|
1139
1202
|
title = "Mobile Navigation"
|
|
1140
1203
|
}) => {
|
|
1141
1204
|
React__namespace.useEffect(() => {
|
|
@@ -1160,18 +1223,27 @@ var NavbarMobileMenu = ({
|
|
|
1160
1223
|
"data-state": open ? "open" : "closed",
|
|
1161
1224
|
children: [
|
|
1162
1225
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1164
|
-
"
|
|
1226
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1227
|
+
"div",
|
|
1165
1228
|
{
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1229
|
+
className: cn(
|
|
1230
|
+
closeContainerClassName,
|
|
1231
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen"
|
|
1232
|
+
),
|
|
1233
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1234
|
+
"button",
|
|
1235
|
+
{
|
|
1236
|
+
onClick: onClose,
|
|
1237
|
+
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",
|
|
1238
|
+
"aria-label": "Close mobile menu",
|
|
1239
|
+
children: [
|
|
1240
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
|
|
1241
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1242
|
+
]
|
|
1243
|
+
}
|
|
1244
|
+
)
|
|
1173
1245
|
}
|
|
1174
|
-
)
|
|
1246
|
+
),
|
|
1175
1247
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1176
1248
|
"div",
|
|
1177
1249
|
{
|
|
@@ -1321,37 +1393,6 @@ var NavbarStickyCompact = ({
|
|
|
1321
1393
|
) }, index)
|
|
1322
1394
|
);
|
|
1323
1395
|
}, [menuSlot, menu, isScrolled]);
|
|
1324
|
-
const renderMobileMenu = React.useMemo(() => {
|
|
1325
|
-
if (menuSlot) return menuSlot;
|
|
1326
|
-
if (!menu || menu.length === 0) return null;
|
|
1327
|
-
return menu.map(
|
|
1328
|
-
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1329
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-muted-foreground", children: item.title }),
|
|
1330
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1 pl-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1331
|
-
Pressable,
|
|
1332
|
-
{
|
|
1333
|
-
href: subItem.url,
|
|
1334
|
-
className: "flex items-center gap-2 rounded-md py-2 text-sm hover:text-foreground",
|
|
1335
|
-
onClick: () => setIsOpen(false),
|
|
1336
|
-
children: [
|
|
1337
|
-
subItem.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: subItem.icon, size: 14 }),
|
|
1338
|
-
subItem.title
|
|
1339
|
-
]
|
|
1340
|
-
},
|
|
1341
|
-
subIndex
|
|
1342
|
-
)) })
|
|
1343
|
-
] }, index) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
-
Pressable,
|
|
1345
|
-
{
|
|
1346
|
-
href: item.url,
|
|
1347
|
-
className: "text-sm font-medium",
|
|
1348
|
-
onClick: () => setIsOpen(false),
|
|
1349
|
-
children: item.title
|
|
1350
|
-
},
|
|
1351
|
-
index
|
|
1352
|
-
)
|
|
1353
|
-
);
|
|
1354
|
-
}, [menuSlot, menu]);
|
|
1355
1396
|
const {
|
|
1356
1397
|
sectionClasses,
|
|
1357
1398
|
containerWrapperClasses,
|
|
@@ -1361,99 +1402,175 @@ var NavbarStickyCompact = ({
|
|
|
1361
1402
|
sectionContainerMaxWidth,
|
|
1362
1403
|
spacingOverride
|
|
1363
1404
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1364
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
"
|
|
1405
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1406
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1407
|
+
Section,
|
|
1408
|
+
{
|
|
1409
|
+
background,
|
|
1410
|
+
spacing: spacingOverride ?? spacing,
|
|
1411
|
+
className: cn(
|
|
1412
|
+
sectionClasses,
|
|
1413
|
+
"fixed top-0 left-0 z-50 w-full bg-background/95 backdrop-blur-sm transition-all duration-300",
|
|
1414
|
+
isScrolled ? "shadow-sm" : ""
|
|
1415
|
+
),
|
|
1416
|
+
pattern,
|
|
1417
|
+
patternOpacity,
|
|
1418
|
+
containerClassName: sectionContainerClassName,
|
|
1419
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1420
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1421
|
+
"nav",
|
|
1422
|
+
{
|
|
1423
|
+
className: cn(
|
|
1424
|
+
"flex items-center justify-between transition-all duration-300",
|
|
1425
|
+
isScrolled ? "h-14" : "h-16",
|
|
1426
|
+
navClassName
|
|
1427
|
+
),
|
|
1428
|
+
children: [
|
|
1429
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1430
|
+
NavbarLogo,
|
|
1431
|
+
{
|
|
1432
|
+
logo,
|
|
1433
|
+
logoSlot,
|
|
1434
|
+
logoClassName: cn(
|
|
1435
|
+
isScrolled ? "[&_img]:h-6 [&_span]:text-base" : "[&_img]:h-8 [&_span]:text-lg",
|
|
1436
|
+
"[&_img]:transition-all [&_img]:duration-300 [&_span]:transition-all [&_span]:duration-300",
|
|
1437
|
+
logoClassName
|
|
1438
|
+
),
|
|
1439
|
+
optixFlowConfig
|
|
1440
|
+
}
|
|
1441
|
+
),
|
|
1442
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenu, { className: "hidden lg:flex", viewport: false, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: renderMenu }) }),
|
|
1443
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
|
+
"div",
|
|
1445
|
+
{
|
|
1446
|
+
className: cn(
|
|
1447
|
+
"hidden items-center gap-2 lg:flex",
|
|
1448
|
+
actionsClassName
|
|
1449
|
+
),
|
|
1450
|
+
children: renderAuthActions
|
|
1451
|
+
}
|
|
1452
|
+
),
|
|
1453
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1454
|
+
Pressable,
|
|
1455
|
+
{
|
|
1456
|
+
variant: "ghost",
|
|
1457
|
+
size: isScrolled ? "sm" : "icon",
|
|
1458
|
+
asButton: true,
|
|
1459
|
+
className: "lg:hidden transition-all duration-300",
|
|
1460
|
+
onClick: () => setIsOpen(!isOpen),
|
|
1461
|
+
children: [
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
|
+
DynamicIcon,
|
|
1464
|
+
{
|
|
1465
|
+
name: "lucide/menu",
|
|
1466
|
+
size: isScrolled ? 18 : 20
|
|
1467
|
+
}
|
|
1468
|
+
),
|
|
1469
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
|
|
1470
|
+
]
|
|
1471
|
+
}
|
|
1472
|
+
)
|
|
1473
|
+
]
|
|
1474
|
+
}
|
|
1475
|
+
) }) }) })
|
|
1476
|
+
}
|
|
1477
|
+
),
|
|
1478
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1479
|
+
MobileNavigationMenu,
|
|
1480
|
+
{
|
|
1481
|
+
open: isOpen,
|
|
1482
|
+
setOpen: setIsOpen,
|
|
1483
|
+
menu: menu ?? [],
|
|
1484
|
+
menuSlot,
|
|
1485
|
+
authActions,
|
|
1486
|
+
authActionsSlot
|
|
1487
|
+
}
|
|
1488
|
+
)
|
|
1489
|
+
] });
|
|
1490
|
+
};
|
|
1491
|
+
var MobileNavigationMenu = ({
|
|
1492
|
+
open,
|
|
1493
|
+
setOpen,
|
|
1494
|
+
menu,
|
|
1495
|
+
menuSlot,
|
|
1496
|
+
authActions,
|
|
1497
|
+
authActionsSlot
|
|
1498
|
+
}) => {
|
|
1499
|
+
const handleClose = () => setOpen(false);
|
|
1500
|
+
const renderMobileAuthActions = React.useMemo(() => {
|
|
1501
|
+
if (authActionsSlot) return authActionsSlot;
|
|
1502
|
+
if (!authActions || authActions.length === 0) return null;
|
|
1503
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6 flex flex-col gap-4", children: authActions.map((action, index) => {
|
|
1504
|
+
const {
|
|
1505
|
+
label,
|
|
1506
|
+
icon,
|
|
1507
|
+
iconAfter,
|
|
1508
|
+
children,
|
|
1509
|
+
className: actionClassName,
|
|
1510
|
+
...pressableProps
|
|
1511
|
+
} = action;
|
|
1512
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1513
|
+
Pressable,
|
|
1380
1514
|
{
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1515
|
+
asButton: true,
|
|
1516
|
+
className: cn("w-full", actionClassName),
|
|
1517
|
+
onClick: handleClose,
|
|
1518
|
+
...pressableProps,
|
|
1519
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1520
|
+
icon,
|
|
1521
|
+
label,
|
|
1522
|
+
iconAfter
|
|
1523
|
+
] })
|
|
1524
|
+
},
|
|
1525
|
+
index
|
|
1526
|
+
);
|
|
1527
|
+
}) });
|
|
1528
|
+
}, [authActionsSlot, authActions]);
|
|
1529
|
+
return /* @__PURE__ */ jsxRuntime.jsx(NavbarMobileMenu, { open, onClose: handleClose, title: "Navigation Menu", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1530
|
+
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
1531
|
+
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1532
|
+
AccordionItem,
|
|
1533
|
+
{
|
|
1534
|
+
value: `nav-${index}`,
|
|
1535
|
+
className: "border-b-0",
|
|
1386
1536
|
children: [
|
|
1387
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1388
|
-
|
|
1389
|
-
{
|
|
1390
|
-
logo,
|
|
1391
|
-
logoSlot,
|
|
1392
|
-
logoClassName: cn(
|
|
1393
|
-
isScrolled ? "[&_img]:h-6 [&_span]:text-base" : "[&_img]:h-8 [&_span]:text-lg",
|
|
1394
|
-
"[&_img]:transition-all [&_img]:duration-300 [&_span]:transition-all [&_span]:duration-300",
|
|
1395
|
-
logoClassName
|
|
1396
|
-
),
|
|
1397
|
-
optixFlowConfig
|
|
1398
|
-
}
|
|
1399
|
-
),
|
|
1400
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenu, { className: "hidden lg:flex", children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: renderMenu }) }),
|
|
1401
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1402
|
-
"div",
|
|
1403
|
-
{
|
|
1404
|
-
className: cn(
|
|
1405
|
-
"hidden items-center gap-2 lg:flex",
|
|
1406
|
-
actionsClassName
|
|
1407
|
-
),
|
|
1408
|
-
children: renderAuthActions
|
|
1409
|
-
}
|
|
1410
|
-
),
|
|
1411
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1537
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
|
|
1538
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1412
1539
|
Pressable,
|
|
1413
1540
|
{
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
className: "lg:hidden transition-all duration-300",
|
|
1418
|
-
onClick: () => setIsOpen(!isOpen),
|
|
1541
|
+
href: subItem.url,
|
|
1542
|
+
className: "flex min-h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
|
|
1543
|
+
onClick: handleClose,
|
|
1419
1544
|
children: [
|
|
1420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1545
|
+
subItem.icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1421
1546
|
DynamicIcon,
|
|
1422
1547
|
{
|
|
1423
|
-
name:
|
|
1424
|
-
size:
|
|
1548
|
+
name: subItem.icon,
|
|
1549
|
+
size: 16,
|
|
1550
|
+
className: "stroke-muted-foreground"
|
|
1425
1551
|
}
|
|
1426
1552
|
),
|
|
1427
|
-
|
|
1553
|
+
subItem.title
|
|
1428
1554
|
]
|
|
1429
|
-
}
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
NavbarMobileMenu,
|
|
1433
|
-
{
|
|
1434
|
-
open: isOpen,
|
|
1435
|
-
onClose: () => setIsOpen(false),
|
|
1436
|
-
title: "Navigation Menu",
|
|
1437
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1438
|
-
renderMobileMenu,
|
|
1439
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1440
|
-
"div",
|
|
1441
|
-
{
|
|
1442
|
-
className: cn(
|
|
1443
|
-
"mt-4 flex flex-col gap-2 border-t pt-4",
|
|
1444
|
-
actionsClassName
|
|
1445
|
-
),
|
|
1446
|
-
children: renderAuthActions
|
|
1447
|
-
}
|
|
1448
|
-
)
|
|
1449
|
-
] }) })
|
|
1450
|
-
}
|
|
1451
|
-
)
|
|
1555
|
+
},
|
|
1556
|
+
`mobile-link-${index}-${subIndex}`
|
|
1557
|
+
)) })
|
|
1452
1558
|
]
|
|
1453
|
-
}
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1559
|
+
},
|
|
1560
|
+
`nav-item-${index}`
|
|
1561
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1562
|
+
Pressable,
|
|
1563
|
+
{
|
|
1564
|
+
href: item.url,
|
|
1565
|
+
className: "flex h-15 items-center rounded-md p-0 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",
|
|
1566
|
+
onClick: handleClose,
|
|
1567
|
+
children: item.title
|
|
1568
|
+
},
|
|
1569
|
+
`nav-link-${index}`
|
|
1570
|
+
)
|
|
1571
|
+
) }),
|
|
1572
|
+
renderMobileAuthActions
|
|
1573
|
+
] }) }) });
|
|
1457
1574
|
};
|
|
1458
1575
|
|
|
1459
1576
|
exports.NavbarStickyCompact = NavbarStickyCompact;
|