@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
@@ -992,6 +992,111 @@ var NavbarLogo = ({
992
992
  }
993
993
  );
994
994
  };
995
+ var NavbarMobileMenu = ({
996
+ open,
997
+ onClose,
998
+ children,
999
+ className,
1000
+ contentClassName,
1001
+ title = "Mobile Navigation"
1002
+ }) => {
1003
+ React__namespace.useEffect(() => {
1004
+ if (open) {
1005
+ const originalOverflow = document.body.style.overflow;
1006
+ document.body.style.overflow = "hidden";
1007
+ return () => {
1008
+ document.body.style.overflow = originalOverflow;
1009
+ };
1010
+ }
1011
+ }, [open]);
1012
+ if (!open) return null;
1013
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1014
+ "div",
1015
+ {
1016
+ className: cn(
1017
+ "fixed inset-0 z-998 flex flex-col bg-background",
1018
+ "animate-in slide-in-from-top duration-300",
1019
+ "data-[state=closed]:animate-out data-[state=closed]:slide-out-to-top data-[state=closed]:duration-300",
1020
+ className
1021
+ ),
1022
+ "data-state": open ? "open" : "closed",
1023
+ children: [
1024
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
1025
+ /* @__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(
1026
+ "button",
1027
+ {
1028
+ onClick: onClose,
1029
+ 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",
1030
+ "aria-label": "Close mobile menu",
1031
+ children: [
1032
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
1033
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1034
+ ]
1035
+ }
1036
+ ) }),
1037
+ /* @__PURE__ */ jsxRuntime.jsx(
1038
+ "div",
1039
+ {
1040
+ className: cn(
1041
+ "h-full overflow-y-auto pt-20 pb-8 px-4 sm:px-6",
1042
+ contentClassName
1043
+ ),
1044
+ children
1045
+ }
1046
+ )
1047
+ ]
1048
+ }
1049
+ );
1050
+ };
1051
+ var platformIconMap = {
1052
+ instagram: "cib/instagram",
1053
+ linkedin: "cib/linkedin",
1054
+ google: "cib/google",
1055
+ facebook: "cib/facebook",
1056
+ tiktok: "cib/tiktok",
1057
+ youtube: "cib/youtube",
1058
+ yelp: "cib/yelp",
1059
+ spotify: "cib/spotify",
1060
+ apple: "cib/apple",
1061
+ x: "line-md/twitter-x"
1062
+ };
1063
+ var SocialLinkIcon = React__namespace.forwardRef(
1064
+ ({
1065
+ platformName,
1066
+ label,
1067
+ iconSize = 20,
1068
+ iconColor,
1069
+ iconClassName,
1070
+ className,
1071
+ ...pressableProps
1072
+ }, ref) => {
1073
+ const iconName = platformIconMap[platformName];
1074
+ const accessibleLabel = label || platformName;
1075
+ return /* @__PURE__ */ jsxRuntime.jsx(
1076
+ Pressable,
1077
+ {
1078
+ ref,
1079
+ "aria-label": accessibleLabel,
1080
+ className: cn(
1081
+ "inline-flex items-center justify-center transition-colors",
1082
+ className
1083
+ ),
1084
+ ...pressableProps,
1085
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1086
+ DynamicIcon,
1087
+ {
1088
+ name: iconName,
1089
+ size: iconSize,
1090
+ color: iconColor,
1091
+ className: iconClassName,
1092
+ alt: accessibleLabel
1093
+ }
1094
+ )
1095
+ }
1096
+ );
1097
+ }
1098
+ );
1099
+ SocialLinkIcon.displayName = "SocialLinkIcon";
995
1100
  function NavigationMenu({
996
1101
  className,
997
1102
  children,
@@ -1129,6 +1234,8 @@ var NavbarTransparentOverlay = ({
1129
1234
  navClassName,
1130
1235
  navigationMenuClassName,
1131
1236
  actionsClassName,
1237
+ mobileMenuClassName,
1238
+ socialLinksClassName,
1132
1239
  logo,
1133
1240
  logoSlot,
1134
1241
  logoClassName,
@@ -1138,6 +1245,8 @@ var NavbarTransparentOverlay = ({
1138
1245
  authActionsSlot,
1139
1246
  mobileAuthActions,
1140
1247
  mobileAuthActionsSlot,
1248
+ socialLinks,
1249
+ socialLinksSlot,
1141
1250
  layoutVariant = "fullScreenContainerizedLinks",
1142
1251
  background,
1143
1252
  spacing,
@@ -1156,14 +1265,7 @@ var NavbarTransparentOverlay = ({
1156
1265
  window.addEventListener("scroll", handleScroll);
1157
1266
  return () => window.removeEventListener("scroll", handleScroll);
1158
1267
  }, []);
1159
- React.useEffect(() => {
1160
- if (typeof document === "undefined") return;
1161
- document.body.style.overflow = isOpen ? "hidden" : "auto";
1162
- return () => {
1163
- document.body.style.overflow = "auto";
1164
- };
1165
- }, [isOpen]);
1166
- const toggleMenu = () => setIsOpen(!isOpen);
1268
+ const handleMobileMenuClose = () => setIsOpen(false);
1167
1269
  const renderNavigation = React.useMemo(() => {
1168
1270
  if (navigationSlot) return navigationSlot;
1169
1271
  if (!navItems || navItems.length === 0) return null;
@@ -1218,35 +1320,6 @@ var NavbarTransparentOverlay = ({
1218
1320
  );
1219
1321
  });
1220
1322
  }, [authActionsSlot, authActions, isScrolled]);
1221
- const renderMobileAuthActions = React.useMemo(() => {
1222
- if (mobileAuthActionsSlot) return mobileAuthActionsSlot;
1223
- if (!mobileAuthActions || mobileAuthActions.length === 0) return null;
1224
- return mobileAuthActions.map((action, index) => {
1225
- const {
1226
- label,
1227
- icon,
1228
- iconAfter,
1229
- children,
1230
- className: actionClassName,
1231
- ...pressableProps
1232
- } = action;
1233
- return /* @__PURE__ */ jsxRuntime.jsx(
1234
- Pressable,
1235
- {
1236
- asButton: true,
1237
- className: cn("min-w-[200px]", actionClassName),
1238
- onClick: () => setIsOpen(false),
1239
- ...pressableProps,
1240
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1241
- icon,
1242
- label,
1243
- iconAfter
1244
- ] })
1245
- },
1246
- index
1247
- );
1248
- });
1249
- }, [mobileAuthActionsSlot, mobileAuthActions]);
1250
1323
  const {
1251
1324
  sectionClasses,
1252
1325
  containerWrapperClasses,
@@ -1256,18 +1329,18 @@ var NavbarTransparentOverlay = ({
1256
1329
  sectionContainerMaxWidth,
1257
1330
  spacingOverride
1258
1331
  } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
1259
- return /* @__PURE__ */ jsxRuntime.jsxs(
1260
- Section,
1261
- {
1262
- background,
1263
- spacing: spacingOverride ?? spacing,
1264
- className: sectionClasses,
1265
- pattern,
1266
- patternOpacity,
1267
- containerClassName: sectionContainerClassName,
1268
- containerMaxWidth: sectionContainerMaxWidth,
1269
- children: [
1270
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx(
1332
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1333
+ /* @__PURE__ */ jsxRuntime.jsx(
1334
+ Section,
1335
+ {
1336
+ background,
1337
+ spacing: spacingOverride ?? spacing,
1338
+ className: sectionClasses,
1339
+ pattern,
1340
+ patternOpacity,
1341
+ containerClassName: sectionContainerClassName,
1342
+ containerMaxWidth: sectionContainerMaxWidth,
1343
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx(
1271
1344
  "nav",
1272
1345
  {
1273
1346
  className: cn(
@@ -1307,92 +1380,140 @@ var NavbarTransparentOverlay = ({
1307
1380
  children: renderAuthActions
1308
1381
  }
1309
1382
  ),
1310
- /* @__PURE__ */ jsxRuntime.jsxs(
1311
- "button",
1383
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
1384
+ Pressable,
1312
1385
  {
1313
- onClick: toggleMenu,
1386
+ variant: "ghost",
1387
+ size: "icon",
1388
+ asButton: true,
1389
+ "aria-label": "Open menu",
1390
+ onClick: () => setIsOpen(true),
1314
1391
  className: cn(
1315
- "z-50 flex h-10 w-10 flex-col items-center justify-center gap-1.5 lg:hidden"
1392
+ "size-11",
1393
+ !isScrolled && "hover:bg-white/10"
1316
1394
  ),
1317
- "aria-label": "Toggle menu",
1318
- children: [
1319
- /* @__PURE__ */ jsxRuntime.jsx(
1320
- "span",
1321
- {
1322
- className: cn(
1323
- "h-0.5 w-6 transition-all duration-300",
1324
- isOpen ? "translate-y-2 rotate-45 bg-foreground" : isScrolled ? "bg-foreground" : "bg-white"
1325
- )
1326
- }
1327
- ),
1328
- /* @__PURE__ */ jsxRuntime.jsx(
1329
- "span",
1330
- {
1331
- className: cn(
1332
- "h-0.5 w-6 transition-all duration-300",
1333
- isOpen ? "opacity-0" : isScrolled ? "bg-foreground" : "bg-white"
1334
- )
1335
- }
1336
- ),
1337
- /* @__PURE__ */ jsxRuntime.jsx(
1338
- "span",
1339
- {
1340
- className: cn(
1341
- "h-0.5 w-6 transition-all duration-300",
1342
- isOpen ? "-translate-y-2 -rotate-45 bg-foreground" : isScrolled ? "bg-foreground" : "bg-white"
1343
- )
1344
- }
1345
- )
1346
- ]
1395
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1396
+ DynamicIcon,
1397
+ {
1398
+ name: "lucide/menu",
1399
+ size: 16,
1400
+ className: cn(
1401
+ isScrolled ? "stroke-foreground" : "stroke-white"
1402
+ )
1403
+ }
1404
+ )
1347
1405
  }
1348
- )
1406
+ ) })
1349
1407
  ] }) })
1350
1408
  }
1351
- ) }),
1352
- /* @__PURE__ */ jsxRuntime.jsx(
1409
+ ) })
1410
+ }
1411
+ ),
1412
+ /* @__PURE__ */ jsxRuntime.jsx(
1413
+ MobileNavigationMenu,
1414
+ {
1415
+ open: isOpen,
1416
+ onClose: handleMobileMenuClose,
1417
+ navItems,
1418
+ mobileAuthActions,
1419
+ mobileAuthActionsSlot,
1420
+ socialLinks,
1421
+ socialLinksSlot,
1422
+ mobileMenuClassName,
1423
+ socialLinksClassName
1424
+ }
1425
+ )
1426
+ ] });
1427
+ };
1428
+ var MobileNavigationMenu = ({
1429
+ open,
1430
+ onClose,
1431
+ navItems,
1432
+ mobileAuthActions,
1433
+ mobileAuthActionsSlot,
1434
+ socialLinks,
1435
+ socialLinksSlot,
1436
+ mobileMenuClassName,
1437
+ socialLinksClassName
1438
+ }) => {
1439
+ const renderMobileAuthActions = React.useMemo(() => {
1440
+ if (mobileAuthActionsSlot) return mobileAuthActionsSlot;
1441
+ if (!mobileAuthActions || mobileAuthActions.length === 0) return null;
1442
+ return mobileAuthActions.map((action, index) => {
1443
+ const {
1444
+ label,
1445
+ icon,
1446
+ iconAfter,
1447
+ children,
1448
+ className: actionClassName,
1449
+ ...pressableProps
1450
+ } = action;
1451
+ return /* @__PURE__ */ jsxRuntime.jsx(
1452
+ Pressable,
1453
+ {
1454
+ asButton: true,
1455
+ className: cn("min-w-[200px]", actionClassName),
1456
+ onClick: onClose,
1457
+ ...pressableProps,
1458
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1459
+ icon,
1460
+ label,
1461
+ iconAfter
1462
+ ] })
1463
+ },
1464
+ index
1465
+ );
1466
+ });
1467
+ }, [mobileAuthActionsSlot, mobileAuthActions, onClose]);
1468
+ const renderSocialLinks = React.useMemo(() => {
1469
+ if (socialLinksSlot) return socialLinksSlot;
1470
+ if (!socialLinks || socialLinks.length === 0) return null;
1471
+ return socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
1472
+ SocialLinkIcon,
1473
+ {
1474
+ platformName: link.platformName,
1475
+ href: link.href,
1476
+ label: link.label,
1477
+ iconSize: 24,
1478
+ className: "text-white/70 transition-all duration-300 hover:text-white hover:scale-110"
1479
+ },
1480
+ link.platformName
1481
+ ));
1482
+ }, [socialLinksSlot, socialLinks]);
1483
+ return /* @__PURE__ */ jsxRuntime.jsx(
1484
+ NavbarMobileMenu,
1485
+ {
1486
+ open,
1487
+ onClose,
1488
+ title: "Mobile Navigation",
1489
+ className: cn("bg-black/95", mobileMenuClassName),
1490
+ contentClassName: "flex flex-col items-center justify-center",
1491
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
1492
+ /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
1493
+ Pressable,
1494
+ {
1495
+ href: item.url,
1496
+ className: "text-3xl font-medium text-white transition-all duration-300 hover:text-white/80",
1497
+ onClick: onClose,
1498
+ children: [
1499
+ item.icon ?? (item.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 24 })),
1500
+ item.title
1501
+ ]
1502
+ },
1503
+ index
1504
+ )) }),
1505
+ renderMobileAuthActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-12 flex flex-col items-center gap-4", children: renderMobileAuthActions }),
1506
+ renderSocialLinks && /* @__PURE__ */ jsxRuntime.jsx(
1353
1507
  "div",
1354
1508
  {
1355
1509
  className: cn(
1356
- "fixed inset-0 z-40 bg-background transition-all duration-500 lg:hidden",
1357
- isOpen ? "opacity-100 pointer-events-auto" : "opacity-0 pointer-events-none"
1510
+ "mt-12 flex flex-row flex-wrap items-center justify-center gap-6",
1511
+ socialLinksClassName
1358
1512
  ),
1359
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center", children: [
1360
- /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex flex-col items-center gap-8", children: navItems?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
1361
- Pressable,
1362
- {
1363
- href: item.url,
1364
- className: cn(
1365
- "text-3xl font-medium text-foreground transition-all duration-300",
1366
- isOpen ? "translate-y-0 opacity-100" : "translate-y-4 opacity-0"
1367
- ),
1368
- style: {
1369
- transitionDelay: isOpen ? `${index * 100}ms` : "0ms"
1370
- },
1371
- onClick: () => setIsOpen(false),
1372
- children: [
1373
- item.icon ?? (item.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 24 })),
1374
- item.title
1375
- ]
1376
- },
1377
- index
1378
- )) }),
1379
- /* @__PURE__ */ jsxRuntime.jsx(
1380
- "div",
1381
- {
1382
- className: cn(
1383
- "mt-12 flex flex-col items-center gap-4 transition-all duration-300",
1384
- isOpen ? "translate-y-0 opacity-100" : "translate-y-4 opacity-0"
1385
- ),
1386
- style: {
1387
- transitionDelay: isOpen ? `${(navItems?.length ?? 0) * 100}ms` : "0ms"
1388
- },
1389
- children: renderMobileAuthActions
1390
- }
1391
- )
1392
- ] })
1513
+ children: renderSocialLinks
1393
1514
  }
