@opensite/ui 1.1.4 → 1.1.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 +2 -2
- package/dist/navbar-animated-preview.js +2 -2
- package/dist/navbar-dark-icons.cjs +2 -2
- package/dist/navbar-dark-icons.js +2 -2
- package/dist/navbar-education-platform.cjs +2 -2
- package/dist/navbar-education-platform.js +2 -2
- package/dist/navbar-feature-grid.cjs +2 -2
- package/dist/navbar-feature-grid.js +2 -2
- package/dist/navbar-mega-menu.cjs +62 -19
- package/dist/navbar-mega-menu.js +62 -19
- package/dist/navbar-sticky-compact.cjs +1 -1
- package/dist/navbar-sticky-compact.js +1 -1
- package/dist/navbar-tabbed-sections.cjs +4 -4
- package/dist/navbar-tabbed-sections.js +4 -4
- package/dist/registry.cjs +75 -32
- package/dist/registry.js +75 -32
- package/package.json +1 -1
|
@@ -1542,7 +1542,7 @@ var DesktopMenuItem = ({
|
|
|
1542
1542
|
if (hasDropdown) {
|
|
1543
1543
|
return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
1544
1544
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
|
|
1545
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-
|
|
1545
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[calc(100vw-2rem)] max-w-7xl animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: renderDropdownContent(item, optixFlowConfig) }) })
|
|
1546
1546
|
] }, `desktop-menu-item-${index}`);
|
|
1547
1547
|
}
|
|
1548
1548
|
return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1697,7 +1697,7 @@ var GroupLinks = ({ groupLinks }) => {
|
|
|
1697
1697
|
};
|
|
1698
1698
|
if (!groupLinks) return null;
|
|
1699
1699
|
let linkIndex = 0;
|
|
1700
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-
|
|
1700
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start gap-4 w-full", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
1701
1701
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xs", children: group.label }),
|
|
1702
1702
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-4 w-full", children: group.links.map((link, index2) => {
|
|
1703
1703
|
const idx = linkIndex++;
|
|
@@ -1517,7 +1517,7 @@ var DesktopMenuItem = ({
|
|
|
1517
1517
|
if (hasDropdown) {
|
|
1518
1518
|
return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
1519
1519
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
|
|
1520
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsx("div", { className: "w-
|
|
1520
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsx("div", { className: "w-[calc(100vw-2rem)] max-w-7xl animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: renderDropdownContent(item, optixFlowConfig) }) })
|
|
1521
1521
|
] }, `desktop-menu-item-${index}`);
|
|
1522
1522
|
}
|
|
1523
1523
|
return /* @__PURE__ */ jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsx(
|
|
@@ -1672,7 +1672,7 @@ var GroupLinks = ({ groupLinks }) => {
|
|
|
1672
1672
|
};
|
|
1673
1673
|
if (!groupLinks) return null;
|
|
1674
1674
|
let linkIndex = 0;
|
|
1675
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-
|
|
1675
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-start gap-4 w-full", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
1676
1676
|
/* @__PURE__ */ jsx("div", { className: "mb-4 text-xs", children: group.label }),
|
|
1677
1677
|
/* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-4 w-full", children: group.links.map((link, index2) => {
|
|
1678
1678
|
const idx = linkIndex++;
|
|
@@ -1569,7 +1569,7 @@ var MobileNavigationMenu = ({
|
|
|
1569
1569
|
onClose: () => setOpen(false),
|
|
1570
1570
|
title: "Mobile Navigation",
|
|
1571
1571
|
className: "dark",
|
|
1572
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between gap-
|
|
1572
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between gap-4", children: [
|
|
1573
1573
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem(item, index)) }),
|
|
1574
1574
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 pb-20", children: renderMobileAuthActions })
|
|
1575
1575
|
] }) })
|
|
@@ -1587,7 +1587,7 @@ var renderMobileMenuItem = (item, index) => {
|
|
|
1587
1587
|
Pressable,
|
|
1588
1588
|
{
|
|
1589
1589
|
href: item.url,
|
|
1590
|
-
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1
|
|
1590
|
+
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1",
|
|
1591
1591
|
children: item.title
|
|
1592
1592
|
},
|
|
1593
1593
|
`nav-link-${index}`
|
|
@@ -1546,7 +1546,7 @@ var MobileNavigationMenu = ({
|
|
|
1546
1546
|
onClose: () => setOpen(false),
|
|
1547
1547
|
title: "Mobile Navigation",
|
|
1548
1548
|
className: "dark",
|
|
1549
|
-
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between gap-
|
|
1549
|
+
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between gap-4", children: [
|
|
1550
1550
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem(item, index)) }),
|
|
1551
1551
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 pb-20", children: renderMobileAuthActions })
|
|
1552
1552
|
] }) })
|
|
@@ -1564,7 +1564,7 @@ var renderMobileMenuItem = (item, index) => {
|
|
|
1564
1564
|
Pressable,
|
|
1565
1565
|
{
|
|
1566
1566
|
href: item.url,
|
|
1567
|
-
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1
|
|
1567
|
+
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1",
|
|
1568
1568
|
children: item.title
|
|
1569
1569
|
},
|
|
1570
1570
|
`nav-link-${index}`
|
|
@@ -1479,8 +1479,8 @@ var NavbarEducationPlatform = ({
|
|
|
1479
1479
|
open: isOpen,
|
|
1480
1480
|
onClose: handleMobileMenuClose,
|
|
1481
1481
|
menu: menu ?? [],
|
|
1482
|
-
mobileAuthActions,
|
|
1483
|
-
mobileAuthActionsSlot,
|
|
1482
|
+
mobileAuthActions: mobileAuthActions ?? authActions,
|
|
1483
|
+
mobileAuthActionsSlot: mobileAuthActionsSlot ?? authActionsSlot,
|
|
1484
1484
|
mobileMenuClassName
|
|
1485
1485
|
}
|
|
1486
1486
|
)
|
|
@@ -1455,8 +1455,8 @@ var NavbarEducationPlatform = ({
|
|
|
1455
1455
|
open: isOpen,
|
|
1456
1456
|
onClose: handleMobileMenuClose,
|
|
1457
1457
|
menu: menu ?? [],
|
|
1458
|
-
mobileAuthActions,
|
|
1459
|
-
mobileAuthActionsSlot,
|
|
1458
|
+
mobileAuthActions: mobileAuthActions ?? authActions,
|
|
1459
|
+
mobileAuthActionsSlot: mobileAuthActionsSlot ?? authActionsSlot,
|
|
1460
1460
|
mobileMenuClassName
|
|
1461
1461
|
}
|
|
1462
1462
|
)
|
|
@@ -1378,11 +1378,11 @@ var NavbarFeatureGrid = ({
|
|
|
1378
1378
|
children: /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuList, { children: [
|
|
1379
1379
|
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
1380
1380
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { children: "Features" }),
|
|
1381
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-[600px] grid-cols-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1381
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-[600px] grid-cols-2 space-x-4 space-y-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1382
1382
|
NavigationMenuLink,
|
|
1383
1383
|
{
|
|
1384
1384
|
href: feature.href,
|
|
1385
|
-
className: "rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
1385
|
+
className: "w-full justify-start rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
1386
1386
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1387
1387
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
1388
1388
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
@@ -1355,11 +1355,11 @@ var NavbarFeatureGrid = ({
|
|
|
1355
1355
|
children: /* @__PURE__ */ jsxs(NavigationMenuList, { children: [
|
|
1356
1356
|
features && features.length > 0 && /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
1357
1357
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Features" }),
|
|
1358
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("div", { className: "grid w-[600px] grid-cols-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsx(
|
|
1358
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("div", { className: "grid w-[600px] grid-cols-2 space-x-4 space-y-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsx(
|
|
1359
1359
|
NavigationMenuLink,
|
|
1360
1360
|
{
|
|
1361
1361
|
href: feature.href,
|
|
1362
|
-
className: "rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
1362
|
+
className: "w-full justify-start rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
1363
1363
|
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
1364
1364
|
/* @__PURE__ */ jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
1365
1365
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
@@ -1643,7 +1643,10 @@ var NavbarMegaMenu = ({
|
|
|
1643
1643
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
1644
1644
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
|
|
1645
1645
|
if (hasDropdownItems(link)) {
|
|
1646
|
-
const
|
|
1646
|
+
const hasGroups = link.dropdownGroups && link.dropdownGroups.length > 0;
|
|
1647
|
+
const items = hasGroups ? link.dropdownGroups.flatMap(
|
|
1648
|
+
(group) => group.links || []
|
|
1649
|
+
) : link.links || [];
|
|
1647
1650
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1648
1651
|
AccordionItem,
|
|
1649
1652
|
{
|
|
@@ -1651,24 +1654,63 @@ var NavbarMegaMenu = ({
|
|
|
1651
1654
|
className: "border-b-0",
|
|
1652
1655
|
children: [
|
|
1653
1656
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
1654
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children:
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1657
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: hasGroups ? (
|
|
1658
|
+
// Render with group headers
|
|
1659
|
+
link.dropdownGroups.map(
|
|
1660
|
+
(group, groupIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1661
|
+
"div",
|
|
1662
|
+
{
|
|
1663
|
+
className: "mb-4",
|
|
1664
|
+
children: [
|
|
1665
|
+
group.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 pl-4 text-xs font-medium tracking-wider uppercase text-muted-foreground", children: group.label }),
|
|
1666
|
+
(group.links || []).map(
|
|
1667
|
+
(item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1668
|
+
Pressable,
|
|
1669
|
+
{
|
|
1670
|
+
href: getLinkUrl(item),
|
|
1671
|
+
onClick: () => setOpen(false),
|
|
1672
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1673
|
+
children: [
|
|
1674
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1675
|
+
DynamicIcon,
|
|
1676
|
+
{
|
|
1677
|
+
name: item.iconName,
|
|
1678
|
+
size: 14
|
|
1679
|
+
}
|
|
1680
|
+
) : null),
|
|
1681
|
+
item.label
|
|
1682
|
+
]
|
|
1683
|
+
},
|
|
1684
|
+
`mobile-group-link-${groupIndex}-${itemIndex}`
|
|
1685
|
+
)
|
|
1686
|
+
)
|
|
1687
|
+
]
|
|
1688
|
+
},
|
|
1689
|
+
`mobile-group-${groupIndex}`
|
|
1690
|
+
)
|
|
1691
|
+
)
|
|
1692
|
+
) : (
|
|
1693
|
+
// Render flat list
|
|
1694
|
+
items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1695
|
+
Pressable,
|
|
1696
|
+
{
|
|
1697
|
+
href: getLinkUrl(item),
|
|
1698
|
+
onClick: () => setOpen(false),
|
|
1699
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1700
|
+
children: [
|
|
1701
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1702
|
+
DynamicIcon,
|
|
1703
|
+
{
|
|
1704
|
+
name: item.iconName,
|
|
1705
|
+
size: 14
|
|
1706
|
+
}
|
|
1707
|
+
) : null),
|
|
1708
|
+
item.label
|
|
1709
|
+
]
|
|
1710
|
+
},
|
|
1711
|
+
`mobile-link-${index}-${itemIndex}`
|
|
1712
|
+
))
|
|
1713
|
+
) })
|
|
1672
1714
|
]
|
|
1673
1715
|
},
|
|
1674
1716
|
`mobile-menu-link-${index}`
|
|
@@ -1681,6 +1723,7 @@ var NavbarMegaMenu = ({
|
|
|
1681
1723
|
Pressable,
|
|
1682
1724
|
{
|
|
1683
1725
|
href: link.href,
|
|
1726
|
+
onClick: () => setOpen(false),
|
|
1684
1727
|
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
1685
1728
|
children: link.label
|
|
1686
1729
|
},
|
package/dist/navbar-mega-menu.js
CHANGED
|
@@ -1620,7 +1620,10 @@ var NavbarMegaMenu = ({
|
|
|
1620
1620
|
children: /* @__PURE__ */ jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
1621
1621
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
|
|
1622
1622
|
if (hasDropdownItems(link)) {
|
|
1623
|
-
const
|
|
1623
|
+
const hasGroups = link.dropdownGroups && link.dropdownGroups.length > 0;
|
|
1624
|
+
const items = hasGroups ? link.dropdownGroups.flatMap(
|
|
1625
|
+
(group) => group.links || []
|
|
1626
|
+
) : link.links || [];
|
|
1624
1627
|
return /* @__PURE__ */ jsxs(
|
|
1625
1628
|
AccordionItem,
|
|
1626
1629
|
{
|
|
@@ -1628,24 +1631,63 @@ var NavbarMegaMenu = ({
|
|
|
1628
1631
|
className: "border-b-0",
|
|
1629
1632
|
children: [
|
|
1630
1633
|
/* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
1631
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children:
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1634
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: hasGroups ? (
|
|
1635
|
+
// Render with group headers
|
|
1636
|
+
link.dropdownGroups.map(
|
|
1637
|
+
(group, groupIndex) => /* @__PURE__ */ jsxs(
|
|
1638
|
+
"div",
|
|
1639
|
+
{
|
|
1640
|
+
className: "mb-4",
|
|
1641
|
+
children: [
|
|
1642
|
+
group.label && /* @__PURE__ */ jsx("div", { className: "mb-2 pl-4 text-xs font-medium tracking-wider uppercase text-muted-foreground", children: group.label }),
|
|
1643
|
+
(group.links || []).map(
|
|
1644
|
+
(item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1645
|
+
Pressable,
|
|
1646
|
+
{
|
|
1647
|
+
href: getLinkUrl(item),
|
|
1648
|
+
onClick: () => setOpen(false),
|
|
1649
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1650
|
+
children: [
|
|
1651
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
1652
|
+
DynamicIcon,
|
|
1653
|
+
{
|
|
1654
|
+
name: item.iconName,
|
|
1655
|
+
size: 14
|
|
1656
|
+
}
|
|
1657
|
+
) : null),
|
|
1658
|
+
item.label
|
|
1659
|
+
]
|
|
1660
|
+
},
|
|
1661
|
+
`mobile-group-link-${groupIndex}-${itemIndex}`
|
|
1662
|
+
)
|
|
1663
|
+
)
|
|
1664
|
+
]
|
|
1665
|
+
},
|
|
1666
|
+
`mobile-group-${groupIndex}`
|
|
1667
|
+
)
|
|
1668
|
+
)
|
|
1669
|
+
) : (
|
|
1670
|
+
// Render flat list
|
|
1671
|
+
items.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
1672
|
+
Pressable,
|
|
1673
|
+
{
|
|
1674
|
+
href: getLinkUrl(item),
|
|
1675
|
+
onClick: () => setOpen(false),
|
|
1676
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1677
|
+
children: [
|
|
1678
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
1679
|
+
DynamicIcon,
|
|
1680
|
+
{
|
|
1681
|
+
name: item.iconName,
|
|
1682
|
+
size: 14
|
|
1683
|
+
}
|
|
1684
|
+
) : null),
|
|
1685
|
+
item.label
|
|
1686
|
+
]
|
|
1687
|
+
},
|
|
1688
|
+
`mobile-link-${index}-${itemIndex}`
|
|
1689
|
+
))
|
|
1690
|
+
) })
|
|
1649
1691
|
]
|
|
1650
1692
|
},
|
|
1651
1693
|
`mobile-menu-link-${index}`
|
|
@@ -1658,6 +1700,7 @@ var NavbarMegaMenu = ({
|
|
|
1658
1700
|
Pressable,
|
|
1659
1701
|
{
|
|
1660
1702
|
href: link.href,
|
|
1703
|
+
onClick: () => setOpen(false),
|
|
1661
1704
|
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
1662
1705
|
children: link.label
|
|
1663
1706
|
},
|
|
@@ -1520,7 +1520,7 @@ var MobileNavigationMenu = ({
|
|
|
1520
1520
|
);
|
|
1521
1521
|
}) });
|
|
1522
1522
|
}, [authActionsSlot, authActions]);
|
|
1523
|
-
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-
|
|
1523
|
+
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-0", children: [
|
|
1524
1524
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
1525
1525
|
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1526
1526
|
AccordionItem,
|
|
@@ -1497,7 +1497,7 @@ var MobileNavigationMenu = ({
|
|
|
1497
1497
|
);
|
|
1498
1498
|
}) });
|
|
1499
1499
|
}, [authActionsSlot, authActions]);
|
|
1500
|
-
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-
|
|
1500
|
+
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-0", children: [
|
|
1501
1501
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
1502
1502
|
(item, index) => item.items ? /* @__PURE__ */ jsxs(
|
|
1503
1503
|
AccordionItem,
|
|
@@ -1413,11 +1413,11 @@ var NavbarTabbedSections = ({
|
|
|
1413
1413
|
(item, index) => item.tabs ? /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
1414
1414
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "bg-transparent hover:bg-muted", children: item.title }),
|
|
1415
1415
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(Tabs, { defaultValue: item.tabs[0]?.id, className: "w-[600px]", children: [
|
|
1416
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1416
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pt-2", children: /* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1417
1417
|
TabsTrigger,
|
|
1418
1418
|
{
|
|
1419
1419
|
value: tab.id,
|
|
1420
|
-
className: "
|
|
1420
|
+
className: "rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary data-[state=active]:text-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
|
|
1421
1421
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1422
1422
|
tab.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: tab.icon, size: 16 }),
|
|
1423
1423
|
tab.title
|
|
@@ -1430,12 +1430,12 @@ var NavbarTabbedSections = ({
|
|
|
1430
1430
|
NavigationMenuLink,
|
|
1431
1431
|
{
|
|
1432
1432
|
asChild: true,
|
|
1433
|
-
className: "w-full",
|
|
1433
|
+
className: "w-full justify-start",
|
|
1434
1434
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1435
1435
|
Pressable,
|
|
1436
1436
|
{
|
|
1437
1437
|
href: link.url,
|
|
1438
|
-
className: "w-full flex items-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
1438
|
+
className: "w-full flex items-start justify-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
1439
1439
|
children: [
|
|
1440
1440
|
link.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
|
|
1441
1441
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -1389,11 +1389,11 @@ var NavbarTabbedSections = ({
|
|
|
1389
1389
|
(item, index) => item.tabs ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
1390
1390
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "bg-transparent hover:bg-muted", children: item.title }),
|
|
1391
1391
|
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: item.tabs[0]?.id, className: "w-[600px]", children: [
|
|
1392
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
1392
|
+
/* @__PURE__ */ jsx("div", { className: "px-4 pt-2", children: /* @__PURE__ */ jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsx(
|
|
1393
1393
|
TabsTrigger,
|
|
1394
1394
|
{
|
|
1395
1395
|
value: tab.id,
|
|
1396
|
-
className: "
|
|
1396
|
+
className: "rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary data-[state=active]:text-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
|
|
1397
1397
|
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1398
1398
|
tab.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: tab.icon, size: 16 }),
|
|
1399
1399
|
tab.title
|
|
@@ -1406,12 +1406,12 @@ var NavbarTabbedSections = ({
|
|
|
1406
1406
|
NavigationMenuLink,
|
|
1407
1407
|
{
|
|
1408
1408
|
asChild: true,
|
|
1409
|
-
className: "w-full",
|
|
1409
|
+
className: "w-full justify-start",
|
|
1410
1410
|
children: /* @__PURE__ */ jsxs(
|
|
1411
1411
|
Pressable,
|
|
1412
1412
|
{
|
|
1413
1413
|
href: link.url,
|
|
1414
|
-
className: "w-full flex items-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
1414
|
+
className: "w-full flex items-start justify-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
1415
1415
|
children: [
|
|
1416
1416
|
link.icon && /* @__PURE__ */ jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
|
|
1417
1417
|
/* @__PURE__ */ jsxs("div", { children: [
|
package/dist/registry.cjs
CHANGED
|
@@ -58042,7 +58042,10 @@ var NavbarMegaMenu = ({
|
|
|
58042
58042
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
58043
58043
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
|
|
58044
58044
|
if (hasDropdownItems(link)) {
|
|
58045
|
-
const
|
|
58045
|
+
const hasGroups = link.dropdownGroups && link.dropdownGroups.length > 0;
|
|
58046
|
+
const items = hasGroups ? link.dropdownGroups.flatMap(
|
|
58047
|
+
(group) => group.links || []
|
|
58048
|
+
) : link.links || [];
|
|
58046
58049
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58047
58050
|
AccordionItem,
|
|
58048
58051
|
{
|
|
@@ -58050,24 +58053,63 @@ var NavbarMegaMenu = ({
|
|
|
58050
58053
|
className: "border-b-0",
|
|
58051
58054
|
children: [
|
|
58052
58055
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
58053
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children:
|
|
58054
|
-
|
|
58055
|
-
|
|
58056
|
-
|
|
58057
|
-
|
|
58058
|
-
|
|
58059
|
-
|
|
58060
|
-
|
|
58061
|
-
|
|
58062
|
-
|
|
58063
|
-
|
|
58064
|
-
|
|
58065
|
-
|
|
58066
|
-
|
|
58067
|
-
|
|
58068
|
-
|
|
58069
|
-
|
|
58070
|
-
|
|
58056
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none", children: hasGroups ? (
|
|
58057
|
+
// Render with group headers
|
|
58058
|
+
link.dropdownGroups.map(
|
|
58059
|
+
(group, groupIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58060
|
+
"div",
|
|
58061
|
+
{
|
|
58062
|
+
className: "mb-4",
|
|
58063
|
+
children: [
|
|
58064
|
+
group.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 pl-4 text-xs font-medium tracking-wider uppercase text-muted-foreground", children: group.label }),
|
|
58065
|
+
(group.links || []).map(
|
|
58066
|
+
(item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58067
|
+
Pressable,
|
|
58068
|
+
{
|
|
58069
|
+
href: getLinkUrl(item),
|
|
58070
|
+
onClick: () => setOpen(false),
|
|
58071
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
58072
|
+
children: [
|
|
58073
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58074
|
+
DynamicIcon,
|
|
58075
|
+
{
|
|
58076
|
+
name: item.iconName,
|
|
58077
|
+
size: 14
|
|
58078
|
+
}
|
|
58079
|
+
) : null),
|
|
58080
|
+
item.label
|
|
58081
|
+
]
|
|
58082
|
+
},
|
|
58083
|
+
`mobile-group-link-${groupIndex}-${itemIndex}`
|
|
58084
|
+
)
|
|
58085
|
+
)
|
|
58086
|
+
]
|
|
58087
|
+
},
|
|
58088
|
+
`mobile-group-${groupIndex}`
|
|
58089
|
+
)
|
|
58090
|
+
)
|
|
58091
|
+
) : (
|
|
58092
|
+
// Render flat list
|
|
58093
|
+
items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58094
|
+
Pressable,
|
|
58095
|
+
{
|
|
58096
|
+
href: getLinkUrl(item),
|
|
58097
|
+
onClick: () => setOpen(false),
|
|
58098
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
58099
|
+
children: [
|
|
58100
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58101
|
+
DynamicIcon,
|
|
58102
|
+
{
|
|
58103
|
+
name: item.iconName,
|
|
58104
|
+
size: 14
|
|
58105
|
+
}
|
|
58106
|
+
) : null),
|
|
58107
|
+
item.label
|
|
58108
|
+
]
|
|
58109
|
+
},
|
|
58110
|
+
`mobile-link-${index}-${itemIndex}`
|
|
58111
|
+
))
|
|
58112
|
+
) })
|
|
58071
58113
|
]
|
|
58072
58114
|
},
|
|
58073
58115
|
`mobile-menu-link-${index}`
|
|
@@ -58080,6 +58122,7 @@ var NavbarMegaMenu = ({
|
|
|
58080
58122
|
Pressable,
|
|
58081
58123
|
{
|
|
58082
58124
|
href: link.href,
|
|
58125
|
+
onClick: () => setOpen(false),
|
|
58083
58126
|
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
58084
58127
|
children: link.label
|
|
58085
58128
|
},
|
|
@@ -58959,11 +59002,11 @@ var NavbarFeatureGrid = ({
|
|
|
58959
59002
|
children: /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuList, { children: [
|
|
58960
59003
|
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
58961
59004
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { children: "Features" }),
|
|
58962
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-[600px] grid-cols-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
59005
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-[600px] grid-cols-2 space-x-4 space-y-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
58963
59006
|
NavigationMenuLink,
|
|
58964
59007
|
{
|
|
58965
59008
|
href: feature.href,
|
|
58966
|
-
className: "rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
59009
|
+
className: "w-full justify-start rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
58967
59010
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
58968
59011
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
58969
59012
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
@@ -60425,7 +60468,7 @@ var MobileNavigationMenu3 = ({
|
|
|
60425
60468
|
onClose: () => setOpen(false),
|
|
60426
60469
|
title: "Mobile Navigation",
|
|
60427
60470
|
className: "dark",
|
|
60428
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between gap-
|
|
60471
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between gap-4", children: [
|
|
60429
60472
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem3(item, index)) }),
|
|
60430
60473
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 pb-20", children: renderMobileAuthActions })
|
|
60431
60474
|
] }) })
|
|
@@ -60443,7 +60486,7 @@ var renderMobileMenuItem3 = (item, index) => {
|
|
|
60443
60486
|
Pressable,
|
|
60444
60487
|
{
|
|
60445
60488
|
href: item.url,
|
|
60446
|
-
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1
|
|
60489
|
+
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1",
|
|
60447
60490
|
children: item.title
|
|
60448
60491
|
},
|
|
60449
60492
|
`nav-link-${index}`
|
|
@@ -60673,7 +60716,7 @@ var DesktopMenuItem5 = ({
|
|
|
60673
60716
|
if (hasDropdown) {
|
|
60674
60717
|
return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
60675
60718
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
|
|
60676
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-
|
|
60719
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[calc(100vw-2rem)] max-w-7xl animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: renderDropdownContent2(item, optixFlowConfig) }) })
|
|
60677
60720
|
] }, `desktop-menu-item-${index}`);
|
|
60678
60721
|
}
|
|
60679
60722
|
return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -60828,7 +60871,7 @@ var GroupLinks = ({ groupLinks }) => {
|
|
|
60828
60871
|
};
|
|
60829
60872
|
if (!groupLinks) return null;
|
|
60830
60873
|
let linkIndex = 0;
|
|
60831
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-
|
|
60874
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start gap-4 w-full", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
60832
60875
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-xs", children: group.label }),
|
|
60833
60876
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-4 w-full", children: group.links.map((link, index2) => {
|
|
60834
60877
|
const idx = linkIndex++;
|
|
@@ -62143,8 +62186,8 @@ var NavbarEducationPlatform = ({
|
|
|
62143
62186
|
open: isOpen,
|
|
62144
62187
|
onClose: handleMobileMenuClose,
|
|
62145
62188
|
menu: menu ?? [],
|
|
62146
|
-
mobileAuthActions,
|
|
62147
|
-
mobileAuthActionsSlot,
|
|
62189
|
+
mobileAuthActions: mobileAuthActions ?? authActions,
|
|
62190
|
+
mobileAuthActionsSlot: mobileAuthActionsSlot ?? authActionsSlot,
|
|
62148
62191
|
mobileMenuClassName
|
|
62149
62192
|
}
|
|
62150
62193
|
)
|
|
@@ -62542,7 +62585,7 @@ var MobileNavigationMenu9 = ({
|
|
|
62542
62585
|
);
|
|
62543
62586
|
}) });
|
|
62544
62587
|
}, [authActionsSlot, authActions]);
|
|
62545
|
-
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-
|
|
62588
|
+
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-0", children: [
|
|
62546
62589
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
62547
62590
|
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
62548
62591
|
AccordionItem,
|
|
@@ -63572,11 +63615,11 @@ var NavbarTabbedSections = ({
|
|
|
63572
63615
|
(item, index) => item.tabs ? /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
63573
63616
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { className: "bg-transparent hover:bg-muted", children: item.title }),
|
|
63574
63617
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(Tabs, { defaultValue: item.tabs[0]?.id, className: "w-[600px]", children: [
|
|
63575
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
63618
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pt-2", children: /* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
63576
63619
|
TabsTrigger,
|
|
63577
63620
|
{
|
|
63578
63621
|
value: tab.id,
|
|
63579
|
-
className: "
|
|
63622
|
+
className: "rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary data-[state=active]:text-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
|
|
63580
63623
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
63581
63624
|
tab.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: tab.icon, size: 16 }),
|
|
63582
63625
|
tab.title
|
|
@@ -63589,12 +63632,12 @@ var NavbarTabbedSections = ({
|
|
|
63589
63632
|
NavigationMenuLink,
|
|
63590
63633
|
{
|
|
63591
63634
|
asChild: true,
|
|
63592
|
-
className: "w-full",
|
|
63635
|
+
className: "w-full justify-start",
|
|
63593
63636
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
63594
63637
|
Pressable,
|
|
63595
63638
|
{
|
|
63596
63639
|
href: link.url,
|
|
63597
|
-
className: "w-full flex items-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
63640
|
+
className: "w-full flex items-start justify-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
63598
63641
|
children: [
|
|
63599
63642
|
link.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
|
|
63600
63643
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
package/dist/registry.js
CHANGED
|
@@ -58002,7 +58002,10 @@ var NavbarMegaMenu = ({
|
|
|
58002
58002
|
children: /* @__PURE__ */ jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
58003
58003
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks?.map((link, index) => {
|
|
58004
58004
|
if (hasDropdownItems(link)) {
|
|
58005
|
-
const
|
|
58005
|
+
const hasGroups = link.dropdownGroups && link.dropdownGroups.length > 0;
|
|
58006
|
+
const items = hasGroups ? link.dropdownGroups.flatMap(
|
|
58007
|
+
(group) => group.links || []
|
|
58008
|
+
) : link.links || [];
|
|
58006
58009
|
return /* @__PURE__ */ jsxs(
|
|
58007
58010
|
AccordionItem,
|
|
58008
58011
|
{
|
|
@@ -58010,24 +58013,63 @@ var NavbarMegaMenu = ({
|
|
|
58010
58013
|
className: "border-b-0",
|
|
58011
58014
|
children: [
|
|
58012
58015
|
/* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: link.label }),
|
|
58013
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children:
|
|
58014
|
-
|
|
58015
|
-
|
|
58016
|
-
|
|
58017
|
-
|
|
58018
|
-
|
|
58019
|
-
|
|
58020
|
-
|
|
58021
|
-
|
|
58022
|
-
|
|
58023
|
-
|
|
58024
|
-
|
|
58025
|
-
|
|
58026
|
-
|
|
58027
|
-
|
|
58028
|
-
|
|
58029
|
-
|
|
58030
|
-
|
|
58016
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none", children: hasGroups ? (
|
|
58017
|
+
// Render with group headers
|
|
58018
|
+
link.dropdownGroups.map(
|
|
58019
|
+
(group, groupIndex) => /* @__PURE__ */ jsxs(
|
|
58020
|
+
"div",
|
|
58021
|
+
{
|
|
58022
|
+
className: "mb-4",
|
|
58023
|
+
children: [
|
|
58024
|
+
group.label && /* @__PURE__ */ jsx("div", { className: "mb-2 pl-4 text-xs font-medium tracking-wider uppercase text-muted-foreground", children: group.label }),
|
|
58025
|
+
(group.links || []).map(
|
|
58026
|
+
(item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
58027
|
+
Pressable,
|
|
58028
|
+
{
|
|
58029
|
+
href: getLinkUrl(item),
|
|
58030
|
+
onClick: () => setOpen(false),
|
|
58031
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
58032
|
+
children: [
|
|
58033
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
58034
|
+
DynamicIcon,
|
|
58035
|
+
{
|
|
58036
|
+
name: item.iconName,
|
|
58037
|
+
size: 14
|
|
58038
|
+
}
|
|
58039
|
+
) : null),
|
|
58040
|
+
item.label
|
|
58041
|
+
]
|
|
58042
|
+
},
|
|
58043
|
+
`mobile-group-link-${groupIndex}-${itemIndex}`
|
|
58044
|
+
)
|
|
58045
|
+
)
|
|
58046
|
+
]
|
|
58047
|
+
},
|
|
58048
|
+
`mobile-group-${groupIndex}`
|
|
58049
|
+
)
|
|
58050
|
+
)
|
|
58051
|
+
) : (
|
|
58052
|
+
// Render flat list
|
|
58053
|
+
items.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
58054
|
+
Pressable,
|
|
58055
|
+
{
|
|
58056
|
+
href: getLinkUrl(item),
|
|
58057
|
+
onClick: () => setOpen(false),
|
|
58058
|
+
className: "flex items-center gap-2 rounded-md px-4 py-2 text-sm text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
58059
|
+
children: [
|
|
58060
|
+
(item.icon || item.iconName) && (item.icon ? item.icon : item.iconName ? /* @__PURE__ */ jsx(
|
|
58061
|
+
DynamicIcon,
|
|
58062
|
+
{
|
|
58063
|
+
name: item.iconName,
|
|
58064
|
+
size: 14
|
|
58065
|
+
}
|
|
58066
|
+
) : null),
|
|
58067
|
+
item.label
|
|
58068
|
+
]
|
|
58069
|
+
},
|
|
58070
|
+
`mobile-link-${index}-${itemIndex}`
|
|
58071
|
+
))
|
|
58072
|
+
) })
|
|
58031
58073
|
]
|
|
58032
58074
|
},
|
|
58033
58075
|
`mobile-menu-link-${index}`
|
|
@@ -58040,6 +58082,7 @@ var NavbarMegaMenu = ({
|
|
|
58040
58082
|
Pressable,
|
|
58041
58083
|
{
|
|
58042
58084
|
href: link.href,
|
|
58085
|
+
onClick: () => setOpen(false),
|
|
58043
58086
|
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
58044
58087
|
children: link.label
|
|
58045
58088
|
},
|
|
@@ -58919,11 +58962,11 @@ var NavbarFeatureGrid = ({
|
|
|
58919
58962
|
children: /* @__PURE__ */ jsxs(NavigationMenuList, { children: [
|
|
58920
58963
|
features && features.length > 0 && /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
58921
58964
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Features" }),
|
|
58922
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("div", { className: "grid w-[600px] grid-cols-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsx(
|
|
58965
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx("div", { className: "grid w-[600px] grid-cols-2 space-x-4 space-y-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsx(
|
|
58923
58966
|
NavigationMenuLink,
|
|
58924
58967
|
{
|
|
58925
58968
|
href: feature.href,
|
|
58926
|
-
className: "rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
58969
|
+
className: "w-full justify-start rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
58927
58970
|
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
58928
58971
|
/* @__PURE__ */ jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
58929
58972
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
@@ -60385,7 +60428,7 @@ var MobileNavigationMenu3 = ({
|
|
|
60385
60428
|
onClose: () => setOpen(false),
|
|
60386
60429
|
title: "Mobile Navigation",
|
|
60387
60430
|
className: "dark",
|
|
60388
|
-
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between gap-
|
|
60431
|
+
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between gap-4", children: [
|
|
60389
60432
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: navigation.map((item, index) => renderMobileMenuItem3(item, index)) }),
|
|
60390
60433
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 pb-20", children: renderMobileAuthActions })
|
|
60391
60434
|
] }) })
|
|
@@ -60403,7 +60446,7 @@ var renderMobileMenuItem3 = (item, index) => {
|
|
|
60403
60446
|
Pressable,
|
|
60404
60447
|
{
|
|
60405
60448
|
href: item.url,
|
|
60406
|
-
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1
|
|
60449
|
+
className: "flex h-15 items-center border-b p-0 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all focus-visible:ring-4 focus-visible:outline-1",
|
|
60407
60450
|
children: item.title
|
|
60408
60451
|
},
|
|
60409
60452
|
`nav-link-${index}`
|
|
@@ -60633,7 +60676,7 @@ var DesktopMenuItem5 = ({
|
|
|
60633
60676
|
if (hasDropdown) {
|
|
60634
60677
|
return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
|
|
60635
60678
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted data-[state=open]:bg-muted/50", children: item.label }),
|
|
60636
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsx("div", { className: "w-
|
|
60679
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { className: "hidden rounded-xl! border-0! p-0! xl:block", children: /* @__PURE__ */ jsx("div", { className: "w-[calc(100vw-2rem)] max-w-7xl animate-[fade-in-slide-down_0.35s_cubic-bezier(0.33,1,0.68,1)_forwards] px-8 pt-6 pb-12", children: renderDropdownContent2(item, optixFlowConfig) }) })
|
|
60637
60680
|
] }, `desktop-menu-item-${index}`);
|
|
60638
60681
|
}
|
|
60639
60682
|
return /* @__PURE__ */ jsx(NavigationMenuItem, { value: `${index}`, children: /* @__PURE__ */ jsx(
|
|
@@ -60788,7 +60831,7 @@ var GroupLinks = ({ groupLinks }) => {
|
|
|
60788
60831
|
};
|
|
60789
60832
|
if (!groupLinks) return null;
|
|
60790
60833
|
let linkIndex = 0;
|
|
60791
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-
|
|
60834
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-start gap-4 w-full", children: groupLinks.map((group, index1) => /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
60792
60835
|
/* @__PURE__ */ jsx("div", { className: "mb-4 text-xs", children: group.label }),
|
|
60793
60836
|
/* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-4 w-full", children: group.links.map((link, index2) => {
|
|
60794
60837
|
const idx = linkIndex++;
|
|
@@ -62103,8 +62146,8 @@ var NavbarEducationPlatform = ({
|
|
|
62103
62146
|
open: isOpen,
|
|
62104
62147
|
onClose: handleMobileMenuClose,
|
|
62105
62148
|
menu: menu ?? [],
|
|
62106
|
-
mobileAuthActions,
|
|
62107
|
-
mobileAuthActionsSlot,
|
|
62149
|
+
mobileAuthActions: mobileAuthActions ?? authActions,
|
|
62150
|
+
mobileAuthActionsSlot: mobileAuthActionsSlot ?? authActionsSlot,
|
|
62108
62151
|
mobileMenuClassName
|
|
62109
62152
|
}
|
|
62110
62153
|
)
|
|
@@ -62502,7 +62545,7 @@ var MobileNavigationMenu9 = ({
|
|
|
62502
62545
|
);
|
|
62503
62546
|
}) });
|
|
62504
62547
|
}, [authActionsSlot, authActions]);
|
|
62505
|
-
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-
|
|
62548
|
+
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-0", children: [
|
|
62506
62549
|
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuSlot ? menuSlot : menu.map(
|
|
62507
62550
|
(item, index) => item.items ? /* @__PURE__ */ jsxs(
|
|
62508
62551
|
AccordionItem,
|
|
@@ -63532,11 +63575,11 @@ var NavbarTabbedSections = ({
|
|
|
63532
63575
|
(item, index) => item.tabs ? /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
63533
63576
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { className: "bg-transparent hover:bg-muted", children: item.title }),
|
|
63534
63577
|
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: item.tabs[0]?.id, className: "w-[600px]", children: [
|
|
63535
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
63578
|
+
/* @__PURE__ */ jsx("div", { className: "px-4 pt-2", children: /* @__PURE__ */ jsx(TabsList, { className: "h-auto bg-transparent p-0", children: item.tabs.map((tab) => /* @__PURE__ */ jsx(
|
|
63536
63579
|
TabsTrigger,
|
|
63537
63580
|
{
|
|
63538
63581
|
value: tab.id,
|
|
63539
|
-
className: "
|
|
63582
|
+
className: "rounded-none border-b-2 border-transparent px-4 py-2 data-[state=active]:border-b-primary data-[state=active]:text-primary hover:border-b-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none",
|
|
63540
63583
|
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
63541
63584
|
tab.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: tab.icon, size: 16 }),
|
|
63542
63585
|
tab.title
|
|
@@ -63549,12 +63592,12 @@ var NavbarTabbedSections = ({
|
|
|
63549
63592
|
NavigationMenuLink,
|
|
63550
63593
|
{
|
|
63551
63594
|
asChild: true,
|
|
63552
|
-
className: "w-full",
|
|
63595
|
+
className: "w-full justify-start",
|
|
63553
63596
|
children: /* @__PURE__ */ jsxs(
|
|
63554
63597
|
Pressable,
|
|
63555
63598
|
{
|
|
63556
63599
|
href: link.url,
|
|
63557
|
-
className: "w-full flex items-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
63600
|
+
className: "w-full flex items-start justify-start gap-3 rounded-md p-3 hover:bg-muted",
|
|
63558
63601
|
children: [
|
|
63559
63602
|
link.icon && /* @__PURE__ */ jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-background", children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 16 }) }),
|
|
63560
63603
|
/* @__PURE__ */ jsxs("div", { children: [
|