@opensite/ui 0.5.6 → 0.5.7

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.
@@ -938,67 +938,98 @@ function AboutDeveloperStory({
938
938
  const actionsContent = useMemo(() => {
939
939
  if (actionsSlot) return actionsSlot;
940
940
  if (!actions || actions.length === 0) return null;
941
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap justify-center gap-4", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
942
- Pressable,
941
+ return /* @__PURE__ */ jsx(
942
+ "div",
943
943
  {
944
- href: action.href,
945
- onClick: action.onClick,
946
- size: action.size || "lg",
947
- variant: action.variant || "default",
948
- asButton: true,
949
- children: [
950
- action.label,
951
- idx === 1 && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16, className: "ml-2" })
952
- ]
953
- },
954
- idx
955
- )) });
956
- }, [actionsSlot, actions, actionsClassName]);
957
- const logosContent = useMemo(() => {
958
- if (logosSlot) return logosSlot;
959
- if (!logos || logos.length === 0) return null;
960
- return /* @__PURE__ */ jsx("div", { className: cn("mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60", logosClassName), children: logos.map((logo, idx) => {
961
- if (typeof logo.src === "string") {
962
- return /* @__PURE__ */ jsx(
963
- Img,
944
+ className: cn("flex flex-wrap justify-center gap-4", actionsClassName),
945
+ children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
946
+ Pressable,
964
947
  {
965
- src: logo.src,
966
- alt: logo.alt,
967
- className: "h-8 w-auto grayscale",
968
- optixFlowConfig
948
+ href: action.href,
949
+ onClick: action.onClick,
950
+ size: action.size || "lg",
951
+ variant: action.variant || "default",
952
+ asButton: true,
953
+ children: [
954
+ action.label,
955
+ idx === 1 && /* @__PURE__ */ jsx(
956
+ DynamicIcon,
957
+ {
958
+ name: "lucide/arrow-right",
959
+ size: 16,
960
+ className: "ml-2"
961
+ }
962
+ )
963
+ ]
969
964
  },
970
965
  idx
971
- );
966
+ ))
972
967
  }
973
- return /* @__PURE__ */ jsxs("div", { className: "h-8", children: [
974
- /* @__PURE__ */ jsx(
975
- Img,
976
- {
977
- src: logo.src.light,
978
- alt: logo.alt,
979
- className: "h-8 w-auto grayscale dark:hidden",
980
- optixFlowConfig
981
- }
968
+ );
969
+ }, [actionsSlot, actions, actionsClassName]);
970
+ const logosContent = useMemo(() => {
971
+ if (logosSlot) return logosSlot;
972
+ if (!logos || logos.length === 0) return null;
973
+ return /* @__PURE__ */ jsx(
974
+ "div",
975
+ {
976
+ className: cn(
977
+ "mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60",
978
+ logosClassName
982
979
  ),
983
- logo.src.dark && /* @__PURE__ */ jsx(
984
- Img,
985
- {
986
- src: logo.src.dark,
987
- alt: logo.alt,
988
- className: "hidden h-8 w-auto grayscale dark:block",
989
- optixFlowConfig
980
+ children: logos.map((logo, idx) => {
981
+ if (typeof logo.src === "string") {
982
+ return /* @__PURE__ */ jsx(
983
+ Img,
984
+ {
985
+ src: logo.src,
986
+ alt: logo.alt,
987
+ className: "h-8 w-auto grayscale",
988
+ optixFlowConfig
989
+ },
990
+ idx
991
+ );
990
992
  }
991
- )
992
- ] }, idx);
993
- }) });
993
+ return /* @__PURE__ */ jsxs("div", { className: "h-8", children: [
994
+ /* @__PURE__ */ jsx(
995
+ Img,
996
+ {
997
+ src: logo.src.light,
998
+ alt: logo.alt,
999
+ className: "h-42 w-auto object-contain grayscale dark:hidden",
1000
+ optixFlowConfig
1001
+ }
1002
+ ),
1003
+ logo.src.dark && /* @__PURE__ */ jsx(
1004
+ Img,
1005
+ {
1006
+ src: logo.src.dark,
1007
+ alt: logo.alt,
1008
+ className: "hidden h-42 w-auto object-contain grayscale dark:block",
1009
+ optixFlowConfig
1010
+ }
1011
+ )
1012
+ ] }, idx);
1013
+ })
1014
+ }
1015
+ );
994
1016
  }, [logosSlot, logos, logosClassName, optixFlowConfig]);
