@opensite/ui 1.0.7 → 1.0.9
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 +16 -16
- package/dist/navbar-animated-preview.js +16 -16
- package/dist/navbar-centered-menu.cjs +1 -1
- package/dist/navbar-centered-menu.js +1 -1
- package/dist/navbar-dark-icons.cjs +1 -1
- package/dist/navbar-dark-icons.js +1 -1
- package/dist/navbar-dropdown-menu.cjs +1 -1
- package/dist/navbar-dropdown-menu.js +1 -1
- package/dist/navbar-education-platform.cjs +278 -236
- package/dist/navbar-education-platform.d.cts +61 -36
- package/dist/navbar-education-platform.d.ts +61 -36
- package/dist/navbar-education-platform.js +279 -237
- package/dist/navbar-enterprise-mega.cjs +6 -6
- package/dist/navbar-enterprise-mega.js +6 -6
- package/dist/navbar-feature-grid.cjs +1 -1
- package/dist/navbar-feature-grid.js +1 -1
- package/dist/navbar-icon-links.cjs +2 -1
- package/dist/navbar-icon-links.js +2 -1
- package/dist/navbar-image-preview.cjs +129 -50
- package/dist/navbar-image-preview.js +128 -50
- package/dist/navbar-mega-menu.cjs +1 -1
- package/dist/navbar-mega-menu.js +1 -1
- package/dist/navbar-multi-column-groups.cjs +53 -49
- package/dist/navbar-multi-column-groups.js +53 -49
- package/dist/navbar-platform-resources.cjs +5 -4
- package/dist/navbar-platform-resources.js +5 -4
- package/dist/navbar-search-focused.cjs +1 -1
- package/dist/navbar-search-focused.js +1 -1
- package/dist/navbar-sidebar-mobile.cjs +235 -166
- package/dist/navbar-sidebar-mobile.js +236 -167
- package/dist/navbar-simple-links.cjs +228 -184
- package/dist/navbar-simple-links.d.cts +15 -3
- package/dist/navbar-simple-links.d.ts +15 -3
- package/dist/navbar-simple-links.js +228 -183
- package/dist/navbar-split-cta.cjs +3 -3
- package/dist/navbar-split-cta.js +3 -3
- package/dist/navbar-sticky-compact.cjs +1 -1
- package/dist/navbar-sticky-compact.js +1 -1
- package/dist/navbar-tabbed-sections.cjs +1 -1
- package/dist/navbar-tabbed-sections.js +1 -1
- package/dist/navbar-transparent-overlay.cjs +244 -123
- package/dist/navbar-transparent-overlay.d.cts +30 -1
- package/dist/navbar-transparent-overlay.d.ts +30 -1
- package/dist/navbar-transparent-overlay.js +244 -123
- package/dist/registry.cjs +1008 -894
- package/dist/registry.js +1008 -894
- package/package.json +1 -1
|
@@ -6,7 +6,6 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
9
|
-
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
10
9
|
import { Img } from '@page-speed/img';
|
|
11
10
|
|
|
12
11
|
// components/blocks/navbars/navbar-simple-links.tsx
|
|
@@ -1006,36 +1005,6 @@ function NavigationMenuLink({
|
|
|
1006
1005
|
}
|
|
1007
1006
|
);
|
|
1008
1007
|
}
|
|
1009
|
-
function Popover({
|
|
1010
|
-
...props
|
|
1011
|
-
}) {
|
|
1012
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1013
|
-
}
|
|
1014
|
-
function PopoverTrigger({
|
|
1015
|
-
...props
|
|
1016
|
-
}) {
|
|
1017
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1018
|
-
}
|
|
1019
|
-
function PopoverContent({
|
|
1020
|
-
className,
|
|
1021
|
-
align = "center",
|
|
1022
|
-
sideOffset = 4,
|
|
1023
|
-
...props
|
|
1024
|
-
}) {
|
|
1025
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
1026
|
-
PopoverPrimitive.Content,
|
|
1027
|
-
{
|
|
1028
|
-
"data-slot": "popover-content",
|
|
1029
|
-
align,
|
|
1030
|
-
sideOffset,
|
|
1031
|
-
className: cn(
|
|
1032
|
-
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
1033
|
-
className
|
|
1034
|
-
),
|
|
1035
|
-
...props
|
|
1036
|
-
}
|
|
1037
|
-
) });
|
|
1038
|
-
}
|
|
1039
1008
|
var NavbarLogo = ({
|
|
1040
1009
|
logo,
|
|
1041
1010
|
logoSlot,
|
|
@@ -1096,6 +1065,62 @@ var NavbarLogo = ({
|
|
|
1096
1065
|
}
|
|
1097
1066
|
);
|
|
1098
1067
|
};
|
|
1068
|
+
var NavbarMobileMenu = ({
|
|
1069
|
+
open,
|
|
1070
|
+
onClose,
|
|
1071
|
+
children,
|
|
1072
|
+
className,
|
|
1073
|
+
contentClassName,
|
|
1074
|
+
title = "Mobile Navigation"
|
|
1075
|
+
}) => {
|
|
1076
|
+
React.useEffect(() => {
|
|
1077
|
+
if (open) {
|
|
1078
|
+
const originalOverflow = document.body.style.overflow;
|
|
1079
|
+
document.body.style.overflow = "hidden";
|
|
1080
|
+
return () => {
|
|
1081
|
+
document.body.style.overflow = originalOverflow;
|
|
1082
|
+
};
|
|
1083
|
+
}
|
|
1084
|
+
}, [open]);
|
|
1085
|
+
if (!open) return null;
|
|
1086
|
+
return /* @__PURE__ */ jsxs(
|
|
1087
|
+
"div",
|
|
1088
|
+
{
|
|
1089
|
+
className: cn(
|
|
1090
|
+
"fixed inset-0 z-998 flex flex-col bg-background",
|
|
1091
|
+
"animate-in slide-in-from-top duration-300",
|
|
1092
|
+
"data-[state=closed]:animate-out data-[state=closed]:slide-out-to-top data-[state=closed]:duration-300",
|
|
1093
|
+
className
|
|
1094
|
+
),
|
|
1095
|
+
"data-state": open ? "open" : "closed",
|
|
1096
|
+
children: [
|
|
1097
|
+
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1098
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxs(
|
|
1099
|
+
"button",
|
|
1100
|
+
{
|
|
1101
|
+
onClick: onClose,
|
|
1102
|
+
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",
|
|
1103
|
+
"aria-label": "Close mobile menu",
|
|
1104
|
+
children: [
|
|
1105
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
|
|
1106
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1107
|
+
]
|
|
1108
|
+
}
|
|
1109
|
+
) }),
|
|
1110
|
+
/* @__PURE__ */ jsx(
|
|
1111
|
+
"div",
|
|
1112
|
+
{
|
|
1113
|
+
className: cn(
|
|
1114
|
+
"h-full overflow-y-auto pt-20 pb-8 px-4 sm:px-6",
|
|
1115
|
+
contentClassName
|
|
1116
|
+
),
|
|
1117
|
+
children
|
|
1118
|
+
}
|
|
1119
|
+
)
|
|
1120
|
+
]
|
|
1121
|
+
}
|
|
1122
|
+
);
|
|
1123
|
+
};
|
|
1099
1124
|
|
|
1100
1125
|
// components/blocks/navbars/layout-variant-utils.ts
|
|
1101
1126
|
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
@@ -1132,86 +1157,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1132
1157
|
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1133
1158
|
};
|
|
1134
1159
|
}
|
|
1135
|
-
var
|
|
1136
|
-
return /* @__PURE__ */ jsx("div", { className: "group relative size-full", children: /* @__PURE__ */ jsxs("div", { className: "absolute flex size-full items-center justify-center", children: [
|
|
1137
|
-
/* @__PURE__ */ jsx(
|
|
1138
|
-
DynamicIcon,
|
|
1139
|
-
{
|
|
1140
|
-
name: "lucide/menu",
|
|
1141
|
-
size: 24,
|
|
1142
|
-
className: `absolute text-muted-foreground transition-all duration-300 group-hover:text-foreground ${isOpen ? "rotate-90 opacity-0" : "rotate-0 opacity-100"}`
|
|
1143
|
-
}
|
|
1144
|
-
),
|
|
1145
|
-
/* @__PURE__ */ jsx(
|
|
1146
|
-
DynamicIcon,
|
|
1147
|
-
{
|
|
1148
|
-
name: "lucide/x",
|
|
1149
|
-
size: 24,
|
|
1150
|
-
className: `absolute text-muted-foreground transition-all duration-300 group-hover:text-foreground ${isOpen ? "rotate-0 opacity-100" : "-rotate-90 opacity-0"}`
|
|
1151
|
-
}
|
|
1152
|
-
)
|
|
1153
|
-
] }) });
|
|
1154
|
-
};
|
|
1155
|
-
var MobileNav = ({
|
|
1156
|
-
navItems,
|
|
1157
|
-
activeItem,
|
|
1158
|
-
setActiveItem,
|
|
1159
|
-
actions,
|
|
1160
|
-
actionsSlot
|
|
1161
|
-
}) => {
|
|
1162
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
1163
|
-
const renderActions = useMemo(() => {
|
|
1164
|
-
if (actionsSlot) return actionsSlot;
|
|
1165
|
-
if (!actions || actions.length === 0) return null;
|
|
1166
|
-
return actions.map((action, index) => {
|
|
1167
|
-
const {
|
|
1168
|
-
label,
|
|
1169
|
-
icon,
|
|
1170
|
-
iconAfter,
|
|
1171
|
-
children,
|
|
1172
|
-
className: actionClassName,
|
|
1173
|
-
...pressableProps
|
|
1174
|
-
} = action;
|
|
1175
|
-
return /* @__PURE__ */ jsx(
|
|
1176
|
-
Pressable,
|
|
1177
|
-
{
|
|
1178
|
-
asButton: true,
|
|
1179
|
-
className: actionClassName,
|
|
1180
|
-
...pressableProps,
|
|
1181
|
-
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1182
|
-
icon,
|
|
1183
|
-
label,
|
|
1184
|
-
iconAfter
|
|
1185
|
-
] })
|
|
1186
|
-
},
|
|
1187
|
-
index
|
|
1188
|
-
);
|
|
1189
|
-
});
|
|
1190
|
-
}, [actionsSlot, actions]);
|
|
1191
|
-
return /* @__PURE__ */ jsx("div", { className: "flex h-full items-center lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [
|
|
1192
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { variant: "ghost", size: "icon", asButton: true, onClick: () => {
|
|
1193
|
-
}, children: /* @__PURE__ */ jsx(AnimatedHamburger, { isOpen }) }) }),
|
|
1194
|
-
/* @__PURE__ */ jsx(
|
|
1195
|
-
PopoverContent,
|
|
1196
|
-
{
|
|
1197
|
-
align: "end",
|
|
1198
|
-
className: "relative top-4 -right-4 block w-[calc(100vw-32px)] overflow-hidden rounded-xl p-0 sm:top-auto sm:right-auto sm:w-80 lg:hidden",
|
|
1199
|
-
children: /* @__PURE__ */ jsxs("ul", { className: "w-full bg-background py-4 text-foreground", children: [
|
|
1200
|
-
navItems.map((navItem, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1201
|
-
Pressable,
|
|
1202
|
-
{
|
|
1203
|
-
href: navItem.link,
|
|
1204
|
-
onClick: () => setActiveItem(navItem.name),
|
|
1205
|
-
className: `flex items-center border-l-[3px] px-6 py-4 text-sm font-medium text-foreground transition-all duration-75 ${activeItem === navItem.name ? "border-foreground text-foreground" : "border-transparent text-muted-foreground hover:text-foreground"}`,
|
|
1206
|
-
children: navItem.name
|
|
1207
|
-
}
|
|
1208
|
-
) }, idx)),
|
|
1209
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("li", { className: "flex flex-col gap-3 px-7 py-2", children: renderActions })
|
|
1210
|
-
] })
|
|
1211
|
-
}
|
|
1212
|
-
)
|
|
1213
|
-
] }) });
|
|
1214
|
-
};
|
|
1160
|
+
var MOBILE_BREAKPOINT = 1024;
|
|
1215
1161
|
var NavbarSimpleLinks = ({
|
|
1216
1162
|
className,
|
|
1217
1163
|
containerClassName,
|
|
@@ -1219,6 +1165,7 @@ var NavbarSimpleLinks = ({
|
|
|
1219
1165
|
navigationMenuClassName,
|
|
1220
1166
|
menuListClassName,
|
|
1221
1167
|
actionsClassName,
|
|
1168
|
+
mobileMenuClassName,
|
|
1222
1169
|
logo,
|
|
1223
1170
|
logoSlot,
|
|
1224
1171
|
logoClassName,
|
|
@@ -1227,6 +1174,8 @@ var NavbarSimpleLinks = ({
|
|
|
1227
1174
|
defaultActiveItem,
|
|
1228
1175
|
actions,
|
|
1229
1176
|
actionsSlot,
|
|
1177
|
+
mobileActions,
|
|
1178
|
+
mobileActionsSlot,
|
|
1230
1179
|
layoutVariant = "fullScreenContainerizedLinks",
|
|
1231
1180
|
background,
|
|
1232
1181
|
spacing,
|
|
@@ -1237,8 +1186,20 @@ var NavbarSimpleLinks = ({
|
|
|
1237
1186
|
const [activeItem, setActiveItem] = useState(
|
|
1238
1187
|
defaultActiveItem || navItems?.[0]?.name || ""
|
|
1239
1188
|
);
|
|
1189
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
1240
1190
|
const indicatorRef = useRef(null);
|
|
1241
1191
|
const menuRef = useRef(null);
|
|
1192
|
+
useEffect(() => {
|
|
1193
|
+
if (typeof window === "undefined") return;
|
|
1194
|
+
const handleResize = () => {
|
|
1195
|
+
if (window.innerWidth > MOBILE_BREAKPOINT) {
|
|
1196
|
+
setIsOpen(false);
|
|
1197
|
+
}
|
|
1198
|
+
};
|
|
1199
|
+
handleResize();
|
|
1200
|
+
window.addEventListener("resize", handleResize);
|
|
1201
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
1202
|
+
}, []);
|
|
1242
1203
|
useEffect(() => {
|
|
1243
1204
|
const updateIndicator = () => {
|
|
1244
1205
|
const activeEl = document.querySelector(
|
|
@@ -1255,6 +1216,9 @@ var NavbarSimpleLinks = ({
|
|
|
1255
1216
|
window.addEventListener("resize", updateIndicator);
|
|
1256
1217
|
return () => window.removeEventListener("resize", updateIndicator);
|
|
1257
1218
|
}, [activeItem]);
|
|
1219
|
+
const handleMobileMenuClose = () => {
|
|
1220
|
+
setIsOpen(false);
|
|
1221
|
+
};
|
|
1258
1222
|
const renderNavItems = useMemo(() => {
|
|
1259
1223
|
if (navItemsSlot) return navItemsSlot;
|
|
1260
1224
|
if (!navItems || navItems.length === 0) return null;
|
|
@@ -1308,80 +1272,161 @@ var NavbarSimpleLinks = ({
|
|
|
1308
1272
|
sectionContainerMaxWidth,
|
|
1309
1273
|
spacingOverride
|
|
1310
1274
|
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1275
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1276
|
+
/* @__PURE__ */ jsx(
|
|
1277
|
+
Section,
|
|
1278
|
+
{
|
|
1279
|
+
background,
|
|
1280
|
+
spacing: spacingOverride ?? spacing,
|
|
1281
|
+
className: sectionClasses,
|
|
1282
|
+
pattern,
|
|
1283
|
+
patternOpacity,
|
|
1284
|
+
containerClassName: sectionContainerClassName,
|
|
1285
|
+
containerMaxWidth: sectionContainerMaxWidth,
|
|
1286
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1287
|
+
"nav",
|
|
1288
|
+
{
|
|
1289
|
+
className: cn("flex items-center justify-between", navClassName),
|
|
1290
|
+
children: [
|
|
1291
|
+
/* @__PURE__ */ jsx(
|
|
1292
|
+
NavbarLogo,
|
|
1293
|
+
{
|
|
1294
|
+
logo,
|
|
1295
|
+
logoSlot,
|
|
1296
|
+
logoClassName,
|
|
1297
|
+
optixFlowConfig
|
|
1298
|
+
}
|
|
1299
|
+
),
|
|
1300
|
+
/* @__PURE__ */ jsx(
|
|
1301
|
+
NavigationMenu,
|
|
1302
|
+
{
|
|
1303
|
+
className: cn("hidden lg:block", navigationMenuClassName),
|
|
1304
|
+
children: /* @__PURE__ */ jsxs(
|
|
1305
|
+
NavigationMenuList,
|
|
1306
|
+
{
|
|
1307
|
+
ref: menuRef,
|
|
1308
|
+
className: cn(
|
|
1309
|
+
"flex items-center gap-6 rounded-4xl px-8 py-3",
|
|
1310
|
+
menuListClassName
|
|
1311
|
+
),
|
|
1312
|
+
children: [
|
|
1313
|
+
renderNavItems,
|
|
1314
|
+
/* @__PURE__ */ jsx(
|
|
1315
|
+
"div",
|
|
1316
|
+
{
|
|
1317
|
+
ref: indicatorRef,
|
|
1318
|
+
className: "absolute bottom-2 flex h-1 items-center justify-center px-2 transition-all duration-300",
|
|
1319
|
+
children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-full rounded-t-none bg-foreground transition-all duration-300" })
|
|
1320
|
+
}
|
|
1321
|
+
)
|
|
1322
|
+
]
|
|
1323
|
+
}
|
|
1324
|
+
)
|
|
1325
|
+
}
|
|
1326
|
+
),
|
|
1327
|
+
/* @__PURE__ */ jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsx(
|
|
1328
|
+
Pressable,
|
|
1329
|
+
{
|
|
1330
|
+
className: "size-11",
|
|
1331
|
+
variant: "ghost",
|
|
1332
|
+
size: "icon",
|
|
1333
|
+
asButton: true,
|
|
1334
|
+
onClick: () => setIsOpen(!isOpen),
|
|
1335
|
+
children: /* @__PURE__ */ jsx(
|
|
1336
|
+
DynamicIcon,
|
|
1337
|
+
{
|
|
1338
|
+
name: "lucide/menu",
|
|
1339
|
+
size: 22,
|
|
1340
|
+
className: "stroke-foreground"
|
|
1341
|
+
}
|
|
1342
|
+
)
|
|
1343
|
+
}
|
|
1344
|
+
) }),
|
|
1345
|
+
/* @__PURE__ */ jsx(
|
|
1346
|
+
"div",
|
|
1347
|
+
{
|
|
1348
|
+
className: cn(
|
|
1349
|
+
"hidden items-center gap-2 lg:flex",
|
|
1350
|
+
actionsClassName
|
|
1351
|
+
),
|
|
1352
|
+
children: renderActions
|
|
1353
|
+
}
|
|
1354
|
+
)
|
|
1355
|
+
]
|
|
1356
|
+
}
|
|
1357
|
+
) }) }) })
|
|
1358
|
+
}
|
|
1359
|
+
),
|
|
1360
|
+
/* @__PURE__ */ jsx(
|
|
1361
|
+
MobileNavigationMenu,
|
|
1362
|
+
{
|
|
1363
|
+
open: isOpen,
|
|
1364
|
+
onClose: handleMobileMenuClose,
|
|
1365
|
+
navItems: navItems ?? [],
|
|
1366
|
+
mobileActions,
|
|
1367
|
+
mobileActionsSlot,
|
|
1368
|
+
mobileMenuClassName
|
|
1369
|
+
}
|
|
1370
|
+
)
|
|
1371
|
+
] });
|
|
1372
|
+
};
|
|
1373
|
+
var MobileNavigationMenu = ({
|
|
1374
|
+
open,
|
|
1375
|
+
onClose,
|
|
1376
|
+
navItems,
|
|
1377
|
+
mobileActions,
|
|
1378
|
+
mobileActionsSlot,
|
|
1379
|
+
mobileMenuClassName
|
|
1380
|
+
}) => {
|
|
1381
|
+
const renderMobileActions = useMemo(() => {
|
|
1382
|
+
if (mobileActionsSlot) return mobileActionsSlot;
|
|
1383
|
+
if (!mobileActions || mobileActions.length === 0) return null;
|
|
1384
|
+
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 px-4", children: mobileActions.map((action, index) => {
|
|
1385
|
+
const {
|
|
1386
|
+
label,
|
|
1387
|
+
icon,
|
|
1388
|
+
iconAfter,
|
|
1389
|
+
children,
|
|
1390
|
+
className: actionClassName,
|
|
1391
|
+
...pressableProps
|
|
1392
|
+
} = action;
|
|
1393
|
+
return /* @__PURE__ */ jsx(
|
|
1394
|
+
Pressable,
|
|
1395
|
+
{
|
|
1396
|
+
asButton: true,
|
|
1397
|
+
className: cn("w-full", actionClassName),
|
|
1398
|
+
onClick: onClose,
|
|
1399
|
+
...pressableProps,
|
|
1400
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1401
|
+
icon,
|
|
1402
|
+
label,
|
|
1403
|
+
iconAfter
|
|
1404
|
+
] })
|
|
1405
|
+
},
|
|
1406
|
+
index
|
|
1407
|
+
);
|
|
1408
|
+
}) });
|
|
1409
|
+
}, [mobileActionsSlot, mobileActions, onClose]);
|
|
1311
1410
|
return /* @__PURE__ */ jsx(
|
|
1312
|
-
|
|
1411
|
+
NavbarMobileMenu,
|
|
1313
1412
|
{
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
logoClassName,
|
|
1332
|
-
optixFlowConfig
|
|
1333
|
-
}
|
|
1334
|
-
),
|
|
1335
|
-
/* @__PURE__ */ jsx(
|
|
1336
|
-
NavigationMenu,
|
|
1337
|
-
{
|
|
1338
|
-
className: cn("hidden lg:block", navigationMenuClassName),
|
|
1339
|
-
children: /* @__PURE__ */ jsxs(
|
|
1340
|
-
NavigationMenuList,
|
|
1341
|
-
{
|
|
1342
|
-
ref: menuRef,
|
|
1343
|
-
className: cn(
|
|
1344
|
-
"flex items-center gap-6 rounded-4xl px-8 py-3",
|
|
1345
|
-
menuListClassName
|
|
1346
|
-
),
|
|
1347
|
-
children: [
|
|
1348
|
-
renderNavItems,
|
|
1349
|
-
/* @__PURE__ */ jsx(
|
|
1350
|
-
"div",
|
|
1351
|
-
{
|
|
1352
|
-
ref: indicatorRef,
|
|
1353
|
-
className: "absolute bottom-2 flex h-1 items-center justify-center px-2 transition-all duration-300",
|
|
1354
|
-
children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-full rounded-t-none bg-foreground transition-all duration-300" })
|
|
1355
|
-
}
|
|
1356
|
-
)
|
|
1357
|
-
]
|
|
1358
|
-
}
|
|
1359
|
-
)
|
|
1360
|
-
}
|
|
1361
|
-
),
|
|
1362
|
-
/* @__PURE__ */ jsx(
|
|
1363
|
-
MobileNav,
|
|
1364
|
-
{
|
|
1365
|
-
navItems: navItems ?? [],
|
|
1366
|
-
activeItem,
|
|
1367
|
-
setActiveItem,
|
|
1368
|
-
actions,
|
|
1369
|
-
actionsSlot
|
|
1370
|
-
}
|
|
1371
|
-
),
|
|
1372
|
-
/* @__PURE__ */ jsx(
|
|
1373
|
-
"div",
|
|
1374
|
-
{
|
|
1375
|
-
className: cn(
|
|
1376
|
-
"hidden items-center gap-2 lg:flex",
|
|
1377
|
-
actionsClassName
|
|
1378
|
-
),
|
|
1379
|
-
children: renderActions
|
|
1380
|
-
}
|
|
1381
|
-
)
|
|
1382
|
-
]
|
|
1383
|
-
}
|
|
1384
|
-
) }) }) })
|
|
1413
|
+
open,
|
|
1414
|
+
onClose,
|
|
1415
|
+
title: "Navigation",
|
|
1416
|
+
className: mobileMenuClassName,
|
|
1417
|
+
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1418
|
+
/* @__PURE__ */ jsx("nav", { className: "flex flex-col", children: navItems.map((item, index) => /* @__PURE__ */ jsx(
|
|
1419
|
+
Pressable,
|
|
1420
|
+
{
|
|
1421
|
+
href: item.link,
|
|
1422
|
+
className: "flex h-15 items-center rounded-md px-4 text-left text-base leading-[3.75] font-normal text-muted-foreground ring-ring/10 outline-ring/50 transition-all hover:bg-muted focus-visible:ring-4 focus-visible:outline-1",
|
|
1423
|
+
onClick: onClose,
|
|
1424
|
+
children: item.name
|
|
1425
|
+
},
|
|
1426
|
+
`nav-link-${index}`
|
|
1427
|
+
)) }),
|
|
1428
|
+
renderMobileActions
|
|
1429
|
+
] }) })
|
|
1385
1430
|
}
|
|
1386
1431
|
);
|
|
1387
1432
|
};
|
|
@@ -1160,7 +1160,7 @@ var NavbarMobileMenu = ({
|
|
|
1160
1160
|
"data-state": open ? "open" : "closed",
|
|
1161
1161
|
children: [
|
|
1162
1162
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-
|
|
1163
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1164
1164
|
"button",
|
|
1165
1165
|
{
|
|
1166
1166
|
onClick: onClose,
|
|
@@ -1382,8 +1382,8 @@ var NavbarSplitCta = ({
|
|
|
1382
1382
|
open: isOpen,
|
|
1383
1383
|
onClose: () => setIsOpen(false),
|
|
1384
1384
|
title: "Navigation Menu",
|
|
1385
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-
|
|
1386
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1385
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1386
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-0", children: menuSlot ? menuSlot : renderMenu?.map(
|
|
1387
1387
|
(item, index) => item.items ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
|
|
1388
1388
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-sm font-medium text-muted-foreground", children: item.title }),
|
|
1389
1389
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1 pl-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
package/dist/navbar-split-cta.js
CHANGED
|
@@ -1138,7 +1138,7 @@ var NavbarMobileMenu = ({
|
|
|
1138
1138
|
"data-state": open ? "open" : "closed",
|
|
1139
1139
|
children: [
|
|
1140
1140
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1141
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-
|
|
1141
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxs(
|
|
1142
1142
|
"button",
|
|
1143
1143
|
{
|
|
1144
1144
|
onClick: onClose,
|
|
@@ -1360,8 +1360,8 @@ var NavbarSplitCta = ({
|
|
|
1360
1360
|
open: isOpen,
|
|
1361
1361
|
onClose: () => setIsOpen(false),
|
|
1362
1362
|
title: "Navigation Menu",
|
|
1363
|
-
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-
|
|
1364
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
1363
|
+
children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-sm mx-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1364
|
+
/* @__PURE__ */ jsx("div", { className: "pt-0", children: menuSlot ? menuSlot : renderMenu?.map(
|
|
1365
1365
|
(item, index) => item.items ? /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
1366
1366
|
/* @__PURE__ */ jsx("div", { className: "mb-2 text-sm font-medium text-muted-foreground", children: item.title }),
|
|
1367
1367
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 pl-2", children: item.items.map((subItem, subIndex) => /* @__PURE__ */ jsxs(
|
|
@@ -1160,7 +1160,7 @@ var NavbarMobileMenu = ({
|
|
|
1160
1160
|
"data-state": open ? "open" : "closed",
|
|
1161
1161
|
children: [
|
|
1162
1162
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1163
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-
|
|
1163
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1164
1164
|
"button",
|
|
1165
1165
|
{
|
|
1166
1166
|
onClick: onClose,
|
|
@@ -1138,7 +1138,7 @@ var NavbarMobileMenu = ({
|
|
|
1138
1138
|
"data-state": open ? "open" : "closed",
|
|
1139
1139
|
children: [
|
|
1140
1140
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1141
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-
|
|
1141
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxs(
|
|
1142
1142
|
"button",
|
|
1143
1143
|
{
|
|
1144
1144
|
onClick: onClose,
|
|
@@ -1162,7 +1162,7 @@ var NavbarMobileMenu = ({
|
|
|
1162
1162
|
"data-state": open ? "open" : "closed",
|
|
1163
1163
|
children: [
|
|
1164
1164
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1165
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-
|
|
1165
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1166
1166
|
"button",
|
|
1167
1167
|
{
|
|
1168
1168
|
onClick: onClose,
|
|
@@ -1139,7 +1139,7 @@ var NavbarMobileMenu = ({
|
|
|
1139
1139
|
"data-state": open ? "open" : "closed",
|
|
1140
1140
|
children: [
|
|
1141
1141
|
/* @__PURE__ */ jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsx("h2", { children: title }) }),
|
|
1142
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-
|
|
1142
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-0 right-0 p-4 bg-background flex justify-end items-center z-10 w-screen", children: /* @__PURE__ */ jsxs(
|
|
1143
1143
|
"button",
|
|
1144
1144
|
{
|
|
1145
1145
|
onClick: onClose,
|