@opensite/ui 0.4.4 → 0.4.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 +97 -58
- package/dist/navbar-animated-preview.d.cts +9 -64
- package/dist/navbar-animated-preview.d.ts +9 -64
- package/dist/navbar-animated-preview.js +97 -58
- package/dist/navbar-centered-menu.cjs +46 -7
- package/dist/navbar-centered-menu.d.cts +7 -11
- package/dist/navbar-centered-menu.d.ts +7 -11
- package/dist/navbar-centered-menu.js +46 -7
- package/dist/navbar-dark-icons.cjs +50 -10
- package/dist/navbar-dark-icons.d.cts +6 -11
- package/dist/navbar-dark-icons.d.ts +6 -11
- package/dist/navbar-dark-icons.js +50 -10
- package/dist/navbar-dropdown-menu.cjs +47 -8
- package/dist/navbar-dropdown-menu.d.cts +8 -12
- package/dist/navbar-dropdown-menu.d.ts +8 -12
- package/dist/navbar-dropdown-menu.js +47 -8
- package/dist/navbar-education-platform.cjs +48 -10
- package/dist/navbar-education-platform.d.cts +6 -11
- package/dist/navbar-education-platform.d.ts +6 -11
- package/dist/navbar-education-platform.js +48 -10
- package/dist/navbar-enterprise-mega.cjs +50 -10
- package/dist/navbar-enterprise-mega.d.cts +7 -37
- package/dist/navbar-enterprise-mega.d.ts +7 -37
- package/dist/navbar-enterprise-mega.js +50 -10
- package/dist/navbar-feature-grid.cjs +47 -8
- package/dist/navbar-feature-grid.d.cts +6 -11
- package/dist/navbar-feature-grid.d.ts +6 -11
- package/dist/navbar-feature-grid.js +47 -8
- package/dist/navbar-floating-pill.cjs +50 -11
- package/dist/navbar-floating-pill.d.cts +6 -11
- package/dist/navbar-floating-pill.d.ts +6 -11
- package/dist/navbar-floating-pill.js +50 -11
- package/dist/navbar-fullscreen-menu.cjs +44 -5
- package/dist/navbar-fullscreen-menu.d.cts +6 -11
- package/dist/navbar-fullscreen-menu.d.ts +6 -11
- package/dist/navbar-fullscreen-menu.js +44 -5
- package/dist/navbar-icon-links.cjs +46 -8
- package/dist/navbar-icon-links.d.cts +9 -11
- package/dist/navbar-icon-links.d.ts +9 -11
- package/dist/navbar-icon-links.js +46 -8
- package/dist/navbar-image-preview.cjs +56 -12
- package/dist/navbar-image-preview.d.cts +11 -17
- package/dist/navbar-image-preview.d.ts +11 -17
- package/dist/navbar-image-preview.js +56 -12
- package/dist/navbar-mega-menu.cjs +69 -20
- package/dist/navbar-mega-menu.d.cts +8 -74
- package/dist/navbar-mega-menu.d.ts +8 -74
- package/dist/navbar-mega-menu.js +69 -20
- package/dist/navbar-multi-column-groups.cjs +47 -11
- package/dist/navbar-multi-column-groups.d.cts +6 -11
- package/dist/navbar-multi-column-groups.d.ts +6 -11
- package/dist/navbar-multi-column-groups.js +47 -11
- package/dist/navbar-platform-resources.cjs +199 -164
- package/dist/navbar-platform-resources.d.cts +7 -37
- package/dist/navbar-platform-resources.d.ts +7 -37
- package/dist/navbar-platform-resources.js +199 -164
- package/dist/navbar-search-focused.cjs +45 -7
- package/dist/navbar-search-focused.d.cts +6 -11
- package/dist/navbar-search-focused.d.ts +6 -11
- package/dist/navbar-search-focused.js +45 -7
- package/dist/navbar-sidebar-mobile.cjs +47 -8
- package/dist/navbar-sidebar-mobile.d.cts +6 -11
- package/dist/navbar-sidebar-mobile.d.ts +6 -11
- package/dist/navbar-sidebar-mobile.js +47 -8
- package/dist/navbar-simple-links.cjs +45 -7
- package/dist/navbar-simple-links.d.cts +6 -11
- package/dist/navbar-simple-links.d.ts +6 -11
- package/dist/navbar-simple-links.js +45 -7
- package/dist/navbar-split-cta.cjs +47 -8
- package/dist/navbar-split-cta.d.cts +6 -11
- package/dist/navbar-split-cta.d.ts +6 -11
- package/dist/navbar-split-cta.js +47 -8
- package/dist/navbar-sticky-compact.cjs +49 -10
- package/dist/navbar-sticky-compact.d.cts +6 -11
- package/dist/navbar-sticky-compact.d.ts +6 -11
- package/dist/navbar-sticky-compact.js +49 -10
- package/dist/navbar-tabbed-sections.cjs +47 -8
- package/dist/navbar-tabbed-sections.d.cts +6 -11
- package/dist/navbar-tabbed-sections.d.ts +6 -11
- package/dist/navbar-tabbed-sections.js +47 -8
- package/dist/navbar-transparent-overlay.cjs +47 -9
- package/dist/navbar-transparent-overlay.d.cts +6 -11
- package/dist/navbar-transparent-overlay.d.ts +6 -11
- package/dist/navbar-transparent-overlay.js +47 -9
- package/dist/registry.cjs +522 -328
- package/dist/registry.js +522 -328
- package/dist/types-COVDidbn.d.cts +119 -0
- package/dist/types-COVDidbn.d.ts +119 -0
- package/package.json +2 -2
|
@@ -989,7 +989,7 @@ function NavigationMenuList({
|
|
|
989
989
|
{
|
|
990
990
|
"data-slot": "navigation-menu-list",
|
|
991
991
|
className: cn(
|
|
992
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
992
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
993
993
|
className
|
|
994
994
|
),
|
|
995
995
|
...props
|
|
@@ -1029,8 +1029,9 @@ function NavigationMenuTrigger({
|
|
|
1029
1029
|
/* @__PURE__ */ jsx(
|
|
1030
1030
|
DynamicIcon,
|
|
1031
1031
|
{
|
|
1032
|
+
size: 18,
|
|
1032
1033
|
name: "lucide/chevron-down",
|
|
1033
|
-
className: "relative top-
|
|
1034
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1034
1035
|
"aria-hidden": "true"
|
|
1035
1036
|
}
|
|
1036
1037
|
)
|
|
@@ -1070,7 +1071,7 @@ function NavigationMenuViewport({
|
|
|
1070
1071
|
{
|
|
1071
1072
|
"data-slot": "navigation-menu-viewport",
|
|
1072
1073
|
className: cn(
|
|
1073
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1074
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1074
1075
|
className
|
|
1075
1076
|
),
|
|
1076
1077
|
...props
|
|
@@ -1088,7 +1089,7 @@ function NavigationMenuLink({
|
|
|
1088
1089
|
{
|
|
1089
1090
|
"data-slot": "navigation-menu-link",
|
|
1090
1091
|
className: cn(
|
|
1091
|
-
"
|
|
1092
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1092
1093
|
className
|
|
1093
1094
|
),
|
|
1094
1095
|
...props
|
|
@@ -1342,6 +1343,41 @@ var imagePlaceholders = [
|
|
|
1342
1343
|
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
1343
1344
|
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
1344
1345
|
];
|
|
1346
|
+
|
|
1347
|
+
// components/blocks/navbars/types.ts
|
|
1348
|
+
function getLinkUrl(item) {
|
|
1349
|
+
return item.href || item.url || "#";
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1353
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1354
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1355
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1356
|
+
return {
|
|
1357
|
+
// Section wrapper classes
|
|
1358
|
+
sectionClasses: cn(
|
|
1359
|
+
"inset-x-0 z-20",
|
|
1360
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1361
|
+
customClasses?.className
|
|
1362
|
+
),
|
|
1363
|
+
// Outer container wrapper (only for floating bar)
|
|
1364
|
+
containerWrapperClasses: cn(
|
|
1365
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1366
|
+
),
|
|
1367
|
+
// Inner container classes
|
|
1368
|
+
innerContainerClasses: cn(
|
|
1369
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1370
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1371
|
+
customClasses?.containerClassName
|
|
1372
|
+
),
|
|
1373
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1374
|
+
navWrapperClasses: cn(
|
|
1375
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1376
|
+
),
|
|
1377
|
+
// Spacing adjustment for Section component
|
|
1378
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1345
1381
|
var MOBILE_BREAKPOINT = 1280;
|
|
1346
1382
|
var NavbarAnimatedPreview = ({
|
|
1347
1383
|
className,
|
|
@@ -1359,6 +1395,7 @@ var NavbarAnimatedPreview = ({
|
|
|
1359
1395
|
navigationSlot,
|
|
1360
1396
|
actions,
|
|
1361
1397
|
actionsSlot,
|
|
1398
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1362
1399
|
background = "white",
|
|
1363
1400
|
spacing = "none",
|
|
1364
1401
|
pattern,
|
|
@@ -1454,68 +1491,70 @@ var NavbarAnimatedPreview = ({
|
|
|
1454
1491
|
`desktop-link-${index}`
|
|
1455
1492
|
)) });
|
|
1456
1493
|
};
|
|
1457
|
-
|
|
1494
|
+
const {
|
|
1495
|
+
sectionClasses,
|
|
1496
|
+
containerWrapperClasses,
|
|
1497
|
+
innerContainerClasses,
|
|
1498
|
+
navWrapperClasses: baseNavWrapperClasses,
|
|
1499
|
+
spacingOverride
|
|
1500
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1501
|
+
const navWrapperClasses = cn(
|
|
1502
|
+
"h-20 max-w-full after:absolute after:inset-0 after:z-998 after:block after:size-full after:bg-background after:content-[''] [&>div:last-child>div]:mt-0 [&>div:last-child>div]:animate-none [&>div:last-child>div]:rounded-none [&>div:last-child>div]:border-0 [&>div:last-child>div]:shadow-[0px_-1px_0px_0px_rgba(0,0,0,0.05),0px_0px_0px_1px_rgba(17,26,37,0.05),0px_2px_5px_0px_rgba(16,25,36,0.1),0px_5px_20px_0px_rgba(16,25,36,0.1)]!",
|
|
1503
|
+
baseNavWrapperClasses,
|
|
1504
|
+
navigationMenuClassName
|
|
1505
|
+
);
|
|
1506
|
+
return /* @__PURE__ */ jsx(
|
|
1458
1507
|
Section,
|
|
1459
1508
|
{
|
|
1460
1509
|
background,
|
|
1461
|
-
spacing,
|
|
1510
|
+
spacing: spacingOverride ?? spacing,
|
|
1462
1511
|
className: cn(
|
|
1463
1512
|
"pointer-events-auto fixed top-0 z-999 flex w-full items-center justify-center",
|
|
1464
|
-
|
|
1513
|
+
sectionClasses
|
|
1465
1514
|
),
|
|
1466
1515
|
pattern,
|
|
1467
1516
|
patternOpacity,
|
|
1468
|
-
children: [
|
|
1469
|
-
/* @__PURE__ */ jsx(
|
|
1470
|
-
|
|
1517
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxs("div", { className: innerContainerClasses, children: [
|
|
1518
|
+
/* @__PURE__ */ jsx(NavigationMenu, { className: navWrapperClasses, children: /* @__PURE__ */ jsxs(
|
|
1519
|
+
"div",
|
|
1471
1520
|
{
|
|
1472
1521
|
className: cn(
|
|
1473
|
-
"
|
|
1474
|
-
navigationMenuClassName
|
|
1522
|
+
"relative z-999 grid w-full grid-cols-2 items-center justify-between gap-8 xl:grid-cols-3"
|
|
1475
1523
|
),
|
|
1476
|
-
children:
|
|
1477
|
-
|
|
1478
|
-
{
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1524
|
+
children: [
|
|
1525
|
+
renderLogo(),
|
|
1526
|
+
/* @__PURE__ */ jsx("div", { className: cn("hidden xl:flex", navClassName), children: renderNavigation() }),
|
|
1527
|
+
/* @__PURE__ */ jsxs("div", { className: cn("justify-self-end", actionsClassName), children: [
|
|
1528
|
+
/* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: renderActions() }),
|
|
1529
|
+
/* @__PURE__ */ jsx("div", { className: "xl:hidden", children: /* @__PURE__ */ jsx(
|
|
1530
|
+
Pressable,
|
|
1531
|
+
{
|
|
1532
|
+
className: "size-11",
|
|
1533
|
+
variant: "ghost",
|
|
1534
|
+
size: "icon",
|
|
1535
|
+
asButton: true,
|
|
1536
|
+
onClick: handleMobileMenu,
|
|
1537
|
+
children: open ? /* @__PURE__ */ jsx(
|
|
1538
|
+
DynamicIcon,
|
|
1490
1539
|
{
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
asButton: true,
|
|
1495
|
-
onClick: handleMobileMenu,
|
|
1496
|
-
children: open ? /* @__PURE__ */ jsx(
|
|
1497
|
-
DynamicIcon,
|
|
1498
|
-
{
|
|
1499
|
-
name: "lucide/x",
|
|
1500
|
-
size: 22,
|
|
1501
|
-
className: "stroke-foreground"
|
|
1502
|
-
}
|
|
1503
|
-
) : /* @__PURE__ */ jsx(
|
|
1504
|
-
DynamicIcon,
|
|
1505
|
-
{
|
|
1506
|
-
name: "lucide/menu",
|
|
1507
|
-
size: 22,
|
|
1508
|
-
className: "stroke-foreground"
|
|
1509
|
-
}
|
|
1510
|
-
)
|
|
1540
|
+
name: "lucide/x",
|
|
1541
|
+
size: 22,
|
|
1542
|
+
className: "stroke-foreground"
|
|
1511
1543
|
}
|
|
1512
|
-
)
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1544
|
+
) : /* @__PURE__ */ jsx(
|
|
1545
|
+
DynamicIcon,
|
|
1546
|
+
{
|
|
1547
|
+
name: "lucide/menu",
|
|
1548
|
+
size: 22,
|
|
1549
|
+
className: "stroke-foreground"
|
|
1550
|
+
}
|
|
1551
|
+
)
|
|
1552
|
+
}
|
|
1553
|
+
) })
|
|
1554
|
+
] })
|
|
1555
|
+
]
|
|
1517
1556
|
}
|
|
1518
|
-
),
|
|
1557
|
+
) }),
|
|
1519
1558
|
/* @__PURE__ */ jsx(
|
|
1520
1559
|
MobileNavigationMenu,
|
|
1521
1560
|
{
|
|
@@ -1525,7 +1564,7 @@ var NavbarAnimatedPreview = ({
|
|
|
1525
1564
|
actionsSlot
|
|
1526
1565
|
}
|
|
1527
1566
|
)
|
|
1528
|
-
]
|
|
1567
|
+
] }) })
|
|
1529
1568
|
}
|
|
1530
1569
|
);
|
|
1531
1570
|
};
|
|
@@ -1718,7 +1757,7 @@ var FeaturedImageLink = ({
|
|
|
1718
1757
|
optixFlowConfig
|
|
1719
1758
|
}) => {
|
|
1720
1759
|
if (!link) return null;
|
|
1721
|
-
return /* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, className: "w-full max-w-147.5", children: /* @__PURE__ */ jsx(
|
|
1760
|
+
return /* @__PURE__ */ jsx("div", { className: "hidden xl:block", children: /* @__PURE__ */ jsx(Pressable, { href: link.url || "#", className: "w-full max-w-147.5", children: /* @__PURE__ */ jsx(
|
|
1722
1761
|
AspectRatio,
|
|
1723
1762
|
{
|
|
1724
1763
|
ratio: 1.77245509,
|
|
@@ -1752,7 +1791,7 @@ var FeaturedLink = ({ link, optixFlowConfig }) => {
|
|
|
1752
1791
|
return /* @__PURE__ */ jsxs(
|
|
1753
1792
|
Pressable,
|
|
1754
1793
|
{
|
|
1755
|
-
href: link
|
|
1794
|
+
href: getLinkUrl(link),
|
|
1756
1795
|
className: "group relative flex w-full overflow-hidden rounded-xl bg-muted px-8 py-7",
|
|
1757
1796
|
children: [
|
|
1758
1797
|
/* @__PURE__ */ jsxs("div", { className: "relative z-10 flex w-full items-center gap-6", children: [
|
|
@@ -1788,7 +1827,7 @@ var NavLink = forwardRef(
|
|
|
1788
1827
|
Pressable,
|
|
1789
1828
|
{
|
|
1790
1829
|
ref,
|
|
1791
|
-
href: link
|
|
1830
|
+
href: getLinkUrl(link),
|
|
1792
1831
|
className: "flex w-full gap-2 transition-opacity duration-300",
|
|
1793
1832
|
onMouseEnter,
|
|
1794
1833
|
onMouseLeave,
|
|
@@ -1802,8 +1841,8 @@ var NavLink = forwardRef(
|
|
|
1802
1841
|
}
|
|
1803
1842
|
) }),
|
|
1804
1843
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-2", children: [
|
|
1805
|
-
link.label && /* @__PURE__ */ jsx("div", { className: "text-
|
|
1806
|
-
/* @__PURE__ */ jsx("div", { className: "text-
|
|
1844
|
+
link.label && /* @__PURE__ */ jsx("div", { className: "text-sm leading-normal", children: link.label }),
|
|
1845
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs leading-normal text-muted-foreground", children: link.description })
|
|
1807
1846
|
] })
|
|
1808
1847
|
]
|
|
1809
1848
|
}
|
|
@@ -987,7 +987,7 @@ function NavigationMenuList({
|
|
|
987
987
|
{
|
|
988
988
|
"data-slot": "navigation-menu-list",
|
|
989
989
|
className: cn(
|
|
990
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
990
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
991
991
|
className
|
|
992
992
|
),
|
|
993
993
|
...props
|
|
@@ -1027,8 +1027,9 @@ function NavigationMenuTrigger({
|
|
|
1027
1027
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1028
1028
|
DynamicIcon,
|
|
1029
1029
|
{
|
|
1030
|
+
size: 18,
|
|
1030
1031
|
name: "lucide/chevron-down",
|
|
1031
|
-
className: "relative top-
|
|
1032
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1032
1033
|
"aria-hidden": "true"
|
|
1033
1034
|
}
|
|
1034
1035
|
)
|
|
@@ -1062,7 +1063,7 @@ function NavigationMenuLink({
|
|
|
1062
1063
|
{
|
|
1063
1064
|
"data-slot": "navigation-menu-link",
|
|
1064
1065
|
className: cn(
|
|
1065
|
-
"
|
|
1066
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1066
1067
|
className
|
|
1067
1068
|
),
|
|
1068
1069
|
...props
|
|
@@ -1157,6 +1158,36 @@ function SheetTitle({
|
|
|
1157
1158
|
// lib/mediaPlaceholders.ts
|
|
1158
1159
|
var logoPlaceholders = {
|
|
1159
1160
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1161
|
+
|
|
1162
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1163
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1164
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1165
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1166
|
+
return {
|
|
1167
|
+
// Section wrapper classes
|
|
1168
|
+
sectionClasses: cn(
|
|
1169
|
+
"inset-x-0 z-20",
|
|
1170
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1171
|
+
customClasses?.className
|
|
1172
|
+
),
|
|
1173
|
+
// Outer container wrapper (only for floating bar)
|
|
1174
|
+
containerWrapperClasses: cn(
|
|
1175
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1176
|
+
),
|
|
1177
|
+
// Inner container classes
|
|
1178
|
+
innerContainerClasses: cn(
|
|
1179
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1180
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1181
|
+
customClasses?.containerClassName
|
|
1182
|
+
),
|
|
1183
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1184
|
+
navWrapperClasses: cn(
|
|
1185
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1186
|
+
),
|
|
1187
|
+
// Spacing adjustment for Section component
|
|
1188
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1189
|
+
};
|
|
1190
|
+
}
|
|
1160
1191
|
var NavigationMenuWithoutViewport = ({
|
|
1161
1192
|
className,
|
|
1162
1193
|
children,
|
|
@@ -1241,6 +1272,7 @@ var NavbarCenteredMenu = ({
|
|
|
1241
1272
|
mobileNavClassName,
|
|
1242
1273
|
navigationMenuClassName,
|
|
1243
1274
|
actionsClassName,
|
|
1275
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1244
1276
|
background = "white",
|
|
1245
1277
|
spacing = "sm",
|
|
1246
1278
|
pattern,
|
|
@@ -1308,15 +1340,22 @@ var NavbarCenteredMenu = ({
|
|
|
1308
1340
|
if (!menu || menu.length === 0) return null;
|
|
1309
1341
|
return menu.map((item) => renderMobileMenuItem(item));
|
|
1310
1342
|
};
|
|
1343
|
+
const {
|
|
1344
|
+
sectionClasses,
|
|
1345
|
+
containerWrapperClasses,
|
|
1346
|
+
innerContainerClasses,
|
|
1347
|
+
navWrapperClasses,
|
|
1348
|
+
spacingOverride
|
|
1349
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1311
1350
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1312
1351
|
Section,
|
|
1313
1352
|
{
|
|
1314
1353
|
background,
|
|
1315
|
-
spacing,
|
|
1316
|
-
className:
|
|
1354
|
+
spacing: spacingOverride ?? spacing,
|
|
1355
|
+
className: sectionClasses,
|
|
1317
1356
|
pattern,
|
|
1318
1357
|
patternOpacity,
|
|
1319
|
-
children: /* @__PURE__ */ jsxRuntime.
|
|
1358
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(innerContainerClasses, navWrapperClasses), children: [
|
|
1320
1359
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1321
1360
|
"nav",
|
|
1322
1361
|
{
|
|
@@ -1365,7 +1404,7 @@ var NavbarCenteredMenu = ({
|
|
|
1365
1404
|
] })
|
|
1366
1405
|
] })
|
|
1367
1406
|
] }) })
|
|
1368
|
-
] })
|
|
1407
|
+
] }) })
|
|
1369
1408
|
}
|
|
1370
1409
|
);
|
|
1371
1410
|
};
|
|
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
|
|
4
4
|
import { SectionBackground, SectionSpacing } from './types.cjs';
|
|
5
|
+
import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.cjs';
|
|
5
6
|
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.cjs';
|
|
@@ -9,6 +10,7 @@ import 'class-variance-authority/types';
|
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Menu item interface for navigation
|
|
13
|
+
* Component-specific type using 'title' and 'url' fields
|
|
12
14
|
*/
|
|
13
15
|
interface MenuItem {
|
|
14
16
|
title: string;
|
|
@@ -17,16 +19,6 @@ interface MenuItem {
|
|
|
17
19
|
icon?: string;
|
|
18
20
|
items?: MenuItem[];
|
|
19
21
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Logo configuration interface
|
|
22
|
-
*/
|
|
23
|
-
interface LogoConfig {
|
|
24
|
-
url?: string;
|
|
25
|
-
src?: string;
|
|
26
|
-
alt?: string;
|
|
27
|
-
title?: React.ReactNode;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
22
|
/**
|
|
31
23
|
* Props for the NavbarCenteredMenu component
|
|
32
24
|
*/
|
|
@@ -99,6 +91,10 @@ interface NavbarCenteredMenuProps {
|
|
|
99
91
|
* Pattern overlay opacity (0-1)
|
|
100
92
|
*/
|
|
101
93
|
patternOpacity?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Layout variant for the navbar
|
|
96
|
+
*/
|
|
97
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
102
98
|
/**
|
|
103
99
|
* OptixFlow image optimization configuration
|
|
104
100
|
*/
|
|
@@ -112,6 +108,6 @@ interface NavbarCenteredMenuProps {
|
|
|
112
108
|
* slide-out sheet with accordion navigation. The dropdowns are centered under their
|
|
113
109
|
* trigger elements for a balanced visual appearance.
|
|
114
110
|
*/
|
|
115
|
-
declare const NavbarCenteredMenu: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarCenteredMenuProps) => react_jsx_runtime.JSX.Element;
|
|
111
|
+
declare const NavbarCenteredMenu: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarCenteredMenuProps) => react_jsx_runtime.JSX.Element;
|
|
116
112
|
|
|
117
113
|
export { NavbarCenteredMenu, type NavbarCenteredMenuProps };
|
|
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
|
|
4
4
|
import { SectionBackground, SectionSpacing } from './types.js';
|
|
5
|
+
import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.js';
|
|
5
6
|
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.js';
|
|
@@ -9,6 +10,7 @@ import 'class-variance-authority/types';
|
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Menu item interface for navigation
|
|
13
|
+
* Component-specific type using 'title' and 'url' fields
|
|
12
14
|
*/
|
|
13
15
|
interface MenuItem {
|
|
14
16
|
title: string;
|
|
@@ -17,16 +19,6 @@ interface MenuItem {
|
|
|
17
19
|
icon?: string;
|
|
18
20
|
items?: MenuItem[];
|
|
19
21
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Logo configuration interface
|
|
22
|
-
*/
|
|
23
|
-
interface LogoConfig {
|
|
24
|
-
url?: string;
|
|
25
|
-
src?: string;
|
|
26
|
-
alt?: string;
|
|
27
|
-
title?: React.ReactNode;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
22
|
/**
|
|
31
23
|
* Props for the NavbarCenteredMenu component
|
|
32
24
|
*/
|
|
@@ -99,6 +91,10 @@ interface NavbarCenteredMenuProps {
|
|
|
99
91
|
* Pattern overlay opacity (0-1)
|
|
100
92
|
*/
|
|
101
93
|
patternOpacity?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Layout variant for the navbar
|
|
96
|
+
*/
|
|
97
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
102
98
|
/**
|
|
103
99
|
* OptixFlow image optimization configuration
|
|
104
100
|
*/
|
|
@@ -112,6 +108,6 @@ interface NavbarCenteredMenuProps {
|
|
|
112
108
|
* slide-out sheet with accordion navigation. The dropdowns are centered under their
|
|
113
109
|
* trigger elements for a balanced visual appearance.
|
|
114
110
|
*/
|
|
115
|
-
declare const NavbarCenteredMenu: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarCenteredMenuProps) => react_jsx_runtime.JSX.Element;
|
|
111
|
+
declare const NavbarCenteredMenu: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, desktopNavClassName, mobileNavClassName, navigationMenuClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarCenteredMenuProps) => react_jsx_runtime.JSX.Element;
|
|
116
112
|
|
|
117
113
|
export { NavbarCenteredMenu, type NavbarCenteredMenuProps };
|
|
@@ -963,7 +963,7 @@ function NavigationMenuList({
|
|
|
963
963
|
{
|
|
964
964
|
"data-slot": "navigation-menu-list",
|
|
965
965
|
className: cn(
|
|
966
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
966
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
967
967
|
className
|
|
968
968
|
),
|
|
969
969
|
...props
|
|
@@ -1003,8 +1003,9 @@ function NavigationMenuTrigger({
|
|
|
1003
1003
|
/* @__PURE__ */ jsx(
|
|
1004
1004
|
DynamicIcon,
|
|
1005
1005
|
{
|
|
1006
|
+
size: 18,
|
|
1006
1007
|
name: "lucide/chevron-down",
|
|
1007
|
-
className: "relative top-
|
|
1008
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1008
1009
|
"aria-hidden": "true"
|
|
1009
1010
|
}
|
|
1010
1011
|
)
|
|
@@ -1038,7 +1039,7 @@ function NavigationMenuLink({
|
|
|
1038
1039
|
{
|
|
1039
1040
|
"data-slot": "navigation-menu-link",
|
|
1040
1041
|
className: cn(
|
|
1041
|
-
"
|
|
1042
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1042
1043
|
className
|
|
1043
1044
|
),
|
|
1044
1045
|
...props
|
|
@@ -1133,6 +1134,36 @@ function SheetTitle({
|
|
|
1133
1134
|
// lib/mediaPlaceholders.ts
|
|
1134
1135
|
var logoPlaceholders = {
|
|
1135
1136
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1137
|
+
|
|
1138
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1139
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1140
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1141
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1142
|
+
return {
|
|
1143
|
+
// Section wrapper classes
|
|
1144
|
+
sectionClasses: cn(
|
|
1145
|
+
"inset-x-0 z-20",
|
|
1146
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1147
|
+
customClasses?.className
|
|
1148
|
+
),
|
|
1149
|
+
// Outer container wrapper (only for floating bar)
|
|
1150
|
+
containerWrapperClasses: cn(
|
|
1151
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1152
|
+
),
|
|
1153
|
+
// Inner container classes
|
|
1154
|
+
innerContainerClasses: cn(
|
|
1155
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1156
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1157
|
+
customClasses?.containerClassName
|
|
1158
|
+
),
|
|
1159
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1160
|
+
navWrapperClasses: cn(
|
|
1161
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1162
|
+
),
|
|
1163
|
+
// Spacing adjustment for Section component
|
|
1164
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1165
|
+
};
|
|
1166
|
+
}
|
|
1136
1167
|
var NavigationMenuWithoutViewport = ({
|
|
1137
1168
|
className,
|
|
1138
1169
|
children,
|
|
@@ -1217,6 +1248,7 @@ var NavbarCenteredMenu = ({
|
|
|
1217
1248
|
mobileNavClassName,
|
|
1218
1249
|
navigationMenuClassName,
|
|
1219
1250
|
actionsClassName,
|
|
1251
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1220
1252
|
background = "white",
|
|
1221
1253
|
spacing = "sm",
|
|
1222
1254
|
pattern,
|
|
@@ -1284,15 +1316,22 @@ var NavbarCenteredMenu = ({
|
|
|
1284
1316
|
if (!menu || menu.length === 0) return null;
|
|
1285
1317
|
return menu.map((item) => renderMobileMenuItem(item));
|
|
1286
1318
|
};
|
|
1319
|
+
const {
|
|
1320
|
+
sectionClasses,
|
|
1321
|
+
containerWrapperClasses,
|
|
1322
|
+
innerContainerClasses,
|
|
1323
|
+
navWrapperClasses,
|
|
1324
|
+
spacingOverride
|
|
1325
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1287
1326
|
return /* @__PURE__ */ jsx(
|
|
1288
1327
|
Section,
|
|
1289
1328
|
{
|
|
1290
1329
|
background,
|
|
1291
|
-
spacing,
|
|
1292
|
-
className:
|
|
1330
|
+
spacing: spacingOverride ?? spacing,
|
|
1331
|
+
className: sectionClasses,
|
|
1293
1332
|
pattern,
|
|
1294
1333
|
patternOpacity,
|
|
1295
|
-
children: /* @__PURE__ */
|
|
1334
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxs("div", { className: cn(innerContainerClasses, navWrapperClasses), children: [
|
|
1296
1335
|
/* @__PURE__ */ jsxs(
|
|
1297
1336
|
"nav",
|
|
1298
1337
|
{
|
|
@@ -1341,7 +1380,7 @@ var NavbarCenteredMenu = ({
|
|
|
1341
1380
|
] })
|
|
1342
1381
|
] })
|
|
1343
1382
|
] }) })
|
|
1344
|
-
] })
|
|
1383
|
+
] }) })
|
|
1345
1384
|
}
|
|
1346
1385
|
);
|
|
1347
1386
|
};
|