995
1017
  const statsContent = useMemo(() => {
996
1018
  if (statsSlot) return statsSlot;
997
1019
  if (!stats || stats.length === 0) return null;
998
- return /* @__PURE__ */ jsx("div", { className: cn("mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3", statsClassName), children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
999
- stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
1000
- stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsx("div", { className: "mt-2", children: stat.label }))
1001
- ] }, idx)) });
1020
+ return /* @__PURE__ */ jsx(
1021
+ "div",
1022
+ {
1023
+ className: cn(
1024
+ "mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3",
1025
+ statsClassName
1026
+ ),
1027
+ children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
1028
+ stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
1029
+ stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsx("div", { className: "mt-2", children: stat.label }))
1030
+ ] }, idx))
1031
+ }
1032
+ );
1002
1033
  }, [statsSlot, stats, statsClassName]);
1003
1034
  return /* @__PURE__ */ jsxs(
1004
1035
  Section,
@@ -1011,16 +1042,52 @@ function AboutDeveloperStory({
1011
1042
  containerClassName,
1012
1043
  children: [
1013
1044
  /* @__PURE__ */ jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
1014
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-6xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
1015
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1045
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
1046
+ "h1",
1047
+ {
1048
+ className: cn(
1049
+ "text-4xl font-bold tracking-tight md:text-6xl text-balance",
1050
+ titleClassName
1051
+ ),
1052
+ children: title
1053
+ }
1054
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
1055
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1056
+ "p",
1057
+ {
1058
+ className: cn(
1059
+ "max-w-2xl text-lg text-muted-foreground md:text-xl text-balance",
1060
+ descriptionClassName
1061
+ ),
1062
+ children: description
1063
+ }
1064
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1016
1065
  actionsContent
1017
1066
  ] }),
1018
1067
  logosContent,
1019
1068
  statsContent,
1020
1069
  /* @__PURE__ */ jsxs("div", { className: "mt-20 grid gap-12 md:grid-cols-2 md:items-center", children: [
1021
1070
  /* @__PURE__ */ jsxs("div", { children: [
1022
- storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", storyTitleClassName), children: storyTitle }) : /* @__PURE__ */ jsx("div", { className: storyTitleClassName, children: storyTitle })),
1023
- storyContent && (typeof storyContent === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 text-lg text-muted-foreground whitespace-pre-line", storyContentClassName), children: storyContent }) : /* @__PURE__ */ jsx("div", { className: cn("mt-6", storyContentClassName), children: storyContent }))
1071
+ storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsx(
1072
+ "h2",
1073
+ {
1074
+ className: cn(
1075
+ "text-3xl font-bold md:text-4xl",
1076
+ storyTitleClassName
1077
+ ),
1078
+ children: storyTitle
1079
+ }
1080
+ ) : /* @__PURE__ */ jsx("div", { className: storyTitleClassName, children: storyTitle })),
1081
+ storyContent && (typeof storyContent === "string" ? /* @__PURE__ */ jsx(
1082
+ "p",
1083
+ {
1084
+ className: cn(
1085
+ "mt-6 text-lg text-muted-foreground whitespace-pre-line",
1086
+ storyContentClassName
1087
+ ),
1088
+ children: storyContent
1089
+ }
1090
+ ) : /* @__PURE__ */ jsx("div", { className: cn("mt-6", storyContentClassName), children: storyContent }))
1024
1091
  ] }),
1025
1092
  storyImage && /* @__PURE__ */ jsx(
1026
1093
  Img,
@@ -438,36 +438,89 @@ function AboutInteractiveTabs({
438
438
  if (tabsSlot) return tabsSlot;
439
439
  if (!tabs || tabs.length === 0) return null;
440
440
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16", children: [
441
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap justify-center gap-2 border-b", tabsContainerClassName), children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
442
- "button",
441
+ /* @__PURE__ */ jsxRuntime.jsx(
442
+ "div",
443
443
  {
444
- onClick: () => handleTabChange(tab.id),
445
444
  className: cn(
446
- "px-6 py-3 text-sm font-medium transition-colors",
447
- activeTab === tab.id ? cn("border-b-2 border-primary text-primary", activeTabClassName) : "text-muted-foreground hover:text-foreground",
448
- tabButtonClassName
445
+ "flex flex-wrap justify-center gap-2 border-b",
446
+ tabsContainerClassName
449
447
  ),
450
- children: tab.label
451
- },
452
- tab.id
453
- )) }),
454
- activeContent && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12 grid gap-12 lg:grid-cols-2 lg:items-center", tabContentClassName), children: [
455
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
456
- typeof activeContent.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold", tabContentTitleClassName), children: activeContent.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: tabContentTitleClassName, children: activeContent.title }),
457
- typeof activeContent.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", tabContentDescriptionClassName), children: activeContent.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", tabContentDescriptionClassName), children: activeContent.description })
458
- ] }),
459
- activeContent.image && /* @__PURE__ */ jsxRuntime.jsx(
460
- img.Img,
461
- {
462
- src: activeContent.image.src,
463
- alt: activeContent.image.alt,
464
- className: cn("rounded-2xl object-cover", tabContentImageClassName),
465
- optixFlowConfig
466
- }
467
- )
468
- ] })
448
+ children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
449
+ "button",
450
+ {
451
+ onClick: () => handleTabChange(tab.id),
452
+ className: cn(
453
+ "px-6 py-3 text-sm font-medium transition-colors",
454
+ activeTab === tab.id ? cn(
455
+ "border-b-2 border-primary text-primary",
456
+ activeTabClassName
457
+ ) : "text-muted-foreground hover:text-foreground",
458
+ tabButtonClassName
459
+ ),
460
+ children: tab.label
461
+ },
462
+ tab.id
463
+ ))
464
+ }
465
+ ),
466
+ activeContent && /* @__PURE__ */ jsxRuntime.jsxs(
467
+ "div",
468
+ {
469
+ className: cn(
470
+ "mt-12 grid gap-12 lg:grid-cols-2 lg:items-center",
471
+ tabContentClassName
472
+ ),
473
+ children: [
474
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
475
+ typeof activeContent.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
476
+ "h2",
477
+ {
478
+ className: cn("text-3xl font-bold", tabContentTitleClassName),
479
+ children: activeContent.title
480
+ }
481
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: tabContentTitleClassName, children: activeContent.title }),
482
+ typeof activeContent.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
483
+ "p",
484
+ {
485
+ className: cn(
486
+ "mt-4 text-lg text-muted-foreground",
487
+ tabContentDescriptionClassName
488
+ ),
489
+ children: activeContent.description
490
+ }
491
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", tabContentDescriptionClassName), children: activeContent.description })
492
+ ] }),
493
+ activeContent.image && /* @__PURE__ */ jsxRuntime.jsx(
494
+ img.Img,
495
+ {
496
+ src: activeContent.image.src,
497
+ alt: activeContent.image.alt,
498
+ className: cn(
499
+ "rounded-2xl object-cover",
500
+ tabContentImageClassName
501
+ ),
502
+ optixFlowConfig
503
+ }
504
+ )
505
+ ]
506
+ }
507
+ )
469
508
  ] });
