@payloadcms/ui 3.0.0-beta.110 → 3.0.0-beta.112
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/elements/AddNewRelation/index.scss +36 -34
- package/dist/elements/AppHeader/index.scss +152 -150
- package/dist/elements/ArrayAction/index.scss +23 -21
- package/dist/elements/Autosave/index.scss +4 -2
- package/dist/elements/Banner/index.scss +51 -49
- package/dist/elements/BulkUpload/ActionsBar/index.scss +45 -43
- package/dist/elements/BulkUpload/AddFilesView/index.scss +23 -21
- package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
- package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
- package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
- package/dist/elements/BulkUpload/FileSidebar/index.scss +214 -212
- package/dist/elements/BulkUpload/Header/index.scss +11 -9
- package/dist/elements/Button/index.scss +202 -200
- package/dist/elements/Card/index.scss +58 -56
- package/dist/elements/CodeEditor/index.scss +16 -14
- package/dist/elements/Collapsible/index.scss +125 -123
- package/dist/elements/ColumnSelector/index.scss +36 -34
- package/dist/elements/CopyToClipboard/index.scss +21 -19
- package/dist/elements/DatePicker/index.scss +309 -307
- package/dist/elements/DeleteDocument/index.scss +32 -30
- package/dist/elements/DeleteMany/index.scss +29 -27
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +190 -188
- package/dist/elements/DocumentDrawer/index.scss +55 -53
- package/dist/elements/DocumentFields/index.scss +144 -142
- package/dist/elements/Drawer/index.scss +111 -109
- package/dist/elements/Dropzone/index.d.ts +2 -1
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +3 -2
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/Dropzone/index.scss +32 -30
- package/dist/elements/DuplicateDocument/index.scss +31 -29
- package/dist/elements/EditMany/index.scss +162 -160
- package/dist/elements/EditUpload/index.scss +180 -178
- package/dist/elements/ErrorPill/index.scss +27 -25
- package/dist/elements/FieldSelect/index.js +2 -2
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.scss +4 -2
- package/dist/elements/FileDetails/DraggableFileDetails/index.scss +25 -23
- package/dist/elements/FileDetails/FileMeta/index.scss +21 -19
- package/dist/elements/FileDetails/StaticFileDetails/index.scss +104 -102
- package/dist/elements/GenerateConfirmation/index.scss +29 -27
- package/dist/elements/Gutter/index.scss +14 -12
- package/dist/elements/Hamburger/index.scss +38 -36
- package/dist/elements/IDLabel/index.scss +11 -9
- package/dist/elements/ListControls/index.scss +71 -69
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +156 -154
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.scss +93 -91
- package/dist/elements/ListDrawer/types.d.ts +2 -1
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/index.scss +9 -7
- package/dist/elements/ListSelection/index.scss +14 -12
- package/dist/elements/Loading/index.scss +108 -106
- package/dist/elements/Localizer/LocalizerLabel/index.scss +44 -42
- package/dist/elements/Localizer/index.scss +7 -5
- package/dist/elements/Locked/index.scss +11 -9
- package/dist/elements/Nav/NavToggler/index.scss +9 -7
- package/dist/elements/NavGroup/index.scss +43 -41
- package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
- package/dist/elements/Pagination/index.scss +40 -38
- package/dist/elements/PerPage/index.scss +37 -35
- package/dist/elements/Pill/index.scss +103 -101
- package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
- package/dist/elements/Popup/PopupTrigger/index.scss +23 -21
- package/dist/elements/Popup/index.scss +185 -183
- package/dist/elements/PreviewSizes/index.scss +115 -113
- package/dist/elements/PublishMany/index.scss +28 -26
- package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
- package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
- package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
- package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
- package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
- package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +1 -0
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +62 -60
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +5 -3
- package/dist/elements/RelationshipTable/index.scss +21 -19
- package/dist/elements/RenderTitle/index.scss +7 -5
- package/dist/elements/SearchFilter/index.scss +31 -28
- package/dist/elements/SelectAll/index.scss +5 -3
- package/dist/elements/SelectRow/index.scss +6 -4
- package/dist/elements/ShimmerEffect/index.scss +26 -24
- package/dist/elements/SortColumn/index.scss +51 -49
- package/dist/elements/SortComplex/index.scss +27 -25
- package/dist/elements/Status/index.scss +45 -43
- package/dist/elements/StayLoggedIn/index.scss +28 -26
- package/dist/elements/StepNav/index.scss +62 -61
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
- package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
- package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
- package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
- package/dist/elements/Table/index.scss +74 -72
- package/dist/elements/Thumbnail/index.scss +37 -35
- package/dist/elements/ThumbnailCard/index.scss +31 -29
- package/dist/elements/Tooltip/index.scss +77 -75
- package/dist/elements/UnpublishMany/index.scss +28 -26
- package/dist/elements/Upload/index.scss +122 -120
- package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
- package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
- package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
- package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
- package/dist/elements/WhereBuilder/index.scss +28 -26
- package/dist/exports/client/{CodeEditor-FARZ6UIX.js → CodeEditor-4A6256PR.js} +1 -1
- package/dist/exports/client/{CodeEditor-FARZ6UIX.js.map → CodeEditor-4A6256PR.js.map} +1 -1
- package/dist/exports/client/{DatePicker-NBYDOP2X.js → DatePicker-HNJMUG32.js} +2 -2
- package/dist/exports/client/{chunk-6MRITTMD.js → chunk-IHJK2MAT.js} +1 -1
- package/dist/exports/client/{chunk-6MRITTMD.js.map → chunk-IHJK2MAT.js.map} +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/index.scss +74 -72
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
- package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
- package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
- package/dist/fields/Blocks/index.scss +89 -87
- package/dist/fields/Checkbox/index.scss +107 -105
- package/dist/fields/Code/index.scss +18 -16
- package/dist/fields/Collapsible/index.scss +8 -6
- package/dist/fields/ConfirmPassword/index.scss +18 -16
- package/dist/fields/DateTime/index.scss +13 -11
- package/dist/fields/Email/index.scss +21 -19
- package/dist/fields/FieldDescription/index.scss +9 -7
- package/dist/fields/FieldError/index.scss +13 -11
- package/dist/fields/FieldLabel/index.scss +17 -15
- package/dist/fields/Group/index.scss +107 -105
- package/dist/fields/JSON/index.scss +11 -9
- package/dist/fields/Number/index.scss +19 -17
- package/dist/fields/Password/index.scss +18 -16
- package/dist/fields/Point/index.scss +33 -31
- package/dist/fields/RadioGroup/Radio/index.scss +58 -56
- package/dist/fields/RadioGroup/index.scss +57 -55
- package/dist/fields/Relationship/index.scss +44 -42
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -38
- package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -41
- package/dist/fields/Row/index.scss +31 -29
- package/dist/fields/Select/index.scss +16 -14
- package/dist/fields/Tabs/Tab/index.scss +58 -56
- package/dist/fields/Tabs/index.scss +46 -44
- package/dist/fields/Text/index.scss +23 -21
- package/dist/fields/Textarea/index.scss +89 -87
- package/dist/fields/Upload/HasMany/index.scss +20 -18
- package/dist/fields/Upload/HasOne/index.js +1 -1
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.scss +5 -3
- package/dist/fields/Upload/Input.d.ts +0 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +61 -53
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.scss +44 -42
- package/dist/fields/Upload/UploadCard/index.scss +21 -19
- package/dist/fields/Upload/index.scss +49 -47
- package/dist/forms/Form/index.scss +5 -3
- package/dist/forms/RenderFields/index.scss +47 -45
- package/dist/forms/Submit/index.scss +5 -3
- package/dist/graphics/Account/Default/index.scss +43 -41
- package/dist/icons/Calendar/index.scss +8 -6
- package/dist/icons/Check/index.scss +9 -7
- package/dist/icons/Chevron/index.scss +18 -16
- package/dist/icons/CloseMenu/index.scss +7 -5
- package/dist/icons/Copy/index.scss +9 -7
- package/dist/icons/DragHandle/index.scss +9 -7
- package/dist/icons/Edit/index.scss +9 -7
- package/dist/icons/Line/index.scss +8 -6
- package/dist/icons/Link/index.scss +8 -6
- package/dist/icons/Lock/index.scss +6 -4
- package/dist/icons/LogOut/index.scss +8 -6
- package/dist/icons/Menu/index.scss +6 -4
- package/dist/icons/More/index.scss +8 -6
- package/dist/icons/Plus/index.scss +6 -4
- package/dist/icons/Search/index.scss +8 -6
- package/dist/icons/Swap/index.scss +9 -7
- package/dist/icons/X/index.scss +6 -4
- package/dist/providers/Auth/index.d.ts +8 -7
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +51 -56
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/scss/app.scss +166 -162
- package/dist/scss/colors.scss +256 -254
- package/dist/scss/resets.scss +9 -7
- package/dist/scss/toastify.scss +42 -40
- package/dist/scss/toasts.scss +105 -103
- package/dist/scss/type.scss +81 -79
- package/dist/styles.css +1 -1
- package/package.json +8 -8
- /package/dist/exports/client/{DatePicker-NBYDOP2X.js.map → DatePicker-HNJMUG32.js.map} +0 -0
|
@@ -23,7 +23,7 @@ import { UploadComponentHasOne } from './HasOne/index.js';
|
|
|
23
23
|
import './index.scss';
|
|
24
24
|
export const baseClass = 'upload';
|
|
25
25
|
export function UploadInput(props) {
|
|
26
|
-
const $ = _c(
|
|
26
|
+
const $ = _c(126);
|
|
27
27
|
const {
|
|
28
28
|
api,
|
|
29
29
|
className,
|
|
@@ -51,6 +51,7 @@ export function UploadInput(props) {
|
|
|
51
51
|
value,
|
|
52
52
|
width
|
|
53
53
|
} = props;
|
|
54
|
+
const allowCreate = field?.admin?.allowCreate !== false;
|
|
54
55
|
const [populatedDocs, setPopulatedDocs] = React.useState();
|
|
55
56
|
const [activeRelationTo] = React.useState(Array.isArray(relationTo) ? relationTo[0] : relationTo);
|
|
56
57
|
const {
|
|
@@ -482,7 +483,7 @@ export function UploadInput(props) {
|
|
|
482
483
|
t24 = $[78];
|
|
483
484
|
}
|
|
484
485
|
useEffect(t23, t24);
|
|
485
|
-
const showDropzone = !readOnly && (!value || hasMany && Array.isArray(value) && (typeof maxRows !== "number" || value.length < maxRows));
|
|
486
|
+
const showDropzone = !readOnly && (!value || hasMany && Array.isArray(value) && (typeof maxRows !== "number" || value.length < maxRows) || !hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === "undefined");
|
|
486
487
|
const t25 = showError && "error";
|
|
487
488
|
const t26 = readOnly && "read-only";
|
|
488
489
|
let t27;
|
|
@@ -498,30 +499,30 @@ export function UploadInput(props) {
|
|
|
498
499
|
const t28 = t27.join(" ");
|
|
499
500
|
const t29 = `field-${path.replace(/\./g, "__")}`;
|
|
500
501
|
let t30;
|
|
501
|
-
if ($[83] !== style || $[84] !== width || $[85] !== labelProps || $[86] !== Label || $[87] !== label || $[88] !== required || $[89] !== field || $[90] !== errorProps || $[91] !== Error || $[92] !== path || $[93] !== hasMany || $[94] !== value || $[95] !== populatedDocs || $[96] !== isSortable || $[97] !== readOnly || $[98] !== onRemove || $[99] !== onReorder || $[100] !== serverURL || $[101] !==
|
|
502
|
+
if ($[83] !== style || $[84] !== width || $[85] !== labelProps || $[86] !== Label || $[87] !== label || $[88] !== required || $[89] !== field || $[90] !== errorProps || $[91] !== Error || $[92] !== path || $[93] !== hasMany || $[94] !== value || $[95] !== populatedDocs || $[96] !== isSortable || $[97] !== readOnly || $[98] !== onRemove || $[99] !== onReorder || $[100] !== serverURL || $[101] !== t || $[102] !== showDropzone || $[103] !== allowCreate || $[104] !== canCreate || $[105] !== onLocalFileSelection || $[106] !== openCreateDocDrawer || $[107] !== openListDrawer || $[108] !== onDocCreate || $[109] !== CreateDocDrawer || $[110] !== onListBulkSelect || $[111] !== onListSelect || $[112] !== ListDrawer || $[113] !== maxRows || $[114] !== descriptionProps || $[115] !== Description || $[116] !== description || $[117] !== t28 || $[118] !== t29) {
|
|
502
503
|
let t31;
|
|
503
|
-
if ($[
|
|
504
|
+
if ($[120] !== labelProps) {
|
|
504
505
|
t31 = labelProps || {};
|
|
505
|
-
$[
|
|
506
|
-
$[
|
|
506
|
+
$[120] = labelProps;
|
|
507
|
+
$[121] = t31;
|
|
507
508
|
} else {
|
|
508
|
-
t31 = $[
|
|
509
|
+
t31 = $[121];
|
|
509
510
|
}
|
|
510
511
|
let t32;
|
|
511
|
-
if ($[
|
|
512
|
+
if ($[122] !== errorProps) {
|
|
512
513
|
t32 = errorProps || {};
|
|
513
|
-
$[
|
|
514
|
-
$[
|
|
514
|
+
$[122] = errorProps;
|
|
515
|
+
$[123] = t32;
|
|
515
516
|
} else {
|
|
516
|
-
t32 = $[
|
|
517
|
+
t32 = $[123];
|
|
517
518
|
}
|
|
518
519
|
let t33;
|
|
519
|
-
if ($[
|
|
520
|
+
if ($[124] !== descriptionProps) {
|
|
520
521
|
t33 = descriptionProps || {};
|
|
521
|
-
$[
|
|
522
|
-
$[
|
|
522
|
+
$[124] = descriptionProps;
|
|
523
|
+
$[125] = t33;
|
|
523
524
|
} else {
|
|
524
|
-
t33 = $[
|
|
525
|
+
t33 = $[125];
|
|
525
526
|
}
|
|
526
527
|
t30 = _jsxs("div", {
|
|
527
528
|
className: t28,
|
|
@@ -559,39 +560,44 @@ export function UploadInput(props) {
|
|
|
559
560
|
children: value.map(_temp)
|
|
560
561
|
})
|
|
561
562
|
}) : null, !hasMany && value ? _jsx(_Fragment, {
|
|
562
|
-
children: populatedDocs && populatedDocs?.length > 0 ? _jsx(UploadComponentHasOne, {
|
|
563
|
+
children: populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? _jsx(UploadComponentHasOne, {
|
|
563
564
|
fileDoc: populatedDocs[0],
|
|
564
565
|
onRemove,
|
|
565
566
|
readonly: readOnly,
|
|
566
567
|
serverURL
|
|
568
|
+
}) : populatedDocs && value && !populatedDocs?.[0]?.value ? _jsxs(_Fragment, {
|
|
569
|
+
children: [t("general:untitled"), " - ID: ", value]
|
|
567
570
|
}) : _jsx(ShimmerEffect, {
|
|
568
571
|
height: "62px"
|
|
569
572
|
})
|
|
570
573
|
}) : null, showDropzone ? _jsx(Dropzone, {
|
|
574
|
+
disabled: !allowCreate,
|
|
571
575
|
multipleFiles: hasMany,
|
|
572
576
|
onChange: onLocalFileSelection,
|
|
573
577
|
children: _jsxs("div", {
|
|
574
578
|
className: `${baseClass}__dropzoneContent`,
|
|
575
579
|
children: [_jsxs("div", {
|
|
576
580
|
className: `${baseClass}__dropzoneContent__buttons`,
|
|
577
|
-
children: [
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
if (
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
581
|
+
children: [allowCreate && _jsxs(_Fragment, {
|
|
582
|
+
children: [_jsx(Button, {
|
|
583
|
+
buttonStyle: "pill",
|
|
584
|
+
className: `${baseClass}__createNewToggler`,
|
|
585
|
+
disabled: readOnly || !canCreate,
|
|
586
|
+
onClick: () => {
|
|
587
|
+
if (!readOnly) {
|
|
588
|
+
if (hasMany) {
|
|
589
|
+
onLocalFileSelection();
|
|
590
|
+
} else {
|
|
591
|
+
openCreateDocDrawer();
|
|
592
|
+
}
|
|
587
593
|
}
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
594
|
+
},
|
|
595
|
+
size: "small",
|
|
596
|
+
children: t("general:createNew")
|
|
597
|
+
}), _jsx("span", {
|
|
598
|
+
className: `${baseClass}__dropzoneContent__orText`,
|
|
599
|
+
children: t("general:or")
|
|
600
|
+
})]
|
|
595
601
|
}), _jsx(Button, {
|
|
596
602
|
buttonStyle: "pill",
|
|
597
603
|
className: `${baseClass}__listToggler`,
|
|
@@ -602,11 +608,12 @@ export function UploadInput(props) {
|
|
|
602
608
|
}), _jsx(CreateDocDrawer, {
|
|
603
609
|
onSave: onDocCreate
|
|
604
610
|
}), _jsx(ListDrawer, {
|
|
611
|
+
allowCreate,
|
|
605
612
|
enableRowSelections: hasMany,
|
|
606
613
|
onBulkSelect: onListBulkSelect,
|
|
607
614
|
onSelect: onListSelect
|
|
608
615
|
})]
|
|
609
|
-
}), _jsxs("p", {
|
|
616
|
+
}), allowCreate && _jsxs("p", {
|
|
610
617
|
className: `${baseClass}__dragAndDropText`,
|
|
611
618
|
children: [t("general:or"), " ", t("upload:dragAndDrop")]
|
|
612
619
|
})]
|
|
@@ -641,26 +648,27 @@ export function UploadInput(props) {
|
|
|
641
648
|
$[98] = onRemove;
|
|
642
649
|
$[99] = onReorder;
|
|
643
650
|
$[100] = serverURL;
|
|
644
|
-
$[101] =
|
|
645
|
-
$[102] =
|
|
646
|
-
$[103] =
|
|
647
|
-
$[104] =
|
|
648
|
-
$[105] =
|
|
649
|
-
$[106] =
|
|
650
|
-
$[107] =
|
|
651
|
-
$[108] =
|
|
652
|
-
$[109] =
|
|
653
|
-
$[110] =
|
|
654
|
-
$[111] =
|
|
655
|
-
$[112] =
|
|
656
|
-
$[113] =
|
|
657
|
-
$[114] =
|
|
658
|
-
$[115] =
|
|
659
|
-
$[116] =
|
|
660
|
-
$[117] =
|
|
661
|
-
$[118] =
|
|
651
|
+
$[101] = t;
|
|
652
|
+
$[102] = showDropzone;
|
|
653
|
+
$[103] = allowCreate;
|
|
654
|
+
$[104] = canCreate;
|
|
655
|
+
$[105] = onLocalFileSelection;
|
|
656
|
+
$[106] = openCreateDocDrawer;
|
|
657
|
+
$[107] = openListDrawer;
|
|
658
|
+
$[108] = onDocCreate;
|
|
659
|
+
$[109] = CreateDocDrawer;
|
|
660
|
+
$[110] = onListBulkSelect;
|
|
661
|
+
$[111] = onListSelect;
|
|
662
|
+
$[112] = ListDrawer;
|
|
663
|
+
$[113] = maxRows;
|
|
664
|
+
$[114] = descriptionProps;
|
|
665
|
+
$[115] = Description;
|
|
666
|
+
$[116] = description;
|
|
667
|
+
$[117] = t28;
|
|
668
|
+
$[118] = t29;
|
|
669
|
+
$[119] = t30;
|
|
662
670
|
} else {
|
|
663
|
-
t30 = $[
|
|
671
|
+
t30 = $[119];
|
|
664
672
|
}
|
|
665
673
|
return t30;
|
|
666
674
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","newValue_0","newValueIDs","t22","value_0","onReorder","newValue_1","newValueIDs_0","t23","value_1","onRemove","t24","loadInitialDocs","current","loadedDocs_1","doc_3","showDropzone","t25","t26","t27","filter","Boolean","t28","join","t29","replace","t30","t31","t32","t33","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","multipleFiles","buttonStyle","disabled","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly allowNewUpload?: boolean\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n allowNewUpload,\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<null | PaginatedDocs> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone multipleFiles={hasMany} onChange={onLocalFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","allowCreate","admin","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","newValue_0","newValueIDs","t22","value_0","onReorder","newValue_1","newValueIDs_0","t23","value_1","onRemove","t24","loadInitialDocs","current","loadedDocs_1","doc_3","showDropzone","t25","t26","t27","filter","Boolean","t28","join","t29","replace","t30","t31","t32","t33","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n const allowCreate = field?.admin?.allowCreate !== false\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<null | PaginatedDocs> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany &&\n Array.isArray(value) &&\n (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined'))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone disabled={!allowCreate} multipleFiles={hasMany} onChange={onLocalFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {allowCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={allowCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {allowCreate && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,54 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
justify-content: space-between;
|
|
4
|
-
align-items: center;
|
|
5
|
-
width: 100%;
|
|
6
|
-
min-width: 0;
|
|
7
|
-
|
|
8
|
-
&__imageAndDetails {
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
.upload-relationship-details {
|
|
9
3
|
display: flex;
|
|
10
|
-
|
|
4
|
+
justify-content: space-between;
|
|
11
5
|
align-items: center;
|
|
6
|
+
width: 100%;
|
|
12
7
|
min-width: 0;
|
|
13
|
-
}
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
&__imageAndDetails {
|
|
10
|
+
display: flex;
|
|
11
|
+
gap: calc(var(--base) / 2);
|
|
12
|
+
align-items: center;
|
|
13
|
+
min-width: 0;
|
|
14
|
+
}
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
overflow: hidden;
|
|
25
|
-
margin-right: calc(var(--base) * 2);
|
|
26
|
-
}
|
|
16
|
+
&__thumbnail {
|
|
17
|
+
align-self: center;
|
|
18
|
+
border-radius: var(--style-radius-s);
|
|
19
|
+
}
|
|
27
20
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
text-decoration: none;
|
|
21
|
+
&__details {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
gap: 0;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
margin-right: calc(var(--base) * 2);
|
|
35
27
|
}
|
|
36
|
-
}
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
&__filename {
|
|
30
|
+
margin: 0;
|
|
31
|
+
text-wrap: nowrap;
|
|
32
|
+
text-overflow: ellipsis;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
a {
|
|
35
|
+
text-decoration: none;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
&__meta {
|
|
40
|
+
margin: 0;
|
|
41
|
+
color: var(--theme-elevation-500);
|
|
42
|
+
text-wrap: nowrap;
|
|
43
|
+
text-overflow: ellipsis;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&__actions {
|
|
48
|
+
flex-shrink: 0;
|
|
49
|
+
display: flex;
|
|
50
|
+
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
.btn {
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
.upload-field-card {
|
|
3
|
+
background: var(--theme-elevation-50);
|
|
4
|
+
border: 1px solid var(--theme-border-color);
|
|
5
|
+
border-radius: var(--style-radius-s);
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
width: 100%;
|
|
9
|
+
gap: calc(var(--base) / 2);
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
&--size-medium {
|
|
12
|
+
padding: calc(var(--base) * 0.5);
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
.thumbnail {
|
|
15
|
+
width: 40px;
|
|
16
|
+
height: 40px;
|
|
17
|
+
}
|
|
16
18
|
}
|
|
17
|
-
}
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
&--size-small {
|
|
21
|
+
padding: calc(var(--base) / 3) calc(var(--base) / 2);
|
|
22
|
+
.thumbnail {
|
|
23
|
+
width: 25px;
|
|
24
|
+
height: 25px;
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
}
|
|
@@ -1,62 +1,64 @@
|
|
|
1
1
|
@import '../../scss/styles.scss';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
@layer payload-default {
|
|
4
|
+
.upload {
|
|
5
|
+
&__dropzoneAndUpload {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: calc(var(--base) / 4);
|
|
9
|
+
}
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
&__dropzoneContent {
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-wrap: wrap;
|
|
14
|
+
gap: base(0.4);
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
width: 100%;
|
|
17
|
+
}
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
&__dropzoneContent__buttons {
|
|
20
|
+
display: flex;
|
|
21
|
+
gap: calc(var(--base) / 2);
|
|
22
|
+
position: relative;
|
|
23
|
+
left: -2px;
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
.btn .btn__content {
|
|
26
|
+
gap: calc(var(--base) / 5);
|
|
27
|
+
}
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
.btn__label {
|
|
30
|
+
font-weight: 100;
|
|
31
|
+
}
|
|
30
32
|
}
|
|
31
|
-
}
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
&__dropzoneContent__orText {
|
|
35
|
+
color: var(--theme-elevation-500);
|
|
36
|
+
text-transform: lowercase;
|
|
37
|
+
}
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
&__dragAndDropText {
|
|
40
|
+
flex-shrink: 0;
|
|
41
|
+
margin: 0;
|
|
42
|
+
text-transform: lowercase;
|
|
43
|
+
align-self: center;
|
|
44
|
+
color: var(--theme-elevation-500);
|
|
45
|
+
}
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
&__loadingRows {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
gap: calc(var(--base) / 4);
|
|
51
|
+
}
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
.shimmer-effect {
|
|
54
|
+
border-radius: var(--style-radius-s);
|
|
55
|
+
border: 1px solid var(--theme-border-color);
|
|
56
|
+
}
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
@include small-break {
|
|
59
|
+
&__dragAndDropText {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|