@payloadcms/ui 3.71.0-internal-debug.80dab4c → 3.71.0-internal.727c7a4
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/@types/assets.d.js.map +1 -1
- package/dist/assets/index.js +0 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +273 -218
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/types.js +1 -2
- package/dist/elements/AddNewRelation/types.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +73 -84
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +68 -71
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +101 -171
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +118 -186
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +181 -162
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +32 -52
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +173 -169
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +51 -84
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +94 -85
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +56 -30
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +27 -19
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +169 -179
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.js +1 -2
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +172 -221
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +57 -56
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +316 -395
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +32 -33
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +473 -503
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +90 -100
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +15 -27
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +271 -204
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +160 -227
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +1 -14
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +33 -53
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +36 -43
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +35 -29
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +43 -33
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +83 -110
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.js +71 -64
- package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +93 -75
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/types.js +1 -2
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +20 -25
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +43 -17
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +97 -82
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/constants.js +14 -15
- package/dist/elements/CodeEditor/constants.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +10 -22
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +1 -4
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +141 -151
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +30 -32
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +54 -54
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +84 -114
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +129 -116
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +272 -213
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +70 -47
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +136 -130
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +10 -11
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +11 -23
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js +1 -2
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +131 -97
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +141 -170
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +332 -371
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +274 -494
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +122 -141
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +103 -96
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +18 -24
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +210 -134
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +1 -12
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +69 -106
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +179 -154
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +113 -97
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +60 -26
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +124 -72
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js +1 -2
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +85 -25
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js +192 -166
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js +1 -2
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +19 -7
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +61 -59
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +9 -14
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +75 -90
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +87 -145
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +145 -155
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +392 -398
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +131 -79
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +395 -572
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +77 -96
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +24 -38
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +34 -50
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +7 -10
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +75 -45
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +67 -69
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +105 -113
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +33 -72
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +58 -76
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +14 -20
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +86 -59
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +87 -88
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +14 -19
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -9
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -174
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +51 -70
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +54 -71
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +79 -75
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +33 -35
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +565 -497
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +89 -61
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +10 -15
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +188 -218
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +264 -203
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +114 -93
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +27 -35
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +264 -142
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +83 -105
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +100 -162
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +24 -47
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +22 -16
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +83 -63
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +100 -142
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +19 -22
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +500 -522
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +26 -31
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +40 -51
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +27 -15
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +57 -31
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js +48 -43
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +168 -219
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +142 -73
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +129 -113
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.js +56 -53
- package/dist/elements/Link/formatUrl.js.map +1 -1
- package/dist/elements/Link/index.js +54 -50
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.js +168 -253
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +1 -8
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +168 -183
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +19 -28
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +229 -149
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +1 -6
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +84 -43
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +33 -23
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +0 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +73 -49
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +40 -22
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +162 -130
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +148 -169
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +0 -1
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +24 -65
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +58 -93
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +83 -83
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +49 -29
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +44 -20
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +26 -32
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +141 -210
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +92 -62
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +84 -84
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +33 -15
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +166 -132
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +144 -112
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +67 -68
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js +29 -27
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js +1 -2
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +51 -55
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +117 -99
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +59 -38
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +51 -30
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Modal/index.js +1 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +80 -34
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +103 -107
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +122 -98
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +14 -27
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +71 -40
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +107 -77
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +16 -24
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +16 -19
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +6 -10
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +99 -102
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +80 -93
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +133 -150
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +121 -103
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +56 -79
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +52 -65
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +5 -10
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +8 -11
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +44 -50
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
- package/dist/elements/Popup/index.js +282 -339
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +31 -24
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +132 -206
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +110 -154
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +309 -461
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +1 -2
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.js +195 -234
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +134 -137
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +109 -58
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +267 -344
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +87 -80
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +21 -47
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +19 -26
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +48 -61
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +27 -29
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +47 -42
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +74 -96
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +98 -149
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -29
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +41 -40
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +23 -26
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +13 -20
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +126 -48
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +32 -29
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +86 -49
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +14 -22
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +29 -38
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +198 -211
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +1 -9
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +58 -68
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +48 -21
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -39
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +258 -374
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +20 -29
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +5 -3
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +58 -27
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +56 -57
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +59 -44
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +154 -187
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +170 -177
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +49 -46
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +88 -84
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +19 -37
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +54 -60
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +1 -20
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +46 -21
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +25 -27
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +79 -27
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +73 -58
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +106 -98
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +163 -142
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +87 -54
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +27 -21
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +161 -203
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +76 -38
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +27 -10
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +41 -24
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +92 -148
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js +1 -2
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +8 -10
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -13
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +60 -34
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +27 -18
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -22
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +41 -22
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +42 -52
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +12 -18
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +183 -115
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +44 -22
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -11
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +151 -124
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +32 -40
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +15 -24
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +167 -224
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +162 -106
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/index.js +45 -83
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +48 -53
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +148 -127
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +68 -47
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +44 -53
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/TimezonePicker/types.js +1 -2
- package/dist/elements/TimezonePicker/types.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +77 -69
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +65 -98
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +39 -48
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +26 -33
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +127 -130
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +109 -58
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +481 -633
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +26 -15
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +29 -23
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +76 -95
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +129 -74
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +313 -353
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +67 -83
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +9 -10
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +154 -69
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +123 -72
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +143 -206
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.js +33 -32
- package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +119 -192
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +193 -258
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js +1 -2
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WindowInfo/index.js +1 -1
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +19 -20
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +26 -26
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/CodeEditor-QOURTFMT.js +14 -0
- package/dist/exports/client/CodeEditor-QOURTFMT.js.map +7 -0
- package/dist/exports/client/DatePicker-VMLA35FO.js +14 -0
- package/dist/exports/client/DatePicker-VMLA35FO.js.map +7 -0
- package/dist/exports/client/chunk-53XJ3K67.js +27 -0
- package/dist/exports/client/chunk-53XJ3K67.js.map +7 -0
- package/dist/exports/client/chunk-5LKBKI4T.js +14 -0
- package/dist/exports/client/chunk-5LKBKI4T.js.map +7 -0
- package/dist/exports/client/chunk-7V3NHDV6.js +29 -0
- package/dist/exports/client/chunk-7V3NHDV6.js.map +7 -0
- package/dist/exports/client/index.js +96 -297
- package/dist/exports/client/index.js.map +7 -1
- package/dist/exports/rsc/index.js +0 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +6 -35
- package/dist/exports/shared/index.js.map +7 -1
- package/dist/fields/Array/ArrayRow.js +168 -111
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +398 -532
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +198 -163
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +38 -30
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +103 -159
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +80 -37
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +106 -50
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +78 -36
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +425 -566
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +99 -86
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +99 -107
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +114 -146
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +134 -172
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +83 -67
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +171 -217
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +86 -111
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +43 -20
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +58 -22
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +45 -43
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +102 -150
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +12 -13
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +67 -27
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +143 -185
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +189 -214
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +169 -213
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +101 -80
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +122 -108
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +1 -12
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +127 -199
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +81 -56
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +114 -146
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +733 -811
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js +33 -31
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +32 -28
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.js +160 -152
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +139 -144
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +82 -92
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +118 -95
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js +1 -2
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.js +3 -3
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.js +35 -37
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +12 -13
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +165 -114
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +108 -89
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +134 -103
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +60 -54
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +445 -245
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +12 -13
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +191 -169
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +126 -107
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js +1 -2
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +115 -104
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +88 -61
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js +1 -2
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/UI/index.js +3 -3
- package/dist/fields/UI/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +186 -141
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +60 -59
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +566 -755
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +143 -140
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +10 -15
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +96 -79
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +1 -3
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/index.js +31 -31
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/mergeFieldStyles.js +12 -13
- package/dist/fields/mergeFieldStyles.js.map +1 -1
- package/dist/fields/shared/index.js +17 -8
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/context.js +24 -17
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
- package/dist/forms/Form/errorMessages.js +2 -2
- package/dist/forms/Form/errorMessages.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +412 -378
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +684 -745
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.js +38 -38
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +97 -93
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +17 -20
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/rowHelpers.js +34 -27
- package/dist/forms/Form/rowHelpers.js.map +1 -1
- package/dist/forms/Form/rows.js +34 -34
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.js +1 -53
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +96 -61
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +259 -237
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +9 -9
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.js +115 -76
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js +1 -2
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +29 -30
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +24 -33
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js +1 -2
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +35 -32
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +66 -41
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +683 -654
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +22 -14
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +26 -17
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +198 -186
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +60 -67
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +79 -90
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +16 -12
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +116 -95
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +274 -273
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +75 -90
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +1 -6
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +292 -180
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +1 -20
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +27 -9
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +15 -21
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +22 -46
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +34 -25
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +51 -24
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +62 -117
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +17 -33
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +19 -33
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +39 -112
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useClickOutside.js +15 -19
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useControllableState.js +35 -25
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js +26 -15
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +23 -15
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +53 -18
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +52 -27
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +76 -42
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useEffectEvent.js +33 -12
- package/dist/hooks/useEffectEvent.js.map +1 -1
- package/dist/hooks/useHotkey.js +110 -96
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +59 -28
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +172 -78
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +133 -91
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +38 -48
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js +27 -15
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js +70 -42
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +51 -17
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useThrottledValue.js +13 -16
- package/dist/hooks/useThrottledValue.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js +27 -7
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js +11 -20
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +11 -20
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +22 -30
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +11 -20
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +13 -22
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +17 -24
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +16 -25
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +11 -32
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +33 -70
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +13 -23
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +15 -25
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +25 -53
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +16 -26
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +21 -34
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +31 -57
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +14 -23
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +16 -25
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +16 -25
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +24 -41
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +14 -23
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +14 -23
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +19 -33
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +21 -43
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +34 -62
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +17 -28
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +13 -22
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +12 -21
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +35 -48
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +11 -20
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +8 -27
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +18 -28
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +15 -25
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +33 -21
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +243 -293
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +35 -35
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +104 -63
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +91 -91
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +30 -19
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +325 -331
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +1 -26
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +79 -81
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/DocumentTitle/context.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +55 -51
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +25 -15
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +48 -26
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +7 -8
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
- package/dist/providers/Folders/index.js +600 -698
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/context.js +2 -3
- package/dist/providers/ListQuery/context.js.map +1 -1
- package/dist/providers/ListQuery/index.js +140 -156
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js +31 -49
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js +23 -24
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.js +1 -6
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/collisionDetection.js +24 -21
- package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
- package/dist/providers/LivePreview/context.js +55 -60
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +205 -225
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.js +18 -19
- package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
- package/dist/providers/Locale/index.js +154 -87
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +11 -12
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +26 -14
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +122 -130
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +116 -190
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +103 -53
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +80 -61
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +94 -69
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/ScrollInfo/index.js +1 -1
- package/dist/providers/ScrollInfo/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +35 -36
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +183 -203
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +189 -199
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +62 -33
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
- package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +52 -50
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +2 -3
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +143 -132
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +14 -10
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +151 -150
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +15 -16
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
- package/dist/providers/TableColumns/context.js +1 -2
- package/dist/providers/TableColumns/context.js.map +1 -1
- package/dist/providers/TableColumns/getInitialColumns.js +28 -42
- package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/providers/TableColumns/index.js +85 -88
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +1 -18
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +104 -69
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -34
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -34
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -34
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -34
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +47 -56
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +112 -66
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +40 -28
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +73 -31
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +65 -30
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.js +9 -5
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/styles.css +1 -0
- package/dist/utilities/abortAndIgnore.js +17 -15
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/api.js +77 -78
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +65 -61
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +154 -142
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +61 -59
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +122 -110
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.js +186 -151
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +168 -145
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/canUseDOM.js +0 -1
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +26 -53
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +210 -202
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/dateLocales.js +27 -28
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/deepMerge.js +13 -14
- package/dist/utilities/deepMerge.js.map +1 -1
- package/dist/utilities/fetchPreferences.js.map +1 -1
- package/dist/utilities/filterOutUploadFields.js +4 -17
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js +5 -6
- package/dist/utilities/findLocaleFromCode.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +8 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatAdminURL.js +1 -2
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js +27 -20
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +13 -14
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +13 -14
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +44 -38
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.js +1 -2
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js +5 -6
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getClientConfig.js +29 -25
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +32 -24
- package/dist/utilities/getClientSchemaMap.js.map +1 -1
- package/dist/utilities/getColumns.js +35 -29
- package/dist/utilities/getColumns.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +16 -16
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +121 -134
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/getGlobalData.js +45 -41
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getNavGroups.js +18 -21
- package/dist/utilities/getNavGroups.js.map +1 -1
- package/dist/utilities/getOffsetTop.js +13 -14
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +8 -5
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSchemaMap.js +28 -22
- package/dist/utilities/getSchemaMap.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js +13 -14
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/getVisibleEntities.js +26 -15
- package/dist/utilities/getVisibleEntities.js.map +1 -1
- package/dist/utilities/groupNavItems.js +50 -53
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.js +11 -8
- package/dist/utilities/handleBackToDashboard.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +121 -127
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.js +11 -7
- package/dist/utilities/handleGoBack.js.map +1 -1
- package/dist/utilities/handleLivePreview.js +76 -59
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handlePreview.js +52 -41
- package/dist/utilities/handlePreview.js.map +1 -1
- package/dist/utilities/handleTakeOver.js +39 -28
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.js +11 -9
- package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +14 -14
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isClientUserObject.js +2 -3
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isEditing.js +5 -2
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +30 -31
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/isValidReactElement.js +3 -3
- package/dist/utilities/isValidReactElement.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.js +28 -29
- package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +368 -407
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
- package/dist/utilities/parseSearchParams.js +7 -7
- package/dist/utilities/parseSearchParams.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +154 -145
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/dist/utilities/removeUndefined.js +1 -2
- package/dist/utilities/removeUndefined.js.map +1 -1
- package/dist/utilities/renderTable.js +195 -239
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.js +26 -27
- package/dist/utilities/resolveFilterOptions.js.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.js +15 -16
- package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
- package/dist/utilities/sanitizeID.js +7 -8
- package/dist/utilities/sanitizeID.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +57 -47
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/scrollToID.js +9 -10
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.js +2 -3
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +35 -36
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +75 -75
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +324 -365
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +158 -161
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +282 -360
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +124 -185
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +321 -309
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.js +1 -2
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +150 -84
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +77 -30
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.js +501 -579
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/types.js +1 -2
- package/dist/views/Edit/types.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +24 -35
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +80 -115
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +111 -103
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +213 -321
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.js +1 -2
- package/dist/views/List/types.js.map +1 -1
- package/dist/widgets/CollectionCards/index.js +119 -149
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n ValueWithRelation,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReloadDoc, ValueAsDataWithRelation } from './types.js'\n\nimport { type BulkUploadContext, useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport './index.scss'\nimport { UploadComponentHasOne } from './HasOne/index.js'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly displayPreview?: boolean\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | number | string | ValueWithRelation | ValueWithRelation[]\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n displayPreview,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n setSelectableCollections,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n // This will be used by the bulk upload to allow you to select only collections you have create permissions for\n const collectionSlugsWithCreatePermission = useMemo(() => {\n if (Array.isArray(relationTo)) {\n return relationTo.filter(\n (relation) => permissions?.collections && permissions.collections?.[relation]?.create,\n )\n }\n return []\n }, [relationTo, permissions])\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n const isPoly = Array.isArray(relationTo)\n\n if (!value) {\n return filterOptionsFromProps\n }\n\n // Group existing IDs by relation\n const existingIdsByRelation: Record<string, (number | string)[]> = {}\n\n const values = Array.isArray(value) ? value : [value]\n\n for (const val of values) {\n if (isPoly && typeof val === 'object' && 'relationTo' in val) {\n // Poly upload - group by relationTo\n if (!existingIdsByRelation[val.relationTo]) {\n existingIdsByRelation[val.relationTo] = []\n }\n existingIdsByRelation[val.relationTo].push(val.value)\n } else if (!isPoly) {\n // Non-poly upload - all IDs belong to the single collection\n const collection = relationTo\n if (!existingIdsByRelation[collection]) {\n existingIdsByRelation[collection] = []\n }\n const id = typeof val === 'object' && 'value' in val ? val.value : val\n if (typeof id === 'string' || typeof id === 'number') {\n existingIdsByRelation[collection].push(id)\n }\n }\n }\n\n // Build filter options for each collection\n const newFilterOptions = { ...filterOptionsFromProps }\n const relations = isPoly ? relationTo : [relationTo]\n\n relations.forEach((relation) => {\n const existingIds = existingIdsByRelation[relation] || []\n\n newFilterOptions[relation] = {\n ...((filterOptionsFromProps?.[relation] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[relation] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[relation] as any)?.id?.not_in || []).concat(\n existingIds,\n ),\n },\n }\n })\n\n return newFilterOptions\n }, [value, filterOptionsFromProps, relationTo])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Track the last loaded value to prevent unnecessary reloads\n */\n const loadedValueRef = React.useRef<\n (number | string)[] | null | number | string | ValueWithRelation | ValueWithRelation[]\n >(null)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (items: ValueWithRelation[]): Promise<ValueAsDataWithRelation[]> => {\n if (!items?.length) {\n return []\n }\n\n // 1. Group IDs by collection\n const grouped: Record<string, (number | string)[]> = {}\n items.forEach(({ relationTo, value }) => {\n if (!grouped[relationTo]) {\n grouped[relationTo] = []\n }\n // Ensure we extract the actual ID value, not an object\n let idValue: number | string = value\n\n if (value && typeof value === 'object' && 'value' in (value as any)) {\n idValue = (value as any).value\n }\n\n grouped[relationTo].push(idValue)\n })\n\n // 2. Fetch per collection\n const fetches = Object.entries(grouped).map(async ([collection, ids]) => {\n const query = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: `/${collection}`,\n }),\n {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n },\n )\n let docs: any[] = []\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n // Map docs by ID for fast lookup\n const docsById = docs.reduce((acc, doc) => {\n acc[doc.id] = doc\n return acc\n }, {})\n return { collection, docsById }\n })\n\n const results = await Promise.all(fetches)\n\n // 3. Build lookup\n const lookup: Record<string, Record<string, any>> = {}\n results.forEach(({ collection, docsById }) => {\n lookup[collection] = docsById\n })\n\n // 4. Reconstruct in input order, add placeholders if missing\n const sortedDocs = items.map(({ relationTo, value }) => {\n const doc = lookup[relationTo]?.[value] || {\n id: value,\n filename: `${t('general:untitled')} - ID: ${value}`,\n isPlaceholder: true,\n }\n return { relationTo, value: doc }\n })\n\n return sortedDocs\n },\n [api, code, i18n.language, t],\n )\n\n const normalizeValue = useCallback(\n (value: any): any => normalizeRelationshipValue(value, relationTo),\n [relationTo],\n )\n\n const onUploadSuccess: BulkUploadContext['onSuccess'] = useCallback(\n (uploadedForms) => {\n const isPoly = Array.isArray(relationTo)\n\n if (hasMany) {\n const newValues = uploadedForms.map((form) =>\n isPoly ? { relationTo: form.collectionSlug, value: form.doc.id } : form.doc.id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const mergedValue = [...normalizedExisting, ...newValues]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...uploadedForms.map((form) => ({\n relationTo: form.collectionSlug,\n value: form.doc,\n })),\n ])\n } else {\n const firstDoc = uploadedForms[0]\n const newValue = isPoly\n ? { relationTo: firstDoc.collectionSlug, value: firstDoc.doc.id }\n : firstDoc.doc.id\n onChange(newValue)\n setPopulatedDocs([\n {\n relationTo: firstDoc.collectionSlug,\n value: firstDoc.doc,\n },\n ])\n }\n },\n [value, onChange, hasMany, relationTo, normalizeValue],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n // Use activeRelationTo for poly uploads, or relationTo as string for single collection\n const collectionToUse = Array.isArray(relationTo) ? activeRelationTo : relationTo\n\n setCollectionSlug(collectionToUse)\n if (Array.isArray(collectionSlugsWithCreatePermission)) {\n setSelectableCollections(collectionSlugsWithCreatePermission)\n }\n\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n\n openModal(drawerSlug)\n },\n [\n hasMany,\n relationTo,\n activeRelationTo,\n setCollectionSlug,\n collectionSlugsWithCreatePermission,\n maxRows,\n openModal,\n drawerSlug,\n setInitialFiles,\n setSelectableCollections,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const isPoly = Array.isArray(relationTo)\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const itemsToLoad = selectedDocIDs.map((id) => ({\n relationTo: activeRelationTo,\n value: id,\n }))\n\n const loadedDocs = await populateDocs(itemsToLoad)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [...(currentDocs || []), ...loadedDocs])\n }\n\n const newValues = selectedDocIDs.map((id) =>\n isPoly ? { relationTo: activeRelationTo, value: id } : id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n onChange([...normalizedExisting, ...newValues])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value, relationTo, normalizeValue],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n const isPoly = Array.isArray(relationTo)\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n const newValue = isPoly ? { relationTo: activeRelationTo, value: data.doc.id } : data.doc.id\n onChange(newValue)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange, relationTo],\n )\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, doc }) => {\n const isPoly = Array.isArray(relationTo)\n\n const loadedDocs = await populateDocs([{ relationTo: collectionSlug, value: doc.id }])\n const selectedDoc = loadedDocs?.[0] || null\n\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [...(currentDocs || []), selectedDoc]\n }\n return [selectedDoc]\n }\n return currentDocs\n })\n\n if (hasMany) {\n const newValue = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const valueToUse = [...normalizedExisting, newValue]\n onChange(valueToUse)\n } else {\n const valueToUse = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n onChange(valueToUse)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, relationTo, normalizeValue],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const docs = await populateDocs([{ relationTo: collectionSlug, value: docID }])\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].value.id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = docs[0]\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n return currentDocs\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const isPoly = Array.isArray(relationTo)\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n onChange(newValueToSave)\n setPopulatedDocs(newValue)\n },\n [onChange, relationTo],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const isPoly = Array.isArray(relationTo)\n\n if (!newValue || newValue.length === 0) {\n onChange(hasMany ? [] : null)\n setPopulatedDocs(hasMany ? [] : null)\n return\n }\n\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n\n onChange(hasMany ? newValueToSave : newValueToSave[0])\n setPopulatedDocs(newValue)\n },\n [onChange, hasMany, relationTo],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n let itemsToLoad: ValueWithRelation[] = []\n if (\n Array.isArray(relationTo) &&\n ((typeof value === 'object' && 'relationTo' in value) ||\n (Array.isArray(value) &&\n value.length > 0 &&\n typeof value[0] === 'object' &&\n 'relationTo' in value[0]))\n ) {\n // For poly uploads, value should already be in the format { relationTo, value }\n const values = Array.isArray(value) ? value : [value]\n itemsToLoad = values\n .filter((v): v is ValueWithRelation => typeof v === 'object' && 'relationTo' in v)\n .map((v) => {\n // Ensure the value property is a simple ID, not nested\n let idValue: any = v.value\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo: v.relationTo,\n value: idValue as number | string,\n }\n })\n } else {\n // This check is here to satisfy TypeScript that relationTo is a string\n if (!Array.isArray(relationTo)) {\n // For single collection uploads, we need to wrap the IDs\n const ids = Array.isArray(value) ? value : [value]\n itemsToLoad = ids.map((id): ValueWithRelation => {\n // Extract the actual ID, handling nested objects\n let idValue: any = id\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo,\n value: idValue as number | string,\n }\n })\n }\n }\n\n if (itemsToLoad.length > 0) {\n const loadedDocs = await populateDocs(itemsToLoad)\n\n if (loadedDocs) {\n setPopulatedDocs(loadedDocs)\n loadedValueRef.current = value\n }\n }\n } else {\n // Clear populated docs when value is cleared\n setPopulatedDocs([])\n loadedValueRef.current = null\n }\n }\n\n // Only load if value has changed from what we last loaded\n const valueChanged = loadedValueRef.current !== value\n if (valueChanged) {\n void loadInitialDocs()\n }\n }, [populateDocs, value, relationTo])\n\n useEffect(() => {\n setOnSuccess(onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n displayPreview={displayPreview}\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={typeof id === 'object' ? id.value : id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n displayPreview={displayPreview}\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"names":["useModal","formatAdminURL","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","normalizeRelationshipValue","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","AfterInput","allowCreate","api","BeforeInput","className","Description","description","displayPreview","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","setSelectableCollections","permissions","code","i18n","t","collectionSlugsWithCreatePermission","filter","relation","collections","create","isPoly","existingIdsByRelation","values","val","push","collection","id","newFilterOptions","relations","forEach","existingIds","not_in","concat","ListDrawer","closeDrawer","closeListDrawer","openDrawer","openListDrawer","collectionSlugs","CreateDocDrawer","closeCreateDocDrawer","openCreateDocDrawer","collectionSlug","loadedValueRef","useRef","canCreate","newValue","populateDocs","items","length","grouped","idValue","fetches","Object","entries","map","ids","query","depth","draft","limit","locale","where","and","in","response","fetch","apiRoute","body","stringify","credentials","headers","language","method","docs","ok","data","json","docsById","reduce","acc","doc","results","Promise","all","lookup","sortedDocs","filename","isPlaceholder","normalizeValue","onUploadSuccess","uploadedForms","newValues","form","normalizedExisting","mergedValue","currentDocs","firstDoc","onLocalFileSelection","fileList","fileListToUse","dataTransfer","DataTransfer","add","files","collectionToUse","onListBulkSelect","selectedDocIDs","isSelected","itemsToLoad","loadedDocs","onDocCreate","onListSelect","selectedDoc","valueToUse","reloadDoc","docID","updatedDocsToPropogate","existingDocIndex","findIndex","hasExisting","updatedDocs","onReorder","newValueToSave","rel","onRemove","loadInitialDocs","v","current","valueChanged","showDropzone","div","Boolean","join","replace","CustomComponent","Fallback","fileDocs","readonly","showCollectionSlug","height","fileDoc","disabled","multipleFiles","buttonStyle","onClick","size","span","onSave","enableRowSelections","onBulkSelect","onSelect","p"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.js","names":["useModal","formatAdminURL","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","normalizeRelationshipValue","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","AfterInput","allowCreate","api","BeforeInput","className","Description","description","displayPreview","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","setSelectableCollections","permissions","code","i18n","t","collectionSlugsWithCreatePermission","filter","relation","collections","create","isPoly","existingIdsByRelation","values","val","push","collection","id","newFilterOptions","relations","forEach","existingIds","not_in","concat","ListDrawer","closeDrawer","closeListDrawer","openDrawer","openListDrawer","collectionSlugs","CreateDocDrawer","closeCreateDocDrawer","openCreateDocDrawer","collectionSlug","loadedValueRef","useRef","canCreate","newValue","populateDocs","items","length","grouped","idValue","fetches","Object","entries","map","ids","query","depth","draft","limit","locale","where","and","in","response","fetch","apiRoute","body","stringify","credentials","headers","language","method","docs","ok","data","json","docsById","reduce","acc","doc","results","Promise","all","lookup","sortedDocs","filename","isPlaceholder","normalizeValue","onUploadSuccess","uploadedForms","newValues","form","normalizedExisting","mergedValue","currentDocs","firstDoc","onLocalFileSelection","fileList","fileListToUse","dataTransfer","DataTransfer","add","files","collectionToUse","onListBulkSelect","selectedDocIDs","isSelected","itemsToLoad","loadedDocs","onDocCreate","onListSelect","selectedDoc","valueToUse","reloadDoc","docID","updatedDocsToPropogate","existingDocIndex","findIndex","hasExisting","updatedDocs","onReorder","newValueToSave","rel","onRemove","loadInitialDocs","v","current","valueChanged","showDropzone","_jsxs","Boolean","join","replace","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","showCollectionSlug","height","fileDoc","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n ValueWithRelation,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReloadDoc, ValueAsDataWithRelation } from './types.js'\n\nimport { type BulkUploadContext, useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport './index.scss'\nimport { UploadComponentHasOne } from './HasOne/index.js'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly displayPreview?: boolean\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | number | string | ValueWithRelation | ValueWithRelation[]\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n displayPreview,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n setSelectableCollections,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n // This will be used by the bulk upload to allow you to select only collections you have create permissions for\n const collectionSlugsWithCreatePermission = useMemo(() => {\n if (Array.isArray(relationTo)) {\n return relationTo.filter(\n (relation) => permissions?.collections && permissions.collections?.[relation]?.create,\n )\n }\n return []\n }, [relationTo, permissions])\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n const isPoly = Array.isArray(relationTo)\n\n if (!value) {\n return filterOptionsFromProps\n }\n\n // Group existing IDs by relation\n const existingIdsByRelation: Record<string, (number | string)[]> = {}\n\n const values = Array.isArray(value) ? value : [value]\n\n for (const val of values) {\n if (isPoly && typeof val === 'object' && 'relationTo' in val) {\n // Poly upload - group by relationTo\n if (!existingIdsByRelation[val.relationTo]) {\n existingIdsByRelation[val.relationTo] = []\n }\n existingIdsByRelation[val.relationTo].push(val.value)\n } else if (!isPoly) {\n // Non-poly upload - all IDs belong to the single collection\n const collection = relationTo\n if (!existingIdsByRelation[collection]) {\n existingIdsByRelation[collection] = []\n }\n const id = typeof val === 'object' && 'value' in val ? val.value : val\n if (typeof id === 'string' || typeof id === 'number') {\n existingIdsByRelation[collection].push(id)\n }\n }\n }\n\n // Build filter options for each collection\n const newFilterOptions = { ...filterOptionsFromProps }\n const relations = isPoly ? relationTo : [relationTo]\n\n relations.forEach((relation) => {\n const existingIds = existingIdsByRelation[relation] || []\n\n newFilterOptions[relation] = {\n ...((filterOptionsFromProps?.[relation] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[relation] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[relation] as any)?.id?.not_in || []).concat(\n existingIds,\n ),\n },\n }\n })\n\n return newFilterOptions\n }, [value, filterOptionsFromProps, relationTo])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Track the last loaded value to prevent unnecessary reloads\n */\n const loadedValueRef = React.useRef<\n (number | string)[] | null | number | string | ValueWithRelation | ValueWithRelation[]\n >(null)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (items: ValueWithRelation[]): Promise<ValueAsDataWithRelation[]> => {\n if (!items?.length) {\n return []\n }\n\n // 1. Group IDs by collection\n const grouped: Record<string, (number | string)[]> = {}\n items.forEach(({ relationTo, value }) => {\n if (!grouped[relationTo]) {\n grouped[relationTo] = []\n }\n // Ensure we extract the actual ID value, not an object\n let idValue: number | string = value\n\n if (value && typeof value === 'object' && 'value' in (value as any)) {\n idValue = (value as any).value\n }\n\n grouped[relationTo].push(idValue)\n })\n\n // 2. Fetch per collection\n const fetches = Object.entries(grouped).map(async ([collection, ids]) => {\n const query = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: `/${collection}`,\n }),\n {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n },\n )\n let docs: any[] = []\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n // Map docs by ID for fast lookup\n const docsById = docs.reduce((acc, doc) => {\n acc[doc.id] = doc\n return acc\n }, {})\n return { collection, docsById }\n })\n\n const results = await Promise.all(fetches)\n\n // 3. Build lookup\n const lookup: Record<string, Record<string, any>> = {}\n results.forEach(({ collection, docsById }) => {\n lookup[collection] = docsById\n })\n\n // 4. Reconstruct in input order, add placeholders if missing\n const sortedDocs = items.map(({ relationTo, value }) => {\n const doc = lookup[relationTo]?.[value] || {\n id: value,\n filename: `${t('general:untitled')} - ID: ${value}`,\n isPlaceholder: true,\n }\n return { relationTo, value: doc }\n })\n\n return sortedDocs\n },\n [api, code, i18n.language, t],\n )\n\n const normalizeValue = useCallback(\n (value: any): any => normalizeRelationshipValue(value, relationTo),\n [relationTo],\n )\n\n const onUploadSuccess: BulkUploadContext['onSuccess'] = useCallback(\n (uploadedForms) => {\n const isPoly = Array.isArray(relationTo)\n\n if (hasMany) {\n const newValues = uploadedForms.map((form) =>\n isPoly ? { relationTo: form.collectionSlug, value: form.doc.id } : form.doc.id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const mergedValue = [...normalizedExisting, ...newValues]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...uploadedForms.map((form) => ({\n relationTo: form.collectionSlug,\n value: form.doc,\n })),\n ])\n } else {\n const firstDoc = uploadedForms[0]\n const newValue = isPoly\n ? { relationTo: firstDoc.collectionSlug, value: firstDoc.doc.id }\n : firstDoc.doc.id\n onChange(newValue)\n setPopulatedDocs([\n {\n relationTo: firstDoc.collectionSlug,\n value: firstDoc.doc,\n },\n ])\n }\n },\n [value, onChange, hasMany, relationTo, normalizeValue],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n // Use activeRelationTo for poly uploads, or relationTo as string for single collection\n const collectionToUse = Array.isArray(relationTo) ? activeRelationTo : relationTo\n\n setCollectionSlug(collectionToUse)\n if (Array.isArray(collectionSlugsWithCreatePermission)) {\n setSelectableCollections(collectionSlugsWithCreatePermission)\n }\n\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n\n openModal(drawerSlug)\n },\n [\n hasMany,\n relationTo,\n activeRelationTo,\n setCollectionSlug,\n collectionSlugsWithCreatePermission,\n maxRows,\n openModal,\n drawerSlug,\n setInitialFiles,\n setSelectableCollections,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const isPoly = Array.isArray(relationTo)\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const itemsToLoad = selectedDocIDs.map((id) => ({\n relationTo: activeRelationTo,\n value: id,\n }))\n\n const loadedDocs = await populateDocs(itemsToLoad)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [...(currentDocs || []), ...loadedDocs])\n }\n\n const newValues = selectedDocIDs.map((id) =>\n isPoly ? { relationTo: activeRelationTo, value: id } : id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n onChange([...normalizedExisting, ...newValues])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value, relationTo, normalizeValue],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n const isPoly = Array.isArray(relationTo)\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n const newValue = isPoly ? { relationTo: activeRelationTo, value: data.doc.id } : data.doc.id\n onChange(newValue)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange, relationTo],\n )\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, doc }) => {\n const isPoly = Array.isArray(relationTo)\n\n const loadedDocs = await populateDocs([{ relationTo: collectionSlug, value: doc.id }])\n const selectedDoc = loadedDocs?.[0] || null\n\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [...(currentDocs || []), selectedDoc]\n }\n return [selectedDoc]\n }\n return currentDocs\n })\n\n if (hasMany) {\n const newValue = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const valueToUse = [...normalizedExisting, newValue]\n onChange(valueToUse)\n } else {\n const valueToUse = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n onChange(valueToUse)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, relationTo, normalizeValue],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const docs = await populateDocs([{ relationTo: collectionSlug, value: docID }])\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].value.id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = docs[0]\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n return currentDocs\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const isPoly = Array.isArray(relationTo)\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n onChange(newValueToSave)\n setPopulatedDocs(newValue)\n },\n [onChange, relationTo],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const isPoly = Array.isArray(relationTo)\n\n if (!newValue || newValue.length === 0) {\n onChange(hasMany ? [] : null)\n setPopulatedDocs(hasMany ? [] : null)\n return\n }\n\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n\n onChange(hasMany ? newValueToSave : newValueToSave[0])\n setPopulatedDocs(newValue)\n },\n [onChange, hasMany, relationTo],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n let itemsToLoad: ValueWithRelation[] = []\n if (\n Array.isArray(relationTo) &&\n ((typeof value === 'object' && 'relationTo' in value) ||\n (Array.isArray(value) &&\n value.length > 0 &&\n typeof value[0] === 'object' &&\n 'relationTo' in value[0]))\n ) {\n // For poly uploads, value should already be in the format { relationTo, value }\n const values = Array.isArray(value) ? value : [value]\n itemsToLoad = values\n .filter((v): v is ValueWithRelation => typeof v === 'object' && 'relationTo' in v)\n .map((v) => {\n // Ensure the value property is a simple ID, not nested\n let idValue: any = v.value\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo: v.relationTo,\n value: idValue as number | string,\n }\n })\n } else {\n // This check is here to satisfy TypeScript that relationTo is a string\n if (!Array.isArray(relationTo)) {\n // For single collection uploads, we need to wrap the IDs\n const ids = Array.isArray(value) ? value : [value]\n itemsToLoad = ids.map((id): ValueWithRelation => {\n // Extract the actual ID, handling nested objects\n let idValue: any = id\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo,\n value: idValue as number | string,\n }\n })\n }\n }\n\n if (itemsToLoad.length > 0) {\n const loadedDocs = await populateDocs(itemsToLoad)\n\n if (loadedDocs) {\n setPopulatedDocs(loadedDocs)\n loadedValueRef.current = value\n }\n }\n } else {\n // Clear populated docs when value is cleared\n setPopulatedDocs([])\n loadedValueRef.current = null\n }\n }\n\n // Only load if value has changed from what we last loaded\n const valueChanged = loadedValueRef.current !== value\n if (valueChanged) {\n void loadInitialDocs()\n }\n }, [populateDocs, value, relationTo])\n\n useEffect(() => {\n setOnSuccess(onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n displayPreview={displayPreview}\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={typeof id === 'object' ? id.value : id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n displayPreview={displayPreview}\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
6
|
import { formatFilesize } from 'payload/shared';
|
|
5
7
|
import React from 'react';
|
|
@@ -12,144 +14,145 @@ import { useConfig } from '../../../providers/Config/index.js';
|
|
|
12
14
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
13
15
|
const baseClass = 'upload-relationship-details';
|
|
14
16
|
export function RelationshipContent(props) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
17
|
+
const $ = _c(11);
|
|
18
|
+
const {
|
|
19
|
+
id,
|
|
20
|
+
allowEdit,
|
|
21
|
+
allowRemove,
|
|
22
|
+
alt,
|
|
23
|
+
byteSize,
|
|
24
|
+
className,
|
|
25
|
+
collectionSlug,
|
|
26
|
+
displayPreview,
|
|
27
|
+
filename,
|
|
28
|
+
mimeType,
|
|
29
|
+
onRemove,
|
|
30
|
+
reloadDoc,
|
|
31
|
+
showCollectionSlug: t0,
|
|
32
|
+
src,
|
|
33
|
+
thumbnailSrc,
|
|
34
|
+
withMeta: t1,
|
|
35
|
+
x,
|
|
36
|
+
y
|
|
37
|
+
} = props;
|
|
38
|
+
const showCollectionSlug = t0 === undefined ? false : t0;
|
|
39
|
+
const withMeta = t1 === undefined ? true : t1;
|
|
40
|
+
const {
|
|
41
|
+
config
|
|
42
|
+
} = useConfig();
|
|
43
|
+
const {
|
|
44
|
+
i18n
|
|
45
|
+
} = useTranslation();
|
|
46
|
+
const collectionConfig = "collections" in config ? config.collections.find(collection => collection.slug === collectionSlug) : undefined;
|
|
47
|
+
const t2 = src ? id : undefined;
|
|
48
|
+
let t3;
|
|
49
|
+
if ($[0] !== collectionSlug || $[1] !== t2) {
|
|
50
|
+
t3 = {
|
|
51
|
+
id: t2,
|
|
52
|
+
collectionSlug
|
|
53
|
+
};
|
|
54
|
+
$[0] = collectionSlug;
|
|
55
|
+
$[1] = t2;
|
|
56
|
+
$[2] = t3;
|
|
57
|
+
} else {
|
|
58
|
+
t3 = $[2];
|
|
59
|
+
}
|
|
60
|
+
const [DocumentDrawer,, t4] = useDocumentDrawer(t3);
|
|
61
|
+
const {
|
|
62
|
+
openDrawer
|
|
63
|
+
} = t4;
|
|
64
|
+
let t5;
|
|
65
|
+
if ($[3] !== collectionSlug || $[4] !== reloadDoc) {
|
|
66
|
+
t5 = async t6 => {
|
|
67
|
+
const {
|
|
68
|
+
doc
|
|
69
|
+
} = t6;
|
|
70
|
+
return reloadDoc(doc.id, collectionSlug);
|
|
71
|
+
};
|
|
72
|
+
$[3] = collectionSlug;
|
|
73
|
+
$[4] = reloadDoc;
|
|
74
|
+
$[5] = t5;
|
|
75
|
+
} else {
|
|
76
|
+
t5 = $[5];
|
|
77
|
+
}
|
|
78
|
+
const onSave = t5;
|
|
79
|
+
let t6;
|
|
80
|
+
if ($[6] !== x || $[7] !== y) {
|
|
81
|
+
t6 = function generateMetaText(mimeType_0, size) {
|
|
82
|
+
const sections = [];
|
|
83
|
+
if (size) {
|
|
84
|
+
sections.push(formatFilesize(size));
|
|
85
|
+
}
|
|
86
|
+
if (x && y) {
|
|
87
|
+
sections.push(`${x}x${y}`);
|
|
88
|
+
}
|
|
89
|
+
if (mimeType_0) {
|
|
90
|
+
sections.push(mimeType_0);
|
|
91
|
+
}
|
|
92
|
+
return sections.join(" \u2014 ");
|
|
93
|
+
};
|
|
94
|
+
$[6] = x;
|
|
95
|
+
$[7] = y;
|
|
96
|
+
$[8] = t6;
|
|
97
|
+
} else {
|
|
98
|
+
t6 = $[8];
|
|
99
|
+
}
|
|
100
|
+
const generateMetaText = t6;
|
|
101
|
+
const metaText = withMeta ? generateMetaText(mimeType, byteSize) : "";
|
|
102
|
+
const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true;
|
|
103
|
+
let t7;
|
|
104
|
+
if ($[9] !== className) {
|
|
105
|
+
t7 = [baseClass, className].filter(Boolean);
|
|
106
|
+
$[9] = className;
|
|
107
|
+
$[10] = t7;
|
|
108
|
+
} else {
|
|
109
|
+
t7 = $[10];
|
|
110
|
+
}
|
|
111
|
+
return _jsxs("div", {
|
|
112
|
+
className: t7.join(" "),
|
|
113
|
+
children: [_jsxs("div", {
|
|
114
|
+
className: `${baseClass}__imageAndDetails`,
|
|
115
|
+
children: [previewAllowed && _jsx(ThumbnailComponent, {
|
|
116
|
+
alt,
|
|
117
|
+
className: `${baseClass}__thumbnail`,
|
|
118
|
+
filename,
|
|
119
|
+
fileSrc: thumbnailSrc,
|
|
120
|
+
size: "small"
|
|
121
|
+
}), showCollectionSlug && collectionConfig ? _jsx(Pill, {
|
|
122
|
+
size: "small",
|
|
123
|
+
children: getTranslation(collectionConfig.labels.singular, i18n)
|
|
124
|
+
}) : null, _jsxs("div", {
|
|
125
|
+
className: `${baseClass}__details`,
|
|
126
|
+
children: [_jsx("p", {
|
|
127
|
+
className: `${baseClass}__filename`,
|
|
128
|
+
children: src ? _jsx("a", {
|
|
129
|
+
href: src,
|
|
130
|
+
target: "_blank",
|
|
131
|
+
children: filename
|
|
132
|
+
}) : filename
|
|
133
|
+
}), withMeta ? _jsx("p", {
|
|
134
|
+
className: `${baseClass}__meta`,
|
|
135
|
+
children: metaText
|
|
136
|
+
}) : null]
|
|
137
|
+
})]
|
|
138
|
+
}), allowEdit !== false || allowRemove !== false ? _jsxs("div", {
|
|
139
|
+
className: `${baseClass}__actions`,
|
|
140
|
+
children: [allowEdit !== false ? _jsx(Button, {
|
|
141
|
+
buttonStyle: "icon-label",
|
|
142
|
+
className: `${baseClass}__edit`,
|
|
143
|
+
icon: "edit",
|
|
144
|
+
iconStyle: "none",
|
|
145
|
+
onClick: openDrawer
|
|
146
|
+
}) : null, allowRemove !== false ? _jsx(Button, {
|
|
147
|
+
buttonStyle: "icon-label",
|
|
148
|
+
className: `${baseClass}__remove`,
|
|
149
|
+
icon: "x",
|
|
150
|
+
iconStyle: "none",
|
|
151
|
+
onClick: () => onRemove()
|
|
152
|
+
}) : null, _jsx(DocumentDrawer, {
|
|
153
|
+
onSave
|
|
154
|
+
})]
|
|
155
|
+
}) : null]
|
|
156
|
+
});
|
|
153
157
|
}
|
|
154
|
-
|
|
155
158
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly showCollectionSlug?: boolean\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n showCollectionSlug = false,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: id
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","formatFilesize","React","Button","useDocumentDrawer","Pill","ThumbnailComponent","useConfig","useTranslation","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","showCollectionSlug","t0","src","thumbnailSrc","withMeta","t1","x","y","undefined","config","i18n","collectionConfig","collections","find","collection","slug","t2","t3","DocumentDrawer","t4","openDrawer","t5","t6","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t7","filter","Boolean","_jsxs","children","_jsx","fileSrc","labels","singular","href","target","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly showCollectionSlug?: boolean\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n showCollectionSlug = false,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n {showCollectionSlug && collectionConfig ? (\n <Pill size=\"small\">{getTranslation(collectionConfig.labels.singular, i18n)}</Pill>\n ) : null}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAIlB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAsBlB,OAAO,SAAAC,oBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EACL;IAAAc,EAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC,GAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,cAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,kBAAA,EAAAC,EAAA;IAAAC,GAAA;IAAAC,YAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,CAAA;IAAAC;EAAA,IAmBIrB,KAAA;EANF,MAAAc,kBAAA,GAAAC,EAA0B,KAAAO,SAAA,WAA1BP,EAA0B;EAG1B,MAAAG,QAAA,GAAAC,EAAe,KAAAG,SAAA,UAAfH,EAAe;EAKjB;IAAAI;EAAA,IAAmB3B,SAAA;EACnB;IAAA4B;EAAA,IAAiB3B,cAAA;EACjB,MAAA4B,gBAAA,GACE,iBAAiBF,MAAA,GACbA,MAAA,CAAAG,WAAA,CAAAC,IAAA,CAAAC,UAAA,IAAwCA,UAAA,CAAAC,IAAA,KAAoBrB,cAAA,IAAAc,SAC5D;EAGA,MAAAQ,EAAA,GAAAd,GAAA,GAAMd,EAAA,GAAAoB,SAAK;EAAA,IAAAS,EAAA;EAAA,IAAA9B,CAAA,QAAAO,cAAA,IAAAP,CAAA,QAAA6B,EAAA;IAD6CC,EAAA;MAAA7B,EAAA,EACxD4B,EAAW;MAAAtB;IAAA;IAEjBP,CAAA,MAAAO,cAAA;IAAAP,CAAA,MAAA6B,EAAA;IAAA7B,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAHA,OAAA+B,cAAA,GAAAC,EAAA,IAA4CxC,iBAAA,CAAkBsC,EAG9D;EAH0B;IAAAG;EAAA,IAAAD,EAAc;EAAA,IAAAE,EAAA;EAAA,IAAAlC,CAAA,QAAAO,cAAA,IAAAP,CAAA,QAAAY,SAAA;IAMtCsB,EAAA,SAAAC,EAAA;MAAO;QAAAC;MAAA,IAAAD,EAA4B;MAAA,OAAKvB,SAAA,CAAUwB,GAAA,CAAAnC,EAAA,EAAQM,cAAA;IAAA;IAAAP,CAAA,MAAAO,cAAA;IAAAP,CAAA,MAAAY,SAAA;IAAAZ,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAD5D,MAAAqC,MAAA,GAAeH,EAEc;EAAA,IAAAC,EAAA;EAAA,IAAAnC,CAAA,QAAAmB,CAAA,IAAAnB,CAAA,QAAAoB,CAAA;IAG7Be,EAAA,YAAAG,iBAAAC,UAAA,EAAAC,IAAA;MACE,MAAAC,QAAA;MAA6B,IACzBD,IAAA;QACFC,QAAA,CAAAC,IAAA,CAAcrD,cAAA,CAAemD,IAAA;MAAA;MAAA,IAG3BrB,CAAA,IAAKC,CAAA;QACPqB,QAAA,CAAAC,IAAA,CAAc,GAAGvB,CAAA,IAAKC,CAAA,EAAG;MAAA;MAAA,IAGvBV,UAAA;QACF+B,QAAA,CAAAC,IAAA,CAAchC,UAAA;MAAA;MAAA,OAGT+B,QAAA,CAAAE,IAAA,CAAc;IAAA;IACvB3C,CAAA,MAAAmB,CAAA;IAAAnB,CAAA,MAAAoB,CAAA;IAAApB,CAAA,MAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAfA,MAAAsC,gBAAA,GAAAH,EAeA;EAEA,MAAAS,QAAA,GAAiB3B,QAAA,GAAWqB,gBAAA,CAAiB5B,QAAA,EAAUL,QAAA,IAAY;EACnE,MAAAwC,cAAA,GAAuBrC,cAAA,IAAkBgB,gBAAA,EAAAsB,MAAA,EAAAtC,cAA0B,QAAkB;EAAA,IAAAuC,EAAA;EAAA,IAAA/C,CAAA,QAAAM,SAAA;IAGnEyC,EAAA,IAAAlD,SAAA,EAAYS,SAAA,EAAA0C,MAAA,CAAAC,OAAkB;IAAAjD,CAAA,MAAAM,SAAA;IAAAN,CAAA,OAAA+C,EAAA;EAAA;IAAAA,EAAA,GAAA/C,CAAA;EAAA;EAAA,OAA9CkD,KAAA,CAAC;IAAA5C,SAAA,EAAeyC,EAA8B,CAAAJ,IAAA,CAAc;IAAAQ,QAAA,GAC1DD,KAAA,CAAC;MAAA5C,SAAA,EAAe,GAAAT,SAAA,mBAA+B;MAAAsD,QAAA,GAC5CN,cAAA,IACCO,IAAA,CAAA1D,kBAAA;QAAAU,GAAA;QAAAE,SAAA,EAEa,GAAAT,SAAA,aAAyB;QAAAY,QAAA;QAAA4C,OAAA,EAE3BrC,YAAA;QAAAwB,IAAA,EACJ;MAAA,C,GAGR3B,kBAAA,IAAsBW,gBAAA,GACrB4B,IAAA,CAAA3D,IAAA;QAAA+C,IAAA,EAAW;QAAAW,QAAA,EAAS/D,cAAA,CAAeoC,gBAAA,CAAA8B,MAAA,CAAAC,QAAA,EAAkChC,IAAA;MAAA,C,QACnE,EACJ2B,KAAA,CAAC;QAAA5C,SAAA,EAAe,GAAAT,SAAA,WAAuB;QAAAsD,QAAA,GACrCC,IAAA,CAAC;UAAA9C,SAAA,EAAa,GAAAT,SAAA,YAAwB;UAAAsD,QAAA,EACnCpC,GAAA,GACCqC,IAAA,CAAC;YAAAI,IAAA,EAAQzC,GAAA;YAAA0C,MAAA,EAAY;YAAAN,QAAA,EAClB1C;UAAA,C,IAGHA;QAAA,C,GAGHQ,QAAA,GAAWmC,IAAA,CAAC;UAAA9C,SAAA,EAAa,GAAAT,SAAA,QAAoB;UAAAsD,QAAA,EAAGP;QAAA,C,QAAgB;MAAA,C;QAIpE1C,SAAA,UAAc,IAASC,WAAA,UAAgB,GACtC+C,KAAA,CAAC;MAAA5C,SAAA,EAAe,GAAAT,SAAA,WAAuB;MAAAsD,QAAA,GACpCjD,SAAA,UAAc,GACbkD,IAAA,CAAA7D,MAAA;QAAAmE,WAAA,EACc;QAAApD,SAAA,EACD,GAAAT,SAAA,QAAoB;QAAA8D,IAAA,EAC1B;QAAAC,SAAA,EACK;QAAAC,OAAA,EACD5B;MAAA,C,QAET,EACH9B,WAAA,UAAgB,GACfiD,IAAA,CAAA7D,MAAA;QAAAmE,WAAA,EACc;QAAApD,SAAA,EACD,GAAAT,SAAA,UAAsB;QAAA8D,IAAA,EAC5B;QAAAC,SAAA,EACK;QAAAC,OAAA,EAAAA,CAAA,KACKlD,QAAA;MAAA,C,QAEf,EACJyC,IAAA,CAACrB,cAAA;QAAAM;MAAA,C;aAED;EAAA,C","ignoreList":[]}
|