@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.
- package/dist/about-company-profile.cjs +89 -40
- package/dist/about-company-profile.js +89 -40
- package/dist/about-developer-story.cjs +121 -54
- package/dist/about-developer-story.js +121 -54
- package/dist/about-interactive-tabs.cjs +99 -28
- package/dist/about-interactive-tabs.js +99 -28
- package/dist/about-mission-features.cjs +71 -11
- package/dist/about-mission-features.js +71 -11
- package/dist/about-stats-showcase.cjs +140 -60
- package/dist/about-stats-showcase.js +140 -60
- package/dist/about-story-gallery.cjs +20 -2
- package/dist/about-story-gallery.js +20 -2
- package/dist/about-vision-gallery.cjs +111 -23
- package/dist/about-vision-gallery.js +111 -23
- package/dist/registry.cjs +651 -218
- package/dist/registry.js +651 -218
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -544,7 +544,16 @@ function AboutMissionFeatures({
|
|
|
544
544
|
if (featuresSlot) return featuresSlot;
|
|
545
545
|
if (!features || features.length === 0) return null;
|
|
546
546
|
return features.map((feature, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
547
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
547
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
548
|
+
"div",
|
|
549
|
+
{
|
|
550
|
+
className: cn(
|
|
551
|
+
"mb-5 flex size-12 items-center justify-center rounded-2xl bg-primary text-primary-foreground",
|
|
552
|
+
feature.iconBgClass
|
|
553
|
+
),
|
|
554
|
+
children: feature.icon
|
|
555
|
+
}
|
|
556
|
+
),
|
|
548
557
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-2 mb-3 text-lg font-semibold", children: feature.title }) : feature.title),
|
|
549
558
|
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: feature.description }) : feature.description)
|
|
550
559
|
] }, idx));
|
|
@@ -557,9 +566,18 @@ function AboutMissionFeatures({
|
|
|
557
566
|
pattern,
|
|
558
567
|
patternOpacity,
|
|
559
568
|
className: cn(className),
|
|
560
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-
|
|
569
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8 lg:gap-16", containerClassName), children: [
|
|
561
570
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
|
|
562
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
571
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
572
|
+
"h1",
|
|
573
|
+
{
|
|
574
|
+
className: cn(
|
|
575
|
+
"text-4xl font-semibold tracking-tighter lg:text-7xl",
|
|
576
|
+
titleClassName
|
|
577
|
+
),
|
|
578
|
+
children: title
|
|
579
|
+
}
|
|
580
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
563
581
|
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 }))
|
|
564
582
|
] }),
|
|
565
583
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [
|
|
@@ -568,14 +586,20 @@ function AboutMissionFeatures({
|
|
|
568
586
|
{
|
|
569
587
|
src: mainImage.src,
|
|
570
588
|
alt: mainImage.alt,
|
|
571
|
-
className: cn(
|
|
589
|
+
className: cn(
|
|
590
|
+
"size-full max-h-96 rounded-2xl object-cover",
|
|
591
|
+
mainImageClassName
|
|
592
|
+
),
|
|
572
593
|
optixFlowConfig
|
|
573
594
|
}
|
|
574
595
|
),
|
|
575
596
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
576
597
|
"div",
|
|
577
598
|
{
|
|
578
|
-
className: cn(
|
|
599
|
+
className: cn(
|
|
600
|
+
"relative flex flex-col justify-between gap-10 overflow-hidden rounded-2xl bg-muted p-10",
|
|
601
|
+
missionSectionClassName
|
|
602
|
+
),
|
|
579
603
|
children: [
|
|
580
604
|
missionBackgroundImage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
581
605
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -587,18 +611,54 @@ function AboutMissionFeatures({
|
|
|
587
611
|
optixFlowConfig
|
|
588
612
|
}
|
|
589
613
|
),
|
|
590
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-
|
|
614
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/80 via-black/50 to-black/30" })
|
|
591
615
|
] }),
|
|
592
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
593
|
-
|
|
616
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
617
|
+
"p",
|
|
618
|
+
{
|
|
619
|
+
className: cn(
|
|
620
|
+
"text-sm font-semibold text-white",
|
|
621
|
+
missionLabelClassName
|
|
622
|
+
),
|
|
623
|
+
children: missionLabel
|
|
624
|
+
}
|
|
625
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionLabelClassName, children: missionLabel })) }),
|
|
626
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: missionText && (typeof missionText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
627
|
+
"p",
|
|
628
|
+
{
|
|
629
|
+
className: cn(
|
|
630
|
+
"text-lg font-medium text-white",
|
|
631
|
+
missionTextClassName
|
|
632
|
+
),
|
|
633
|
+
children: missionText
|
|
634
|
+
}
|
|
635
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionTextClassName, children: missionText })) })
|
|
594
636
|
]
|
|
595
637
|
}
|
|
596
638
|
)
|
|
597
639
|
] }),
|
|
598
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:gap-
|
|
640
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:gap-12", children: [
|
|
599
641
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-xl", children: [
|
|
600
|
-
featuresTitle && (typeof featuresTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
601
|
-
|
|
642
|
+
featuresTitle && (typeof featuresTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
643
|
+
"h2",
|
|
644
|
+
{
|
|
645
|
+
className: cn(
|
|
646
|
+
"mb-4 text-2xl font-semibold tracking-tight md:text-4xl",
|
|
647
|
+
featuresTitleClassName
|
|
648
|
+
),
|
|
649
|
+
children: featuresTitle
|
|
650
|
+
}
|
|
651
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresTitleClassName, children: featuresTitle })),
|
|
652
|
+
featuresDescription && (typeof featuresDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
653
|
+
"p",
|
|
654
|
+
{
|
|
655
|
+
className: cn(
|
|
656
|
+
"text-lg text-muted-foreground",
|
|
657
|
+
featuresDescriptionClassName
|
|
658
|
+
),
|
|
659
|
+
children: featuresDescription
|
|
660
|
+
}
|
|
661
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: featuresDescriptionClassName, children: featuresDescription }))
|
|
602
662
|
] }),
|
|
603
663
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-10 md:grid-cols-3", featuresClassName), children: featuresContent })
|
|
604
664
|
] })
|
|
@@ -657,76 +717,129 @@ function AboutStatsShowcase({
|
|
|
657
717
|
const statsContent = React52.useMemo(() => {
|
|
658
718
|
if (statsSlot) return statsSlot;
|
|
659
719
|
if (!stats || stats.length === 0) return null;
|
|
660
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
720
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
721
|
+
"div",
|
|
722
|
+
{
|
|
723
|
+
className: cn("grid grid-cols-2 gap-6 md:grid-cols-3", statsClassName),
|
|
724
|
+
children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 border-b pb-8", children: [
|
|
725
|
+
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-medium md:text-5xl", children: stat.value }) : stat.value),
|
|
726
|
+
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: stat.label }) : stat.label)
|
|
727
|
+
] }, idx))
|
|
728
|
+
}
|
|
729
|
+
);
|
|
664
730
|
}, [statsSlot, stats, statsClassName]);
|
|
665
731
|
const logosContent = React52.useMemo(() => {
|
|
666
732
|
if (logosSlot) return logosSlot;
|
|
667
733
|
if (!logos || logos.length === 0) return null;
|
|
668
734
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-muted/50 py-24", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex flex-col items-center gap-11", children: [
|
|
669
|
-
logosTitle && (typeof logosTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
735
|
+
logosTitle && (typeof logosTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
736
|
+
"p",
|
|
737
|
+
{
|
|
738
|
+
className: cn(
|
|
739
|
+
"text-center text-xl font-medium",
|
|
740
|
+
logosTitleClassName
|
|
741
|
+
),
|
|
742
|
+
children: logosTitle
|
|
743
|
+
}
|
|
744
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: logosTitleClassName, children: logosTitle })),
|
|
745
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
746
|
+
"div",
|
|
747
|
+
{
|
|
748
|
+
className: cn(
|
|
749
|
+
"grid grid-cols-2 gap-x-7 gap-y-12 lg:grid-cols-4",
|
|
750
|
+
logosClassName
|
|
751
|
+
),
|
|
752
|
+
children: logos.map((logo, idx) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
753
|
+
img.Img,
|
|
754
|
+
{
|
|
755
|
+
src: logo.src,
|
|
756
|
+
alt: logo.alt,
|
|
757
|
+
className: "h-8 object-contain w-auto md:h-14 max-h-24",
|
|
758
|
+
optixFlowConfig
|
|
759
|
+
}
|
|
760
|
+
) }, idx))
|
|
761
|
+
}
|
|
762
|
+
)
|
|
682
763
|
] }) });
|
|
683
|
-
}, [
|
|
764
|
+
}, [
|
|
765
|
+
logosSlot,
|
|
766
|
+
logos,
|
|
767
|
+
logosTitle,
|
|
768
|
+
logosTitleClassName,
|
|
769
|
+
logosClassName,
|
|
770
|
+
optixFlowConfig
|
|
771
|
+
]);
|
|
684
772
|
const benefitsContent = React52.useMemo(() => {
|
|
685
773
|
if (benefitsSlot) return benefitsSlot;
|
|
686
774
|
if (!benefits || benefits.length === 0) return null;
|
|
687
775
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex flex-col items-center gap-14", children: [
|
|
688
|
-
benefitsTitle && (typeof benefitsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
706
|
-
benefit.
|
|
776
|
+
benefitsTitle && (typeof benefitsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
777
|
+
"h2",
|
|
778
|
+
{
|
|
779
|
+
className: cn(
|
|
780
|
+
"text-center font-semibold text-2xl md:text-3xl",
|
|
781
|
+
benefitsTitleClassName
|
|
782
|
+
),
|
|
783
|
+
children: benefitsTitle
|
|
784
|
+
}
|
|
785
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: benefitsTitleClassName, children: benefitsTitle })),
|
|
786
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
787
|
+
"div",
|
|
788
|
+
{
|
|
789
|
+
className: cn(
|
|
790
|
+
"grid gap-6 md:grid-cols-2 lg:grid-cols-3",
|
|
791
|
+
benefitsClassName
|
|
792
|
+
),
|
|
793
|
+
children: benefits.map((benefit, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
794
|
+
benefit.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
707
795
|
img.Img,
|
|
708
796
|
{
|
|
709
|
-
src: benefit.
|
|
710
|
-
alt: benefit.
|
|
711
|
-
className: "h-
|
|
797
|
+
src: benefit.image.src,
|
|
798
|
+
alt: benefit.image.alt,
|
|
799
|
+
className: "max-h-96 w-full rounded-xl object-cover",
|
|
712
800
|
optixFlowConfig
|
|
713
801
|
}
|
|
714
802
|
),
|
|
715
|
-
benefit.
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
","
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
803
|
+
benefit.stat && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center rounded-xl bg-muted p-8", children: [
|
|
804
|
+
benefit.stat.value && (typeof benefit.stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-4xl font-medium", children: benefit.stat.value }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: benefit.stat.value })),
|
|
805
|
+
benefit.stat.label && (typeof benefit.stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-6 font-semibold", children: benefit.stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6", children: benefit.stat.label })),
|
|
806
|
+
benefit.stat.description && (typeof benefit.stat.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: benefit.stat.description }) : benefit.stat.description)
|
|
807
|
+
] }),
|
|
808
|
+
benefit.testimonial && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl bg-background p-4", children: [
|
|
809
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-2", children: [
|
|
810
|
+
benefit.testimonial.logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
811
|
+
img.Img,
|
|
812
|
+
{
|
|
813
|
+
src: benefit.testimonial.logo.src,
|
|
814
|
+
alt: benefit.testimonial.logo.alt,
|
|
815
|
+
className: "h-7 w-auto",
|
|
816
|
+
optixFlowConfig
|
|
817
|
+
}
|
|
818
|
+
),
|
|
819
|
+
benefit.testimonial.company && (typeof benefit.testimonial.company === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold", children: benefit.testimonial.company }) : benefit.testimonial.company)
|
|
820
|
+
] }),
|
|
821
|
+
benefit.testimonial.quote && (typeof benefit.testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-6 text-sm", children: benefit.testimonial.quote }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6", children: benefit.testimonial.quote })),
|
|
822
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-1", children: [
|
|
823
|
+
benefit.testimonial.author && (typeof benefit.testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium", children: [
|
|
824
|
+
benefit.testimonial.author,
|
|
825
|
+
","
|
|
826
|
+
] }) : benefit.testimonial.author),
|
|
827
|
+
benefit.testimonial.role && (typeof benefit.testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: benefit.testimonial.role }) : benefit.testimonial.role)
|
|
828
|
+
] })
|
|
829
|
+
] })
|
|
830
|
+
] }, idx))
|
|
831
|
+
}
|
|
832
|
+
)
|
|
727
833
|
] });
|
|
728
|
-
}, [
|
|
729
|
-
|
|
834
|
+
}, [
|
|
835
|
+
benefitsSlot,
|
|
836
|
+
benefits,
|
|
837
|
+
benefitsTitle,
|
|
838
|
+
benefitsTitleClassName,
|
|
839
|
+
benefitsClassName,
|
|
840
|
+
optixFlowConfig
|
|
841
|
+
]);
|
|
842
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
730
843
|
Section,
|
|
731
844
|
{
|
|
732
845
|
background,
|
|
@@ -735,21 +848,48 @@ function AboutStatsShowcase({
|
|
|
735
848
|
patternOpacity,
|
|
736
849
|
className: cn(className),
|
|
737
850
|
containerClassName,
|
|
738
|
-
children: [
|
|
739
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
851
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-10 md:gap-24", children: [
|
|
852
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-10 text-center md:gap-24 mb-4 md:mb-8", children: [
|
|
740
853
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-3xl flex-col gap-6", children: [
|
|
741
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
742
|
-
|
|
854
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
855
|
+
"h1",
|
|
856
|
+
{
|
|
857
|
+
className: cn(
|
|
858
|
+
"text-4xl font-medium md:text-6xl text-balance",
|
|
859
|
+
titleClassName
|
|
860
|
+
),
|
|
861
|
+
children: title
|
|
862
|
+
}
|
|
863
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
864
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
865
|
+
"p",
|
|
866
|
+
{
|
|
867
|
+
className: cn(
|
|
868
|
+
"text-lg text-muted-foreground md:text-xl text-balance",
|
|
869
|
+
descriptionClassName
|
|
870
|
+
),
|
|
871
|
+
children: description
|
|
872
|
+
}
|
|
873
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
743
874
|
] }),
|
|
744
875
|
imagesContent
|
|
745
876
|
] }),
|
|
746
877
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex flex-col gap-16", children: [
|
|
747
|
-
statsTitle && (typeof statsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
878
|
+
statsTitle && (typeof statsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
879
|
+
"h2",
|
|
880
|
+
{
|
|
881
|
+
className: cn(
|
|
882
|
+
"max-w-3xl font-medium text-2xl md:text-3xl",
|
|
883
|
+
statsTitleClassName
|
|
884
|
+
),
|
|
885
|
+
children: statsTitle
|
|
886
|
+
}
|
|
887
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: statsTitleClassName, children: statsTitle })),
|
|
748
888
|
statsContent
|
|
749
889
|
] }),
|
|
750
890
|
logosContent,
|
|
751
891
|
benefitsContent
|
|
752
|
-
]
|
|
892
|
+
] })
|
|
753
893
|
}
|
|
754
894
|
);
|
|
755
895
|
}
|
|
@@ -1205,39 +1345,49 @@ function AboutCompanyProfile({
|
|
|
1205
1345
|
const breakoutContent = React52.useMemo(() => {
|
|
1206
1346
|
if (breakoutSlot) return breakoutSlot;
|
|
1207
1347
|
if (!breakout) return null;
|
|
1208
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1348
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1349
|
+
"div",
|
|
1350
|
+
{
|
|
1351
|
+
className: cn(
|
|
1352
|
+
"flex flex-col justify-between gap-6 rounded-xl bg-muted p-7 md:w-1/2 lg:w-auto",
|
|
1353
|
+
breakoutClassName
|
|
1354
|
+
),
|
|
1355
|
+
children: [
|
|
1356
|
+
breakout.logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1357
|
+
img.Img,
|
|
1358
|
+
{
|
|
1359
|
+
src: breakout.logo.src,
|
|
1360
|
+
alt: breakout.logo.alt,
|
|
1361
|
+
className: "mr-auto h-12 dark:invert",
|
|
1362
|
+
optixFlowConfig
|
|
1363
|
+
}
|
|
1364
|
+
),
|
|
1365
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1366
|
+
typeof breakout.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-lg font-semibold", children: breakout.title }) : breakout.title,
|
|
1367
|
+
typeof breakout.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: breakout.description }) : breakout.description
|
|
1368
|
+
] }),
|
|
1369
|
+
breakout.action && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1370
|
+
Pressable,
|
|
1371
|
+
{
|
|
1372
|
+
href: breakout.action.href,
|
|
1373
|
+
variant: breakout.action.variant || "outline",
|
|
1374
|
+
asButton: true,
|
|
1375
|
+
className: cn("mr-auto", breakout.action.className),
|
|
1376
|
+
children: breakout.action.children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1377
|
+
breakout.action.icon,
|
|
1378
|
+
breakout.action.label,
|
|
1379
|
+
breakout.action.iconAfter
|
|
1380
|
+
] })
|
|
1381
|
+
}
|
|
1382
|
+
)
|
|
1383
|
+
]
|
|
1384
|
+
}
|
|
1385
|
+
);
|
|
1237
1386
|
}, [breakoutSlot, breakout, breakoutClassName, optixFlowConfig]);
|
|
1238
1387
|
const companiesContent = React52.useMemo(() => {
|
|
1239
1388
|
if (companiesSlot) return companiesSlot;
|
|
1240
|
-
if (!companies || companies.length === 0)
|
|
1389
|
+
if (!companies || companies.length === 0)
|
|
1390
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-7" });
|
|
1241
1391
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-32", companiesClassName), children: [
|
|
1242
1392
|
companiesTitle && (typeof companiesTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center", children: companiesTitle }) : companiesTitle),
|
|
1243
1393
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-8 flex flex-wrap justify-center gap-8", children: companies.map((company, idx) => {
|
|
@@ -1274,7 +1424,13 @@ function AboutCompanyProfile({
|
|
|
1274
1424
|
] }, idx);
|
|
1275
1425
|
}) })
|
|
1276
1426
|
] });
|
|
1277
|
-
}, [
|
|
1427
|
+
}, [
|
|
1428
|
+
companiesSlot,
|
|
1429
|
+
companies,
|
|
1430
|
+
companiesClassName,
|
|
1431
|
+
companiesTitle,
|
|
1432
|
+
optixFlowConfig
|
|
1433
|
+
]);
|
|
1278
1434
|
const achievementsContent = React52.useMemo(() => {
|
|
1279
1435
|
if (achievementsSlot) return achievementsSlot;
|
|
1280
1436
|
if (!achievements || achievements.length === 0) return null;
|
|
@@ -1303,7 +1459,10 @@ function AboutCompanyProfile({
|
|
|
1303
1459
|
{
|
|
1304
1460
|
src: mainImage.src,
|
|
1305
1461
|
alt: mainImage.alt,
|
|
1306
|
-
className: cn(
|
|
1462
|
+
className: cn(
|
|
1463
|
+
"size-full max-h-[620px] rounded-xl object-cover lg:col-span-2",
|
|
1464
|
+
mainImageClassName
|
|
1465
|
+
),
|
|
1307
1466
|
optixFlowConfig
|
|
1308
1467
|
}
|
|
1309
1468
|
),
|
|
@@ -1314,20 +1473,50 @@ function AboutCompanyProfile({
|
|
|
1314
1473
|
{
|
|
1315
1474
|
src: secondaryImage.src,
|
|
1316
1475
|
alt: secondaryImage.alt,
|
|
1317
|
-
className: cn(
|
|
1476
|
+
className: cn(
|
|
1477
|
+
"grow basis-0 rounded-xl object-cover md:w-1/2 lg:min-h-0 lg:w-auto",
|
|
1478
|
+
secondaryImageClassName
|
|
1479
|
+
),
|
|
1318
1480
|
optixFlowConfig
|
|
1319
1481
|
}
|
|
1320
1482
|
)
|
|
1321
1483
|
] })
|
|
1322
1484
|
] }),
|
|
1323
1485
|
(companiesSlot || companies && companies.length > 0) && companiesContent,
|
|
1324
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1486
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1487
|
+
"div",
|
|
1488
|
+
{
|
|
1489
|
+
className: cn(
|
|
1490
|
+
"relative overflow-hidden rounded-xl bg-muted p-7 md:p-16",
|
|
1491
|
+
achievementsClassName
|
|
1492
|
+
),
|
|
1493
|
+
children: [
|
|
1494
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 text-center md:text-left", children: [
|
|
1495
|
+
achievementsTitle && (typeof achievementsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1496
|
+
"h2",
|
|
1497
|
+
{
|
|
1498
|
+
className: cn(
|
|
1499
|
+
"text-3xl font-semibold md:text-4xl",
|
|
1500
|
+
achievementsTitleClassName
|
|
1501
|
+
),
|
|
1502
|
+
children: achievementsTitle
|
|
1503
|
+
}
|
|
1504
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsTitleClassName, children: achievementsTitle })),
|
|
1505
|
+
achievementsDescription && (typeof achievementsDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1506
|
+
"p",
|
|
1507
|
+
{
|
|
1508
|
+
className: cn(
|
|
1509
|
+
"max-w-xl text-muted-foreground",
|
|
1510
|
+
achievementsDescriptionClassName
|
|
1511
|
+
),
|
|
1512
|
+
children: achievementsDescription
|
|
1513
|
+
}
|
|
1514
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsDescriptionClassName, children: achievementsDescription }))
|
|
1515
|
+
] }),
|
|
1516
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children: achievementsContent })
|
|
1517
|
+
]
|
|
1518
|
+
}
|
|
1519
|
+
)
|
|
1331
1520
|
]
|
|
1332
1521
|
}
|
|
1333
1522
|
);
|
|
@@ -1366,16 +1555,25 @@ function AboutVisionGallery({
|
|
|
1366
1555
|
const imagesContent = React52.useMemo(() => {
|
|
1367
1556
|
if (imagesSlot) return imagesSlot;
|
|
1368
1557
|
if (!images || images.length === 0) return null;
|
|
1369
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1370
|
-
|
|
1558
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1559
|
+
"div",
|
|
1371
1560
|
{
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1561
|
+
className: cn(
|
|
1562
|
+
"grid gap-3 md:grid-cols-2 lg:grid-cols-3",
|
|
1563
|
+
imagesClassName
|
|
1564
|
+
),
|
|
1565
|
+
children: images.map((image, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1566
|
+
img.Img,
|
|
1567
|
+
{
|
|
1568
|
+
src: image.src,
|
|
1569
|
+
alt: image.alt,
|
|
1570
|
+
className: "max-h-80 w-full object-cover",
|
|
1571
|
+
optixFlowConfig
|
|
1572
|
+
},
|
|
1573
|
+
idx
|
|
1574
|
+
))
|
|
1575
|
+
}
|
|
1576
|
+
);
|
|
1379
1577
|
}, [imagesSlot, images, imagesClassName, optixFlowConfig]);
|
|
1380
1578
|
const ctaContent = React52.useMemo(() => {
|
|
1381
1579
|
if (ctaSlot) return ctaSlot;
|
|
@@ -1406,27 +1604,106 @@ function AboutVisionGallery({
|
|
|
1406
1604
|
containerClassName,
|
|
1407
1605
|
children: [
|
|
1408
1606
|
(title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-3xl flex-col gap-8 pb-28 text-center", children: [
|
|
1409
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1410
|
-
|
|
1607
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1608
|
+
"h1",
|
|
1609
|
+
{
|
|
1610
|
+
className: cn(
|
|
1611
|
+
"text-4xl font-semibold md:text-7xl text-balance",
|
|
1612
|
+
titleClassName
|
|
1613
|
+
),
|
|
1614
|
+
children: title
|
|
1615
|
+
}
|
|
1616
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
1617
|
+
subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1618
|
+
"p",
|
|
1619
|
+
{
|
|
1620
|
+
className: cn(
|
|
1621
|
+
"text-xl font-medium text-muted-foreground text-balance",
|
|
1622
|
+
subtitleClassName
|
|
1623
|
+
),
|
|
1624
|
+
children: subtitle
|
|
1625
|
+
}
|
|
1626
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: subtitleClassName, children: subtitle }))
|
|
1411
1627
|
] }),
|
|
1412
1628
|
imagesContent,
|
|
1413
|
-
(hasPrimarySection || hasSecondarySection) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto grid max-w-5xl gap-28 py-
|
|
1629
|
+
(hasPrimarySection || hasSecondarySection) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto grid max-w-5xl gap-28 py-6 md:py-16 md:grid-cols-2", children: [
|
|
1414
1630
|
hasPrimarySection && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1415
|
-
primarySectionTitle && (typeof primarySectionTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1416
|
-
|
|
1631
|
+
primarySectionTitle && (typeof primarySectionTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1632
|
+
"h2",
|
|
1633
|
+
{
|
|
1634
|
+
className: cn(
|
|
1635
|
+
"mb-5 text-4xl font-semibold",
|
|
1636
|
+
primarySectionTitleClassName
|
|
1637
|
+
),
|
|
1638
|
+
children: primarySectionTitle
|
|
1639
|
+
}
|
|
1640
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-5", primarySectionTitleClassName), children: primarySectionTitle })),
|
|
1641
|
+
primarySectionContent && (typeof primarySectionContent === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1642
|
+
"p",
|
|
1643
|
+
{
|
|
1644
|
+
className: cn(
|
|
1645
|
+
"text-xl leading-8 font-medium text-muted-foreground whitespace-pre-line",
|
|
1646
|
+
primarySectionContentClassName
|
|
1647
|
+
),
|
|
1648
|
+
children: primarySectionContent
|
|
1649
|
+
}
|
|
1650
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: primarySectionContentClassName, children: primarySectionContent }))
|
|
1417
1651
|
] }),
|
|
1418
1652
|
hasSecondarySection && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1419
|
-
secondarySectionTitle && (typeof secondarySectionTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1653
|
+
secondarySectionTitle && (typeof secondarySectionTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1654
|
+
"h2",
|
|
1655
|
+
{
|
|
1656
|
+
className: cn(
|
|
1657
|
+
"mb-5 text-4xl font-semibold",
|
|
1658
|
+
secondarySectionTitleClassName
|
|
1659
|
+
),
|
|
1660
|
+
children: secondarySectionTitle
|
|
1661
|
+
}
|
|
1662
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-5", secondarySectionTitleClassName), children: secondarySectionTitle })),
|
|
1663
|
+
(secondarySectionContent || secondarySectionLinkText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1664
|
+
"p",
|
|
1665
|
+
{
|
|
1666
|
+
className: cn(
|
|
1667
|
+
"text-xl leading-8 font-medium text-muted-foreground",
|
|
1668
|
+
secondarySectionContentClassName
|
|
1669
|
+
),
|
|
1670
|
+
children: [
|
|
1671
|
+
secondarySectionLinkText && secondarySectionLinkUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1672
|
+
Pressable,
|
|
1673
|
+
{
|
|
1674
|
+
href: secondarySectionLinkUrl,
|
|
1675
|
+
className: "mr-1 underline",
|
|
1676
|
+
children: secondarySectionLinkText
|
|
1677
|
+
}
|
|
1678
|
+
),
|
|
1679
|
+
secondarySectionContent
|
|
1680
|
+
]
|
|
1681
|
+
}
|
|
1682
|
+
)
|
|
1424
1683
|
] })
|
|
1425
1684
|
] }),
|
|
1426
|
-
hasCtaSection && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1685
|
+
hasCtaSection && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1686
|
+
"div",
|
|
1687
|
+
{
|
|
1688
|
+
className: cn(
|
|
1689
|
+
"mx-auto flex max-w-5xl flex-col items-center justify-between gap-8 rounded-2xl bg-muted/50 p-14 text-center md:flex-row md:text-left",
|
|
1690
|
+
ctaClassName
|
|
1691
|
+
),
|
|
1692
|
+
children: [
|
|
1693
|
+
ctaTitle && (typeof ctaTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1694
|
+
"h3",
|
|
1695
|
+
{
|
|
1696
|
+
className: cn(
|
|
1697
|
+
"text-3xl font-semibold whitespace-pre-line",
|
|
1698
|
+
ctaTitleClassName
|
|
1699
|
+
),
|
|
1700
|
+
children: ctaTitle
|
|
1701
|
+
}
|
|
1702
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: ctaTitleClassName, children: ctaTitle })),
|
|
1703
|
+
ctaContent
|
|
1704
|
+
]
|
|
1705
|
+
}
|
|
1706
|
+
)
|
|
1430
1707
|
]
|
|
1431
1708
|
}
|
|
1432
1709
|
);
|
|
@@ -1567,67 +1844,98 @@ function AboutDeveloperStory({
|
|
|
1567
1844
|
const actionsContent = React52.useMemo(() => {
|
|
1568
1845
|
if (actionsSlot) return actionsSlot;
|
|
1569
1846
|
if (!actions || actions.length === 0) return null;
|
|
1570
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1571
|
-
|
|
1847
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1848
|
+
"div",
|
|
1572
1849
|
{
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
variant: action.variant || "default",
|
|
1577
|
-
asButton: true,
|
|
1578
|
-
children: [
|
|
1579
|
-
action.label,
|
|
1580
|
-
idx === 1 && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16, className: "ml-2" })
|
|
1581
|
-
]
|
|
1582
|
-
},
|
|
1583
|
-
idx
|
|
1584
|
-
)) });
|
|
1585
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
1586
|
-
const logosContent = React52.useMemo(() => {
|
|
1587
|
-
if (logosSlot) return logosSlot;
|
|
1588
|
-
if (!logos || logos.length === 0) return null;
|
|
1589
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60", logosClassName), children: logos.map((logo, idx) => {
|
|
1590
|
-
if (typeof logo.src === "string") {
|
|
1591
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1592
|
-
img.Img,
|
|
1850
|
+
className: cn("flex flex-wrap justify-center gap-4", actionsClassName),
|
|
1851
|
+
children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1852
|
+
Pressable,
|
|
1593
1853
|
{
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1854
|
+
href: action.href,
|
|
1855
|
+
onClick: action.onClick,
|
|
1856
|
+
size: action.size || "lg",
|
|
1857
|
+
variant: action.variant || "default",
|
|
1858
|
+
asButton: true,
|
|
1859
|
+
children: [
|
|
1860
|
+
action.label,
|
|
1861
|
+
idx === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1862
|
+
DynamicIcon,
|
|
1863
|
+
{
|
|
1864
|
+
name: "lucide/arrow-right",
|
|
1865
|
+
size: 16,
|
|
1866
|
+
className: "ml-2"
|
|
1867
|
+
}
|
|
1868
|
+
)
|
|
1869
|
+
]
|
|
1598
1870
|
},
|
|
1599
1871
|
idx
|
|
1600
|
-
)
|
|
1872
|
+
))
|
|
1601
1873
|
}
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1874
|
+
);
|
|
1875
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
1876
|
+
const logosContent = React52.useMemo(() => {
|
|
1877
|
+
if (logosSlot) return logosSlot;
|
|
1878
|
+
if (!logos || logos.length === 0) return null;
|
|
1879
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1880
|
+
"div",
|
|
1881
|
+
{
|
|
1882
|
+
className: cn(
|
|
1883
|
+
"mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60",
|
|
1884
|
+
logosClassName
|
|
1611
1885
|
),
|
|
1612
|
-
logo
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1886
|
+
children: logos.map((logo, idx) => {
|
|
1887
|
+
if (typeof logo.src === "string") {
|
|
1888
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1889
|
+
img.Img,
|
|
1890
|
+
{
|
|
1891
|
+
src: logo.src,
|
|
1892
|
+
alt: logo.alt,
|
|
1893
|
+
className: "h-8 w-auto grayscale",
|
|
1894
|
+
optixFlowConfig
|
|
1895
|
+
},
|
|
1896
|
+
idx
|
|
1897
|
+
);
|
|
1619
1898
|
}
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1899
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-8", children: [
|
|
1900
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1901
|
+
img.Img,
|
|
1902
|
+
{
|
|
1903
|
+
src: logo.src.light,
|
|
1904
|
+
alt: logo.alt,
|
|
1905
|
+
className: "h-42 w-auto object-contain grayscale dark:hidden",
|
|
1906
|
+
optixFlowConfig
|
|
1907
|
+
}
|
|
1908
|
+
),
|
|
1909
|
+
logo.src.dark && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1910
|
+
img.Img,
|
|
1911
|
+
{
|
|
1912
|
+
src: logo.src.dark,
|
|
1913
|
+
alt: logo.alt,
|
|
1914
|
+
className: "hidden h-42 w-auto object-contain grayscale dark:block",
|
|
1915
|
+
optixFlowConfig
|
|
1916
|
+
}
|
|
1917
|
+
)
|
|
1918
|
+
] }, idx);
|
|
1919
|
+
})
|
|
1920
|
+
}
|
|
1921
|
+
);
|
|
1623
1922
|
}, [logosSlot, logos, logosClassName, optixFlowConfig]);
|
|
1624
1923
|
const statsContent = React52.useMemo(() => {
|
|
1625
1924
|
if (statsSlot) return statsSlot;
|
|
1626
1925
|
if (!stats || stats.length === 0) return null;
|
|
1627
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1926
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1927
|
+
"div",
|
|
1928
|
+
{
|
|
1929
|
+
className: cn(
|
|
1930
|
+
"mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3",
|
|
1931
|
+
statsClassName
|
|
1932
|
+
),
|
|
1933
|
+
children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
1934
|
+
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
|
|
1935
|
+
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: stat.label }))
|
|
1936
|
+
] }, idx))
|
|
1937
|
+
}
|
|
1938
|
+
);
|
|
1631
1939
|
}, [statsSlot, stats, statsClassName]);
|
|
1632
1940
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1633
1941
|
Section,
|
|
@@ -1640,16 +1948,52 @@ function AboutDeveloperStory({
|
|
|
1640
1948
|
containerClassName,
|
|
1641
1949
|
children: [
|
|
1642
1950
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
|
|
1643
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1644
|
-
|
|
1951
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1952
|
+
"h1",
|
|
1953
|
+
{
|
|
1954
|
+
className: cn(
|
|
1955
|
+
"text-4xl font-bold tracking-tight md:text-6xl text-balance",
|
|
1956
|
+
titleClassName
|
|
1957
|
+
),
|
|
1958
|
+
children: title
|
|
1959
|
+
}
|
|
1960
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
1961
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1962
|
+
"p",
|
|
1963
|
+
{
|
|
1964
|
+
className: cn(
|
|
1965
|
+
"max-w-2xl text-lg text-muted-foreground md:text-xl text-balance",
|
|
1966
|
+
descriptionClassName
|
|
1967
|
+
),
|
|
1968
|
+
children: description
|
|
1969
|
+
}
|
|
1970
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1645
1971
|
actionsContent
|
|
1646
1972
|
] }),
|
|
1647
1973
|
logosContent,
|
|
1648
1974
|
statsContent,
|
|
1649
1975
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-20 grid gap-12 md:grid-cols-2 md:items-center", children: [
|
|
1650
1976
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1651
|
-
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1652
|
-
|
|
1977
|
+
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1978
|
+
"h2",
|
|
1979
|
+
{
|
|
1980
|
+
className: cn(
|
|
1981
|
+
"text-3xl font-bold md:text-4xl",
|
|
1982
|
+
storyTitleClassName
|
|
1983
|
+
),
|
|
1984
|
+
children: storyTitle
|
|
1985
|
+
}
|
|
1986
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: storyTitleClassName, children: storyTitle })),
|
|
1987
|
+
storyContent && (typeof storyContent === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1988
|
+
"p",
|
|
1989
|
+
{
|
|
1990
|
+
className: cn(
|
|
1991
|
+
"mt-6 text-lg text-muted-foreground whitespace-pre-line",
|
|
1992
|
+
storyContentClassName
|
|
1993
|
+
),
|
|
1994
|
+
children: storyContent
|
|
1995
|
+
}
|
|
1996
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6", storyContentClassName), children: storyContent }))
|
|
1653
1997
|
] }),
|
|
1654
1998
|
storyImage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1655
1999
|
img.Img,
|
|
@@ -1709,8 +2053,26 @@ function AboutStoryGallery({
|
|
|
1709
2053
|
containerClassName,
|
|
1710
2054
|
children: [
|
|
1711
2055
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-3xl text-center", children: [
|
|
1712
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1713
|
-
|
|
2056
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2057
|
+
"h1",
|
|
2058
|
+
{
|
|
2059
|
+
className: cn(
|
|
2060
|
+
"text-4xl font-bold tracking-tight md:text-5xl text-balance",
|
|
2061
|
+
titleClassName
|
|
2062
|
+
),
|
|
2063
|
+
children: title
|
|
2064
|
+
}
|
|
2065
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
2066
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2067
|
+
"p",
|
|
2068
|
+
{
|
|
2069
|
+
className: cn(
|
|
2070
|
+
"mt-6 text-lg text-muted-foreground whitespace-pre-line text-balance",
|
|
2071
|
+
descriptionClassName
|
|
2072
|
+
),
|
|
2073
|
+
children: description
|
|
2074
|
+
}
|
|
2075
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6", descriptionClassName), children: description }))
|
|
1714
2076
|
] }),
|
|
1715
2077
|
imagesContent
|
|
1716
2078
|
]
|
|
@@ -2261,36 +2623,89 @@ function AboutInteractiveTabs({
|
|
|
2261
2623
|
if (tabsSlot) return tabsSlot;
|
|
2262
2624
|
if (!tabs || tabs.length === 0) return null;
|
|
2263
2625
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16", children: [
|
|
2264
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2265
|
-
"
|
|
2626
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2627
|
+
"div",
|
|
2266
2628
|
{
|
|
2267
|
-
onClick: () => handleTabChange(tab.id),
|
|
2268
2629
|
className: cn(
|
|
2269
|
-
"
|
|
2270
|
-
|
|
2271
|
-
tabButtonClassName
|
|
2630
|
+
"flex flex-wrap justify-center gap-2 border-b",
|
|
2631
|
+
tabsContainerClassName
|
|
2272
2632
|
),
|
|
2273
|
-
children: tab.
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2633
|
+
children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2634
|
+
"button",
|
|
2635
|
+
{
|
|
2636
|
+
onClick: () => handleTabChange(tab.id),
|
|
2637
|
+
className: cn(
|
|
2638
|
+
"px-6 py-3 text-sm font-medium transition-colors",
|
|
2639
|
+
activeTab === tab.id ? cn(
|
|
2640
|
+
"border-b-2 border-primary text-primary",
|
|
2641
|
+
activeTabClassName
|
|
2642
|
+
) : "text-muted-foreground hover:text-foreground",
|
|
2643
|
+
tabButtonClassName
|
|
2644
|
+
),
|
|
2645
|
+
children: tab.label
|
|
2646
|
+
},
|
|
2647
|
+
tab.id
|
|
2648
|
+
))
|
|
2649
|
+
}
|
|
2650
|
+
),
|
|
2651
|
+
activeContent && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2652
|
+
"div",
|
|
2653
|
+
{
|
|
2654
|
+
className: cn(
|
|
2655
|
+
"mt-12 grid gap-12 lg:grid-cols-2 lg:items-center",
|
|
2656
|
+
tabContentClassName
|
|
2657
|
+
),
|
|
2658
|
+
children: [
|
|
2659
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2660
|
+
typeof activeContent.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2661
|
+
"h2",
|
|
2662
|
+
{
|
|
2663
|
+
className: cn("text-3xl font-bold", tabContentTitleClassName),
|
|
2664
|
+
children: activeContent.title
|
|
2665
|
+
}
|
|
2666
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: tabContentTitleClassName, children: activeContent.title }),
|
|
2667
|
+
typeof activeContent.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2668
|
+
"p",
|
|
2669
|
+
{
|
|
2670
|
+
className: cn(
|
|
2671
|
+
"mt-4 text-lg text-muted-foreground",
|
|
2672
|
+
tabContentDescriptionClassName
|
|
2673
|
+
),
|
|
2674
|
+
children: activeContent.description
|
|
2675
|
+
}
|
|
2676
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", tabContentDescriptionClassName), children: activeContent.description })
|
|
2677
|
+
] }),
|
|
2678
|
+
activeContent.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2679
|
+
img.Img,
|
|
2680
|
+
{
|
|
2681
|
+
src: activeContent.image.src,
|
|
2682
|
+
alt: activeContent.image.alt,
|
|
2683
|
+
className: cn(
|
|
2684
|
+
"rounded-2xl object-cover",
|
|
2685
|
+
tabContentImageClassName
|
|
2686
|
+
),
|
|
2687
|
+
optixFlowConfig
|
|
2688
|
+
}
|
|
2689
|
+
)
|
|
2690
|
+
]
|
|
2691
|
+
}
|
|
2692
|
+
)
|
|
2292
2693
|
] });
|
|
2293
|
-
}, [
|
|
2694
|
+
}, [
|
|
2695
|
+
tabsSlot,
|
|
2696
|
+
tabs,
|
|
2697
|
+
tabsContainerClassName,
|
|
2698
|
+
activeTab,
|
|
2699
|
+
activeTabClassName,
|
|
2700
|
+
tabButtonClassName,
|
|
2701
|
+
handleTabChange,
|
|
2702
|
+
activeContent,
|
|
2703
|
+
tabContentClassName,
|
|
2704
|
+
tabContentTitleClassName,
|
|
2705
|
+
tabContentDescriptionClassName,
|
|
2706
|
+
tabContentImageClassName,
|
|
2707
|
+
optixFlowConfig
|
|
2708
|
+
]);
|
|
2294
2709
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2295
2710
|
Section,
|
|
2296
2711
|
{
|
|
@@ -2302,8 +2717,26 @@ function AboutInteractiveTabs({
|
|
|
2302
2717
|
containerClassName,
|
|
2303
2718
|
children: [
|
|
2304
2719
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
2305
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2306
|
-
|
|
2720
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2721
|
+
"h1",
|
|
2722
|
+
{
|
|
2723
|
+
className: cn(
|
|
2724
|
+
"text-4xl font-bold tracking-tight md:text-5xl text-balance",
|
|
2725
|
+
titleClassName
|
|
2726
|
+
),
|
|
2727
|
+
children: title
|
|
2728
|
+
}
|
|
2729
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
2730
|
+
subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2731
|
+
"p",
|
|
2732
|
+
{
|
|
2733
|
+
className: cn(
|
|
2734
|
+
"mt-4 text-lg text-muted-foreground text-balance",
|
|
2735
|
+
subtitleClassName
|
|
2736
|
+
),
|
|
2737
|
+
children: subtitle
|
|
2738
|
+
}
|
|
2739
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
|
|
2307
2740
|
] }),
|
|
2308
2741
|
(tabsSlot || tabs && tabs.length > 0) && tabsContent
|
|
2309
2742
|
]
|