470
- }, [tabsSlot, tabs, tabsContainerClassName, activeTab, activeTabClassName, tabButtonClassName, handleTabChange, activeContent, tabContentClassName, tabContentTitleClassName, tabContentDescriptionClassName, tabContentImageClassName, optixFlowConfig]);
509
+ }, [
510
+ tabsSlot,
511
+ tabs,
512
+ tabsContainerClassName,
513
+ activeTab,
514
+ activeTabClassName,
515
+ tabButtonClassName,
516
+ handleTabChange,
517
+ activeContent,
518
+ tabContentClassName,
519
+ tabContentTitleClassName,
520
+ tabContentDescriptionClassName,
521
+ tabContentImageClassName,
522
+ optixFlowConfig
523
+ ]);
471
524
  return /* @__PURE__ */ jsxRuntime.jsxs(
472
525
  Section,
473
526
  {
@@ -479,8 +532,26 @@ function AboutInteractiveTabs({
479
532
  containerClassName,
480
533
  children: [
481
534
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
482
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
483
- subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", subtitleClassName), children: subtitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
535
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
536
+ "h1",
537
+ {
538
+ className: cn(
539
+ "text-4xl font-bold tracking-tight md:text-5xl text-balance",
540
+ titleClassName
541
+ ),
542
+ children: title
543
+ }
544
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
545
+ subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
546
+ "p",
547
+ {
548
+ className: cn(
549
+ "mt-4 text-lg text-muted-foreground text-balance",
550
+ subtitleClassName
551
+ ),
552
+ children: subtitle
553
+ }
554
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
484
555
  ] }),
485
556
  (tabsSlot || tabs && tabs.length > 0) && tabsContent
486
557
  ]
@@ -417,36 +417,89 @@ function AboutInteractiveTabs({
417
417
  if (tabsSlot) return tabsSlot;
418
418
  if (!tabs || tabs.length === 0) return null;
419
419
  return /* @__PURE__ */ jsxs("div", { className: "mt-16", children: [
420
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap justify-center gap-2 border-b", tabsContainerClassName), children: tabs.map((tab) => /* @__PURE__ */ jsx(
421
- "button",
420
+ /* @__PURE__ */ jsx(
421
+ "div",
422
422
  {
423
- onClick: () => handleTabChange(tab.id),
424
423
  className: cn(
425
- "px-6 py-3 text-sm font-medium transition-colors",
426
- activeTab === tab.id ? cn("border-b-2 border-primary text-primary", activeTabClassName) : "text-muted-foreground hover:text-foreground",
427
- tabButtonClassName
424
+ "flex flex-wrap justify-center gap-2 border-b",
425
+ tabsContainerClassName
428
426
  ),
429
- children: tab.label
430
- },
431
- tab.id
432
- )) }),
433
- activeContent && /* @__PURE__ */ jsxs("div", { className: cn("mt-12 grid gap-12 lg:grid-cols-2 lg:items-center", tabContentClassName), children: [
434
- /* @__PURE__ */ jsxs("div", { children: [
435
- typeof activeContent.title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold", tabContentTitleClassName), children: activeContent.title }) : /* @__PURE__ */ jsx("div", { className: tabContentTitleClassName, children: activeContent.title }),
436
- typeof activeContent.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", tabContentDescriptionClassName), children: activeContent.description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", tabContentDescriptionClassName), children: activeContent.description })
437
- ] }),
438
- activeContent.image && /* @__PURE__ */ jsx(
439
- Img,
440
- {
441
- src: activeContent.image.src,
442
- alt: activeContent.image.alt,
443
- className: cn("rounded-2xl object-cover", tabContentImageClassName),
444
- optixFlowConfig
445
- }
446
- )
447
- ] })
427
+ children: tabs.map((tab) => /* @__PURE__ */ jsx(
428
+ "button",
429
+ {
430
+ onClick: () => handleTabChange(tab.id),
431
+ className: cn(
432
+ "px-6 py-3 text-sm font-medium transition-colors",
433
+ activeTab === tab.id ? cn(
434
+ "border-b-2 border-primary text-primary",
435
+ activeTabClassName
436
+ ) : "text-muted-foreground hover:text-foreground",
437
+ tabButtonClassName
438
+ ),
439
+ children: tab.label
440
+ },
441
+ tab.id
442
+ ))
443
+ }
444
+ ),
445
+ activeContent && /* @__PURE__ */ jsxs(
446
+ "div",
447
+ {
448
+ className: cn(
449
+ "mt-12 grid gap-12 lg:grid-cols-2 lg:items-center",
450
+ tabContentClassName
451
+ ),
452
+ children: [
453
+ /* @__PURE__ */ jsxs("div", { children: [
454
+ typeof activeContent.title === "string" ? /* @__PURE__ */ jsx(
455
+ "h2",
456
+ {
457
+ className: cn("text-3xl font-bold", tabContentTitleClassName),
458
+ children: activeContent.title
459
+ }
460
+ ) : /* @__PURE__ */ jsx("div", { className: tabContentTitleClassName, children: activeContent.title }),
461
+ typeof activeContent.description === "string" ? /* @__PURE__ */ jsx(
462
+ "p",
463
+ {
464
+ className: cn(
465
+ "mt-4 text-lg text-muted-foreground",
466
+ tabContentDescriptionClassName
467
+ ),
468
+ children: activeContent.description
469
+ }
470
+ ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", tabContentDescriptionClassName), children: activeContent.description })
471
+ ] }),
472
+ activeContent.image && /* @__PURE__ */ jsx(
473
+ Img,
474
+ {
475
+ src: activeContent.image.src,
476
+ alt: activeContent.image.alt,
477
+ className: cn(
478
+ "rounded-2xl object-cover",
479
+ tabContentImageClassName
480
+ ),
481
+ optixFlowConfig
482
+ }
483
+ )
484
+ ]
485
+ }
486
+ )
448
487
  ] });
