@payloadcms/ui 4.0.0-internal.ea6e8f8 → 4.0.0-internal.ec73d44
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/css/app.css +2 -2
- package/dist/css/colors.css +65 -0
- package/dist/css/preflight.css +21 -2
- package/dist/elements/APIKeyInput/index.js +22 -23
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +17 -19
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +39 -30
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +236 -143
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BranchSelector/index.d.ts.map +1 -1
- package/dist/elements/BranchSelector/index.js +285 -204
- package/dist/elements/BranchSelector/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +29 -21
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -34
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +63 -23
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
- package/dist/elements/Button/index.css +3 -3
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CardGrid/index.css +0 -1
- package/dist/elements/ChangeSummary/index.js.map +1 -1
- package/dist/elements/Chip/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +213 -88
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +99 -55
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CollapseAllToggle/index.js +47 -32
- package/dist/elements/CollapseAllToggle/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +15 -4
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +46 -38
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +37 -14
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.css +4 -0
- package/dist/elements/ColumnSelection/Popup.js +10 -2
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +8 -0
- package/dist/elements/ConfirmationModal/index.d.ts +3 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +2 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +45 -43
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +6 -2
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +40 -25
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +4 -0
- package/dist/elements/DefaultListViewTabs/index.js +47 -37
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +1 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
- package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/DocumentCard/index.d.ts +2 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -1
- package/dist/elements/DocumentCard/index.js +2 -0
- package/dist/elements/DocumentCard/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.css +13 -10
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -5
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +7 -7
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +125 -65
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +1 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentStaleData/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +104 -170
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
- package/dist/elements/Drawer/index.js +138 -81
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/library.css +6 -13
- package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +7 -1
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
- package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +2 -0
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +23 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +21 -21
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.js.map +1 -1
- package/dist/elements/GroupBy/index.js +120 -66
- package/dist/elements/GroupBy/index.js.map +1 -1
- package/dist/elements/HTMLDiff/colors.css +7 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +10 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -1
- package/dist/elements/HierarchyTypeField/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/HydratePreferences/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +186 -105
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
- package/dist/elements/LayoutToggle/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +1 -1
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +0 -10
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +2 -3
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +3 -8
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListGroupByButton/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListWhereBuilder/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +7 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +6 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/Loading/index.js +62 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +93 -49
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +133 -108
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +54 -37
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/MergeBranch/MergeBranchForm/index.d.ts.map +1 -1
- package/dist/elements/MergeBranch/MergeBranchForm/index.js +21 -16
- package/dist/elements/MergeBranch/MergeBranchForm/index.js.map +1 -1
- package/dist/elements/MergeBranch/MergeProgress/index.js.map +1 -1
- package/dist/elements/MergeBranch/context.js +58 -20
- package/dist/elements/MergeBranch/context.js.map +1 -1
- package/dist/elements/MergeBranch/index.js.map +1 -1
- package/dist/elements/MergeBranch/useMergeBranchAction.js +1 -1
- package/dist/elements/MergeBranch/useMergeBranchAction.js.map +1 -1
- package/dist/elements/MergeBranch/useScheduleBranchMerge.js +1 -1
- package/dist/elements/MergeBranch/useScheduleBranchMerge.js.map +1 -1
- package/dist/elements/MergeBranch/useUpcomingBranchMerges.js.map +1 -1
- package/dist/elements/MiniCarousel/index.js +102 -38
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +13 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +10 -6
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +32 -21
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/context.js +2 -2
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts +1 -1
- package/dist/elements/Nav/getNavPrefs.js +1 -1
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.css +5 -0
- package/dist/elements/NavGroup/index.css +27 -3
- package/dist/elements/NavGroup/index.js +32 -39
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.css +1 -0
- package/dist/elements/NoListResults/index.js +1 -1
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +36 -37
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/SubmenuScope.d.ts +3 -5
- package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -1
- package/dist/elements/Popup/SubmenuScope.js +10 -54
- package/dist/elements/Popup/SubmenuScope.js.map +1 -1
- package/dist/elements/Popup/index.css +15 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +88 -33
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +16 -4
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -1
- package/dist/elements/Popup/useSubmenuPointerIntent.js +68 -27
- package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +141 -70
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +32 -24
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.css +4 -0
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +1 -1
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +112 -44
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +50 -7
- package/dist/elements/SegmentedControl/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +31 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.js.map +1 -1
- package/dist/elements/SkipToContent/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Spinner/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/Switch/index.css +2 -2
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +6 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableIdentity.js +32 -16
- package/dist/elements/Table/TableIdentity.js.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/useAriaSort.js.map +1 -1
- package/dist/elements/Tabs/index.css +4 -3
- package/dist/elements/Thumbnail/index.js +133 -53
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +113 -54
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +1 -1
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +32 -24
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +2 -1
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-23ZGBN6S.js} +2 -2
- package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-AZBZPMY6.js} +2 -2
- package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
- package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
- package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
- package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
- package/dist/exports/client/{chunk-2AY67NFV.js → chunk-ZP2PB6M4.js} +2 -2
- package/dist/exports/client/chunk-ZP2PB6M4.js.map +7 -0
- package/dist/exports/client/index.d.ts +2 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +28 -28
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -1
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +207 -99
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +521 -308
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +224 -136
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +114 -74
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +75 -55
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -0
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.css +3 -3
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +3 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +114 -73
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +215 -121
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +29 -21
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.css +3 -5
- package/dist/fields/Group/index.js +75 -46
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +23 -15
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +3 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/Input.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +46 -27
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +35 -35
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +14 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +216 -111
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +26 -10
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +158 -77
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +17 -21
- package/dist/fields/Tabs/index.js +120 -112
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +2 -2
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +172 -95
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +2 -1
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +58 -28
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +97 -55
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +19 -8
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/index.css +9 -0
- package/dist/fields/Upload/index.js +101 -63
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/useRowFocus.js.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +27 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts +9 -4
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +34 -7
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +3 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.css +2 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +58 -18
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -13
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +0 -4
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +32 -17
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +27 -18
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useElementHeightVariable.js.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePointerSafeArea.d.ts +29 -0
- package/dist/hooks/usePointerSafeArea.d.ts.map +1 -0
- package/dist/hooks/usePointerSafeArea.js +232 -0
- package/dist/hooks/usePointerSafeArea.js.map +1 -0
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +21 -24
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Sidebar/index.d.ts.map +1 -1
- package/dist/icons/Sidebar/index.js +2 -0
- package/dist/icons/Sidebar/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -1
- package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
- package/dist/layouts/Root/RootProviders.js +31 -28
- package/dist/layouts/Root/RootProviders.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +4 -15
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
- package/dist/providers/Auth/index.js +2 -2
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
- package/dist/providers/Branch/index.d.ts +1 -1
- package/dist/providers/Branch/index.js +4 -4
- package/dist/providers/Branch/index.js.map +1 -1
- package/dist/providers/Branch/index.server.d.ts.map +1 -1
- package/dist/providers/Branch/index.server.js +3 -1
- package/dist/providers/Branch/index.server.js.map +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +65 -32
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/Embed/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +5 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +6 -5
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/ModalAccessibility/index.js.map +1 -1
- package/dist/providers/ModalFocus/index.d.ts +15 -0
- package/dist/providers/ModalFocus/index.d.ts.map +1 -0
- package/dist/providers/ModalFocus/index.js +70 -0
- package/dist/providers/ModalFocus/index.js.map +1 -0
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +37 -25
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.d.ts +3 -2
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +78 -105
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/RouterAdapter/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +34 -23
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/index.js +18 -35
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +87 -3
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +0 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +11 -1
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +2 -10
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +3 -7
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +2 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +4 -9
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +1 -0
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +17 -17
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +106 -27
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Branch/BranchChanges/index.d.ts.map +1 -1
- package/dist/views/Branch/BranchChanges/index.js +185 -86
- package/dist/views/Branch/BranchChanges/index.js.map +1 -1
- package/dist/views/Branch/DiscardChangesButton/index.js +1 -1
- package/dist/views/Branch/DiscardChangesButton/index.js.map +1 -1
- package/dist/views/Branch/Manage/index.js.map +1 -1
- package/dist/views/Branch/MergeChangesButton/index.js.map +1 -1
- package/dist/views/Branch/ScheduledMerges/index.js +1 -1
- package/dist/views/Branch/ScheduledMerges/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +18 -5
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
- package/dist/views/Document/generateEditViewMetadata.js.map +1 -1
- package/dist/views/Document/index.js +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +13 -11
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.css +26 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +28 -17
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.js +2 -2
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.js.map +1 -1
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.css +12 -12
- package/dist/views/Version/Default/index.js +333 -191
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +0 -4
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +183 -82
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +113 -33
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +9 -11
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +2 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
- package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
- package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.css +42 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.js +125 -0
- package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
- package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
- package/dist/widgets/Activity/index.client.d.ts +15 -0
- package/dist/widgets/Activity/index.client.d.ts.map +1 -0
- package/dist/widgets/Activity/index.client.js +186 -0
- package/dist/widgets/Activity/index.client.js.map +1 -0
- package/dist/widgets/Activity/index.css +320 -0
- package/dist/widgets/Activity/index.d.ts +13 -0
- package/dist/widgets/Activity/index.d.ts.map +1 -0
- package/dist/widgets/Activity/index.js +100 -0
- package/dist/widgets/Activity/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +6 -13
- package/dist/widgets/Activity/types.d.ts.map +1 -0
- package/dist/widgets/Activity/types.js +2 -0
- package/dist/widgets/Activity/types.js.map +1 -0
- package/dist/widgets/Activity/utils/cache.d.ts +33 -0
- package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/cache.js +72 -0
- package/dist/widgets/Activity/utils/cache.js.map +1 -0
- package/dist/widgets/Activity/utils/constants.d.ts +5 -0
- package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/constants.js +4 -0
- package/dist/widgets/Activity/utils/constants.js.map +1 -0
- package/dist/widgets/Activity/utils/documents.d.ts +11 -0
- package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/documents.js +38 -0
- package/dist/widgets/Activity/utils/documents.js.map +1 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +24 -21
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
- package/dist/widgets/Activity/utils/state.d.ts +44 -0
- package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/state.js +80 -0
- package/dist/widgets/Activity/utils/state.js.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.js +35 -0
- package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js +3 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.js +3 -0
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/index.js +3 -0
- package/dist/widgets/CollectionQuery/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
- package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.js +3 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.js +3 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -1
- package/dist/widgets/Welcome/index.d.ts +3 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -1
- package/dist/widgets/Welcome/index.js +3 -0
- package/dist/widgets/Welcome/index.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +0 -20
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
- package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
- package/dist/widgets/shared/CollectionFilter/index.js +170 -0
- package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
- package/package.json +21 -23
- package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
- package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
- package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -73
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -122
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.js +0 -401
- package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.css +0 -318
- package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
- package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.js +0 -45
- package/dist/widgets/RecentlyViewed/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.js +0 -19
- package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["dequal","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","uploadRequiresServerValidation","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useFormErrorHandler","useLocale","useOperation","useRouter","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","SuccessfulSubmitCountContext","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","currentLocale","locale","code","i18n","t","refreshCookie","user","onNonFieldError","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","successfulSubmitCount","setSuccessfulSubmitCount","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","excludeFiles","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","count","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","_jsx","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","allowRestrictedFileTypes","filename","name","mimeType","JSON","stringify","docPrefix","prefix","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","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 { 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 uploadRequiresServerValidation,\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 { useFormErrorHandler } from '../../providers/FormErrorHandler/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/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 SuccessfulSubmitCountContext,\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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const onNonFieldError = useFormErrorHandler()\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 const [successfulSubmitCount, setSuccessfulSubmitCount] = useState(0)\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 excludeFiles: true,\n },\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 try {\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\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 setSuccessfulSubmitCount((count) => count + 1)\n\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 // Pass overridesFromArgs (not the computed overrides) so a retry re-evaluates any function overrides against current fields.\n if (onNonFieldError?.(err, () => void submit({ overrides: overridesFromArgs }))) {\n return\n }\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 onNonFieldError,\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 (\n typeof handler === 'function' &&\n !uploadRequiresServerValidation({\n allowRestrictedFileTypes: docConfig.upload.allowRestrictedFileTypes,\n filename: file.name,\n mimeType: file.type,\n })\n ) {\n file = JSON.stringify(\n await handler({\n docPrefix: typeof data?.prefix === 'string' ? data.prefix : undefined,\n file,\n }),\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 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 excludeFiles: true,\n }),\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 /**\n * data-form-ready signals if the form is ready to be used. This is used by our e2e tests\n * to wait for the form to be ready before interacting with it, reducing flakiness if the test is run in\n * slow network conditions.\n */\n data-form-ready={!processing && isMounted && !initializing}\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 <SuccessfulSubmitCountContext value={successfulSubmitCount}>\n {children}\n </SuccessfulSubmitCountContext>\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,"file":"index.js","names":["dequal","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","uploadRequiresServerValidation","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useFormErrorHandler","useLocale","useOperation","useRouter","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","SuccessfulSubmitCountContext","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","currentLocale","locale","code","i18n","t","refreshCookie","user","onNonFieldError","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","successfulSubmitCount","setSuccessfulSubmitCount","isValid","setIsValid","initializing","setInitializing","processing","setProcessing","backgroundProcessing","_setBackgroundProcessing","backgroundProcessingRef","modifiedWhileProcessingRef","setBackgroundProcessing","current","modified","_setModified","setModified","formRef","submitFocusRef","previousFocus","isConnected","document","activeElement","body","closest","matches","focus","preventScroll","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","HTMLElement","contains","serializableFormState","excludeFiles","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","headers","language","status","contentType","get","isJSON","indexOf","json","count","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","serverErrorAction","_jsx","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","allowRestrictedFileTypes","filename","name","mimeType","JSON","stringify","docPrefix","prefix","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","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 { 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 uploadRequiresServerValidation,\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 { useFormErrorHandler } from '../../providers/FormErrorHandler/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/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 SuccessfulSubmitCountContext,\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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const onNonFieldError = useFormErrorHandler()\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 const [successfulSubmitCount, setSuccessfulSubmitCount] = useState(0)\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 submitFocusRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n if (processing) {\n return\n }\n\n const previousFocus = submitFocusRef.current\n\n submitFocusRef.current = null\n if (\n previousFocus?.isConnected &&\n document.activeElement === document.body &&\n !previousFocus.closest('[inert]') &&\n !previousFocus.matches(':disabled')\n ) {\n previousFocus.focus({ preventScroll: true })\n }\n }, [processing])\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 || {}\n\n const disableToast = disableSuccessStatusFromArgs ?? disableSuccessStatus\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n modifiedWhileProcessingRef.current = false\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 const activeElement = document.activeElement\n\n // Disabling the active field drops browser focus to the body.\n submitFocusRef.current =\n activeElement instanceof HTMLElement && formRef.current?.contains(activeElement)\n ? activeElement\n : null\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 excludeFiles: true,\n },\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 try {\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\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 (res.status < 400 && !modifiedWhileProcessingRef.current) {\n setModified(false)\n }\n modifiedWhileProcessingRef.current = false\n\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n await handleResponse(res, successToast, errorToast)\n setProcessing(false)\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 setSuccessfulSubmitCount((count) => count + 1)\n\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 void 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 const serverErrorAction = {\n type: 'ADD_SERVER_ERRORS' as const,\n errors: fieldErrors,\n }\n\n prevFormState.current = fieldReducer(prevFormState.current, serverErrorAction)\n dispatchFields(serverErrorAction)\n\n nonFieldErrors.forEach((err) => {\n // Pass overridesFromArgs (not the computed overrides) so a retry re-evaluates any function overrides against current fields.\n if (\n onNonFieldError?.(\n err,\n () => void contextRef.current.submit({ overrides: overridesFromArgs }),\n )\n ) {\n return\n }\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 onNonFieldError,\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 (\n typeof handler === 'function' &&\n !uploadRequiresServerValidation({\n allowRestrictedFileTypes: docConfig.upload.allowRestrictedFileTypes,\n filename: file.name,\n mimeType: file.type,\n })\n ) {\n file = JSON.stringify(\n await handler({\n docPrefix: typeof data?.prefix === 'string' ? data.prefix : undefined,\n file,\n }),\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 }\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 }\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 }\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\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 excludeFiles: true,\n }),\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 /**\n * data-form-ready signals if the form is ready to be used. This is used by our e2e tests\n * to wait for the form to be ready before interacting with it, reducing flakiness if the test is run in\n * slow network conditions.\n */\n data-form-ready={!processing && isMounted && !initializing}\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 <SuccessfulSubmitCountContext value={successfulSubmitCount}>\n {children}\n </SuccessfulSubmitCountContext>\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":"AAAA;;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,SAAS,QAAQ;AAE1B,SACEC,0CAA0C,EAC1CC,aAAA,IAAiBC,iBAAiB,EAClCC,cAAA,IAAkBC,kBAAkB,EACpCC,yBAAyB,EACzBC,oBAAoB,EACpBC,8BAA8B,EAC9BC,IAAI,QACC;AACP,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAC5E,SAASC,KAAK,QAAQ;AAWtB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,QAAQ,QAAQ;AACzB,SACEC,2BAA2B,EAC3BC,mBAAmB,EACnBC,WAAW,EACXC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,4BAA4B,EAC5BC,eAAe,QACV;AACP,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAA6BC,KAAA;EACxC,MAAM;IAAEC,EAAE;IAAEC,cAAc;IAAEC,SAAS;IAAEC,cAAc;IAAEC,iBAAiB;IAAEC;EAAU,CAAE,GACpFlC,eAAA;EAEF,MAAMmC,cAAA,GAAiBrD,yBAAA,CAA0BiD,SAAA;EAEjD,MAAM;IACJK,MAAM;IACNC,YAAY;IACZC,QAAQ;IACRC,SAAS;IACTC,QAAA,EAAUC,iBAAiB;IAC3BC,oBAAoB;IACpBC,yBAAyB;IACzB;IACAC,EAAE;IACFC,cAAc;IACdC,YAAY;IACZC,cAAc;IACdC,cAAA,EAAgBC,qBAAqB;IACrCC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,SAAA,EAAWC,kBAAkB;IAC7BC,IAAI;IACJC;EAAmB,CACpB,GAAG7B,KAAA;EAEJ,MAAM8B,MAAA,GAAS,YAAY9B,KAAA,GAAQA,KAAA,EAAO8B,MAAA,GAASC,SAAA;EAEnD,MAAMC,MAAA,GAASxD,SAAA;EAEf,MAAMyD,YAAA,GAAevC,eAAA;EAErB,MAAMwC,aAAA,GAAgB5D,SAAA;EACtB,MAAM6D,MAAA,GAASD,aAAA,EAAeE,IAAA;EAC9B,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAG3D,cAAA;EACpB,MAAM;IAAE4D,aAAa;IAAEC;EAAI,CAAE,GAAGtE,OAAA;EAChC,MAAMuE,eAAA,GAAkBpE,mBAAA;EACxB,MAAMqE,SAAA,GAAYnE,YAAA;EAClB,MAAM;IAAEoE;EAAS,CAAE,GAAG3E,QAAA;EAEtB,MAAM;IAAE4E;EAAY,CAAE,GAAGlE,kBAAA;EACzB,MAAM;IAAEmE;EAAoB,CAAE,GAAGpE,kBAAA;EACjC,MAAM;IAAEqE;EAAgB,CAAE,GAAGlE,iBAAA;EAE7B,MAAM;IAAEmE;EAAM,CAAE,GAAG5E,SAAA;EAEnB,MAAM,CAACyC,QAAA,EAAUoC,WAAA,CAAY,GAAGrF,QAAA,CAASkD,iBAAA,IAAqB;EAC9D,MAAM,CAACoC,SAAA,EAAWC,YAAA,CAAa,GAAGvF,QAAA,CAAS;EAE3C,MAAM,CAAC+D,SAAA,EAAWyB,YAAA,CAAa,GAAGxF,QAAA,CAAS;EAC3C,MAAM,CAACyF,qBAAA,EAAuBC,wBAAA,CAAyB,GAAG1F,QAAA,CAAS;EAEnE;;;;EAIA,MAAM,CAAC2F,OAAA,EAASC,UAAA,CAAW,GAAG5F,QAAA,CAAS;EACvC,MAAM,CAAC6F,YAAA,EAAcC,eAAA,CAAgB,GAAG9F,QAAA,CAAS0D,qBAAA;EAEjD,MAAM,CAACqC,UAAA,EAAYC,aAAA,CAAc,GAAGhG,QAAA,CAAS;EAE7C;;;;EAIA,MAAM,CAACiG,oBAAA,EAAsBC,wBAAA,CAAyB,GAAGlG,QAAA,CAAS;EAElE;;;;EAIA,MAAMmG,uBAAA,GAA0BpG,MAAA,CAAOkG,oBAAA;EAEvC;;;;;;EAMA,MAAMG,0BAAA,GAA6BrG,MAAA,CAAO;EAE1C;;;;EAIA,MAAMsG,uBAAA,GAA0BzG,WAAA,CAAaqG,sBAAA;IAC3CE,uBAAA,CAAwBG,OAAO,GAAGL,sBAAA;IAClCC,wBAAA,CAAyBD,sBAAA;EAC3B,GAAG,EAAE;EAEL,MAAM,CAACM,QAAA,EAAUC,YAAA,CAAa,GAAGxG,QAAA,CAAS;EAE1C;;;;EAIA,MAAMyG,WAAA,GAAc7G,WAAA,CAAa2G,UAAA;IAC/B,IAAIJ,uBAAA,CAAwBG,OAAO,EAAE;MACnCF,0BAAA,CAA2BE,OAAO,GAAG;IACvC;IAEAE,YAAA,CAAaD,UAAA;EACf,GAAG,EAAE;EAEL,MAAMG,OAAA,GAAU3G,MAAA,CAAwB;EACxC,MAAM4G,cAAA,GAAiB5G,MAAA,CAA2B;EAElDF,SAAA,CAAU;IACR,IAAIkG,UAAA,EAAY;MACd;IACF;IAEA,MAAMa,aAAA,GAAgBD,cAAA,CAAeL,OAAO;IAE5CK,cAAA,CAAeL,OAAO,GAAG;IACzB,IACEM,aAAA,EAAeC,WAAA,IACfC,QAAA,CAASC,aAAa,KAAKD,QAAA,CAASE,IAAI,IACxC,CAACJ,aAAA,CAAcK,OAAO,CAAC,cACvB,CAACL,aAAA,CAAcM,OAAO,CAAC,cACvB;MACAN,aAAA,CAAcO,KAAK,CAAC;QAAEC,aAAA,EAAe;MAAK;IAC5C;EACF,GAAG,CAACrB,UAAA,CAAW;EACf,MAAMsB,UAAA,GAAatH,MAAA,CAAO,CAAC;EAC3B,MAAMuH,iBAAA,GAAoBvH,MAAA,CAAwB;EAClD,MAAMwH,gBAAA,GAAmBxH,MAAA,CAAO;EAEhC,MAAMyH,aAAA,GAAgB1H,UAAA,CAAWmC,YAAA,EAAc,CAAC,GAAG,MAAMsB,YAAA;EAEzD,MAAM,CAACkE,SAAA,EAAWC,cAAA,CAAe,GAAGF,aAAA;EAEpCH,UAAA,CAAWf,OAAO,CAACqB,MAAM,GAAGF,SAAA;EAE5B,MAAMG,aAAA,GAAgB7H,MAAA,CAAO0H,SAAA;EAE7B,MAAMI,YAAA,GAAejI,WAAA,CAAY;IAC/B,MAAMkI,mBAAA,GAAsB,CAAC;IAC7B,IAAInC,SAAA,GAAU;IAEd,MAAMoC,IAAA,GAAOV,UAAA,CAAWf,OAAO,CAAC0B,OAAO;IAEvC,MAAMC,kBAAA,GAAqBC,MAAA,CAAOC,OAAO,CAACd,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAES,GAAG,CACtE,OAAO,CAACC,IAAA,EAAMC,KAAA,CAAM;MAClB,MAAMC,cAAA,GAAiBD,KAAA;MACvB,MAAME,YAAA,GAAeH,IAAA,GAAOA,IAAA,CAAKI,KAAK,CAAC,OAAO,EAAE;MAEhD,IAAIH,KAAA,CAAMI,eAAe,KAAK,OAAO;QACnC,IAAIC,gBAAA,GAAqCJ,cAAA,CAAeK,KAAK;QAE7D,IAAI,cAAcN,KAAA,IAAS,OAAOA,KAAA,CAAMO,QAAQ,KAAK,YAAY;UAC/D,IAAIC,eAAA,GAAkBR,KAAA,CAAMS,KAAK;UAEjC,IAAIT,KAAA,EAAOU,IAAA,IAAQC,KAAA,CAAMC,OAAO,CAACZ,KAAA,CAAMU,IAAI,GAAG;YAC5CF,eAAA,GAAkBzB,UAAA,CAAWf,OAAO,CAACnH,aAAa,CAACkJ,IAAA;UACrD;UAEAM,gBAAA,GAAmB,MAAML,KAAA,CAAMO,QAAQ,CAACC,eAAA,EAAiB;YACvD,GAAGR,KAAK;YACRhG,EAAA;YACAC,cAAA;YACA;YACA4G,SAAA,EAAW/E,SAAA;YACX2D,IAAA,EAAMzD,YAAA,EAAc0D,OAAA,GAAU1D,YAAA,CAAa0D,OAAO,KAAKD,IAAA;YACvDqB,KAAA,EAAO;YACPrE,SAAA;YACAsD,IAAA,EAAMG,YAAA;YACNa,WAAA,EAAa,CAAC;YACdC,GAAA,EAAK;cACHC,OAAA,EAAS;gBACPnE;cACF;cACAT,CAAA;cACAE;YACF;YACA2E,WAAA,EAAanC,UAAA,CAAWf,OAAO,CAACjH,cAAc,CAACgJ,IAAA;UACjD;UAEA,IAAI,OAAOM,gBAAA,KAAqB,UAAU;YACxCJ,cAAA,CAAekB,YAAY,GAAGd,gBAAA;YAC9BJ,cAAA,CAAeK,KAAK,GAAG;UACzB,OAAO;YACLL,cAAA,CAAeK,KAAK,GAAG;YACvBL,cAAA,CAAekB,YAAY,GAAGrF,SAAA;UAChC;QACF;QAEA,IAAImE,cAAA,CAAeK,KAAK,KAAK,OAAO;UAClCjD,SAAA,GAAU;QACZ;MACF;MAEAmC,mBAAmB,CAACO,IAAA,CAAK,GAAGE,cAAA;IAC9B;IAGF,MAAMmB,OAAA,CAAQC,GAAG,CAAC1B,kBAAA;IAElB,IAAI,CAACjJ,MAAA,CAAOqI,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAEG,mBAAA,GAAsB;MAC3DJ,cAAA,CAAe;QAAEkC,IAAA,EAAM;QAAiBC,KAAA,EAAO/B;MAAoB;IACrE;IAEAlC,UAAA,CAAWD,SAAA;IAEX,OAAOA,SAAA;EACT,GAAG,CAACpD,cAAA,EAAgB6C,MAAA,EAAQsC,cAAA,EAAgBpF,EAAA,EAAIyC,SAAA,EAAWJ,CAAA,EAAGE,IAAA,EAAMP,YAAA,CAAa;EAEjF,MAAMwF,MAAA,GAASlK,WAAA,CACb,OAAOmK,OAAA,EAASC,CAAA;IACd,MAAM;MACJC,YAAA,GAAe,IAAI;MACnBpH,MAAA,EAAQqH,SAAA,GAAYrH,MAAM;MAC1BsH,OAAO;MACPC,0BAAA,GAA6B,IAAI;MACjCjH,oBAAA,EAAsBkH,4BAA4B;MAClDlG,MAAA,EAAQmG,WAAA,GAAcnG,MAAM;MAC5BoG,SAAA,EAAWC,iBAAA,GAAoB,CAAC,CAAC;MACjCC;IAAc,CACf,GAAGV,OAAA,IAAW,CAAC;IAEhB,MAAMW,YAAA,GAAeL,4BAAA,IAAgClH,oBAAA;IAErD,IAAIF,QAAA,EAAU;MACZ,IAAI+G,CAAA,EAAG;QACLA,CAAA,CAAEW,cAAc;MAClB;MACA;IACF;IAEAvE,0BAAA,CAA2BE,OAAO,GAAG;IAErC;IACA,IAAIsE,UAAA,EAAYC,YAAA;IAEhB,MAAMC,OAAA,GAAU,IAAIpB,OAAA,CAAQ,CAACqB,OAAA,EAASC,MAAA;MACpCH,YAAA,GAAeE,OAAA;MACfH,UAAA,GAAaI,MAAA;IACf;IAEA,MAAMC,mBAAA,GACJf,SAAA,IAAa,OAAOrH,MAAA,KAAW,YAAY,OAAOA,MAAA,KAAW;IAE/D,IAAIiB,QAAA,IAAY4G,YAAA,IAAgB,CAACO,mBAAA,EAAqB;MACpD;MACA;MACAJ,YAAA,GAAgB9C,MAAA,IAAS9H,KAAA,CAAMiL,OAAO,CAACnD,MAAA;MACvC6C,UAAA,GAAc7C,MAAA,IAAS9H,KAAA,CAAMkL,KAAK,CAACpD,MAAA;IACrC,OAAO;MACL9H,KAAA,CAAM6K,OAAO,CAACA,OAAA,EAAS;QACrBK,KAAA,EAAQpD,MAAA;UACN,OAAOA,MAAA;QACT;QACAqD,OAAA,EAASzG,CAAA,CAAE;QACXuG,OAAA,EAAUnD,MAAA;UACR,OAAOA,MAAA;QACT;MACF;IACF;IAEA,IAAIiC,CAAA,EAAG;MACLA,CAAA,CAAEqB,eAAe;MACjBrB,CAAA,CAAEW,cAAc;IAClB;IAEA,IAAIP,0BAAA,EAA4B;MAC9B,MAAMrD,aAAA,GAAgBD,QAAA,CAASC,aAAa;MAE5C;MACAJ,cAAA,CAAeL,OAAO,GACpBS,aAAA,YAAyBuE,WAAA,IAAe5E,OAAA,CAAQJ,OAAO,EAAEiF,QAAA,CAASxE,aAAA,IAC9DA,aAAA,GACA;MACNf,aAAA,CAAc;MACdX,WAAA,CAAY;IACd;IAEA,IAAInB,mBAAA,EAAqB;MACvB,MAAMxE,IAAA,CAAK;IACb;IAEA,MAAMqI,MAAA,GAAOvI,oBAAA,CAAqB6H,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAE;IAE7D,MAAM6D,qBAAA,GAAwBtM,0CAAA,CAC5BmI,UAAA,CAAWf,OAAO,CAACqB,MAAM,EACzB;MACE8D,YAAA,EAAc;IAChB;IAGF;IACA,IAAIxC,KAAA,CAAMC,OAAO,CAACpG,YAAA,GAAe;MAC/B,IAAI4I,oBAAA;MAEJ,MAAM5I,YAAA,CAAa6I,MAAM,CAAC,OAAOC,aAAA,EAAeC,cAAA;QAC9C,MAAMD,aAAA;QAEN,MAAME,MAAA,GAAS,MAAMD,cAAA,CAAe;UAClCpE,SAAA,EAAW+D;QACb;QAEAE,oBAAA,GAAuBI,MAAA;MACzB,GAAGpC,OAAA,CAAQqB,OAAO;MAElB,MAAMpF,SAAA,GAAUuC,MAAA,CAAOC,OAAO,CAACuD,oBAAA,EAAsBK,KAAK,CACxD,CAAC,GAAGzD,OAAA,CAAM,KAAKA,OAAA,CAAMM,KAAK,KAAK;MAGjChD,UAAA,CAAWD,SAAA;MAEX,IAAI,CAACA,SAAA,EAAS;QACZK,aAAA,CAAc;QACdR,YAAA,CAAa;QACbH,WAAA,CAAY;QACZ,OAAOqC,cAAA,CAAe;UAAEkC,IAAA,EAAM;UAAiBC,KAAA,EAAO6B;QAAqB;MAC7E;IACF;IAEA,MAAM/F,SAAA,GACJ8E,cAAA,IAAkBrH,yBAAA,GAA4B,OAAO,MAAMiE,UAAA,CAAWf,OAAO,CAACuB,YAAY;IAE5FjC,UAAA,CAAWD,SAAA;IAEX;IACA,IAAI,CAACA,SAAA,EAAS;MACZiF,UAAA,CAAWjG,CAAA,CAAE;MACbqB,aAAA,CAAc;MACdR,YAAA,CAAa;MACbH,WAAA,CAAY;MACZ;IACF;IAEA,IAAIkF,SAAA,GAAY,CAAC;IAEjB,IAAI,OAAOC,iBAAA,KAAsB,YAAY;MAC3CD,SAAA,GAAYC,iBAAA,CAAkBnD,UAAA,CAAWf,OAAO,CAACqB,MAAM;IACzD,OAAO,IAAI,OAAO6C,iBAAA,KAAsB,UAAU;MAChDD,SAAA,GAAYC,iBAAA;IACd;IAEA;IACA,IAAI5G,QAAA,EAAU;MACZ,KAAK,MAAM,CAACoI,GAAA,EAAKjD,KAAA,CAAM,IAAIb,MAAA,CAAOC,OAAO,CAACoC,SAAA,GAAY;QACpDxC,MAAI,CAACiE,GAAA,CAAI,GAAGjD,KAAA;MACd;MAEAnF,QAAA,CAASyD,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAEI,MAAA;IACtC;IAEA,IAAI,CAACkD,mBAAA,EAAqB;MACxB;MACA;MACAjF,aAAA,CAAc;MACdR,YAAA,CAAa;MACbH,WAAA,CAAY;MACZ;IACF;IAEA,IAAI;MACF,MAAM4G,QAAA,GAAW,MAAM5E,UAAA,CAAWf,OAAO,CAAC4F,cAAc,CAAC3B,SAAA,EAAW;QAClExC,IAAA,EAAAA,MAAA;QACAoE,iBAAA,EAAmBC,OAAA,CAAQ,OAAO5B,iBAAA,KAAsB;MAC1D;MAEA,IAAI6B,GAAA;MAEJ,IAAI,OAAOnC,SAAA,KAAc,UAAU;QACjCmC,GAAA,GAAM,MAAMjL,QAAQ,CAACkJ,WAAA,CAAYgC,WAAW,GAAG,CAACpC,SAAA,EAAW;UACzDlD,IAAA,EAAMiF,QAAA;UACNM,OAAA,EAAS;YACP,mBAAmB7H,IAAA,CAAK8H;UAC1B;QACF;MACF,OAAO,IAAI,OAAO3J,MAAA,KAAW,YAAY;QACvCwJ,GAAA,GAAM,MAAMxJ,MAAA,CAAOoJ,QAAA;MACrB;MAEA,IAAII,GAAA,CAAII,MAAM,GAAG,OAAO,CAACrG,0BAAA,CAA2BE,OAAO,EAAE;QAC3DG,WAAA,CAAY;MACd;MACAL,0BAAA,CAA2BE,OAAO,GAAG;MAErCjB,WAAA,CAAY;MAEZ,IAAI,OAAO/B,cAAA,KAAmB,YAAY;QACxC,MAAMA,cAAA,CAAe+I,GAAA,EAAKxB,YAAA,EAAcD,UAAA;QACxC5E,aAAA,CAAc;QACd;MACF;MAEA,MAAM0G,WAAA,GAAcL,GAAA,CAAIE,OAAO,CAACI,GAAG,CAAC;MACpC,MAAMC,MAAA,GAASF,WAAA,IAAeA,WAAA,CAAYG,OAAO,CAAC,wBAAwB,CAAC;MAE3E;MACA,IAAIC,IAAA,GAA4B,CAAC;MAEjC,IAAIF,MAAA,EAAQ;QACVE,IAAA,GAAO,MAAMT,GAAA,CAAIS,IAAI;MACvB;MAEA,IAAIT,GAAA,CAAII,MAAM,GAAG,KAAK;QACpB/G,wBAAA,CAA0BqH,KAAA,IAAUA,KAAA,GAAQ;QAE5C,IAAI,OAAOlJ,SAAA,KAAc,YAAY;UACnC,MAAMmJ,YAAA,GAAe,MAAMnJ,SAAA,CAAUiJ,IAAA,EAAM;YACzC3C,OAAA;YACA1C,SAAA,EAAW+D;UACb;UAEA,IAAIwB,YAAA,EAAc;YAChBtF,cAAA,CAAe;cACbkC,IAAA,EAAM;cACNK,YAAA;cACAgD,YAAA,EAAcrF,aAAA;cACdsF,WAAA,EAAaF;YACf;UACF;QACF;QAEAxH,YAAA,CAAa;QACbQ,aAAA,CAAc;QAEd,IAAIlC,QAAA,EAAU;UACZ,KAAKoB,oBAAA,CAAqB,MAAMb,MAAA,CAAO8I,IAAI,CAACrJ,QAAA;QAC9C,OAAO,IAAI,CAAC4G,YAAA,EAAc;UACxBG,YAAA,CAAaiC,IAAA,CAAKM,OAAO,IAAIzI,CAAA,CAAE;QACjC;MACF,OAAO;QACLqB,aAAA,CAAc;QACdR,YAAA,CAAa;QAEb;QACA;QACA;QACA,IAAIgF,iBAAiB,CAAC,UAAU,KAAK,SAAS;UAC5C/D,WAAA,CAAY;UAEZ,IAAI,CAAC7D,cAAA,EAAgB;YACnB4C,YAAA,CAAa;UACf;QACF;QAEA6B,UAAA,CAAWf,OAAO,GAAG;UAAE,GAAGe,UAAA,CAAWf;QAAQ,GAAE;QAE/C,IAAIwG,IAAA,CAAKM,OAAO,EAAE;UAChBxC,UAAA,CAAWkC,IAAA,CAAKM,OAAO;UACvB;QACF;QAEA,IAAInE,KAAA,CAAMC,OAAO,CAAC4D,IAAA,CAAKO,MAAM,GAAG;UAC9B,MAAM,CAACC,WAAA,EAAaC,cAAA,CAAe,GAAGT,IAAA,CAAKO,MAAM,CAAC1B,MAAM,CACtD,CAAC,CAAC6B,SAAA,EAAWC,YAAA,CAAa,EAAEC,KAAA;YAC1B,MAAMC,YAAA,GAAe,EAAE;YACvB,MAAMC,eAAA,GAAkB,EAAE;YAE1B,IAAIF,KAAA,EAAKN,OAAA,EAAS;cAChBQ,eAAA,CAAgBT,IAAI,CAACO,KAAA;YACvB;YAEA,IAAIzE,KAAA,CAAMC,OAAO,CAACwE,KAAA,EAAK3F,IAAA,EAAMsF,MAAA,GAAS;cACpCK,KAAA,CAAI3F,IAAI,EAAEsF,MAAA,CAAOQ,OAAA,CAASC,SAAA;gBACxB,IAAIA,SAAA,EAAWzF,IAAA,EAAM;kBACnBsF,YAAA,CAAaR,IAAI,CAACW,SAAA;gBACpB,OAAO;kBACLF,eAAA,CAAgBT,IAAI,CAACW,SAAA;gBACvB;cACF;YACF;YAEA,OAAO,CACL,C,GAAIN,SAAA,E,GAAcG,YAAA,CAAa,EAC/B,C,GAAIF,YAAA,E,GAAiBG,eAAA,CAAgB,CACtC;UACH,GACA,CAAC,EAAE,EAAE,EAAE,CAAC;UAGVhI,UAAA,CAAW;UAEX,MAAMmI,iBAAA,GAAoB;YACxBnE,IAAA,EAAM;YACNyD,MAAA,EAAQC;UACV;UAEA1F,aAAA,CAActB,OAAO,GAAGrE,YAAA,CAAa2F,aAAA,CAActB,OAAO,EAAEyH,iBAAA;UAC5DrG,cAAA,CAAeqG,iBAAA;UAEfR,cAAA,CAAeM,OAAO,CAAEH,KAAA;YACtB;YACA,IACE5I,eAAA,GACE4I,KAAA,EACA,MAAM,KAAKrG,UAAA,CAAWf,OAAO,CAACwD,MAAM,CAAC;cAAES,SAAA,EAAWC;YAAkB,KAEtE;cACA;YACF;YACAI,UAAA,cAAWoD,IAAA,CAAC9N,gBAAA;cAAiBuJ,YAAA,EAAciE,KAAA,CAAIN,OAAO,IAAIzI,CAAA,CAAE;;UAC9D;UAEA;QACF;QAEA,MAAMyI,OAAA,GAAUpL,aAAA,GAAgBqK,GAAA,CAAII,MAAM,CAAC,IAAIJ,GAAA,EAAK4B,UAAA,IAActJ,CAAA,CAAE;QAEpEiG,UAAA,CAAWwC,OAAA;MACb;MAEA,OAAO;QAAE3F,SAAA,EAAWJ,UAAA,CAAWf,OAAO,CAACqB,MAAM;QAAE0E;MAAI;IACrD,EAAE,OAAOqB,GAAA,EAAK;MACZQ,OAAA,CAAQ/C,KAAK,CAAC,yBAAyBuC,GAAA,GAAK;MAC5C1H,aAAA,CAAc;MACdR,YAAA,CAAa;MACbH,WAAA,CAAY;MACZuF,UAAA,CAAW8C,GAAA,CAAIN,OAAO;IACxB;EACF,GACA,CACEtK,YAAA,EACAoC,oBAAA,EACArC,MAAA,EACAM,oBAAA,EACAC,yBAAA,EACAH,QAAA,EACAyE,cAAA,EACApE,cAAA,EACAa,MAAA,EACAP,QAAA,EACAC,SAAA,EACAC,QAAA,EACAO,MAAA,EACAM,CAAA,EACAD,IAAA,EACA9B,cAAA,EACAsB,mBAAA,EACAuC,WAAA,EACAjB,YAAA,EACAV,eAAA,CACD;EAGH,MAAMqJ,SAAA,GAAYvO,WAAA,CAAY,MAAMyH,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAE,EAAE;EAEjE,MAAMyG,QAAA,GAAWxO,WAAA,CAAayI,MAAA,IAAiBhB,UAAA,CAAWf,OAAO,CAACqB,MAAM,CAACU,MAAA,CAAK,EAAE,EAAE;EAElF,MAAML,OAAA,GAAUpI,WAAA,CAAY,MAAMJ,oBAAA,CAAqB6H,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAE,OAAO,EAAE;EAE3F,MAAMtI,cAAA,GAAiBO,WAAA,CACpByI,MAAA,IAAiB/I,kBAAA,CAAmB+H,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAEU,MAAA,GAChE,EAAE;EAGJ,MAAMlJ,aAAA,GAAgBS,WAAA,CACnByI,MAAA,IAAiBjJ,iBAAA,CAAkBiI,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAEU,MAAA,GAC/D,EAAE;EAGJ,MAAM6D,cAAA,GAAiBtM,WAAA,CACrB,OAAO2K,WAAA,EAAW;IAAExC,IAAA,EAAMsG,YAAY;IAAElC,iBAAA,GAAoB;EAAI,CAAE;IAChE,IAAIpE,MAAA,GAAOsG,YAAA,IAAgB7O,oBAAA,CAAqB6H,UAAA,CAAWf,OAAO,CAACqB,MAAM,EAAE;IAE3E,IAAI2G,IAAA,GAAOvG,MAAA,EAAMuG,IAAA;IAEjB,IAAI9L,SAAA,IAAa,YAAYA,SAAA,IAAaA,SAAA,CAAU+L,MAAM,IAAID,IAAA,EAAM;MAClE,OAAOvG,MAAA,CAAKuG,IAAI;MAEhB,MAAME,OAAA,GAAUrJ,gBAAA,CAAiB;QAAE5C;MAAe;MAElD,IACE,OAAOiM,OAAA,KAAY,cACnB,CAAC/O,8BAAA,CAA+B;QAC9BgP,wBAAA,EAA0BjM,SAAA,CAAU+L,MAAM,CAACE,wBAAwB;QACnEC,QAAA,EAAUJ,IAAA,CAAKK,IAAI;QACnBC,QAAA,EAAUN,IAAA,CAAK1E;MACjB,IACA;QACA0E,IAAA,GAAOO,IAAA,CAAKC,SAAS,CACnB,MAAMN,OAAA,CAAQ;UACZO,SAAA,EAAW,OAAOhH,MAAA,EAAMiH,MAAA,KAAW,WAAWjH,MAAA,CAAKiH,MAAM,GAAG5K,SAAA;UAC5DkK;QACF;MAEJ;IACF;IAEA,IAAInC,iBAAA,EAAmB;MACrBpE,MAAA,GAAO;QACL,GAAGA,MAAI;QACP,GAAGwC;MACL;IACF,OAAO;MACLxC,MAAA,GAAOwC,WAAA;IACT;IAEA,MAAM0E,eAAA,GAA2C;MAC/CC,QAAA,EAAUL,IAAA,CAAKC,SAAS,CAAC/G,MAAA;IAC3B;IAEA,IAAIvF,SAAA,IAAa,YAAYA,SAAA,IAAaA,SAAA,CAAU+L,MAAM,IAAID,IAAA,EAAM;MAClEW,eAAA,CAAgBX,IAAI,GAAGA,IAAA;IACzB;IAEA;IACA,MAAMrC,UAAA,GAAWhN,SAAA,CAAUgQ,eAAA,EAAiB;MAC1CE,OAAA,EAAS;MACTC,iBAAA,EAAmB;IACrB;IAEA,OAAOnD,UAAA;EACT,GACA,CAAC1J,cAAA,EAAgBC,SAAA,EAAW2C,gBAAA,CAAiB;EAG/C,MAAMkK,KAAA,GAAQzP,WAAA,CACZ,MAAOmI,MAAA;IACL,MAAMuH,UAAA,GAAanO,cAAA,CAAemG,iBAAA;IAElC,MAAMiI,cAAA,GAAiB,MAAM7M,iBAAA;IAE7B,MAAM;MAAEmH,KAAA,EAAO2F;IAAQ,CAAE,GAAG,MAAMvK,YAAA,CAAa;MAC7C3C,EAAA;MACAC,cAAA;MACAwF,IAAA,EAAAA,MAAA;MACAtF,cAAA;MACA8M,cAAA;MACA5M,UAAA;MACA6B,MAAA;MACAO,SAAA;MACA0K,eAAA,EAAiB;MACjBC,UAAA,EAAYnN,cAAA,GAAiBA,cAAA,GAAiBI,UAAA;MAC9CgN,MAAA,EAAQL,UAAA,CAAWK,MAAM;MACzBlF,cAAA,EAAgB;IAClB;IAEApD,UAAA,CAAWf,OAAO,GAAG;MAAE,GAAGpE;IAAiB;IAC3CuE,WAAA,CAAY;IACZiB,cAAA,CAAe;MAAEkC,IAAA,EAAM;MAAiBC,KAAA,EAAO2F;IAAS;IAExDlI,iBAAA,CAAkBhB,OAAO,GAAG;EAC9B,GACA,CACE/D,cAAA,EACAmF,cAAA,EACA/E,UAAA,EACAL,EAAA,EACAyC,SAAA,EACAE,YAAA,EACAxC,cAAA,EACAC,iBAAA,EACA8B,MAAA,EACAiC,WAAA,CACD;EAGH,MAAMmJ,YAAA,GAAehQ,WAAA,CAClBiK,KAAA;IACCxC,UAAA,CAAWf,OAAO,GAAG;MAAE,GAAGpE;IAAiB;IAC3CuE,WAAA,CAAY;IACZiB,cAAA,CAAe;MAAEkC,IAAA,EAAM;MAAiBC;IAAM;EAChD,GACA,CAACnC,cAAA,EAAgBjB,WAAA,CAAY;EAG/B,MAAMoJ,WAAA,GAA8CjQ,WAAA,CAClD,CAAC;IAAEkQ,SAAS;IAAEzH,IAAI,EAAJA,MAAI;IAAE0H,QAAA,EAAUC,WAAW;IAAEC;EAAa,CAAE;IACxD,MAAMC,OAAA,GAAqB/Q,aAAA,CAAckJ,MAAA,KAAS,EAAE;IACpD,MAAM0H,QAAA,GAAWC,WAAA,KAAgB5L,SAAA,GAAY8L,OAAA,CAAQC,MAAM,GAAGH,WAAA;IAE9D;IACA;IACAtI,cAAA,CAAe;MACbkC,IAAA,EAAM;MACNkG,SAAA;MACAzH,IAAA,EAAAA,MAAA;MACA0H,QAAA;MACAE;IACF;IAEAxJ,WAAA,CAAY;EACd,GACA,CAACiB,cAAA,EAAgBvI,aAAA,EAAesH,WAAA,CAAY;EAG9C,MAAM2J,YAAA,GAAgDxQ,WAAA,CACpD,CAAC;IAAEyQ,aAAa;IAAEC,WAAW;IAAEjI,IAAI,EAAJA;EAAI,CAAE;IACnCX,cAAA,CAAe;MACbkC,IAAA,EAAM;MACNyG,aAAA;MACAC,WAAA;MACAjI,IAAA,EAAAA;IACF;IAEA5B,WAAA,CAAY;EACd,GACA,CAACiB,cAAA,EAAgBjB,WAAA,CAAY;EAG/B,MAAM8J,cAAA,GAAoD3Q,WAAA,CACxD,CAAC;IAAEyI,IAAI,EAAJA,MAAI;IAAE0H,QAAQ,EAARA;EAAQ,CAAE;IACjBrI,cAAA,CAAe;MAAEkC,IAAA,EAAM;MAAcvB,IAAA,EAAAA,MAAA;MAAM0H,QAAA,EAAAA;IAAS;IAEpDtJ,WAAA,CAAY;EACd,GACA,CAACiB,cAAA,EAAgBjB,WAAA,CAAY;EAG/B,MAAM+J,eAAA,GAAsD5Q,WAAA,CAC1D,CAAC;IAAEkQ,SAAS,EAATA,WAAS;IAAEzH,IAAI,EAAJA,MAAI;IAAE0H,QAAA,EAAUC,aAAW;IAAEC,aAAa,EAAbA;EAAa,CAAE;IACxD,MAAMQ,WAAA,GAAyBtR,aAAA,CAAckJ,MAAA;IAC7C,MAAM0H,UAAA,GAAWC,aAAA,KAAgB5L,SAAA,GAAYqM,WAAA,CAAYN,MAAM,GAAGH,aAAA;IAElEtI,cAAA,CAAe;MACbkC,IAAA,EAAM;MACNkG,SAAA,EAAAA,WAAA;MACAzH,IAAA,EAAAA,MAAA;MACA0H,QAAA,EAAAA,UAAA;MACAE,aAAA,EAAAA;IACF;IAEAxJ,WAAA,CAAY;EACd,GACA,CAACiB,cAAA,EAAgBvI,aAAA,EAAesH,WAAA,CAAY;EAG9C5G,SAAA,CAAU;IACR,MAAM6Q,aAAA,GAAgBpJ,iBAAA,CAAkBhB,OAAO;IAE/C,OAAO;MACLpF,cAAA,CAAewP,aAAA;IACjB;EACF,GAAG,EAAE;EAEL7Q,SAAA,CAAU;IACR,IAAI6D,qBAAA,KAA0BU,SAAA,EAAW;MACvC0B,eAAA,CAAgBpC,qBAAA;IAClB;EACF,GAAG,CAACA,qBAAA,CAAsB;EAE1B2D,UAAA,CAAWf,OAAO,CAACwD,MAAM,GAAGA,MAAA;EAC5BzC,UAAA,CAAWf,OAAO,CAAC6H,SAAS,GAAGA,SAAA;EAC/B9G,UAAA,CAAWf,OAAO,CAAC8H,QAAQ,GAAGA,QAAA;EAC9B/G,UAAA,CAAWf,OAAO,CAAC0B,OAAO,GAAGA,OAAA;EAC7BX,UAAA,CAAWf,OAAO,CAACjH,cAAc,GAAGA,cAAA;EACpCgI,UAAA,CAAWf,OAAO,CAACnH,aAAa,GAAGA,aAAA;EACnCkI,UAAA,CAAWf,OAAO,CAACuB,YAAY,GAAGA,YAAA;EAClCR,UAAA,CAAWf,OAAO,CAAC4F,cAAc,GAAGA,cAAA;EACpC7E,UAAA,CAAWf,OAAO,CAACG,WAAW,GAAGA,WAAA;EACjCY,UAAA,CAAWf,OAAO,CAACN,aAAa,GAAGA,aAAA;EACnCqB,UAAA,CAAWf,OAAO,CAACD,uBAAuB,GAAGA,uBAAA;EAE7CgB,UAAA,CAAWf,OAAO,CAACd,YAAY,GAAGA,YAAA;EAClC6B,UAAA,CAAWf,OAAO,CAACV,UAAU,GAAGA,UAAA;EAChCyB,UAAA,CAAWf,OAAO,CAACrD,QAAQ,GAAGA,QAAA;EAC9BoE,UAAA,CAAWf,OAAO,CAACjB,WAAW,GAAGA,WAAA;EACjCgC,UAAA,CAAWf,OAAO,CAACI,OAAO,GAAGA,OAAA;EAC7BW,UAAA,CAAWf,OAAO,CAAC+I,KAAK,GAAGA,KAAA;EAC3BhI,UAAA,CAAWf,OAAO,CAACsJ,YAAY,GAAGA,YAAA;EAClCvI,UAAA,CAAWf,OAAO,CAACoB,cAAc,GAAGA,cAAA;EACpCL,UAAA,CAAWf,OAAO,CAACuJ,WAAW,GAAGA,WAAA;EACjCxI,UAAA,CAAWf,OAAO,CAACiK,cAAc,GAAGA,cAAA;EACpClJ,UAAA,CAAWf,OAAO,CAAC8J,YAAY,GAAGA,YAAA;EAClC/I,UAAA,CAAWf,OAAO,CAACkK,eAAe,GAAGA,eAAA;EACrCnJ,UAAA,CAAWf,OAAO,CAACrC,IAAI,GAAGA,IAAA;EAC1BoD,UAAA,CAAWf,OAAO,CAACT,YAAY,GAAGA,YAAA;EAClCwB,UAAA,CAAWf,OAAO,CAACX,OAAO,GAAGA,OAAA;EAE7B9F,SAAA,CAAU;IACR0F,YAAA,CAAa;EACf,GAAG,EAAE;EAEL1F,SAAA,CAAU;IACR,IAAI,OAAOqD,iBAAA,KAAsB,WAAW;MAC1CmC,WAAA,CAAYnC,iBAAA;IACd;EACF,GAAG,CAACA,iBAAA,CAAkB;EAEtBrD,SAAA,CAAU;IACR,IAAI,OAAOmE,kBAAA,KAAuB,WAAW;MAC3CwB,YAAA,CAAaxB,kBAAA;IACf;EACF,GAAG,CAACA,kBAAA,CAAmB;EAEvBnE,SAAA,CAAU;IACR,IAAI0D,YAAA,EAAc;MAChB8D,UAAA,CAAWf,OAAO,GAAG;QAAE,GAAGpE;MAAiB;MAC3CwF,cAAA,CAAe;QACbkC,IAAA,EAAM;QACN+G,QAAA,EAAU;QACV9G,KAAA,EAAOtG;MACT;IACF;EACF,GAAG,CAACA,YAAA,EAAcmE,cAAA,CAAe;EAEjCpH,kBAAA,CACE;IACEsE,aAAA;EACF,GACA,OACA,CAAC6C,SAAA,CAAU;EAGb,MAAMmJ,kBAAA,GAAqBxQ,cAAA,CAAe;IACxCiH,UAAA,CAAWf,OAAO,GAAG;MAAE,GAAGe,UAAA,CAAWf;IAAQ,GAAE;IAC/CG,WAAA,CAAY;EACd;EAEA5G,SAAA,CAAU;IACR+Q,kBAAA;EACF,GAAG,CAACpM,MAAA,CAAO;EAEX,MAAMqM,OAAA,GAAU,CAAC7N,SAAA,EAAWb,SAAA,CAAU,CAAC2O,MAAM,CAAC1E,OAAA,EAAS2E,IAAI,CAAC;EAE5D,MAAMC,eAAA,GAAkB5Q,cAAA,CAAgB2D,WAAA;IACtCiB,SAAA,CAAU;MACR,IAAIiE,KAAA,CAAMC,OAAO,CAACvF,QAAA,GAAW;QAC3B,IAAIuJ,WAAA;QAEJ,KAAK,MAAM+D,UAAA,IAActN,QAAA,EAAU;UACjC;UACAuJ,WAAA,GAAc,MAAM+D,UAAA,CAAW;YAC7BxJ,SAAA,EAAWvI,0CAAA,CAA2CuI,SAAA,EAAW;cAC/DgE,YAAA,EAAc;YAChB;YACA1H,SAAA,EAAAA;UACF;QACF;QAEA2D,cAAA,CAAe;UACbkC,IAAA,EAAM;UACNqD,YAAA,EAAcrF,aAAA;UACdsF;QACF;MACF;IACF;EACF;EAEA/M,kBAAA,CACE;IACE,IAAI,CAACoH,gBAAA,CAAiBjB,OAAO,IAAI,CAACtH,MAAA,CAAOyI,SAAA,EAAWG,aAAA,CAActB,OAAO,MAAMC,QAAA,EAAU;MACvFyK,eAAA,CAAgBjN,SAAA;IAClB;IAEA6D,aAAA,CAActB,OAAO,GAAGmB,SAAA;IACxBF,gBAAA,CAAiBjB,OAAO,GAAG;EAC7B,GACA,CAACC,QAAA,EAAUxC,SAAA,EAAW0D,SAAA,CAAU,EAChC;EAGF,MAAMyJ,4BAAA,GAA8C1N,cAAA,GAChDlC,mBAAA,GACA3B,KAAA,CAAMwR,QAAQ;EAElB,MAAMC,wBAAA,GAA2B5N,cAAA,GAC7B;IACEuF,KAAA,EAAO1B,UAAA,CAAWf;EACpB,IACA,CAAC;EAEL,MAAM+K,EAAA,GAAahO,EAAC,IAA4B;EAEhD,oBACE2K,IAAA,CAACqD,EAAA;IACCxO,MAAA,EAAQ,OAAOA,MAAA,KAAW,aAAa,KAAKA,MAAA,GAASA,MAAA;IACrDG,SAAA,EAAW6N,OAAA;IACX;;;;;IAKA,mBAAiB,CAAC9K,UAAA,IAAcT,SAAA,IAAa,CAACO,YAAA;IAC9C1B,MAAA,EAAQA,MAAA;IACRmN,UAAU;IACV1N,QAAA,EAAWoG,GAAA,IAAM,KAAK3C,UAAA,CAAWf,OAAO,CAACwD,MAAM,CAAC,CAAC,GAAGE,GAAA;IACpDuH,GAAA,EAAK7K,OAAA;cAEL,aAAAsH,IAAA,CAACkD,4BAAA;MAA8B,GAAGE,wBAAwB;gBACxD,aAAApD,IAAA,CAACzM,WAAA;QAAYwH,KAAA,EAAO1B,UAAA,CAAWf,OAAO;kBACpC,aAAA0H,IAAA,CAACvM,gBAAA;UACCsH,KAAA,EAAO;YACLpB,MAAA,EAAQF,SAAA;YACR,GAAGJ,UAAA,CAAWf;UAChB;oBAEA,aAAA0H,IAAA,CAACnM,gBAAA;YAAiBkH,KAAA,EAAOhF,SAAA;sBACvB,aAAAiK,IAAA,CAACtM,mBAAA;cAAoBqH,KAAA,EAAO,CAACzD,SAAA,IAAcA,SAAA,IAAaO,YAAA;wBACtD,aAAAmI,IAAA,CAACpM,iBAAA;gBAAkBmH,KAAA,EAAOhD,UAAA;0BACxB,aAAAiI,IAAA,CAAC3M,2BAAA;kBAA4B0H,KAAA,EAAO9C,oBAAA;4BAClC,aAAA+H,IAAA,CAACrM,eAAA;oBAAgBoH,KAAA,EAAOxC,QAAA;8BAEtB,aAAAyH,IAAA,CAACxM,iBAAA,CAAkBgQ,QAAQ;sBAACzI,KAAA,EAAOvB,aAAA;gCACjC,aAAAwG,IAAA,CAAClM,4BAAA;wBAA6BiH,KAAA,EAAOtD,qBAAA;kCAClC1C;;;;;;;;;;;;AAa3B;AAEA,SACEzB,mBAAmB,EACnBC,WAAW,EACXC,iBAAiB,EACjBC,gBAAgB,EAChBE,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChB4P,gBAAgB,EAChB1P,eAAe,EACf2P,OAAO,EACPC,aAAa,EACbC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,YAAY,QACP","ignoreList":[]}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FormField, FormState } from 'payload';
|
|
2
2
|
type BlacklistedKeys = 'customComponents' | 'validate';
|
|
3
3
|
/**
|
|
4
4
|
* Takes in FormState and removes fields that are not serializable.
|
|
5
5
|
* Returns FormState without blacklisted keys.
|
|
6
|
+
*
|
|
7
|
+
* Removes custom components from rows as well as fields.
|
|
8
|
+
* Converts upload `File` values and initial values in `file` to `{ name }` metadata.
|
|
9
|
+
*
|
|
10
|
+
* Returns a new state without mutating the source fields, rows, or upload files.
|
|
11
|
+
* Returns `undefined` for falsy input.
|
|
6
12
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
};
|
|
13
|
+
export declare function reduceToSerializableFields(fields: FormState): Record<string, Omit<FormField, BlacklistedKeys>>;
|
|
14
|
+
export declare function reduceToSerializableFields(fields?: false | FormState | null): Record<string, Omit<FormField, BlacklistedKeys>> | undefined;
|
|
10
15
|
export {};
|
|
11
16
|
//# sourceMappingURL=reduceToSerializableFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceToSerializableFields.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reduceToSerializableFields.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAInD,KAAK,eAAe,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAiBtD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,GAChB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;AACnD,wBAAgB,0BAA0B,CACxC,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,GAChC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { setOwnProperty } from 'payload/shared';
|
|
1
2
|
const blacklistedKeys = ['validate', 'customComponents'];
|
|
2
3
|
const sanitizeField = incomingField => {
|
|
3
4
|
const field = {
|
|
@@ -7,17 +8,43 @@ const sanitizeField = incomingField => {
|
|
|
7
8
|
for (const key of blacklistedKeys) {
|
|
8
9
|
delete field[key];
|
|
9
10
|
}
|
|
11
|
+
if (field.rows) {
|
|
12
|
+
field.rows = field.rows.map(({
|
|
13
|
+
customComponents: _customComponents,
|
|
14
|
+
...row
|
|
15
|
+
}) => row);
|
|
16
|
+
}
|
|
10
17
|
return field;
|
|
11
18
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export const reduceToSerializableFields = fields => {
|
|
19
|
+
export function reduceToSerializableFields(fields) {
|
|
20
|
+
if (!fields) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
17
23
|
const result = {};
|
|
18
24
|
for (const key in fields) {
|
|
19
|
-
|
|
25
|
+
const field = sanitizeField(fields[key]);
|
|
26
|
+
if (key === 'file') {
|
|
27
|
+
field.initialValue = getFileMetadata({
|
|
28
|
+
value: field.initialValue
|
|
29
|
+
});
|
|
30
|
+
field.value = getFileMetadata({
|
|
31
|
+
value: field.value
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setOwnProperty({
|
|
35
|
+
key,
|
|
36
|
+
target: result,
|
|
37
|
+
value: field
|
|
38
|
+
});
|
|
20
39
|
}
|
|
21
40
|
return result;
|
|
22
|
-
}
|
|
41
|
+
}
|
|
42
|
+
function getFileMetadata({
|
|
43
|
+
value
|
|
44
|
+
}) {
|
|
45
|
+
// Validation needs the filename; the browser retains the bytes for submission and retries.
|
|
46
|
+
return typeof File !== 'undefined' && value instanceof File ? {
|
|
47
|
+
name: value.name
|
|
48
|
+
} : value;
|
|
49
|
+
}
|
|
23
50
|
//# sourceMappingURL=reduceToSerializableFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceToSerializableFields.js","names":["blacklistedKeys","sanitizeField","incomingField","field","key","reduceToSerializableFields","fields","result"],"sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"reduceToSerializableFields.js","names":["setOwnProperty","blacklistedKeys","sanitizeField","incomingField","field","key","rows","map","customComponents","_customComponents","row","reduceToSerializableFields","fields","undefined","result","initialValue","getFileMetadata","value","target","File","name"],"sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"sourcesContent":["import type { FormField, FormState } from 'payload'\n\nimport { setOwnProperty } from 'payload/shared'\n\ntype BlacklistedKeys = 'customComponents' | 'validate'\nconst blacklistedKeys: BlacklistedKeys[] = ['validate', 'customComponents']\n\nconst sanitizeField = (incomingField: FormField): FormField => {\n const field = { ...incomingField } // shallow copy, as we only need to remove top-level keys\n\n for (const key of blacklistedKeys) {\n delete field[key]\n }\n\n if (field.rows) {\n field.rows = field.rows.map(({ customComponents: _customComponents, ...row }) => row)\n }\n\n return field\n}\n\n/**\n * Takes in FormState and removes fields that are not serializable.\n * Returns FormState without blacklisted keys.\n *\n * Removes custom components from rows as well as fields.\n * Converts upload `File` values and initial values in `file` to `{ name }` metadata.\n *\n * Returns a new state without mutating the source fields, rows, or upload files.\n * Returns `undefined` for falsy input.\n */\nexport function reduceToSerializableFields(\n fields: FormState,\n): Record<string, Omit<FormField, BlacklistedKeys>>\nexport function reduceToSerializableFields(\n fields?: false | FormState | null,\n): Record<string, Omit<FormField, BlacklistedKeys>> | undefined\nexport function reduceToSerializableFields(\n fields?: false | FormState | null,\n): Record<string, Omit<FormField, BlacklistedKeys>> | undefined {\n if (!fields) {\n return undefined\n }\n\n const result: Record<string, Omit<FormField, BlacklistedKeys>> = {}\n\n for (const key in fields) {\n const field = sanitizeField(fields[key])\n\n if (key === 'file') {\n field.initialValue = getFileMetadata({ value: field.initialValue })\n field.value = getFileMetadata({ value: field.value })\n }\n\n setOwnProperty({ key, target: result, value: field })\n }\n\n return result\n}\n\nfunction getFileMetadata({ value }: { value: unknown }): unknown {\n // Validation needs the filename; the browser retains the bytes for submission and retries.\n return typeof File !== 'undefined' && value instanceof File ? { name: value.name } : value\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAG/B,MAAMC,eAAA,GAAqC,CAAC,YAAY,mBAAmB;AAE3E,MAAMC,aAAA,GAAiBC,aAAA;EACrB,MAAMC,KAAA,GAAQ;IAAE,GAAGD;EAAc,EAAE;AAAA;EAEnC,KAAK,MAAME,GAAA,IAAOJ,eAAA,EAAiB;IACjC,OAAOG,KAAK,CAACC,GAAA,CAAI;EACnB;EAEA,IAAID,KAAA,CAAME,IAAI,EAAE;IACdF,KAAA,CAAME,IAAI,GAAGF,KAAA,CAAME,IAAI,CAACC,GAAG,CAAC,CAAC;MAAEC,gBAAA,EAAkBC,iBAAiB;MAAE,GAAGC;IAAA,CAAK,KAAKA,GAAA;EACnF;EAEA,OAAON,KAAA;AACT;AAkBA,OAAO,SAASO,2BACdC,MAAiC;EAEjC,IAAI,CAACA,MAAA,EAAQ;IACX,OAAOC,SAAA;EACT;EAEA,MAAMC,MAAA,GAA2D,CAAC;EAElE,KAAK,MAAMT,GAAA,IAAOO,MAAA,EAAQ;IACxB,MAAMR,KAAA,GAAQF,aAAA,CAAcU,MAAM,CAACP,GAAA,CAAI;IAEvC,IAAIA,GAAA,KAAQ,QAAQ;MAClBD,KAAA,CAAMW,YAAY,GAAGC,eAAA,CAAgB;QAAEC,KAAA,EAAOb,KAAA,CAAMW;MAAa;MACjEX,KAAA,CAAMa,KAAK,GAAGD,eAAA,CAAgB;QAAEC,KAAA,EAAOb,KAAA,CAAMa;MAAM;IACrD;IAEAjB,cAAA,CAAe;MAAEK,GAAA;MAAKa,MAAA,EAAQJ,MAAA;MAAQG,KAAA,EAAOb;IAAM;EACrD;EAEA,OAAOU,MAAA;AACT;AAEA,SAASE,gBAAgB;EAAEC;AAAK,CAAsB;EACpD;EACA,OAAO,OAAOE,IAAA,KAAS,eAAeF,KAAA,YAAiBE,IAAA,GAAO;IAAEC,IAAA,EAAMH,KAAA,CAAMG;EAAK,IAAIH,KAAA;AACvF","ignoreList":[]}
|
|
@@ -38,7 +38,7 @@ export type FormProps = {
|
|
|
38
38
|
* feature of the Lexical Rich Text field)
|
|
39
39
|
*/
|
|
40
40
|
fields?: ClientField[];
|
|
41
|
-
handleResponse?: (res: Response, successToast: (value: string) => void, errorToast: (value: string) => void) =>
|
|
41
|
+
handleResponse?: (res: Response, successToast: (value: string) => void, errorToast: (value: string) => void) => unknown;
|
|
42
42
|
initialState?: FormState;
|
|
43
43
|
/**
|
|
44
44
|
* Determines if this Form is the main, top-level Form of a document. If set to true, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,IAAI,EACJ,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACpE,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE;IACJ;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAA;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,KACE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAChC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,IAAI,EACJ,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACpE,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE;IACJ;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAA;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,KACE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAChC,OAAO,CAAA;IACZ,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IAC1F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAClD,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,CACA;IACE,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C,GACD;IACE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;CAC7C,CACJ,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,CAAA;IACX;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,KAAA,KAAK,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,KACjC,OAAO,CAAC;;;;GAIV,CACH,AALa;;;;GAIV,CACH;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,CAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AACnC;;;GAGG;AACH,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,KACE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEjC,MAAM,MAAM,SAAS,GAAG,MAAM,SAAS,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;AAClD,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAA;AAChC,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,kBAAkB,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;CACf,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACzC,WAAW,EAAE,SAAS,CAAA;IACtB,IAAI,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,oBAAoB,EAAE,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;IACzB,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,wBAAwB,CAAA;IAC9B,WAAW,EAAE,GAAG,EAAE,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,WAAW,GACX,aAAa,GACb,sBAAsB,GACtB,iBAAiB,GACjB,MAAM,GACN,WAAW,CAAA;AAEf,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;AAElE,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,CAAC,EACZ,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,SAAS,CAAA;KAC1B,KAAK,IAAI,CAAA;IACV,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACrC;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,CAAC,EACb,aAAa,EACb,WAAW,EACX,IAAI,GACL,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,MAAM,CAAA;KACb,KAAK,IAAI,CAAA;IACV,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChF,eAAe,EAAE,CAAC,EAChB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,SAAS,CAAA;KAC1B,KAAK,IAAI,CAAA;IACV,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,uBAAuB,EAAE,aAAa,CAAA;IACtC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type {\n ClientField,\n Data,\n FormField,\n FormState,\n Row,\n User,\n ValidationFieldError,\n} from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nimport type { AcceptValues } from './mergeServerFormState.js'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormOnSuccess<T = unknown, C = Record<string, unknown>> = (\n json: T,\n ctx?: {\n /**\n * Arbitrary context passed to the onSuccess callback.\n */\n context?: C\n /**\n * The form state that was sent with the request when retrieving the `json` arg.\n */\n formState?: FormState\n },\n) => Promise<FormState | void> | void\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n /**\n * If you don't want the form to be a <form> element, you can pass a string here to use as the wrapper element.\n */\n el?: string\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: ClientField[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) =>
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type {\n ClientField,\n Data,\n FormField,\n FormState,\n Row,\n User,\n ValidationFieldError,\n} from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nimport type { AcceptValues } from './mergeServerFormState.js'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormOnSuccess<T = unknown, C = Record<string, unknown>> = (\n json: T,\n ctx?: {\n /**\n * Arbitrary context passed to the onSuccess callback.\n */\n context?: C\n /**\n * The form state that was sent with the request when retrieving the `json` arg.\n */\n formState?: FormState\n },\n) => Promise<FormState | void> | void\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n /**\n * If you don't want the form to be a <form> element, you can pass a string here to use as the wrapper element.\n */\n el?: string\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: ClientField[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => unknown\n initialState?: FormState\n /**\n * Determines if this Form is the main, top-level Form of a document. If set to true, the\n * Form's children will be wrapped in a DocumentFormContext, which lets you access this document\n * Form's data and fields from any child component - even if that child component is wrapped in a child\n * Form (e.g. a lexical block).\n */\n isDocumentForm?: boolean\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState; submitted?: boolean }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: FormOnSuccess\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions<C = Record<string, unknown>> = {\n acceptValues?: AcceptValues\n action?: string\n /**\n * If you want to pass additional data to the onSuccess callback, you can use this context object.\n *\n * @experimental This property is experimental and may change in the future.\n */\n context?: C\n /**\n * When true, will disable the form while it is processing.\n * @default true\n */\n disableFormWhileProcessing?: boolean\n /**\n * When true, will disable the success toast after form submission.\n * @default false\n */\n disableSuccessStatus?: boolean\n method?: string\n overrides?: ((formState) => FormData) | Record<string, unknown>\n /**\n * When true, will skip validation before submitting the form.\n * @default false\n */\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\n\nexport type Submit = <T extends Response, C extends Record<string, unknown>>(\n options?: SubmitOptions<C>,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise</**\n * Returns the form state and the response from the server.\n *\n * @experimental - Note: the `{ res: ... }` return type is experimental and may change in the future. Use at your own risk.\n */\n{ formState?: FormState; res: T } | void>\n\nexport type ValidateForm = () => Promise<boolean>\n\nexport type CreateFormData = (\n overrides?: Record<string, unknown>,\n /**\n * If mergeOverrideData true, the data will be merged with the existing data in the form state.\n * @default true\n */\n options?: {\n /**\n * If provided, will use this instead of of derived data from the current form state.\n */\n data?: Data\n mergeOverrideData?: boolean\n },\n) => FormData | Promise<FormData>\n\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type UPDATE_MANY = {\n formState: FormState\n type: 'UPDATE_MANY'\n}\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type MERGE_SERVER_STATE = {\n acceptValues?: AcceptValues\n prevStateRef?: React.RefObject<FormState>\n serverState: FormState\n type: 'MERGE_SERVER_STATE'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: ValidationFieldError[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n path: string\n type: 'SET_ROW_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n path: string\n type: 'SET_ALL_ROWS_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MERGE_SERVER_STATE\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n | UPDATE_MANY\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex?: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.RefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\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 isValid: boolean\n moveFieldRow: ({\n moveFromIndex,\n moveToIndex,\n path,\n }: {\n moveFromIndex: number\n moveToIndex: number\n path: string\n }) => void\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n blockType,\n path,\n rowIndex,\n schemaPath,\n subFieldState,\n }: {\n blockType?: string\n path: string\n rowIndex: number\n schemaPath: string\n subFieldState?: FormState\n }) => void\n replaceState: (state: FormState) => void\n reset: Reset\n /**\n * If the form has started processing in the background (e.g.\n * if autosave is running), this will be true.\n */\n setBackgroundProcessing: SetProcessing\n setDisabled: (disabled: boolean) => void\n setIsValid: (processing: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"mappings":"AAmQA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Banner","CheckboxField","useConfig","useLocale","useTranslation","useForm","baseClass","buildNullifyLocaleFieldUpdate","fieldValue","path","useFallback","type","disableFormData","undefined","value","NullifyLocaleField","t0","$","localized","readOnly","t1","locale","currentLocale","code","config","t2","localization","checked","setChecked","useState","t","dispatchFields","setModified","defaultLocale","fallback","t3","onChange","hideCheckbox","Array","isArray","length","t4","_jsx","className","children","field","name","label","id","replace","schemaPath"],"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\nimport './index.css'\n\nconst baseClass = 'nullify-locale-field'\n\ntype NullifyLocaleFieldProps = {\n readonly fieldValue?: [] | null | number\n readonly localized: boolean\n readonly path: string\n readonly readOnly?: boolean\n}\n\nexport const buildNullifyLocaleFieldUpdate = ({\n fieldValue,\n path,\n useFallback,\n}: {\n fieldValue: NullifyLocaleFieldProps['fieldValue']\n path: string\n useFallback: boolean\n}) => ({\n type: 'UPDATE' as const,\n disableFormData: useFallback ? undefined : false,\n path,\n value: useFallback ? null : fieldValue || 0,\n})\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n readOnly = false,\n}) => {\n const locale = useLocale()\n const currentLocale = locale?.code\n const {\n config: { localization },\n } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const { t } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n if (!localized || !localization) {\n // hide when field is not localized or localization is not enabled\n return null\n }\n\n if (localization.defaultLocale === currentLocale || !localization.fallback) {\n // if editing default locale or when fallback is disabled\n return null\n }\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields(buildNullifyLocaleFieldUpdate({ fieldValue, path, useFallback }))\n setModified(true)\n setChecked(useFallback)\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) {\n hideCheckbox = true\n }\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n hideCheckbox = true\n }\n\n if (hideCheckbox) {\n if (checked) {\n setChecked(false)\n } // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner className={baseClass}>\n {!fieldValue && readOnly ? (\n t('general:fallbackToDefaultLocale')\n ) : (\n <CheckboxField\n checked={checked}\n field={{\n name: '',\n label: t('general:fallbackToDefaultLocale'),\n }}\n id={`field-${path.replace(/\\./g, '__')}`}\n onChange={onChange}\n path={path}\n schemaPath=\"\"\n />\n )}\n </Banner>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,YAAYC,KAAA,MAAW;AAEvB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,6BAAA,GAAgCA,CAAC;EAC5CC,UAAU;EACVC,IAAI;EACJC;AAAW,CAKZ,MAAM;EACLC,IAAA,EAAM;EACNC,eAAA,EAAiBF,WAAA,GAAcG,SAAA,GAAY;EAC3CJ,IAAA;EACAK,KAAA,EAAOJ,WAAA,GAAc,OAAOF,UAAA,IAAc;AAC5C;AAEA,OAAO,MAAMO,kBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAnB,EAAA;EAAC;IAAAU,UAAA;IAAAU,SAAA;IAAAT,IAAA;IAAAU,QAAA,EAAAC;EAAA,IAAAJ,EAKrE;EADC,MAAAG,QAAA,GAAAC,EAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Banner","CheckboxField","useConfig","useLocale","useTranslation","useForm","baseClass","buildNullifyLocaleFieldUpdate","fieldValue","path","useFallback","type","disableFormData","undefined","value","NullifyLocaleField","t0","$","localized","readOnly","t1","locale","currentLocale","code","config","t2","localization","checked","setChecked","useState","t","dispatchFields","setModified","defaultLocale","fallback","t3","onChange","hideCheckbox","Array","isArray","length","t4","_jsx","className","children","field","name","label","id","replace","schemaPath"],"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\nimport './index.css'\n\nconst baseClass = 'nullify-locale-field'\n\ntype NullifyLocaleFieldProps = {\n readonly fieldValue?: [] | null | number\n readonly localized: boolean\n readonly path: string\n readonly readOnly?: boolean\n}\n\nexport const buildNullifyLocaleFieldUpdate = ({\n fieldValue,\n path,\n useFallback,\n}: {\n fieldValue: NullifyLocaleFieldProps['fieldValue']\n path: string\n useFallback: boolean\n}) => ({\n type: 'UPDATE' as const,\n disableFormData: useFallback ? undefined : false,\n path,\n value: useFallback ? null : fieldValue || 0,\n})\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n readOnly = false,\n}) => {\n const locale = useLocale()\n const currentLocale = locale?.code\n const {\n config: { localization },\n } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const { t } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n if (!localized || !localization) {\n // hide when field is not localized or localization is not enabled\n return null\n }\n\n if (localization.defaultLocale === currentLocale || !localization.fallback) {\n // if editing default locale or when fallback is disabled\n return null\n }\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields(buildNullifyLocaleFieldUpdate({ fieldValue, path, useFallback }))\n setModified(true)\n setChecked(useFallback)\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) {\n hideCheckbox = true\n }\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n hideCheckbox = true\n }\n\n if (hideCheckbox) {\n if (checked) {\n setChecked(false)\n } // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner className={baseClass}>\n {!fieldValue && readOnly ? (\n t('general:fallbackToDefaultLocale')\n ) : (\n <CheckboxField\n checked={checked}\n field={{\n name: '',\n label: t('general:fallbackToDefaultLocale'),\n }}\n id={`field-${path.replace(/\\./g, '__')}`}\n onChange={onChange}\n path={path}\n schemaPath=\"\"\n />\n )}\n </Banner>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderField.js","names":["c","_c","React","ArrayField","BlocksField","CheckboxField","CodeField","CollapsibleField","DateTimeField","EmailField","GroupField","HiddenField","JoinField","JSONField","NumberField","PointField","RadioGroupField","RelationshipField","RichTextField","RowField","SelectField","SlugField","TabsField","TextField","TextareaField","UIField","UploadField","useFormFields","RenderField","t0","$","clientFieldConfig","forceRender","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","schemaPath","t1","t2","fields","customComponents","Field","CustomField","Symbol","for","baseFieldProps","admin","hidden","_jsx","undefined","bb0","iterableFieldProps","type","field"],"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport React from 'react'\n\nimport { ArrayField } from '../../fields/Array/index.js'\nimport { BlocksField } from '../../fields/Blocks/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { CodeField } from '../../fields/Code/index.js'\nimport { CollapsibleField } from '../../fields/Collapsible/index.js'\nimport { DateTimeField } from '../../fields/DateTime/index.js'\nimport { EmailField } from '../../fields/Email/index.js'\nimport { GroupField } from '../../fields/Group/index.js'\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { JoinField } from '../../fields/Join/index.js'\nimport { JSONField } from '../../fields/JSON/index.js'\nimport { NumberField } from '../../fields/Number/index.js'\nimport { PointField } from '../../fields/Point/index.js'\nimport { RadioGroupField } from '../../fields/RadioGroup/index.js'\nimport { RelationshipField } from '../../fields/Relationship/index.js'\nimport { RichTextField } from '../../fields/RichText/index.js'\nimport { RowField } from '../../fields/Row/index.js'\nimport { SelectField } from '../../fields/Select/index.js'\nimport { SlugField } from '../../fields/Slug/index.js'\nimport { TabsField } from '../../fields/Tabs/index.js'\nimport { TextField } from '../../fields/Text/index.js'\nimport { TextareaField } from '../../fields/Textarea/index.js'\nimport { UIField } from '../../fields/UI/index.js'\nimport { UploadField } from '../../fields/Upload/index.js'\nimport { useFormFields } from '../../forms/Form/index.js'\n\ntype RenderFieldProps = {\n clientFieldConfig: ClientField\n permissions: SanitizedFieldPermissions\n} & FieldPaths &\n Pick<ClientComponentProps, 'forceRender' | 'readOnly' | 'schemaPath'>\n\nexport function RenderField({\n clientFieldConfig,\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n schemaPath,\n}: RenderFieldProps) {\n const CustomField = useFormFields(([fields]) => fields && fields?.[path]?.customComponents?.Field)\n\n const baseFieldProps: Pick<\n ClientComponentProps,\n 'forceRender' | 'permissions' | 'readOnly' | 'schemaPath'\n > = {\n forceRender,\n permissions,\n readOnly,\n schemaPath,\n }\n\n if (clientFieldConfig.admin?.hidden) {\n return <HiddenField {...baseFieldProps} path={path} />\n }\n\n if (CustomField !== undefined) {\n return CustomField || null\n }\n\n const iterableFieldProps = {\n ...baseFieldProps,\n indexPath,\n parentPath,\n parentSchemaPath,\n }\n\n switch (clientFieldConfig.type) {\n case 'array':\n return <ArrayField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'blocks':\n return <BlocksField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'checkbox':\n return <CheckboxField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'code':\n return <CodeField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'collapsible':\n return <CollapsibleField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'date':\n return <DateTimeField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'email':\n return <EmailField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'group':\n return <GroupField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'join':\n return <JoinField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'json':\n return <JSONField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'number':\n return <NumberField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'point':\n return <PointField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'radio':\n return <RadioGroupField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'relationship':\n return <RelationshipField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'richText':\n return <RichTextField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'row':\n return <RowField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'select':\n return <SelectField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'slug':\n return <SlugField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'tabs':\n return <TabsField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'text':\n return <TextField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'textarea':\n return <TextareaField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'ui':\n return <UIField />\n\n case 'upload':\n return <UploadField {...baseFieldProps} field={clientFieldConfig} path={path} />\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RenderField.js","names":["c","_c","React","ArrayField","BlocksField","CheckboxField","CodeField","CollapsibleField","DateTimeField","EmailField","GroupField","HiddenField","JoinField","JSONField","NumberField","PointField","RadioGroupField","RelationshipField","RichTextField","RowField","SelectField","SlugField","TabsField","TextField","TextareaField","UIField","UploadField","useFormFields","RenderField","t0","$","clientFieldConfig","forceRender","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","schemaPath","t1","t2","fields","customComponents","Field","CustomField","Symbol","baseFieldProps","admin","hidden","_jsx","bb0","undefined","iterableFieldProps","type","field","for"],"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n SanitizedFieldPermissions,\n} from 'payload'\n\nimport React from 'react'\n\nimport { ArrayField } from '../../fields/Array/index.js'\nimport { BlocksField } from '../../fields/Blocks/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { CodeField } from '../../fields/Code/index.js'\nimport { CollapsibleField } from '../../fields/Collapsible/index.js'\nimport { DateTimeField } from '../../fields/DateTime/index.js'\nimport { EmailField } from '../../fields/Email/index.js'\nimport { GroupField } from '../../fields/Group/index.js'\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { JoinField } from '../../fields/Join/index.js'\nimport { JSONField } from '../../fields/JSON/index.js'\nimport { NumberField } from '../../fields/Number/index.js'\nimport { PointField } from '../../fields/Point/index.js'\nimport { RadioGroupField } from '../../fields/RadioGroup/index.js'\nimport { RelationshipField } from '../../fields/Relationship/index.js'\nimport { RichTextField } from '../../fields/RichText/index.js'\nimport { RowField } from '../../fields/Row/index.js'\nimport { SelectField } from '../../fields/Select/index.js'\nimport { SlugField } from '../../fields/Slug/index.js'\nimport { TabsField } from '../../fields/Tabs/index.js'\nimport { TextField } from '../../fields/Text/index.js'\nimport { TextareaField } from '../../fields/Textarea/index.js'\nimport { UIField } from '../../fields/UI/index.js'\nimport { UploadField } from '../../fields/Upload/index.js'\nimport { useFormFields } from '../../forms/Form/index.js'\n\ntype RenderFieldProps = {\n clientFieldConfig: ClientField\n permissions: SanitizedFieldPermissions\n} & FieldPaths &\n Pick<ClientComponentProps, 'forceRender' | 'readOnly' | 'schemaPath'>\n\nexport function RenderField({\n clientFieldConfig,\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n schemaPath,\n}: RenderFieldProps) {\n const CustomField = useFormFields(([fields]) => fields && fields?.[path]?.customComponents?.Field)\n\n const baseFieldProps: Pick<\n ClientComponentProps,\n 'forceRender' | 'permissions' | 'readOnly' | 'schemaPath'\n > = {\n forceRender,\n permissions,\n readOnly,\n schemaPath,\n }\n\n if (clientFieldConfig.admin?.hidden) {\n return <HiddenField {...baseFieldProps} path={path} />\n }\n\n if (CustomField !== undefined) {\n return CustomField || null\n }\n\n const iterableFieldProps = {\n ...baseFieldProps,\n indexPath,\n parentPath,\n parentSchemaPath,\n }\n\n switch (clientFieldConfig.type) {\n case 'array':\n return <ArrayField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'blocks':\n return <BlocksField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'checkbox':\n return <CheckboxField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'code':\n return <CodeField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'collapsible':\n return <CollapsibleField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'date':\n return <DateTimeField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'email':\n return <EmailField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'group':\n return <GroupField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'join':\n return <JoinField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'json':\n return <JSONField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'number':\n return <NumberField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'point':\n return <PointField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'radio':\n return <RadioGroupField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'relationship':\n return <RelationshipField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'richText':\n return <RichTextField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'row':\n return <RowField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'select':\n return <SelectField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'slug':\n return <SlugField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'tabs':\n return <TabsField {...iterableFieldProps} field={clientFieldConfig} path={path} />\n\n case 'text':\n return <TextField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'textarea':\n return <TextareaField {...baseFieldProps} field={clientFieldConfig} path={path} />\n\n case 'ui':\n return <UIField />\n\n case 'upload':\n return <UploadField {...baseFieldProps} field={clientFieldConfig} path={path} />\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,9 +30,10 @@ export const FieldPathContext = React.createContext(undefined);
|
|
|
30
30
|
* @experimental This is an experimental API and may change at any time. Use at your own risk.
|
|
31
31
|
*/
|
|
32
32
|
export const useFieldPath = () => {
|
|
33
|
-
const context = React.
|
|
33
|
+
const context = React.use(FieldPathContext);
|
|
34
34
|
if (!context) {
|
|
35
|
-
|
|
35
|
+
// swallow the error, not all fields are wrapped in a FieldPathContext
|
|
36
|
+
return undefined;
|
|
36
37
|
}
|
|
37
38
|
return context;
|
|
38
39
|
};
|