@payloadcms/ui 3.0.0-beta.88 → 3.0.0-beta.89
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.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
- package/dist/elements/AddNewRelation/index.js.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.scss +7 -3
- package/dist/elements/AddNewRelation/types.d.ts +11 -0
- package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
- package/dist/elements/AddNewRelation/types.js.map +1 -0
- package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts +9 -0
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/ActionsBar/index.js +186 -0
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -0
- package/dist/elements/BulkUpload/ActionsBar/index.scss +59 -0
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts +9 -0
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/AddFilesView/index.js +44 -0
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -0
- package/dist/elements/BulkUpload/AddFilesView/index.scss +15 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +4 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.js +98 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.scss +23 -0
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts +4 -0
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +89 -0
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -0
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +9 -0
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +38 -0
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -0
- package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +27 -0
- package/dist/elements/BulkUpload/EditForm/index.d.ts +5 -0
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/EditForm/index.js +176 -0
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -0
- package/dist/elements/BulkUpload/EditForm/index.scss +9 -0
- package/dist/elements/BulkUpload/EditForm/types.d.ts +4 -0
- package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -0
- package/dist/elements/BulkUpload/EditForm/types.js +2 -0
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -0
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts +4 -0
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/FileSidebar/index.js +242 -0
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -0
- package/dist/elements/BulkUpload/FileSidebar/index.scss +275 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +3 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +22 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +35 -0
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/index.js +308 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +30 -0
- package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/reducer.js +69 -0
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -0
- package/dist/elements/BulkUpload/Header/index.d.ts +9 -0
- package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/Header/index.js +22 -0
- package/dist/elements/BulkUpload/Header/index.js.map +1 -0
- package/dist/elements/BulkUpload/Header/index.scss +12 -0
- package/dist/elements/BulkUpload/index.d.ts +10 -0
- package/dist/elements/BulkUpload/index.d.ts.map +1 -0
- package/dist/elements/BulkUpload/index.js +114 -0
- package/dist/elements/BulkUpload/index.js.map +1 -0
- package/dist/elements/BulkUpload/index.scss +0 -0
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +127 -79
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +109 -43
- package/dist/elements/Button/types.d.ts +2 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.scss +2 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
- package/dist/elements/FileDetails/index.d.ts +19 -4
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +11 -62
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.d.ts +4 -0
- package/dist/elements/FullscreenModal/index.d.ts.map +1 -0
- package/dist/elements/FullscreenModal/index.js +38 -0
- package/dist/elements/FullscreenModal/index.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +15 -10
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +45 -33
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +4 -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.d.ts +10 -0
- package/dist/elements/ListHeader/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/index.js +17 -0
- package/dist/elements/ListHeader/index.js.map +1 -0
- package/dist/elements/ListHeader/index.scss +10 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +4 -4
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts +2 -0
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +5 -2
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.scss +4 -1
- package/dist/elements/Popup/index.d.ts +2 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +6 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/SelectMany/index.d.ts +6 -0
- package/dist/elements/SelectMany/index.d.ts.map +1 -0
- package/dist/elements/SelectMany/index.js +29 -0
- package/dist/elements/SelectMany/index.js.map +1 -0
- package/dist/elements/ViewDescription/index.d.ts +3 -2
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +39 -16
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +4 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Blocks/SectionTitle/index.scss +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +1 -3
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +4 -0
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasMany/index.js +474 -0
- package/dist/fields/Upload/HasMany/index.js.map +1 -0
- package/dist/fields/Upload/HasMany/index.scss +47 -0
- package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
- package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
- package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
- package/dist/fields/Upload/HasOne/Input.js.map +1 -0
- package/dist/fields/Upload/HasOne/index.d.ts +12 -0
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasOne/index.js +131 -0
- package/dist/fields/Upload/HasOne/index.js.map +1 -0
- package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
- package/dist/fields/Upload/index.d.ts +4 -4
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +84 -98
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +3 -4
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +6 -0
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +5 -3
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -4
- package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/index.js.map +0 -1
- package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
- package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/types.js.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
- package/dist/fields/Upload/Input.d.ts.map +0 -1
- package/dist/fields/Upload/Input.js.map +0 -1
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,cAAc,CAAA;AASrB,wBAAgB,WAAW,sBAkI1B"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { useModal } from '@faceless-ui/modal';
|
|
6
|
+
import { useWindowInfo } from '@faceless-ui/window-info';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import AnimateHeightImport from 'react-animate-height';
|
|
9
|
+
import { ChevronIcon } from '../../../icons/Chevron/index.js';
|
|
10
|
+
import { XIcon } from '../../../icons/X/index.js';
|
|
11
|
+
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
12
|
+
import { Button } from '../../Button/index.js';
|
|
13
|
+
import { Drawer } from '../../Drawer/index.js';
|
|
14
|
+
import { ErrorPill } from '../../ErrorPill/index.js';
|
|
15
|
+
import { Pill } from '../../Pill/index.js';
|
|
16
|
+
import { Actions } from '../ActionsBar/index.js';
|
|
17
|
+
import { AddFilesView } from '../AddFilesView/index.js';
|
|
18
|
+
import { useFormsManager } from '../FormsManager/index.js';
|
|
19
|
+
import './index.scss';
|
|
20
|
+
const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
|
|
21
|
+
const drawerSlug = 'bulk-upload-drawer--add-more-files';
|
|
22
|
+
const baseClass = 'file-selections';
|
|
23
|
+
export function FileSidebar() {
|
|
24
|
+
const $ = _c(32);
|
|
25
|
+
const {
|
|
26
|
+
activeIndex,
|
|
27
|
+
addFiles,
|
|
28
|
+
forms,
|
|
29
|
+
removeFile,
|
|
30
|
+
setActiveIndex,
|
|
31
|
+
totalErrorCount
|
|
32
|
+
} = useFormsManager();
|
|
33
|
+
const {
|
|
34
|
+
i18n,
|
|
35
|
+
t
|
|
36
|
+
} = useTranslation();
|
|
37
|
+
const {
|
|
38
|
+
closeModal,
|
|
39
|
+
openModal
|
|
40
|
+
} = useModal();
|
|
41
|
+
const [showFiles, setShowFiles] = React.useState(false);
|
|
42
|
+
const {
|
|
43
|
+
breakpoints
|
|
44
|
+
} = useWindowInfo();
|
|
45
|
+
let t0;
|
|
46
|
+
if ($[0] !== removeFile) {
|
|
47
|
+
t0 = indexToRemove => {
|
|
48
|
+
removeFile(indexToRemove);
|
|
49
|
+
};
|
|
50
|
+
$[0] = removeFile;
|
|
51
|
+
$[1] = t0;
|
|
52
|
+
} else {
|
|
53
|
+
t0 = $[1];
|
|
54
|
+
}
|
|
55
|
+
const handleRemoveFile = t0;
|
|
56
|
+
let t1;
|
|
57
|
+
if ($[2] !== addFiles || $[3] !== closeModal) {
|
|
58
|
+
t1 = filelist => {
|
|
59
|
+
addFiles(filelist);
|
|
60
|
+
closeModal(drawerSlug);
|
|
61
|
+
};
|
|
62
|
+
$[2] = addFiles;
|
|
63
|
+
$[3] = closeModal;
|
|
64
|
+
$[4] = t1;
|
|
65
|
+
} else {
|
|
66
|
+
t1 = $[4];
|
|
67
|
+
}
|
|
68
|
+
const handleAddFiles = t1;
|
|
69
|
+
const getFileSize = _temp;
|
|
70
|
+
const t2 = showFiles && `${baseClass}__showingFiles`;
|
|
71
|
+
let t3;
|
|
72
|
+
if ($[5] !== t2) {
|
|
73
|
+
t3 = [baseClass, t2].filter(Boolean);
|
|
74
|
+
$[5] = t2;
|
|
75
|
+
$[6] = t3;
|
|
76
|
+
} else {
|
|
77
|
+
t3 = $[6];
|
|
78
|
+
}
|
|
79
|
+
const t4 = t3.join(" ");
|
|
80
|
+
let t5;
|
|
81
|
+
if ($[7] !== breakpoints.m || $[8] !== showFiles || $[9] !== totalErrorCount || $[10] !== i18n || $[11] !== forms || $[12] !== t || $[13] !== openModal || $[14] !== closeModal || $[15] !== handleAddFiles || $[16] !== activeIndex || $[17] !== setActiveIndex || $[18] !== handleRemoveFile || $[19] !== t4) {
|
|
82
|
+
let t6;
|
|
83
|
+
if ($[21] !== openModal) {
|
|
84
|
+
t6 = () => openModal(drawerSlug);
|
|
85
|
+
$[21] = openModal;
|
|
86
|
+
$[22] = t6;
|
|
87
|
+
} else {
|
|
88
|
+
t6 = $[22];
|
|
89
|
+
}
|
|
90
|
+
let t7;
|
|
91
|
+
if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
|
|
92
|
+
t7 = () => setShowFiles(prev => !prev);
|
|
93
|
+
$[23] = t7;
|
|
94
|
+
} else {
|
|
95
|
+
t7 = $[23];
|
|
96
|
+
}
|
|
97
|
+
let t8;
|
|
98
|
+
if ($[24] !== closeModal) {
|
|
99
|
+
t8 = () => closeModal(drawerSlug);
|
|
100
|
+
$[24] = closeModal;
|
|
101
|
+
$[25] = t8;
|
|
102
|
+
} else {
|
|
103
|
+
t8 = $[25];
|
|
104
|
+
}
|
|
105
|
+
let t9;
|
|
106
|
+
if ($[26] !== activeIndex || $[27] !== setActiveIndex || $[28] !== i18n || $[29] !== t || $[30] !== handleRemoveFile) {
|
|
107
|
+
t9 = (t10, index) => {
|
|
108
|
+
const {
|
|
109
|
+
errorCount,
|
|
110
|
+
formState
|
|
111
|
+
} = t10;
|
|
112
|
+
const currentFile = formState.file.value;
|
|
113
|
+
return _jsxs("div", {
|
|
114
|
+
className: [`${baseClass}__fileRowContainer`, index === activeIndex && `${baseClass}__fileRowContainer--active`, errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`].filter(Boolean).join(" "),
|
|
115
|
+
children: [_jsxs("button", {
|
|
116
|
+
className: `${baseClass}__fileRow`,
|
|
117
|
+
onClick: () => setActiveIndex(index),
|
|
118
|
+
type: "button",
|
|
119
|
+
children: [_jsx("img", {
|
|
120
|
+
alt: currentFile.name,
|
|
121
|
+
src: URL.createObjectURL(currentFile)
|
|
122
|
+
}), _jsx("div", {
|
|
123
|
+
className: `${baseClass}__fileDetails`,
|
|
124
|
+
children: _jsx("p", {
|
|
125
|
+
className: `${baseClass}__fileName`,
|
|
126
|
+
title: currentFile.name,
|
|
127
|
+
children: currentFile.name
|
|
128
|
+
})
|
|
129
|
+
}), _jsx("p", {
|
|
130
|
+
className: `${baseClass}__fileSize`,
|
|
131
|
+
children: getFileSize(currentFile)
|
|
132
|
+
}), _jsx("div", {
|
|
133
|
+
className: `${baseClass}__remove ${baseClass}__remove--underlay`,
|
|
134
|
+
children: _jsx(XIcon, {})
|
|
135
|
+
}), errorCount ? _jsx(ErrorPill, {
|
|
136
|
+
className: `${baseClass}__errorCount`,
|
|
137
|
+
count: errorCount,
|
|
138
|
+
i18n
|
|
139
|
+
}) : null]
|
|
140
|
+
}), _jsx("button", {
|
|
141
|
+
"aria-label": t("general:remove"),
|
|
142
|
+
className: `${baseClass}__remove ${baseClass}__remove--overlay`,
|
|
143
|
+
onClick: () => handleRemoveFile(index),
|
|
144
|
+
type: "button",
|
|
145
|
+
children: _jsx(XIcon, {})
|
|
146
|
+
})]
|
|
147
|
+
}, index);
|
|
148
|
+
};
|
|
149
|
+
$[26] = activeIndex;
|
|
150
|
+
$[27] = setActiveIndex;
|
|
151
|
+
$[28] = i18n;
|
|
152
|
+
$[29] = t;
|
|
153
|
+
$[30] = handleRemoveFile;
|
|
154
|
+
$[31] = t9;
|
|
155
|
+
} else {
|
|
156
|
+
t9 = $[31];
|
|
157
|
+
}
|
|
158
|
+
t5 = _jsxs("div", {
|
|
159
|
+
className: t4,
|
|
160
|
+
children: [breakpoints.m && showFiles ? _jsx("div", {
|
|
161
|
+
className: `${baseClass}__mobileBlur`
|
|
162
|
+
}) : null, _jsxs("div", {
|
|
163
|
+
className: `${baseClass}__header`,
|
|
164
|
+
children: [_jsxs("div", {
|
|
165
|
+
className: `${baseClass}__headerTopRow`,
|
|
166
|
+
children: [_jsxs("div", {
|
|
167
|
+
className: `${baseClass}__header__text`,
|
|
168
|
+
children: [_jsx(ErrorPill, {
|
|
169
|
+
count: totalErrorCount,
|
|
170
|
+
i18n,
|
|
171
|
+
withMessage: true
|
|
172
|
+
}), _jsx("p", {
|
|
173
|
+
children: _jsxs("strong", {
|
|
174
|
+
title: `${forms.length} ${t(forms.length > 1 ? "upload:filesToUpload" : "upload:fileToUpload")}`,
|
|
175
|
+
children: [forms.length, " ", t(forms.length > 1 ? "upload:filesToUpload" : "upload:fileToUpload")]
|
|
176
|
+
})
|
|
177
|
+
})]
|
|
178
|
+
}), _jsxs("div", {
|
|
179
|
+
className: `${baseClass}__header__actions`,
|
|
180
|
+
children: [_jsx(Pill, {
|
|
181
|
+
onClick: t6,
|
|
182
|
+
children: t("upload:addFile")
|
|
183
|
+
}), _jsx(Button, {
|
|
184
|
+
buttonStyle: "transparent",
|
|
185
|
+
className: `${baseClass}__toggler`,
|
|
186
|
+
onClick: t7,
|
|
187
|
+
children: _jsx(ChevronIcon, {
|
|
188
|
+
direction: showFiles ? "down" : "up"
|
|
189
|
+
})
|
|
190
|
+
}), _jsx(Drawer, {
|
|
191
|
+
Header: null,
|
|
192
|
+
gutter: false,
|
|
193
|
+
slug: drawerSlug,
|
|
194
|
+
children: _jsx(AddFilesView, {
|
|
195
|
+
onCancel: t8,
|
|
196
|
+
onDrop: handleAddFiles
|
|
197
|
+
})
|
|
198
|
+
})]
|
|
199
|
+
})]
|
|
200
|
+
}), _jsx("div", {
|
|
201
|
+
className: `${baseClass}__header__mobileDocActions`,
|
|
202
|
+
children: _jsx(Actions, {})
|
|
203
|
+
})]
|
|
204
|
+
}), _jsx("div", {
|
|
205
|
+
className: `${baseClass}__animateWrapper`,
|
|
206
|
+
children: _jsx(AnimateHeight, {
|
|
207
|
+
duration: 200,
|
|
208
|
+
height: !breakpoints.m || showFiles ? "auto" : 0,
|
|
209
|
+
children: _jsx("div", {
|
|
210
|
+
className: `${baseClass}__filesContainer`,
|
|
211
|
+
children: forms.map(t9)
|
|
212
|
+
})
|
|
213
|
+
})
|
|
214
|
+
})]
|
|
215
|
+
});
|
|
216
|
+
$[7] = breakpoints.m;
|
|
217
|
+
$[8] = showFiles;
|
|
218
|
+
$[9] = totalErrorCount;
|
|
219
|
+
$[10] = i18n;
|
|
220
|
+
$[11] = forms;
|
|
221
|
+
$[12] = t;
|
|
222
|
+
$[13] = openModal;
|
|
223
|
+
$[14] = closeModal;
|
|
224
|
+
$[15] = handleAddFiles;
|
|
225
|
+
$[16] = activeIndex;
|
|
226
|
+
$[17] = setActiveIndex;
|
|
227
|
+
$[18] = handleRemoveFile;
|
|
228
|
+
$[19] = t4;
|
|
229
|
+
$[20] = t5;
|
|
230
|
+
} else {
|
|
231
|
+
t5 = $[20];
|
|
232
|
+
}
|
|
233
|
+
return t5;
|
|
234
|
+
}
|
|
235
|
+
function _temp(file) {
|
|
236
|
+
const size = file.size;
|
|
237
|
+
const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
|
|
238
|
+
const decimals = i > 1 ? 1 : 0;
|
|
239
|
+
const formattedSize = (size / Math.pow(1024, i)).toFixed(decimals) + " " + ["B", "kB", "MB", "GB", "TB"][i];
|
|
240
|
+
return formattedSize;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","useWindowInfo","React","AnimateHeightImport","ChevronIcon","XIcon","useTranslation","Button","Drawer","ErrorPill","Pill","Actions","AddFilesView","useFormsManager","AnimateHeight","default","drawerSlug","baseClass","FileSidebar","$","activeIndex","addFiles","forms","removeFile","setActiveIndex","totalErrorCount","i18n","t","closeModal","openModal","showFiles","setShowFiles","useState","breakpoints","t0","indexToRemove","handleRemoveFile","t1","filelist","handleAddFiles","getFileSize","_temp","t2","t3","filter","Boolean","t4","join","t5","m","t6","t7","Symbol","for","prev","t8","t9","t10","index","errorCount","formState","currentFile","file","value","_jsxs","className","children","onClick","type","_jsx","alt","name","src","URL","createObjectURL","title","count","withMessage","length","buttonStyle","direction","Header","gutter","slug","onCancel","onDrop","duration","height","map","size","i","Math","floor","log","decimals","formattedSize","pow","toFixed"],"sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { Actions } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nconst drawerSlug = 'bulk-upload-drawer--add-more-files'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const { activeIndex, addFiles, forms, removeFile, setActiveIndex, totalErrorCount } =\n useFormsManager()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const [showFiles, setShowFiles] = React.useState(false)\n const { breakpoints } = useWindowInfo()\n\n const handleRemoveFile = React.useCallback(\n (indexToRemove: number) => {\n removeFile(indexToRemove)\n },\n [removeFile],\n )\n\n const handleAddFiles = React.useCallback(\n (filelist: FileList) => {\n addFiles(filelist)\n closeModal(drawerSlug)\n },\n [addFiles, closeModal],\n )\n\n const getFileSize = React.useCallback((file: File) => {\n const size = file.size\n const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))\n const decimals = i > 1 ? 1 : 0\n const formattedSize =\n (size / Math.pow(1024, i)).toFixed(decimals) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\n return formattedSize\n }, [])\n\n return (\n <div\n className={[baseClass, showFiles && `${baseClass}__showingFiles`].filter(Boolean).join(' ')}\n >\n {breakpoints.m && showFiles ? <div className={`${baseClass}__mobileBlur`} /> : null}\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__headerTopRow`}>\n <div className={`${baseClass}__header__text`}>\n <ErrorPill count={totalErrorCount} i18n={i18n} withMessage />\n <p>\n <strong\n title={`${forms.length} ${t(forms.length > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}`}\n >\n {forms.length}{' '}\n {t(forms.length > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}\n </strong>\n </p>\n </div>\n\n <div className={`${baseClass}__header__actions`}>\n <Pill onClick={() => openModal(drawerSlug)}>{t('upload:addFile')}</Pill>\n <Button\n buttonStyle=\"transparent\"\n className={`${baseClass}__toggler`}\n onClick={() => setShowFiles((prev) => !prev)}\n >\n <ChevronIcon direction={showFiles ? 'down' : 'up'} />\n </Button>\n\n <Drawer Header={null} gutter={false} slug={drawerSlug}>\n <AddFilesView onCancel={() => closeModal(drawerSlug)} onDrop={handleAddFiles} />\n </Drawer>\n </div>\n </div>\n\n <div className={`${baseClass}__header__mobileDocActions`}>\n <Actions />\n </div>\n </div>\n\n <div className={`${baseClass}__animateWrapper`}>\n <AnimateHeight duration={200} height={!breakpoints.m || showFiles ? 'auto' : 0}>\n <div className={`${baseClass}__filesContainer`}>\n {forms.map(({ errorCount, formState }, index) => {\n const currentFile = formState.file.value as File\n\n return (\n <div\n className={[\n `${baseClass}__fileRowContainer`,\n index === activeIndex && `${baseClass}__fileRowContainer--active`,\n errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={index}\n >\n <button\n className={`${baseClass}__fileRow`}\n onClick={() => setActiveIndex(index)}\n type=\"button\"\n >\n <img alt={currentFile.name} src={URL.createObjectURL(currentFile)} />\n <div className={`${baseClass}__fileDetails`}>\n <p className={`${baseClass}__fileName`} title={currentFile.name}>\n {currentFile.name}\n </p>\n </div>\n <p className={`${baseClass}__fileSize`}>{getFileSize(currentFile)}</p>\n <div className={`${baseClass}__remove ${baseClass}__remove--underlay`}>\n <XIcon />\n </div>\n\n {errorCount ? (\n <ErrorPill\n className={`${baseClass}__errorCount`}\n count={errorCount}\n i18n={i18n}\n />\n ) : null}\n </button>\n\n <button\n aria-label={t('general:remove')}\n className={`${baseClass}__remove ${baseClass}__remove--overlay`}\n onClick={() => handleRemoveFile(index)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )\n })}\n </div>\n </AnimateHeight>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
@import '../../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
.file-selections {
|
|
4
|
+
--file-gutter-h: calc(var(--gutter-h) / 4);
|
|
5
|
+
border-right: 1px solid var(--theme-border-color);
|
|
6
|
+
padding: 0;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
width: 300px;
|
|
10
|
+
overflow: auto;
|
|
11
|
+
max-height: 100%;
|
|
12
|
+
|
|
13
|
+
&__header {
|
|
14
|
+
position: sticky;
|
|
15
|
+
top: 0;
|
|
16
|
+
margin-top: var(--base);
|
|
17
|
+
z-index: 1;
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
width: 100%;
|
|
22
|
+
background: var(--theme-bg);
|
|
23
|
+
flex-wrap: wrap;
|
|
24
|
+
|
|
25
|
+
p {
|
|
26
|
+
margin: 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__headerTopRow {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: space-between;
|
|
34
|
+
gap: var(--base);
|
|
35
|
+
width: 100%;
|
|
36
|
+
padding-block: var(--base);
|
|
37
|
+
padding-inline: var(--file-gutter-h);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&__header__text {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
|
|
44
|
+
.error-pill {
|
|
45
|
+
align-self: flex-start;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&__filesContainer {
|
|
50
|
+
display: flex;
|
|
51
|
+
flex-direction: column;
|
|
52
|
+
gap: calc(var(--base) / 4);
|
|
53
|
+
margin-top: calc(var(--base) / 2);
|
|
54
|
+
width: 100%;
|
|
55
|
+
padding-inline: var(--file-gutter-h);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&__fileRowContainer {
|
|
59
|
+
--rowPadding: calc(var(--base) / 4);
|
|
60
|
+
position: relative;
|
|
61
|
+
&:last-child {
|
|
62
|
+
margin-bottom: calc(var(--base) / 4);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&__fileRow {
|
|
67
|
+
@include btn-reset;
|
|
68
|
+
display: flex;
|
|
69
|
+
padding: var(--rowPadding);
|
|
70
|
+
align-items: center;
|
|
71
|
+
gap: calc(var(--base) / 2);
|
|
72
|
+
border-radius: var(--style-radius-m);
|
|
73
|
+
max-width: 100%;
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
width: 100%;
|
|
76
|
+
|
|
77
|
+
&:hover {
|
|
78
|
+
background-color: var(--theme-elevation-100);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
img {
|
|
82
|
+
width: 25px;
|
|
83
|
+
height: 25px;
|
|
84
|
+
flex-shrink: 0;
|
|
85
|
+
object-fit: cover;
|
|
86
|
+
border-radius: var(--style-radius-m);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
p {
|
|
90
|
+
margin: 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&__fileDetails {
|
|
95
|
+
display: flex;
|
|
96
|
+
flex-direction: column;
|
|
97
|
+
min-width: 0;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&__fileRowContainer--active {
|
|
101
|
+
.file-selections__fileRow {
|
|
102
|
+
background-color: var(--theme-elevation-100);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.file-selections__remove {
|
|
106
|
+
.icon--x {
|
|
107
|
+
opacity: 1;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&__fileRowContainer--error {
|
|
113
|
+
.file-selections__fileRow {
|
|
114
|
+
background-color: var(--theme-error-100);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&.file-selections__fileRowContainer--active .file-selections__fileRow,
|
|
118
|
+
.file-selections__fileRow:hover {
|
|
119
|
+
background-color: var(--theme-error-200);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.file-selections__remove--overlay:hover {
|
|
123
|
+
background-color: var(--theme-error-50);
|
|
124
|
+
|
|
125
|
+
.icon--x {
|
|
126
|
+
opacity: 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&__errorCount {
|
|
132
|
+
margin-left: auto;
|
|
133
|
+
position: absolute;
|
|
134
|
+
transform: translate(50%, -50%);
|
|
135
|
+
top: 0;
|
|
136
|
+
right: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&__fileName {
|
|
140
|
+
white-space: nowrap;
|
|
141
|
+
overflow: hidden;
|
|
142
|
+
text-overflow: ellipsis;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&__fileSize {
|
|
146
|
+
font-size: calc(var(--base) / 2);
|
|
147
|
+
color: var(--theme-elvation-400);
|
|
148
|
+
flex-shrink: 0;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
&__remove {
|
|
152
|
+
@include btn-reset;
|
|
153
|
+
margin: 0;
|
|
154
|
+
margin-left: auto;
|
|
155
|
+
|
|
156
|
+
.icon--x {
|
|
157
|
+
opacity: 0.75;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
&__remove--underlay {
|
|
162
|
+
pointer-events: none;
|
|
163
|
+
opacity: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
&__remove--overlay {
|
|
167
|
+
position: absolute;
|
|
168
|
+
transform: translateY(-50%);
|
|
169
|
+
top: 50%;
|
|
170
|
+
bottom: 50%;
|
|
171
|
+
right: var(--rowPadding);
|
|
172
|
+
height: 20px;
|
|
173
|
+
border-radius: var(--style-radius-m);
|
|
174
|
+
cursor: pointer;
|
|
175
|
+
|
|
176
|
+
&:hover {
|
|
177
|
+
background-color: var(--theme-elevation-200);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
&__header__actions {
|
|
182
|
+
display: flex;
|
|
183
|
+
gap: var(--base);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
&__toggler {
|
|
187
|
+
display: none;
|
|
188
|
+
margin: 0;
|
|
189
|
+
padding-block: 0;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
&__header__mobileDocActions {
|
|
193
|
+
display: none;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
&__animateWrapper {
|
|
197
|
+
overflow: auto;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
&__mobileBlur {
|
|
201
|
+
@include blur-bg;
|
|
202
|
+
position: fixed;
|
|
203
|
+
top: 0;
|
|
204
|
+
left: 0;
|
|
205
|
+
width: 100%;
|
|
206
|
+
height: 100%;
|
|
207
|
+
opacity: 0;
|
|
208
|
+
transition: opacity 100ms cubic-bezier(0, 0.2, 0.2, 1);
|
|
209
|
+
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
&__showingFiles {
|
|
213
|
+
.file-selections__mobileBlur {
|
|
214
|
+
opacity: 1;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
@include mid-break {
|
|
219
|
+
--file-gutter-h: var(--gutter-h);
|
|
220
|
+
flex-direction: column-reverse;
|
|
221
|
+
width: 100%;
|
|
222
|
+
position: sticky;
|
|
223
|
+
bottom: 0;
|
|
224
|
+
flex-shrink: 0;
|
|
225
|
+
|
|
226
|
+
&__showingFiles {
|
|
227
|
+
z-index: 2;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
&__filesContainer {
|
|
231
|
+
@include blur-bg;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
&__fileRowContainer {
|
|
235
|
+
z-index: 1;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
&__header {
|
|
239
|
+
margin-top: 0;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
&__headerTopRow {
|
|
243
|
+
border-top: 1px solid var(--theme-border-color);
|
|
244
|
+
padding-block: calc(var(--base) * 0.8);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
&__header__mobileDocActions {
|
|
248
|
+
position: relative;
|
|
249
|
+
display: flex;
|
|
250
|
+
width: 100%;
|
|
251
|
+
padding-block: calc(var(--base) * 0.8);
|
|
252
|
+
padding-inline: var(--file-gutter-h);
|
|
253
|
+
border-top: 1px solid var(--theme-border-color);
|
|
254
|
+
|
|
255
|
+
> div {
|
|
256
|
+
display: flex;
|
|
257
|
+
justify-content: flex-end;
|
|
258
|
+
width: 100%;
|
|
259
|
+
button {
|
|
260
|
+
flex: .5;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
&__toggler {
|
|
266
|
+
padding-right: 0;
|
|
267
|
+
display: block;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.btn {
|
|
271
|
+
margin: 0;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFormData.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/createFormData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKxC,wBAAgB,cAAc,CAAC,SAAS,GAAE,SAAc,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,YAmB5F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { serialize } from 'object-to-formdata';
|
|
2
|
+
import { reduceFieldsToValues } from 'payload/shared';
|
|
3
|
+
export function createFormData(formState = {}, overrides = {}) {
|
|
4
|
+
const data = reduceFieldsToValues(formState, true);
|
|
5
|
+
const file = data?.file;
|
|
6
|
+
if (file) {
|
|
7
|
+
delete data.file;
|
|
8
|
+
}
|
|
9
|
+
const dataWithOverrides = {
|
|
10
|
+
...data,
|
|
11
|
+
...overrides
|
|
12
|
+
};
|
|
13
|
+
const dataToSerialize = {
|
|
14
|
+
_payload: JSON.stringify(dataWithOverrides),
|
|
15
|
+
file
|
|
16
|
+
};
|
|
17
|
+
return serialize(dataToSerialize, {
|
|
18
|
+
indices: true,
|
|
19
|
+
nullsAsUndefineds: false
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=createFormData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFormData.js","names":["serialize","reduceFieldsToValues","createFormData","formState","overrides","data","file","dataWithOverrides","dataToSerialize","_payload","JSON","stringify","indices","nullsAsUndefineds"],"sources":["../../../../src/elements/BulkUpload/FormsManager/createFormData.ts"],"sourcesContent":["import type { FormState } from 'payload'\n\nimport { serialize } from 'object-to-formdata'\nimport { reduceFieldsToValues } from 'payload/shared'\n\nexport function createFormData(formState: FormState = {}, overrides: Record<string, any> = {}) {\n const data = reduceFieldsToValues(formState, true)\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n const dataWithOverrides = {\n ...data,\n ...overrides,\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(dataWithOverrides),\n file,\n }\n\n return serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n}\n"],"mappings":"AAEA,SAASA,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AAErC,OAAO,SAASC,eAAeC,SAAA,GAAuB,CAAC,CAAC,EAAEC,SAAA,GAAiC,CAAC,CAAC;EAC3F,MAAMC,IAAA,GAAOJ,oBAAA,CAAqBE,SAAA,EAAW;EAC7C,MAAMG,IAAA,GAAOD,IAAA,EAAMC,IAAA;EAEnB,IAAIA,IAAA,EAAM;IACR,OAAOD,IAAA,CAAKC,IAAI;EAClB;EAEA,MAAMC,iBAAA,GAAoB;IACxB,GAAGF,IAAI;IACP,GAAGD;EACL;EAEA,MAAMI,eAAA,GAAkB;IACtBC,QAAA,EAAUC,IAAA,CAAKC,SAAS,CAACJ,iBAAA;IACzBD;EACF;EAEA,OAAON,SAAA,CAAUQ,eAAA,EAAiB;IAAEI,OAAA,EAAS;IAAMC,iBAAA,EAAmB;EAAM;AAC9E","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Data, DocumentPermissions } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { BulkUploadProps } from '../index.js';
|
|
4
|
+
import type { State } from './reducer.js';
|
|
5
|
+
type FormsManagerContext = {
|
|
6
|
+
readonly activeIndex: State['activeIndex'];
|
|
7
|
+
readonly addFiles: (filelist: FileList) => void;
|
|
8
|
+
readonly collectionSlug: string;
|
|
9
|
+
readonly docPermissions?: DocumentPermissions;
|
|
10
|
+
readonly forms: State['forms'];
|
|
11
|
+
getFormDataRef: React.RefObject<() => Data>;
|
|
12
|
+
readonly hasPublishPermission: boolean;
|
|
13
|
+
readonly hasSavePermission: boolean;
|
|
14
|
+
readonly hasSubmitted: boolean;
|
|
15
|
+
readonly isLoadingFiles: boolean;
|
|
16
|
+
readonly removeFile: (index: number) => void;
|
|
17
|
+
readonly saveAllDocs: ({ overrides }?: {
|
|
18
|
+
overrides?: Record<string, unknown>;
|
|
19
|
+
}) => Promise<void>;
|
|
20
|
+
readonly setActiveIndex: (index: number) => void;
|
|
21
|
+
readonly setFormTotalErrorCount: ({ errorCount, index, }: {
|
|
22
|
+
errorCount: number;
|
|
23
|
+
index: number;
|
|
24
|
+
}) => void;
|
|
25
|
+
readonly totalErrorCount?: number;
|
|
26
|
+
};
|
|
27
|
+
type Props = {
|
|
28
|
+
readonly children: React.ReactNode;
|
|
29
|
+
readonly collectionSlug: string;
|
|
30
|
+
readonly onSuccess: BulkUploadProps['onSuccess'];
|
|
31
|
+
};
|
|
32
|
+
export declare function FormsManagerProvider({ children, collectionSlug, onSuccess }: Props): React.JSX.Element;
|
|
33
|
+
export declare function useFormsManager(): FormsManagerContext;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAA;AAInE,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAazC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAChC,UAAU,EACV,KAAK,GACN,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AA0BD,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACjD,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,KAAK,qBA2RlF;AAED,wBAAgB,eAAe,wBAE9B"}
|