@payloadcms/ui 3.71.0-canary.2 → 3.71.0-internal-debug.dea9d74
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 +1 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +218 -273
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/types.js +2 -1
- package/dist/elements/AddNewRelation/types.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +84 -73
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +171 -101
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +186 -118
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +162 -181
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +52 -32
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +179 -169
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.js +2 -1
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +56 -57
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +27 -15
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +204 -271
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +227 -160
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +14 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +53 -33
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +43 -36
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +110 -83
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
- package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/types.js +2 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +25 -20
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +82 -97
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/constants.js +15 -14
- package/dist/elements/CodeEditor/constants.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +22 -10
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +4 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +151 -141
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +32 -30
- 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 +114 -84
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +116 -129
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +213 -272
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +47 -70
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +130 -136
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +23 -11
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js +2 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +97 -131
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +170 -141
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +371 -332
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +494 -274
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +24 -18
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +134 -210
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +12 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +106 -69
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +154 -179
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +97 -113
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +72 -124
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js +166 -192
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js +2 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +7 -19
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +59 -61
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +14 -9
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +90 -75
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +155 -145
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +398 -392
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +79 -131
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +572 -395
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +96 -77
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +38 -24
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +50 -34
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +10 -7
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +45 -75
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +72 -33
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +20 -14
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
- 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 +88 -87
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +19 -14
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +15 -10
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +105 -83
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +162 -100
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +16 -22
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +63 -83
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +142 -100
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +22 -19
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +522 -500
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +31 -26
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +51 -40
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +15 -27
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +31 -57
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +219 -168
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +73 -142
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.js +53 -56
- package/dist/elements/Link/formatUrl.js.map +1 -1
- package/dist/elements/Link/index.js +50 -54
- 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 +253 -168
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +8 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +183 -168
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +28 -19
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +149 -229
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +6 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +65 -24
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +93 -58
- 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 +29 -49
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +20 -44
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +32 -26
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
- 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 +15 -33
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +132 -166
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +112 -144
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +68 -67
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js +27 -29
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js +2 -1
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +99 -117
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +38 -59
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +30 -51
- 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 +34 -80
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +107 -103
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +98 -122
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +27 -14
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +40 -71
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +77 -107
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +19 -16
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +10 -6
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +102 -99
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +93 -80
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +103 -121
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +79 -56
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +65 -52
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +10 -5
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +50 -44
- 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 +339 -282
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +24 -31
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +206 -132
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.js +234 -195
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +137 -134
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +58 -109
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +40 -41
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +20 -13
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +211 -198
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +9 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +21 -48
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +374 -258
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +29 -20
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +3 -5
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +27 -58
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +57 -56
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +44 -59
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +187 -154
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +177 -170
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +46 -49
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +84 -88
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +37 -19
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +60 -54
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +20 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +21 -46
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +27 -25
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +27 -79
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +58 -73
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +98 -106
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +142 -163
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +54 -87
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +21 -27
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +203 -161
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +38 -76
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +10 -27
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +24 -41
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +148 -92
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js +2 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +10 -8
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
- 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 +124 -151
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +40 -32
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +224 -167
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +106 -162
- 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 +83 -45
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +53 -48
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +127 -148
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +47 -68
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +53 -44
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/TimezonePicker/types.js +2 -1
- package/dist/elements/TimezonePicker/types.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +69 -77
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +98 -65
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +48 -39
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +33 -26
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +58 -109
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +633 -481
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +15 -26
- 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 +23 -29
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +206 -143
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
- package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +192 -119
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +258 -193
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js +2 -1
- 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 +20 -19
- 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/index.js +297 -96
- package/dist/exports/client/index.js.map +1 -7
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +35 -6
- package/dist/exports/shared/index.js.map +1 -7
- package/dist/fields/Array/ArrayRow.js +111 -168
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +532 -398
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +163 -198
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +159 -103
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +50 -106
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +36 -78
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +566 -425
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +86 -99
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +107 -99
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +146 -114
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +172 -134
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +67 -83
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +217 -171
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +111 -86
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +20 -43
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +22 -58
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +43 -45
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +150 -102
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +13 -12
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +27 -67
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +185 -143
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +214 -189
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +213 -169
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +80 -101
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +108 -122
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +12 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +199 -127
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +56 -81
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +146 -114
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +811 -733
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js +31 -33
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +28 -32
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.js +152 -160
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +144 -139
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js +2 -1
- 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 +37 -35
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +13 -12
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +114 -165
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +89 -108
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +103 -134
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +54 -60
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +213 -382
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +13 -12
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +169 -191
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +107 -126
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js +2 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +104 -115
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +61 -88
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js +2 -1
- 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 +141 -186
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +59 -60
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +755 -566
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +140 -143
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +15 -10
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +79 -96
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +3 -1
- 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 +13 -12
- package/dist/fields/mergeFieldStyles.js.map +1 -1
- package/dist/fields/shared/index.js +8 -17
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/context.js +17 -24
- 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 +378 -412
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +745 -684
- 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 +93 -97
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +20 -17
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/rowHelpers.js +27 -34
- 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 +53 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +61 -96
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +237 -259
- 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 +76 -115
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js +2 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +30 -29
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +33 -24
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js +2 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +32 -35
- 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 +41 -66
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +90 -79
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +6 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +180 -292
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +20 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +9 -27
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +21 -15
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +46 -22
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +25 -34
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +24 -51
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +117 -62
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +33 -17
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +33 -19
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +112 -39
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useClickOutside.js +19 -15
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useControllableState.js +25 -35
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js +15 -26
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +15 -23
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +18 -53
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +27 -52
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +42 -76
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useEffectEvent.js +12 -33
- package/dist/hooks/useEffectEvent.js.map +1 -1
- package/dist/hooks/useHotkey.js +96 -110
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +28 -59
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +78 -172
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +91 -133
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +48 -38
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js +15 -27
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js +42 -70
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +17 -51
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useThrottledValue.js +16 -13
- package/dist/hooks/useThrottledValue.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js +7 -27
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js +20 -11
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +20 -11
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +30 -22
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +20 -11
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +22 -13
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +24 -17
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +25 -16
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +32 -11
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +70 -33
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +23 -13
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +25 -15
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +53 -25
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +26 -16
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +34 -21
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +57 -31
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +23 -14
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +25 -16
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +25 -16
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +41 -24
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +23 -14
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +23 -14
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +33 -19
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +43 -21
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +62 -34
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +28 -17
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +22 -13
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +21 -12
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +48 -35
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +20 -11
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +27 -8
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +28 -18
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +25 -15
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +21 -33
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +293 -243
- 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 +63 -104
- 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 +19 -30
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +331 -325
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +26 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/DocumentTitle/context.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +51 -55
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +15 -25
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +26 -48
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
- package/dist/providers/Folders/index.js +698 -600
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/context.js +3 -2
- package/dist/providers/ListQuery/context.js.map +1 -1
- package/dist/providers/ListQuery/index.js +156 -140
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js +49 -31
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.js +6 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/collisionDetection.js +21 -24
- package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
- package/dist/providers/LivePreview/context.js +60 -55
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +225 -205
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.js +19 -18
- package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
- package/dist/providers/Locale/index.js +87 -154
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +12 -11
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +14 -26
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +130 -122
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +190 -116
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +53 -103
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +69 -94
- 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 +36 -35
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +203 -183
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +199 -189
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
- 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 +50 -52
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
- package/dist/providers/TableColumns/context.js +2 -1
- package/dist/providers/TableColumns/context.js.map +1 -1
- package/dist/providers/TableColumns/getInitialColumns.js +42 -28
- package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/providers/TableColumns/index.js +88 -85
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +18 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +69 -104
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +34 -19
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +34 -19
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +34 -19
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +34 -19
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +56 -47
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +66 -112
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +28 -40
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +31 -73
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +30 -65
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.js +5 -9
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/styles.css +0 -1
- package/dist/utilities/abortAndIgnore.js +15 -17
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/api.js +78 -77
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +150 -159
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.js +151 -186
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +145 -168
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/canUseDOM.js +1 -0
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +53 -26
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +202 -210
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/dateLocales.js +28 -27
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/deepMerge.js +14 -13
- package/dist/utilities/deepMerge.js.map +1 -1
- package/dist/utilities/fetchPreferences.js.map +1 -1
- package/dist/utilities/filterOutUploadFields.js +17 -4
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js +6 -5
- 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 +2 -1
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +38 -44
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.js +2 -1
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js +6 -5
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getClientConfig.js +25 -29
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +24 -32
- package/dist/utilities/getClientSchemaMap.js.map +1 -1
- package/dist/utilities/getColumns.js +29 -35
- 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 +134 -121
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/getGlobalData.js +41 -45
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getNavGroups.js +21 -18
- package/dist/utilities/getNavGroups.js.map +1 -1
- package/dist/utilities/getOffsetTop.js +14 -13
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +5 -8
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSchemaMap.js +22 -28
- package/dist/utilities/getSchemaMap.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js +14 -13
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/getVisibleEntities.js +15 -26
- package/dist/utilities/getVisibleEntities.js.map +1 -1
- package/dist/utilities/groupNavItems.js +53 -50
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.js +8 -11
- package/dist/utilities/handleBackToDashboard.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +127 -121
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.js +7 -11
- package/dist/utilities/handleGoBack.js.map +1 -1
- package/dist/utilities/handleLivePreview.js +59 -76
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handlePreview.js +41 -52
- package/dist/utilities/handlePreview.js.map +1 -1
- package/dist/utilities/handleTakeOver.js +28 -39
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
- 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 +3 -2
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isEditing.js +2 -5
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +31 -30
- 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 +29 -28
- package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
- 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 +145 -154
- 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 +2 -1
- package/dist/utilities/removeUndefined.js.map +1 -1
- package/dist/utilities/renderTable.js +239 -195
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.js +27 -26
- package/dist/utilities/resolveFilterOptions.js.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
- package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
- package/dist/utilities/sanitizeID.js +8 -7
- package/dist/utilities/sanitizeID.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +47 -57
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/scrollToID.js +10 -9
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.js +3 -2
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +36 -35
- 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 +365 -324
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +360 -282
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +185 -124
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +309 -321
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.js +2 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.js +579 -501
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/types.js +2 -1
- package/dist/views/Edit/types.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +35 -24
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +115 -80
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +103 -111
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +321 -213
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.js +2 -1
- package/dist/views/List/types.js.map +1 -1
- package/dist/widgets/CollectionCards/index.js +149 -119
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
- package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
- package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
- package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
- package/dist/exports/client/chunk-53XJ3K67.js +0 -27
- package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
- package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
- package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
- package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","baseClass","Form","props","id","collectionSlug","docConfig","docPermissions","getDocPreferences","globalSlug","validateDrafts","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","el","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","code","locale","i18n","t","refreshCookie","user","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","isValid","setIsValid","initializing","setInitializing","processing","setProcessing","backgroundProcessing","_setBackgroundProcessing","backgroundProcessingRef","modifiedWhileProcessingRef","setBackgroundProcessing","current","modified","_setModified","setModified","formRef","contextRef","abortResetFormRef","isFirstRenderRef","fieldsReducer","formState","dispatchFields","fields","prevFormState","validateForm","validatedFieldState","data","getData","validationPromises","Object","entries","map","path","field","validatedField","pathSegments","split","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","acceptValues","actionArg","context","disableFormWhileProcessing","disableSuccessStatusFromArgs","methodToUse","overrides","overridesFromArgs","skipValidation","disableToast","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","serializableFormState","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","_jsx","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","filename","name","clientUploadContext","updateFilename","JSON","stringify","mimeType","size","dataToSerialize","_payload","indices","nullsAsUndefineds","reset","controller","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","moveFieldRow","moveFromIndex","moveToIndex","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","optimize","sanitize","handleLocaleChange","classes","filter","join","executeOnChange","onChangeFn","DocumentFormContextComponent","Fragment","documentFormContextProps","El","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n CreateFormData,\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n Submit,\n SubmitOptions,\n} from './types.js'\n\nimport { FieldErrorsToast } from '../../elements/Toasts/fieldErrors.js'\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../providers/UploadHandlers/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n BackgroundProcessingContext,\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useDocumentForm,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docConfig, docPermissions, getDocPreferences, globalSlug } =\n useDocumentInfo()\n\n const validateDrafts = hasDraftValidationEnabled(docConfig)\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n el,\n handleResponse,\n initialState, // fully formed initial field state\n isDocumentForm,\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const documentForm = useDocumentForm()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n const { queueTask } = useQueue()\n\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { getUploadHandler } = useUploadHandlers()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n\n const [submitted, setSubmitted] = useState(false)\n\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n const [isValid, setIsValid] = useState(true)\n const [initializing, setInitializing] = useState(initializingFromProps)\n\n const [processing, setProcessing] = useState(false)\n\n /**\n * Determines whether the form is processing asynchronously in the background, e.g. autosave is running.\n * Useful to determine whether to disable the form or queue other processes while in flight, e.g. disable manual submits while an autosave is running.\n */\n const [backgroundProcessing, _setBackgroundProcessing] = useState(false)\n\n /**\n * A ref that can be read within the `setModified` interceptor.\n * Dependents of this state can read it immediately without needing to wait for a render cycle.\n */\n const backgroundProcessingRef = useRef(backgroundProcessing)\n\n /**\n * Flag to track if the form was modified _during a submission_, e.g. while autosave is running.\n * Useful in order to avoid resetting `modified` to false wrongfully after a submit.\n * For example, if the user modifies a field while the a background process (autosave) is running,\n * we need to ensure that after the submit completes, the `modified` state remains true.\n */\n const modifiedWhileProcessingRef = useRef(false)\n\n /**\n * Intercept the `setBackgroundProcessing` method to keep the ref in sync.\n * See the `backgroundProcessingRef` for more details.\n */\n const setBackgroundProcessing = useCallback((backgroundProcessing: boolean) => {\n backgroundProcessingRef.current = backgroundProcessing\n _setBackgroundProcessing(backgroundProcessing)\n }, [])\n\n const [modified, _setModified] = useState(false)\n\n /**\n * Intercept the `setModified` method to track whether the event happened during background processing.\n * See the `modifiedWhileProcessingRef` ref for more details.\n */\n const setModified = useCallback((modified: boolean) => {\n if (backgroundProcessingRef.current) {\n modifiedWhileProcessingRef.current = true\n }\n\n _setModified(modified)\n }, [])\n\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n const isFirstRenderRef = useRef(true)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n const [formState, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = formState\n\n const prevFormState = useRef(formState)\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const data = contextRef.current.getData()\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n const pathSegments = path ? path.split('.') : []\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n // If there is a parent document form, we can get the data from that form\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'submit',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n setIsValid(isValid)\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback<Submit>(\n async (options, e) => {\n const {\n acceptValues = true,\n action: actionArg = action,\n context,\n disableFormWhileProcessing = true,\n disableSuccessStatus: disableSuccessStatusFromArgs,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options || ({} as SubmitOptions)\n\n const disableToast = disableSuccessStatusFromArgs ?? disableSuccessStatus\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableToast || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n if (disableFormWhileProcessing) {\n setProcessing(true)\n setDisabled(true)\n }\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const serializableFormState = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFormState,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n setIsValid(isValid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n setIsValid(isValid)\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n let overrides = {}\n\n if (typeof overridesFromArgs === 'function') {\n overrides = overridesFromArgs(contextRef.current.fields)\n } else if (typeof overridesFromArgs === 'object') {\n overrides = overridesFromArgs\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(contextRef.current.fields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n if (!modifiedWhileProcessingRef.current) {\n setModified(false)\n } else {\n modifiedWhileProcessingRef.current = false\n }\n\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json, {\n context,\n formState: serializableFormState,\n })\n\n if (newFormState) {\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n acceptValues,\n prevStateRef: prevFormState,\n serverState: newFormState,\n })\n }\n }\n\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n startRouteTransition(() => router.push(redirect))\n } else if (!disableToast) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n // When there was an error submitting a draft,\n // set the form state to unsubmitted, to not trigger visible form validation on changes after the failed submit.\n // Also keep the form as modified so the save button remains enabled for retry.\n if (overridesFromArgs['_status'] === 'draft') {\n setModified(true)\n\n if (!validateDrafts) {\n setSubmitted(false)\n }\n }\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n\n if (json.message) {\n errorToast(json.message)\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n setIsValid(false)\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(<FieldErrorsToast errorMessage={err.message || t('error:unknown')} />)\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n\n return { formState: contextRef.current.fields, res }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n startRouteTransition,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n validateDrafts,\n waitForAutocomplete,\n setModified,\n setSubmitted,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n const createFormData = useCallback<CreateFormData>(\n async (overrides, { data: dataFromArgs, mergeOverrideData = true }) => {\n let data = dataFromArgs || reduceFieldsToValues(contextRef.current.fields, true)\n\n let file = data?.file\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n delete data.file\n\n const handler = getUploadHandler({ collectionSlug })\n\n if (typeof handler === 'function') {\n let filename = file.name\n const clientUploadContext = await handler({\n file,\n updateFilename: (value) => {\n filename = value\n },\n })\n\n file = JSON.stringify({\n clientUploadContext,\n collectionSlug,\n filename,\n mimeType: file.type,\n size: file.size,\n })\n }\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize: Record<string, unknown> = {\n _payload: JSON.stringify(data),\n }\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n dataToSerialize.file = file\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, {\n indices: true,\n nullsAsUndefineds: false,\n })\n\n return formData\n },\n [collectionSlug, docConfig, getUploadHandler],\n )\n\n const reset = useCallback(\n async (data: unknown) => {\n const controller = handleAbortRef(abortResetFormRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n locale,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: controller.signal,\n skipValidation: true,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n\n abortResetFormRef.current = null\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n locale,\n setModified,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields, setModified],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath, setModified],\n )\n\n const moveFieldRow: FormContextType['moveFieldRow'] = useCallback(\n ({ moveFromIndex, moveToIndex, path }) => {\n dispatchFields({\n type: 'MOVE_ROW',\n moveFromIndex,\n moveToIndex,\n path,\n })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath, setModified],\n )\n\n useEffect(() => {\n const abortOnChange = abortResetFormRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setBackgroundProcessing = setBackgroundProcessing\n\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.setIsValid = setIsValid\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.moveFieldRow = moveFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n contextRef.current.isValid = isValid\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n sanitize: true,\n state: initialState,\n })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [formState],\n )\n\n const handleLocaleChange = useEffectEvent(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n })\n\n useEffect(() => {\n handleLocaleChange()\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent((submitted: boolean) => {\n queueTask(async () => {\n if (Array.isArray(onChange)) {\n let serverState: FormState\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n serverState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(formState),\n submitted,\n })\n }\n\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n prevStateRef: prevFormState,\n serverState,\n })\n }\n })\n })\n\n useDebouncedEffect(\n () => {\n if ((isFirstRenderRef.current || !dequal(formState, prevFormState.current)) && modified) {\n executeOnChange(submitted)\n }\n\n prevFormState.current = formState\n isFirstRenderRef.current = false\n },\n [modified, submitted, formState],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n const El: 'form' = (el as unknown as 'form') || 'form'\n\n return (\n <El\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext value={contextRef.current}>\n <FormWatchContext\n value={{\n fields: formState,\n ...contextRef.current,\n }}\n >\n <SubmittedContext value={submitted}>\n <InitializingContext value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext value={processing}>\n <BackgroundProcessingContext value={backgroundProcessing}>\n <ModifiedContext value={modified}>\n {/* eslint-disable-next-line @eslint-react/no-context-provider */}\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext>\n </BackgroundProcessingContext>\n </ProcessingContext>\n </InitializingContext>\n </SubmittedContext>\n </FormWatchContext>\n </FormContext>\n </DocumentFormContextComponent>\n </El>\n )\n}\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n CreateFormData,\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n Submit,\n SubmitOptions,\n} from './types.js'\n\nimport { FieldErrorsToast } from '../../elements/Toasts/fieldErrors.js'\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../providers/UploadHandlers/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n BackgroundProcessingContext,\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useDocumentForm,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docConfig, docPermissions, getDocPreferences, globalSlug } =\n useDocumentInfo()\n\n const validateDrafts = hasDraftValidationEnabled(docConfig)\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n el,\n handleResponse,\n initialState, // fully formed initial field state\n isDocumentForm,\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const documentForm = useDocumentForm()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n const { queueTask } = useQueue()\n\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { getUploadHandler } = useUploadHandlers()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n\n const [submitted, setSubmitted] = useState(false)\n\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n const [isValid, setIsValid] = useState(true)\n const [initializing, setInitializing] = useState(initializingFromProps)\n\n const [processing, setProcessing] = useState(false)\n\n /**\n * Determines whether the form is processing asynchronously in the background, e.g. autosave is running.\n * Useful to determine whether to disable the form or queue other processes while in flight, e.g. disable manual submits while an autosave is running.\n */\n const [backgroundProcessing, _setBackgroundProcessing] = useState(false)\n\n /**\n * A ref that can be read within the `setModified` interceptor.\n * Dependents of this state can read it immediately without needing to wait for a render cycle.\n */\n const backgroundProcessingRef = useRef(backgroundProcessing)\n\n /**\n * Flag to track if the form was modified _during a submission_, e.g. while autosave is running.\n * Useful in order to avoid resetting `modified` to false wrongfully after a submit.\n * For example, if the user modifies a field while the a background process (autosave) is running,\n * we need to ensure that after the submit completes, the `modified` state remains true.\n */\n const modifiedWhileProcessingRef = useRef(false)\n\n /**\n * Intercept the `setBackgroundProcessing` method to keep the ref in sync.\n * See the `backgroundProcessingRef` for more details.\n */\n const setBackgroundProcessing = useCallback((backgroundProcessing: boolean) => {\n backgroundProcessingRef.current = backgroundProcessing\n _setBackgroundProcessing(backgroundProcessing)\n }, [])\n\n const [modified, _setModified] = useState(false)\n\n /**\n * Intercept the `setModified` method to track whether the event happened during background processing.\n * See the `modifiedWhileProcessingRef` ref for more details.\n */\n const setModified = useCallback((modified: boolean) => {\n if (backgroundProcessingRef.current) {\n modifiedWhileProcessingRef.current = true\n }\n\n _setModified(modified)\n }, [])\n\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n const isFirstRenderRef = useRef(true)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n const [formState, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = formState\n\n const prevFormState = useRef(formState)\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const data = contextRef.current.getData()\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n const pathSegments = path ? path.split('.') : []\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n // If there is a parent document form, we can get the data from that form\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'submit',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n setIsValid(isValid)\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback<Submit>(\n async (options, e) => {\n const {\n acceptValues = true,\n action: actionArg = action,\n context,\n disableFormWhileProcessing = true,\n disableSuccessStatus: disableSuccessStatusFromArgs,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options || ({} as SubmitOptions)\n\n const disableToast = disableSuccessStatusFromArgs ?? disableSuccessStatus\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableToast || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n if (disableFormWhileProcessing) {\n setProcessing(true)\n setDisabled(true)\n }\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const serializableFormState = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFormState,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n setIsValid(isValid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n setIsValid(isValid)\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n let overrides = {}\n\n if (typeof overridesFromArgs === 'function') {\n overrides = overridesFromArgs(contextRef.current.fields)\n } else if (typeof overridesFromArgs === 'object') {\n overrides = overridesFromArgs\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(contextRef.current.fields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n if (!modifiedWhileProcessingRef.current) {\n setModified(false)\n } else {\n modifiedWhileProcessingRef.current = false\n }\n\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json, {\n context,\n formState: serializableFormState,\n })\n\n if (newFormState) {\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n acceptValues,\n prevStateRef: prevFormState,\n serverState: newFormState,\n })\n }\n }\n\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n startRouteTransition(() => router.push(redirect))\n } else if (!disableToast) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n // When there was an error submitting a draft,\n // set the form state to unsubmitted, to not trigger visible form validation on changes after the failed submit.\n // Also keep the form as modified so the save button remains enabled for retry.\n if (overridesFromArgs['_status'] === 'draft') {\n setModified(true)\n\n if (!validateDrafts) {\n setSubmitted(false)\n }\n }\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n\n if (json.message) {\n errorToast(json.message)\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n setIsValid(false)\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(<FieldErrorsToast errorMessage={err.message || t('error:unknown')} />)\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n\n return { formState: contextRef.current.fields, res }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n startRouteTransition,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n validateDrafts,\n waitForAutocomplete,\n setModified,\n setSubmitted,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n const createFormData = useCallback<CreateFormData>(\n async (overrides, { data: dataFromArgs, mergeOverrideData = true }) => {\n let data = dataFromArgs || reduceFieldsToValues(contextRef.current.fields, true)\n\n let file = data?.file\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n delete data.file\n\n const handler = getUploadHandler({ collectionSlug })\n\n if (typeof handler === 'function') {\n let filename = file.name\n const clientUploadContext = await handler({\n file,\n updateFilename: (value) => {\n filename = value\n },\n })\n\n file = JSON.stringify({\n clientUploadContext,\n collectionSlug,\n filename,\n mimeType: file.type,\n size: file.size,\n })\n }\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize: Record<string, unknown> = {\n _payload: JSON.stringify(data),\n }\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n dataToSerialize.file = file\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, {\n indices: true,\n nullsAsUndefineds: false,\n })\n\n return formData\n },\n [collectionSlug, docConfig, getUploadHandler],\n )\n\n const reset = useCallback(\n async (data: unknown) => {\n const controller = handleAbortRef(abortResetFormRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n locale,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: controller.signal,\n skipValidation: true,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n\n abortResetFormRef.current = null\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n locale,\n setModified,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields, setModified],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath, setModified],\n )\n\n const moveFieldRow: FormContextType['moveFieldRow'] = useCallback(\n ({ moveFromIndex, moveToIndex, path }) => {\n dispatchFields({\n type: 'MOVE_ROW',\n moveFromIndex,\n moveToIndex,\n path,\n })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath, setModified],\n )\n\n useEffect(() => {\n const abortOnChange = abortResetFormRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setBackgroundProcessing = setBackgroundProcessing\n\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.setIsValid = setIsValid\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.moveFieldRow = moveFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n contextRef.current.isValid = isValid\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n sanitize: true,\n state: initialState,\n })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [formState],\n )\n\n const handleLocaleChange = useEffectEvent(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n })\n\n useEffect(() => {\n handleLocaleChange()\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent((submitted: boolean) => {\n queueTask(async () => {\n if (Array.isArray(onChange)) {\n let serverState: FormState\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n serverState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(formState),\n submitted,\n })\n }\n\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n prevStateRef: prevFormState,\n serverState,\n })\n }\n })\n })\n\n useDebouncedEffect(\n () => {\n if ((isFirstRenderRef.current || !dequal(formState, prevFormState.current)) && modified) {\n executeOnChange(submitted)\n }\n\n prevFormState.current = formState\n isFirstRenderRef.current = false\n },\n [modified, submitted, formState],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n const El: 'form' = (el as unknown as 'form') || 'form'\n\n return (\n <El\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext value={contextRef.current}>\n <FormWatchContext\n value={{\n fields: formState,\n ...contextRef.current,\n }}\n >\n <SubmittedContext value={submitted}>\n <InitializingContext value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext value={processing}>\n <BackgroundProcessingContext value={backgroundProcessing}>\n <ModifiedContext value={modified}>\n {/* eslint-disable-next-line @eslint-react/no-context-provider */}\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext>\n </BackgroundProcessingContext>\n </ProcessingContext>\n </InitializingContext>\n </SubmittedContext>\n </FormWatchContext>\n </FormContext>\n </DocumentFormContextComponent>\n </El>\n )\n}\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","baseClass","Form","props","id","collectionSlug","docConfig","docPermissions","getDocPreferences","globalSlug","validateDrafts","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","el","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","code","locale","i18n","t","refreshCookie","user","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","isValid","setIsValid","initializing","setInitializing","processing","setProcessing","backgroundProcessing","_setBackgroundProcessing","backgroundProcessingRef","modifiedWhileProcessingRef","setBackgroundProcessing","current","modified","_setModified","setModified","formRef","contextRef","abortResetFormRef","isFirstRenderRef","fieldsReducer","formState","dispatchFields","fields","prevFormState","validateForm","validatedFieldState","data","getData","validationPromises","Object","entries","map","path","field","validatedField","pathSegments","split","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","acceptValues","actionArg","context","disableFormWhileProcessing","disableSuccessStatusFromArgs","methodToUse","overrides","overridesFromArgs","skipValidation","disableToast","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","serializableFormState","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","filename","name","clientUploadContext","updateFilename","JSON","stringify","mimeType","size","dataToSerialize","_payload","indices","nullsAsUndefineds","reset","controller","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","moveFieldRow","moveFromIndex","moveToIndex","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","optimize","sanitize","handleLocaleChange","classes","filter","join","executeOnChange","onChangeFn","DocumentFormContextComponent","Fragment","documentFormContextProps","El","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"mappings":"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"}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const reset = () => undefined;
|
|
2
|
+
const submit = ()=>undefined;
|
|
3
|
+
const getSiblingData = ()=>undefined;
|
|
4
|
+
const dispatchFields = ()=>undefined;
|
|
5
|
+
const validateForm = ()=>undefined;
|
|
6
|
+
const createFormData = ()=>undefined;
|
|
7
|
+
const setModified = ()=>undefined;
|
|
8
|
+
const setProcessing = ()=>undefined;
|
|
9
|
+
const setBackgroundProcessing = ()=>undefined;
|
|
10
|
+
const setSubmitted = ()=>undefined;
|
|
11
|
+
const reset = ()=>undefined;
|
|
13
12
|
export const initContextState = {
|
|
14
|
-
|
|
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
|
-
|
|
13
|
+
addFieldRow: ()=>undefined,
|
|
14
|
+
buildRowErrors: ()=>undefined,
|
|
15
|
+
createFormData,
|
|
16
|
+
disabled: false,
|
|
17
|
+
dispatchFields,
|
|
18
|
+
fields: {},
|
|
19
|
+
formRef: null,
|
|
20
|
+
getData: ()=>undefined,
|
|
21
|
+
getDataByPath: ()=>undefined,
|
|
22
|
+
getField: ()=>undefined,
|
|
23
|
+
getFields: ()=>({}),
|
|
24
|
+
getSiblingData,
|
|
25
|
+
initializing: undefined,
|
|
26
|
+
isValid: true,
|
|
27
|
+
moveFieldRow: ()=>undefined,
|
|
28
|
+
removeFieldRow: ()=>undefined,
|
|
29
|
+
replaceFieldRow: ()=>undefined,
|
|
30
|
+
replaceState: ()=>undefined,
|
|
31
|
+
reset,
|
|
32
|
+
setBackgroundProcessing,
|
|
33
|
+
setDisabled: ()=>undefined,
|
|
34
|
+
setIsValid: ()=>undefined,
|
|
35
|
+
setModified,
|
|
36
|
+
setProcessing,
|
|
37
|
+
setSubmitted,
|
|
38
|
+
submit,
|
|
39
|
+
validateForm
|
|
41
40
|
};
|
|
41
|
+
|
|
42
42
|
//# sourceMappingURL=initContextState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/Form/initContextState.ts"],"sourcesContent":["'use client'\nimport type { Data, FormField, FormState } from 'payload'\n\nimport type {\n Context,\n CreateFormData,\n DispatchFields,\n GetSiblingData,\n Reset,\n SetModified,\n SetProcessing,\n SetSubmitted,\n Submit,\n ValidateForm,\n} from './types.js'\n\nconst submit: Submit = () => undefined\nconst getSiblingData: GetSiblingData = () => undefined\nconst dispatchFields: DispatchFields = () => undefined\nconst validateForm: ValidateForm = () => undefined\nconst createFormData: CreateFormData = () => undefined\n\nconst setModified: SetModified = () => undefined\nconst setProcessing: SetProcessing = () => undefined\nconst setBackgroundProcessing: SetProcessing = () => undefined\nconst setSubmitted: SetSubmitted = () => undefined\nconst reset: Reset = () => undefined\n\nexport const initContextState: Context = {\n addFieldRow: () => undefined,\n buildRowErrors: () => undefined,\n createFormData,\n disabled: false,\n dispatchFields,\n fields: {},\n formRef: null,\n getData: (): Data => undefined,\n getDataByPath: () => undefined,\n getField: (): FormField => undefined,\n getFields: (): FormState => ({}),\n getSiblingData,\n initializing: undefined,\n isValid: true,\n moveFieldRow: () => undefined,\n removeFieldRow: () => undefined,\n replaceFieldRow: () => undefined,\n replaceState: () => undefined,\n reset,\n setBackgroundProcessing,\n setDisabled: () => undefined,\n setIsValid: () => undefined,\n setModified,\n setProcessing,\n setSubmitted,\n submit,\n\n validateForm,\n}\n"],"names":["submit","undefined","getSiblingData","dispatchFields","validateForm","createFormData","setModified","setProcessing","setBackgroundProcessing","setSubmitted","reset","initContextState","addFieldRow","buildRowErrors","disabled","fields","formRef","getData","getDataByPath","getField","getFields","initializing","isValid","moveFieldRow","removeFieldRow","replaceFieldRow","replaceState","setDisabled","setIsValid"],"mappings":"AAAA;AAgBA,MAAMA,SAAiB,IAAMC;AAC7B,MAAMC,iBAAiC,IAAMD;AAC7C,MAAME,iBAAiC,IAAMF;AAC7C,MAAMG,eAA6B,IAAMH;AACzC,MAAMI,iBAAiC,IAAMJ;AAE7C,MAAMK,cAA2B,IAAML;AACvC,MAAMM,gBAA+B,IAAMN;AAC3C,MAAMO,0BAAyC,IAAMP;AACrD,MAAMQ,eAA6B,IAAMR;AACzC,MAAMS,QAAe,IAAMT;AAE3B,OAAO,MAAMU,mBAA4B;IACvCC,aAAa,IAAMX;IACnBY,gBAAgB,IAAMZ;IACtBI;IACAS,UAAU;IACVX;IACAY,QAAQ,CAAC;IACTC,SAAS;IACTC,SAAS,IAAYhB;IACrBiB,eAAe,IAAMjB;IACrBkB,UAAU,IAAiBlB;IAC3BmB,WAAW,IAAkB,CAAA,CAAC,CAAA;IAC9BlB;IACAmB,cAAcpB;IACdqB,SAAS;IACTC,cAAc,IAAMtB;IACpBuB,gBAAgB,IAAMvB;IACtBwB,iBAAiB,IAAMxB;IACvByB,cAAc,IAAMzB;IACpBS;IACAF;IACAmB,aAAa,IAAM1B;IACnB2B,YAAY,IAAM3B;IAClBK;IACAC;IACAE;IACAT;IAEAI;AACF,EAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { dequal } from 'dequal/lite';
|
|
3
|
+
// lite: no need for Map and Set support
|
|
4
4
|
/**
|
|
5
|
+
* If true, will accept all values from the server, overriding any current values in local state.
|
|
6
|
+
* Can also provide an options object for more granular control.
|
|
7
|
+
*/ /**
|
|
8
|
+
* When `false`, will accept the values from the server _UNLESS_ the value has been modified locally since the request was made.
|
|
9
|
+
* This is useful for autosave, for example, where hooks may have modified the field's value on the server while you were still making changes.
|
|
10
|
+
* @default undefined
|
|
11
|
+
*/ /**
|
|
5
12
|
* This function receives form state from the server and intelligently merges it into the client state.
|
|
6
13
|
* The server contains extra properties that the client may not have, e.g. custom components and error states.
|
|
7
14
|
* We typically do not want to merge properties that rely on user input, however, such as values, unless explicitly requested.
|
|
@@ -12,103 +19,92 @@ import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
|
|
|
12
19
|
*
|
|
13
20
|
* This function applies some defaults, as well as cleans up the server response in preparation for the client.
|
|
14
21
|
* e.g. it will set `valid` and `passesCondition` to true if undefined, and remove `addedByServer` from the response.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
currentState = {},
|
|
19
|
-
incomingState
|
|
20
|
-
}) => {
|
|
21
|
-
const newState = {
|
|
22
|
-
...currentState
|
|
23
|
-
};
|
|
24
|
-
for (const [path, incomingField] of Object.entries(incomingState || {})) {
|
|
25
|
-
if (!(path in currentState) && !incomingField.addedByServer) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* If it's a new field added by the server, always accept the value.
|
|
30
|
-
* Otherwise:
|
|
31
|
-
* a. accept all values when explicitly requested, e.g. on submit
|
|
32
|
-
* b. only accept values for unmodified fields, e.g. on autosave
|
|
33
|
-
*/
|
|
34
|
-
const shouldAcceptValue = incomingField.addedByServer || acceptValues === true || typeof acceptValues === 'object' && acceptValues !== null &&
|
|
35
|
-
// Note: Must be explicitly `false`, allow `null` or `undefined` to mean true
|
|
36
|
-
acceptValues.overrideLocalChanges === false && !currentState[path]?.isModified;
|
|
37
|
-
let sanitizedIncomingField = incomingField;
|
|
38
|
-
if (!shouldAcceptValue) {
|
|
39
|
-
/**
|
|
40
|
-
* Note: do not delete properties off `incomingField` as this will mutate the original object
|
|
41
|
-
* Instead, omit them from the destructured object by excluding specific keys
|
|
42
|
-
* This will also ensure we don't set `undefined` into the result unnecessarily
|
|
43
|
-
*/
|
|
44
|
-
const {
|
|
45
|
-
initialValue,
|
|
46
|
-
value,
|
|
47
|
-
...rest
|
|
48
|
-
} = incomingField;
|
|
49
|
-
sanitizedIncomingField = rest;
|
|
50
|
-
}
|
|
51
|
-
newState[path] = {
|
|
52
|
-
...currentState[path],
|
|
53
|
-
...sanitizedIncomingField
|
|
22
|
+
*/ export const mergeServerFormState = ({ acceptValues, currentState = {}, incomingState })=>{
|
|
23
|
+
const newState = {
|
|
24
|
+
...currentState
|
|
54
25
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Deeply merge the rows array to ensure changes to local state are not lost while the request was pending
|
|
60
|
-
* For example, the server response could come back with a row which has been deleted on the client
|
|
61
|
-
* Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server
|
|
62
|
-
* Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above
|
|
63
|
-
*/
|
|
64
|
-
if (Array.isArray(incomingField.rows) && path in currentState) {
|
|
65
|
-
newState[path].rows = [...(currentState[path]?.rows || [])]; // shallow copy to avoid mutating the original array
|
|
66
|
-
incomingField.rows.forEach(row => {
|
|
67
|
-
const indexInCurrentState = currentState[path].rows?.findIndex(existingRow => existingRow.id === row.id);
|
|
68
|
-
if (indexInCurrentState > -1) {
|
|
69
|
-
newState[path].rows[indexInCurrentState] = {
|
|
70
|
-
...currentState[path].rows[indexInCurrentState],
|
|
71
|
-
...row
|
|
72
|
-
};
|
|
73
|
-
} else if (row.addedByServer) {
|
|
74
|
-
/**
|
|
75
|
-
* Note: This is a known limitation of computed array and block rows
|
|
76
|
-
* If a new row was added by the server, we append it to the _end_ of this array
|
|
77
|
-
* This is because the client is the source of truth, and it has arrays ordered in a certain position
|
|
78
|
-
* For example, the user may have re-ordered rows client-side while a long running request is processing
|
|
79
|
-
* This means that we _cannot_ slice a new row into the second position on the server, for example
|
|
80
|
-
* By the time it gets back to the client, its index is stale
|
|
81
|
-
*/
|
|
82
|
-
const newRow = {
|
|
83
|
-
...row
|
|
84
|
-
};
|
|
85
|
-
delete newRow.addedByServer;
|
|
86
|
-
newState[path].rows.push(newRow);
|
|
26
|
+
for (const [path, incomingField] of Object.entries(incomingState || {})){
|
|
27
|
+
if (!(path in currentState) && !incomingField.addedByServer) {
|
|
28
|
+
continue;
|
|
87
29
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
30
|
+
/**
|
|
31
|
+
* If it's a new field added by the server, always accept the value.
|
|
32
|
+
* Otherwise:
|
|
33
|
+
* a. accept all values when explicitly requested, e.g. on submit
|
|
34
|
+
* b. only accept values for unmodified fields, e.g. on autosave
|
|
35
|
+
*/ const shouldAcceptValue = incomingField.addedByServer || acceptValues === true || typeof acceptValues === 'object' && acceptValues !== null && // Note: Must be explicitly `false`, allow `null` or `undefined` to mean true
|
|
36
|
+
acceptValues.overrideLocalChanges === false && !currentState[path]?.isModified;
|
|
37
|
+
let sanitizedIncomingField = incomingField;
|
|
38
|
+
if (!shouldAcceptValue) {
|
|
39
|
+
/**
|
|
40
|
+
* Note: do not delete properties off `incomingField` as this will mutate the original object
|
|
41
|
+
* Instead, omit them from the destructured object by excluding specific keys
|
|
42
|
+
* This will also ensure we don't set `undefined` into the result unnecessarily
|
|
43
|
+
*/ const { initialValue, value, ...rest } = incomingField;
|
|
44
|
+
sanitizedIncomingField = rest;
|
|
45
|
+
}
|
|
46
|
+
newState[path] = {
|
|
47
|
+
...currentState[path],
|
|
48
|
+
...sanitizedIncomingField
|
|
49
|
+
};
|
|
50
|
+
if (currentState[path] && 'errorPaths' in currentState[path] && !('errorPaths' in incomingField)) {
|
|
51
|
+
newState[path].errorPaths = [];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Deeply merge the rows array to ensure changes to local state are not lost while the request was pending
|
|
55
|
+
* For example, the server response could come back with a row which has been deleted on the client
|
|
56
|
+
* Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server
|
|
57
|
+
* Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above
|
|
58
|
+
*/ if (Array.isArray(incomingField.rows) && path in currentState) {
|
|
59
|
+
newState[path].rows = [
|
|
60
|
+
...currentState[path]?.rows || []
|
|
61
|
+
];
|
|
62
|
+
// shallow copy to avoid mutating the original array
|
|
63
|
+
incomingField.rows.forEach((row)=>{
|
|
64
|
+
const indexInCurrentState = currentState[path].rows?.findIndex((existingRow)=>existingRow.id === row.id);
|
|
65
|
+
if (indexInCurrentState > -1) {
|
|
66
|
+
newState[path].rows[indexInCurrentState] = {
|
|
67
|
+
...currentState[path].rows[indexInCurrentState],
|
|
68
|
+
...row
|
|
69
|
+
};
|
|
70
|
+
} else if (row.addedByServer) {
|
|
71
|
+
/**
|
|
72
|
+
* Note: This is a known limitation of computed array and block rows
|
|
73
|
+
* If a new row was added by the server, we append it to the _end_ of this array
|
|
74
|
+
* This is because the client is the source of truth, and it has arrays ordered in a certain position
|
|
75
|
+
* For example, the user may have re-ordered rows client-side while a long running request is processing
|
|
76
|
+
* This means that we _cannot_ slice a new row into the second position on the server, for example
|
|
77
|
+
* By the time it gets back to the client, its index is stale
|
|
78
|
+
*/ const newRow = {
|
|
79
|
+
...row
|
|
80
|
+
};
|
|
81
|
+
delete newRow.addedByServer;
|
|
82
|
+
newState[path].rows.push(newRow);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// If `valid` is `undefined`, mark it as `true`
|
|
87
|
+
if (incomingField.valid !== false) {
|
|
88
|
+
newState[path].valid = true;
|
|
89
|
+
}
|
|
90
|
+
// If `passesCondition` is `undefined`, mark it as `true`
|
|
91
|
+
if (incomingField.passesCondition !== false) {
|
|
92
|
+
newState[path].passesCondition = true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Undefined values for blocksFilterOptions coming back should be treated as "all blocks allowed" and
|
|
96
|
+
* should always be merged in.
|
|
97
|
+
* Without this, an undefined value coming back will incorrectly be ignored, and the previous filter will remain.
|
|
98
|
+
*/ if (!incomingField.blocksFilterOptions) {
|
|
99
|
+
delete newState[path].blocksFilterOptions;
|
|
100
|
+
}
|
|
101
|
+
// Strip away the `addedByServer` property from the client
|
|
102
|
+
// This will prevent it from being passed back to the server
|
|
103
|
+
delete newState[path].addedByServer;
|
|
105
104
|
}
|
|
106
|
-
//
|
|
107
|
-
// This will
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
// Return the original object reference if the state is unchanged
|
|
111
|
-
// This will avoid unnecessary re-renders and dependency updates
|
|
112
|
-
return dequal(newState, currentState) ? currentState : newState;
|
|
105
|
+
// Return the original object reference if the state is unchanged
|
|
106
|
+
// This will avoid unnecessary re-renders and dependency updates
|
|
107
|
+
return dequal(newState, currentState) ? currentState : newState;
|
|
113
108
|
};
|
|
109
|
+
|
|
114
110
|
//# sourceMappingURL=mergeServerFormState.js.map
|