1394
1515
  )
1395
- ]
1516
+ ] })
1396
1517
  }
1397
1518
  );
1398
1519
  };
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { SocialPlatformName } from './social-link-icon.cjs';
3
4
  import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-Bz_A5vLU.cjs';
4
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';
7
+ import './pressable.cjs';
6
8
  import 'class-variance-authority';
7
9
  import './button-variants-lRElsmTc.cjs';
8
10
  import 'class-variance-authority/types';
@@ -13,6 +15,17 @@ interface NavItem {
13
15
  icon?: React.ReactNode;
14
16
  iconName?: string;
15
17
  }
18
+ /**
19
+ * Social link configuration for transparent overlay navbar
20
+ */
21
+ interface NavbarTransparentOverlaySocialLink {
22
+ /** Social platform name - determines which icon to display */
23
+ platformName: SocialPlatformName;
24
+ /** URL to the social profile */
25
+ href: string;
26
+ /** Optional label for accessibility (defaults to platform name) */
27
+ label?: string;
28
+ }
16
29
  /**
17
30
  * Props for the NavbarTransparentOverlay component
18
31
  */
@@ -37,6 +50,14 @@ interface NavbarTransparentOverlayProps {
37
50
  * Additional CSS classes for the actions container
38
51
  */
39
52
  actionsClassName?: string;
53
+ /**
54
+ * Additional CSS classes for the mobile menu
55
+ */
56
+ mobileMenuClassName?: string;
57
+ /**
58
+ * Additional CSS classes for the social links container
59
+ */
60
+ socialLinksClassName?: string;
40
61
  /**
41
62
  * Logo configuration
42
63
  */
@@ -73,6 +94,14 @@ interface NavbarTransparentOverlayProps {
73
94
  * Custom slot for mobile auth actions (overrides mobileAuthActions array)
74
95
  */
75
96
  mobileAuthActionsSlot?: React.ReactNode;
97
+ /**
98
+ * Social links displayed in mobile menu
99
+ */
100
+ socialLinks?: NavbarTransparentOverlaySocialLink[];
101
+ /**
102
+ * Custom slot for social links (overrides socialLinks array)
103
+ */
104
+ socialLinksSlot?: React.ReactNode;
76
105
  /**
77
106
  * Background style for the section
78
107
  */
@@ -107,6 +136,6 @@ interface NavbarTransparentOverlayProps {
107
136
  * with a staggered effect. The hamburger menu transforms into an X when open. Perfect for
108
137
  * landing pages, portfolios, and creative websites with hero sections.
109
138
  */
110
- declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
139
+ declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, mobileMenuClassName, socialLinksClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, socialLinks, socialLinksSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
111
140
 
112
141
  export { NavbarTransparentOverlay, type NavbarTransparentOverlayProps };
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { SocialPlatformName } from './social-link-icon.js';
3
4
  import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-Bi_ClKrO.js';
4
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';
7
+ import './pressable.js';
6
8
  import 'class-variance-authority';
7
9
  import './button-variants-lRElsmTc.js';
8
10
  import 'class-variance-authority/types';
@@ -13,6 +15,17 @@ interface NavItem {
13
15
  icon?: React.ReactNode;
14
16
  iconName?: string;
15
17
  }
18
+ /**
19
+ * Social link configuration for transparent overlay navbar
20
+ */
21
+ interface NavbarTransparentOverlaySocialLink {
22
+ /** Social platform name - determines which icon to display */
23
+ platformName: SocialPlatformName;
24
+ /** URL to the social profile */
25
+ href: string;
26
+ /** Optional label for accessibility (defaults to platform name) */
27
+ label?: string;
28
+ }
16
29
  /**
17
30
  * Props for the NavbarTransparentOverlay component
18
31
  */
@@ -37,6 +50,14 @@ interface NavbarTransparentOverlayProps {
37
50
  * Additional CSS classes for the actions container
38
51
  */
39
52
  actionsClassName?: string;
53
+ /**
54
+ * Additional CSS classes for the mobile menu
55
+ */
56
+ mobileMenuClassName?: string;
57
+ /**
58
+ * Additional CSS classes for the social links container
59
+ */
60
+ socialLinksClassName?: string;
40
61
  /**
41
62
  * Logo configuration
42
63
  */
@@ -73,6 +94,14 @@ interface NavbarTransparentOverlayProps {
73
94
  * Custom slot for mobile auth actions (overrides mobileAuthActions array)
74
95
  */
75
96
  mobileAuthActionsSlot?: React.ReactNode;
97
+ /**
98
+ * Social links displayed in mobile menu
99
+ */
100
+ socialLinks?: NavbarTransparentOverlaySocialLink[];
101
+ /**
102
+ * Custom slot for social links (overrides socialLinks array)
103
+ */
104
+ socialLinksSlot?: React.ReactNode;
76
105
  /**
77
106
  * Background style for the section
78
107
  */
@@ -107,6 +136,6 @@ interface NavbarTransparentOverlayProps {
107
136
  * with a staggered effect. The hamburger menu transforms into an X when open. Perfect for
108
137
  * landing pages, portfolios, and creative websites with hero sections.
109
138
  */
110
- declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
139
+ declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, mobileMenuClassName, socialLinksClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, socialLinks, socialLinksSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
111
140
 
112
141
  export { NavbarTransparentOverlay, type NavbarTransparentOverlayProps };