449
- }, [tabsSlot, tabs, tabsContainerClassName, activeTab, activeTabClassName, tabButtonClassName, handleTabChange, activeContent, tabContentClassName, tabContentTitleClassName, tabContentDescriptionClassName, tabContentImageClassName, optixFlowConfig]);
488
+ }, [
489
+ tabsSlot,
490
+ tabs,
491
+ tabsContainerClassName,
492
+ activeTab,
493
+ activeTabClassName,
494
+ tabButtonClassName,
495
+ handleTabChange,
496
+ activeContent,
497
+ tabContentClassName,
498
+ tabContentTitleClassName,
499
+ tabContentDescriptionClassName,
500
+ tabContentImageClassName,
501
+ optixFlowConfig
502
+ ]);
450
503
  return /* @__PURE__ */ jsxs(
451
504
  Section,
452
505
  {
@@ -458,8 +511,26 @@ function AboutInteractiveTabs({
458
511
  containerClassName,
459
512
  children: [
460
513
  /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
461
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
462
- subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", subtitleClassName), children: subtitle }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
514
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
515
+ "h1",
516
+ {
517
+ className: cn(
518
+ "text-4xl font-bold tracking-tight md:text-5xl text-balance",
519
+ titleClassName
520
+ ),
521
+ children: title
522
+ }
523
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
524
+ subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsx(
525
+ "p",
526
+ {
527
+ className: cn(
528
+ "mt-4 text-lg text-muted-foreground text-balance",
529
+ subtitleClassName
530
+ ),
531
+ children: subtitle
532
+ }
533
+ ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
463
534
  ] }),
464
535
  (tabsSlot || tabs && tabs.length > 0) && tabsContent
465
536
  ]
@@ -420,7 +420,16 @@ function AboutMissionFeatures({
420
420
  if (featuresSlot) return featuresSlot;
421
421
  if (!features || features.length === 0) return null;
422
422
  return features.map((feature, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
423
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-5 flex size-12 items-center justify-center rounded-2xl bg-primary text-primary-foreground", feature.iconBgClass), children: feature.icon }),
423
+ /* @__PURE__ */ jsxRuntime.jsx(
424
+ "div",
425
+ {
426
+ className: cn(
427
+ "mb-5 flex size-12 items-center justify-center rounded-2xl bg-primary text-primary-foreground",
428
+ feature.iconBgClass
429
+ ),
430
+ children: feature.icon
431
+ }
432
+ ),
424
433
  feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-2 mb-3 text-lg font-semibold", children: feature.title }) : feature.title),
425
434
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: feature.description }) : feature.description)
426
435
  ] }, idx));
