@wordpress/editor 13.35.0 → 14.0.0
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/CHANGELOG.md +7 -0
- package/README.md +333 -39
- package/build/bindings/index.js +1 -3
- package/build/bindings/index.js.map +1 -1
- package/build/bindings/pattern-overrides.js +1 -1
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +38 -2
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/user.js +12 -8
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/block-manager/category.js +19 -17
- package/build/components/block-manager/category.js.map +1 -1
- package/build/components/block-manager/checklist.js +15 -14
- package/build/components/block-manager/checklist.js.map +1 -1
- package/build/components/block-manager/index.js +37 -33
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/block-removal-warnings/index.js +2 -2
- package/build/components/block-removal-warnings/index.js.map +1 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js +46 -32
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +16 -13
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build/components/blog-title/index.js +116 -0
- package/build/components/blog-title/index.js.map +1 -0
- package/build/components/collapsible-block-toolbar/index.js +21 -18
- package/build/components/collapsible-block-toolbar/index.js.map +1 -1
- package/build/components/commands/index.js +109 -3
- package/build/components/commands/index.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +167 -0
- package/build/components/create-template-part-modal/index.js.map +1 -0
- package/build/components/create-template-part-modal/utils.js +64 -0
- package/build/components/create-template-part-modal/utils.js.map +1 -0
- package/build/components/deprecated.js +2 -2
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-bar/index.js +94 -70
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/index.js +124 -121
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +18 -14
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/document-tools/index.js +56 -53
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-help/add-blocks.native.js +14 -11
- package/build/components/editor-help/add-blocks.native.js.map +1 -1
- package/build/components/editor-help/customize-blocks.native.js +14 -11
- package/build/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build/components/editor-help/help-detail-navigation-screen.native.js +32 -22
- package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build/components/editor-help/help-get-support-button.native.js +8 -6
- package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build/components/editor-help/help-section-title.native.js +8 -6
- package/build/components/editor-help/help-section-title.native.js.map +1 -1
- package/build/components/editor-help/help-topic-row.native.js +7 -6
- package/build/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build/components/editor-help/icon-move-blocks.native.js +7 -6
- package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
- package/build/components/editor-help/index.native.js +94 -76
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-help/intro-to-blocks.native.js +41 -37
- package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build/components/editor-help/move-blocks.native.js +25 -21
- package/build/components/editor-help/move-blocks.native.js.map +1 -1
- package/build/components/editor-help/remove-blocks.native.js +12 -9
- package/build/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build/components/editor-help/view-sections.native.js +24 -19
- package/build/components/editor-help/view-sections.native.js.map +1 -1
- package/build/components/editor-history/redo.js +2 -2
- package/build/components/editor-history/redo.js.map +1 -1
- package/build/components/editor-history/undo.js +2 -2
- package/build/components/editor-history/undo.js.map +1 -1
- package/build/components/editor-interface/content-slot-fill.js +23 -0
- package/build/components/editor-interface/content-slot-fill.js.map +1 -0
- package/build/components/editor-interface/index.js +178 -0
- package/build/components/editor-interface/index.js.map +1 -0
- package/build/components/editor-notices/index.js +22 -9
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +2 -2
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +37 -10
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +25 -22
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/index.js +53 -46
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.js +27 -14
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/error-boundary/index.native.js +45 -35
- package/build/components/error-boundary/index.native.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +3 -4
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/global-styles-provider/index.js +81 -16
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/back-button.js +34 -0
- package/build/components/header/back-button.js.map +1 -0
- package/build/components/header/index.js +88 -59
- package/build/components/header/index.js.map +1 -1
- package/build/components/inserter-sidebar/index.js +45 -19
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +53 -48
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +30 -26
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +59 -47
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/list-view-sidebar/list-view-outline.js +21 -4
- package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js +15 -2
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/mode-switcher/index.js +10 -10
- package/build/components/mode-switcher/index.js.map +1 -1
- package/build/components/more-menu/copy-content-menu-item.js +5 -4
- package/build/components/more-menu/copy-content-menu-item.js.map +1 -1
- package/build/components/more-menu/index.js +89 -76
- package/build/components/more-menu/index.js.map +1 -1
- package/build/components/more-menu/tools-more-menu-group.js +2 -2
- package/build/components/more-menu/tools-more-menu-group.js.map +1 -1
- package/build/components/more-menu/view-more-menu-group.js +2 -2
- package/build/components/more-menu/view-more-menu-group.js.map +1 -1
- package/build/components/offline-status/index.native.js +12 -11
- package/build/components/offline-status/index.native.js.map +1 -1
- package/build/components/page-attributes/order.js +87 -14
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/panel.js +10 -19
- package/build/components/page-attributes/panel.js.map +1 -1
- package/build/components/page-attributes/parent.js +86 -3
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/pattern-duplicate-modal/index.js +59 -0
- package/build/components/pattern-duplicate-modal/index.js.map +1 -0
- package/build/components/pattern-overrides-panel/index.js +2 -2
- package/build/components/pattern-overrides-panel/index.js.map +1 -1
- package/build/components/pattern-rename-modal/index.js +58 -0
- package/build/components/pattern-rename-modal/index.js.map +1 -0
- package/build/components/plugin-document-setting-panel/index.js +17 -12
- package/build/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/plugin-post-publish-panel/index.js +10 -7
- package/build/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build/components/plugin-post-status-info/index.js +7 -4
- package/build/components/plugin-post-status-info/index.js.map +1 -1
- package/build/components/plugin-pre-publish-panel/index.js +10 -7
- package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build/components/plugin-sidebar/index.js +3 -4
- package/build/components/plugin-sidebar/index.js.map +1 -1
- package/build/components/plugin-sidebar-more-menu-item/index.js +3 -5
- package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build/components/post-actions/actions.js +378 -309
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/export-pattern-action.js +64 -0
- package/build/components/post-actions/export-pattern-action.js.map +1 -0
- package/build/components/post-actions/export-pattern-action.native.js +11 -0
- package/build/components/post-actions/export-pattern-action.native.js.map +1 -0
- package/build/components/post-actions/index.js +66 -50
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-author/check.js +6 -6
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/combobox.js +4 -3
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/hook.js +2 -1
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-author/index.js +3 -3
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-author/panel.js +72 -4
- package/build/components/post-author/panel.js.map +1 -1
- package/build/components/post-author/select.js +4 -3
- package/build/components/post-author/select.js.map +1 -1
- package/build/components/post-card-panel/index.js +54 -19
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-comments/index.js +38 -22
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-content-information/index.js +8 -5
- package/build/components/post-content-information/index.js.map +1 -1
- package/build/components/post-discussion/panel.js +54 -38
- package/build/components/post-discussion/panel.js.map +1 -1
- package/build/components/post-excerpt/check.js +6 -6
- package/build/components/post-excerpt/check.js.map +1 -1
- package/build/components/post-excerpt/index.js +18 -17
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +59 -42
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-excerpt/plugin.js +7 -4
- package/build/components/post-excerpt/plugin.js.map +1 -1
- package/build/components/post-featured-image/check.js +17 -7
- package/build/components/post-featured-image/check.js.map +1 -1
- package/build/components/post-featured-image/index.js +77 -49
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-featured-image/panel.js +22 -7
- package/build/components/post-featured-image/panel.js.map +1 -1
- package/build/components/post-format/check.js +14 -4
- package/build/components/post-format/check.js.map +1 -1
- package/build/components/post-format/index.js +37 -20
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-format/panel.js +73 -7
- package/build/components/post-format/panel.js.map +1 -1
- package/build/components/post-last-edited-panel/index.js +7 -4
- package/build/components/post-last-edited-panel/index.js.map +1 -1
- package/build/components/post-last-revision/check.js +13 -5
- package/build/components/post-last-revision/check.js.map +1 -1
- package/build/components/post-last-revision/index.js +19 -13
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-last-revision/panel.js +12 -5
- package/build/components/post-last-revision/panel.js.map +1 -1
- package/build/components/post-locked-modal/index.js +57 -35
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-panel-row/index.js +11 -8
- package/build/components/post-panel-row/index.js.map +1 -1
- package/build/components/post-panel-section/index.js +5 -4
- package/build/components/post-panel-section/index.js.map +1 -1
- package/build/components/post-pending-status/check.js +10 -0
- package/build/components/post-pending-status/check.js.map +1 -1
- package/build/components/post-pending-status/index.js +14 -7
- package/build/components/post-pending-status/index.js.map +1 -1
- package/build/components/post-pingbacks/index.js +13 -5
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +45 -21
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +21 -11
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/post-publish-button-or-toggle.js +2 -2
- package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
- package/build/components/post-publish-panel/index.js +46 -33
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +12 -9
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +21 -15
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +13 -10
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +29 -24
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +55 -38
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-publish-panel/prepublish.js +41 -26
- package/build/components/post-publish-panel/prepublish.js.map +1 -1
- package/build/components/post-saved-state/index.js +8 -8
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/check.js +8 -0
- package/build/components/post-schedule/check.js.map +1 -1
- package/build/components/post-schedule/index.js +30 -5
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-schedule/label.js +16 -0
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-schedule/panel.js +43 -30
- package/build/components/post-schedule/panel.js.map +1 -1
- package/build/components/post-slug/check.js +5 -4
- package/build/components/post-slug/check.js.map +1 -1
- package/build/components/post-slug/index.js +5 -3
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-slug/panel.js +7 -4
- package/build/components/post-slug/panel.js.map +1 -1
- package/build/components/post-status/index.js +118 -119
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-sticky/index.js +16 -8
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-sticky/panel.js +6 -2
- package/build/components/post-sticky/panel.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +25 -21
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-sync-status/index.js +8 -6
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +21 -20
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +71 -61
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +6 -6
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +19 -15
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-taxonomies/panel.js +15 -11
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-template/block-theme.js +42 -32
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js +73 -50
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js +33 -27
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/post-template/create-new-template.js +14 -11
- package/build/components/post-template/create-new-template.js.map +1 -1
- package/build/components/post-template/panel.js +16 -10
- package/build/components/post-template/panel.js.map +1 -1
- package/build/components/post-template/reset-default-template.js +5 -4
- package/build/components/post-template/reset-default-template.js.map +1 -1
- package/build/components/post-template/swap-template-button.js +20 -15
- package/build/components/post-template/swap-template-button.js.map +1 -1
- package/build/components/post-text-editor/index.js +27 -20
- package/build/components/post-text-editor/index.js.map +1 -1
- package/build/components/post-title/index.js +29 -17
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js +81 -57
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-title/post-title-raw.js +10 -3
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-title/use-post-title-focus.js +7 -0
- package/build/components/post-title/use-post-title-focus.js.map +1 -1
- package/build/components/post-title/use-post-title.js +5 -0
- package/build/components/post-title/use-post-title.js.map +1 -1
- package/build/components/post-transform-panel/index.js +11 -11
- package/build/components/post-transform-panel/index.js.map +1 -1
- package/build/components/post-trash/index.js +19 -15
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/post-url/check.js +8 -0
- package/build/components/post-url/check.js.map +1 -1
- package/build/components/post-url/index.js +98 -73
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-url/label.js +11 -0
- package/build/components/post-url/label.js.map +1 -1
- package/build/components/post-url/panel.js +33 -25
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/post-view-link/index.js +2 -2
- package/build/components/post-view-link/index.js.map +1 -1
- package/build/components/post-visibility/check.js +9 -0
- package/build/components/post-visibility/check.js.map +1 -1
- package/build/components/post-visibility/index.js +83 -68
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/post-visibility/label.js +11 -0
- package/build/components/post-visibility/label.js.map +1 -1
- package/build/components/posts-per-page/index.js +109 -0
- package/build/components/posts-per-page/index.js.map +1 -0
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +7 -5
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
- package/build/components/preferences-modal/index.js +124 -102
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +47 -31
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/index.js +94 -20
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +55 -19
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +7 -6
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +31 -24
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/resizable-editor/index.js +96 -0
- package/build/components/resizable-editor/index.js.map +1 -0
- package/build/components/resizable-editor/resize-handle.js +59 -0
- package/build/components/resizable-editor/resize-handle.js.map +1 -0
- package/build/components/save-publish-panels/index.js +35 -26
- package/build/components/save-publish-panels/index.js.map +1 -1
- package/build/components/sidebar/header.js +17 -14
- package/build/components/sidebar/header.js.map +1 -1
- package/build/components/sidebar/index.js +36 -32
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-summary.js +38 -33
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/site-discussion/index.js +133 -0
- package/build/components/site-discussion/index.js.map +1 -0
- package/build/components/start-page-options/index.js +13 -11
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/start-template-options/index.js +29 -23
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/table-of-contents/index.js +4 -4
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/table-of-contents/panel.js +53 -35
- package/build/components/table-of-contents/panel.js.map +1 -1
- package/build/components/template-areas/index.js +36 -22
- package/build/components/template-areas/index.js.map +1 -1
- package/build/components/template-content-panel/index.js +7 -6
- package/build/components/template-content-panel/index.js.map +1 -1
- package/build/components/template-validation-notice/index.js +25 -21
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/text-editor/index.js +73 -0
- package/build/components/text-editor/index.js.map +1 -0
- package/build/components/time-to-read/index.js +8 -8
- package/build/components/time-to-read/index.js.map +1 -1
- package/build/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +6 -6
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -0
- package/build/components/{editor-canvas → visual-editor}/index.js +115 -74
- package/build/components/visual-editor/index.js.map +1 -0
- package/build/components/word-count/index.js +5 -4
- package/build/components/word-count/index.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +3 -4
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/index.js +1 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/media-upload.js +10 -0
- package/build/hooks/media-upload.js.map +1 -0
- package/build/hooks/pattern-overrides.js +15 -11
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/private-apis.js +10 -28
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +2 -26
- package/build/private-apis.native.js.map +1 -1
- package/build/store/constants.js +4 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +10 -14
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +39 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/set-nested-value.js +44 -0
- package/build/utils/set-nested-value.js.map +1 -0
- package/build-module/bindings/index.js +1 -3
- package/build-module/bindings/index.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js +1 -1
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +38 -2
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/autocompleters/user.js +14 -9
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/block-manager/category.js +20 -17
- package/build-module/components/block-manager/category.js.map +1 -1
- package/build-module/components/block-manager/checklist.js +16 -14
- package/build-module/components/block-manager/checklist.js.map +1 -1
- package/build-module/components/block-manager/index.js +38 -33
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/block-removal-warnings/index.js +2 -2
- package/build-module/components/block-removal-warnings/index.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +48 -32
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +16 -13
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build-module/components/blog-title/index.js +110 -0
- package/build-module/components/blog-title/index.js.map +1 -0
- package/build-module/components/collapsible-block-toolbar/index.js +23 -18
- package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
- package/build-module/components/commands/index.js +111 -5
- package/build-module/components/commands/index.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +160 -0
- package/build-module/components/create-template-part-modal/index.js.map +1 -0
- package/build-module/components/create-template-part-modal/utils.js +54 -0
- package/build-module/components/create-template-part-modal/utils.js.map +1 -0
- package/build-module/components/deprecated.js +2 -2
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-bar/index.js +93 -68
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/index.js +125 -120
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +19 -14
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/document-tools/index.js +58 -53
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor-help/add-blocks.native.js +16 -11
- package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/customize-blocks.native.js +16 -11
- package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js +33 -22
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build-module/components/editor-help/help-get-support-button.native.js +8 -6
- package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build-module/components/editor-help/help-section-title.native.js +8 -6
- package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
- package/build-module/components/editor-help/help-topic-row.native.js +7 -6
- package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build-module/components/editor-help/icon-move-blocks.native.js +7 -6
- package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +96 -76
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-help/intro-to-blocks.native.js +43 -37
- package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/move-blocks.native.js +27 -21
- package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/remove-blocks.native.js +14 -9
- package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/view-sections.native.js +25 -19
- package/build-module/components/editor-help/view-sections.native.js.map +1 -1
- package/build-module/components/editor-history/redo.js +2 -2
- package/build-module/components/editor-history/redo.js.map +1 -1
- package/build-module/components/editor-history/undo.js +2 -2
- package/build-module/components/editor-history/undo.js.map +1 -1
- package/build-module/components/editor-interface/content-slot-fill.js +16 -0
- package/build-module/components/editor-interface/content-slot-fill.js.map +1 -0
- package/build-module/components/editor-interface/index.js +172 -0
- package/build-module/components/editor-interface/index.js.map +1 -0
- package/build-module/components/editor-notices/index.js +25 -9
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +2 -2
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +40 -11
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +26 -22
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +54 -46
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js +27 -14
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/error-boundary/index.native.js +46 -35
- package/build-module/components/error-boundary/index.native.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +2 -2
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +82 -17
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/back-button.js +28 -0
- package/build-module/components/header/back-button.js.map +1 -0
- package/build-module/components/header/index.js +89 -59
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/inserter-sidebar/index.js +47 -21
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +54 -48
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +32 -26
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +60 -47
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/list-view-outline.js +23 -4
- package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
- package/build-module/components/local-autosave-monitor/index.js +15 -2
- package/build-module/components/local-autosave-monitor/index.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +9 -8
- package/build-module/components/mode-switcher/index.js.map +1 -1
- package/build-module/components/more-menu/copy-content-menu-item.js +5 -4
- package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -1
- package/build-module/components/more-menu/index.js +91 -76
- package/build-module/components/more-menu/index.js.map +1 -1
- package/build-module/components/more-menu/tools-more-menu-group.js +2 -2
- package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -1
- package/build-module/components/more-menu/view-more-menu-group.js +2 -2
- package/build-module/components/more-menu/view-more-menu-group.js.map +1 -1
- package/build-module/components/offline-status/index.native.js +12 -9
- package/build-module/components/offline-status/index.native.js.map +1 -1
- package/build-module/components/page-attributes/order.js +90 -17
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/panel.js +13 -21
- package/build-module/components/page-attributes/panel.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +88 -5
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/pattern-duplicate-modal/index.js +51 -0
- package/build-module/components/pattern-duplicate-modal/index.js.map +1 -0
- package/build-module/components/pattern-overrides-panel/index.js +2 -2
- package/build-module/components/pattern-overrides-panel/index.js.map +1 -1
- package/build-module/components/pattern-rename-modal/index.js +50 -0
- package/build-module/components/pattern-rename-modal/index.js.map +1 -0
- package/build-module/components/plugin-document-setting-panel/index.js +19 -12
- package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/plugin-post-publish-panel/index.js +10 -7
- package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-post-status-info/index.js +7 -4
- package/build-module/components/plugin-post-status-info/index.js.map +1 -1
- package/build-module/components/plugin-pre-publish-panel/index.js +10 -7
- package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-sidebar/index.js +2 -2
- package/build-module/components/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/plugin-sidebar-more-menu-item/index.js +2 -3
- package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +379 -309
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/export-pattern-action.js +58 -0
- package/build-module/components/post-actions/export-pattern-action.js.map +1 -0
- package/build-module/components/post-actions/export-pattern-action.native.js +5 -0
- package/build-module/components/post-actions/export-pattern-action.native.js.map +1 -0
- package/build-module/components/post-actions/index.js +68 -50
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/check.js +5 -4
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/combobox.js +4 -3
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/hook.js +2 -1
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-author/index.js +3 -3
- package/build-module/components/post-author/index.js.map +1 -1
- package/build-module/components/post-author/panel.js +72 -4
- package/build-module/components/post-author/panel.js.map +1 -1
- package/build-module/components/post-author/select.js +4 -3
- package/build-module/components/post-author/select.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +54 -20
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-comments/index.js +40 -22
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-content-information/index.js +8 -5
- package/build-module/components/post-content-information/index.js.map +1 -1
- package/build-module/components/post-discussion/panel.js +56 -39
- package/build-module/components/post-discussion/panel.js.map +1 -1
- package/build-module/components/post-excerpt/check.js +5 -4
- package/build-module/components/post-excerpt/check.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +17 -15
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +60 -40
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-excerpt/plugin.js +7 -4
- package/build-module/components/post-excerpt/plugin.js.map +1 -1
- package/build-module/components/post-featured-image/check.js +18 -6
- package/build-module/components/post-featured-image/check.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +78 -49
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-featured-image/panel.js +22 -7
- package/build-module/components/post-featured-image/panel.js.map +1 -1
- package/build-module/components/post-format/check.js +14 -4
- package/build-module/components/post-format/check.js.map +1 -1
- package/build-module/components/post-format/index.js +39 -21
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-format/panel.js +75 -7
- package/build-module/components/post-format/panel.js.map +1 -1
- package/build-module/components/post-last-edited-panel/index.js +7 -4
- package/build-module/components/post-last-edited-panel/index.js.map +1 -1
- package/build-module/components/post-last-revision/check.js +14 -4
- package/build-module/components/post-last-revision/check.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +21 -13
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-last-revision/panel.js +13 -4
- package/build-module/components/post-last-revision/panel.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +60 -34
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-panel-row/index.js +12 -8
- package/build-module/components/post-panel-row/index.js.map +1 -1
- package/build-module/components/post-panel-section/index.js +5 -4
- package/build-module/components/post-panel-section/index.js.map +1 -1
- package/build-module/components/post-pending-status/check.js +11 -0
- package/build-module/components/post-pending-status/check.js.map +1 -1
- package/build-module/components/post-pending-status/index.js +15 -7
- package/build-module/components/post-pending-status/index.js.map +1 -1
- package/build-module/components/post-pingbacks/index.js +13 -5
- package/build-module/components/post-pingbacks/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +47 -21
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +22 -11
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +2 -2
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +48 -33
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +13 -9
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js +22 -15
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +14 -10
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +30 -24
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js +57 -38
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-publish-panel/prepublish.js +43 -26
- package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +8 -6
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/check.js +9 -0
- package/build-module/components/post-schedule/check.js.map +1 -1
- package/build-module/components/post-schedule/index.js +30 -6
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-schedule/label.js +17 -0
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-schedule/panel.js +43 -30
- package/build-module/components/post-schedule/panel.js.map +1 -1
- package/build-module/components/post-slug/check.js +5 -4
- package/build-module/components/post-slug/check.js.map +1 -1
- package/build-module/components/post-slug/index.js +5 -3
- package/build-module/components/post-slug/index.js.map +1 -1
- package/build-module/components/post-slug/panel.js +7 -4
- package/build-module/components/post-slug/panel.js.map +1 -1
- package/build-module/components/post-status/index.js +121 -120
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-sticky/index.js +17 -9
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-sticky/panel.js +6 -2
- package/build-module/components/post-sticky/panel.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +27 -21
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-sync-status/index.js +8 -6
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +22 -18
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +71 -59
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +6 -6
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +20 -15
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-taxonomies/panel.js +15 -11
- package/build-module/components/post-taxonomies/panel.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +44 -32
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +74 -50
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +34 -27
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/create-new-template.js +16 -11
- package/build-module/components/post-template/create-new-template.js.map +1 -1
- package/build-module/components/post-template/panel.js +17 -9
- package/build-module/components/post-template/panel.js.map +1 -1
- package/build-module/components/post-template/reset-default-template.js +5 -4
- package/build-module/components/post-template/reset-default-template.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js +22 -15
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-text-editor/index.js +30 -19
- package/build-module/components/post-text-editor/index.js.map +1 -1
- package/build-module/components/post-title/index.js +29 -18
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js +81 -57
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js +11 -2
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-title/use-post-title-focus.js +8 -0
- package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
- package/build-module/components/post-title/use-post-title.js +6 -0
- package/build-module/components/post-title/use-post-title.js.map +1 -1
- package/build-module/components/post-transform-panel/index.js +12 -12
- package/build-module/components/post-transform-panel/index.js.map +1 -1
- package/build-module/components/post-trash/index.js +21 -15
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-url/check.js +9 -0
- package/build-module/components/post-url/check.js.map +1 -1
- package/build-module/components/post-url/index.js +100 -72
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-url/label.js +12 -0
- package/build-module/components/post-url/label.js.map +1 -1
- package/build-module/components/post-url/panel.js +35 -24
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/post-view-link/index.js +2 -2
- package/build-module/components/post-view-link/index.js.map +1 -1
- package/build-module/components/post-visibility/check.js +10 -0
- package/build-module/components/post-visibility/check.js.map +1 -1
- package/build-module/components/post-visibility/index.js +85 -67
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/post-visibility/label.js +12 -0
- package/build-module/components/post-visibility/label.js.map +1 -1
- package/build-module/components/posts-per-page/index.js +103 -0
- package/build-module/components/posts-per-page/index.js.map +1 -0
- package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js +7 -5
- package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +126 -102
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +49 -31
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/index.js +96 -20
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +58 -20
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +7 -6
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +33 -26
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/resizable-editor/index.js +89 -0
- package/build-module/components/resizable-editor/index.js.map +1 -0
- package/build-module/components/resizable-editor/resize-handle.js +54 -0
- package/build-module/components/resizable-editor/resize-handle.js.map +1 -0
- package/build-module/components/save-publish-panels/index.js +37 -26
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-module/components/sidebar/header.js +18 -14
- package/build-module/components/sidebar/header.js.map +1 -1
- package/build-module/components/sidebar/index.js +36 -31
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +33 -25
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/site-discussion/index.js +127 -0
- package/build-module/components/site-discussion/index.js.map +1 -0
- package/build-module/components/start-page-options/index.js +13 -11
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +30 -23
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +4 -4
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js +55 -35
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/components/template-areas/index.js +37 -22
- package/build-module/components/template-areas/index.js.map +1 -1
- package/build-module/components/template-content-panel/index.js +7 -6
- package/build-module/components/template-content-panel/index.js.map +1 -1
- package/build-module/components/template-validation-notice/index.js +27 -21
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/text-editor/index.js +66 -0
- package/build-module/components/text-editor/index.js.map +1 -0
- package/build-module/components/time-to-read/index.js +7 -6
- package/build-module/components/time-to-read/index.js.map +1 -1
- package/build-module/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +5 -4
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -0
- package/build-module/components/{editor-canvas → visual-editor}/index.js +118 -75
- package/build-module/components/visual-editor/index.js.map +1 -0
- package/build-module/components/word-count/index.js +5 -4
- package/build-module/components/word-count/index.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +2 -2
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/media-upload.js +7 -0
- package/build-module/hooks/media-upload.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +17 -11
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/private-apis.js +10 -28
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +2 -26
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/constants.js +3 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +10 -14
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +38 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/selectors.js +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/set-nested-value.js +38 -0
- package/build-module/utils/set-nested-value.js.map +1 -0
- package/build-style/style-rtl.css +318 -90
- package/build-style/style.css +318 -90
- package/package.json +40 -36
- package/src/bindings/index.js +1 -4
- package/src/bindings/pattern-overrides.js +1 -1
- package/src/bindings/post-meta.js +46 -6
- package/src/components/blog-title/index.js +124 -0
- package/src/components/blog-title/style.scss +4 -0
- package/src/components/commands/index.js +113 -3
- package/src/components/create-template-part-modal/index.js +205 -0
- package/src/components/create-template-part-modal/style.scss +69 -0
- package/src/components/create-template-part-modal/test/utils.js +60 -0
- package/src/components/create-template-part-modal/utils.js +67 -0
- package/src/components/document-bar/index.js +32 -21
- package/src/components/document-tools/index.js +2 -7
- package/src/components/editor-help/help-get-support-button.native.js +1 -1
- package/src/components/editor-interface/content-slot-fill.js +15 -0
- package/src/components/editor-interface/index.js +230 -0
- package/src/components/editor-notices/index.js +10 -0
- package/src/components/entities-saved-states/entity-record-item.js +45 -16
- package/src/components/entities-saved-states/style.scss +13 -0
- package/src/components/error-boundary/index.js +10 -0
- package/src/components/error-boundary/index.native.js +1 -1
- package/src/components/global-styles-provider/index.js +100 -8
- package/src/components/header/back-button.js +27 -0
- package/src/components/header/index.js +25 -10
- package/src/components/header/style.scss +5 -0
- package/src/components/inserter-sidebar/index.js +65 -32
- package/src/components/inserter-sidebar/style.scss +0 -13
- package/src/components/local-autosave-monitor/index.js +12 -0
- package/src/components/page-attributes/order.js +79 -3
- package/src/components/page-attributes/panel.js +10 -26
- package/src/components/page-attributes/parent.js +98 -2
- package/src/components/page-attributes/style.scss +19 -0
- package/src/components/pattern-duplicate-modal/index.js +50 -0
- package/src/components/pattern-rename-modal/index.js +44 -0
- package/src/components/post-actions/actions.js +306 -261
- package/src/components/post-actions/export-pattern-action.js +74 -0
- package/src/components/post-actions/export-pattern-action.native.js +4 -0
- package/src/components/post-actions/index.js +16 -5
- package/src/components/post-author/combobox.js +1 -0
- package/src/components/post-author/hook.js +1 -1
- package/src/components/post-author/panel.js +63 -2
- package/src/components/post-author/select.js +1 -0
- package/src/components/post-author/style.scss +6 -0
- package/src/components/post-card-panel/index.js +69 -22
- package/src/components/post-card-panel/style.scss +23 -1
- package/src/components/post-comments/index.js +5 -0
- package/src/components/post-discussion/panel.js +9 -2
- package/src/components/post-discussion/style.scss +1 -3
- package/src/components/post-excerpt/panel.js +45 -48
- package/src/components/post-excerpt/style.scss +0 -17
- package/src/components/post-featured-image/check.js +9 -0
- package/src/components/post-featured-image/index.js +15 -0
- package/src/components/post-featured-image/panel.js +9 -0
- package/src/components/post-format/check.js +8 -0
- package/src/components/post-format/index.js +15 -4
- package/src/components/post-format/panel.js +71 -6
- package/src/components/post-format/style.scss +10 -4
- package/src/components/post-last-revision/check.js +8 -0
- package/src/components/post-last-revision/index.js +7 -2
- package/src/components/post-last-revision/panel.js +5 -0
- package/src/components/post-locked-modal/index.js +6 -0
- package/src/components/post-panel-row/style.scss +15 -0
- package/src/components/post-pending-status/check.js +10 -0
- package/src/components/post-pending-status/index.js +5 -0
- package/src/components/post-pingbacks/index.js +6 -0
- package/src/components/post-preview-button/index.js +15 -0
- package/src/components/post-publish-button/index.js +17 -4
- package/src/components/post-publish-panel/index.js +1 -0
- package/src/components/post-publish-panel/maybe-tags-panel.js +1 -1
- package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +3 -3
- package/src/components/post-schedule/check.js +8 -0
- package/src/components/post-schedule/index.js +30 -3
- package/src/components/post-schedule/label.js +15 -0
- package/src/components/post-schedule/panel.js +9 -1
- package/src/components/post-schedule/style.scss +0 -11
- package/src/components/post-status/index.js +30 -52
- package/src/components/post-status/style.scss +4 -34
- package/src/components/post-sticky/index.js +12 -7
- package/src/components/post-sticky/style.scss +3 -0
- package/src/components/post-template/block-theme.js +1 -0
- package/src/components/post-template/classic-theme.js +15 -0
- package/src/components/post-template/panel.js +5 -0
- package/src/components/post-template/style.scss +0 -8
- package/src/components/post-text-editor/index.js +5 -0
- package/src/components/post-title/index.js +8 -1
- package/src/components/post-title/index.native.js +70 -35
- package/src/components/post-title/post-title-raw.js +8 -0
- package/src/components/post-title/use-post-title-focus.js +7 -0
- package/src/components/post-title/use-post-title.js +5 -0
- package/src/components/post-transform-panel/index.js +2 -10
- package/src/components/post-url/check.js +8 -0
- package/src/components/post-url/index.js +41 -24
- package/src/components/post-url/label.js +10 -0
- package/src/components/post-url/panel.js +6 -1
- package/src/components/post-url/style.scss +0 -9
- package/src/components/post-visibility/check.js +9 -0
- package/src/components/post-visibility/index.js +7 -0
- package/src/components/post-visibility/label.js +10 -0
- package/src/components/posts-per-page/index.js +101 -0
- package/src/components/posts-per-page/style.scss +4 -0
- package/src/components/provider/index.js +68 -0
- package/src/components/provider/index.native.js +43 -2
- package/src/components/provider/use-block-editor-settings.js +4 -6
- package/src/components/provider/with-registry-provider.js +32 -31
- package/src/components/resizable-editor/index.js +90 -0
- package/src/components/resizable-editor/resize-handle.js +62 -0
- package/src/components/resizable-editor/style.scss +53 -0
- package/src/components/save-publish-panels/index.js +10 -2
- package/src/components/sidebar/index.js +0 -4
- package/src/components/sidebar/post-summary.js +14 -21
- package/src/components/sidebar/style.scss +1 -1
- package/src/components/site-discussion/index.js +138 -0
- package/src/components/site-discussion/style.scss +19 -0
- package/src/components/start-template-options/style.scss +0 -8
- package/src/components/template-areas/index.js +15 -6
- package/src/components/text-editor/index.js +57 -0
- package/src/components/text-editor/style.scss +71 -0
- package/src/components/{editor-canvas → visual-editor}/index.js +177 -108
- package/src/components/visual-editor/style.scss +37 -0
- package/src/hooks/index.js +1 -0
- package/src/hooks/media-upload.js +11 -0
- package/src/private-apis.js +10 -28
- package/src/private-apis.native.js +2 -26
- package/src/store/constants.js +7 -0
- package/src/store/private-actions.js +22 -50
- package/src/store/private-selectors.js +45 -0
- package/src/store/selectors.js +1 -1
- package/src/style.scss +9 -0
- package/src/utils/set-nested-value.js +39 -0
- package/build/components/editor-canvas/edit-template-blocks-notification.js.map +0 -1
- package/build/components/editor-canvas/index.js.map +0 -1
- package/build/components/post-trash/panel.js +0 -18
- package/build/components/post-trash/panel.js.map +0 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +0 -1
- package/build-module/components/editor-canvas/index.js.map +0 -1
- package/build-module/components/post-trash/panel.js +0 -10
- package/build-module/components/post-trash/panel.js.map +0 -1
- package/src/components/post-trash/panel.js +0 -13
- package/src/components/provider/README.md +0 -37
- /package/src/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_url","_data","_htmlEntities","_coreData","_i18n","_notices","_element","_components","_constants","_store","_lockUnlock","_isTemplateRevertable","_interopRequireDefault","getItemTitle","item","title","decodeEntities","rendered","trashPostAction","id","label","__","isPrimary","icon","trash","isEligible","status","supportsBulk","hideModalHeader","RenderModal","items","posts","closeModal","onActionStart","onActionPerformed","isBusy","setIsBusy","useState","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","_react","createElement","__experimentalVStack","spacing","__experimentalText","length","sprintf","_n","__experimentalHStack","justify","Button","variant","onClick","disabled","__experimentalIsFocusable","promiseResult","Promise","allSettled","map","post","type","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","useMemo","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","backup","viewPostAction","external","window","open","link","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","addQueryArgs","revision","document","location","renamePostAction","originalTitle","setTitle","onRename","event","preventDefault","error","code","onSubmit","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","duplicatePostAction","_x","isCreatingPage","setIsCreatingPage","saveEntityRecord","createPage","newItem","slug","author","comment_status","content","raw","excerpt","meta","parent","password","template","format","featured_media","menu_order","ping_status","categories","tags","placeholder","resetTemplateAction","isTemplateRevertable","revertTemplate","unlock","editorStore","onConfirm","allowUndo","fallbackErrorMessage","TEMPLATE_POST_TYPE","isTemplateRemovable","source","TEMPLATE_ORIGINS","custom","has_theme_file","deleteTemplateAction","templates","removeTemplates","renameTemplateAction","is_custom","editedTitle","setEditedTitle","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","onTemplateRename","usePostActions","postType","postTypeObject","useSelect","select","getPostType","permanentlyDeletePostAction","restorePostAction","isTemplateOrTemplatePart","TEMPLATE_PART_POST_TYPE","includes","isPattern","PATTERN_POST_TYPE","isLoaded","actions","viewable","process","env","IS_GUTENBERG_PLUGIN","Boolean","i","existingCallback","_onActionPerformed","_items","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo, useState } from '@wordpress/element';\n\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tPATTERN_POST_TYPE,\n} from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport isTemplateRevertable from '../../store/utils/is-template-revertable';\n\nfunction getItemTitle( item ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\treturn decodeEntities( item.title?.rendered || '' );\n}\n\nconst trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems: posts,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ posts.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of pages (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d page?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d pages?',\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( posts );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if ( posts[ 0 ].type === 'page' ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of pages. */\n\t\t\t\t\t\t\t\t\t\t__( '%s pages moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t\t__( '%s posts moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'trash-post-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the post to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the pages to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nfunction usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t\t\t} );\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nfunction useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\tawait Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( posts.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( posts[ 0 ].type === 'page' ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '%d pages have been restored.' ),\n\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'restore-post-action',\n\t\t\t\t\t} );\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while restoring the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while restoring the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nconst viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst renamePostAction = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst originalTitle = decodeEntities(\n\t\t\ttypeof item.title === 'string' ? item.title : item.title.rendered\n\t\t);\n\t\tconst [ title, setTitle ] = useState( () => originalTitle );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst duplicatePostAction = {\n\tid: 'duplicate-post',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\t\tconst [ title, setTitle ] = useState(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: Existing item title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\tgetItemTitle( item )\n\t\t\t)\n\t\t);\n\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function createPage( event ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( isCreatingPage ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsCreatingPage( true );\n\t\t\ttry {\n\t\t\t\tconst newItem = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\titem.type,\n\t\t\t\t\t{\n\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tslug: title || __( 'No title' ),\n\t\t\t\t\t\tauthor: item.author,\n\t\t\t\t\t\tcomment_status: item.comment_status,\n\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t\t\t: item.content.raw,\n\t\t\t\t\t\texcerpt: item.excerpt.raw,\n\t\t\t\t\t\tmeta: item.meta,\n\t\t\t\t\t\tparent: item.parent,\n\t\t\t\t\t\tpassword: item.password,\n\t\t\t\t\t\ttemplate: item.template,\n\t\t\t\t\t\tformat: item.format,\n\t\t\t\t\t\tfeatured_media: item.featured_media,\n\t\t\t\t\t\tmenu_order: item.menu_order,\n\t\t\t\t\t\tping_status: item.ping_status,\n\t\t\t\t\t\tcategories: item.categories,\n\t\t\t\t\t\ttags: item.tags,\n\t\t\t\t\t},\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\tnewItem.title?.rendered || title\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\tonActionPerformed( [ newItem ] );\n\t\t\t\t}\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while duplicating the page.' );\n\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} finally {\n\t\t\t\tsetIsCreatingPage( false );\n\t\t\t\tcloseModal();\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst resetTemplateAction = {\n\tid: 'reset-template',\n\tlabel: __( 'Reset' ),\n\tisEligible: isTemplateRevertable,\n\ticon: backup,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { revertTemplate } = unlock( useDispatch( editorStore ) );\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t} );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( items[ 0 ].title.rendered )\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'revert-template-action',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait onConfirm( items );\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\tisBusy( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Check if a template is removable.\n * Copy from packages/edit-site/src/utils/is-template-removable.js.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is revertable.\n */\nfunction isTemplateRemovable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate.source === TEMPLATE_ORIGINS.custom && ! template.has_theme_file\n\t);\n}\n\nconst deleteTemplateAction = {\n\tid: 'delete-template',\n\tlabel: __( 'Delete' ),\n\tisEligible: isTemplateRemovable,\n\ticon: trash,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems: templates,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { removeTemplates } = unlock( useDispatch( editorStore ) );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ templates.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\ttemplates?.[ 0 ]?.title?.rendered\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( templates );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait removeTemplates( templates, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonActionPerformed?.( templates );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nconst renameTemplateAction = {\n\tid: 'rename-template',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( template ) => {\n\t\t// We can only remove templates or template parts that can be removed.\n\t\t// Additionally in the case of templates, we can only remove custom templates.\n\t\tif (\n\t\t\t! isTemplateRemovable( template ) ||\n\t\t\t( template.type === TEMPLATE_POST_TYPE && ! template.is_custom )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\tRenderModal: ( { items: templates, closeModal, onActionPerformed } ) => {\n\t\tconst template = templates[ 0 ];\n\t\tconst title = decodeEntities( template.title.rendered );\n\t\tconst [ editedTitle, setEditedTitle ] = useState( title );\n\t\tconst {\n\t\t\teditEntityRecord,\n\t\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t\t} = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onTemplateRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: editedTitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetEditedTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t[ 'title' ], // Only save title to avoid persisting other edits.\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template renamed.' )\n\t\t\t\t\t\t: __( 'Template part renamed.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tonActionPerformed?.( templates );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'An error occurred while renaming the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onTemplateRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ editedTitle }\n\t\t\t\t\t\tonChange={ setEditedTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nexport function usePostActions( postType, onActionPerformed ) {\n\tconst { postTypeObject } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tpostTypeObject: getPostType( postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\tconst isTemplateOrTemplatePart = [\n\t\tTEMPLATE_POST_TYPE,\n\t\tTEMPLATE_PART_POST_TYPE,\n\t].includes( postType );\n\tconst isPattern = postType === PATTERN_POST_TYPE;\n\tconst isLoaded = !! postTypeObject;\n\treturn useMemo( () => {\n\t\tif ( ! isLoaded ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst actions = [\n\t\t\tisTemplateOrTemplatePart && resetTemplateAction,\n\t\t\tpostTypeObject?.viewable && viewPostAction,\n\t\t\t! isTemplateOrTemplatePart && restorePostAction,\n\t\t\tisTemplateOrTemplatePart && deleteTemplateAction,\n\t\t\t! isTemplateOrTemplatePart && permanentlyDeletePostAction,\n\t\t\tpostRevisionsAction,\n\t\t\tprocess.env.IS_GUTENBERG_PLUGIN\n\t\t\t\t? ! isTemplateOrTemplatePart &&\n\t\t\t\t ! isPattern &&\n\t\t\t\t duplicatePostAction\n\t\t\t\t: false,\n\t\t\t! isTemplateOrTemplatePart && renamePostAction,\n\t\t\tisTemplateOrTemplatePart && renameTemplateAction,\n\t\t\t! isTemplateOrTemplatePart && trashPostAction,\n\t\t].filter( Boolean );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, _onActionPerformed ) => {\n\t\t\t\t\t\t\texistingCallback( items, ( _items ) => {\n\t\t\t\t\t\t\t\tif ( _onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t_onActionPerformed( _items );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonActionPerformed( actions[ i ].id, _items );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tisTemplateOrTemplatePart,\n\t\tisPattern,\n\t\tpostTypeObject?.viewable,\n\t\tpermanentlyDeletePostAction,\n\t\trestorePostAction,\n\t\tonActionPerformed,\n\t\tisLoaded,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_icons","require","_url","_data","_htmlEntities","_coreData","_i18n","_notices","_element","_patterns","_components","_constants","_store","_lockUnlock","_isTemplateRevertable","_interopRequireDefault","_exportPatternAction","_createTemplatePartModal","_jsxRuntime","PATTERN_TYPES","CreatePatternModalContents","useDuplicatePatternProps","unlock","patternsPrivateApis","isTemplateRemovable","template","source","templatePart","includes","TEMPLATE_ORIGINS","custom","has_theme_file","canDeleteOrReset","item","isTemplatePart","type","TEMPLATE_PART_POST_TYPE","isUserPattern","user","isCustom","getItemTitle","title","decodeEntities","rendered","deletePostAction","id","label","__","isPrimary","icon","trash","isEligible","post","TEMPLATE_POST_TYPE","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionStart","onActionPerformed","isBusy","setIsBusy","useState","removeTemplates","useDispatch","editorStore","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","length","sprintf","_n","__experimentalHStack","justify","Button","variant","onClick","disabled","__experimentalIsFocusable","allowUndo","trashPostAction","status","createSuccessNotice","createErrorNotice","noticesStore","deleteEntityRecord","coreStore","promiseResult","Promise","allSettled","map","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","useMemo","callback","posts","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","backup","viewPostAction","external","window","open","link","postRevisionsAction","_items$0$_links$versi","revisionsCount","_links","count","_post$_links$predeces","_post$_links$version","lastRevisionId","href","addQueryArgs","revision","document","location","renamePostAction","Object","values","is_custom","isCustomPattern","hasThemeFile","originalTitle","setTitle","onRename","event","preventDefault","error","code","onSubmit","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","duplicatePostAction","_x","isCreatingPage","setIsCreatingPage","saveEntityRecord","createPage","newItem","slug","author","comment_status","content","raw","excerpt","meta","parent","password","format","featured_media","menu_order","ping_status","categories","tags","placeholder","isTemplatePartRevertable","resetTemplateAction","isTemplateRevertable","revertTemplate","onConfirm","fallbackErrorMessage","duplicatePatternAction","exports","modalHeader","isThemePattern","theme","duplicatedProps","pattern","patternPost","onSuccess","onClose","confirmLabel","duplicateTemplatePartAction","onTemplatePartSuccess","CreateTemplatePartModalContents","blocks","defaultArea","area","defaultTitle","onCreate","onError","usePostActions","postType","postTypeObject","useSelect","select","getPostType","permanentlyDeletePostAction","restorePostAction","isTemplateOrTemplatePart","isPattern","PATTERN_POST_TYPE","isLoaded","supportsRevisions","supports","revisions","actions","viewable","globalThis","IS_GUTENBERG_PLUGIN","exportPatternAsJSONAction","Boolean","i","existingCallback","_onActionPerformed","_items","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo, useState } from '@wordpress/element';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tPATTERN_POST_TYPE,\n} from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport isTemplateRevertable from '../../store/utils/is-template-revertable';\nimport { exportPatternAsJSONAction } from './export-pattern-action';\nimport { CreateTemplatePartModalContents } from '../create-template-part-modal';\n\n// Patterns.\nconst { PATTERN_TYPES, CreatePatternModalContents, useDuplicatePatternProps } =\n\tunlock( patternsPrivateApis );\n\n/**\n * Check if a template is removable.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is removable.\n */\nfunction isTemplateRemovable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\t// In patterns list page we map the templates parts to a different object\n\t// than the one returned from the endpoint. This is why we need to check for\n\t// two props whether is custom or has a theme file.\n\treturn (\n\t\t[ template.source, template.templatePart?.source ].includes(\n\t\t\tTEMPLATE_ORIGINS.custom\n\t\t) &&\n\t\t! template.has_theme_file &&\n\t\t! template.templatePart?.has_theme_file\n\t);\n}\nconst canDeleteOrReset = ( item ) => {\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\treturn isUserPattern || ( isTemplatePart && item.isCustom );\n};\n\nfunction getItemTitle( item ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\treturn decodeEntities( item.title?.rendered || '' );\n}\n\n// This action is used for templates, patterns and template parts.\n// Every other post type uses the similar `trashPostAction` which\n// moves the post to trash.\nconst deletePostAction = {\n\tid: 'delete-post',\n\tlabel: __( 'Delete' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( post ) {\n\t\tif (\n\t\t\t[ TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE ].includes(\n\t\t\t\tpost.type\n\t\t\t)\n\t\t) {\n\t\t\treturn isTemplateRemovable( post );\n\t\t}\n\t\t// We can only remove user patterns.\n\t\treturn post.type === PATTERN_TYPES.user;\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { removeTemplates } = unlock( useDispatch( editorStore ) );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait removeTemplates( items, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nconst trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\treturn ! [ 'auto-draft', 'trash' ].includes( item.status );\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move to trash \"%s\"?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of items (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move to trash %d item?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move to trash %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( item ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\titem.type,\n\t\t\t\t\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The item's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if ( items[ 0 ].type === 'page' ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t\t__( '%s items moved to trash.' ),\n\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t\t__( '%s items move to trash.' ),\n\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'move-to-trash-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at least one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to delete a single item.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving to trash the item.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to delete multiple items.\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving to trash the items.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving to trash the item: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving to trash the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Trash' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nfunction usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t\t\t} );\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nfunction useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\tawait Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( posts.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( posts[ 0 ].type === 'page' ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '%d pages have been restored.' ),\n\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'restore-post-action',\n\t\t\t\t\t} );\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while restoring the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while restoring the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nconst viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel( items ) {\n\t\tconst revisionsCount =\n\t\t\titems[ 0 ]._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn sprintf(\n\t\t\t/* translators: %s: number of revisions */\n\t\t\t__( 'View revisions (%s)' ),\n\t\t\trevisionsCount\n\t\t);\n\t},\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst renamePostAction = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif (\n\t\t\t! [\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t...Object.values( PATTERN_TYPES ),\n\t\t\t].includes( post.type )\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\t// In the case of templates, we can only rename custom templates.\n\t\tif ( post.type === TEMPLATE_POST_TYPE ) {\n\t\t\treturn isTemplateRemovable( post ) && post.is_custom;\n\t\t}\n\t\t// Make necessary checks for template parts and patterns.\n\t\tconst isTemplatePart = post.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst isUserPattern = post.type === PATTERN_TYPES.user;\n\t\t// In patterns list page we map the templates parts to a different object\n\t\t// than the one returned from the endpoint. This is why we need to check for\n\t\t// two props whether is custom or has a theme file.\n\t\tconst isCustomPattern =\n\t\t\tisUserPattern ||\n\t\t\t( isTemplatePart &&\n\t\t\t\t( post.isCustom || post.source === TEMPLATE_ORIGINS.custom ) );\n\t\tconst hasThemeFile =\n\t\t\tisTemplatePart &&\n\t\t\t( post.templatePart?.has_theme_file || post.has_theme_file );\n\t\treturn isCustomPattern && ! hasThemeFile;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst originalTitle = decodeEntities(\n\t\t\ttypeof item.title === 'string' ? item.title : item.title.rendered\n\t\t);\n\t\tconst [ title, setTitle ] = useState( () => originalTitle );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst duplicatePostAction = {\n\tid: 'duplicate-post',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\t\tconst [ title, setTitle ] = useState(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: Existing item title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\tgetItemTitle( item )\n\t\t\t)\n\t\t);\n\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function createPage( event ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( isCreatingPage ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsCreatingPage( true );\n\t\t\ttry {\n\t\t\t\tconst newItem = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\titem.type,\n\t\t\t\t\t{\n\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tslug: title || __( 'No title' ),\n\t\t\t\t\t\tauthor: item.author,\n\t\t\t\t\t\tcomment_status: item.comment_status,\n\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t\t\t: item.content.raw,\n\t\t\t\t\t\texcerpt: item.excerpt.raw,\n\t\t\t\t\t\tmeta: item.meta,\n\t\t\t\t\t\tparent: item.parent,\n\t\t\t\t\t\tpassword: item.password,\n\t\t\t\t\t\ttemplate: item.template,\n\t\t\t\t\t\tformat: item.format,\n\t\t\t\t\t\tfeatured_media: item.featured_media,\n\t\t\t\t\t\tmenu_order: item.menu_order,\n\t\t\t\t\t\tping_status: item.ping_status,\n\t\t\t\t\t\tcategories: item.categories,\n\t\t\t\t\t\ttags: item.tags,\n\t\t\t\t\t},\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\tnewItem.title?.rendered || title\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\tonActionPerformed( [ newItem ] );\n\t\t\t\t}\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while duplicating the page.' );\n\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} finally {\n\t\t\t\tsetIsCreatingPage( false );\n\t\t\t\tcloseModal();\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst isTemplatePartRevertable = ( item ) => {\n\tif ( ! item ) {\n\t\treturn false;\n\t}\n\tconst hasThemeFile = item.templatePart?.has_theme_file;\n\treturn canDeleteOrReset( item ) && hasThemeFile;\n};\n\nconst resetTemplateAction = {\n\tid: 'reset-template',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn item.type === TEMPLATE_PART_POST_TYPE\n\t\t\t? isTemplatePartRevertable( item )\n\t\t\t: isTemplateRevertable( item );\n\t},\n\ticon: backup,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t} ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { revertTemplate, removeTemplates } = unlock(\n\t\t\tuseDispatch( editorStore )\n\t\t);\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tif ( items[ 0 ].type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\tawait removeTemplates( items );\n\t\t\t\t} else {\n\t\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\t\tif ( template.type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities( getItemTitle( items[ 0 ] ) )\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'revert-template-action',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tif ( onActionStart ) {\n\t\t\t\t\t\t\t\tonActionStart( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait onConfirm( items );\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const duplicatePatternAction = {\n\tid: 'duplicate-pattern',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type !== TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate pattern', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\t\tconst duplicatedProps = useDuplicatePatternProps( {\n\t\t\tpattern:\n\t\t\t\tisThemePattern || ! item.patternPost ? item : item.patternPost,\n\t\t\tonSuccess: () => closeModal(),\n\t\t} );\n\t\treturn (\n\t\t\t<CreatePatternModalContents\n\t\t\t\tonClose={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t{ ...duplicatedProps }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport const duplicateTemplatePartAction = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tfunction onTemplatePartSuccess() {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\tcloseModal();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ item.blocks }\n\t\t\t\tdefaultArea={ item.templatePart?.area || item.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\t\titem.title\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport function usePostActions( postType, onActionPerformed ) {\n\tconst { postTypeObject } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tpostTypeObject: getPostType( postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\tconst isTemplateOrTemplatePart = [\n\t\tTEMPLATE_POST_TYPE,\n\t\tTEMPLATE_PART_POST_TYPE,\n\t].includes( postType );\n\tconst isPattern = postType === PATTERN_POST_TYPE;\n\tconst isLoaded = !! postTypeObject;\n\tconst supportsRevisions = !! postTypeObject?.supports?.revisions;\n\treturn useMemo( () => {\n\t\tif ( ! isLoaded ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst actions = [\n\t\t\tpostTypeObject?.viewable && viewPostAction,\n\t\t\tsupportsRevisions && postRevisionsAction,\n\t\t\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t\t\t? ! isTemplateOrTemplatePart &&\n\t\t\t\t ! isPattern &&\n\t\t\t\t duplicatePostAction\n\t\t\t\t: false,\n\t\t\tisTemplateOrTemplatePart && duplicateTemplatePartAction,\n\t\t\tisPattern && duplicatePatternAction,\n\t\t\trenamePostAction,\n\t\t\tisPattern && exportPatternAsJSONAction,\n\t\t\tisTemplateOrTemplatePart ? resetTemplateAction : restorePostAction,\n\t\t\tisTemplateOrTemplatePart || isPattern\n\t\t\t\t? deletePostAction\n\t\t\t\t: trashPostAction,\n\t\t\t! isTemplateOrTemplatePart && permanentlyDeletePostAction,\n\t\t].filter( Boolean );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, _onActionPerformed ) => {\n\t\t\t\t\t\t\texistingCallback( items, ( _items ) => {\n\t\t\t\t\t\t\t\tif ( _onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t_onActionPerformed( _items );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonActionPerformed( actions[ i ].id, _items );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tisTemplateOrTemplatePart,\n\t\tisPattern,\n\t\tpostTypeObject?.viewable,\n\t\tpermanentlyDeletePostAction,\n\t\trestorePostAction,\n\t\tonActionPerformed,\n\t\tisLoaded,\n\t\tsupportsRevisions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.exportPatternAsJSONAction = void 0;
|
|
7
|
+
var _changeCase = require("change-case");
|
|
8
|
+
var _clientZip = require("client-zip");
|
|
9
|
+
var _blob = require("@wordpress/blob");
|
|
10
|
+
var _i18n = require("@wordpress/i18n");
|
|
11
|
+
var _patterns = require("@wordpress/patterns");
|
|
12
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
13
|
+
/**
|
|
14
|
+
* External dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* WordPress dependencies
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Internal dependencies
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
// Patterns.
|
|
26
|
+
const {
|
|
27
|
+
PATTERN_TYPES
|
|
28
|
+
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
|
|
29
|
+
function getJsonFromItem(item) {
|
|
30
|
+
return JSON.stringify({
|
|
31
|
+
__file: item.type,
|
|
32
|
+
title: item.title || item.name,
|
|
33
|
+
content: item.patternPost.content.raw,
|
|
34
|
+
syncStatus: item.patternPost.wp_pattern_sync_status
|
|
35
|
+
}, null, 2);
|
|
36
|
+
}
|
|
37
|
+
const exportPatternAsJSONAction = exports.exportPatternAsJSONAction = {
|
|
38
|
+
id: 'export-pattern',
|
|
39
|
+
label: (0, _i18n.__)('Export as JSON'),
|
|
40
|
+
supportsBulk: true,
|
|
41
|
+
isEligible: item => {
|
|
42
|
+
if (!item.type) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return item.type === PATTERN_TYPES.user;
|
|
46
|
+
},
|
|
47
|
+
callback: async items => {
|
|
48
|
+
if (items.length === 1) {
|
|
49
|
+
return (0, _blob.downloadBlob)(`${(0, _changeCase.paramCase)(items[0].title || items[0].name)}.json`, getJsonFromItem(items[0]), 'application/json');
|
|
50
|
+
}
|
|
51
|
+
const nameCount = {};
|
|
52
|
+
const filesToZip = items.map(item => {
|
|
53
|
+
const name = (0, _changeCase.paramCase)(item.title || item.name);
|
|
54
|
+
nameCount[name] = (nameCount[name] || 0) + 1;
|
|
55
|
+
return {
|
|
56
|
+
name: `${name + (nameCount[name] > 1 ? '-' + (nameCount[name] - 1) : '')}.json`,
|
|
57
|
+
lastModified: new Date(),
|
|
58
|
+
input: getJsonFromItem(item)
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
return (0, _blob.downloadBlob)((0, _i18n.__)('patterns-export') + '.zip', await (0, _clientZip.downloadZip)(filesToZip).blob(), 'application/zip');
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=export-pattern-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_changeCase","require","_clientZip","_blob","_i18n","_patterns","_lockUnlock","PATTERN_TYPES","unlock","patternsPrivateApis","getJsonFromItem","item","JSON","stringify","__file","type","title","name","content","patternPost","raw","syncStatus","wp_pattern_sync_status","exportPatternAsJSONAction","exports","id","label","__","supportsBulk","isEligible","user","callback","items","length","downloadBlob","kebabCase","nameCount","filesToZip","map","lastModified","Date","input","downloadZip","blob"],"sources":["@wordpress/editor/src/components/post-actions/export-pattern-action.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport { downloadZip } from 'client-zip';\n\n/**\n * WordPress dependencies\n */\nimport { downloadBlob } from '@wordpress/blob';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nfunction getJsonFromItem( item ) {\n\treturn JSON.stringify(\n\t\t{\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t},\n\t\tnull,\n\t\t2\n\t);\n}\n\nexport const exportPatternAsJSONAction = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\tsupportsBulk: true,\n\tisEligible: ( item ) => {\n\t\tif ( ! item.type ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn item.type === PATTERN_TYPES.user;\n\t},\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase( items[ 0 ].title || items[ 0 ].name ) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( item.title || item.name );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\n\t\t);\n\t},\n};\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAKA,IAAAK,WAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA,MAAM;EAAEM;AAAc,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;AAEvD,SAASC,eAAeA,CAAEC,IAAI,EAAG;EAChC,OAAOC,IAAI,CAACC,SAAS,CACpB;IACCC,MAAM,EAAEH,IAAI,CAACI,IAAI;IACjBC,KAAK,EAAEL,IAAI,CAACK,KAAK,IAAIL,IAAI,CAACM,IAAI;IAC9BC,OAAO,EAAEP,IAAI,CAACQ,WAAW,CAACD,OAAO,CAACE,GAAG;IACrCC,UAAU,EAAEV,IAAI,CAACQ,WAAW,CAACG;EAC9B,CAAC,EACD,IAAI,EACJ,CACD,CAAC;AACF;AAEO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG;EACxCE,EAAE,EAAE,gBAAgB;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC7BC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAIlB,IAAI,IAAM;IACvB,IAAK,CAAEA,IAAI,CAACI,IAAI,EAAG;MAClB,OAAO,KAAK;IACb;IACA,OAAOJ,IAAI,CAACI,IAAI,KAAKR,aAAa,CAACuB,IAAI;EACxC,CAAC;EACDC,QAAQ,EAAE,MAAQC,KAAK,IAAM;IAC5B,IAAKA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAG;MACzB,OAAO,IAAAC,kBAAY,EACjB,GAAG,IAAAC,qBAAS,EAAEH,KAAK,CAAE,CAAC,CAAE,CAAChB,KAAK,IAAIgB,KAAK,CAAE,CAAC,CAAE,CAACf,IAAK,CAAG,OAAM,EAC5DP,eAAe,CAAEsB,KAAK,CAAE,CAAC,CAAG,CAAC,EAC7B,kBACD,CAAC;IACF;IACA,MAAMI,SAAS,GAAG,CAAC,CAAC;IACpB,MAAMC,UAAU,GAAGL,KAAK,CAACM,GAAG,CAAI3B,IAAI,IAAM;MACzC,MAAMM,IAAI,GAAG,IAAAkB,qBAAS,EAAExB,IAAI,CAACK,KAAK,IAAIL,IAAI,CAACM,IAAK,CAAC;MACjDmB,SAAS,CAAEnB,IAAI,CAAE,GAAG,CAAEmB,SAAS,CAAEnB,IAAI,CAAE,IAAI,CAAC,IAAK,CAAC;MAClD,OAAO;QACNA,IAAI,EAAG,GACNA,IAAI,IACFmB,SAAS,CAAEnB,IAAI,CAAE,GAAG,CAAC,GACpB,GAAG,IAAKmB,SAAS,CAAEnB,IAAI,CAAE,GAAG,CAAC,CAAE,GAC/B,EAAE,CACL,OAAM;QACPsB,YAAY,EAAE,IAAIC,IAAI,CAAC,CAAC;QACxBC,KAAK,EAAE/B,eAAe,CAAEC,IAAK;MAC9B,CAAC;IACF,CAAE,CAAC;IACH,OAAO,IAAAuB,kBAAY,EAClB,IAAAP,QAAE,EAAE,iBAAkB,CAAC,GAAG,MAAM,EAChC,MAAM,IAAAe,sBAAW,EAAEL,UAAW,CAAC,CAACM,IAAI,CAAC,CAAC,EACtC,iBACD,CAAC;EACF;AACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.exportPatternAsJSONAction = void 0;
|
|
7
|
+
// Client-zip is meant to be used in a browser and is therefore released as an ES6 module only,
|
|
8
|
+
// in order for the native build to succeed we are importing a null action and avoiding importing
|
|
9
|
+
// the non working in native context client-zip module.
|
|
10
|
+
const exportPatternAsJSONAction = exports.exportPatternAsJSONAction = null;
|
|
11
|
+
//# sourceMappingURL=export-pattern-action.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["exportPatternAsJSONAction","exports"],"sources":["@wordpress/editor/src/components/post-actions/export-pattern-action.native.js"],"sourcesContent":["// Client-zip is meant to be used in a browser and is therefore released as an ES6 module only,\n// in order for the native build to succeed we are importing a null action and avoiding importing\n// the non working in native context client-zip module.\nexport const exportPatternAsJSONAction = null;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,IAAI","ignoreList":[]}
|
|
@@ -4,15 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = PostActions;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _data = require("@wordpress/data");
|
|
9
8
|
var _element = require("@wordpress/element");
|
|
10
9
|
var _i18n = require("@wordpress/i18n");
|
|
11
10
|
var _components = require("@wordpress/components");
|
|
12
11
|
var _icons = require("@wordpress/icons");
|
|
12
|
+
var _coreData = require("@wordpress/core-data");
|
|
13
13
|
var _lockUnlock = require("../../lock-unlock");
|
|
14
14
|
var _actions = require("./actions");
|
|
15
15
|
var _store = require("../../store");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
/**
|
|
17
18
|
* WordPress dependencies
|
|
18
19
|
*/
|
|
@@ -39,11 +40,15 @@ function PostActions({
|
|
|
39
40
|
} = (0, _data.useSelect)(select => {
|
|
40
41
|
const {
|
|
41
42
|
getCurrentPostType,
|
|
42
|
-
|
|
43
|
+
getCurrentPostId
|
|
43
44
|
} = select(_store.store);
|
|
45
|
+
const {
|
|
46
|
+
getEditedEntityRecord
|
|
47
|
+
} = select(_coreData.store);
|
|
48
|
+
const _postType = getCurrentPostType();
|
|
44
49
|
return {
|
|
45
|
-
item:
|
|
46
|
-
postType:
|
|
50
|
+
item: getEditedEntityRecord('postType', _postType, getCurrentPostId()),
|
|
51
|
+
postType: _postType
|
|
47
52
|
};
|
|
48
53
|
}, []);
|
|
49
54
|
const allActions = (0, _actions.usePostActions)(postType, onActionPerformed);
|
|
@@ -52,9 +57,9 @@ function PostActions({
|
|
|
52
57
|
return !action.isEligible || action.isEligible(item);
|
|
53
58
|
});
|
|
54
59
|
}, [allActions, item]);
|
|
55
|
-
return (0,
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
|
|
56
61
|
open: isActionsMenuOpen,
|
|
57
|
-
trigger: (0,
|
|
62
|
+
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
58
63
|
size: "small",
|
|
59
64
|
icon: _icons.moreVertical,
|
|
60
65
|
label: (0, _i18n.__)('Actions'),
|
|
@@ -65,14 +70,15 @@ function PostActions({
|
|
|
65
70
|
...buttonProps
|
|
66
71
|
}),
|
|
67
72
|
onOpenChange: setIsActionsMenuOpen,
|
|
68
|
-
placement: "bottom-end"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
placement: "bottom-end",
|
|
74
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionsDropdownMenuGroup, {
|
|
75
|
+
actions: actions,
|
|
76
|
+
item: item,
|
|
77
|
+
onClose: () => {
|
|
78
|
+
setIsActionsMenuOpen(false);
|
|
79
|
+
}
|
|
80
|
+
})
|
|
81
|
+
});
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
// From now on all the functions on this file are copied as from the dataviews packages,
|
|
@@ -83,12 +89,17 @@ function PostActions({
|
|
|
83
89
|
// Copied as is from packages/dataviews/src/item-actions.js
|
|
84
90
|
function DropdownMenuItemTrigger({
|
|
85
91
|
action,
|
|
86
|
-
onClick
|
|
92
|
+
onClick,
|
|
93
|
+
items
|
|
87
94
|
}) {
|
|
88
|
-
|
|
95
|
+
const label = typeof action.label === 'string' ? action.label : action.label(items);
|
|
96
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
89
97
|
onClick: onClick,
|
|
90
|
-
hideOnClick: !action.RenderModal
|
|
91
|
-
|
|
98
|
+
hideOnClick: !action.RenderModal,
|
|
99
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
|
|
100
|
+
children: label
|
|
101
|
+
})
|
|
102
|
+
});
|
|
92
103
|
}
|
|
93
104
|
|
|
94
105
|
// Copied as is from packages/dataviews/src/item-actions.js
|
|
@@ -102,28 +113,32 @@ function ActionWithModal({
|
|
|
102
113
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
103
114
|
const actionTriggerProps = {
|
|
104
115
|
action,
|
|
105
|
-
onClick: () => setIsModalOpen(true)
|
|
116
|
+
onClick: () => setIsModalOpen(true),
|
|
117
|
+
items: [item]
|
|
106
118
|
};
|
|
107
119
|
const {
|
|
108
120
|
RenderModal,
|
|
109
121
|
hideModalHeader
|
|
110
122
|
} = action;
|
|
111
|
-
return (0,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
124
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ActionTrigger, {
|
|
125
|
+
...actionTriggerProps
|
|
126
|
+
}), isModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
|
|
127
|
+
title: action.modalHeader || action.label,
|
|
128
|
+
__experimentalHideHeader: !!hideModalHeader,
|
|
129
|
+
onRequestClose: () => {
|
|
130
|
+
setIsModalOpen(false);
|
|
131
|
+
},
|
|
132
|
+
overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`,
|
|
133
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderModal, {
|
|
134
|
+
items: [item],
|
|
135
|
+
closeModal: () => {
|
|
136
|
+
setIsModalOpen(false);
|
|
137
|
+
onClose();
|
|
138
|
+
}
|
|
139
|
+
})
|
|
140
|
+
})]
|
|
141
|
+
});
|
|
127
142
|
}
|
|
128
143
|
|
|
129
144
|
// Copied as is from packages/dataviews/src/item-actions.js
|
|
@@ -133,21 +148,22 @@ function ActionsDropdownMenuGroup({
|
|
|
133
148
|
item,
|
|
134
149
|
onClose
|
|
135
150
|
}) {
|
|
136
|
-
return (0,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
151
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuGroup, {
|
|
152
|
+
children: actions.map(action => {
|
|
153
|
+
if (action.RenderModal) {
|
|
154
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionWithModal, {
|
|
155
|
+
action: action,
|
|
156
|
+
item: item,
|
|
157
|
+
ActionTrigger: DropdownMenuItemTrigger,
|
|
158
|
+
onClose: onClose
|
|
159
|
+
}, action.id);
|
|
160
|
+
}
|
|
161
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemTrigger, {
|
|
140
162
|
action: action,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
return (0, _react.createElement)(DropdownMenuItemTrigger, {
|
|
147
|
-
key: action.id,
|
|
148
|
-
action: action,
|
|
149
|
-
onClick: () => action.callback([item])
|
|
150
|
-
});
|
|
151
|
-
}));
|
|
163
|
+
onClick: () => action.callback([item]),
|
|
164
|
+
items: [item]
|
|
165
|
+
}, action.id);
|
|
166
|
+
})
|
|
167
|
+
});
|
|
152
168
|
}
|
|
153
169
|
//# sourceMappingURL=index.js.map
|