@payloadcms/ui 3.68.0-internal-debug.591ab42 → 3.68.0-internal-debug.e9b66ee
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.js +37 -126
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +17 -33
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +35 -147
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +57 -183
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +12 -28
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +5 -34
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +56 -160
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +23 -80
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +13 -78
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +1 -14
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -17
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +19 -89
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +35 -134
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +10 -44
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +91 -326
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +25 -42
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +4 -26
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +43 -94
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +38 -155
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +5 -40
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +15 -41
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +3 -20
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +14 -64
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +8 -21
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +27 -48
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +5 -21
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +40 -128
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +2 -10
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +12 -28
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +23 -71
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +22 -81
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +56 -148
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +17 -41
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +11 -56
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +5 -23
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +22 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +19 -79
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +45 -131
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +95 -442
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +4 -18
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +15 -76
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +4 -12
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +14 -62
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +22 -86
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +41 -126
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +24 -81
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +16 -21
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +8 -29
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +38 -135
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +18 -57
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +4 -13
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +15 -22
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +22 -98
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +15 -46
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +49 -204
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +18 -66
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +105 -388
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +25 -64
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +6 -27
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +17 -47
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +1 -10
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +14 -37
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +26 -107
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +19 -69
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +12 -72
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +2 -16
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +15 -51
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +10 -26
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +4 -22
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +1 -14
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +1 -8
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +58 -138
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +18 -56
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +20 -47
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +16 -28
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +10 -24
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +105 -327
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +11 -39
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +1 -10
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +50 -168
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +97 -166
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +1 -30
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +10 -34
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +54 -104
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +31 -98
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +46 -135
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +14 -45
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +5 -15
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +10 -48
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +54 -113
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +10 -18
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +6 -22
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +9 -48
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +8 -25
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +2 -23
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +26 -36
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +32 -199
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +6 -34
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +7 -13
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +12 -59
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +10 -34
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +3 -16
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +3 -12
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +5 -17
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +52 -110
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +16 -64
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +15 -64
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +20 -79
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -26
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +8 -15
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +5 -18
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +8 -26
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +50 -197
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +1 -14
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +23 -75
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +3 -11
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +13 -53
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +18 -79
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +8 -25
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +12 -51
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +39 -88
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +8 -34
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +6 -22
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +16 -28
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +10 -16
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +19 -76
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +6 -25
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +2 -13
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +14 -73
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +3 -17
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +3 -12
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +1 -10
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +9 -30
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +25 -90
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +14 -53
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +16 -68
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +21 -63
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +18 -50
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +1 -9
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +1 -10
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -33
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +40 -102
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +3 -19
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +43 -160
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +24 -96
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +44 -244
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +26 -78
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +3 -16
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +9 -43
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +68 -202
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +28 -75
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +15 -40
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +12 -25
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +5 -21
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +1 -9
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +11 -40
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +8 -49
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +21 -110
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +9 -27
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +25 -36
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +7 -24
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +4 -16
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -32
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +16 -44
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +8 -19
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +4 -28
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +36 -127
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +20 -60
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +3 -19
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +8 -37
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +39 -189
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +3 -24
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +3 -10
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +2 -16
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +11 -36
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +19 -80
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +16 -62
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +4 -15
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +6 -19
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +8 -35
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +7 -25
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +4 -18
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -20
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +5 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +18 -51
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +28 -83
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +16 -77
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +13 -37
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +3 -18
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +20 -99
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +2 -15
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +8 -14
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +36 -139
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +1 -10
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +3 -16
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +3 -17
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +8 -14
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +8 -37
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +3 -16
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +36 -62
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -76
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +18 -40
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +5 -23
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +37 -120
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +6 -14
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +28 -79
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +18 -69
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +4 -30
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +8 -38
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +8 -33
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +21 -56
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +16 -39
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +8 -25
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +3 -14
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +9 -43
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +109 -401
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -10
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -20
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +6 -72
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -28
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +25 -52
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +4 -17
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -27
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +30 -128
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +54 -159
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +1 -9
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +1 -9
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +16 -100
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +69 -290
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +22 -130
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +4 -25
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +29 -101
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +8 -23
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +12 -44
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +3 -24
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +83 -326
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +21 -83
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +13 -68
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +18 -92
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +21 -103
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +11 -54
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +19 -102
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +19 -91
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +8 -15
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +3 -13
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +7 -32
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +31 -132
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +3 -11
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +2 -13
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +18 -93
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +20 -88
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +36 -134
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +4 -29
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +21 -105
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +33 -157
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +13 -51
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +42 -124
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +119 -242
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +11 -44
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +33 -85
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +32 -88
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +9 -35
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +3 -11
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +19 -98
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +1 -30
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +13 -58
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +12 -43
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +31 -117
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +3 -11
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +31 -129
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +6 -36
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +20 -101
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +4 -29
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +52 -117
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +6 -34
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +60 -248
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +23 -112
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -14
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +3 -39
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +26 -87
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +6 -23
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +23 -203
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +45 -72
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +2 -10
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +10 -31
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +5 -22
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +26 -44
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/index.js +3 -16
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +8 -46
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +3 -16
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +2 -14
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +16 -115
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +6 -33
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +4 -31
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +17 -112
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +3 -20
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +3 -20
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +9 -30
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +3 -20
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +3 -22
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +3 -24
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +3 -24
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +10 -32
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +11 -70
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +6 -23
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +6 -23
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +12 -53
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +6 -25
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +8 -34
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +6 -56
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +3 -23
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +3 -25
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +3 -24
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +7 -41
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +3 -23
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +3 -23
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +3 -27
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +8 -43
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +10 -62
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +7 -28
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +3 -22
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +3 -21
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +6 -48
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +3 -20
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +5 -26
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +6 -27
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +6 -25
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +10 -16
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +16 -22
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +6 -14
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +8 -21
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +4 -19
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +6 -14
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +7 -29
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +5 -13
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +3 -11
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +8 -14
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +42 -48
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +17 -30
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +39 -51
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +10 -21
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +3 -11
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +3 -11
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +3 -11
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +54 -187
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +6 -14
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +11 -25
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +8 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +5 -13
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +3 -11
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -21
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +4 -16
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -13
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -18
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +11 -17
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -15
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +4 -33
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +4 -33
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +4 -33
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +4 -33
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +19 -53
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +15 -21
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +12 -18
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +9 -15
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +5 -13
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +13 -51
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +10 -39
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +23 -113
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +74 -273
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +44 -130
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +84 -268
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +23 -103
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +48 -165
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +85 -272
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +10 -34
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +18 -103
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +20 -93
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +58 -243
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n CollectionSlug,\n Data,\n DocumentSlots,\n FormState,\n JsonObject,\n SanitizedDocumentPermissions,\n UploadEdits,\n} from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../../providers/UploadHandlers/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly bulkUpdateForm: (\n updatedFields: Record<string, unknown>,\n afterStateUpdate?: () => void,\n ) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly documentSlots: DocumentSlots\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly resetUploadEdits?: () => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly totalErrorCount?: number\n readonly updateUploadEdits: (args: UploadEdits) => void\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n bulkUpdateForm: () => null,\n collectionSlug: '',\n docPermissions: undefined,\n documentSlots: {},\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n totalErrorCount: 0,\n updateUploadEdits: () => {},\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\nexport type InitialForms = Array<{\n file: File\n formID?: string\n initialState?: FormState | null\n}>\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\n\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n const { getUploadHandler } = useUploadHandlers()\n\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<SanitizedDocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const formsRef = React.useRef(forms)\n formsRef.current = forms\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const {\n collectionSlug,\n drawerSlug,\n initialFiles,\n initialForms,\n onSuccess,\n setInitialFiles,\n setInitialForms,\n setSuccessfullyUploaded,\n } = useBulkUpload()\n\n const [isUploading, setIsUploading] = React.useState(false)\n const [loadingText, setLoadingText] = React.useState('')\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${serverURL}${api}/${collectionSlug}`\n\n const initializeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: SanitizedDocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n // FETCH AND SET THE DOCUMENT SLOTS HERE!\n const documentSlots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(documentSlots)\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: { fields: {} },\n locale: code,\n operation: 'create',\n renderAllFields: true,\n schemaPath: collectionSlug,\n skipValidation: true,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (_err) {\n // swallow error\n }\n },\n [getDocumentSlots, collectionSlug, getFormState, docPermissions, code],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formID: form.formID,\n formState: currentFormsData,\n uploadEdits: form.uploadEdits,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n if (forms.length) {\n // save the state of the current form before adding new files\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: getFormDataRef.current(),\n index: activeIndex,\n })\n }\n\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({\n type: 'ADD_FORMS',\n forms: Array.from(files).map((file) => ({\n file,\n initialState: initialStateRef.current,\n })),\n })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay, activeIndex, forms],\n )\n\n const addFilesEffectEvent = useEffectEvent(addFiles)\n\n const addInitialForms = useEffectEvent(async (initialForms: InitialForms) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n\n dispatch({\n type: 'ADD_FORMS',\n forms: initialForms.map((form) => ({\n ...form,\n initialState: form?.initialState || initialStateRef.current,\n })),\n })\n\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n })\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formID: currentForms[activeIndex].formID,\n formState: currentFormsData,\n uploadEdits: currentForms[activeIndex].uploadEdits,\n }\n const newDocs: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }> = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n const fileValue = form.formState?.file?.value\n\n // Skip upload if file is missing a filename\n if (\n fileValue &&\n typeof fileValue === 'object' &&\n 'name' in fileValue &&\n (!fileValue.name || fileValue.name === '')\n ) {\n currentForms[i] = {\n ...currentForms[i],\n errorCount: 1,\n }\n continue\n }\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const actionURLWithParams = `${actionURL}${qs.stringify(\n {\n locale: code,\n uploadEdits: form?.uploadEdits || undefined,\n },\n {\n addQueryPrefix: true,\n },\n )}`\n\n const req = await fetch(actionURLWithParams, {\n body: await createFormData(\n form.formState,\n overrides,\n collectionSlug,\n getUploadHandler({ collectionSlug }),\n ),\n credentials: 'include',\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push({\n collectionSlug,\n doc: json.doc,\n formID: form.formID,\n })\n }\n\n // should expose some sort of helper for this\n const [fieldErrors, nonFieldErrors] = (json?.errors || []).reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formID: currentForms[i].formID,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n\n if (req.status === 413 || req.status === 400) {\n // file too large\n currentForms[i] = {\n ...currentForms[i],\n errorCount: currentForms[i].errorCount + 1,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = []\n\n currentForms.forEach(({ errorCount }, i) => {\n if (errorCount) {\n remainingForms.push(currentForms[i])\n }\n })\n\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n setSuccessfullyUploaded(true)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n\n if (remainingForms.length === 0) {\n setInitialFiles(undefined)\n setInitialForms(undefined)\n }\n },\n [\n forms,\n activeIndex,\n t,\n actionURL,\n code,\n collectionSlug,\n getUploadHandler,\n onSuccess,\n closeModal,\n setSuccessfullyUploaded,\n drawerSlug,\n setInitialFiles,\n setInitialForms,\n ],\n )\n\n const bulkUpdateForm = React.useCallback(\n async (updatedFields: Record<string, unknown>, afterStateUpdate?: () => void) => {\n for (let i = 0; i < forms.length; i++) {\n Object.entries(updatedFields).forEach(([path, value]) => {\n if (forms[i].formState[path]) {\n forms[i].formState[path].value = value\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[i].errorCount,\n formState: forms[i].formState,\n index: i,\n })\n }\n })\n\n if (typeof afterStateUpdate === 'function') {\n afterStateUpdate()\n }\n\n if (hasSubmitted) {\n const { state } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: forms[i].formState,\n operation: 'create',\n schemaPath: collectionSlug,\n })\n\n const newFormErrorCount = Object.values(state).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n )\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: newFormErrorCount,\n formState: state,\n index: i,\n })\n }\n }\n },\n [collectionSlug, docPermissions, forms, getFormState, hasSubmitted],\n )\n\n const updateUploadEdits = React.useCallback<FormsManagerContext['updateUploadEdits']>(\n (uploadEdits) => {\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: forms[activeIndex].formState,\n index: activeIndex,\n uploadEdits,\n })\n },\n [activeIndex, forms],\n )\n\n const resetUploadEdits = React.useCallback<FormsManagerContext['resetUploadEdits']>(() => {\n dispatch({\n type: 'REPLACE',\n state: {\n forms: forms.map((form) => ({\n ...form,\n uploadEdits: {},\n })),\n },\n })\n }, [forms])\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initializeSharedDocPermissions()\n }\n\n if (initialFiles || initialForms) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (\n hasInitializedState &&\n (initialForms?.length || initialFiles?.length) &&\n !hasInitializedWithFiles.current\n ) {\n if (initialForms?.length) {\n void addInitialForms(initialForms)\n }\n if (initialFiles?.length) {\n void addFilesEffectEvent(initialFiles)\n }\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n initialForms,\n ])\n\n return (\n <Context\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n bulkUpdateForm,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n resetUploadEdits,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n totalErrorCount,\n updateUploadEdits,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport function useFormsManager() {\n return React.use(Context)\n}\n"],"names":["useModal","qs","React","toast","fieldReducer","useEffectEvent","useConfig","useLocale","useServerFunctions","useTranslation","useUploadHandlers","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","bulkUpdateForm","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","totalErrorCount","updateUploadEdits","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","getDocumentSlots","getFormState","getUploadHandler","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","initialForms","onSuccess","setInitialFiles","setInitialForms","setSuccessfullyUploaded","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","actionURL","initializeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","docPreferences","fields","operation","renderAllFields","schemaPath","skipValidation","_err","index","currentFormsData","type","map","form","i","errorCount","formID","formState","uploadEdits","files","length","isLoading","key","Array","from","file","addFilesEffectEvent","addInitialForms","count","overrides","currentForms","newDocs","fileValue","value","name","total","actionURLWithParams","addQueryPrefix","req","status","doc","push","fieldErrors","nonFieldErrors","errors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","isArray","data","forEach","dataError","path","error","_","remainingForms","successCount","Math","max","success","acc","updatedFields","afterStateUpdate","Object","entries","newFormErrorCount","values","valid","resetUploadEdits","useEffect","animationDuration","overlayType","show","useFormsManager","use"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n CollectionSlug,\n Data,\n DocumentSlots,\n FormState,\n JsonObject,\n SanitizedDocumentPermissions,\n UploadEdits,\n} from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../../providers/UploadHandlers/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly bulkUpdateForm: (\n updatedFields: Record<string, unknown>,\n afterStateUpdate?: () => void,\n ) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly documentSlots: DocumentSlots\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly resetUploadEdits?: () => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly totalErrorCount?: number\n readonly updateUploadEdits: (args: UploadEdits) => void\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n bulkUpdateForm: () => null,\n collectionSlug: '',\n docPermissions: undefined,\n documentSlots: {},\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n totalErrorCount: 0,\n updateUploadEdits: () => {},\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\nexport type InitialForms = Array<{\n file: File\n formID?: string\n initialState?: FormState | null\n}>\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\n\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n const { getUploadHandler } = useUploadHandlers()\n\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<SanitizedDocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const formsRef = React.useRef(forms)\n formsRef.current = forms\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const {\n collectionSlug,\n drawerSlug,\n initialFiles,\n initialForms,\n onSuccess,\n setInitialFiles,\n setInitialForms,\n setSuccessfullyUploaded,\n } = useBulkUpload()\n\n const [isUploading, setIsUploading] = React.useState(false)\n const [loadingText, setLoadingText] = React.useState('')\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${serverURL}${api}/${collectionSlug}`\n\n const initializeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: SanitizedDocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n // FETCH AND SET THE DOCUMENT SLOTS HERE!\n const documentSlots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(documentSlots)\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: { fields: {} },\n locale: code,\n operation: 'create',\n renderAllFields: true,\n schemaPath: collectionSlug,\n skipValidation: true,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (_err) {\n // swallow error\n }\n },\n [getDocumentSlots, collectionSlug, getFormState, docPermissions, code],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formID: form.formID,\n formState: currentFormsData,\n uploadEdits: form.uploadEdits,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n if (forms.length) {\n // save the state of the current form before adding new files\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: getFormDataRef.current(),\n index: activeIndex,\n })\n }\n\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({\n type: 'ADD_FORMS',\n forms: Array.from(files).map((file) => ({\n file,\n initialState: initialStateRef.current,\n })),\n })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay, activeIndex, forms],\n )\n\n const addFilesEffectEvent = useEffectEvent(addFiles)\n\n const addInitialForms = useEffectEvent(async (initialForms: InitialForms) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n\n dispatch({\n type: 'ADD_FORMS',\n forms: initialForms.map((form) => ({\n ...form,\n initialState: form?.initialState || initialStateRef.current,\n })),\n })\n\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n })\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formID: currentForms[activeIndex].formID,\n formState: currentFormsData,\n uploadEdits: currentForms[activeIndex].uploadEdits,\n }\n const newDocs: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }> = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n const fileValue = form.formState?.file?.value\n\n // Skip upload if file is missing a filename\n if (\n fileValue &&\n typeof fileValue === 'object' &&\n 'name' in fileValue &&\n (!fileValue.name || fileValue.name === '')\n ) {\n currentForms[i] = {\n ...currentForms[i],\n errorCount: 1,\n }\n continue\n }\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const actionURLWithParams = `${actionURL}${qs.stringify(\n {\n locale: code,\n uploadEdits: form?.uploadEdits || undefined,\n },\n {\n addQueryPrefix: true,\n },\n )}`\n\n const req = await fetch(actionURLWithParams, {\n body: await createFormData(\n form.formState,\n overrides,\n collectionSlug,\n getUploadHandler({ collectionSlug }),\n ),\n credentials: 'include',\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push({\n collectionSlug,\n doc: json.doc,\n formID: form.formID,\n })\n }\n\n // should expose some sort of helper for this\n const [fieldErrors, nonFieldErrors] = (json?.errors || []).reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formID: currentForms[i].formID,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n\n if (req.status === 413 || req.status === 400) {\n // file too large\n currentForms[i] = {\n ...currentForms[i],\n errorCount: currentForms[i].errorCount + 1,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = []\n\n currentForms.forEach(({ errorCount }, i) => {\n if (errorCount) {\n remainingForms.push(currentForms[i])\n }\n })\n\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n setSuccessfullyUploaded(true)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n\n if (remainingForms.length === 0) {\n setInitialFiles(undefined)\n setInitialForms(undefined)\n }\n },\n [\n forms,\n activeIndex,\n t,\n actionURL,\n code,\n collectionSlug,\n getUploadHandler,\n onSuccess,\n closeModal,\n setSuccessfullyUploaded,\n drawerSlug,\n setInitialFiles,\n setInitialForms,\n ],\n )\n\n const bulkUpdateForm = React.useCallback(\n async (updatedFields: Record<string, unknown>, afterStateUpdate?: () => void) => {\n for (let i = 0; i < forms.length; i++) {\n Object.entries(updatedFields).forEach(([path, value]) => {\n if (forms[i].formState[path]) {\n forms[i].formState[path].value = value\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[i].errorCount,\n formState: forms[i].formState,\n index: i,\n })\n }\n })\n\n if (typeof afterStateUpdate === 'function') {\n afterStateUpdate()\n }\n\n if (hasSubmitted) {\n const { state } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: null,\n formState: forms[i].formState,\n operation: 'create',\n schemaPath: collectionSlug,\n })\n\n const newFormErrorCount = Object.values(state).reduce(\n (acc, value) => (value?.valid === false ? acc + 1 : acc),\n 0,\n )\n\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: newFormErrorCount,\n formState: state,\n index: i,\n })\n }\n }\n },\n [collectionSlug, docPermissions, forms, getFormState, hasSubmitted],\n )\n\n const updateUploadEdits = React.useCallback<FormsManagerContext['updateUploadEdits']>(\n (uploadEdits) => {\n dispatch({\n type: 'UPDATE_FORM',\n errorCount: forms[activeIndex].errorCount,\n formState: forms[activeIndex].formState,\n index: activeIndex,\n uploadEdits,\n })\n },\n [activeIndex, forms],\n )\n\n const resetUploadEdits = React.useCallback<FormsManagerContext['resetUploadEdits']>(() => {\n dispatch({\n type: 'REPLACE',\n state: {\n forms: forms.map((form) => ({\n ...form,\n uploadEdits: {},\n })),\n },\n })\n }, [forms])\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initializeSharedDocPermissions()\n }\n\n if (initialFiles || initialForms) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (\n hasInitializedState &&\n (initialForms?.length || initialFiles?.length) &&\n !hasInitializedWithFiles.current\n ) {\n if (initialForms?.length) {\n void addInitialForms(initialForms)\n }\n if (initialFiles?.length) {\n void addFilesEffectEvent(initialFiles)\n }\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n initialForms,\n ])\n\n return (\n <Context\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n bulkUpdateForm,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n resetUploadEdits,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n totalErrorCount,\n updateUploadEdits,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context>\n )\n}\n\nexport function useFormsManager() {\n return React.use(Context)\n}\n"],"names":["useModal","qs","React","toast","fieldReducer","useEffectEvent","useConfig","useLocale","useServerFunctions","useTranslation","useUploadHandlers","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","bulkUpdateForm","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","totalErrorCount","updateUploadEdits","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","getDocumentSlots","getFormState","getUploadHandler","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","initialForms","onSuccess","setInitialFiles","setInitialForms","setSuccessfullyUploaded","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","actionURL","initializeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","docPreferences","fields","operation","renderAllFields","schemaPath","skipValidation","_err","index","currentFormsData","type","map","form","i","errorCount","formID","formState","uploadEdits","files","length","isLoading","key","Array","from","file","addFilesEffectEvent","addInitialForms","count","overrides","currentForms","newDocs","fileValue","value","name","total","actionURLWithParams","addQueryPrefix","req","status","doc","push","fieldErrors","nonFieldErrors","errors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","isArray","data","forEach","dataError","path","error","_","remainingForms","successCount","Math","max","success","acc","updatedFields","afterStateUpdate","Object","entries","newFormErrorCount","values","valid","resetUploadEdits","useEffect","animationDuration","overlayType","show","useFormsManager","use"],"mappings":"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"}
|
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
|
-
import React from 'react';
|
|
4
2
|
import { DrawerCloseButton } from '../DrawerCloseButton/index.js';
|
|
5
3
|
import './index.scss';
|
|
6
4
|
const baseClass = 'bulk-upload--drawer-header';
|
|
7
5
|
export function DrawerHeader({ onClose, title }) {
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
title: title,
|
|
13
|
-
children: title
|
|
14
|
-
}, void 0, false, {
|
|
15
|
-
fileName: "src/elements/BulkUpload/Header/index.tsx",
|
|
16
|
-
lineNumber: 17,
|
|
17
|
-
columnNumber: 7
|
|
18
|
-
}, this),
|
|
19
|
-
/*#__PURE__*/ _jsxDEV(DrawerCloseButton, {
|
|
20
|
-
onClick: onClose
|
|
21
|
-
}, void 0, false, {
|
|
22
|
-
fileName: "src/elements/BulkUpload/Header/index.tsx",
|
|
23
|
-
lineNumber: 18,
|
|
24
|
-
columnNumber: 7
|
|
25
|
-
}, this)
|
|
26
|
-
]
|
|
27
|
-
}, void 0, true, {
|
|
28
|
-
fileName: "src/elements/BulkUpload/Header/index.tsx",
|
|
29
|
-
lineNumber: 16,
|
|
30
|
-
columnNumber: 5
|
|
31
|
-
}, this);
|
|
6
|
+
return <div className={baseClass}>
|
|
7
|
+
<h2 title={title}>{title}</h2>
|
|
8
|
+
<DrawerCloseButton onClick={onClose}/>
|
|
9
|
+
</div>;
|
|
32
10
|
}
|
|
33
11
|
|
|
34
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/BulkUpload/Header/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { DrawerCloseButton } from '../DrawerCloseButton/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--drawer-header'\n\ntype Props = {\n readonly onClose: () => void\n readonly title: string\n}\nexport function DrawerHeader({ onClose, title }: Props) {\n return (\n <div className={baseClass}>\n <h2 title={title}>{title}</h2>\n <DrawerCloseButton onClick={onClose} />\n </div>\n )\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/BulkUpload/Header/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { DrawerCloseButton } from '../DrawerCloseButton/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--drawer-header'\n\ntype Props = {\n readonly onClose: () => void\n readonly title: string\n}\nexport function DrawerHeader({ onClose, title }: Props) {\n return (\n <div className={baseClass}>\n <h2 title={title}>{title}</h2>\n <DrawerCloseButton onClick={onClose} />\n </div>\n )\n}\n"],"names":["DrawerCloseButton","baseClass","DrawerHeader","onClose","title","div","className","h2","onClick"],"mappings":"AAAA;AAIA,SAASA,iBAAiB,QAAQ,gCAA+B;AACjE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAMlB,OAAO,SAASC,aAAa,EAAEC,OAAO,EAAEC,KAAK,EAAS;IACpD,QACGC,IAAIC,WAAWL,WAAW;MACzB,CAACM,GAAGH,OAAOA,QAAQA,QAAQG,GAAG;MAC9B,CAACP,kBAAkBQ,SAASL,UAAW;IACzC,EAAEE;AAEN"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { useModal } from '@faceless-ui/modal';
|
|
4
3
|
import { validateMimeType } from 'payload/shared';
|
|
5
4
|
import React, { useEffect } from 'react';
|
|
@@ -46,21 +45,9 @@ function DrawerContent() {
|
|
|
46
45
|
return null;
|
|
47
46
|
}
|
|
48
47
|
if (!forms.length && !isInitializing) {
|
|
49
|
-
return
|
|
50
|
-
acceptMimeTypes: uploadMimeTypes?.join(', '),
|
|
51
|
-
onCancel: ()=>closeModal(drawerSlug),
|
|
52
|
-
onDrop: onDrop
|
|
53
|
-
}, void 0, false, {
|
|
54
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
55
|
-
lineNumber: 60,
|
|
56
|
-
columnNumber: 7
|
|
57
|
-
}, this);
|
|
48
|
+
return <AddFilesView acceptMimeTypes={uploadMimeTypes?.join(', ')} onCancel={()=>closeModal(drawerSlug)} onDrop={onDrop}/>;
|
|
58
49
|
} else {
|
|
59
|
-
return
|
|
60
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
61
|
-
lineNumber: 67,
|
|
62
|
-
columnNumber: 12
|
|
63
|
-
}, this);
|
|
50
|
+
return <AddingFilesView/>;
|
|
64
51
|
}
|
|
65
52
|
}
|
|
66
53
|
export function BulkUploadDrawer() {
|
|
@@ -100,38 +87,15 @@ export function BulkUploadDrawer() {
|
|
|
100
87
|
}, [
|
|
101
88
|
modalState
|
|
102
89
|
]);
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
lineNumber: 132,
|
|
113
|
-
columnNumber: 13
|
|
114
|
-
}, this)
|
|
115
|
-
}, void 0, false, {
|
|
116
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
117
|
-
lineNumber: 131,
|
|
118
|
-
columnNumber: 11
|
|
119
|
-
}, this)
|
|
120
|
-
}, void 0, false, {
|
|
121
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
122
|
-
lineNumber: 130,
|
|
123
|
-
columnNumber: 9
|
|
124
|
-
}, this)
|
|
125
|
-
}, void 0, false, {
|
|
126
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
127
|
-
lineNumber: 129,
|
|
128
|
-
columnNumber: 7
|
|
129
|
-
}, this)
|
|
130
|
-
}, void 0, false, {
|
|
131
|
-
fileName: "src/elements/BulkUpload/index.tsx",
|
|
132
|
-
lineNumber: 128,
|
|
133
|
-
columnNumber: 5
|
|
134
|
-
}, this);
|
|
90
|
+
return <Drawer gutter={false} Header={null} slug={drawerSlug}>
|
|
91
|
+
<FormsManagerProvider>
|
|
92
|
+
<UploadControlsProvider>
|
|
93
|
+
<EditDepthProvider>
|
|
94
|
+
<DrawerContent/>
|
|
95
|
+
</EditDepthProvider>
|
|
96
|
+
</UploadControlsProvider>
|
|
97
|
+
</FormsManagerProvider>
|
|
98
|
+
</Drawer>;
|
|
135
99
|
}
|
|
136
100
|
/**
|
|
137
101
|
* Like initialFiles, but allows manually providing initial form state or the form ID for each file
|
|
@@ -144,7 +108,7 @@ export function BulkUploadDrawer() {
|
|
|
144
108
|
* Set the collections that can be selected in the collection dropdown (if applicable)
|
|
145
109
|
*
|
|
146
110
|
* @default null - collection cannot be selected
|
|
147
|
-
*/ const Context =
|
|
111
|
+
*/ const Context = React.createContext({
|
|
148
112
|
collectionSlug: '',
|
|
149
113
|
drawerSlug: '',
|
|
150
114
|
initialFiles: undefined,
|
|
@@ -179,53 +143,38 @@ export function BulkUploadProvider({ children, drawerSlugPrefix }) {
|
|
|
179
143
|
const setOnCancel = (onCancel)=>{
|
|
180
144
|
setOnCancelFunction(()=>onCancel);
|
|
181
145
|
};
|
|
182
|
-
return
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
selectableCollections,
|
|
200
|
-
setCollectionSlug: setCollection,
|
|
201
|
-
setInitialFiles,
|
|
202
|
-
setInitialForms,
|
|
203
|
-
setMaxFiles,
|
|
204
|
-
setOnCancel,
|
|
205
|
-
setOnSuccess,
|
|
206
|
-
setSelectableCollections,
|
|
207
|
-
setSuccessfullyUploaded,
|
|
208
|
-
successfullyUploaded
|
|
146
|
+
return <Context value={{
|
|
147
|
+
collectionSlug: collection,
|
|
148
|
+
drawerSlug,
|
|
149
|
+
initialFiles,
|
|
150
|
+
initialForms,
|
|
151
|
+
maxFiles,
|
|
152
|
+
onCancel: ()=>{
|
|
153
|
+
if (typeof onCancelFunction === 'function') {
|
|
154
|
+
onCancelFunction();
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
onSuccess: (newDocs, errorCount)=>{
|
|
158
|
+
if (typeof onSuccessFunction === 'function') {
|
|
159
|
+
onSuccessFunction(newDocs, errorCount);
|
|
160
|
+
}
|
|
209
161
|
},
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
lineNumber: 229,
|
|
227
|
-
columnNumber: 5
|
|
228
|
-
}, this);
|
|
162
|
+
selectableCollections,
|
|
163
|
+
setCollectionSlug: setCollection,
|
|
164
|
+
setInitialFiles,
|
|
165
|
+
setInitialForms,
|
|
166
|
+
setMaxFiles,
|
|
167
|
+
setOnCancel,
|
|
168
|
+
setOnSuccess,
|
|
169
|
+
setSelectableCollections,
|
|
170
|
+
setSuccessfullyUploaded,
|
|
171
|
+
successfullyUploaded
|
|
172
|
+
}}>
|
|
173
|
+
<React.Fragment>
|
|
174
|
+
{children}
|
|
175
|
+
<BulkUploadDrawer/>
|
|
176
|
+
</React.Fragment>
|
|
177
|
+
</Context>;
|
|
229
178
|
}
|
|
230
179
|
export const useBulkUpload = ()=>React.use(Context);
|
|
231
180
|
export function useBulkUploadDrawerSlug() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React, { useEffect } from 'react'\nimport { toast } from 'sonner'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, type InitialForms, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = getEntityConfig({ collectionSlug })\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const {\n drawerSlug,\n onCancel,\n setInitialFiles,\n setInitialForms,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n } = useBulkUpload()\n const { modalState } = useModal()\n const previousModalStateRef = React.useRef(modalState)\n\n /**\n * This is used to trigger onCancel when the drawer is closed (=> forms reset, as FormsManager is unmounted)\n */\n const onModalStateChanged = useEffectEvent((modalState) => {\n const previousModalState = previousModalStateRef.current[drawerSlug]\n const currentModalState = modalState[drawerSlug]\n\n if (typeof currentModalState === 'undefined' && typeof previousModalState === 'undefined') {\n return\n }\n\n if (previousModalState?.isOpen !== currentModalState?.isOpen) {\n if (!currentModalState?.isOpen) {\n if (!successfullyUploaded) {\n // It's only cancelled if successfullyUploaded is not set. Otherwise, this would simply be a modal close after success\n // => do not call cancel, just reset everything\n if (typeof onCancel === 'function') {\n onCancel()\n }\n }\n\n // Reset everything to defaults\n setInitialFiles(undefined)\n setInitialForms(undefined)\n setOnCancel(() => () => null)\n setOnSuccess(() => () => null)\n setSelectableCollections(null)\n setSuccessfullyUploaded(false)\n }\n }\n previousModalStateRef.current = modalState\n })\n\n useEffect(() => {\n onModalStateChanged(modalState)\n }, [modalState])\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <UploadControlsProvider>\n <EditDepthProvider>\n <DrawerContent />\n </EditDepthProvider>\n </UploadControlsProvider>\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\nexport type BulkUploadContext = {\n collectionSlug: CollectionSlug\n drawerSlug: string\n initialFiles: FileList\n /**\n * Like initialFiles, but allows manually providing initial form state or the form ID for each file\n */\n initialForms: InitialForms\n maxFiles: number\n onCancel: () => void\n onSuccess: (\n uploadedForms: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }>,\n errorCount: number,\n ) => void\n /**\n * An array of collection slugs that can be selected in the collection dropdown (if applicable)\n * @default null - collection cannot be selected\n */\n selectableCollections?: null | string[]\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setInitialForms: (\n forms: ((forms: InitialForms | undefined) => InitialForms | undefined) | InitialForms,\n ) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n /**\n * Set the collections that can be selected in the collection dropdown (if applicable)\n *\n * @default null - collection cannot be selected\n */\n setSelectableCollections: (collections: null | string[]) => void\n setSuccessfullyUploaded: (successfullyUploaded: boolean) => void\n successfullyUploaded: boolean\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n initialForms: [],\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n selectableCollections: null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setInitialForms: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n setSelectableCollections: () => null,\n setSuccessfullyUploaded: () => false,\n successfullyUploaded: false,\n})\nexport function BulkUploadProvider({\n children,\n drawerSlugPrefix,\n}: {\n readonly children: React.ReactNode\n readonly drawerSlugPrefix?: string\n}) {\n const [selectableCollections, setSelectableCollections] = React.useState<null | string[]>(null)\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [initialForms, setInitialForms] = React.useState<InitialForms>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const [successfullyUploaded, setSuccessfullyUploaded] = React.useState<boolean>(false)\n\n const drawerSlug = `${drawerSlugPrefix ? `${drawerSlugPrefix}-` : ''}${useBulkUploadDrawerSlug()}`\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n const setOnCancel: BulkUploadContext['setOnCancel'] = (onCancel) => {\n setOnCancelFunction(() => onCancel)\n }\n\n return (\n <Context\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n initialForms,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (newDocs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(newDocs, errorCount)\n }\n },\n selectableCollections,\n setCollectionSlug: setCollection,\n setInitialFiles,\n setInitialForms,\n setMaxFiles,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context>\n )\n}\n\nexport const useBulkUpload = () => React.use(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"names":["useModal","validateMimeType","React","useEffect","toast","useEffectEvent","useConfig","EditDepthProvider","useTranslation","UploadControlsProvider","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","getEntityConfig","t","uploadCollection","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","acceptMimeTypes","join","onCancel","BulkUploadDrawer","setInitialFiles","setInitialForms","setOnCancel","setOnSuccess","setSelectableCollections","setSuccessfullyUploaded","successfullyUploaded","modalState","previousModalStateRef","useRef","onModalStateChanged","previousModalState","current","currentModalState","isOpen","gutter","Header","slug","Context","createContext","initialFiles","initialForms","maxFiles","onSuccess","selectableCollections","setCollectionSlug","setMaxFiles","BulkUploadProvider","children","drawerSlugPrefix","useState","collection","setCollection","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","value","newDocs","errorCount","Fragment","use","depth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React, { useEffect } from 'react'\nimport { toast } from 'sonner'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, type InitialForms, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { getEntityConfig } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = getEntityConfig({ collectionSlug })\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const {\n drawerSlug,\n onCancel,\n setInitialFiles,\n setInitialForms,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n } = useBulkUpload()\n const { modalState } = useModal()\n const previousModalStateRef = React.useRef(modalState)\n\n /**\n * This is used to trigger onCancel when the drawer is closed (=> forms reset, as FormsManager is unmounted)\n */\n const onModalStateChanged = useEffectEvent((modalState) => {\n const previousModalState = previousModalStateRef.current[drawerSlug]\n const currentModalState = modalState[drawerSlug]\n\n if (typeof currentModalState === 'undefined' && typeof previousModalState === 'undefined') {\n return\n }\n\n if (previousModalState?.isOpen !== currentModalState?.isOpen) {\n if (!currentModalState?.isOpen) {\n if (!successfullyUploaded) {\n // It's only cancelled if successfullyUploaded is not set. Otherwise, this would simply be a modal close after success\n // => do not call cancel, just reset everything\n if (typeof onCancel === 'function') {\n onCancel()\n }\n }\n\n // Reset everything to defaults\n setInitialFiles(undefined)\n setInitialForms(undefined)\n setOnCancel(() => () => null)\n setOnSuccess(() => () => null)\n setSelectableCollections(null)\n setSuccessfullyUploaded(false)\n }\n }\n previousModalStateRef.current = modalState\n })\n\n useEffect(() => {\n onModalStateChanged(modalState)\n }, [modalState])\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <UploadControlsProvider>\n <EditDepthProvider>\n <DrawerContent />\n </EditDepthProvider>\n </UploadControlsProvider>\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\nexport type BulkUploadContext = {\n collectionSlug: CollectionSlug\n drawerSlug: string\n initialFiles: FileList\n /**\n * Like initialFiles, but allows manually providing initial form state or the form ID for each file\n */\n initialForms: InitialForms\n maxFiles: number\n onCancel: () => void\n onSuccess: (\n uploadedForms: Array<{\n collectionSlug: CollectionSlug\n doc: JsonObject\n /**\n * ID of the form that created this document\n */\n formID: string\n }>,\n errorCount: number,\n ) => void\n /**\n * An array of collection slugs that can be selected in the collection dropdown (if applicable)\n * @default null - collection cannot be selected\n */\n selectableCollections?: null | string[]\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setInitialForms: (\n forms: ((forms: InitialForms | undefined) => InitialForms | undefined) | InitialForms,\n ) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n /**\n * Set the collections that can be selected in the collection dropdown (if applicable)\n *\n * @default null - collection cannot be selected\n */\n setSelectableCollections: (collections: null | string[]) => void\n setSuccessfullyUploaded: (successfullyUploaded: boolean) => void\n successfullyUploaded: boolean\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n initialForms: [],\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n selectableCollections: null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setInitialForms: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n setSelectableCollections: () => null,\n setSuccessfullyUploaded: () => false,\n successfullyUploaded: false,\n})\nexport function BulkUploadProvider({\n children,\n drawerSlugPrefix,\n}: {\n readonly children: React.ReactNode\n readonly drawerSlugPrefix?: string\n}) {\n const [selectableCollections, setSelectableCollections] = React.useState<null | string[]>(null)\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [initialForms, setInitialForms] = React.useState<InitialForms>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const [successfullyUploaded, setSuccessfullyUploaded] = React.useState<boolean>(false)\n\n const drawerSlug = `${drawerSlugPrefix ? `${drawerSlugPrefix}-` : ''}${useBulkUploadDrawerSlug()}`\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n const setOnCancel: BulkUploadContext['setOnCancel'] = (onCancel) => {\n setOnCancelFunction(() => onCancel)\n }\n\n return (\n <Context\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n initialForms,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (newDocs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(newDocs, errorCount)\n }\n },\n selectableCollections,\n setCollectionSlug: setCollection,\n setInitialFiles,\n setInitialForms,\n setMaxFiles,\n setOnCancel,\n setOnSuccess,\n setSelectableCollections,\n setSuccessfullyUploaded,\n successfullyUploaded,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context>\n )\n}\n\nexport const useBulkUpload = () => React.use(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"names":["useModal","validateMimeType","React","useEffect","toast","useEffectEvent","useConfig","EditDepthProvider","useTranslation","UploadControlsProvider","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","getEntityConfig","t","uploadCollection","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","acceptMimeTypes","join","onCancel","BulkUploadDrawer","setInitialFiles","setInitialForms","setOnCancel","setOnSuccess","setSelectableCollections","setSuccessfullyUploaded","successfullyUploaded","modalState","previousModalStateRef","useRef","onModalStateChanged","previousModalState","current","currentModalState","isOpen","gutter","Header","slug","Context","createContext","initialFiles","initialForms","maxFiles","onSuccess","selectableCollections","setCollectionSlug","setMaxFiles","BulkUploadProvider","children","drawerSlugPrefix","useState","collection","setCollection","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","value","newDocs","errorCount","Fragment","use","depth"],"mappings":"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"}
|