@@ -433,9 +442,18 @@ function AboutMissionFeatures({
433
442
  pattern,
434
443
  patternOpacity,
435
444
  className: cn(className),
436
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-16 lg:gap-28", containerClassName), children: [
445
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8 lg:gap-16", containerClassName), children: [
437
446
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
438
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-semibold tracking-tighter lg:text-7xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
447
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
448
+ "h1",
449
+ {
450
+ className: cn(
451
+ "text-4xl font-semibold tracking-tighter lg:text-7xl",
452
+ titleClassName
453
+ ),
454
+ children: title
455
+ }
456
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
439
457
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-xl text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
440
458
  ] }),
441
459
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [
@@ -444,14 +462,20 @@ function AboutMissionFeatures({
444
462
  {
445
463
  src: mainImage.src,
446
464
  alt: mainImage.alt,
447
- className: cn("size-full max-h-96 rounded-2xl object-cover", mainImageClassName),
465
+ className: cn(
466
+ "size-full max-h-96 rounded-2xl object-cover",
467
+ mainImageClassName
468
+ ),
448
469
  optixFlowConfig
449
470
  }
450
471
  ),
451
472
  /* @__PURE__ */ jsxRuntime.jsxs(
452
473
  "div",
453
474
  {
454
- className: cn("relative flex flex-col justify-between gap-10 overflow-hidden rounded-2xl bg-muted p-10", missionSectionClassName),
475
+ className: cn(
476
+ "relative flex flex-col justify-between gap-10 overflow-hidden rounded-2xl bg-muted p-10",
477
+ missionSectionClassName
478
+ ),
455
479
  children: [
456
480
  missionBackgroundImage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
457
481
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -463,18 +487,54 @@ function AboutMissionFeatures({
463
487
  optixFlowConfig
464
488
  }
465
489
  ),
466
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/50 to-black/30" })
490
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/80 via-black/50 to-black/30" })
467
491
  ] }),
468
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-semibold text-white", missionLabelClassName), children: missionLabel }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionLabelClassName, children: missionLabel })) }),
469
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionText && (typeof missionText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg font-medium text-white", missionTextClassName), children: missionText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionTextClassName, children: missionText })) })
492
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
493
+ "p",
494
+ {
495
+ className: cn(
496
+ "text-sm font-semibold text-white",
497
+ missionLabelClassName
498
+ ),
499
+ children: missionLabel
500
+ }
501
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionLabelClassName, children: missionLabel })) }),
502
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionText && (typeof missionText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
503
+ "p",
504
+ {
505
+ className: cn(
506
+ "text-lg font-medium text-white",
507
+ missionTextClassName
508
+ ),
509
+ children: missionText
510
+ }
511
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionTextClassName, children: missionText })) })
470
512
  ]
