@opensite/ui 0.9.4 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/navbar-animated-preview.cjs +71 -29
- package/dist/navbar-animated-preview.js +71 -29
- package/dist/navbar-centered-menu.cjs +101 -31
- package/dist/navbar-centered-menu.js +101 -31
- package/dist/navbar-dark-icons.cjs +72 -30
- package/dist/navbar-dark-icons.js +72 -30
- package/dist/navbar-dropdown-menu.cjs +97 -30
- package/dist/navbar-dropdown-menu.js +97 -30
- package/dist/navbar-education-platform.cjs +71 -26
- package/dist/navbar-education-platform.js +71 -26
- package/dist/navbar-enterprise-mega.cjs +71 -29
- package/dist/navbar-enterprise-mega.js +71 -29
- package/dist/navbar-feature-grid.cjs +81 -28
- package/dist/navbar-feature-grid.js +81 -28
- package/dist/navbar-floating-pill.cjs +71 -26
- package/dist/navbar-floating-pill.js +71 -26
- package/dist/navbar-fullscreen-menu.cjs +71 -26
- package/dist/navbar-fullscreen-menu.js +72 -27
- package/dist/navbar-icon-links.cjs +72 -27
- package/dist/navbar-icon-links.js +72 -27
- package/dist/navbar-image-preview.cjs +2 -2
- package/dist/navbar-image-preview.js +2 -2
- package/dist/navbar-mega-menu.cjs +71 -40
- package/dist/navbar-mega-menu.js +71 -40
- package/dist/navbar-multi-column-groups.cjs +2 -2
- package/dist/navbar-multi-column-groups.js +2 -2
- package/dist/navbar-platform-resources.cjs +71 -26
- package/dist/navbar-platform-resources.js +71 -26
- package/dist/navbar-search-focused.cjs +2 -2
- package/dist/navbar-search-focused.js +2 -2
- package/dist/navbar-sidebar-mobile.cjs +2 -2
- package/dist/navbar-sidebar-mobile.js +2 -2
- package/dist/navbar-simple-links.cjs +72 -27
- package/dist/navbar-simple-links.js +72 -27
- package/dist/navbar-split-cta.cjs +2 -2
- package/dist/navbar-split-cta.js +2 -2
- package/dist/navbar-sticky-compact.cjs +2 -2
- package/dist/navbar-sticky-compact.js +2 -2
- package/dist/navbar-tabbed-sections.cjs +2 -2
- package/dist/navbar-tabbed-sections.js +2 -2
- package/dist/navbar-transparent-overlay.cjs +2 -2
- package/dist/navbar-transparent-overlay.js +2 -2
- package/dist/registry.cjs +242 -345
- package/dist/registry.js +242 -345
- package/package.json +6 -1
|
@@ -1154,6 +1154,66 @@ function Separator({
|
|
|
1154
1154
|
}
|
|
1155
1155
|
);
|
|
1156
1156
|
}
|
|
1157
|
+
var NavbarLogo = ({
|
|
1158
|
+
logo,
|
|
1159
|
+
logoSlot,
|
|
1160
|
+
logoClassName,
|
|
1161
|
+
optixFlowConfig
|
|
1162
|
+
}) => {
|
|
1163
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
1164
|
+
if (!logo) return null;
|
|
1165
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1166
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1167
|
+
Pressable,
|
|
1168
|
+
{
|
|
1169
|
+
href: logo.url || "/",
|
|
1170
|
+
className: cn("flex items-center", logoClassName),
|
|
1171
|
+
children: hasResponsiveSources ? (
|
|
1172
|
+
// Responsive logo with desktop/mobile sources
|
|
1173
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1174
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1175
|
+
img.Img,
|
|
1176
|
+
{
|
|
1177
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1178
|
+
className: cn(
|
|
1179
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1180
|
+
logo.className
|
|
1181
|
+
),
|
|
1182
|
+
alt: logo.alt || "Logo",
|
|
1183
|
+
optixFlowConfig
|
|
1184
|
+
}
|
|
1185
|
+
),
|
|
1186
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1187
|
+
img.Img,
|
|
1188
|
+
{
|
|
1189
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1190
|
+
className: cn(
|
|
1191
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1192
|
+
logo.className
|
|
1193
|
+
),
|
|
1194
|
+
alt: logo.alt || "Logo",
|
|
1195
|
+
optixFlowConfig
|
|
1196
|
+
}
|
|
1197
|
+
)
|
|
1198
|
+
] })
|
|
1199
|
+
) : logo.src ? (
|
|
1200
|
+
// Standard single logo image
|
|
1201
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1202
|
+
img.Img,
|
|
1203
|
+
{
|
|
1204
|
+
src: logo.src,
|
|
1205
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1206
|
+
alt: logo.alt || "Logo",
|
|
1207
|
+
optixFlowConfig
|
|
1208
|
+
}
|
|
1209
|
+
)
|
|
1210
|
+
) : (
|
|
1211
|
+
// Text-based logo (title as string or React element)
|
|
1212
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1213
|
+
)
|
|
1214
|
+
}
|
|
1215
|
+
);
|
|
1216
|
+
};
|
|
1157
1217
|
|
|
1158
1218
|
// lib/mediaPlaceholders.ts
|
|
1159
1219
|
var logoPlaceholders = {
|
|
@@ -1301,14 +1361,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1301
1361
|
),
|
|
1302
1362
|
// Navigation wrapper classes (for border and shadow)
|
|
1303
1363
|
navWrapperClasses: cn(
|
|
1304
|
-
"w-full",
|
|
1364
|
+
"w-full h-16 items-center",
|
|
1305
1365
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1306
1366
|
),
|
|
1307
1367
|
// Section container configuration for full-width navbars
|
|
1308
1368
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1309
1369
|
sectionContainerMaxWidth: "full",
|
|
1310
1370
|
// Spacing adjustment for Section component
|
|
1311
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1371
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1312
1372
|
};
|
|
1313
1373
|
}
|
|
1314
1374
|
var NavbarEducationPlatform = ({
|
|
@@ -1337,29 +1397,6 @@ var NavbarEducationPlatform = ({
|
|
|
1337
1397
|
optixFlowConfig
|
|
1338
1398
|
}) => {
|
|
1339
1399
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
1340
|
-
const renderLogo = React.useMemo(() => {
|
|
1341
|
-
if (logoSlot) return logoSlot;
|
|
1342
|
-
if (!logo) return null;
|
|
1343
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1344
|
-
Pressable,
|
|
1345
|
-
{
|
|
1346
|
-
href: logo.url || "/",
|
|
1347
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1348
|
-
children: [
|
|
1349
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1350
|
-
img.Img,
|
|
1351
|
-
{
|
|
1352
|
-
src: logo.src,
|
|
1353
|
-
alt: logo.alt || "Logo",
|
|
1354
|
-
className: cn("h-8 dark:invert", logo.className),
|
|
1355
|
-
optixFlowConfig
|
|
1356
|
-
}
|
|
1357
|
-
),
|
|
1358
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
|
|
1359
|
-
]
|
|
1360
|
-
}
|
|
1361
|
-
);
|
|
1362
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1363
1400
|
const renderAuthActions = React.useMemo(() => {
|
|
1364
1401
|
if (authActionsSlot) return authActionsSlot;
|
|
1365
1402
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1411,7 +1448,15 @@ var NavbarEducationPlatform = ({
|
|
|
1411
1448
|
),
|
|
1412
1449
|
children: [
|
|
1413
1450
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
|
|
1414
|
-
|
|
1451
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1452
|
+
NavbarLogo,
|
|
1453
|
+
{
|
|
1454
|
+
logo,
|
|
1455
|
+
logoSlot,
|
|
1456
|
+
logoClassName,
|
|
1457
|
+
optixFlowConfig
|
|
1458
|
+
}
|
|
1459
|
+
),
|
|
1415
1460
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1416
1461
|
"div",
|
|
1417
1462
|
{
|
|
@@ -1130,6 +1130,66 @@ function Separator({
|
|
|
1130
1130
|
}
|
|
1131
1131
|
);
|
|
1132
1132
|
}
|
|
1133
|
+
var NavbarLogo = ({
|
|
1134
|
+
logo,
|
|
1135
|
+
logoSlot,
|
|
1136
|
+
logoClassName,
|
|
1137
|
+
optixFlowConfig
|
|
1138
|
+
}) => {
|
|
1139
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
1140
|
+
if (!logo) return null;
|
|
1141
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1142
|
+
return /* @__PURE__ */ jsx(
|
|
1143
|
+
Pressable,
|
|
1144
|
+
{
|
|
1145
|
+
href: logo.url || "/",
|
|
1146
|
+
className: cn("flex items-center", logoClassName),
|
|
1147
|
+
children: hasResponsiveSources ? (
|
|
1148
|
+
// Responsive logo with desktop/mobile sources
|
|
1149
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1150
|
+
/* @__PURE__ */ jsx(
|
|
1151
|
+
Img,
|
|
1152
|
+
{
|
|
1153
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1154
|
+
className: cn(
|
|
1155
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1156
|
+
logo.className
|
|
1157
|
+
),
|
|
1158
|
+
alt: logo.alt || "Logo",
|
|
1159
|
+
optixFlowConfig
|
|
1160
|
+
}
|
|
1161
|
+
),
|
|
1162
|
+
/* @__PURE__ */ jsx(
|
|
1163
|
+
Img,
|
|
1164
|
+
{
|
|
1165
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1166
|
+
className: cn(
|
|
1167
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1168
|
+
logo.className
|
|
1169
|
+
),
|
|
1170
|
+
alt: logo.alt || "Logo",
|
|
1171
|
+
optixFlowConfig
|
|
1172
|
+
}
|
|
1173
|
+
)
|
|
1174
|
+
] })
|
|
1175
|
+
) : logo.src ? (
|
|
1176
|
+
// Standard single logo image
|
|
1177
|
+
/* @__PURE__ */ jsx(
|
|
1178
|
+
Img,
|
|
1179
|
+
{
|
|
1180
|
+
src: logo.src,
|
|
1181
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1182
|
+
alt: logo.alt || "Logo",
|
|
1183
|
+
optixFlowConfig
|
|
1184
|
+
}
|
|
1185
|
+
)
|
|
1186
|
+
) : (
|
|
1187
|
+
// Text-based logo (title as string or React element)
|
|
1188
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1189
|
+
)
|
|
1190
|
+
}
|
|
1191
|
+
);
|
|
1192
|
+
};
|
|
1133
1193
|
|
|
1134
1194
|
// lib/mediaPlaceholders.ts
|
|
1135
1195
|
var logoPlaceholders = {
|
|
@@ -1277,14 +1337,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1277
1337
|
),
|
|
1278
1338
|
// Navigation wrapper classes (for border and shadow)
|
|
1279
1339
|
navWrapperClasses: cn(
|
|
1280
|
-
"w-full",
|
|
1340
|
+
"w-full h-16 items-center",
|
|
1281
1341
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1282
1342
|
),
|
|
1283
1343
|
// Section container configuration for full-width navbars
|
|
1284
1344
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1285
1345
|
sectionContainerMaxWidth: "full",
|
|
1286
1346
|
// Spacing adjustment for Section component
|
|
1287
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1347
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1288
1348
|
};
|
|
1289
1349
|
}
|
|
1290
1350
|
var NavbarEducationPlatform = ({
|
|
@@ -1313,29 +1373,6 @@ var NavbarEducationPlatform = ({
|
|
|
1313
1373
|
optixFlowConfig
|
|
1314
1374
|
}) => {
|
|
1315
1375
|
const [isOpen, setIsOpen] = useState(false);
|
|
1316
|
-
const renderLogo = useMemo(() => {
|
|
1317
|
-
if (logoSlot) return logoSlot;
|
|
1318
|
-
if (!logo) return null;
|
|
1319
|
-
return /* @__PURE__ */ jsxs(
|
|
1320
|
-
Pressable,
|
|
1321
|
-
{
|
|
1322
|
-
href: logo.url || "/",
|
|
1323
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1324
|
-
children: [
|
|
1325
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1326
|
-
Img,
|
|
1327
|
-
{
|
|
1328
|
-
src: logo.src,
|
|
1329
|
-
alt: logo.alt || "Logo",
|
|
1330
|
-
className: cn("h-8 dark:invert", logo.className),
|
|
1331
|
-
optixFlowConfig
|
|
1332
|
-
}
|
|
1333
|
-
),
|
|
1334
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: logo.title }) : logo.title)
|
|
1335
|
-
]
|
|
1336
|
-
}
|
|
1337
|
-
);
|
|
1338
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1339
1376
|
const renderAuthActions = useMemo(() => {
|
|
1340
1377
|
if (authActionsSlot) return authActionsSlot;
|
|
1341
1378
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1387,7 +1424,15 @@ var NavbarEducationPlatform = ({
|
|
|
1387
1424
|
),
|
|
1388
1425
|
children: [
|
|
1389
1426
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
|
|
1390
|
-
|
|
1427
|
+
/* @__PURE__ */ jsx(
|
|
1428
|
+
NavbarLogo,
|
|
1429
|
+
{
|
|
1430
|
+
logo,
|
|
1431
|
+
logoSlot,
|
|
1432
|
+
logoClassName,
|
|
1433
|
+
optixFlowConfig
|
|
1434
|
+
}
|
|
1435
|
+
),
|
|
1391
1436
|
/* @__PURE__ */ jsx(
|
|
1392
1437
|
"div",
|
|
1393
1438
|
{
|
|
@@ -1203,6 +1203,66 @@ function SheetTitle({
|
|
|
1203
1203
|
}
|
|
1204
1204
|
);
|
|
1205
1205
|
}
|
|
1206
|
+
var NavbarLogo = ({
|
|
1207
|
+
logo,
|
|
1208
|
+
logoSlot,
|
|
1209
|
+
logoClassName,
|
|
1210
|
+
optixFlowConfig
|
|
1211
|
+
}) => {
|
|
1212
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
1213
|
+
if (!logo) return null;
|
|
1214
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1215
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1216
|
+
Pressable,
|
|
1217
|
+
{
|
|
1218
|
+
href: logo.url || "/",
|
|
1219
|
+
className: cn("flex items-center", logoClassName),
|
|
1220
|
+
children: hasResponsiveSources ? (
|
|
1221
|
+
// Responsive logo with desktop/mobile sources
|
|
1222
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1223
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1224
|
+
img.Img,
|
|
1225
|
+
{
|
|
1226
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1227
|
+
className: cn(
|
|
1228
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1229
|
+
logo.className
|
|
1230
|
+
),
|
|
1231
|
+
alt: logo.alt || "Logo",
|
|
1232
|
+
optixFlowConfig
|
|
1233
|
+
}
|
|
1234
|
+
),
|
|
1235
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1236
|
+
img.Img,
|
|
1237
|
+
{
|
|
1238
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1239
|
+
className: cn(
|
|
1240
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1241
|
+
logo.className
|
|
1242
|
+
),
|
|
1243
|
+
alt: logo.alt || "Logo",
|
|
1244
|
+
optixFlowConfig
|
|
1245
|
+
}
|
|
1246
|
+
)
|
|
1247
|
+
] })
|
|
1248
|
+
) : logo.src ? (
|
|
1249
|
+
// Standard single logo image
|
|
1250
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1251
|
+
img.Img,
|
|
1252
|
+
{
|
|
1253
|
+
src: logo.src,
|
|
1254
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1255
|
+
alt: logo.alt || "Logo",
|
|
1256
|
+
optixFlowConfig
|
|
1257
|
+
}
|
|
1258
|
+
)
|
|
1259
|
+
) : (
|
|
1260
|
+
// Text-based logo (title as string or React element)
|
|
1261
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1262
|
+
)
|
|
1263
|
+
}
|
|
1264
|
+
);
|
|
1265
|
+
};
|
|
1206
1266
|
|
|
1207
1267
|
// lib/mediaPlaceholders.ts
|
|
1208
1268
|
var logoPlaceholders = {
|
|
@@ -1233,14 +1293,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1233
1293
|
),
|
|
1234
1294
|
// Navigation wrapper classes (for border and shadow)
|
|
1235
1295
|
navWrapperClasses: cn(
|
|
1236
|
-
"w-full",
|
|
1296
|
+
"w-full h-16 items-center",
|
|
1237
1297
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1238
1298
|
),
|
|
1239
1299
|
// Section container configuration for full-width navbars
|
|
1240
1300
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1241
1301
|
sectionContainerMaxWidth: "full",
|
|
1242
1302
|
// Spacing adjustment for Section component
|
|
1243
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1303
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1244
1304
|
};
|
|
1245
1305
|
}
|
|
1246
1306
|
var MOBILE_BREAKPOINT = 1024;
|
|
@@ -1283,32 +1343,6 @@ var NavbarEnterpriseMega = ({
|
|
|
1283
1343
|
const handleMobileMenu = () => {
|
|
1284
1344
|
setOpen(!open);
|
|
1285
1345
|
};
|
|
1286
|
-
const renderLogo = React.useMemo(() => {
|
|
1287
|
-
if (logoSlot) return logoSlot;
|
|
1288
|
-
if (!logo) return null;
|
|
1289
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1290
|
-
Pressable,
|
|
1291
|
-
{
|
|
1292
|
-
href: logo.url || "/",
|
|
1293
|
-
className: cn(
|
|
1294
|
-
"flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
|
|
1295
|
-
logoClassName
|
|
1296
|
-
),
|
|
1297
|
-
children: [
|
|
1298
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1299
|
-
img.Img,
|
|
1300
|
-
{
|
|
1301
|
-
src: logo.src,
|
|
1302
|
-
alt: logo.alt || "Logo",
|
|
1303
|
-
className: cn("inline-block size-6", logo.className),
|
|
1304
|
-
optixFlowConfig
|
|
1305
|
-
}
|
|
1306
|
-
),
|
|
1307
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
|
|
1308
|
-
]
|
|
1309
|
-
}
|
|
1310
|
-
);
|
|
1311
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1312
1346
|
const renderActions = React.useMemo(() => {
|
|
1313
1347
|
if (actionsSlot) return actionsSlot;
|
|
1314
1348
|
if (!actions || actions.length === 0) return null;
|
|
@@ -1359,7 +1393,15 @@ var NavbarEnterpriseMega = ({
|
|
|
1359
1393
|
navClassName
|
|
1360
1394
|
),
|
|
1361
1395
|
children: [
|
|
1362
|
-
|
|
1396
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1397
|
+
NavbarLogo,
|
|
1398
|
+
{
|
|
1399
|
+
logo,
|
|
1400
|
+
logoSlot,
|
|
1401
|
+
logoClassName,
|
|
1402
|
+
optixFlowConfig
|
|
1403
|
+
}
|
|
1404
|
+
),
|
|
1363
1405
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1364
1406
|
NavigationMenu,
|
|
1365
1407
|
{
|
|
@@ -1179,6 +1179,66 @@ function SheetTitle({
|
|
|
1179
1179
|
}
|
|
1180
1180
|
);
|
|
1181
1181
|
}
|
|
1182
|
+
var NavbarLogo = ({
|
|
1183
|
+
logo,
|
|
1184
|
+
logoSlot,
|
|
1185
|
+
logoClassName,
|
|
1186
|
+
optixFlowConfig
|
|
1187
|
+
}) => {
|
|
1188
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
1189
|
+
if (!logo) return null;
|
|
1190
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1191
|
+
return /* @__PURE__ */ jsx(
|
|
1192
|
+
Pressable,
|
|
1193
|
+
{
|
|
1194
|
+
href: logo.url || "/",
|
|
1195
|
+
className: cn("flex items-center", logoClassName),
|
|
1196
|
+
children: hasResponsiveSources ? (
|
|
1197
|
+
// Responsive logo with desktop/mobile sources
|
|
1198
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1199
|
+
/* @__PURE__ */ jsx(
|
|
1200
|
+
Img,
|
|
1201
|
+
{
|
|
1202
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1203
|
+
className: cn(
|
|
1204
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1205
|
+
logo.className
|
|
1206
|
+
),
|
|
1207
|
+
alt: logo.alt || "Logo",
|
|
1208
|
+
optixFlowConfig
|
|
1209
|
+
}
|
|
1210
|
+
),
|
|
1211
|
+
/* @__PURE__ */ jsx(
|
|
1212
|
+
Img,
|
|
1213
|
+
{
|
|
1214
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1215
|
+
className: cn(
|
|
1216
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1217
|
+
logo.className
|
|
1218
|
+
),
|
|
1219
|
+
alt: logo.alt || "Logo",
|
|
1220
|
+
optixFlowConfig
|
|
1221
|
+
}
|
|
1222
|
+
)
|
|
1223
|
+
] })
|
|
1224
|
+
) : logo.src ? (
|
|
1225
|
+
// Standard single logo image
|
|
1226
|
+
/* @__PURE__ */ jsx(
|
|
1227
|
+
Img,
|
|
1228
|
+
{
|
|
1229
|
+
src: logo.src,
|
|
1230
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1231
|
+
alt: logo.alt || "Logo",
|
|
1232
|
+
optixFlowConfig
|
|
1233
|
+
}
|
|
1234
|
+
)
|
|
1235
|
+
) : (
|
|
1236
|
+
// Text-based logo (title as string or React element)
|
|
1237
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1238
|
+
)
|
|
1239
|
+
}
|
|
1240
|
+
);
|
|
1241
|
+
};
|
|
1182
1242
|
|
|
1183
1243
|
// lib/mediaPlaceholders.ts
|
|
1184
1244
|
var logoPlaceholders = {
|
|
@@ -1209,14 +1269,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1209
1269
|
),
|
|
1210
1270
|
// Navigation wrapper classes (for border and shadow)
|
|
1211
1271
|
navWrapperClasses: cn(
|
|
1212
|
-
"w-full",
|
|
1272
|
+
"w-full h-16 items-center",
|
|
1213
1273
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1214
1274
|
),
|
|
1215
1275
|
// Section container configuration for full-width navbars
|
|
1216
1276
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1217
1277
|
sectionContainerMaxWidth: "full",
|
|
1218
1278
|
// Spacing adjustment for Section component
|
|
1219
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1279
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1220
1280
|
};
|
|
1221
1281
|
}
|
|
1222
1282
|
var MOBILE_BREAKPOINT = 1024;
|
|
@@ -1259,32 +1319,6 @@ var NavbarEnterpriseMega = ({
|
|
|
1259
1319
|
const handleMobileMenu = () => {
|
|
1260
1320
|
setOpen(!open);
|
|
1261
1321
|
};
|
|
1262
|
-
const renderLogo = useMemo(() => {
|
|
1263
|
-
if (logoSlot) return logoSlot;
|
|
1264
|
-
if (!logo) return null;
|
|
1265
|
-
return /* @__PURE__ */ jsxs(
|
|
1266
|
-
Pressable,
|
|
1267
|
-
{
|
|
1268
|
-
href: logo.url || "/",
|
|
1269
|
-
className: cn(
|
|
1270
|
-
"flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
|
|
1271
|
-
logoClassName
|
|
1272
|
-
),
|
|
1273
|
-
children: [
|
|
1274
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1275
|
-
Img,
|
|
1276
|
-
{
|
|
1277
|
-
src: logo.src,
|
|
1278
|
-
alt: logo.alt || "Logo",
|
|
1279
|
-
className: cn("inline-block size-6", logo.className),
|
|
1280
|
-
optixFlowConfig
|
|
1281
|
-
}
|
|
1282
|
-
),
|
|
1283
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
|
|
1284
|
-
]
|
|
1285
|
-
}
|
|
1286
|
-
);
|
|
1287
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1288
1322
|
const renderActions = useMemo(() => {
|
|
1289
1323
|
if (actionsSlot) return actionsSlot;
|
|
1290
1324
|
if (!actions || actions.length === 0) return null;
|
|
@@ -1335,7 +1369,15 @@ var NavbarEnterpriseMega = ({
|
|
|
1335
1369
|
navClassName
|
|
1336
1370
|
),
|
|
1337
1371
|
children: [
|
|
1338
|
-
|
|
1372
|
+
/* @__PURE__ */ jsx(
|
|
1373
|
+
NavbarLogo,
|
|
1374
|
+
{
|
|
1375
|
+
logo,
|
|
1376
|
+
logoSlot,
|
|
1377
|
+
logoClassName,
|
|
1378
|
+
optixFlowConfig
|
|
1379
|
+
}
|
|
1380
|
+
),
|
|
1339
1381
|
/* @__PURE__ */ jsx(
|
|
1340
1382
|
NavigationMenu,
|
|
1341
1383
|
{
|
|
@@ -6,10 +6,10 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var img = require('@page-speed/img');
|
|
10
9
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
11
10
|
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
12
11
|
var SheetPrimitive = require('@radix-ui/react-dialog');
|
|
12
|
+
var img = require('@page-speed/img');
|
|
13
13
|
|
|
14
14
|
function _interopNamespace(e) {
|
|
15
15
|
if (e && e.__esModule) return e;
|
|
@@ -1218,6 +1218,66 @@ function SheetTitle({
|
|
|
1218
1218
|
}
|
|
1219
1219
|
);
|
|
1220
1220
|
}
|
|
1221
|
+
var NavbarLogo = ({
|
|
1222
|
+
logo,
|
|
1223
|
+
logoSlot,
|
|
1224
|
+
logoClassName,
|
|
1225
|
+
optixFlowConfig
|
|
1226
|
+
}) => {
|
|
1227
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
1228
|
+
if (!logo) return null;
|
|
1229
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1230
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1231
|
+
Pressable,
|
|
1232
|
+
{
|
|
1233
|
+
href: logo.url || "/",
|
|
1234
|
+
className: cn("flex items-center", logoClassName),
|
|
1235
|
+
children: hasResponsiveSources ? (
|
|
1236
|
+
// Responsive logo with desktop/mobile sources
|
|
1237
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1238
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1239
|
+
img.Img,
|
|
1240
|
+
{
|
|
1241
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1242
|
+
className: cn(
|
|
1243
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1244
|
+
logo.className
|
|
1245
|
+
),
|
|
1246
|
+
alt: logo.alt || "Logo",
|
|
1247
|
+
optixFlowConfig
|
|
1248
|
+
}
|
|
1249
|
+
),
|
|
1250
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1251
|
+
img.Img,
|
|
1252
|
+
{
|
|
1253
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1254
|
+
className: cn(
|
|
1255
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1256
|
+
logo.className
|
|
1257
|
+
),
|
|
1258
|
+
alt: logo.alt || "Logo",
|
|
1259
|
+
optixFlowConfig
|
|
1260
|
+
}
|
|
1261
|
+
)
|
|
1262
|
+
] })
|
|
1263
|
+
) : logo.src ? (
|
|
1264
|
+
// Standard single logo image
|
|
1265
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1266
|
+
img.Img,
|
|
1267
|
+
{
|
|
1268
|
+
src: logo.src,
|
|
1269
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1270
|
+
alt: logo.alt || "Logo",
|
|
1271
|
+
optixFlowConfig
|
|
1272
|
+
}
|
|
1273
|
+
)
|
|
1274
|
+
) : (
|
|
1275
|
+
// Text-based logo (title as string or React element)
|
|
1276
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1277
|
+
)
|
|
1278
|
+
}
|
|
1279
|
+
);
|
|
1280
|
+
};
|
|
1221
1281
|
|
|
1222
1282
|
// lib/mediaPlaceholders.ts
|
|
1223
1283
|
var logoPlaceholders = {
|
|
@@ -1248,14 +1308,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1248
1308
|
),
|
|
1249
1309
|
// Navigation wrapper classes (for border and shadow)
|
|
1250
1310
|
navWrapperClasses: cn(
|
|
1251
|
-
"w-full",
|
|
1311
|
+
"w-full h-16 items-center",
|
|
1252
1312
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1253
1313
|
),
|
|
1254
1314
|
// Section container configuration for full-width navbars
|
|
1255
1315
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1256
1316
|
sectionContainerMaxWidth: "full",
|
|
1257
1317
|
// Spacing adjustment for Section component
|
|
1258
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1318
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1259
1319
|
};
|
|
1260
1320
|
}
|
|
1261
1321
|
var NavbarFeatureGrid = ({
|
|
@@ -1280,29 +1340,6 @@ var NavbarFeatureGrid = ({
|
|
|
1280
1340
|
patternOpacity,
|
|
1281
1341
|
optixFlowConfig
|
|
1282
1342
|
}) => {
|
|
1283
|
-
const renderLogo = React.useMemo(() => {
|
|
1284
|
-
if (logoSlot) return logoSlot;
|
|
1285
|
-
if (!logo) return null;
|
|
1286
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1287
|
-
Pressable,
|
|
1288
|
-
{
|
|
1289
|
-
href: logo.url || "/",
|
|
1290
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1291
|
-
children: [
|
|
1292
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
-
img.Img,
|
|
1294
|
-
{
|
|
1295
|
-
src: logo.src,
|
|
1296
|
-
className: cn("max-h-8", logo.className),
|
|
1297
|
-
alt: logo.alt || "Logo",
|
|
1298
|
-
optixFlowConfig
|
|
1299
|
-
}
|
|
1300
|
-
),
|
|
1301
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1302
|
-
]
|
|
1303
|
-
}
|
|
1304
|
-
);
|
|
1305
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1306
1343
|
const renderAuthActions = React.useMemo(() => {
|
|
1307
1344
|
if (authActionsSlot) return authActionsSlot;
|
|
1308
1345
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1346,7 +1383,15 @@ var NavbarFeatureGrid = ({
|
|
|
1346
1383
|
{
|
|
1347
1384
|
className: cn("flex items-center justify-between", navClassName),
|
|
1348
1385
|
children: [
|
|
1349
|
-
|
|
1386
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1387
|
+
NavbarLogo,
|
|
1388
|
+
{
|
|
1389
|
+
logo,
|
|
1390
|
+
logoSlot,
|
|
1391
|
+
logoClassName,
|
|
1392
|
+
optixFlowConfig
|
|
1393
|
+
}
|
|
1394
|
+
),
|
|
1350
1395
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1351
1396
|
NavigationMenu,
|
|
1352
1397
|
{
|
|
@@ -1391,7 +1436,15 @@ var NavbarFeatureGrid = ({
|
|
|
1391
1436
|
}
|
|
1392
1437
|
) }),
|
|
1393
1438
|
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "top", className: "max-h-screen overflow-auto", children: [
|
|
1394
|
-
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children:
|
|
1439
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1440
|
+
NavbarLogo,
|
|
1441
|
+
{
|
|
1442
|
+
logo,
|
|
1443
|
+
logoSlot,
|
|
1444
|
+
logoClassName,
|
|
1445
|
+
optixFlowConfig
|
|
1446
|
+
}
|
|
1447
|
+
) }) }),
|
|
1395
1448
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col p-4", children: [
|
|
1396
1449
|
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "single", collapsible: true, className: "mt-4 mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(AccordionItem, { value: "solutions", className: "border-none", children: [
|
|
1397
1450
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "text-base hover:no-underline", children: "Features" }),
|