@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
package/dist/navbar-split-cta.js
CHANGED
|
@@ -1114,6 +1114,8 @@ var NavbarMobileMenu = ({
|
|
|
1114
1114
|
children,
|
|
1115
1115
|
className,
|
|
1116
1116
|
contentClassName,
|
|
1117
|
+
closeContainerClassName,
|
|
1118
|
+
closeIconClassName,
|
|
1117
1119
|
title = "Mobile Navigation"
|
|
1118
1120
|
}) => {
|
|
1119
1121
|
React.useEffect(() => {
|
|
@@ -1138,18 +1140,27 @@ var NavbarMobileMenu = ({
|
|
|
1138
1140
|
"data-state": open ? "open" : "closed",
|
|
1139
1141
|
children: [
|
|
1140
1142
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1141
|
-
/* @__PURE__ */ jsx(
|
|
1142
|
-
"
|
|
1143
|
+
/* @__PURE__ */ jsx(
|
|
1144
|
+
"div",
|
|
1143
1145
|
{
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1146
|
+
className: cn(
|
|
1147
|
+
"absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen",
|
|
1148
|
+
closeContainerClassName
|
|
1149
|
+
),
|
|
1150
|
+
children: /* @__PURE__ */ jsxs(
|
|
1151
|
+
"button",
|
|
1152
|
+
{
|
|
1153
|
+
onClick: onClose,
|
|
1154
|
+
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",
|
|
1155
|
+
"aria-label": "Close mobile menu",
|
|
1156
|
+
children: [
|
|
1157
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: cn("size-4", closeIconClassName) }),
|
|
1158
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1159
|
+
]
|
|
1160
|
+
}
|
|
1161
|
+
)
|
|
1151
1162
|
}
|
|
1152
|
-
)
|
|
1163
|
+
),
|
|
1153
1164
|
/* @__PURE__ */ jsx(
|
|
1154
1165
|
"div",
|
|
1155
1166
|
{
|
|
@@ -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,8 @@ var NavbarMobileMenu = ({
|
|
|
1136
1198
|
children,
|
|
1137
1199
|
className,
|
|
1138
1200
|
contentClassName,
|
|
1201
|
+
closeContainerClassName,
|
|
1202
|
+
closeIconClassName,
|
|
1139
1203
|
title = "Mobile Navigation"
|
|
1140
1204
|
}) => {
|
|
1141
1205
|
React__namespace.useEffect(() => {
|
|
@@ -1160,18 +1224,27 @@ var NavbarMobileMenu = ({
|
|
|
1160
1224
|
"data-state": open ? "open" : "closed",
|
|
1161
1225
|
children: [
|
|
1162
1226
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1164
|
-
"
|
|
1227
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1228
|
+
"div",
|
|
1165
1229
|
{
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
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
|
+
)
|
|
1173
1246
|
}
|
|
1174
|
-
)
|
|
1247
|
+
),
|
|
1175
1248
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1176
1249
|
"div",
|
|
1177
1250
|
{
|
|
@@ -1321,37 +1394,6 @@ var NavbarStickyCompact = ({
|
|
|
1321
1394
|
) }, index)
|
|
1322
1395
|
);
|
|
1323
1396
|
}, [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
1397
|
const {
|
|
1356
1398
|
sectionClasses,
|
|
1357
1399
|
containerWrapperClasses,
|
|
@@ -1361,99 +1403,165 @@ var NavbarStickyCompact = ({
|
|
|
1361
1403
|
sectionContainerMaxWidth,
|
|
1362
1404
|
spacingOverride
|
|
1363
1405
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1364
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
"
|
|
1406
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1407
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1408
|
+
Section,
|
|
1409
|
+
{
|
|
1410
|
+
background,
|
|
1411
|
+
spacing: spacingOverride ?? spacing,
|
|
1412
|
+
className: cn(
|
|
1413
|
+
sectionClasses,
|
|
1414
|
+
"fixed top-0 left-0 z-50 w-full bg-background/95 backdrop-blur-sm transition-all duration-300",
|
|
1415
|
+
isScrolled ? "shadow-sm" : ""
|
|
1416
|
+
),
|
|
1417
|
+
pattern,
|
|
1418
|
+
patternOpacity,
|
|
1419
|
+
containerClassName: sectionContainerClassName,
|
|
1420
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1421
|
+
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(
|
|
1422
|
+
"nav",
|
|
1423
|
+
{
|
|
1424
|
+
className: cn(
|
|
1425
|
+
"flex items-center justify-between transition-all duration-300",
|
|
1426
|
+
isScrolled ? "h-14" : "h-16",
|
|
1427
|
+
navClassName
|
|
1428
|
+
),
|
|
1429
|
+
children: [
|
|
1430
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1431
|
+
NavbarLogo,
|
|
1432
|
+
{
|
|
1433
|
+
logo,
|
|
1434
|
+
logoSlot,
|
|
1435
|
+
logoClassName,
|
|
1436
|
+
optixFlowConfig
|
|
1437
|
+
}
|
|
1438
|
+
),
|
|
1439
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenu, { className: "hidden lg:flex", viewport: false, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: renderMenu }) }),
|
|
1440
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1441
|
+
"div",
|
|
1442
|
+
{
|
|
1443
|
+
className: cn(
|
|
1444
|
+
"hidden items-center gap-2 lg:flex",
|
|
1445
|
+
actionsClassName
|
|
1446
|
+
),
|
|
1447
|
+
children: renderAuthActions
|
|
1448
|
+
}
|
|
1449
|
+
),
|
|
1450
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1451
|
+
Pressable,
|
|
1452
|
+
{
|
|
1453
|
+
variant: "ghost",
|
|
1454
|
+
size: isScrolled ? "sm" : "icon",
|
|
1455
|
+
asButton: true,
|
|
1456
|
+
className: "lg:hidden transition-all duration-300",
|
|
1457
|
+
onClick: () => setIsOpen(!isOpen),
|
|
1458
|
+
children: [
|
|
1459
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: isScrolled ? 18 : 20 }),
|
|
1460
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
|
|
1461
|
+
]
|
|
1462
|
+
}
|
|
1463
|
+
)
|
|
1464
|
+
]
|
|
1465
|
+
}
|
|
1466
|
+
) }) }) })
|
|
1467
|
+
}
|
|
1468
|
+
),
|
|
1469
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1470
|
+
MobileNavigationMenu,
|
|
1471
|
+
{
|
|
1472
|
+
open: isOpen,
|
|
1473
|
+
setOpen: setIsOpen,
|
|
1474
|
+
menu: menu ?? [],
|
|
1475
|
+
menuSlot,
|
|
1476
|
+
authActions,
|
|
1477
|
+
authActionsSlot
|
|
1478
|
+
}
|
|
1479
|
+
)
|
|
1480
|
+
] });
|
|
1481
|
+
};
|
|
1482
|
+
var MobileNavigationMenu = ({
|
|
1483
|
+
open,
|
|
1484
|
+
setOpen,
|
|
1485
|
+
menu,
|
|
1486
|
+
menuSlot,
|
|
1487
|
+
authActions,
|
|
1488
|
+
authActionsSlot
|
|
1489
|
+
}) => {
|
|
1490
|
+
const handleClose = () => setOpen(false);
|
|
1491
|
+
const renderMobileAuthActions = React.useMemo(() => {
|
|
1492
|
+
if (authActionsSlot) return authActionsSlot;
|
|
1493
|
+
if (!authActions || authActions.length === 0) return null;
|
|
1494
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6 flex flex-col gap-4", children: authActions.map((action, index) => {
|
|
1495
|
+
const {
|
|
1496
|
+
label,
|
|
1497
|
+
icon,
|
|
1498
|
+
iconAfter,
|
|
1499
|
+
children,
|
|
1500
|
+
className: actionClassName,
|
|
1501
|
+
...pressableProps
|
|
1502
|
+
} = action;
|
|
1503
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1504
|
+
Pressable,
|
|
1380
1505
|
{
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1506
|
+
asButton: true,
|
|
1507
|
+
className: cn("w-full", actionClassName),
|
|
1508
|
+
onClick: handleClose,
|
|
1509
|
+
...pressableProps,
|
|
1510
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1511
|
+
icon,
|
|
1512
|
+
label,
|
|
1513
|
+
iconAfter
|
|
1514
|
+
] })
|
|
1515
|
+
},
|
|
1516
|
+
index
|
|
1517
|
+
);
|
|
1518
|
+
}) });
|
|
1519
|
+
}, [authActionsSlot, authActions]);
|
|
1520
|
+
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: [
|
|
1521
|
+
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
1522
|
+
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1523
|
+
AccordionItem,
|
|
1524
|
+
{
|
|
1525
|
+
value: `nav-${index}`,
|
|
1526
|
+
className: "border-b-0",
|
|
1386
1527
|
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(
|
|
1528
|
+
/* @__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 }),
|
|
1529
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1412
1530
|
Pressable,
|
|
1413
1531
|
{
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
className: "lg:hidden transition-all duration-300",
|
|
1418
|
-
onClick: () => setIsOpen(!isOpen),
|
|
1532
|
+
href: subItem.url,
|
|
1533
|
+
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",
|
|
1534
|
+
onClick: handleClose,
|
|
1419
1535
|
children: [
|
|
1420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1536
|
+
subItem.icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1421
1537
|
DynamicIcon,
|
|
1422
1538
|
{
|
|
1423
|
-
name:
|
|
1424
|
-
size:
|
|
1539
|
+
name: subItem.icon,
|
|
1540
|
+
size: 16,
|
|
1541
|
+
className: "stroke-muted-foreground"
|
|
1425
1542
|
}
|
|
1426
1543
|
),
|
|
1427
|
-
|
|
1544
|
+
subItem.title
|
|
1428
1545
|
]
|
|
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
|
-
)
|
|
1546
|
+
},
|
|
1547
|
+
`mobile-link-${index}-${subIndex}`
|
|
1548
|
+
)) })
|
|
1452
1549
|
]
|
|
1453
|
-
}
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1550
|
+
},
|
|
1551
|
+
`nav-item-${index}`
|
|
1552
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1553
|
+
Pressable,
|
|
1554
|
+
{
|
|
1555
|
+
href: item.url,
|
|
1556
|
+
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",
|
|
1557
|
+
onClick: handleClose,
|
|
1558
|
+
children: item.title
|
|
1559
|
+
},
|
|
1560
|
+
`nav-link-${index}`
|
|
1561
|
+
)
|
|
1562
|
+
) }),
|
|
1563
|
+
renderMobileAuthActions
|
|
1564
|
+
] }) }) });
|
|
1457
1565
|
};
|
|
1458
1566
|
|
|
1459
1567
|
exports.NavbarStickyCompact = NavbarStickyCompact;
|