471
513
  }
472
514
  )
473
515
  ] }),
474
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:gap-20", children: [
516
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:gap-12", children: [
475
517
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-xl", children: [
476
- featuresTitle && (typeof featuresTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-3xl font-semibold tracking-tight md:text-5xl", featuresTitleClassName), children: featuresTitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresTitleClassName, children: featuresTitle })),
477
- featuresDescription && (typeof featuresDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-muted-foreground", featuresDescriptionClassName), children: featuresDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresDescriptionClassName, children: featuresDescription }))
518
+ featuresTitle && (typeof featuresTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
519
+ "h2",
520
+ {
521
+ className: cn(
522
+ "mb-4 text-2xl font-semibold tracking-tight md:text-4xl",
523
+ featuresTitleClassName
524
+ ),
525
+ children: featuresTitle
526
+ }
527
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresTitleClassName, children: featuresTitle })),
528
+ featuresDescription && (typeof featuresDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
529
+ "p",
530
+ {
531
+ className: cn(
532
+ "text-lg text-muted-foreground",
533
+ featuresDescriptionClassName
534
+ ),
535
+ children: featuresDescription
536
+ }
537
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresDescriptionClassName, children: featuresDescription }))
478
538
  ] }),
479
539
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-10 md:grid-cols-3", featuresClassName), children: featuresContent })
480
540
  ] })