@opensite/ui 1.0.6 → 1.0.7
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 -37
- package/dist/navbar-animated-preview.js +30 -37
- package/dist/navbar-centered-menu.cjs +2 -2
- package/dist/navbar-centered-menu.js +2 -2
- package/dist/navbar-enterprise-mega.cjs +2 -2
- package/dist/navbar-enterprise-mega.js +2 -2
- package/dist/navbar-feature-grid.cjs +7 -7
- package/dist/navbar-feature-grid.js +7 -7
- package/dist/navbar-image-preview.cjs +2 -2
- package/dist/navbar-image-preview.js +2 -2
- package/dist/navbar-mega-menu.cjs +162 -119
- package/dist/navbar-mega-menu.js +161 -119
- package/dist/navbar-multi-column-groups.cjs +30 -37
- package/dist/navbar-multi-column-groups.js +30 -37
- package/dist/navbar-platform-resources.cjs +24 -21
- package/dist/navbar-platform-resources.js +24 -21
- package/dist/registry.cjs +141 -227
- package/dist/registry.js +141 -227
- package/package.json +1 -1
package/dist/navbar-mega-menu.js
CHANGED
|
@@ -7,6 +7,7 @@ import { cva } from 'class-variance-authority';
|
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { Img } from '@page-speed/img';
|
|
9
9
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
10
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
10
11
|
|
|
11
12
|
// components/blocks/navbars/navbar-mega-menu.tsx
|
|
12
13
|
function cn(...inputs) {
|
|
@@ -1108,6 +1109,122 @@ function NavigationMenuLink({
|
|
|
1108
1109
|
}
|
|
1109
1110
|
);
|
|
1110
1111
|
}
|
|
1112
|
+
function Accordion({
|
|
1113
|
+
...props
|
|
1114
|
+
}) {
|
|
1115
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
|
|
1116
|
+
}
|
|
1117
|
+
function AccordionItem({
|
|
1118
|
+
className,
|
|
1119
|
+
...props
|
|
1120
|
+
}) {
|
|
1121
|
+
return /* @__PURE__ */ jsx(
|
|
1122
|
+
AccordionPrimitive.Item,
|
|
1123
|
+
{
|
|
1124
|
+
"data-slot": "accordion-item",
|
|
1125
|
+
className: cn("border-b ", className),
|
|
1126
|
+
...props
|
|
1127
|
+
}
|
|
1128
|
+
);
|
|
1129
|
+
}
|
|
1130
|
+
function AccordionTrigger({
|
|
1131
|
+
className,
|
|
1132
|
+
children,
|
|
1133
|
+
...props
|
|
1134
|
+
}) {
|
|
1135
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
|
|
1136
|
+
AccordionPrimitive.Trigger,
|
|
1137
|
+
{
|
|
1138
|
+
"data-slot": "accordion-trigger",
|
|
1139
|
+
className: cn(
|
|
1140
|
+
"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",
|
|
1141
|
+
className
|
|
1142
|
+
),
|
|
1143
|
+
...props,
|
|
1144
|
+
children: [
|
|
1145
|
+
children,
|
|
1146
|
+
/* @__PURE__ */ jsx(
|
|
1147
|
+
DynamicIcon,
|
|
1148
|
+
{
|
|
1149
|
+
name: "lucide/chevron-down",
|
|
1150
|
+
className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"
|
|
1151
|
+
}
|
|
1152
|
+
)
|
|
1153
|
+
]
|
|
1154
|
+
}
|
|
1155
|
+
) });
|
|
1156
|
+
}
|
|
1157
|
+
function AccordionContent({
|
|
1158
|
+
className,
|
|
1159
|
+
children,
|
|
1160
|
+
...props
|
|
1161
|
+
}) {
|
|
1162
|
+
return /* @__PURE__ */ jsx(
|
|
1163
|
+
AccordionPrimitive.Content,
|
|
1164
|
+
{
|
|
1165
|
+
"data-slot": "accordion-content",
|
|
1166
|
+
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
|
|
1167
|
+
...props,
|
|
1168
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
|
|
1169
|
+
}
|
|
1170
|
+
);
|
|
1171
|
+
}
|
|
1172
|
+
var NavbarMobileMenu = ({
|
|
1173
|
+
open,
|
|
1174
|
+
onClose,
|
|
1175
|
+
children,
|
|
1176
|
+
className,
|
|
1177
|
+
contentClassName,
|
|
1178
|
+
title = "Mobile Navigation"
|
|
1179
|
+
}) => {
|
|
1180
|
+
React.useEffect(() => {
|
|
1181
|
+
if (open) {
|
|
1182
|
+
const originalOverflow = document.body.style.overflow;
|
|
1183
|
+
document.body.style.overflow = "hidden";
|
|
1184
|
+
return () => {
|
|
1185
|
+
document.body.style.overflow = originalOverflow;
|
|
1186
|
+
};
|
|
1187
|
+
}
|
|
1188
|
+
}, [open]);
|
|
1189
|
+
if (!open) return null;
|
|
1190
|
+
return /* @__PURE__ */ jsxs(
|
|
1191
|
+
"div",
|
|
1192
|
+
{
|
|
1193
|
+
className: cn(
|
|
1194
|
+
"fixed inset-0 z-998 flex flex-col bg-background",
|
|
1195
|
+
"animate-in slide-in-from-top duration-300",
|
|
1196
|
+
"data-[state=closed]:animate-out data-[state=closed]:slide-out-to-top data-[state=closed]:duration-300",
|
|
1197
|
+
className
|
|
1198
|
+
),
|
|
1199
|
+
"data-state": open ? "open" : "closed",
|
|
1200
|
+
children: [
|
|
1201
|
+
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1202
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-4 right-4 z-10", children: /* @__PURE__ */ jsxs(
|
|
1203
|
+
"button",
|
|
1204
|
+
{
|
|
1205
|
+
onClick: onClose,
|
|
1206
|
+
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",
|
|
1207
|
+
"aria-label": "Close mobile menu",
|
|
1208
|
+
children: [
|
|
1209
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
|
|
1210
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1211
|
+
]
|
|
1212
|
+
}
|
|
1213
|
+
) }),
|
|
1214
|
+
/* @__PURE__ */ jsx(
|
|
1215
|
+
"div",
|
|
1216
|
+
{
|
|
1217
|
+
className: cn(
|
|
1218
|
+
"h-full overflow-y-auto pt-20 pb-8 px-4 sm:px-6",
|
|
1219
|
+
contentClassName
|
|
1220
|
+
),
|
|
1221
|
+
children
|
|
1222
|
+
}
|
|
1223
|
+
)
|
|
1224
|
+
]
|
|
1225
|
+
}
|
|
1226
|
+
);
|
|
1227
|
+
};
|
|
1111
1228
|
|
|
1112
1229
|
// components/blocks/navbars/types.ts
|
|
1113
1230
|
function getLinkUrl(item) {
|
|
@@ -1350,51 +1467,6 @@ var DesktopMenuItem = ({
|
|
|
1350
1467
|
}
|
|
1351
1468
|
return null;
|
|
1352
1469
|
};
|
|
1353
|
-
var MobileSubmenu = ({
|
|
1354
|
-
submenu,
|
|
1355
|
-
mobileMenuClassName,
|
|
1356
|
-
optixFlowConfig
|
|
1357
|
-
}) => {
|
|
1358
|
-
const items = submenu.links || [];
|
|
1359
|
-
return /* @__PURE__ */ jsxs(
|
|
1360
|
-
"div",
|
|
1361
|
-
{
|
|
1362
|
-
className: cn(
|
|
1363
|
-
"fixed inset-0 top-[72px] flex h-[calc(100vh-72px)] w-full flex-col overflow-scroll border-t border-border bg-background lg:hidden",
|
|
1364
|
-
mobileMenuClassName
|
|
1365
|
-
),
|
|
1366
|
-
children: [
|
|
1367
|
-
/* @__PURE__ */ jsx("div", { className: "px-8 py-3.5 text-xs tracking-widest text-muted-foreground uppercase", children: submenu.label }),
|
|
1368
|
-
items.map((item, index) => {
|
|
1369
|
-
return /* @__PURE__ */ jsxs(
|
|
1370
|
-
Pressable,
|
|
1371
|
-
{
|
|
1372
|
-
href: getLinkUrl(item),
|
|
1373
|
-
className: "flex items-start gap-4 border-b border-border px-8 py-5",
|
|
1374
|
-
children: [
|
|
1375
|
-
item.image && /* @__PURE__ */ jsx("div", { className: "h-10 w-10 overflow-hidden rounded-md border border-border", children: /* @__PURE__ */ jsx(
|
|
1376
|
-
Img,
|
|
1377
|
-
{
|
|
1378
|
-
src: item.image,
|
|
1379
|
-
alt: typeof item.label === "string" ? item.label : "Menu item",
|
|
1380
|
-
className: "h-full w-full object-cover object-center",
|
|
1381
|
-
optixFlowConfig
|
|
1382
|
-
}
|
|
1383
|
-
) }),
|
|
1384
|
-
!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(DynamicIcon, { name: item.iconName, size: 16 }) : null }),
|
|
1385
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
1386
|
-
/* @__PURE__ */ jsx("div", { className: "text-base", children: item.label }),
|
|
1387
|
-
item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: item.description })
|
|
1388
|
-
] })
|
|
1389
|
-
]
|
|
1390
|
-
},
|
|
1391
|
-
`mobile-item-${index}`
|
|
1392
|
-
);
|
|
1393
|
-
})
|
|
1394
|
-
]
|
|
1395
|
-
}
|
|
1396
|
-
);
|
|
1397
|
-
};
|
|
1398
1470
|
var NavbarMegaMenu = ({
|
|
1399
1471
|
className,
|
|
1400
1472
|
containerClassName,
|
|
@@ -1415,8 +1487,6 @@ var NavbarMegaMenu = ({
|
|
|
1415
1487
|
optixFlowConfig
|
|
1416
1488
|
}) => {
|
|
1417
1489
|
const [open, setOpen] = useState(false);
|
|
1418
|
-
const [submenuIndex, setSubmenuIndex] = useState(null);
|
|
1419
|
-
const activeSubmenu = submenuIndex !== null ? menuLinks?.[submenuIndex] : null;
|
|
1420
1490
|
const hasDropdownItems = (link) => Boolean(
|
|
1421
1491
|
link.links && link.links.length > 0 || link.dropdownGroups && link.dropdownGroups.length > 0
|
|
1422
1492
|
);
|
|
@@ -1470,36 +1540,15 @@ var NavbarMegaMenu = ({
|
|
|
1470
1540
|
),
|
|
1471
1541
|
children: [
|
|
1472
1542
|
/* @__PURE__ */ jsxs("div", { className: navWrapperClasses, children: [
|
|
1473
|
-
/* @__PURE__ */
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
),
|
|
1483
|
-
open && submenuIndex !== null && /* @__PURE__ */ jsxs(
|
|
1484
|
-
Pressable,
|
|
1485
|
-
{
|
|
1486
|
-
variant: "outline",
|
|
1487
|
-
asButton: true,
|
|
1488
|
-
onClick: () => setSubmenuIndex(null),
|
|
1489
|
-
children: [
|
|
1490
|
-
"Back",
|
|
1491
|
-
/* @__PURE__ */ jsx(
|
|
1492
|
-
DynamicIcon,
|
|
1493
|
-
{
|
|
1494
|
-
name: "lucide/chevron-left",
|
|
1495
|
-
size: 16,
|
|
1496
|
-
className: "ml-2"
|
|
1497
|
-
}
|
|
1498
|
-
)
|
|
1499
|
-
]
|
|
1500
|
-
}
|
|
1501
|
-
)
|
|
1502
|
-
] }),
|
|
1543
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
1544
|
+
NavbarLogo,
|
|
1545
|
+
{
|
|
1546
|
+
logo,
|
|
1547
|
+
logoSlot,
|
|
1548
|
+
logoClassName,
|
|
1549
|
+
optixFlowConfig
|
|
1550
|
+
}
|
|
1551
|
+
) }),
|
|
1503
1552
|
/* @__PURE__ */ jsx(
|
|
1504
1553
|
NavigationMenuList,
|
|
1505
1554
|
{
|
|
@@ -1540,14 +1589,7 @@ var NavbarMegaMenu = ({
|
|
|
1540
1589
|
size: "icon",
|
|
1541
1590
|
asButton: true,
|
|
1542
1591
|
"aria-label": "Main Menu",
|
|
1543
|
-
onClick: () =>
|
|
1544
|
-
if (open) {
|
|
1545
|
-
setOpen(false);
|
|
1546
|
-
setSubmenuIndex(null);
|
|
1547
|
-
} else {
|
|
1548
|
-
setOpen(true);
|
|
1549
|
-
}
|
|
1550
|
-
},
|
|
1592
|
+
onClick: () => setOpen(!open),
|
|
1551
1593
|
children: [
|
|
1552
1594
|
!open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/menu", size: 16 }),
|
|
1553
1595
|
open && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
@@ -1555,31 +1597,42 @@ var NavbarMegaMenu = ({
|
|
|
1555
1597
|
}
|
|
1556
1598
|
) })
|
|
1557
1599
|
] }),
|
|
1558
|
-
|
|
1559
|
-
|
|
1600
|
+
/* @__PURE__ */ jsx(
|
|
1601
|
+
NavbarMobileMenu,
|
|
1560
1602
|
{
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
children: [
|
|
1566
|
-
/* @__PURE__ */ jsx("
|
|
1603
|
+
open,
|
|
1604
|
+
onClose: () => setOpen(false),
|
|
1605
|
+
title: "Mobile Navigation",
|
|
1606
|
+
contentClassName: "pt-10 pb-20",
|
|
1607
|
+
children: /* @__PURE__ */ jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
1608
|
+
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
|
|
1567
1609
|
if (hasDropdownItems(link)) {
|
|
1610
|
+
const items = link.links || [];
|
|
1568
1611
|
return /* @__PURE__ */ jsxs(
|
|
1569
|
-
|
|
1612
|
+
AccordionItem,
|
|
1570
1613
|
{
|
|
1571
|
-
|
|
1572
|
-
className: "
|
|
1573
|
-
onClick: () => setSubmenuIndex(index),
|
|
1614
|
+
value: `menu-${index}`,
|
|
1615
|
+
className: "border-b-0",
|
|
1574
1616
|
children: [
|
|
1575
|
-
/* @__PURE__ */ jsx(
|
|
1576
|
-
/* @__PURE__ */ jsx(
|
|
1577
|
-
|
|
1617
|
+
/* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
1618
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: items.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1619
|
+
Pressable,
|
|
1578
1620
|
{
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1621
|
+
href: getLinkUrl(item),
|
|
1622
|
+
className: "flex items-center gap-2 pl-4 text-sm text-muted-foreground hover:text-foreground",
|
|
1623
|
+
children: [
|
|
1624
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
1625
|
+
DynamicIcon,
|
|
1626
|
+
{
|
|
1627
|
+
name: item.iconName,
|
|
1628
|
+
size: 14
|
|
1629
|
+
}
|
|
1630
|
+
) : null),
|
|
1631
|
+
item.label
|
|
1632
|
+
]
|
|
1633
|
+
},
|
|
1634
|
+
`mobile-link-${index}-${itemIndex}`
|
|
1635
|
+
)) })
|
|
1583
1636
|
]
|
|
1584
1637
|
},
|
|
1585
1638
|
`mobile-menu-link-${index}`
|
|
@@ -1592,8 +1645,8 @@ var NavbarMegaMenu = ({
|
|
|
1592
1645
|
Pressable,
|
|
1593
1646
|
{
|
|
1594
1647
|
href: link.href,
|
|
1595
|
-
className: "flex
|
|
1596
|
-
children:
|
|
1648
|
+
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
1649
|
+
children: link.label
|
|
1597
1650
|
},
|
|
1598
1651
|
`mobile-menu-link-${index}`
|
|
1599
1652
|
);
|
|
@@ -1601,22 +1654,11 @@ var NavbarMegaMenu = ({
|
|
|
1601
1654
|
/* @__PURE__ */ jsx(
|
|
1602
1655
|
"div",
|
|
1603
1656
|
{
|
|
1604
|
-
className: cn(
|
|
1605
|
-
"mx-8 mt-auto flex flex-col gap-4 py-12",
|
|
1606
|
-
actionsClassName
|
|
1607
|
-
),
|
|
1657
|
+
className: cn("mt-6 flex flex-col gap-4", actionsClassName),
|
|
1608
1658
|
children: renderActions()
|
|
1609
1659
|
}
|
|
1610
1660
|
)
|
|
1611
|
-
]
|
|
1612
|
-
}
|
|
1613
|
-
),
|
|
1614
|
-
open && activeSubmenu && hasDropdownItems(activeSubmenu) && /* @__PURE__ */ jsx(
|
|
1615
|
-
MobileSubmenu,
|
|
1616
|
-
{
|
|
1617
|
-
submenu: activeSubmenu,
|
|
1618
|
-
mobileMenuClassName,
|
|
1619
|
-
optixFlowConfig
|
|
1661
|
+
] })
|
|
1620
1662
|
}
|
|
1621
1663
|
)
|
|
1622
1664
|
]
|
|
@@ -1378,18 +1378,18 @@ var NavbarMultiColumnGroups = ({
|
|
|
1378
1378
|
sectionContainerMaxWidth,
|
|
1379
1379
|
spacingOverride
|
|
1380
1380
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1381
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1381
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1382
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1383
|
+
Section,
|
|
1384
|
+
{
|
|
1385
|
+
background,
|
|
1386
|
+
spacing: spacingOverride ?? spacing,
|
|
1387
|
+
className: sectionClasses,
|
|
1388
|
+
pattern,
|
|
1389
|
+
patternOpacity,
|
|
1390
|
+
containerClassName: sectionContainerClassName,
|
|
1391
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1392
|
+
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(
|
|
1393
1393
|
"div",
|
|
1394
1394
|
{
|
|
1395
1395
|
className: cn(
|
|
@@ -1431,16 +1431,10 @@ var NavbarMultiColumnGroups = ({
|
|
|
1431
1431
|
{
|
|
1432
1432
|
className: "size-11",
|
|
1433
1433
|
variant: "ghost",
|
|
1434
|
+
size: "icon",
|
|
1434
1435
|
asButton: true,
|
|
1435
1436
|
onClick: handleMobileMenu,
|
|
1436
|
-
children:
|
|
1437
|
-
DynamicIcon,
|
|
1438
|
-
{
|
|
1439
|
-
name: "lucide/x",
|
|
1440
|
-
size: 22,
|
|
1441
|
-
className: "stroke-foreground"
|
|
1442
|
-
}
|
|
1443
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
1438
|
DynamicIcon,
|
|
1445
1439
|
{
|
|
1446
1440
|
name: "lucide/menu",
|
|
@@ -1452,20 +1446,20 @@ var NavbarMultiColumnGroups = ({
|
|
|
1452
1446
|
) })
|
|
1453
1447
|
]
|
|
1454
1448
|
}
|
|
1455
|
-
) }) }) })
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
);
|
|
1449
|
+
) }) }) })
|
|
1450
|
+
}
|
|
1451
|
+
),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1453
|
+
MobileNavigationMenu,
|
|
1454
|
+
{
|
|
1455
|
+
open,
|
|
1456
|
+
setOpen,
|
|
1457
|
+
navigation: navigation ?? [],
|
|
1458
|
+
authActions: mobileAuthActions,
|
|
1459
|
+
authActionsSlot: mobileAuthActionsSlot
|
|
1460
|
+
}
|
|
1461
|
+
)
|
|
1462
|
+
] });
|
|
1469
1463
|
};
|
|
1470
1464
|
var DesktopMenuItem = ({ item, index }) => {
|
|
1471
1465
|
if (item.groups) {
|
|
@@ -1547,7 +1541,6 @@ var MobileNavigationMenu = ({
|
|
|
1547
1541
|
open,
|
|
1548
1542
|
onClose: () => setOpen(false),
|
|
1549
1543
|
title: "Mobile Navigation",
|
|
1550
|
-
className: "dark",
|
|
1551
1544
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1552
1545
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem(item, index)) }),
|
|
1553
1546
|
renderMobileAuthActions
|
|
@@ -1564,12 +1557,12 @@ var renderMobileMenuItem = (item, index) => {
|
|
|
1564
1557
|
className: "border-b-0",
|
|
1565
1558
|
children: [
|
|
1566
1559
|
/* @__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 }),
|
|
1567
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "
|
|
1560
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: item.groups.flatMap(
|
|
1568
1561
|
(group, groupIndex) => group.links.map((link, linkIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1569
1562
|
Pressable,
|
|
1570
1563
|
{
|
|
1571
1564
|
href: link.url,
|
|
1572
|
-
className: "flex h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
|
|
1565
|
+
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",
|
|
1573
1566
|
children: [
|
|
1574
1567
|
link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1575
1568
|
DynamicIcon,
|
|
@@ -1355,18 +1355,18 @@ var NavbarMultiColumnGroups = ({
|
|
|
1355
1355
|
sectionContainerMaxWidth,
|
|
1356
1356
|
spacingOverride
|
|
1357
1357
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1358
|
-
return /* @__PURE__ */ jsxs(
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
/* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1358
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1359
|
+
/* @__PURE__ */ jsx(
|
|
1360
|
+
Section,
|
|
1361
|
+
{
|
|
1362
|
+
background,
|
|
1363
|
+
spacing: spacingOverride ?? spacing,
|
|
1364
|
+
className: sectionClasses,
|
|
1365
|
+
pattern,
|
|
1366
|
+
patternOpacity,
|
|
1367
|
+
containerClassName: sectionContainerClassName,
|
|
1368
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1369
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1370
1370
|
"div",
|
|
1371
1371
|
{
|
|
1372
1372
|
className: cn(
|
|
@@ -1408,16 +1408,10 @@ var NavbarMultiColumnGroups = ({
|
|
|
1408
1408
|
{
|
|
1409
1409
|
className: "size-11",
|
|
1410
1410
|
variant: "ghost",
|
|
1411
|
+
size: "icon",
|
|
1411
1412
|
asButton: true,
|
|
1412
1413
|
onClick: handleMobileMenu,
|
|
1413
|
-
children:
|
|
1414
|
-
DynamicIcon,
|
|
1415
|
-
{
|
|
1416
|
-
name: "lucide/x",
|
|
1417
|
-
size: 22,
|
|
1418
|
-
className: "stroke-foreground"
|
|
1419
|
-
}
|
|
1420
|
-
) : /* @__PURE__ */ jsx(
|
|
1414
|
+
children: /* @__PURE__ */ jsx(
|
|
1421
1415
|
DynamicIcon,
|
|
1422
1416
|
{
|
|
1423
1417
|
name: "lucide/menu",
|
|
@@ -1429,20 +1423,20 @@ var NavbarMultiColumnGroups = ({
|
|
|
1429
1423
|
) })
|
|
1430
1424
|
]
|
|
1431
1425
|
}
|
|
1432
|
-
) }) }) })
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
);
|
|
1426
|
+
) }) }) })
|
|
1427
|
+
}
|
|
1428
|
+
),
|
|
1429
|
+
/* @__PURE__ */ jsx(
|
|
1430
|
+
MobileNavigationMenu,
|
|
1431
|
+
{
|
|
1432
|
+
open,
|
|
1433
|
+
setOpen,
|
|
1434
|
+
navigation: navigation ?? [],
|
|
1435
|
+
authActions: mobileAuthActions,
|
|
1436
|
+
authActionsSlot: mobileAuthActionsSlot
|
|
1437
|
+
}
|
|
1438
|
+
)
|
|
1439
|
+
] });
|
|
1446
1440
|
};
|
|
1447
1441
|
var DesktopMenuItem = ({ item, index }) => {
|
|
1448
1442
|
if (item.groups) {
|
|
@@ -1524,7 +1518,6 @@ var MobileNavigationMenu = ({
|
|
|
1524
1518
|
open,
|
|
1525
1519
|
onClose: () => setOpen(false),
|
|
1526
1520
|
title: "Mobile Navigation",
|
|
1527
|
-
className: "dark",
|
|
1528
1521
|
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1529
1522
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem(item, index)) }),
|
|
1530
1523
|
renderMobileAuthActions
|
|
@@ -1541,12 +1534,12 @@ var renderMobileMenuItem = (item, index) => {
|
|
|
1541
1534
|
className: "border-b-0",
|
|
1542
1535
|
children: [
|
|
1543
1536
|
/* @__PURE__ */ 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 }),
|
|
1544
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "
|
|
1537
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: item.groups.flatMap(
|
|
1545
1538
|
(group, groupIndex) => group.links.map((link, linkIndex) => /* @__PURE__ */ jsxs(
|
|
1546
1539
|
Pressable,
|
|
1547
1540
|
{
|
|
1548
1541
|
href: link.url,
|
|
1549
|
-
className: "flex h-12 items-center gap-2 rounded-lg px-4 text-muted-foreground transition-colors duration-300 hover:bg-muted hover:text-foreground",
|
|
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",
|
|
1550
1543
|
children: [
|
|
1551
1544
|
link.icon ? link.icon : link.iconName ? /* @__PURE__ */ jsx(
|
|
1552
1545
|
DynamicIcon,
|
|
@@ -1313,27 +1313,30 @@ var NavbarPlatformResources = ({
|
|
|
1313
1313
|
const renderDropdownContent = (link) => {
|
|
1314
1314
|
const layout = link.layout || "simple-list";
|
|
1315
1315
|
if (layout === "simple-list") {
|
|
1316
|
-
return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "
|
|
1317
|
-
|
|
1316
|
+
return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "w-[400px] p-3", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1317
|
+
"li",
|
|
1318
1318
|
{
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1319
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1320
|
+
NavigationMenuLink,
|
|
1321
|
+
{
|
|
1322
|
+
href: getLinkUrl(item),
|
|
1323
|
+
className: "group/link flex-row gap-2 px-3 py-2 transition-colors duration-200",
|
|
1324
|
+
children: [
|
|
1325
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-8 shrink-0 rounded-lg border duration-400 fade-in group-hover/link:bg-background", children: item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1326
|
+
DynamicIcon,
|
|
1327
|
+
{
|
|
1328
|
+
name: item.iconName,
|
|
1329
|
+
size: 16,
|
|
1330
|
+
className: "m-auto group-hover/link:stroke-black"
|
|
1331
|
+
}
|
|
1332
|
+
) : null }),
|
|
1333
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
1334
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium", children: item.label }),
|
|
1335
|
+
item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-muted-foreground group-hover/link:text-foreground", children: item.description })
|
|
1336
|
+
] })
|
|
1337
|
+
]
|
|
1338
|
+
}
|
|
1339
|
+
)
|
|
1337
1340
|
},
|
|
1338
1341
|
`${typeof item.label === "string" ? item.label : "item"}-${itemIndex}`
|
|
1339
1342
|
)) }) });
|
|
@@ -1682,7 +1685,7 @@ var NavbarPlatformResources = ({
|
|
|
1682
1685
|
className: "border-b-0",
|
|
1683
1686
|
children: [
|
|
1684
1687
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
1685
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "
|
|
1688
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: link.links?.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1686
1689
|
Pressable,
|
|
1687
1690
|
{
|
|
1688
1691
|
href: getLinkUrl(item),
|