@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.
@@ -934,6 +934,66 @@ var Section = React__namespace.default.forwardRef(
934
934
  }
935
935
  );
936
936
  Section.displayName = "Section";
937
+ var NavbarLogo = ({
938
+ logo,
939
+ logoSlot,
940
+ logoClassName,
941
+ optixFlowConfig
942
+ }) => {
943
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
944
+ if (!logo) return null;
945
+ const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
946
+ return /* @__PURE__ */ jsxRuntime.jsx(
947
+ Pressable,
948
+ {
949
+ href: logo.url || "/",
950
+ className: cn("flex items-center", logoClassName),
951
+ children: hasResponsiveSources ? (
952
+ // Responsive logo with desktop/mobile sources
953
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
954
+ /* @__PURE__ */ jsxRuntime.jsx(
955
+ img.Img,
956
+ {
957
+ src: logo.desktopSrc || logo.src || "",
958
+ className: cn(
959
+ "hidden h-8 w-auto object-contain md:block",
960
+ logo.className
961
+ ),
962
+ alt: logo.alt || "Logo",
963
+ optixFlowConfig
964
+ }
965
+ ),
966
+ /* @__PURE__ */ jsxRuntime.jsx(
967
+ img.Img,
968
+ {
969
+ src: logo.mobileSrc || logo.src || "",
970
+ className: cn(
971
+ "h-8 w-auto object-contain md:hidden",
972
+ logo.className
973
+ ),
974
+ alt: logo.alt || "Logo",
975
+ optixFlowConfig
976
+ }
977
+ )
978
+ ] })
979
+ ) : logo.src ? (
980
+ // Standard single logo image
981
+ /* @__PURE__ */ jsxRuntime.jsx(
982
+ img.Img,
983
+ {
984
+ src: logo.src,
985
+ className: cn("max-h-8 w-auto object-contain", logo.className),
986
+ alt: logo.alt || "Logo",
987
+ optixFlowConfig
988
+ }
989
+ )
990
+ ) : (
991
+ // Text-based logo (title as string or React element)
992
+ logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
993
+ )
994
+ }
995
+ );
996
+ };
937
997
  function NavigationMenu({
938
998
  className,
939
999
  children,
@@ -1371,32 +1431,6 @@ var NavbarImagePreview = ({
1371
1431
  const handleMobileMenu = () => {
1372
1432
  setOpen(!open);
1373
1433
  };
1374
- const renderLogo = React.useMemo(() => {
1375
- if (logoSlot) return logoSlot;
1376
- if (!logo) return null;
1377
- return /* @__PURE__ */ jsxRuntime.jsxs(
1378
- Pressable,
1379
- {
1380
- href: logo.url || "/",
1381
- className: cn(
1382
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
1383
- logoClassName
1384
- ),
1385
- children: [
1386
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
1387
- img.Img,
1388
- {
1389
- src: logo.src,
1390
- alt: logo.alt || "Logo",
1391
- className: cn("inline-block size-8", logo.className),
1392
- optixFlowConfig
1393
- }
1394
- ),
1395
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
1396
- ]
1397
- }
1398
- );
1399
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1400
1434
  const renderNavigation = React.useMemo(() => {
1401
1435
  if (navigationSlot) return navigationSlot;
1402
1436
  if (!navigation || navigation.length === 0) return null;
@@ -1474,7 +1508,15 @@ var NavbarImagePreview = ({
1474
1508
  navClassName
1475
1509
  ),
1476
1510
  children: [
1477
- renderLogo,
1511
+ /* @__PURE__ */ jsxRuntime.jsx(
1512
+ NavbarLogo,
1513
+ {
1514
+ logo,
1515
+ logoSlot,
1516
+ logoClassName,
1517
+ optixFlowConfig
1518
+ }
1519
+ ),
1478
1520
  /* @__PURE__ */ jsxRuntime.jsx(
1479
1521
  NavigationMenu,
1480
1522
  {
@@ -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,
@@ -1348,32 +1408,6 @@ var NavbarImagePreview = ({
1348
1408
  const handleMobileMenu = () => {
1349
1409
  setOpen(!open);
1350
1410
  };
1351
- const renderLogo = useMemo(() => {
1352
- if (logoSlot) return logoSlot;
1353
- if (!logo) return null;
1354
- return /* @__PURE__ */ jsxs(
1355
- Pressable,
1356
- {
1357
- href: logo.url || "/",
1358
- className: cn(
1359
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
1360
- logoClassName
1361
- ),
1362
- children: [
1363
- logo.src && /* @__PURE__ */ jsx(
1364
- Img,
1365
- {
1366
- src: logo.src,
1367
- alt: logo.alt || "Logo",
1368
- className: cn("inline-block size-8", logo.className),
1369
- optixFlowConfig
1370
- }
1371
- ),
1372
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
1373
- ]
1374
- }
1375
- );
1376
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1377
1411
  const renderNavigation = useMemo(() => {
1378
1412
  if (navigationSlot) return navigationSlot;
1379
1413
  if (!navigation || navigation.length === 0) return null;
@@ -1451,7 +1485,15 @@ var NavbarImagePreview = ({
1451
1485
  navClassName
1452
1486
  ),
1453
1487
  children: [
1454
- renderLogo,
1488
+ /* @__PURE__ */ jsx(
1489
+ NavbarLogo,
1490
+ {
1491
+ logo,
1492
+ logoSlot,
1493
+ logoClassName,
1494
+ optixFlowConfig
1495
+ }
1496
+ ),
1455
1497
  /* @__PURE__ */ jsx(
1456
1498
  NavigationMenu,
1457
1499
  {
@@ -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 Accordion({
940
1000
  ...props
941
1001
  }) {
@@ -1291,32 +1351,6 @@ var NavbarMultiColumnGroups = ({
1291
1351
  const handleMobileMenu = () => {
1292
1352
  setOpen(!open);
1293
1353
  };
1294
- const renderLogo = React.useMemo(() => {
1295
- if (logoSlot) return logoSlot;
1296
- if (!logo) return null;
1297
- return /* @__PURE__ */ jsxRuntime.jsxs(
1298
- Pressable,
1299
- {
1300
- href: logo.url || "/",
1301
- className: cn(
1302
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
1303
- logoClassName
1304
- ),
1305
- children: [
1306
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
1307
- img.Img,
1308
- {
1309
- src: logo.src,
1310
- alt: logo.alt || "Logo",
1311
- className: cn("inline-block size-6", logo.className),
1312
- optixFlowConfig
1313
- }
1314
- ),
1315
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
1316
- ]
1317
- }
1318
- );
1319
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1320
1354
  const renderNavigation = React.useMemo(() => {
1321
1355
  if (navigationSlot) return navigationSlot;
1322
1356
  if (!navigation || navigation.length === 0) return null;
@@ -1386,7 +1420,15 @@ var NavbarMultiColumnGroups = ({
1386
1420
  ),
1387
1421
  children: [
1388
1422
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-8", children: [
1389
- renderLogo,
1423
+ /* @__PURE__ */ jsxRuntime.jsx(
1424
+ NavbarLogo,
1425
+ {
1426
+ logo,
1427
+ logoSlot,
1428
+ logoClassName,
1429
+ optixFlowConfig
1430
+ }
1431
+ ),
1390
1432
  /* @__PURE__ */ jsxRuntime.jsx(
1391
1433
  NavigationMenu,
1392
1434
  {
@@ -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 Accordion({
916
976
  ...props
917
977
  }) {
@@ -1267,32 +1327,6 @@ var NavbarMultiColumnGroups = ({
1267
1327
  const handleMobileMenu = () => {
1268
1328
  setOpen(!open);
1269
1329
  };
1270
- const renderLogo = useMemo(() => {
1271
- if (logoSlot) return logoSlot;
1272
- if (!logo) return null;
1273
- return /* @__PURE__ */ jsxs(
1274
- Pressable,
1275
- {
1276
- href: logo.url || "/",
1277
- className: cn(
1278
- "flex max-h-8 items-center gap-2 text-lg font-semibold tracking-tighter",
1279
- logoClassName
1280
- ),
1281
- children: [
1282
- logo.src && /* @__PURE__ */ jsx(
1283
- Img,
1284
- {
1285
- src: logo.src,
1286
- alt: logo.alt || "Logo",
1287
- className: cn("inline-block size-6", logo.className),
1288
- optixFlowConfig
1289
- }
1290
- ),
1291
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden md:inline-block", children: logo.title }) : logo.title)
1292
- ]
1293
- }
1294
- );
1295
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1296
1330
  const renderNavigation = useMemo(() => {
1297
1331
  if (navigationSlot) return navigationSlot;
1298
1332
  if (!navigation || navigation.length === 0) return null;
@@ -1362,7 +1396,15 @@ var NavbarMultiColumnGroups = ({
1362
1396
  ),
1363
1397
  children: [
1364
1398
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
1365
- renderLogo,
1399
+ /* @__PURE__ */ jsx(
1400
+ NavbarLogo,
1401
+ {
1402
+ logo,
1403
+ logoSlot,
1404
+ logoClassName,
1405
+ optixFlowConfig
1406
+ }
1407
+ ),
1366
1408
  /* @__PURE__ */ jsx(
1367
1409
  NavigationMenu,
1368
1410
  {
@@ -934,6 +934,66 @@ var Section = React__namespace.default.forwardRef(
934
934
  }
935
935
  );
936
936
  Section.displayName = "Section";
937
+ var NavbarLogo = ({
938
+ logo,
939
+ logoSlot,
940
+ logoClassName,
941
+ optixFlowConfig
942
+ }) => {
943
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
944
+ if (!logo) return null;
945
+ const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
946
+ return /* @__PURE__ */ jsxRuntime.jsx(
947
+ Pressable,
948
+ {
949
+ href: logo.url || "/",
950
+ className: cn("flex items-center", logoClassName),
951
+ children: hasResponsiveSources ? (
952
+ // Responsive logo with desktop/mobile sources
953
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
954
+ /* @__PURE__ */ jsxRuntime.jsx(
955
+ img.Img,
956
+ {
957
+ src: logo.desktopSrc || logo.src || "",
958
+ className: cn(
959
+ "hidden h-8 w-auto object-contain md:block",
960
+ logo.className
961
+ ),
962
+ alt: logo.alt || "Logo",
963
+ optixFlowConfig
964
+ }
965
+ ),
966
+ /* @__PURE__ */ jsxRuntime.jsx(
967
+ img.Img,
968
+ {
969
+ src: logo.mobileSrc || logo.src || "",
970
+ className: cn(
971
+ "h-8 w-auto object-contain md:hidden",
972
+ logo.className
973
+ ),
974
+ alt: logo.alt || "Logo",
975
+ optixFlowConfig
976
+ }
977
+ )
978
+ ] })
979
+ ) : logo.src ? (
980
+ // Standard single logo image
981
+ /* @__PURE__ */ jsxRuntime.jsx(
982
+ img.Img,
983
+ {
984
+ src: logo.src,
985
+ className: cn("max-h-8 w-auto object-contain", logo.className),
986
+ alt: logo.alt || "Logo",
987
+ optixFlowConfig
988
+ }
989
+ )
990
+ ) : (
991
+ // Text-based logo (title as string or React element)
992
+ logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
993
+ )
994
+ }
995
+ );
996
+ };
937
997
  function NavigationMenu({
938
998
  className,
939
999
  children,
@@ -1172,29 +1232,6 @@ var NavbarSearchFocused = ({
1172
1232
  optixFlowConfig
1173
1233
  }) => {
1174
1234
  const [isOpen, setIsOpen] = React.useState(false);
1175
- const renderLogo = React.useMemo(() => {
1176
- if (logoSlot) return logoSlot;
1177
- if (!logo) return null;
1178
- return /* @__PURE__ */ jsxRuntime.jsxs(
1179
- Pressable,
1180
- {
1181
- href: logo.url || "/",
1182
- className: cn("flex shrink-0 items-center gap-2", logoClassName),
1183
- children: [
1184
- logo.src && /* @__PURE__ */ jsxRuntime.jsx(
1185
- img.Img,
1186
- {
1187
- src: logo.src,
1188
- alt: logo.alt || "Logo",
1189
- className: cn("h-8", logo.className),
1190
- optixFlowConfig
1191
- }
1192
- ),
1193
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden text-lg font-semibold sm:inline-block", children: logo.title }) : logo.title)
1194
- ]
1195
- }
1196
- );
1197
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1198
1235
  const renderNavigation = (items) => {
1199
1236
  if (navigationSlot) return navigationSlot;
1200
1237
  if (!items || items.length === 0) return null;
@@ -1287,7 +1324,15 @@ var NavbarSearchFocused = ({
1287
1324
  navClassName
1288
1325
  ),
1289
1326
  children: [
1290
- renderLogo,
1327
+ /* @__PURE__ */ jsxRuntime.jsx(
1328
+ NavbarLogo,
1329
+ {
1330
+ logo,
1331
+ logoSlot,
1332
+ logoClassName,
1333
+ optixFlowConfig
1334
+ }
1335
+ ),
1291
1336
  /* @__PURE__ */ jsxRuntime.jsx(
1292
1337
  NavigationMenu,
1293
1338
  {
@@ -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,
@@ -1149,29 +1209,6 @@ var NavbarSearchFocused = ({
1149
1209
  optixFlowConfig
1150
1210
  }) => {
1151
1211
  const [isOpen, setIsOpen] = useState(false);
1152
- const renderLogo = useMemo(() => {
1153
- if (logoSlot) return logoSlot;
1154
- if (!logo) return null;
1155
- return /* @__PURE__ */ jsxs(
1156
- Pressable,
1157
- {
1158
- href: logo.url || "/",
1159
- className: cn("flex shrink-0 items-center gap-2", logoClassName),
1160
- children: [
1161
- logo.src && /* @__PURE__ */ jsx(
1162
- Img,
1163
- {
1164
- src: logo.src,
1165
- alt: logo.alt || "Logo",
1166
- className: cn("h-8", logo.className),
1167
- optixFlowConfig
1168
- }
1169
- ),
1170
- logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "hidden text-lg font-semibold sm:inline-block", children: logo.title }) : logo.title)
1171
- ]
1172
- }
1173
- );
1174
- }, [logoSlot, logo, logoClassName, optixFlowConfig]);
1175
1212
  const renderNavigation = (items) => {
1176
1213
  if (navigationSlot) return navigationSlot;
1177
1214
  if (!items || items.length === 0) return null;
@@ -1264,7 +1301,15 @@ var NavbarSearchFocused = ({
1264
1301
  navClassName
1265
1302
  ),
1266
1303
  children: [
1267
- renderLogo,
1304
+ /* @__PURE__ */ jsx(
1305
+ NavbarLogo,
1306
+ {
1307
+ logo,
1308
+ logoSlot,
1309
+ logoClassName,
1310
+ optixFlowConfig
1311
+ }
1312
+ ),
1268
1313
  /* @__PURE__ */ jsx(
1269
1314
  NavigationMenu,
1270
1315
  {