@opensite/ui 1.9.2 → 1.9.3
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/contact-dark.cjs +103 -87
- package/dist/contact-dark.js +103 -87
- package/dist/contact-faq.cjs +49 -35
- package/dist/contact-faq.js +49 -35
- package/dist/contact-photography.cjs +103 -87
- package/dist/contact-photography.js +103 -87
- package/dist/registry.cjs +147 -48
- package/dist/registry.js +147 -48
- package/package.json +1 -1
|
@@ -686,77 +686,6 @@ function DynamicFormField({
|
|
|
686
686
|
}
|
|
687
687
|
);
|
|
688
688
|
}
|
|
689
|
-
|
|
690
|
-
// lib/form-field-types.ts
|
|
691
|
-
function generateInitialValues(fields) {
|
|
692
|
-
return fields.reduce(
|
|
693
|
-
(acc, field) => {
|
|
694
|
-
if (field.type === "checkbox") {
|
|
695
|
-
acc[field.name] = false;
|
|
696
|
-
} else if (field.type === "checkbox-group" || field.type === "multi-select") {
|
|
697
|
-
acc[field.name] = [];
|
|
698
|
-
} else if (field.type === "file") {
|
|
699
|
-
acc[field.name] = [];
|
|
700
|
-
} else if (field.type === "date-range") {
|
|
701
|
-
acc[field.name] = { start: null, end: null };
|
|
702
|
-
} else {
|
|
703
|
-
acc[field.name] = "";
|
|
704
|
-
}
|
|
705
|
-
return acc;
|
|
706
|
-
},
|
|
707
|
-
{}
|
|
708
|
-
);
|
|
709
|
-
}
|
|
710
|
-
function generateValidationSchema(fields) {
|
|
711
|
-
return fields.reduce(
|
|
712
|
-
(acc, field) => {
|
|
713
|
-
acc[field.name] = (value, allValues) => {
|
|
714
|
-
if (field.required) {
|
|
715
|
-
if (!value || typeof value === "string" && !value.trim()) {
|
|
716
|
-
return `${field.label} is required`;
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
if (field.type === "email" && value) {
|
|
720
|
-
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
|
|
721
|
-
return "Please enter a valid email address";
|
|
722
|
-
}
|
|
723
|
-
}
|
|
724
|
-
if (field.type === "url" && value) {
|
|
725
|
-
try {
|
|
726
|
-
new URL(value);
|
|
727
|
-
} catch {
|
|
728
|
-
return "Please enter a valid URL";
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
if (field.validator) {
|
|
732
|
-
return field.validator(value, allValues);
|
|
733
|
-
}
|
|
734
|
-
return void 0;
|
|
735
|
-
};
|
|
736
|
-
return acc;
|
|
737
|
-
},
|
|
738
|
-
{}
|
|
739
|
-
);
|
|
740
|
-
}
|
|
741
|
-
var columnSpanClasses = {
|
|
742
|
-
1: "col-span-12 md:col-span-1",
|
|
743
|
-
2: "col-span-12 md:col-span-2",
|
|
744
|
-
3: "col-span-12 md:col-span-3",
|
|
745
|
-
4: "col-span-12 md:col-span-4",
|
|
746
|
-
5: "col-span-12 md:col-span-5",
|
|
747
|
-
6: "col-span-12 md:col-span-6",
|
|
748
|
-
7: "col-span-12 md:col-span-7",
|
|
749
|
-
8: "col-span-12 md:col-span-8",
|
|
750
|
-
9: "col-span-12 md:col-span-9",
|
|
751
|
-
10: "col-span-12 md:col-span-10",
|
|
752
|
-
11: "col-span-12 md:col-span-11",
|
|
753
|
-
12: "col-span-12"
|
|
754
|
-
};
|
|
755
|
-
function getColumnSpanClass(span) {
|
|
756
|
-
if (!span || span === 12) return "col-span-12";
|
|
757
|
-
const clamped = Math.max(1, Math.min(span, 12));
|
|
758
|
-
return columnSpanClasses[clamped] || "col-span-12";
|
|
759
|
-
}
|
|
760
689
|
function useFileUpload(options) {
|
|
761
690
|
const [uploadTokens, setUploadTokens] = React.useState([]);
|
|
762
691
|
const [uploadProgress, setUploadProgress] = React.useState({});
|
|
@@ -821,6 +750,60 @@ function useFileUpload(options) {
|
|
|
821
750
|
resetUpload
|
|
822
751
|
};
|
|
823
752
|
}
|
|
753
|
+
|
|
754
|
+
// lib/form-field-types.ts
|
|
755
|
+
function generateInitialValues(fields) {
|
|
756
|
+
return fields.reduce(
|
|
757
|
+
(acc, field) => {
|
|
758
|
+
if (field.type === "checkbox") {
|
|
759
|
+
acc[field.name] = false;
|
|
760
|
+
} else if (field.type === "checkbox-group" || field.type === "multi-select") {
|
|
761
|
+
acc[field.name] = [];
|
|
762
|
+
} else if (field.type === "file") {
|
|
763
|
+
acc[field.name] = [];
|
|
764
|
+
} else if (field.type === "date-range") {
|
|
765
|
+
acc[field.name] = { start: null, end: null };
|
|
766
|
+
} else {
|
|
767
|
+
acc[field.name] = "";
|
|
768
|
+
}
|
|
769
|
+
return acc;
|
|
770
|
+
},
|
|
771
|
+
{}
|
|
772
|
+
);
|
|
773
|
+
}
|
|
774
|
+
function generateValidationSchema(fields) {
|
|
775
|
+
return fields.reduce(
|
|
776
|
+
(acc, field) => {
|
|
777
|
+
acc[field.name] = (value, allValues) => {
|
|
778
|
+
if (field.required) {
|
|
779
|
+
if (!value || typeof value === "string" && !value.trim()) {
|
|
780
|
+
return `${field.label} is required`;
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
if (field.type === "email" && value) {
|
|
784
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
|
|
785
|
+
return "Please enter a valid email address";
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
if (field.type === "url" && value) {
|
|
789
|
+
try {
|
|
790
|
+
new URL(value);
|
|
791
|
+
} catch {
|
|
792
|
+
return "Please enter a valid URL";
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
if (field.validator) {
|
|
796
|
+
return field.validator(value, allValues);
|
|
797
|
+
}
|
|
798
|
+
return void 0;
|
|
799
|
+
};
|
|
800
|
+
return acc;
|
|
801
|
+
},
|
|
802
|
+
{}
|
|
803
|
+
);
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
// lib/forms/use-contact-form.ts
|
|
824
807
|
function useContactForm(options) {
|
|
825
808
|
const {
|
|
826
809
|
formFields,
|
|
@@ -1497,23 +1480,56 @@ function ContactPhotography({
|
|
|
1497
1480
|
},
|
|
1498
1481
|
className: cn("space-y-4", formClassName),
|
|
1499
1482
|
children: [
|
|
1500
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1483
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: formFields.map((field, index) => {
|
|
1484
|
+
const prevField = index > 0 ? formFields[index - 1] : null;
|
|
1485
|
+
const shouldGroup = field.columnSpan && field.columnSpan <= 6 && prevField?.columnSpan && prevField.columnSpan <= 6 && prevField.columnSpan + field.columnSpan <= 12;
|
|
1486
|
+
if (shouldGroup && index > 0) {
|
|
1487
|
+
return null;
|
|
1488
|
+
}
|
|
1489
|
+
const nextField = index < formFields.length - 1 ? formFields[index + 1] : null;
|
|
1490
|
+
const groupWithNext = field.columnSpan && field.columnSpan <= 6 && nextField?.columnSpan && nextField.columnSpan <= 6 && field.columnSpan + nextField.columnSpan <= 12;
|
|
1491
|
+
if (groupWithNext && nextField) {
|
|
1492
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1493
|
+
"div",
|
|
1506
1494
|
{
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1495
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
1496
|
+
children: [
|
|
1497
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1498
|
+
DynamicFormField,
|
|
1499
|
+
{
|
|
1500
|
+
field,
|
|
1501
|
+
uploadProgress,
|
|
1502
|
+
onFileUpload: uploadFiles,
|
|
1503
|
+
onFileRemove: removeFile,
|
|
1504
|
+
isUploading
|
|
1505
|
+
}
|
|
1506
|
+
) }),
|
|
1507
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1508
|
+
DynamicFormField,
|
|
1509
|
+
{
|
|
1510
|
+
field: nextField,
|
|
1511
|
+
uploadProgress,
|
|
1512
|
+
onFileUpload: uploadFiles,
|
|
1513
|
+
onFileRemove: removeFile,
|
|
1514
|
+
isUploading
|
|
1515
|
+
}
|
|
1516
|
+
) })
|
|
1517
|
+
]
|
|
1518
|
+
},
|
|
1519
|
+
field.name
|
|
1520
|
+
);
|
|
1521
|
+
}
|
|
1522
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1523
|
+
DynamicFormField,
|
|
1524
|
+
{
|
|
1525
|
+
field,
|
|
1526
|
+
uploadProgress,
|
|
1527
|
+
onFileUpload: uploadFiles,
|
|
1528
|
+
onFileRemove: removeFile,
|
|
1529
|
+
isUploading
|
|
1530
|
+
}
|
|
1531
|
+
) }, field.name);
|
|
1532
|
+
}) }),
|
|
1517
1533
|
actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1518
1534
|
Pressable,
|
|
1519
1535
|
{
|
|
@@ -665,77 +665,6 @@ function DynamicFormField({
|
|
|
665
665
|
}
|
|
666
666
|
);
|
|
667
667
|
}
|
|
668
|
-
|
|
669
|
-
// lib/form-field-types.ts
|
|
670
|
-
function generateInitialValues(fields) {
|
|
671
|
-
return fields.reduce(
|
|
672
|
-
(acc, field) => {
|
|
673
|
-
if (field.type === "checkbox") {
|
|
674
|
-
acc[field.name] = false;
|
|
675
|
-
} else if (field.type === "checkbox-group" || field.type === "multi-select") {
|
|
676
|
-
acc[field.name] = [];
|
|
677
|
-
} else if (field.type === "file") {
|
|
678
|
-
acc[field.name] = [];
|
|
679
|
-
} else if (field.type === "date-range") {
|
|
680
|
-
acc[field.name] = { start: null, end: null };
|
|
681
|
-
} else {
|
|
682
|
-
acc[field.name] = "";
|
|
683
|
-
}
|
|
684
|
-
return acc;
|
|
685
|
-
},
|
|
686
|
-
{}
|
|
687
|
-
);
|
|
688
|
-
}
|
|
689
|
-
function generateValidationSchema(fields) {
|
|
690
|
-
return fields.reduce(
|
|
691
|
-
(acc, field) => {
|
|
692
|
-
acc[field.name] = (value, allValues) => {
|
|
693
|
-
if (field.required) {
|
|
694
|
-
if (!value || typeof value === "string" && !value.trim()) {
|
|
695
|
-
return `${field.label} is required`;
|
|
696
|
-
}
|
|
697
|
-
}
|
|
698
|
-
if (field.type === "email" && value) {
|
|
699
|
-
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
|
|
700
|
-
return "Please enter a valid email address";
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
if (field.type === "url" && value) {
|
|
704
|
-
try {
|
|
705
|
-
new URL(value);
|
|
706
|
-
} catch {
|
|
707
|
-
return "Please enter a valid URL";
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
if (field.validator) {
|
|
711
|
-
return field.validator(value, allValues);
|
|
712
|
-
}
|
|
713
|
-
return void 0;
|
|
714
|
-
};
|
|
715
|
-
return acc;
|
|
716
|
-
},
|
|
717
|
-
{}
|
|
718
|
-
);
|
|
719
|
-
}
|
|
720
|
-
var columnSpanClasses = {
|
|
721
|
-
1: "col-span-12 md:col-span-1",
|
|
722
|
-
2: "col-span-12 md:col-span-2",
|
|
723
|
-
3: "col-span-12 md:col-span-3",
|
|
724
|
-
4: "col-span-12 md:col-span-4",
|
|
725
|
-
5: "col-span-12 md:col-span-5",
|
|
726
|
-
6: "col-span-12 md:col-span-6",
|
|
727
|
-
7: "col-span-12 md:col-span-7",
|
|
728
|
-
8: "col-span-12 md:col-span-8",
|
|
729
|
-
9: "col-span-12 md:col-span-9",
|
|
730
|
-
10: "col-span-12 md:col-span-10",
|
|
731
|
-
11: "col-span-12 md:col-span-11",
|
|
732
|
-
12: "col-span-12"
|
|
733
|
-
};
|
|
734
|
-
function getColumnSpanClass(span) {
|
|
735
|
-
if (!span || span === 12) return "col-span-12";
|
|
736
|
-
const clamped = Math.max(1, Math.min(span, 12));
|
|
737
|
-
return columnSpanClasses[clamped] || "col-span-12";
|
|
738
|
-
}
|
|
739
668
|
function useFileUpload(options) {
|
|
740
669
|
const [uploadTokens, setUploadTokens] = useState([]);
|
|
741
670
|
const [uploadProgress, setUploadProgress] = useState({});
|
|
@@ -800,6 +729,60 @@ function useFileUpload(options) {
|
|
|
800
729
|
resetUpload
|
|
801
730
|
};
|
|
802
731
|
}
|
|
732
|
+
|
|
733
|
+
// lib/form-field-types.ts
|
|
734
|
+
function generateInitialValues(fields) {
|
|
735
|
+
return fields.reduce(
|
|
736
|
+
(acc, field) => {
|
|
737
|
+
if (field.type === "checkbox") {
|
|
738
|
+
acc[field.name] = false;
|
|
739
|
+
} else if (field.type === "checkbox-group" || field.type === "multi-select") {
|
|
740
|
+
acc[field.name] = [];
|
|
741
|
+
} else if (field.type === "file") {
|
|
742
|
+
acc[field.name] = [];
|
|
743
|
+
} else if (field.type === "date-range") {
|
|
744
|
+
acc[field.name] = { start: null, end: null };
|
|
745
|
+
} else {
|
|
746
|
+
acc[field.name] = "";
|
|
747
|
+
}
|
|
748
|
+
return acc;
|
|
749
|
+
},
|
|
750
|
+
{}
|
|
751
|
+
);
|
|
752
|
+
}
|
|
753
|
+
function generateValidationSchema(fields) {
|
|
754
|
+
return fields.reduce(
|
|
755
|
+
(acc, field) => {
|
|
756
|
+
acc[field.name] = (value, allValues) => {
|
|
757
|
+
if (field.required) {
|
|
758
|
+
if (!value || typeof value === "string" && !value.trim()) {
|
|
759
|
+
return `${field.label} is required`;
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
if (field.type === "email" && value) {
|
|
763
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
|
|
764
|
+
return "Please enter a valid email address";
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
if (field.type === "url" && value) {
|
|
768
|
+
try {
|
|
769
|
+
new URL(value);
|
|
770
|
+
} catch {
|
|
771
|
+
return "Please enter a valid URL";
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
if (field.validator) {
|
|
775
|
+
return field.validator(value, allValues);
|
|
776
|
+
}
|
|
777
|
+
return void 0;
|
|
778
|
+
};
|
|
779
|
+
return acc;
|
|
780
|
+
},
|
|
781
|
+
{}
|
|
782
|
+
);
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
// lib/forms/use-contact-form.ts
|
|
803
786
|
function useContactForm(options) {
|
|
804
787
|
const {
|
|
805
788
|
formFields,
|
|
@@ -1476,23 +1459,56 @@ function ContactPhotography({
|
|
|
1476
1459
|
},
|
|
1477
1460
|
className: cn("space-y-4", formClassName),
|
|
1478
1461
|
children: [
|
|
1479
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1462
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-4", children: formFields.map((field, index) => {
|
|
1463
|
+
const prevField = index > 0 ? formFields[index - 1] : null;
|
|
1464
|
+
const shouldGroup = field.columnSpan && field.columnSpan <= 6 && prevField?.columnSpan && prevField.columnSpan <= 6 && prevField.columnSpan + field.columnSpan <= 12;
|
|
1465
|
+
if (shouldGroup && index > 0) {
|
|
1466
|
+
return null;
|
|
1467
|
+
}
|
|
1468
|
+
const nextField = index < formFields.length - 1 ? formFields[index + 1] : null;
|
|
1469
|
+
const groupWithNext = field.columnSpan && field.columnSpan <= 6 && nextField?.columnSpan && nextField.columnSpan <= 6 && field.columnSpan + nextField.columnSpan <= 12;
|
|
1470
|
+
if (groupWithNext && nextField) {
|
|
1471
|
+
return /* @__PURE__ */ jsxs(
|
|
1472
|
+
"div",
|
|
1485
1473
|
{
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1474
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
1475
|
+
children: [
|
|
1476
|
+
/* @__PURE__ */ jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsx(
|
|
1477
|
+
DynamicFormField,
|
|
1478
|
+
{
|
|
1479
|
+
field,
|
|
1480
|
+
uploadProgress,
|
|
1481
|
+
onFileUpload: uploadFiles,
|
|
1482
|
+
onFileRemove: removeFile,
|
|
1483
|
+
isUploading
|
|
1484
|
+
}
|
|
1485
|
+
) }),
|
|
1486
|
+
/* @__PURE__ */ jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsx(
|
|
1487
|
+
DynamicFormField,
|
|
1488
|
+
{
|
|
1489
|
+
field: nextField,
|
|
1490
|
+
uploadProgress,
|
|
1491
|
+
onFileUpload: uploadFiles,
|
|
1492
|
+
onFileRemove: removeFile,
|
|
1493
|
+
isUploading
|
|
1494
|
+
}
|
|
1495
|
+
) })
|
|
1496
|
+
]
|
|
1497
|
+
},
|
|
1498
|
+
field.name
|
|
1499
|
+
);
|
|
1500
|
+
}
|
|
1501
|
+
return /* @__PURE__ */ jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsx(
|
|
1502
|
+
DynamicFormField,
|
|
1503
|
+
{
|
|
1504
|
+
field,
|
|
1505
|
+
uploadProgress,
|
|
1506
|
+
onFileUpload: uploadFiles,
|
|
1507
|
+
onFileRemove: removeFile,
|
|
1508
|
+
isUploading
|
|
1509
|
+
}
|
|
1510
|
+
) }, field.name);
|
|
1511
|
+
}) }),
|
|
1496
1512
|
actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
|
|
1497
1513
|
Pressable,
|
|
1498
1514
|
{
|
package/dist/registry.cjs
CHANGED
|
@@ -14583,23 +14583,56 @@ function ContactDark({
|
|
|
14583
14583
|
},
|
|
14584
14584
|
className: cn("space-y-6", formClassName),
|
|
14585
14585
|
children: [
|
|
14586
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
|
|
14591
|
-
|
|
14586
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: formFields.map((field, index) => {
|
|
14587
|
+
const prevField = index > 0 ? formFields[index - 1] : null;
|
|
14588
|
+
const shouldGroup = field.columnSpan && field.columnSpan <= 6 && prevField?.columnSpan && prevField.columnSpan <= 6 && prevField.columnSpan + field.columnSpan <= 12;
|
|
14589
|
+
if (shouldGroup && index > 0) {
|
|
14590
|
+
return null;
|
|
14591
|
+
}
|
|
14592
|
+
const nextField = index < formFields.length - 1 ? formFields[index + 1] : null;
|
|
14593
|
+
const groupWithNext = field.columnSpan && field.columnSpan <= 6 && nextField?.columnSpan && nextField.columnSpan <= 6 && field.columnSpan + nextField.columnSpan <= 12;
|
|
14594
|
+
if (groupWithNext && nextField) {
|
|
14595
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14596
|
+
"div",
|
|
14592
14597
|
{
|
|
14593
|
-
|
|
14594
|
-
|
|
14595
|
-
|
|
14596
|
-
|
|
14597
|
-
|
|
14598
|
-
|
|
14599
|
-
|
|
14600
|
-
|
|
14601
|
-
|
|
14602
|
-
|
|
14598
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
14599
|
+
children: [
|
|
14600
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14601
|
+
DynamicFormField,
|
|
14602
|
+
{
|
|
14603
|
+
field,
|
|
14604
|
+
uploadProgress,
|
|
14605
|
+
onFileUpload: uploadFiles,
|
|
14606
|
+
onFileRemove: removeFile,
|
|
14607
|
+
isUploading
|
|
14608
|
+
}
|
|
14609
|
+
) }),
|
|
14610
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14611
|
+
DynamicFormField,
|
|
14612
|
+
{
|
|
14613
|
+
field: nextField,
|
|
14614
|
+
uploadProgress,
|
|
14615
|
+
onFileUpload: uploadFiles,
|
|
14616
|
+
onFileRemove: removeFile,
|
|
14617
|
+
isUploading
|
|
14618
|
+
}
|
|
14619
|
+
) })
|
|
14620
|
+
]
|
|
14621
|
+
},
|
|
14622
|
+
field.name
|
|
14623
|
+
);
|
|
14624
|
+
}
|
|
14625
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14626
|
+
DynamicFormField,
|
|
14627
|
+
{
|
|
14628
|
+
field,
|
|
14629
|
+
uploadProgress,
|
|
14630
|
+
onFileUpload: uploadFiles,
|
|
14631
|
+
onFileRemove: removeFile,
|
|
14632
|
+
isUploading
|
|
14633
|
+
}
|
|
14634
|
+
) }, field.name);
|
|
14635
|
+
}) }),
|
|
14603
14636
|
actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14604
14637
|
Pressable,
|
|
14605
14638
|
{
|
|
@@ -15876,23 +15909,56 @@ function ContactFaq({
|
|
|
15876
15909
|
},
|
|
15877
15910
|
className: cn("space-y-4", formClassName),
|
|
15878
15911
|
children: [
|
|
15879
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
15880
|
-
|
|
15881
|
-
|
|
15882
|
-
|
|
15883
|
-
|
|
15884
|
-
|
|
15912
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: formFields.map((field, index) => {
|
|
15913
|
+
const prevField = index > 0 ? formFields[index - 1] : null;
|
|
15914
|
+
const shouldGroup = field.columnSpan && field.columnSpan <= 6 && prevField?.columnSpan && prevField.columnSpan <= 6 && prevField.columnSpan + field.columnSpan <= 12;
|
|
15915
|
+
if (shouldGroup && index > 0) {
|
|
15916
|
+
return null;
|
|
15917
|
+
}
|
|
15918
|
+
const nextField = index < formFields.length - 1 ? formFields[index + 1] : null;
|
|
15919
|
+
const groupWithNext = field.columnSpan && field.columnSpan <= 6 && nextField?.columnSpan && nextField.columnSpan <= 6 && field.columnSpan + nextField.columnSpan <= 12;
|
|
15920
|
+
if (groupWithNext && nextField) {
|
|
15921
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15922
|
+
"div",
|
|
15885
15923
|
{
|
|
15886
|
-
|
|
15887
|
-
|
|
15888
|
-
|
|
15889
|
-
|
|
15890
|
-
|
|
15891
|
-
|
|
15892
|
-
|
|
15893
|
-
|
|
15894
|
-
|
|
15895
|
-
|
|
15924
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
15925
|
+
children: [
|
|
15926
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15927
|
+
DynamicFormField,
|
|
15928
|
+
{
|
|
15929
|
+
field,
|
|
15930
|
+
uploadProgress,
|
|
15931
|
+
onFileUpload: uploadFiles,
|
|
15932
|
+
onFileRemove: removeFile,
|
|
15933
|
+
isUploading
|
|
15934
|
+
}
|
|
15935
|
+
) }),
|
|
15936
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15937
|
+
DynamicFormField,
|
|
15938
|
+
{
|
|
15939
|
+
field: nextField,
|
|
15940
|
+
uploadProgress,
|
|
15941
|
+
onFileUpload: uploadFiles,
|
|
15942
|
+
onFileRemove: removeFile,
|
|
15943
|
+
isUploading
|
|
15944
|
+
}
|
|
15945
|
+
) })
|
|
15946
|
+
]
|
|
15947
|
+
},
|
|
15948
|
+
field.name
|
|
15949
|
+
);
|
|
15950
|
+
}
|
|
15951
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
15952
|
+
DynamicFormField,
|
|
15953
|
+
{
|
|
15954
|
+
field,
|
|
15955
|
+
uploadProgress,
|
|
15956
|
+
onFileUpload: uploadFiles,
|
|
15957
|
+
onFileRemove: removeFile,
|
|
15958
|
+
isUploading
|
|
15959
|
+
}
|
|
15960
|
+
) }, field.name);
|
|
15961
|
+
}) }),
|
|
15896
15962
|
actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15897
15963
|
Pressable,
|
|
15898
15964
|
{
|
|
@@ -18897,23 +18963,56 @@ function ContactPhotography({
|
|
|
18897
18963
|
},
|
|
18898
18964
|
className: cn("space-y-4", formClassName),
|
|
18899
18965
|
children: [
|
|
18900
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
18901
|
-
|
|
18902
|
-
|
|
18903
|
-
|
|
18904
|
-
|
|
18905
|
-
|
|
18966
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: formFields.map((field, index) => {
|
|
18967
|
+
const prevField = index > 0 ? formFields[index - 1] : null;
|
|
18968
|
+
const shouldGroup = field.columnSpan && field.columnSpan <= 6 && prevField?.columnSpan && prevField.columnSpan <= 6 && prevField.columnSpan + field.columnSpan <= 12;
|
|
18969
|
+
if (shouldGroup && index > 0) {
|
|
18970
|
+
return null;
|
|
18971
|
+
}
|
|
18972
|
+
const nextField = index < formFields.length - 1 ? formFields[index + 1] : null;
|
|
18973
|
+
const groupWithNext = field.columnSpan && field.columnSpan <= 6 && nextField?.columnSpan && nextField.columnSpan <= 6 && field.columnSpan + nextField.columnSpan <= 12;
|
|
18974
|
+
if (groupWithNext && nextField) {
|
|
18975
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18976
|
+
"div",
|
|
18906
18977
|
{
|
|
18907
|
-
|
|
18908
|
-
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18913
|
-
|
|
18914
|
-
|
|
18915
|
-
|
|
18916
|
-
|
|
18978
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
18979
|
+
children: [
|
|
18980
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18981
|
+
DynamicFormField,
|
|
18982
|
+
{
|
|
18983
|
+
field,
|
|
18984
|
+
uploadProgress,
|
|
18985
|
+
onFileUpload: uploadFiles,
|
|
18986
|
+
onFileRemove: removeFile,
|
|
18987
|
+
isUploading
|
|
18988
|
+
}
|
|
18989
|
+
) }),
|
|
18990
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18991
|
+
DynamicFormField,
|
|
18992
|
+
{
|
|
18993
|
+
field: nextField,
|
|
18994
|
+
uploadProgress,
|
|
18995
|
+
onFileUpload: uploadFiles,
|
|
18996
|
+
onFileRemove: removeFile,
|
|
18997
|
+
isUploading
|
|
18998
|
+
}
|
|
18999
|
+
) })
|
|
19000
|
+
]
|
|
19001
|
+
},
|
|
19002
|
+
field.name
|
|
19003
|
+
);
|
|
19004
|
+
}
|
|
19005
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[76px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19006
|
+
DynamicFormField,
|
|
19007
|
+
{
|
|
19008
|
+
field,
|
|
19009
|
+
uploadProgress,
|
|
19010
|
+
onFileUpload: uploadFiles,
|
|
19011
|
+
onFileRemove: removeFile,
|
|
19012
|
+
isUploading
|
|
19013
|
+
}
|
|
19014
|
+
) }, field.name);
|
|
19015
|
+
}) }),
|
|
18917
19016
|
actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18918
19017
|
Pressable,
|
|
18919
19018
|
{
|