@payloadcms/ui 4.0.0-internal.e7d4ebc → 4.0.0-internal.f05c47f
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 +121 -0
- package/dist/css/forms.css +0 -6
- package/dist/css/spacing.css +10 -3
- package/dist/css/z-index.css +1 -0
- package/dist/elements/AddNewRelation/index.css +0 -1
- package/dist/elements/AppHeader/index.css +1 -3
- 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.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +3 -0
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BranchSelector/index.css +83 -0
- package/dist/elements/BranchSelector/index.d.ts +12 -0
- package/dist/elements/BranchSelector/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/index.js +160 -0
- package/dist/elements/BranchSelector/index.js.map +1 -0
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +6 -2
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/CodeEditor/index.css +0 -5
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +3 -3
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/Combobox/index.css +76 -23
- package/dist/elements/Combobox/index.d.ts +7 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +58 -20
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +24 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +6 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +6 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.js +1 -0
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +3 -0
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/Locked/index.css +0 -8
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +70 -64
- package/dist/elements/Locked/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 +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/NavGroup/index.css +0 -1
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +8 -9
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- 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 +6 -2
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +4 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/index.css +0 -3
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +41 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.d.ts.map +1 -1
- package/dist/elements/RestoreButton/index.js +4 -1
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +3 -0
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +4 -3
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +145 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +22 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +29 -23
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +4 -1
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/index.css +0 -5
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +8 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- 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 +38 -10
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +38 -10
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -0
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +37 -73
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.css +0 -7
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +37 -15
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +80 -125
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +4 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -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 +9 -1
- package/dist/forms/Form/index.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/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +44 -40
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.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 +8 -2
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/Branch/index.d.ts +62 -0
- package/dist/providers/Branch/index.d.ts.map +1 -0
- package/dist/providers/Branch/index.js +192 -0
- package/dist/providers/Branch/index.js.map +1 -0
- package/dist/providers/Branch/index.server.d.ts +14 -0
- package/dist/providers/Branch/index.server.d.ts.map +1 -0
- package/dist/providers/Branch/index.server.js +80 -0
- package/dist/providers/Branch/index.server.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +5 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +4 -1
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +37 -31
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/Theme/index.d.ts +3 -0
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +107 -95
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/styles.css +12 -10
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +45 -39
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getRequestBranch.d.ts +18 -0
- package/dist/utilities/getRequestBranch.d.ts.map +1 -0
- package/dist/utilities/getRequestBranch.js +32 -0
- package/dist/utilities/getRequestBranch.js.map +1 -0
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +8 -0
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/matchesSearchQuery.d.ts +12 -0
- package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
- package/dist/utilities/matchesSearchQuery.js +23 -0
- package/dist/utilities/matchesSearchQuery.js.map +1 -0
- package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
- package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +49 -6
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- 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 +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +0 -14
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +6 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +6 -3
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/package.json +5 -10
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","componentId","scrollIdPrefix","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.css'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path: pathFromProps,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = minRowsProp ?? (required ? 1 : 0)\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={styles}\n >\n {shouldShowFieldError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n pasteRow={pasteRow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n scrollIdPrefix={scrollIdPrefix}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"danger\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","componentId","scrollIdPrefix","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteRowBelow","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.css'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path: pathFromProps,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = minRowsProp ?? (required ? 1 : 0)\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, scrollIdPrefix, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={styles}\n >\n {shouldShowFieldError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n scrollIdPrefix={scrollIdPrefix}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"danger\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ type BlocksFieldProps = {
|
|
|
17
17
|
moveRow: (fromIndex: number, toIndex: number) => void;
|
|
18
18
|
parentPath: string;
|
|
19
19
|
pasteRow: (rowIndex: number) => void;
|
|
20
|
+
pasteRowBelow: (rowIndex: number) => void;
|
|
20
21
|
path: string;
|
|
21
22
|
permissions: SanitizedFieldPermissions;
|
|
22
23
|
readOnly: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG/F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAiBhH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAA;IAChD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG/F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAiBhH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAA;IAChD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2L/C,CAAA"}
|
|
@@ -34,6 +34,7 @@ export const BlockRow = ({
|
|
|
34
34
|
moveRow,
|
|
35
35
|
parentPath,
|
|
36
36
|
pasteRow,
|
|
37
|
+
pasteRowBelow,
|
|
37
38
|
path,
|
|
38
39
|
permissions,
|
|
39
40
|
readOnly,
|
|
@@ -111,6 +112,7 @@ export const BlockRow = ({
|
|
|
111
112
|
moveRow: moveRow,
|
|
112
113
|
pasteData: pasteData,
|
|
113
114
|
pasteRow: pasteRow,
|
|
115
|
+
pasteRowBelow: pasteRowBelow,
|
|
114
116
|
removeRow: removeRow,
|
|
115
117
|
rowCount: rowCount,
|
|
116
118
|
rowIndex: rowIndex
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockRow.js","names":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isDragging","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","i18n","hasSubmitted","pasteData","useMemo","schemaBlocks","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","_jsx","id","split","ref","style","zIndex","undefined","actions","blockType","className","collapsibleStyle","dragHandleProps","header","height","width","_jsxs","CustomComponent","label","_Fragment","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: (ClientBlock | string)[] | ClientBlock[]\n copyRow: (rowIndex: number) => void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n pasteRow: (rowIndex: number) => void\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isDragging,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const pasteData = React.useMemo(\n () => ({ path, schemaBlocks: blocks as ClientBlock[] }),\n [path, blocks],\n )\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n isDragging && `${baseClass}__row--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable && !readOnly\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={Label}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BlockRow.js","names":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isDragging","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","pasteRowBelow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","i18n","hasSubmitted","pasteData","useMemo","schemaBlocks","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","_jsx","id","split","ref","style","zIndex","undefined","actions","blockType","className","collapsibleStyle","dragHandleProps","header","height","width","_jsxs","CustomComponent","label","_Fragment","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: (ClientBlock | string)[] | ClientBlock[]\n copyRow: (rowIndex: number) => void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n pasteRow: (rowIndex: number) => void\n pasteRowBelow: (rowIndex: number) => void\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isDragging,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n pasteRowBelow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const pasteData = React.useMemo(\n () => ({ path, schemaBlocks: blocks as ClientBlock[] }),\n [path, blocks],\n )\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n isDragging && `${baseClass}__row--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable && !readOnly\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={Label}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export declare const RowActions: React.FC<{
|
|
|
14
14
|
readonly moveRow: (fromIndex: number, toIndex: number) => void;
|
|
15
15
|
readonly pasteData: ClipboardPasteEligibilityArgs;
|
|
16
16
|
readonly pasteRow: (rowIndex: number) => void;
|
|
17
|
+
readonly pasteRowBelow: (rowIndex: number) => void;
|
|
17
18
|
readonly removeRow: (rowIndex: number) => void;
|
|
18
19
|
readonly rowCount: number;
|
|
19
20
|
readonly rowIndex: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AAM5F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,
|
|
1
|
+
{"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AAM5F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAyDA,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { ArrayAction } from '../../elements/ArrayAction/index.js';
|
|
|
8
8
|
import { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js';
|
|
9
9
|
import { BlocksDrawer } from './BlocksDrawer/index.js';
|
|
10
10
|
export const RowActions = props => {
|
|
11
|
-
const $ = _c(
|
|
11
|
+
const $ = _c(30);
|
|
12
12
|
const {
|
|
13
13
|
addRow,
|
|
14
14
|
blocks,
|
|
@@ -21,6 +21,7 @@ export const RowActions = props => {
|
|
|
21
21
|
moveRow,
|
|
22
22
|
pasteData,
|
|
23
23
|
pasteRow,
|
|
24
|
+
pasteRowBelow,
|
|
24
25
|
removeRow,
|
|
25
26
|
rowCount,
|
|
26
27
|
rowIndex
|
|
@@ -48,28 +49,28 @@ export const RowActions = props => {
|
|
|
48
49
|
t0 = $[4];
|
|
49
50
|
}
|
|
50
51
|
let t1;
|
|
51
|
-
if ($[5] !== blockType || $[6] !== blocks || $[7] !== copyRow || $[8] !== drawerSlug || $[9] !== duplicateRow || $[10] !== hasMaxRows || $[11] !== isSortable || $[12] !== labels || $[13] !== moveRow || $[14] !== openModal || $[15] !== pasteData || $[16] !== pasteRow || $[17] !==
|
|
52
|
+
if ($[5] !== blockType || $[6] !== blocks || $[7] !== copyRow || $[8] !== drawerSlug || $[9] !== duplicateRow || $[10] !== hasMaxRows || $[11] !== isSortable || $[12] !== labels || $[13] !== moveRow || $[14] !== openModal || $[15] !== pasteData || $[16] !== pasteRow || $[17] !== pasteRowBelow || $[18] !== removeRow || $[19] !== rowCount || $[20] !== rowIndex || $[21] !== t0) {
|
|
52
53
|
let t2;
|
|
53
|
-
if ($[
|
|
54
|
+
if ($[23] !== drawerSlug || $[24] !== openModal) {
|
|
54
55
|
t2 = index => {
|
|
55
56
|
setIndexToAdd(index);
|
|
56
57
|
openModal(drawerSlug);
|
|
57
58
|
};
|
|
58
|
-
$[
|
|
59
|
-
$[
|
|
60
|
-
$[
|
|
59
|
+
$[23] = drawerSlug;
|
|
60
|
+
$[24] = openModal;
|
|
61
|
+
$[25] = t2;
|
|
61
62
|
} else {
|
|
62
|
-
t2 = $[
|
|
63
|
+
t2 = $[25];
|
|
63
64
|
}
|
|
64
65
|
let t3;
|
|
65
|
-
if ($[
|
|
66
|
+
if ($[26] !== blockType || $[27] !== duplicateRow || $[28] !== rowIndex) {
|
|
66
67
|
t3 = () => duplicateRow(rowIndex, blockType);
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
$[
|
|
70
|
-
$[
|
|
68
|
+
$[26] = blockType;
|
|
69
|
+
$[27] = duplicateRow;
|
|
70
|
+
$[28] = rowIndex;
|
|
71
|
+
$[29] = t3;
|
|
71
72
|
} else {
|
|
72
|
-
t3 = $[
|
|
73
|
+
t3 = $[29];
|
|
73
74
|
}
|
|
74
75
|
t1 = _jsxs(React.Fragment, {
|
|
75
76
|
children: [_jsx(BlocksDrawer, {
|
|
@@ -88,6 +89,7 @@ export const RowActions = props => {
|
|
|
88
89
|
moveRow,
|
|
89
90
|
pasteData,
|
|
90
91
|
pasteRow,
|
|
92
|
+
pasteRowBelow,
|
|
91
93
|
removeRow,
|
|
92
94
|
rowCount
|
|
93
95
|
})]
|
|
@@ -104,13 +106,14 @@ export const RowActions = props => {
|
|
|
104
106
|
$[14] = openModal;
|
|
105
107
|
$[15] = pasteData;
|
|
106
108
|
$[16] = pasteRow;
|
|
107
|
-
$[17] =
|
|
108
|
-
$[18] =
|
|
109
|
-
$[19] =
|
|
110
|
-
$[20] =
|
|
111
|
-
$[21] =
|
|
109
|
+
$[17] = pasteRowBelow;
|
|
110
|
+
$[18] = removeRow;
|
|
111
|
+
$[19] = rowCount;
|
|
112
|
+
$[20] = rowIndex;
|
|
113
|
+
$[21] = t0;
|
|
114
|
+
$[22] = t1;
|
|
112
115
|
} else {
|
|
113
|
-
t1 = $[
|
|
116
|
+
t1 = $[22];
|
|
114
117
|
}
|
|
115
118
|
return t1;
|
|
116
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","copyRow","duplicateRow","hasMaxRows","isSortable","labels","moveRow","pasteData","pasteRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","t0","_","rowBlockType","t1","t2","index","t3","_jsxs","Fragment","children","_jsx","addRowIndex"],"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport type { ClipboardPasteEligibilityArgs } from '../../elements/ClipboardAction/types.js'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n readonly addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n readonly blocks: (ClientBlock | string)[]\n readonly blockType: string\n readonly copyRow: (rowIndex: number) => void\n readonly duplicateRow: (rowIndex: number, blockType: string) => void\n readonly fields: ClientField[]\n readonly hasMaxRows?: boolean\n readonly isSortable?: boolean\n readonly labels: Labels\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly pasteData: ClipboardPasteEligibilityArgs\n readonly pasteRow: (rowIndex: number) => void\n readonly removeRow: (rowIndex: number) => void\n readonly rowCount: number\n readonly rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blocks,\n blockType,\n copyRow,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n pasteData,\n pasteRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n copyRow={copyRow}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAIlB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,UAAA,
|
|
1
|
+
{"version":3,"file":"RowActions.js","names":["c","_c","useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","$","addRow","blocks","blockType","copyRow","duplicateRow","hasMaxRows","isSortable","labels","moveRow","pasteData","pasteRow","pasteRowBelow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","t0","_","rowBlockType","t1","t2","index","t3","_jsxs","Fragment","children","_jsx","addRowIndex"],"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport type { ClipboardPasteEligibilityArgs } from '../../elements/ClipboardAction/types.js'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n readonly addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n readonly blocks: (ClientBlock | string)[]\n readonly blockType: string\n readonly copyRow: (rowIndex: number) => void\n readonly duplicateRow: (rowIndex: number, blockType: string) => void\n readonly fields: ClientField[]\n readonly hasMaxRows?: boolean\n readonly isSortable?: boolean\n readonly labels: Labels\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly pasteData: ClipboardPasteEligibilityArgs\n readonly pasteRow: (rowIndex: number) => void\n readonly pasteRowBelow: (rowIndex: number) => void\n readonly removeRow: (rowIndex: number) => void\n readonly rowCount: number\n readonly rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blocks,\n blockType,\n copyRow,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n pasteData,\n pasteRow,\n pasteRowBelow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n copyRow={copyRow}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n pasteData={pasteData}\n pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAiC7D,OAAO,aAAa,CAAA;AA8iBpB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { Banner } from '../../elements/Banner/index.js';
|
|
|
9
9
|
import { Button } from '../../elements/Button/index.js';
|
|
10
10
|
import { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js';
|
|
11
11
|
import { ClipboardAction } from '../../elements/ClipboardAction/index.js';
|
|
12
|
-
import { mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
|
|
12
|
+
import { insertRowFromClipboard, mergeFormStateFromClipboard, reduceFormStateByPath } from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js';
|
|
13
13
|
import { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js';
|
|
14
14
|
import { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js';
|
|
15
15
|
import { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/index.js';
|
|
@@ -283,16 +283,43 @@ const BlocksFieldComponent = props => {
|
|
|
283
283
|
toast.error(clipboardResult_0);
|
|
284
284
|
}
|
|
285
285
|
}, [clientBlocks, getFields, path, replaceState, setModified, t]);
|
|
286
|
-
const
|
|
287
|
-
const
|
|
286
|
+
const pasteRowBelow = useCallback(rowIndex_4 => {
|
|
287
|
+
const pasteArgs_0 = {
|
|
288
|
+
onPaste: dataFromClipboard_0 => {
|
|
289
|
+
const formState_0 = {
|
|
290
|
+
...getFields()
|
|
291
|
+
};
|
|
292
|
+
const newState_0 = insertRowFromClipboard({
|
|
293
|
+
dataFromClipboard: dataFromClipboard_0,
|
|
294
|
+
formState: formState_0,
|
|
295
|
+
path,
|
|
296
|
+
rowIndex: rowIndex_4 + 1
|
|
297
|
+
});
|
|
298
|
+
replaceState(newState_0);
|
|
299
|
+
setModified(true);
|
|
300
|
+
setTimeout(() => {
|
|
301
|
+
scrollToID(`${path?.split('.').join('-')}-row-${rowIndex_4 + 1}`);
|
|
302
|
+
}, 0);
|
|
303
|
+
},
|
|
304
|
+
path,
|
|
305
|
+
schemaBlocks: clientBlocks,
|
|
306
|
+
t
|
|
307
|
+
};
|
|
308
|
+
const clipboardResult_1 = clipboardPaste(pasteArgs_0);
|
|
309
|
+
if (typeof clipboardResult_1 === 'string') {
|
|
310
|
+
toast.error(clipboardResult_1);
|
|
311
|
+
}
|
|
312
|
+
}, [clientBlocks, getFields, path, replaceState, setModified, t]);
|
|
313
|
+
const pasteBlocks = useCallback(dataFromClipboard_1 => {
|
|
314
|
+
const formState_1 = {
|
|
288
315
|
...getFields()
|
|
289
316
|
};
|
|
290
|
-
const
|
|
291
|
-
dataFromClipboard:
|
|
292
|
-
formState:
|
|
317
|
+
const newState_1 = mergeFormStateFromClipboard({
|
|
318
|
+
dataFromClipboard: dataFromClipboard_1,
|
|
319
|
+
formState: formState_1,
|
|
293
320
|
path
|
|
294
321
|
});
|
|
295
|
-
replaceState(
|
|
322
|
+
replaceState(newState_1);
|
|
296
323
|
setModified(true);
|
|
297
324
|
}, [getFields, path, replaceState, setModified]);
|
|
298
325
|
const hasMaxRows = maxRows && rows.length >= maxRows;
|
|
@@ -448,6 +475,7 @@ const BlocksFieldComponent = props => {
|
|
|
448
475
|
moveRow: moveRow,
|
|
449
476
|
parentPath: path,
|
|
450
477
|
pasteRow: pasteRow,
|
|
478
|
+
pasteRowBelow: pasteRowBelow,
|
|
451
479
|
path: rowPath,
|
|
452
480
|
permissions: permissions,
|
|
453
481
|
readOnly: readOnly || disabled,
|
|
@@ -474,14 +502,14 @@ const BlocksFieldComponent = props => {
|
|
|
474
502
|
})
|
|
475
503
|
})]
|
|
476
504
|
})]
|
|
477
|
-
}), !hasMaxRows && /*#__PURE__*/_jsxs(Fragment, {
|
|
505
|
+
}), !hasMaxRows && !readOnly && /*#__PURE__*/_jsxs(Fragment, {
|
|
478
506
|
children: [/*#__PURE__*/_jsx(DrawerToggler, {
|
|
479
507
|
className: `${baseClass}__drawer-toggler`,
|
|
480
|
-
disabled:
|
|
508
|
+
disabled: disabled,
|
|
481
509
|
slug: drawerSlug,
|
|
482
510
|
children: /*#__PURE__*/_jsx(Button, {
|
|
483
511
|
buttonStyle: "ghost",
|
|
484
|
-
disabled:
|
|
512
|
+
disabled: disabled,
|
|
485
513
|
el: "span",
|
|
486
514
|
icon: /*#__PURE__*/_jsx(CirclePlusIcon, {}),
|
|
487
515
|
iconPosition: "left",
|