@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.
Files changed (47) hide show
  1. package/dist/navbar-animated-preview.cjs +16 -16
  2. package/dist/navbar-animated-preview.js +16 -16
  3. package/dist/navbar-centered-menu.cjs +1 -1
  4. package/dist/navbar-centered-menu.js +1 -1
  5. package/dist/navbar-dark-icons.cjs +1 -1
  6. package/dist/navbar-dark-icons.js +1 -1
  7. package/dist/navbar-dropdown-menu.cjs +1 -1
  8. package/dist/navbar-dropdown-menu.js +1 -1
  9. package/dist/navbar-education-platform.cjs +278 -236
  10. package/dist/navbar-education-platform.d.cts +61 -36
  11. package/dist/navbar-education-platform.d.ts +61 -36
  12. package/dist/navbar-education-platform.js +279 -237
  13. package/dist/navbar-enterprise-mega.cjs +6 -6
  14. package/dist/navbar-enterprise-mega.js +6 -6
  15. package/dist/navbar-feature-grid.cjs +1 -1
  16. package/dist/navbar-feature-grid.js +1 -1
  17. package/dist/navbar-icon-links.cjs +2 -1
  18. package/dist/navbar-icon-links.js +2 -1
  19. package/dist/navbar-image-preview.cjs +129 -50
  20. package/dist/navbar-image-preview.js +128 -50
  21. package/dist/navbar-mega-menu.cjs +1 -1
  22. package/dist/navbar-mega-menu.js +1 -1
  23. package/dist/navbar-multi-column-groups.cjs +53 -49
  24. package/dist/navbar-multi-column-groups.js +53 -49
  25. package/dist/navbar-platform-resources.cjs +5 -4
  26. package/dist/navbar-platform-resources.js +5 -4
  27. package/dist/navbar-search-focused.cjs +1 -1
  28. package/dist/navbar-search-focused.js +1 -1
  29. package/dist/navbar-sidebar-mobile.cjs +235 -166
  30. package/dist/navbar-sidebar-mobile.js +236 -167
  31. package/dist/navbar-simple-links.cjs +228 -184
  32. package/dist/navbar-simple-links.d.cts +15 -3
  33. package/dist/navbar-simple-links.d.ts +15 -3
  34. package/dist/navbar-simple-links.js +228 -183
  35. package/dist/navbar-split-cta.cjs +3 -3
  36. package/dist/navbar-split-cta.js +3 -3
  37. package/dist/navbar-sticky-compact.cjs +1 -1
  38. package/dist/navbar-sticky-compact.js +1 -1
  39. package/dist/navbar-tabbed-sections.cjs +1 -1
  40. package/dist/navbar-tabbed-sections.js +1 -1
  41. package/dist/navbar-transparent-overlay.cjs +244 -123
  42. package/dist/navbar-transparent-overlay.d.cts +30 -1
  43. package/dist/navbar-transparent-overlay.d.ts +30 -1
  44. package/dist/navbar-transparent-overlay.js +244 -123
  45. package/dist/registry.cjs +1008 -894
  46. package/dist/registry.js +1008 -894
  47. 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 AnimatedHamburger = ({ isOpen }) => {
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
- Section,
1411
+ NavbarMobileMenu,
1313
1412
  {
1314
- background,
1315
- spacing: spacingOverride ?? spacing,
1316
- className: sectionClasses,
1317
- pattern,
1318
- patternOpacity,
1319
- containerClassName: sectionContainerClassName,
1320
- containerMaxWidth: sectionContainerMaxWidth,
1321
- children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: navWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
1322
- "nav",
1323
- {
1324
- className: cn("flex items-center justify-between", navClassName),
1325
- children: [
1326
- /* @__PURE__ */ jsx(
1327
- NavbarLogo,
1328
- {
1329
- logo,
1330
- logoSlot,
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-4 right-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsxs(
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-6", children: [
1386
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t pt-4", children: menuSlot ? menuSlot : renderMenu?.map(
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(
@@ -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-4 right-4 z-10", children: /* @__PURE__ */ jsxs(
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-6", children: [
1364
- /* @__PURE__ */ jsx("div", { className: "border-t pt-4", children: menuSlot ? menuSlot : renderMenu?.map(
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-4 right-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsxs(
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-4 right-4 z-10", children: /* @__PURE__ */ jsxs(
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-4 right-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsxs(
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-4 right-4 z-10", children: /* @__PURE__ */ jsxs(
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,