@opensite/ui 2.1.3 → 2.1.5
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-culture-tabs.cjs +931 -835
- package/dist/about-culture-tabs.js +930 -834
- package/dist/components.cjs +197 -104
- package/dist/components.js +197 -104
- package/dist/contact-faq.cjs +39 -47
- package/dist/contact-faq.d.cts +4 -42
- package/dist/contact-faq.d.ts +4 -42
- package/dist/contact-faq.js +39 -44
- package/dist/contact-vendor.cjs +57 -60
- package/dist/contact-vendor.d.cts +7 -37
- package/dist/contact-vendor.d.ts +7 -37
- package/dist/contact-vendor.js +42 -60
- package/dist/hero-newsletter-minimal.cjs +71 -95
- package/dist/hero-newsletter-minimal.d.cts +4 -28
- package/dist/hero-newsletter-minimal.d.ts +4 -28
- package/dist/hero-newsletter-minimal.js +72 -96
- package/dist/hero-saas-dashboard-preview.cjs +4 -4
- package/dist/hero-saas-dashboard-preview.js +4 -4
- package/dist/index.cjs +196 -103
- package/dist/index.js +196 -103
- package/dist/registry.cjs +1936 -1956
- package/dist/registry.js +696 -716
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ import React3__default from 'react';
|
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
-
import {
|
|
7
|
+
import { FormEngine } from '@page-speed/forms/integration';
|
|
8
8
|
|
|
9
9
|
// components/blocks/hero/hero-newsletter-minimal.tsx
|
|
10
10
|
function cn(...inputs) {
|
|
@@ -385,6 +385,14 @@ var Section = React3__default.forwardRef(
|
|
|
385
385
|
}
|
|
386
386
|
);
|
|
387
387
|
Section.displayName = "Section";
|
|
388
|
+
var DEFAULT_STYLE_RULES = {
|
|
389
|
+
formContainer: "mt-10 flex justify-center items-center w-full max-w-md flex-col gap-4 sm:flex-row",
|
|
390
|
+
fieldsContainer: "",
|
|
391
|
+
fieldClassName: "",
|
|
392
|
+
formClassName: "",
|
|
393
|
+
successMessageClassName: "text-primary-foreground mt-4 p-3 rounded-md bg-primary",
|
|
394
|
+
errorMessageClassName: "text-destructive-foreground mt-4 p-3 rounded-md bg-destructive"
|
|
395
|
+
};
|
|
388
396
|
var DEFAULT_FORM_FIELDS = [
|
|
389
397
|
{
|
|
390
398
|
name: "email",
|
|
@@ -398,12 +406,7 @@ var DEFAULT_FORM_FIELDS = [
|
|
|
398
406
|
function HeroNewsletterMinimal({
|
|
399
407
|
heading,
|
|
400
408
|
description,
|
|
401
|
-
|
|
402
|
-
formConfig,
|
|
403
|
-
onSubmit,
|
|
404
|
-
onSuccess,
|
|
405
|
-
onError,
|
|
406
|
-
successMessage,
|
|
409
|
+
formEngineSetup,
|
|
407
410
|
buttonAction,
|
|
408
411
|
helperText,
|
|
409
412
|
formSlot,
|
|
@@ -412,25 +415,33 @@ function HeroNewsletterMinimal({
|
|
|
412
415
|
patternClassName,
|
|
413
416
|
statsSlot,
|
|
414
417
|
background,
|
|
415
|
-
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
418
|
+
containerClassName = "pmx-auto w-full max-w-7xl relative z-10 px-6 sm:px-6 md:px-8 lg:px-8 flex flex-col items-center justify-center",
|
|
416
419
|
spacing = "xl",
|
|
417
420
|
pattern,
|
|
418
421
|
patternOpacity,
|
|
419
422
|
className,
|
|
420
423
|
headingClassName,
|
|
421
424
|
descriptionClassName,
|
|
422
|
-
formClassName,
|
|
423
425
|
disclaimerClassName,
|
|
424
426
|
statsClassName
|
|
425
427
|
}) {
|
|
426
|
-
const {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
428
|
+
const formStyleRules = React3.useMemo(() => {
|
|
429
|
+
return {
|
|
430
|
+
formContainer: formEngineSetup?.formLayoutSettings?.styleRules?.formContainer ?? DEFAULT_STYLE_RULES.formContainer,
|
|
431
|
+
fieldsContainer: formEngineSetup?.formLayoutSettings?.styleRules?.fieldsContainer ?? DEFAULT_STYLE_RULES.fieldsContainer,
|
|
432
|
+
fieldClassName: formEngineSetup?.formLayoutSettings?.styleRules?.fieldClassName ?? DEFAULT_STYLE_RULES.fieldClassName,
|
|
433
|
+
formClassName: formEngineSetup?.formLayoutSettings?.styleRules?.formClassName ?? DEFAULT_STYLE_RULES.formClassName,
|
|
434
|
+
successMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.successMessageClassName ?? DEFAULT_STYLE_RULES.successMessageClassName,
|
|
435
|
+
errorMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.errorMessageClassName ?? DEFAULT_STYLE_RULES.errorMessageClassName
|
|
436
|
+
};
|
|
437
|
+
}, [formEngineSetup?.formLayoutSettings?.styleRules]);
|
|
438
|
+
const formFields = React3.useMemo(() => {
|
|
439
|
+
if (formEngineSetup && formEngineSetup?.fields && formEngineSetup?.fields?.length > 0) {
|
|
440
|
+
return formEngineSetup.fields;
|
|
441
|
+
} else {
|
|
442
|
+
return DEFAULT_FORM_FIELDS;
|
|
443
|
+
}
|
|
444
|
+
}, [formEngineSetup?.fields]);
|
|
434
445
|
const renderStats = React3.useMemo(() => {
|
|
435
446
|
if (statsSlot) return statsSlot;
|
|
436
447
|
if (!stats || stats.length === 0) return null;
|
|
@@ -459,6 +470,7 @@ function HeroNewsletterMinimal({
|
|
|
459
470
|
}, [statsSlot, stats]);
|
|
460
471
|
const renderForm = React3.useMemo(() => {
|
|
461
472
|
if (formSlot) return formSlot;
|
|
473
|
+
if (!formEngineSetup) return null;
|
|
462
474
|
const defaultButtonAction = {
|
|
463
475
|
label: "Subscribe",
|
|
464
476
|
variant: "default"
|
|
@@ -468,51 +480,33 @@ function HeroNewsletterMinimal({
|
|
|
468
480
|
/* @__PURE__ */ jsx(
|
|
469
481
|
FormEngine,
|
|
470
482
|
{
|
|
471
|
-
|
|
472
|
-
fields: formFields,
|
|
483
|
+
...formEngineSetup,
|
|
473
484
|
formLayoutSettings: {
|
|
485
|
+
...formEngineSetup.formLayoutSettings,
|
|
474
486
|
formLayout: "button-group",
|
|
475
487
|
buttonGroupSetup: {
|
|
488
|
+
...formEngineSetup.formLayoutSettings?.buttonGroupSetup,
|
|
476
489
|
size: "lg",
|
|
477
490
|
submitLabel: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
478
491
|
action.label,
|
|
479
492
|
action.iconAfter
|
|
480
493
|
] }),
|
|
481
494
|
submitVariant: action.variant || "default"
|
|
482
|
-
}
|
|
495
|
+
},
|
|
496
|
+
styleRules: formStyleRules
|
|
483
497
|
},
|
|
484
|
-
|
|
485
|
-
onSubmit,
|
|
486
|
-
onSuccess: (data) => {
|
|
487
|
-
resetUpload();
|
|
488
|
-
onSuccess?.(data);
|
|
489
|
-
},
|
|
490
|
-
onError,
|
|
491
|
-
uploadTokens,
|
|
492
|
-
uploadProgress,
|
|
493
|
-
onFileUpload: uploadFiles,
|
|
494
|
-
onFileRemove: removeFile,
|
|
495
|
-
isUploading
|
|
498
|
+
fields: formFields
|
|
496
499
|
}
|
|
497
500
|
),
|
|
498
501
|
helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2 text-center"), children: helperText }) : helperText)
|
|
499
502
|
] });
|
|
500
503
|
}, [
|
|
501
504
|
formSlot,
|
|
502
|
-
|
|
503
|
-
formConfig,
|
|
505
|
+
formEngineSetup,
|
|
504
506
|
buttonAction,
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
removeFile,
|
|
509
|
-
isUploading,
|
|
510
|
-
successMessage,
|
|
511
|
-
onSubmit,
|
|
512
|
-
onSuccess,
|
|
513
|
-
onError,
|
|
514
|
-
helperText,
|
|
515
|
-
resetUpload
|
|
507
|
+
formFields,
|
|
508
|
+
formStyleRules,
|
|
509
|
+
helperText
|
|
516
510
|
]);
|
|
517
511
|
return /* @__PURE__ */ jsx(
|
|
518
512
|
Section,
|
|
@@ -524,58 +518,40 @@ function HeroNewsletterMinimal({
|
|
|
524
518
|
patternClassName,
|
|
525
519
|
className,
|
|
526
520
|
containerClassName,
|
|
527
|
-
children: /* @__PURE__ */ jsxs(
|
|
528
|
-
"
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
children: [
|
|
535
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
536
|
-
"h1",
|
|
537
|
-
{
|
|
538
|
-
className: cn(
|
|
539
|
-
"max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty",
|
|
540
|
-
headingClassName
|
|
541
|
-
),
|
|
542
|
-
children: heading
|
|
543
|
-
}
|
|
544
|
-
) : heading),
|
|
545
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
546
|
-
"p",
|
|
547
|
-
{
|
|
548
|
-
className: cn(
|
|
549
|
-
"mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance",
|
|
550
|
-
descriptionClassName
|
|
551
|
-
),
|
|
552
|
-
children: description
|
|
553
|
-
}
|
|
554
|
-
) : description),
|
|
555
|
-
/* @__PURE__ */ jsx(
|
|
556
|
-
"div",
|
|
557
|
-
{
|
|
558
|
-
className: cn(
|
|
559
|
-
"mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
|
|
560
|
-
formClassName
|
|
561
|
-
),
|
|
562
|
-
children: renderForm
|
|
563
|
-
}
|
|
521
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center", children: [
|
|
522
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
523
|
+
"h1",
|
|
524
|
+
{
|
|
525
|
+
className: cn(
|
|
526
|
+
"max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty text-center",
|
|
527
|
+
headingClassName
|
|
564
528
|
),
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
529
|
+
children: heading
|
|
530
|
+
}
|
|
531
|
+
) : heading),
|
|
532
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
533
|
+
"p",
|
|
534
|
+
{
|
|
535
|
+
className: cn(
|
|
536
|
+
"mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance text-center",
|
|
537
|
+
descriptionClassName
|
|
538
|
+
),
|
|
539
|
+
children: description
|
|
540
|
+
}
|
|
541
|
+
) : description),
|
|
542
|
+
renderForm,
|
|
543
|
+
disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
|
|
544
|
+
(statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx(
|
|
545
|
+
"div",
|
|
546
|
+
{
|
|
547
|
+
className: cn(
|
|
548
|
+
"mt-16 flex flex-wrap items-center justify-center gap-8 md:gap-12",
|
|
549
|
+
statsClassName
|
|
550
|
+
),
|
|
551
|
+
children: renderStats
|
|
552
|
+
}
|
|
553
|
+
)
|
|
554
|
+
] })
|
|
579
555
|
}
|
|
580
556
|
);
|
|
581
557
|
}
|
|
@@ -913,7 +913,7 @@ function HeroSaasDashboardPreview({
|
|
|
913
913
|
className: "h-12"
|
|
914
914
|
};
|
|
915
915
|
const action = buttonAction || defaultButtonAction;
|
|
916
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-
|
|
916
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 md:mt-6 w-full flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
917
917
|
forms.Form,
|
|
918
918
|
{
|
|
919
919
|
form,
|
|
@@ -983,7 +983,7 @@ function HeroSaasDashboardPreview({
|
|
|
983
983
|
const renderBrowserPreview = React__namespace.useMemo(() => {
|
|
984
984
|
if (browserPreviewSlot) return browserPreviewSlot;
|
|
985
985
|
if (!browserPreview) return null;
|
|
986
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
|
|
986
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mt-12 md:mt-20", previewClassName), children: [
|
|
987
987
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 pointer-events-none" }),
|
|
988
988
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
989
989
|
"div",
|
|
@@ -1031,12 +1031,12 @@ function HeroSaasDashboardPreview({
|
|
|
1031
1031
|
patternOpacity,
|
|
1032
1032
|
className: cn(className),
|
|
1033
1033
|
containerClassName,
|
|
1034
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-10 md:pt-0", children: [
|
|
1034
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-10 md:pt-0 flex flex-col items-center justify-center", children: [
|
|
1035
1035
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1036
1036
|
"div",
|
|
1037
1037
|
{
|
|
1038
1038
|
className: cn(
|
|
1039
|
-
"
|
|
1039
|
+
"mx-auto text-center flex flex-col items-center gap-4 md:gap-6 max-w-full md:max-w-md",
|
|
1040
1040
|
headerClassName
|
|
1041
1041
|
),
|
|
1042
1042
|
children: [
|
|
@@ -892,7 +892,7 @@ function HeroSaasDashboardPreview({
|
|
|
892
892
|
className: "h-12"
|
|
893
893
|
};
|
|
894
894
|
const action = buttonAction || defaultButtonAction;
|
|
895
|
-
return /* @__PURE__ */ jsx("div", { className: "mt-
|
|
895
|
+
return /* @__PURE__ */ jsx("div", { className: "mt-4 md:mt-6 w-full flex items-center justify-center", children: /* @__PURE__ */ jsxs(
|
|
896
896
|
Form,
|
|
897
897
|
{
|
|
898
898
|
form,
|
|
@@ -962,7 +962,7 @@ function HeroSaasDashboardPreview({
|
|
|
962
962
|
const renderBrowserPreview = React.useMemo(() => {
|
|
963
963
|
if (browserPreviewSlot) return browserPreviewSlot;
|
|
964
964
|
if (!browserPreview) return null;
|
|
965
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
|
|
965
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-12 md:mt-20", previewClassName), children: [
|
|
966
966
|
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 z-10 pointer-events-none" }),
|
|
967
967
|
/* @__PURE__ */ jsxs(
|
|
968
968
|
"div",
|
|
@@ -1010,12 +1010,12 @@ function HeroSaasDashboardPreview({
|
|
|
1010
1010
|
patternOpacity,
|
|
1011
1011
|
className: cn(className),
|
|
1012
1012
|
containerClassName,
|
|
1013
|
-
children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0", children: [
|
|
1013
|
+
children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0 flex flex-col items-center justify-center", children: [
|
|
1014
1014
|
/* @__PURE__ */ jsxs(
|
|
1015
1015
|
"div",
|
|
1016
1016
|
{
|
|
1017
1017
|
className: cn(
|
|
1018
|
-
"
|
|
1018
|
+
"mx-auto text-center flex flex-col items-center gap-4 md:gap-6 max-w-full md:max-w-md",
|
|
1019
1019
|
headerClassName
|
|
1020
1020
|
),
|
|
1021
1021
|
children: [
|
package/dist/index.cjs
CHANGED
|
@@ -2633,6 +2633,70 @@ function CommunityInitiatives({
|
|
|
2633
2633
|
}
|
|
2634
2634
|
);
|
|
2635
2635
|
}
|
|
2636
|
+
var MOBILE_CLASSES = {
|
|
2637
|
+
"fit-left": "items-start md:items-center",
|
|
2638
|
+
"fit-center": "items-center",
|
|
2639
|
+
"fit-right": "items-end md:items-center",
|
|
2640
|
+
"full-left": "items-stretch md:items-center",
|
|
2641
|
+
"full-center": "items-stretch md:items-center",
|
|
2642
|
+
"full-right": "items-stretch md:items-center"
|
|
2643
|
+
};
|
|
2644
|
+
function BlockActions({
|
|
2645
|
+
mobileConfig,
|
|
2646
|
+
actionsClassName,
|
|
2647
|
+
verticalSpacing = "mt-4 md:mt-8",
|
|
2648
|
+
actions,
|
|
2649
|
+
actionsSlot
|
|
2650
|
+
}) {
|
|
2651
|
+
const width = mobileConfig?.width ?? "full";
|
|
2652
|
+
const position = mobileConfig?.position ?? "center";
|
|
2653
|
+
const mobileLayoutClass = MOBILE_CLASSES[`${width}-${position}`];
|
|
2654
|
+
if (actionsSlot) {
|
|
2655
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: actionsSlot });
|
|
2656
|
+
} else if (actions && actions?.length > 0) {
|
|
2657
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2658
|
+
"div",
|
|
2659
|
+
{
|
|
2660
|
+
className: cn(
|
|
2661
|
+
"flex flex-col md:flex-row flex-wrap gap-4",
|
|
2662
|
+
mobileLayoutClass,
|
|
2663
|
+
actionsClassName,
|
|
2664
|
+
verticalSpacing
|
|
2665
|
+
),
|
|
2666
|
+
children: actions.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx(ActionComponent, { action }, index))
|
|
2667
|
+
}
|
|
2668
|
+
);
|
|
2669
|
+
} else {
|
|
2670
|
+
return null;
|
|
2671
|
+
}
|
|
2672
|
+
}
|
|
2673
|
+
function ActionComponent({ action }) {
|
|
2674
|
+
const {
|
|
2675
|
+
label,
|
|
2676
|
+
icon,
|
|
2677
|
+
iconAfter,
|
|
2678
|
+
children,
|
|
2679
|
+
href,
|
|
2680
|
+
onClick,
|
|
2681
|
+
className: actionClassName,
|
|
2682
|
+
...pressableProps
|
|
2683
|
+
} = action;
|
|
2684
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2685
|
+
Pressable,
|
|
2686
|
+
{
|
|
2687
|
+
href,
|
|
2688
|
+
onClick,
|
|
2689
|
+
asButton: action.asButton ?? true,
|
|
2690
|
+
className: actionClassName,
|
|
2691
|
+
...pressableProps,
|
|
2692
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2693
|
+
icon,
|
|
2694
|
+
label,
|
|
2695
|
+
iconAfter
|
|
2696
|
+
] })
|
|
2697
|
+
}
|
|
2698
|
+
);
|
|
2699
|
+
}
|
|
2636
2700
|
function AboutCultureTabs({
|
|
2637
2701
|
badgeText,
|
|
2638
2702
|
heading,
|
|
@@ -2646,7 +2710,7 @@ function AboutCultureTabs({
|
|
|
2646
2710
|
ctaImages,
|
|
2647
2711
|
ctaImagesSlot,
|
|
2648
2712
|
className,
|
|
2649
|
-
containerClassName,
|
|
2713
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
2650
2714
|
headerClassName,
|
|
2651
2715
|
badgeClassName,
|
|
2652
2716
|
headingClassName,
|
|
@@ -2658,45 +2722,33 @@ function AboutCultureTabs({
|
|
|
2658
2722
|
actionsClassName,
|
|
2659
2723
|
optixFlowConfig,
|
|
2660
2724
|
background,
|
|
2661
|
-
spacing,
|
|
2725
|
+
spacing = "xl",
|
|
2662
2726
|
pattern,
|
|
2663
2727
|
patternOpacity
|
|
2664
2728
|
}) {
|
|
2665
2729
|
const resolvedAspects = aspects ?? [];
|
|
2666
|
-
const [activeTab, setActiveTab] = React4__namespace.useState(
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
if (!actions || actions.length === 0) return null;
|
|
2670
|
-
return actions.map((action, index) => {
|
|
2671
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
2672
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2673
|
-
Pressable,
|
|
2674
|
-
{
|
|
2675
|
-
asButton: true,
|
|
2676
|
-
className: actionClassName,
|
|
2677
|
-
...pressableProps,
|
|
2678
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2679
|
-
icon,
|
|
2680
|
-
label,
|
|
2681
|
-
iconAfter
|
|
2682
|
-
] })
|
|
2683
|
-
},
|
|
2684
|
-
index
|
|
2685
|
-
);
|
|
2686
|
-
});
|
|
2687
|
-
}, [actionsSlot, actions]);
|
|
2730
|
+
const [activeTab, setActiveTab] = React4__namespace.useState(
|
|
2731
|
+
resolvedAspects[0]?.id || ""
|
|
2732
|
+
);
|
|
2688
2733
|
const ctaImagesContent = React4.useMemo(() => {
|
|
2689
2734
|
if (ctaImagesSlot) return ctaImagesSlot;
|
|
2690
2735
|
if (!ctaImages || ctaImages.length === 0) return null;
|
|
2691
|
-
return ctaImages.map((src, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2692
|
-
|
|
2736
|
+
return ctaImages.map((src, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2737
|
+
"div",
|
|
2693
2738
|
{
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2739
|
+
className: "relative aspect-square overflow-hidden rounded-md",
|
|
2740
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2741
|
+
img.Img,
|
|
2742
|
+
{
|
|
2743
|
+
src,
|
|
2744
|
+
alt: "Team culture",
|
|
2745
|
+
className: "h-full w-full object-cover",
|
|
2746
|
+
optixFlowConfig
|
|
2747
|
+
}
|
|
2748
|
+
)
|
|
2749
|
+
},
|
|
2750
|
+
i
|
|
2751
|
+
));
|
|
2700
2752
|
}, [ctaImagesSlot, ctaImages, optixFlowConfig]);
|
|
2701
2753
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2702
2754
|
Section,
|
|
@@ -2705,14 +2757,32 @@ function AboutCultureTabs({
|
|
|
2705
2757
|
spacing,
|
|
2706
2758
|
pattern,
|
|
2707
2759
|
patternOpacity,
|
|
2708
|
-
className
|
|
2760
|
+
className,
|
|
2709
2761
|
containerClassName,
|
|
2710
2762
|
children: [
|
|
2711
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2763
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2764
|
+
"div",
|
|
2765
|
+
{
|
|
2766
|
+
className: cn(
|
|
2767
|
+
"mx-auto mb-12 max-w-full md:max-w-md space-y-4 text-center flex flex-col items-center justify-center",
|
|
2768
|
+
headerClassName
|
|
2769
|
+
),
|
|
2770
|
+
children: [
|
|
2771
|
+
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: cn("px-3 py-1", badgeClassName), children: badgeText }) : badgeText),
|
|
2772
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2773
|
+
"h2",
|
|
2774
|
+
{
|
|
2775
|
+
className: cn(
|
|
2776
|
+
"text-3xl font-bold tracking-tight md:text-4xl text-pretty",
|
|
2777
|
+
headingClassName
|
|
2778
|
+
),
|
|
2779
|
+
children: heading
|
|
2780
|
+
}
|
|
2781
|
+
) : heading),
|
|
2782
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-balance", descriptionClassName), children: description }) : description)
|
|
2783
|
+
]
|
|
2784
|
+
}
|
|
2785
|
+
),
|
|
2716
2786
|
aspectsSlot ? aspectsSlot : resolvedAspects.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2717
2787
|
Tabs,
|
|
2718
2788
|
{
|
|
@@ -2725,80 +2795,103 @@ function AboutCultureTabs({
|
|
|
2725
2795
|
TabsTrigger,
|
|
2726
2796
|
{
|
|
2727
2797
|
value: aspect.id,
|
|
2728
|
-
className: cn("px-3 py-2.5"
|
|
2798
|
+
className: cn("px-3 py-2.5"),
|
|
2729
2799
|
children: aspect.title
|
|
2730
2800
|
},
|
|
2731
2801
|
aspect.id
|
|
2732
2802
|
)) }) }),
|
|
2733
|
-
resolvedAspects.map((aspect) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2803
|
+
resolvedAspects.map((aspect) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2804
|
+
TabsContent,
|
|
2805
|
+
{
|
|
2806
|
+
value: aspect.id,
|
|
2807
|
+
className: "space-y-8",
|
|
2808
|
+
children: [
|
|
2809
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [
|
|
2810
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2811
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-bold tracking-tight", children: aspect.title }),
|
|
2812
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: aspect.description })
|
|
2813
|
+
] }),
|
|
2814
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card, { className: "border-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-4 p-6 pt-6", children: [
|
|
2815
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/quote", size: 32 }),
|
|
2816
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "italic", children: [
|
|
2817
|
+
'"',
|
|
2818
|
+
aspect.testimonial.quote,
|
|
2819
|
+
'"'
|
|
2820
|
+
] }),
|
|
2821
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 pt-2", children: [
|
|
2822
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-10 w-10 overflow-hidden rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2823
|
+
img.Img,
|
|
2824
|
+
{
|
|
2825
|
+
src: aspect.testimonial.avatar,
|
|
2826
|
+
alt: aspect.testimonial.author,
|
|
2827
|
+
className: "h-full w-full object-cover",
|
|
2828
|
+
optixFlowConfig
|
|
2829
|
+
}
|
|
2830
|
+
) }),
|
|
2831
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2832
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium", children: aspect.testimonial.author }),
|
|
2833
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: aspect.testimonial.role })
|
|
2834
|
+
] })
|
|
2835
|
+
] })
|
|
2836
|
+
] }) })
|
|
2752
2837
|
] }),
|
|
2753
|
-
/* @__PURE__ */ jsxRuntime.
|
|
2754
|
-
|
|
2755
|
-
img.Img,
|
|
2756
|
-
{
|
|
2757
|
-
src: aspect.testimonial.avatar,
|
|
2758
|
-
alt: aspect.testimonial.author,
|
|
2759
|
-
className: "h-full w-full object-cover",
|
|
2760
|
-
optixFlowConfig
|
|
2761
|
-
}
|
|
2762
|
-
) }),
|
|
2763
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2764
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium", children: aspect.testimonial.author }),
|
|
2765
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs", getTextColor(background, "muted")), children: aspect.testimonial.role })
|
|
2766
|
-
] })
|
|
2767
|
-
] })
|
|
2768
|
-
] }) })
|
|
2769
|
-
] }),
|
|
2770
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-3", children: aspect.images.map((image, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2771
|
-
"div",
|
|
2772
|
-
{
|
|
2773
|
-
className: "relative aspect-[4/3] overflow-hidden rounded-lg",
|
|
2774
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2775
|
-
img.Img,
|
|
2838
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-3", children: aspect.images.map((image, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2839
|
+
"div",
|
|
2776
2840
|
{
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2841
|
+
className: "relative aspect-4/3 overflow-hidden rounded-lg",
|
|
2842
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2843
|
+
img.Img,
|
|
2844
|
+
{
|
|
2845
|
+
src: image,
|
|
2846
|
+
alt: `${aspect.title} culture`,
|
|
2847
|
+
className: "h-full w-full transform object-cover transition-transform duration-500 hover:scale-105",
|
|
2848
|
+
optixFlowConfig
|
|
2849
|
+
}
|
|
2850
|
+
)
|
|
2851
|
+
},
|
|
2852
|
+
idx
|
|
2853
|
+
)) })
|
|
2854
|
+
]
|
|
2855
|
+
},
|
|
2856
|
+
aspect.id
|
|
2857
|
+
))
|
|
2787
2858
|
]
|
|
2788
2859
|
}
|
|
2789
2860
|
) : null,
|
|
2790
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2861
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2862
|
+
"div",
|
|
2863
|
+
{
|
|
2864
|
+
className: cn(
|
|
2865
|
+
"relative mt-16 rounded-xl border p-8 md:p-12",
|
|
2866
|
+
ctaClassName
|
|
2867
|
+
),
|
|
2868
|
+
children: [
|
|
2869
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-8 md:grid-cols-2", children: [
|
|
2870
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2871
|
+
ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2872
|
+
"h3",
|
|
2873
|
+
{
|
|
2874
|
+
className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName),
|
|
2875
|
+
children: ctaHeading
|
|
2876
|
+
}
|
|
2877
|
+
) : ctaHeading),
|
|
2878
|
+
ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6", ctaDescriptionClassName), children: ctaDescription }) : ctaDescription),
|
|
2879
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2880
|
+
BlockActions,
|
|
2881
|
+
{
|
|
2882
|
+
actions,
|
|
2883
|
+
actionsSlot,
|
|
2884
|
+
actionsClassName
|
|
2885
|
+
}
|
|
2886
|
+
)
|
|
2887
|
+
] }),
|
|
2888
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2", children: ctaImagesContent })
|
|
2889
|
+
] }),
|
|
2890
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -left-5 -top-5 h-10 w-10 rounded-full bg-primary/10" }),
|
|
2891
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-5 -right-5 h-10 w-10 rounded-full bg-primary/10" })
|
|
2892
|
+
]
|
|
2893
|
+
}
|
|
2894
|
+
)
|
|
2802
2895
|
]
|
|
2803
2896
|
}
|
|
2804
2897
|
);
|