@opensite/ui 0.9.8 → 1.0.0
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 +1 -1
- package/dist/navbar-animated-preview.js +1 -1
- package/dist/navbar-enterprise-mega.cjs +104 -139
- package/dist/navbar-enterprise-mega.js +104 -139
- package/dist/navbar-fullscreen-menu.cjs +190 -66
- package/dist/navbar-fullscreen-menu.d.cts +4 -0
- package/dist/navbar-fullscreen-menu.d.ts +4 -0
- package/dist/navbar-fullscreen-menu.js +190 -66
- package/dist/navbar-image-preview.cjs +69 -27
- package/dist/navbar-image-preview.js +69 -27
- package/dist/navbar-multi-column-groups.cjs +69 -27
- package/dist/navbar-multi-column-groups.js +69 -27
- package/dist/navbar-search-focused.cjs +69 -24
- package/dist/navbar-search-focused.js +69 -24
- package/dist/navbar-sidebar-mobile.cjs +78 -25
- package/dist/navbar-sidebar-mobile.js +78 -25
- package/dist/navbar-split-cta.cjs +69 -24
- package/dist/navbar-split-cta.js +69 -24
- package/dist/navbar-sticky-compact.cjs +73 -37
- package/dist/navbar-sticky-compact.js +73 -37
- package/dist/navbar-tabbed-sections.cjs +69 -24
- package/dist/navbar-tabbed-sections.js +69 -24
- package/dist/navbar-transparent-overlay.cjs +73 -37
- package/dist/navbar-transparent-overlay.js +73 -37
- package/dist/registry.cjs +294 -446
- package/dist/registry.js +294 -446
- package/package.json +1 -1
|
@@ -911,6 +911,66 @@ var Section = React__default.forwardRef(
|
|
|
911
911
|
}
|
|
912
912
|
);
|
|
913
913
|
Section.displayName = "Section";
|
|
914
|
+
var NavbarLogo = ({
|
|
915
|
+
logo,
|
|
916
|
+
logoSlot,
|
|
917
|
+
logoClassName,
|
|
918
|
+
optixFlowConfig
|
|
919
|
+
}) => {
|
|
920
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
921
|
+
if (!logo) return null;
|
|
922
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
923
|
+
return /* @__PURE__ */ jsx(
|
|
924
|
+
Pressable,
|
|
925
|
+
{
|
|
926
|
+
href: logo.url || "/",
|
|
927
|
+
className: cn("flex items-center", logoClassName),
|
|
928
|
+
children: hasResponsiveSources ? (
|
|
929
|
+
// Responsive logo with desktop/mobile sources
|
|
930
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
931
|
+
/* @__PURE__ */ jsx(
|
|
932
|
+
Img,
|
|
933
|
+
{
|
|
934
|
+
src: logo.desktopSrc || logo.src || "",
|
|
935
|
+
className: cn(
|
|
936
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
937
|
+
logo.className
|
|
938
|
+
),
|
|
939
|
+
alt: logo.alt || "Logo",
|
|
940
|
+
optixFlowConfig
|
|
941
|
+
}
|
|
942
|
+
),
|
|
943
|
+
/* @__PURE__ */ jsx(
|
|
944
|
+
Img,
|
|
945
|
+
{
|
|
946
|
+
src: logo.mobileSrc || logo.src || "",
|
|
947
|
+
className: cn(
|
|
948
|
+
"h-8 w-auto object-contain md:hidden",
|
|
949
|
+
logo.className
|
|
950
|
+
),
|
|
951
|
+
alt: logo.alt || "Logo",
|
|
952
|
+
optixFlowConfig
|
|
953
|
+
}
|
|
954
|
+
)
|
|
955
|
+
] })
|
|
956
|
+
) : logo.src ? (
|
|
957
|
+
// Standard single logo image
|
|
958
|
+
/* @__PURE__ */ jsx(
|
|
959
|
+
Img,
|
|
960
|
+
{
|
|
961
|
+
src: logo.src,
|
|
962
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
963
|
+
alt: logo.alt || "Logo",
|
|
964
|
+
optixFlowConfig
|
|
965
|
+
}
|
|
966
|
+
)
|
|
967
|
+
) : (
|
|
968
|
+
// Text-based logo (title as string or React element)
|
|
969
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
970
|
+
)
|
|
971
|
+
}
|
|
972
|
+
);
|
|
973
|
+
};
|
|
914
974
|
function NavigationMenu({
|
|
915
975
|
className,
|
|
916
976
|
children,
|
|
@@ -1195,42 +1255,6 @@ var NavbarStickyCompact = ({
|
|
|
1195
1255
|
window.addEventListener("scroll", handleScroll);
|
|
1196
1256
|
return () => window.removeEventListener("scroll", handleScroll);
|
|
1197
1257
|
}, []);
|
|
1198
|
-
const renderLogo = useMemo(() => {
|
|
1199
|
-
if (logoSlot) return logoSlot;
|
|
1200
|
-
if (!logo) return null;
|
|
1201
|
-
return /* @__PURE__ */ jsxs(
|
|
1202
|
-
Pressable,
|
|
1203
|
-
{
|
|
1204
|
-
href: logo.url || "/",
|
|
1205
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1206
|
-
children: [
|
|
1207
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1208
|
-
Img,
|
|
1209
|
-
{
|
|
1210
|
-
src: logo.src,
|
|
1211
|
-
className: cn(
|
|
1212
|
-
"transition-all duration-300",
|
|
1213
|
-
isScrolled ? "h-6" : "h-8",
|
|
1214
|
-
logo.className
|
|
1215
|
-
),
|
|
1216
|
-
alt: logo.alt || "Logo",
|
|
1217
|
-
optixFlowConfig
|
|
1218
|
-
}
|
|
1219
|
-
),
|
|
1220
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx(
|
|
1221
|
-
"span",
|
|
1222
|
-
{
|
|
1223
|
-
className: cn(
|
|
1224
|
-
"font-semibold transition-all duration-300",
|
|
1225
|
-
isScrolled ? "text-base" : "text-lg"
|
|
1226
|
-
),
|
|
1227
|
-
children: logo.title
|
|
1228
|
-
}
|
|
1229
|
-
) : logo.title)
|
|
1230
|
-
]
|
|
1231
|
-
}
|
|
1232
|
-
);
|
|
1233
|
-
}, [logoSlot, logo, logoClassName, isScrolled, optixFlowConfig]);
|
|
1234
1258
|
const renderAuthActions = useMemo(() => {
|
|
1235
1259
|
if (authActionsSlot) return authActionsSlot;
|
|
1236
1260
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1364,7 +1388,19 @@ var NavbarStickyCompact = ({
|
|
|
1364
1388
|
navClassName
|
|
1365
1389
|
),
|
|
1366
1390
|
children: [
|
|
1367
|
-
|
|
1391
|
+
/* @__PURE__ */ jsx(
|
|
1392
|
+
NavbarLogo,
|
|
1393
|
+
{
|
|
1394
|
+
logo,
|
|
1395
|
+
logoSlot,
|
|
1396
|
+
logoClassName: cn(
|
|
1397
|
+
isScrolled ? "[&_img]:h-6 [&_span]:text-base" : "[&_img]:h-8 [&_span]:text-lg",
|
|
1398
|
+
"[&_img]:transition-all [&_img]:duration-300 [&_span]:transition-all [&_span]:duration-300",
|
|
1399
|
+
logoClassName
|
|
1400
|
+
),
|
|
1401
|
+
optixFlowConfig
|
|
1402
|
+
}
|
|
1403
|
+
),
|
|
1368
1404
|
/* @__PURE__ */ jsx(NavigationMenu, { className: "hidden lg:flex", children: /* @__PURE__ */ jsx(NavigationMenuList, { children: renderMenu }) }),
|
|
1369
1405
|
/* @__PURE__ */ jsx(
|
|
1370
1406
|
"div",
|
|
@@ -936,6 +936,66 @@ var Section = React__namespace.default.forwardRef(
|
|
|
936
936
|
}
|
|
937
937
|
);
|
|
938
938
|
Section.displayName = "Section";
|
|
939
|
+
var NavbarLogo = ({
|
|
940
|
+
logo,
|
|
941
|
+
logoSlot,
|
|
942
|
+
logoClassName,
|
|
943
|
+
optixFlowConfig
|
|
944
|
+
}) => {
|
|
945
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
946
|
+
if (!logo) return null;
|
|
947
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
948
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
949
|
+
Pressable,
|
|
950
|
+
{
|
|
951
|
+
href: logo.url || "/",
|
|
952
|
+
className: cn("flex items-center", logoClassName),
|
|
953
|
+
children: hasResponsiveSources ? (
|
|
954
|
+
// Responsive logo with desktop/mobile sources
|
|
955
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
956
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
957
|
+
img.Img,
|
|
958
|
+
{
|
|
959
|
+
src: logo.desktopSrc || logo.src || "",
|
|
960
|
+
className: cn(
|
|
961
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
962
|
+
logo.className
|
|
963
|
+
),
|
|
964
|
+
alt: logo.alt || "Logo",
|
|
965
|
+
optixFlowConfig
|
|
966
|
+
}
|
|
967
|
+
),
|
|
968
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
969
|
+
img.Img,
|
|
970
|
+
{
|
|
971
|
+
src: logo.mobileSrc || logo.src || "",
|
|
972
|
+
className: cn(
|
|
973
|
+
"h-8 w-auto object-contain md:hidden",
|
|
974
|
+
logo.className
|
|
975
|
+
),
|
|
976
|
+
alt: logo.alt || "Logo",
|
|
977
|
+
optixFlowConfig
|
|
978
|
+
}
|
|
979
|
+
)
|
|
980
|
+
] })
|
|
981
|
+
) : logo.src ? (
|
|
982
|
+
// Standard single logo image
|
|
983
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
+
img.Img,
|
|
985
|
+
{
|
|
986
|
+
src: logo.src,
|
|
987
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
988
|
+
alt: logo.alt || "Logo",
|
|
989
|
+
optixFlowConfig
|
|
990
|
+
}
|
|
991
|
+
)
|
|
992
|
+
) : (
|
|
993
|
+
// Text-based logo (title as string or React element)
|
|
994
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
995
|
+
)
|
|
996
|
+
}
|
|
997
|
+
);
|
|
998
|
+
};
|
|
939
999
|
function NavigationMenu({
|
|
940
1000
|
className,
|
|
941
1001
|
children,
|
|
@@ -1269,29 +1329,6 @@ var NavbarTabbedSections = ({
|
|
|
1269
1329
|
optixFlowConfig
|
|
1270
1330
|
}) => {
|
|
1271
1331
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
1272
|
-
const renderLogo = React.useMemo(() => {
|
|
1273
|
-
if (logoSlot) return logoSlot;
|
|
1274
|
-
if (!logo) return null;
|
|
1275
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1276
|
-
Pressable,
|
|
1277
|
-
{
|
|
1278
|
-
href: logo.url || "/",
|
|
1279
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1280
|
-
children: [
|
|
1281
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1282
|
-
img.Img,
|
|
1283
|
-
{
|
|
1284
|
-
src: logo.src,
|
|
1285
|
-
className: cn("h-8", logo.className),
|
|
1286
|
-
alt: logo.alt || "Logo",
|
|
1287
|
-
optixFlowConfig
|
|
1288
|
-
}
|
|
1289
|
-
),
|
|
1290
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
|
|
1291
|
-
]
|
|
1292
|
-
}
|
|
1293
|
-
);
|
|
1294
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1295
1332
|
const renderAuthActions = React.useMemo(() => {
|
|
1296
1333
|
if (authActionsSlot) return authActionsSlot;
|
|
1297
1334
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1453,7 +1490,15 @@ var NavbarTabbedSections = ({
|
|
|
1453
1490
|
),
|
|
1454
1491
|
children: [
|
|
1455
1492
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-8", children: [
|
|
1456
|
-
|
|
1493
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
|
+
NavbarLogo,
|
|
1495
|
+
{
|
|
1496
|
+
logo,
|
|
1497
|
+
logoSlot,
|
|
1498
|
+
logoClassName,
|
|
1499
|
+
optixFlowConfig
|
|
1500
|
+
}
|
|
1501
|
+
),
|
|
1457
1502
|
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenu, { className: "hidden lg:flex", children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { children: renderMenu }) })
|
|
1458
1503
|
] }),
|
|
1459
1504
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -912,6 +912,66 @@ var Section = React__default.forwardRef(
|
|
|
912
912
|
}
|
|
913
913
|
);
|
|
914
914
|
Section.displayName = "Section";
|
|
915
|
+
var NavbarLogo = ({
|
|
916
|
+
logo,
|
|
917
|
+
logoSlot,
|
|
918
|
+
logoClassName,
|
|
919
|
+
optixFlowConfig
|
|
920
|
+
}) => {
|
|
921
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
922
|
+
if (!logo) return null;
|
|
923
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
924
|
+
return /* @__PURE__ */ jsx(
|
|
925
|
+
Pressable,
|
|
926
|
+
{
|
|
927
|
+
href: logo.url || "/",
|
|
928
|
+
className: cn("flex items-center", logoClassName),
|
|
929
|
+
children: hasResponsiveSources ? (
|
|
930
|
+
// Responsive logo with desktop/mobile sources
|
|
931
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
932
|
+
/* @__PURE__ */ jsx(
|
|
933
|
+
Img,
|
|
934
|
+
{
|
|
935
|
+
src: logo.desktopSrc || logo.src || "",
|
|
936
|
+
className: cn(
|
|
937
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
938
|
+
logo.className
|
|
939
|
+
),
|
|
940
|
+
alt: logo.alt || "Logo",
|
|
941
|
+
optixFlowConfig
|
|
942
|
+
}
|
|
943
|
+
),
|
|
944
|
+
/* @__PURE__ */ jsx(
|
|
945
|
+
Img,
|
|
946
|
+
{
|
|
947
|
+
src: logo.mobileSrc || logo.src || "",
|
|
948
|
+
className: cn(
|
|
949
|
+
"h-8 w-auto object-contain md:hidden",
|
|
950
|
+
logo.className
|
|
951
|
+
),
|
|
952
|
+
alt: logo.alt || "Logo",
|
|
953
|
+
optixFlowConfig
|
|
954
|
+
}
|
|
955
|
+
)
|
|
956
|
+
] })
|
|
957
|
+
) : logo.src ? (
|
|
958
|
+
// Standard single logo image
|
|
959
|
+
/* @__PURE__ */ jsx(
|
|
960
|
+
Img,
|
|
961
|
+
{
|
|
962
|
+
src: logo.src,
|
|
963
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
964
|
+
alt: logo.alt || "Logo",
|
|
965
|
+
optixFlowConfig
|
|
966
|
+
}
|
|
967
|
+
)
|
|
968
|
+
) : (
|
|
969
|
+
// Text-based logo (title as string or React element)
|
|
970
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
971
|
+
)
|
|
972
|
+
}
|
|
973
|
+
);
|
|
974
|
+
};
|
|
915
975
|
function NavigationMenu({
|
|
916
976
|
className,
|
|
917
977
|
children,
|
|
@@ -1245,29 +1305,6 @@ var NavbarTabbedSections = ({
|
|
|
1245
1305
|
optixFlowConfig
|
|
1246
1306
|
}) => {
|
|
1247
1307
|
const [isOpen, setIsOpen] = useState(false);
|
|
1248
|
-
const renderLogo = useMemo(() => {
|
|
1249
|
-
if (logoSlot) return logoSlot;
|
|
1250
|
-
if (!logo) return null;
|
|
1251
|
-
return /* @__PURE__ */ jsxs(
|
|
1252
|
-
Pressable,
|
|
1253
|
-
{
|
|
1254
|
-
href: logo.url || "/",
|
|
1255
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1256
|
-
children: [
|
|
1257
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1258
|
-
Img,
|
|
1259
|
-
{
|
|
1260
|
-
src: logo.src,
|
|
1261
|
-
className: cn("h-8", logo.className),
|
|
1262
|
-
alt: logo.alt || "Logo",
|
|
1263
|
-
optixFlowConfig
|
|
1264
|
-
}
|
|
1265
|
-
),
|
|
1266
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
|
|
1267
|
-
]
|
|
1268
|
-
}
|
|
1269
|
-
);
|
|
1270
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1271
1308
|
const renderAuthActions = useMemo(() => {
|
|
1272
1309
|
if (authActionsSlot) return authActionsSlot;
|
|
1273
1310
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1429,7 +1466,15 @@ var NavbarTabbedSections = ({
|
|
|
1429
1466
|
),
|
|
1430
1467
|
children: [
|
|
1431
1468
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
|
|
1432
|
-
|
|
1469
|
+
/* @__PURE__ */ jsx(
|
|
1470
|
+
NavbarLogo,
|
|
1471
|
+
{
|
|
1472
|
+
logo,
|
|
1473
|
+
logoSlot,
|
|
1474
|
+
logoClassName,
|
|
1475
|
+
optixFlowConfig
|
|
1476
|
+
}
|
|
1477
|
+
),
|
|
1433
1478
|
/* @__PURE__ */ jsx(NavigationMenu, { className: "hidden lg:flex", children: /* @__PURE__ */ jsx(NavigationMenuList, { children: renderMenu }) })
|
|
1434
1479
|
] }),
|
|
1435
1480
|
/* @__PURE__ */ jsx(
|
|
@@ -932,6 +932,66 @@ var Section = React__namespace.default.forwardRef(
|
|
|
932
932
|
}
|
|
933
933
|
);
|
|
934
934
|
Section.displayName = "Section";
|
|
935
|
+
var NavbarLogo = ({
|
|
936
|
+
logo,
|
|
937
|
+
logoSlot,
|
|
938
|
+
logoClassName,
|
|
939
|
+
optixFlowConfig
|
|
940
|
+
}) => {
|
|
941
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
942
|
+
if (!logo) return null;
|
|
943
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
944
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
945
|
+
Pressable,
|
|
946
|
+
{
|
|
947
|
+
href: logo.url || "/",
|
|
948
|
+
className: cn("flex items-center", logoClassName),
|
|
949
|
+
children: hasResponsiveSources ? (
|
|
950
|
+
// Responsive logo with desktop/mobile sources
|
|
951
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
952
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
953
|
+
img.Img,
|
|
954
|
+
{
|
|
955
|
+
src: logo.desktopSrc || logo.src || "",
|
|
956
|
+
className: cn(
|
|
957
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
958
|
+
logo.className
|
|
959
|
+
),
|
|
960
|
+
alt: logo.alt || "Logo",
|
|
961
|
+
optixFlowConfig
|
|
962
|
+
}
|
|
963
|
+
),
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
965
|
+
img.Img,
|
|
966
|
+
{
|
|
967
|
+
src: logo.mobileSrc || logo.src || "",
|
|
968
|
+
className: cn(
|
|
969
|
+
"h-8 w-auto object-contain md:hidden",
|
|
970
|
+
logo.className
|
|
971
|
+
),
|
|
972
|
+
alt: logo.alt || "Logo",
|
|
973
|
+
optixFlowConfig
|
|
974
|
+
}
|
|
975
|
+
)
|
|
976
|
+
] })
|
|
977
|
+
) : logo.src ? (
|
|
978
|
+
// Standard single logo image
|
|
979
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
980
|
+
img.Img,
|
|
981
|
+
{
|
|
982
|
+
src: logo.src,
|
|
983
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
984
|
+
alt: logo.alt || "Logo",
|
|
985
|
+
optixFlowConfig
|
|
986
|
+
}
|
|
987
|
+
)
|
|
988
|
+
) : (
|
|
989
|
+
// Text-based logo (title as string or React element)
|
|
990
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
991
|
+
)
|
|
992
|
+
}
|
|
993
|
+
);
|
|
994
|
+
};
|
|
935
995
|
function NavigationMenu({
|
|
936
996
|
className,
|
|
937
997
|
children,
|
|
@@ -1111,42 +1171,6 @@ var NavbarTransparentOverlay = ({
|
|
|
1111
1171
|
};
|
|
1112
1172
|
}, [isOpen]);
|
|
1113
1173
|
const toggleMenu = () => setIsOpen(!isOpen);
|
|
1114
|
-
const renderLogo = React.useMemo(() => {
|
|
1115
|
-
if (logoSlot) return logoSlot;
|
|
1116
|
-
if (!logo) return null;
|
|
1117
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1118
|
-
Pressable,
|
|
1119
|
-
{
|
|
1120
|
-
href: logo.url || "/",
|
|
1121
|
-
className: cn("z-50 flex items-center gap-2", logoClassName),
|
|
1122
|
-
children: [
|
|
1123
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1124
|
-
img.Img,
|
|
1125
|
-
{
|
|
1126
|
-
src: logo.src,
|
|
1127
|
-
alt: logo.alt || "Logo",
|
|
1128
|
-
className: cn(
|
|
1129
|
-
"h-8 transition-all duration-300",
|
|
1130
|
-
!isScrolled && !isOpen && "brightness-0 invert",
|
|
1131
|
-
logo.className
|
|
1132
|
-
),
|
|
1133
|
-
optixFlowConfig
|
|
1134
|
-
}
|
|
1135
|
-
),
|
|
1136
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1137
|
-
"span",
|
|
1138
|
-
{
|
|
1139
|
-
className: cn(
|
|
1140
|
-
"text-lg font-semibold transition-colors duration-300",
|
|
1141
|
-
!isScrolled && !isOpen ? "text-background" : ""
|
|
1142
|
-
),
|
|
1143
|
-
children: logo.title
|
|
1144
|
-
}
|
|
1145
|
-
) : logo.title)
|
|
1146
|
-
]
|
|
1147
|
-
}
|
|
1148
|
-
);
|
|
1149
|
-
}, [logoSlot, logo, logoClassName, isScrolled, isOpen, optixFlowConfig]);
|
|
1150
1174
|
const renderNavigation = React.useMemo(() => {
|
|
1151
1175
|
if (navigationSlot) return navigationSlot;
|
|
1152
1176
|
if (!navItems || navItems.length === 0) return null;
|
|
@@ -1260,7 +1284,19 @@ var NavbarTransparentOverlay = ({
|
|
|
1260
1284
|
navClassName
|
|
1261
1285
|
),
|
|
1262
1286
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-16 items-center justify-between", children: [
|
|
1263
|
-
|
|
1287
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1288
|
+
NavbarLogo,
|
|
1289
|
+
{
|
|
1290
|
+
logo,
|
|
1291
|
+
logoSlot,
|
|
1292
|
+
logoClassName: cn(
|
|
1293
|
+
"z-50",
|
|
1294
|
+
!isScrolled && !isOpen && "[&_img]:brightness-0 [&_img]:invert [&_span]:text-background",
|
|
1295
|
+
logoClassName
|
|
1296
|
+
),
|
|
1297
|
+
optixFlowConfig
|
|
1298
|
+
}
|
|
1299
|
+
),
|
|
1264
1300
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1265
1301
|
NavigationMenu,
|
|
1266
1302
|
{
|
|
@@ -910,6 +910,66 @@ var Section = React__default.forwardRef(
|
|
|
910
910
|
}
|
|
911
911
|
);
|
|
912
912
|
Section.displayName = "Section";
|
|
913
|
+
var NavbarLogo = ({
|
|
914
|
+
logo,
|
|
915
|
+
logoSlot,
|
|
916
|
+
logoClassName,
|
|
917
|
+
optixFlowConfig
|
|
918
|
+
}) => {
|
|
919
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
920
|
+
if (!logo) return null;
|
|
921
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
922
|
+
return /* @__PURE__ */ jsx(
|
|
923
|
+
Pressable,
|
|
924
|
+
{
|
|
925
|
+
href: logo.url || "/",
|
|
926
|
+
className: cn("flex items-center", logoClassName),
|
|
927
|
+
children: hasResponsiveSources ? (
|
|
928
|
+
// Responsive logo with desktop/mobile sources
|
|
929
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
930
|
+
/* @__PURE__ */ jsx(
|
|
931
|
+
Img,
|
|
932
|
+
{
|
|
933
|
+
src: logo.desktopSrc || logo.src || "",
|
|
934
|
+
className: cn(
|
|
935
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
936
|
+
logo.className
|
|
937
|
+
),
|
|
938
|
+
alt: logo.alt || "Logo",
|
|
939
|
+
optixFlowConfig
|
|
940
|
+
}
|
|
941
|
+
),
|
|
942
|
+
/* @__PURE__ */ jsx(
|
|
943
|
+
Img,
|
|
944
|
+
{
|
|
945
|
+
src: logo.mobileSrc || logo.src || "",
|
|
946
|
+
className: cn(
|
|
947
|
+
"h-8 w-auto object-contain md:hidden",
|
|
948
|
+
logo.className
|
|
949
|
+
),
|
|
950
|
+
alt: logo.alt || "Logo",
|
|
951
|
+
optixFlowConfig
|
|
952
|
+
}
|
|
953
|
+
)
|
|
954
|
+
] })
|
|
955
|
+
) : logo.src ? (
|
|
956
|
+
// Standard single logo image
|
|
957
|
+
/* @__PURE__ */ jsx(
|
|
958
|
+
Img,
|
|
959
|
+
{
|
|
960
|
+
src: logo.src,
|
|
961
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
962
|
+
alt: logo.alt || "Logo",
|
|
963
|
+
optixFlowConfig
|
|
964
|
+
}
|
|
965
|
+
)
|
|
966
|
+
) : (
|
|
967
|
+
// Text-based logo (title as string or React element)
|
|
968
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
969
|
+
)
|
|
970
|
+
}
|
|
971
|
+
);
|
|
972
|
+
};
|
|
913
973
|
function NavigationMenu({
|
|
914
974
|
className,
|
|
915
975
|
children,
|
|
@@ -1089,42 +1149,6 @@ var NavbarTransparentOverlay = ({
|
|
|
1089
1149
|
};
|
|
1090
1150
|
}, [isOpen]);
|
|
1091
1151
|
const toggleMenu = () => setIsOpen(!isOpen);
|
|
1092
|
-
const renderLogo = useMemo(() => {
|
|
1093
|
-
if (logoSlot) return logoSlot;
|
|
1094
|
-
if (!logo) return null;
|
|
1095
|
-
return /* @__PURE__ */ jsxs(
|
|
1096
|
-
Pressable,
|
|
1097
|
-
{
|
|
1098
|
-
href: logo.url || "/",
|
|
1099
|
-
className: cn("z-50 flex items-center gap-2", logoClassName),
|
|
1100
|
-
children: [
|
|
1101
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1102
|
-
Img,
|
|
1103
|
-
{
|
|
1104
|
-
src: logo.src,
|
|
1105
|
-
alt: logo.alt || "Logo",
|
|
1106
|
-
className: cn(
|
|
1107
|
-
"h-8 transition-all duration-300",
|
|
1108
|
-
!isScrolled && !isOpen && "brightness-0 invert",
|
|
1109
|
-
logo.className
|
|
1110
|
-
),
|
|
1111
|
-
optixFlowConfig
|
|
1112
|
-
}
|
|
1113
|
-
),
|
|
1114
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx(
|
|
1115
|
-
"span",
|
|
1116
|
-
{
|
|
1117
|
-
className: cn(
|
|
1118
|
-
"text-lg font-semibold transition-colors duration-300",
|
|
1119
|
-
!isScrolled && !isOpen ? "text-background" : ""
|
|
1120
|
-
),
|
|
1121
|
-
children: logo.title
|
|
1122
|
-
}
|
|
1123
|
-
) : logo.title)
|
|
1124
|
-
]
|
|
1125
|
-
}
|
|
1126
|
-
);
|
|
1127
|
-
}, [logoSlot, logo, logoClassName, isScrolled, isOpen, optixFlowConfig]);
|
|
1128
1152
|
const renderNavigation = useMemo(() => {
|
|
1129
1153
|
if (navigationSlot) return navigationSlot;
|
|
1130
1154
|
if (!navItems || navItems.length === 0) return null;
|
|
@@ -1238,7 +1262,19 @@ var NavbarTransparentOverlay = ({
|
|
|
1238
1262
|
navClassName
|
|
1239
1263
|
),
|
|
1240
1264
|
children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs("div", { className: "flex h-16 items-center justify-between", children: [
|
|
1241
|
-
|
|
1265
|
+
/* @__PURE__ */ jsx(
|
|
1266
|
+
NavbarLogo,
|
|
1267
|
+
{
|
|
1268
|
+
logo,
|
|
1269
|
+
logoSlot,
|
|
1270
|
+
logoClassName: cn(
|
|
1271
|
+
"z-50",
|
|
1272
|
+
!isScrolled && !isOpen && "[&_img]:brightness-0 [&_img]:invert [&_span]:text-background",
|
|
1273
|
+
logoClassName
|
|
1274
|
+
),
|
|
1275
|
+
optixFlowConfig
|
|
1276
|
+
}
|
|
1277
|
+
),
|
|
1242
1278
|
/* @__PURE__ */ jsx(
|
|
1243
1279
|
NavigationMenu,
|
|
1244
1280
|
{
|