@wordpress/editor 13.33.0 → 13.35.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 +12 -4
- package/README.md +132 -20
- package/build/bindings/pattern-overrides.js +70 -1
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/components/autosave-monitor/index.js +15 -12
- package/build/components/autosave-monitor/index.js.map +1 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js +126 -0
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
- package/build/components/block-settings-menu/content-only-settings-menu.native.js +11 -0
- package/build/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
- package/build/components/character-count/index.js +5 -0
- package/build/components/character-count/index.js.map +1 -1
- package/build/components/collapsible-block-toolbar/index.js +73 -0
- package/build/components/collapsible-block-toolbar/index.js.map +1 -0
- package/build/components/document-bar/index.js +2 -2
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/check.js +8 -0
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js +11 -0
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +2 -2
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/document-tools/index.js +15 -25
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-canvas/edit-template-blocks-notification.js +1 -1
- package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build/components/editor-canvas/index.js +19 -8
- package/build/components/editor-canvas/index.js.map +1 -1
- package/build/components/editor-history/redo.js +11 -0
- package/build/components/editor-history/redo.js.map +1 -1
- package/build/components/editor-history/undo.js +11 -0
- package/build/components/editor-history/undo.js.map +1 -1
- package/build/components/editor-snackbars/index.js +6 -0
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +7 -0
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +35 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/global-styles-provider/index.js +130 -0
- package/build/components/global-styles-provider/index.js.map +1 -0
- package/build/components/header/index.js +147 -0
- package/build/components/header/index.js.map +1 -0
- package/build/components/inserter-sidebar/index.js +56 -34
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +4 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +2 -2
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +1 -1
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/more-menu/copy-content-menu-item.js +59 -0
- package/build/components/more-menu/copy-content-menu-item.js.map +1 -0
- package/build/components/more-menu/index.js +119 -0
- package/build/components/more-menu/index.js.map +1 -0
- package/build/components/more-menu/tools-more-menu-group.js +23 -0
- package/build/components/more-menu/tools-more-menu-group.js.map +1 -0
- package/build/components/more-menu/view-more-menu-group.js +24 -0
- package/build/components/more-menu/view-more-menu-group.js.map +1 -0
- package/build/components/page-attributes/check.js +8 -0
- package/build/components/page-attributes/check.js.map +1 -1
- package/build/components/page-attributes/order.js +7 -0
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/panel.js +14 -8
- package/build/components/page-attributes/panel.js.map +1 -1
- package/build/components/page-attributes/parent.js +7 -0
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/plugin-post-publish-panel/index.js +1 -1
- package/build/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build/components/plugin-pre-publish-panel/index.js +1 -1
- package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build/components/plugin-sidebar/index.js +1 -1
- package/build/components/plugin-sidebar/index.js.map +1 -1
- package/build/components/post-actions/actions.js +219 -66
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +32 -16
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-author/check.js +9 -0
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/index.js +6 -0
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-author/panel.js +5 -0
- package/build/components/post-author/panel.js.map +1 -1
- package/build/components/post-card-panel/index.js +7 -66
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-comments/index.js +28 -8
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-content-information/index.js +72 -0
- package/build/components/post-content-information/index.js.map +1 -0
- package/build/components/post-discussion/panel.js +104 -20
- package/build/components/post-discussion/panel.js.map +1 -1
- package/build/components/post-excerpt/check.js +0 -19
- package/build/components/post-excerpt/check.js.map +1 -1
- package/build/components/post-excerpt/index.js +52 -12
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +118 -7
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-excerpt/plugin.js +2 -2
- package/build/components/post-excerpt/plugin.js.map +1 -1
- package/build/components/post-featured-image/index.js +1 -1
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-format/panel.js +27 -0
- package/build/components/post-format/panel.js.map +1 -0
- package/build/components/post-last-edited-panel/index.js +33 -0
- package/build/components/post-last-edited-panel/index.js.map +1 -0
- package/build/components/post-panel-row/index.js +2 -2
- package/build/components/post-panel-row/index.js.map +1 -1
- package/build/components/post-panel-section/index.js +28 -0
- package/build/components/post-panel-section/index.js.map +1 -0
- package/build/components/post-pingbacks/index.js +5 -2
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-publish-button/post-publish-button-or-toggle.js +100 -0
- package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
- package/build/components/post-saved-state/index.js +2 -2
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/panel.js +1 -1
- package/build/components/post-schedule/panel.js.map +1 -1
- package/build/components/post-slug/panel.js +27 -0
- package/build/components/post-slug/panel.js.map +1 -0
- package/build/components/post-status/index.js +13 -13
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-sticky/panel.js +21 -0
- package/build/components/post-sticky/panel.js.map +1 -0
- package/build/components/post-template/block-theme.js +2 -2
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js +0 -1
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/swap-template-button.js +2 -5
- package/build/components/post-template/swap-template-button.js.map +1 -1
- package/build/components/post-title/index.js +2 -2
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/post-title-raw.js +2 -2
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-transform-panel/hooks.js +90 -0
- package/build/components/post-transform-panel/hooks.js.map +1 -0
- package/build/components/post-transform-panel/index.js +101 -0
- package/build/components/post-transform-panel/index.js.map +1 -0
- package/build/components/post-trash/panel.js +18 -0
- package/build/components/post-trash/panel.js.map +1 -0
- package/build/components/post-type-support-check/index.js +1 -1
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/post-url/index.js +2 -1
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-url/panel.js +1 -1
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/preferences-modal/enable-publish-sidebar.js +34 -0
- package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
- package/build/components/preferences-modal/index.js +11 -5
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +3 -1
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +23 -16
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.js +3 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +21 -3
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/save-publish-panels/index.js +89 -0
- package/build/components/save-publish-panels/index.js.map +1 -0
- package/build/components/sidebar/constants.js +11 -0
- package/build/components/sidebar/constants.js.map +1 -0
- package/build/components/sidebar/header.js +53 -0
- package/build/components/sidebar/header.js.map +1 -0
- package/build/components/sidebar/index.js +157 -0
- package/build/components/sidebar/index.js.map +1 -0
- package/build/components/sidebar/post-summary.js +84 -0
- package/build/components/sidebar/post-summary.js.map +1 -0
- package/build/components/start-page-options/index.js +10 -8
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/start-template-options/index.js +192 -0
- package/build/components/start-template-options/index.js.map +1 -0
- package/build/components/template-content-panel/index.js +38 -0
- package/build/components/template-content-panel/index.js.map +1 -0
- package/build/hooks/pattern-overrides.js +10 -5
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/private-apis.js +19 -8
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +72 -0
- package/build/private-apis.native.js.map +1 -0
- package/build/store/private-selectors.js +6 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +15 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +3 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js +69 -1
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/components/autosave-monitor/index.js +15 -13
- package/build-module/components/autosave-monitor/index.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +119 -0
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
- package/build-module/components/block-settings-menu/content-only-settings-menu.native.js +5 -0
- package/build-module/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
- package/build-module/components/character-count/index.js +6 -0
- package/build-module/components/character-count/index.js.map +1 -1
- package/build-module/components/collapsible-block-toolbar/index.js +65 -0
- package/build-module/components/collapsible-block-toolbar/index.js.map +1 -0
- package/build-module/components/document-bar/index.js +2 -2
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/check.js +9 -0
- package/build-module/components/document-outline/check.js.map +1 -1
- package/build-module/components/document-outline/index.js +11 -0
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +2 -2
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/document-tools/index.js +17 -27
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js +1 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/editor-canvas/index.js +19 -8
- package/build-module/components/editor-canvas/index.js.map +1 -1
- package/build-module/components/editor-history/redo.js +11 -0
- package/build-module/components/editor-history/redo.js.map +1 -1
- package/build-module/components/editor-history/undo.js +11 -0
- package/build-module/components/editor-history/undo.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +6 -0
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +8 -0
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +36 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +120 -0
- package/build-module/components/global-styles-provider/index.js.map +1 -0
- package/build-module/components/header/index.js +139 -0
- package/build-module/components/header/index.js.map +1 -0
- package/build-module/components/inserter-sidebar/index.js +59 -37
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +4 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -2
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +1 -1
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/more-menu/copy-content-menu-item.js +52 -0
- package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -0
- package/build-module/components/more-menu/index.js +111 -0
- package/build-module/components/more-menu/index.js.map +1 -0
- package/build-module/components/more-menu/tools-more-menu-group.js +16 -0
- package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -0
- package/build-module/components/more-menu/view-more-menu-group.js +17 -0
- package/build-module/components/more-menu/view-more-menu-group.js.map +1 -0
- package/build-module/components/page-attributes/check.js +9 -0
- package/build-module/components/page-attributes/check.js.map +1 -1
- package/build-module/components/page-attributes/order.js +7 -0
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/panel.js +13 -6
- package/build-module/components/page-attributes/panel.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +7 -0
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/plugin-post-publish-panel/index.js +1 -1
- package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-pre-publish-panel/index.js +1 -1
- package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-sidebar/index.js +1 -1
- package/build-module/components/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +223 -70
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +33 -17
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/check.js +10 -0
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/index.js +6 -0
- package/build-module/components/post-author/index.js.map +1 -1
- package/build-module/components/post-author/panel.js +6 -0
- package/build-module/components/post-author/panel.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +9 -67
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-comments/index.js +30 -10
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-content-information/index.js +66 -0
- package/build-module/components/post-content-information/index.js.map +1 -0
- package/build-module/components/post-discussion/panel.js +105 -21
- package/build-module/components/post-discussion/panel.js.map +1 -1
- package/build-module/components/post-excerpt/check.js +0 -19
- package/build-module/components/post-excerpt/check.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +52 -11
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +118 -8
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-excerpt/plugin.js +2 -2
- package/build-module/components/post-excerpt/plugin.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +1 -1
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-format/panel.js +18 -0
- package/build-module/components/post-format/panel.js.map +1 -0
- package/build-module/components/post-last-edited-panel/index.js +26 -0
- package/build-module/components/post-last-edited-panel/index.js.map +1 -0
- package/build-module/components/post-panel-row/index.js +2 -2
- package/build-module/components/post-panel-row/index.js.map +1 -1
- package/build-module/components/post-panel-section/index.js +20 -0
- package/build-module/components/post-panel-section/index.js.map +1 -0
- package/build-module/components/post-pingbacks/index.js +6 -3
- package/build-module/components/post-pingbacks/index.js.map +1 -1
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +91 -0
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
- package/build-module/components/post-saved-state/index.js +2 -2
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/panel.js +1 -1
- package/build-module/components/post-schedule/panel.js.map +1 -1
- package/build-module/components/post-slug/panel.js +18 -0
- package/build-module/components/post-slug/panel.js.map +1 -0
- package/build-module/components/post-status/index.js +13 -13
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-sticky/panel.js +12 -0
- package/build-module/components/post-sticky/panel.js.map +1 -0
- package/build-module/components/post-template/block-theme.js +2 -2
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +0 -1
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js +3 -6
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-title/index.js +2 -2
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js +2 -2
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-transform-panel/hooks.js +83 -0
- package/build-module/components/post-transform-panel/hooks.js.map +1 -0
- package/build-module/components/post-transform-panel/index.js +94 -0
- package/build-module/components/post-transform-panel/index.js.map +1 -0
- package/build-module/components/post-trash/panel.js +10 -0
- package/build-module/components/post-trash/panel.js.map +1 -0
- package/build-module/components/post-type-support-check/index.js +1 -1
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/post-url/index.js +2 -1
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-url/panel.js +1 -1
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/preferences-modal/enable-publish-sidebar.js +27 -0
- package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
- package/build-module/components/preferences-modal/index.js +11 -5
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +3 -1
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +24 -17
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.js +3 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +21 -3
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +80 -0
- package/build-module/components/save-publish-panels/index.js.map +1 -0
- package/build-module/components/sidebar/constants.js +5 -0
- package/build-module/components/sidebar/constants.js.map +1 -0
- package/build-module/components/sidebar/header.js +46 -0
- package/build-module/components/sidebar/header.js.map +1 -0
- package/build-module/components/sidebar/index.js +149 -0
- package/build-module/components/sidebar/index.js.map +1 -0
- package/build-module/components/sidebar/post-summary.js +77 -0
- package/build-module/components/sidebar/post-summary.js.map +1 -0
- package/build-module/components/start-page-options/index.js +10 -8
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +185 -0
- package/build-module/components/start-template-options/index.js.map +1 -0
- package/build-module/components/template-content-panel/index.js +31 -0
- package/build-module/components/template-content-panel/index.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +10 -5
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/private-apis.js +19 -8
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +62 -0
- package/build-module/private-apis.native.js.map +1 -0
- package/build-module/store/private-selectors.js +3 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +14 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +535 -48
- package/build-style/style.css +535 -48
- package/package.json +38 -36
- package/src/bindings/pattern-overrides.js +83 -1
- package/src/components/autocompleters/style.scss +1 -2
- package/src/components/autosave-monitor/index.js +15 -12
- package/src/components/block-settings-menu/content-only-settings-menu.js +175 -0
- package/src/components/block-settings-menu/content-only-settings-menu.native.js +4 -0
- package/src/components/block-settings-menu/style.scss +4 -0
- package/src/components/character-count/index.js +5 -0
- package/src/components/collapsible-block-toolbar/index.js +77 -0
- package/src/components/collapsible-block-toolbar/style.scss +80 -0
- package/src/components/document-bar/index.js +2 -2
- package/src/components/document-outline/check.js +8 -0
- package/src/components/document-outline/index.js +10 -0
- package/src/components/document-outline/item.js +2 -2
- package/src/components/document-tools/index.js +19 -26
- package/src/components/editor-canvas/edit-template-blocks-notification.js +1 -1
- package/src/components/editor-canvas/index.js +18 -6
- package/src/components/editor-history/redo.js +10 -0
- package/src/components/editor-history/undo.js +10 -0
- package/src/components/editor-snackbars/index.js +5 -0
- package/src/components/entities-saved-states/style.scss +7 -0
- package/src/components/global-keyboard-shortcuts/index.js +7 -0
- package/src/components/global-keyboard-shortcuts/register-shortcuts.js +42 -1
- package/src/components/global-styles-provider/index.js +162 -0
- package/src/components/header/index.js +154 -0
- package/src/components/header/style.scss +231 -0
- package/src/components/inserter-sidebar/index.js +52 -32
- package/src/components/inserter-sidebar/style.scss +10 -3
- package/src/components/keyboard-shortcut-help-modal/config.js +10 -1
- package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
- package/src/components/list-view-sidebar/index.js +1 -1
- package/src/components/list-view-sidebar/style.scss +3 -2
- package/src/components/more-menu/copy-content-menu-item.js +51 -0
- package/src/components/more-menu/index.js +158 -0
- package/src/components/more-menu/tools-more-menu-group.js +11 -0
- package/src/components/more-menu/view-more-menu-group.js +13 -0
- package/src/components/page-attributes/check.js +8 -0
- package/src/components/page-attributes/order.js +6 -0
- package/src/components/page-attributes/panel.js +21 -17
- package/src/components/page-attributes/parent.js +6 -0
- package/src/components/page-attributes/test/order.js +5 -1
- package/src/components/plugin-post-publish-panel/index.js +1 -1
- package/src/components/plugin-pre-publish-panel/index.js +1 -1
- package/src/components/plugin-sidebar/index.js +1 -1
- package/src/components/post-actions/actions.js +373 -152
- package/src/components/post-actions/index.js +34 -33
- package/src/components/post-author/check.js +9 -0
- package/src/components/post-author/index.js +5 -0
- package/src/components/post-author/panel.js +5 -0
- package/src/components/post-card-panel/index.js +40 -141
- package/src/components/post-card-panel/style.scss +2 -6
- package/src/components/post-comments/index.js +47 -9
- package/src/components/post-content-information/index.js +83 -0
- package/src/components/post-content-information/style.scss +6 -0
- package/src/components/post-discussion/panel.js +108 -27
- package/src/components/post-discussion/style.scss +26 -0
- package/src/components/post-excerpt/check.js +0 -18
- package/src/components/post-excerpt/index.js +66 -15
- package/src/components/post-excerpt/panel.js +196 -19
- package/src/components/post-excerpt/plugin.js +2 -2
- package/src/components/post-excerpt/style.scss +24 -0
- package/src/components/post-featured-image/index.js +1 -1
- package/src/components/post-featured-image/style.scss +2 -8
- package/src/components/post-format/panel.js +22 -0
- package/src/components/post-format/style.scss +6 -0
- package/src/components/post-last-edited-panel/index.js +35 -0
- package/src/components/post-last-edited-panel/style.scss +6 -0
- package/src/components/post-last-revision/test/check.js +5 -1
- package/src/components/post-panel-row/index.js +2 -2
- package/src/components/post-panel-row/style.scss +3 -3
- package/src/components/post-panel-section/index.js +19 -0
- package/src/components/post-panel-section/style.scss +3 -0
- package/src/components/post-pingbacks/index.js +11 -2
- package/src/components/post-publish-button/post-publish-button-or-toggle.js +102 -0
- package/src/components/post-publish-button/test/post-publish-button-or-toggle.js +63 -0
- package/src/components/post-publish-panel/style.scss +48 -0
- package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +225 -75
- package/src/components/post-saved-state/index.js +2 -2
- package/src/components/post-schedule/panel.js +1 -1
- package/src/components/post-schedule/style.scss +2 -4
- package/src/components/post-slug/panel.js +22 -0
- package/src/components/post-slug/style.scss +5 -0
- package/src/components/post-slug/test/index.js +5 -1
- package/src/components/post-status/index.js +88 -80
- package/src/components/post-status/style.scss +0 -1
- package/src/components/post-sticky/panel.js +18 -0
- package/src/components/post-template/block-theme.js +2 -2
- package/src/components/post-template/classic-theme.js +0 -1
- package/src/components/post-template/swap-template-button.js +3 -6
- package/src/components/post-text-editor/style.scss +1 -1
- package/src/components/post-title/index.js +2 -2
- package/src/components/post-title/post-title-raw.js +2 -2
- package/src/components/post-title/style.scss +1 -1
- package/src/components/post-transform-panel/hooks.js +114 -0
- package/src/components/post-transform-panel/index.js +99 -0
- package/src/components/post-trash/panel.js +13 -0
- package/src/components/post-type-support-check/index.js +1 -1
- package/src/components/post-type-support-check/test/index.js +2 -2
- package/src/components/post-url/index.js +1 -0
- package/src/components/post-url/panel.js +1 -1
- package/src/components/preferences-modal/enable-publish-sidebar.js +28 -0
- package/src/components/preferences-modal/index.js +17 -3
- package/src/components/preview-dropdown/index.js +3 -1
- package/src/components/provider/disable-non-page-content-blocks.js +23 -21
- package/src/components/provider/index.js +4 -0
- package/src/components/provider/use-block-editor-settings.js +19 -4
- package/src/components/save-publish-panels/index.js +96 -0
- package/src/components/save-publish-panels/style.scss +36 -0
- package/src/components/sidebar/constants.js +4 -0
- package/src/components/sidebar/header.js +49 -0
- package/src/components/sidebar/index.js +200 -0
- package/src/components/sidebar/post-summary.js +104 -0
- package/src/components/sidebar/style.scss +18 -0
- package/src/components/start-page-options/index.js +12 -5
- package/src/components/start-template-options/index.js +219 -0
- package/src/components/start-template-options/style.scss +55 -0
- package/src/components/template-areas/style.scss +0 -1
- package/src/components/template-content-panel/index.js +36 -0
- package/src/hooks/pattern-overrides.js +12 -6
- package/src/private-apis.js +22 -8
- package/src/private-apis.native.js +61 -0
- package/src/store/private-selectors.js +3 -0
- package/src/store/reducer.js +12 -0
- package/src/store/selectors.js +3 -1
- package/src/style.scss +11 -0
- package/src/components/post-slug/test/check.js +0 -17
|
@@ -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","onActionPerformed","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","_react","createElement","__experimentalVStack","spacing","__experimentalText","length","sprintf","_n","__experimentalHStack","justify","Button","variant","onClick","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","error","code","viewPostAction","external","window","open","link","editPostAction","edit","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","addQueryArgs","revision","document","location","renamePostAction","originalTitle","setTitle","useState","onRename","event","preventDefault","onSubmit","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","resetTemplateAction","isTemplateRevertable","revertTemplate","unlock","editorStore","onConfirm","template","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","actionIds","permanentlyDeletePostAction","restorePostAction","defaultActions","actions","actionId","find","i","existingCallback","_onActionPerformed","_items","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, edit, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf } 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 { TEMPLATE_ORIGINS, TEMPLATE_POST_TYPE } 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: ( { items: posts, closeModal, onActionPerformed } ) => {\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 variant=\"tertiary\" onClick={ closeModal }>\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\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 {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'Pages moved to the Trash.'\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: 'edit-site-page-trashed',\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\tcloseModal();\n\t\t\t\t\t\t} }\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: 'edit-site-post-permanently-deleted',\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\ttry {\n\t\t\t\t\tfor ( const post of posts ) {\n\t\t\t\t\t\tawait 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\tawait 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\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tposts.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 posts. */\n\t\t\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\t\t\tposts.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 number of posts. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\t\t\tgetItemTitle( posts[ 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: 'edit-site-post-restored',\n\t\t\t\t\t\t}\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} catch ( error ) {\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\terror.code !== 'unknown_error' &&\n\t\t\t\t\t\terror.message\n\t\t\t\t\t) {\n\t\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t\t} else if ( posts.length > 1 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\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 editPostAction = {\n\tid: 'edit-post',\n\tlabel: __( 'Edit' ),\n\tisPrimary: true,\n\ticon: edit,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\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 resetTemplateAction = {\n\tid: 'reset-template',\n\tlabel: __( 'Reset' ),\n\tisEligible: isTemplateRevertable,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\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: 'edit-site-template-reverted',\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 variant=\"tertiary\" onClick={ closeModal }>\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\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} }\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\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: templates, closeModal, onActionPerformed } ) => {\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 variant=\"tertiary\" onClick={ closeModal }>\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\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\tcloseModal();\n\t\t\t\t\t\t} }\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( onActionPerformed, actionIds = null ) {\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\treturn useMemo(\n\t\t() => {\n\t\t\t// By default, return all actions...\n\t\t\tconst defaultActions = [\n\t\t\t\teditPostAction,\n\t\t\t\tresetTemplateAction,\n\t\t\t\tviewPostAction,\n\t\t\t\trestorePostAction,\n\t\t\t\tdeleteTemplateAction,\n\t\t\t\tpermanentlyDeletePostAction,\n\t\t\t\tpostRevisionsAction,\n\t\t\t\trenamePostAction,\n\t\t\t\trenameTemplateAction,\n\t\t\t\ttrashPostAction,\n\t\t\t];\n\n\t\t\t// ... unless `actionIds` was specified, in which case we find the\n\t\t\t// actions matching the given IDs.\n\t\t\tconst actions = actionIds\n\t\t\t\t? actionIds.map( ( actionId ) =>\n\t\t\t\t\t\tdefaultActions.find( ( { id } ) => actionId === id )\n\t\t\t\t )\n\t\t\t\t: defaultActions;\n\n\t\t\tif ( onActionPerformed ) {\n\t\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\t\tcallback: ( items, _onActionPerformed ) => {\n\t\t\t\t\t\t\t\texistingCallback( items, ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( _onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t_onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\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\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t\titems={ props.items }\n\t\t\t\t\t\t\t\t\t\tcloseModal={ props.closeModal }\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\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\t_items\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);\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\treturn actions;\n\t\t},\n\n\t\t// Disable reason: if provided, `actionIds` is a shallow array of\n\t\t// strings, and the strings themselves should be part of the useMemo\n\t\t// dependencies. Two different disable statements are needed, as the\n\t\t// first flags what it thinks are missing dependencies, and the second\n\t\t// flags the array spread operation.\n\t\t//\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t...( actionIds || [] ),\n\t\t\tpermanentlyDeletePostAction,\n\t\t\trestorePostAction,\n\t\t\tonActionPerformed,\n\t\t]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
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":[]}
|
|
@@ -13,7 +13,6 @@ var _icons = require("@wordpress/icons");
|
|
|
13
13
|
var _lockUnlock = require("../../lock-unlock");
|
|
14
14
|
var _actions = require("./actions");
|
|
15
15
|
var _store = require("../../store");
|
|
16
|
-
var _constants = require("../../store/constants");
|
|
17
16
|
/**
|
|
18
17
|
* WordPress dependencies
|
|
19
18
|
*/
|
|
@@ -29,41 +28,50 @@ const {
|
|
|
29
28
|
DropdownMenuItemLabelV2: DropdownMenuItemLabel,
|
|
30
29
|
kebabCase
|
|
31
30
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
32
|
-
const POST_ACTIONS_WHILE_EDITING = ['view-post', 'view-post-revisions', 'rename-post', 'move-to-trash'];
|
|
33
31
|
function PostActions({
|
|
34
32
|
onActionPerformed,
|
|
35
33
|
buttonProps
|
|
36
34
|
}) {
|
|
35
|
+
const [isActionsMenuOpen, setIsActionsMenuOpen] = (0, _element.useState)(false);
|
|
37
36
|
const {
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
item,
|
|
38
|
+
postType
|
|
40
39
|
} = (0, _data.useSelect)(select => {
|
|
41
40
|
const {
|
|
42
41
|
getCurrentPostType,
|
|
43
42
|
getCurrentPost
|
|
44
43
|
} = select(_store.store);
|
|
45
44
|
return {
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
item: getCurrentPost(),
|
|
46
|
+
postType: getCurrentPostType()
|
|
48
47
|
};
|
|
49
|
-
});
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
return
|
|
53
|
-
|
|
48
|
+
}, []);
|
|
49
|
+
const allActions = (0, _actions.usePostActions)(postType, onActionPerformed);
|
|
50
|
+
const actions = (0, _element.useMemo)(() => {
|
|
51
|
+
return allActions.filter(action => {
|
|
52
|
+
return !action.isEligible || action.isEligible(item);
|
|
53
|
+
});
|
|
54
|
+
}, [allActions, item]);
|
|
54
55
|
return (0, _react.createElement)(DropdownMenu, {
|
|
56
|
+
open: isActionsMenuOpen,
|
|
55
57
|
trigger: (0, _react.createElement)(_components.Button, {
|
|
56
58
|
size: "small",
|
|
57
59
|
icon: _icons.moreVertical,
|
|
58
60
|
label: (0, _i18n.__)('Actions'),
|
|
59
61
|
disabled: !actions.length,
|
|
62
|
+
__experimentalIsFocusable: true,
|
|
60
63
|
className: "editor-all-actions-button",
|
|
64
|
+
onClick: () => setIsActionsMenuOpen(!isActionsMenuOpen),
|
|
61
65
|
...buttonProps
|
|
62
66
|
}),
|
|
67
|
+
onOpenChange: setIsActionsMenuOpen,
|
|
63
68
|
placement: "bottom-end"
|
|
64
69
|
}, (0, _react.createElement)(ActionsDropdownMenuGroup, {
|
|
65
70
|
actions: actions,
|
|
66
|
-
item: item
|
|
71
|
+
item: item,
|
|
72
|
+
onClose: () => {
|
|
73
|
+
setIsActionsMenuOpen(false);
|
|
74
|
+
}
|
|
67
75
|
}));
|
|
68
76
|
}
|
|
69
77
|
|
|
@@ -84,10 +92,12 @@ function DropdownMenuItemTrigger({
|
|
|
84
92
|
}
|
|
85
93
|
|
|
86
94
|
// Copied as is from packages/dataviews/src/item-actions.js
|
|
95
|
+
// With an added onClose prop.
|
|
87
96
|
function ActionWithModal({
|
|
88
97
|
action,
|
|
89
98
|
item,
|
|
90
|
-
ActionTrigger
|
|
99
|
+
ActionTrigger,
|
|
100
|
+
onClose
|
|
91
101
|
}) {
|
|
92
102
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
93
103
|
const actionTriggerProps = {
|
|
@@ -109,14 +119,19 @@ function ActionWithModal({
|
|
|
109
119
|
overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`
|
|
110
120
|
}, (0, _react.createElement)(RenderModal, {
|
|
111
121
|
items: [item],
|
|
112
|
-
closeModal: () =>
|
|
122
|
+
closeModal: () => {
|
|
123
|
+
setIsModalOpen(false);
|
|
124
|
+
onClose();
|
|
125
|
+
}
|
|
113
126
|
})));
|
|
114
127
|
}
|
|
115
128
|
|
|
116
129
|
// Copied as is from packages/dataviews/src/item-actions.js
|
|
130
|
+
// With an added onClose prop.
|
|
117
131
|
function ActionsDropdownMenuGroup({
|
|
118
132
|
actions,
|
|
119
|
-
item
|
|
133
|
+
item,
|
|
134
|
+
onClose
|
|
120
135
|
}) {
|
|
121
136
|
return (0, _react.createElement)(DropdownMenuGroup, null, actions.map(action => {
|
|
122
137
|
if (action.RenderModal) {
|
|
@@ -124,7 +139,8 @@ function ActionsDropdownMenuGroup({
|
|
|
124
139
|
key: action.id,
|
|
125
140
|
action: action,
|
|
126
141
|
item: item,
|
|
127
|
-
ActionTrigger: DropdownMenuItemTrigger
|
|
142
|
+
ActionTrigger: DropdownMenuItemTrigger,
|
|
143
|
+
onClose: onClose
|
|
128
144
|
});
|
|
129
145
|
}
|
|
130
146
|
return (0, _react.createElement)(DropdownMenuItemTrigger, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_i18n","_components","_icons","_lockUnlock","_actions","_store","
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_i18n","_components","_icons","_lockUnlock","_actions","_store","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","PostActions","onActionPerformed","buttonProps","isActionsMenuOpen","setIsActionsMenuOpen","useState","item","postType","useSelect","select","getCurrentPostType","getCurrentPost","editorStore","allActions","usePostActions","actions","useMemo","filter","action","isEligible","_react","createElement","open","trigger","Button","size","icon","moreVertical","label","__","disabled","length","__experimentalIsFocusable","className","onClick","onOpenChange","placement","ActionsDropdownMenuGroup","onClose","DropdownMenuItemTrigger","hideOnClick","RenderModal","ActionWithModal","ActionTrigger","isModalOpen","setIsModalOpen","actionTriggerProps","hideModalHeader","Fragment","Modal","title","modalHeader","__experimentalHideHeader","onRequestClose","overlayClassName","id","items","closeModal","map","key","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\nimport { store as editorStore } from '../../store';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nexport default function PostActions( { onActionPerformed, buttonProps } ) {\n\tconst [ isActionsMenuOpen, setIsActionsMenuOpen ] = useState( false );\n\tconst { item, postType } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPost } = select( editorStore );\n\t\treturn {\n\t\t\titem: getCurrentPost(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n\tconst allActions = usePostActions( postType, onActionPerformed );\n\n\tconst actions = useMemo( () => {\n\t\treturn allActions.filter( ( action ) => {\n\t\t\treturn ! action.isEligible || action.isEligible( item );\n\t\t} );\n\t}, [ allActions, item ] );\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\topen={ isActionsMenuOpen }\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetIsActionsMenuOpen( ! isActionsMenuOpen )\n\t\t\t\t\t}\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t/>\n\t\t\t}\n\t\t\tonOpenChange={ setIsActionsMenuOpen }\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\tactions={ actions }\n\t\t\t\titem={ item }\n\t\t\t\tonClose={ () => {\n\t\t\t\t\tsetIsActionsMenuOpen( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</DropdownMenu>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction DropdownMenuItemTrigger( { action, onClick } ) {\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! action.RenderModal }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ action.label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionWithModal( { action, item, ActionTrigger, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\t\t\taction.id\n\t\t\t\t\t) }` }\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionsDropdownMenuGroup( { actions, item, onClose } ) {\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( action.RenderModal ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,15 @@ var _constants = require("./constants");
|
|
|
19
19
|
* Internal dependencies
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Wrapper component that renders its children only if the post type supports the author.
|
|
24
|
+
*
|
|
25
|
+
* @param {Object} props The component props.
|
|
26
|
+
* @param {Element} props.children Children to be rendered.
|
|
27
|
+
*
|
|
28
|
+
* @return {Component|null} The component to be rendered. Return `null` if the post type doesn't
|
|
29
|
+
* supports the author or if there are no authors available.
|
|
30
|
+
*/
|
|
22
31
|
function PostAuthorCheck({
|
|
23
32
|
children
|
|
24
33
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","_postTypeSupportCheck","_interopRequireDefault","_store","_constants","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","authors","coreStore","getUsers","AUTHORS_QUERY","_links","length","_react","createElement","default","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["_data","require","_coreData","_postTypeSupportCheck","_interopRequireDefault","_store","_constants","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","authors","coreStore","getUsers","AUTHORS_QUERY","_links","length","_react","createElement","default","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\n/**\n * Wrapper component that renders its children only if the post type supports the author.\n *\n * @param {Object} props The component props.\n * @param {Element} props.children Children to be rendered.\n *\n * @return {Component|null} The component to be rendered. Return `null` if the post type doesn't\n * supports the author or if there are no authors available.\n */\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASM,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,qBAAqB;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,oBAAA;IACtE,MAAMC,IAAI,GAAGF,MAAM,CAAEG,YAAY,CAAC,CAACC,cAAc,CAAC,CAAC;IACnD,MAAMC,OAAO,GAAGL,MAAM,CAAEM,eAAU,CAAC,CAACC,QAAQ,CAAEC,wBAAc,CAAC;IAC7D,OAAO;MACNX,qBAAqB,GAAAI,oBAAA,GACpBC,IAAI,CAACO,MAAM,GAAI,yBAAyB,CAAE,cAAAR,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MACpDH,UAAU,EAAEO,OAAO,EAAEK,MAAM,IAAI;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEb,qBAAqB,IAAI,CAAEC,UAAU,EAAG;IAC9C,OAAO,IAAI;EACZ;EAEA,OACC,IAAAa,MAAA,CAAAC,aAAA,EAACrB,qBAAA,CAAAsB,OAAoB;IAACC,WAAW,EAAC;EAAQ,GACvClB,QACmB,CAAC;AAEzB","ignoreList":[]}
|
|
@@ -20,6 +20,12 @@ var _constants = require("./constants");
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
const minimumUsersForCombobox = 25;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Renders the component for selecting the post author.
|
|
26
|
+
*
|
|
27
|
+
* @return {Component} The component to be rendered.
|
|
28
|
+
*/
|
|
23
29
|
function PostAuthor() {
|
|
24
30
|
const showCombobox = (0, _data.useSelect)(select => {
|
|
25
31
|
const authors = select(_coreData.store).getUsers(_constants.AUTHORS_QUERY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","_combobox","_interopRequireDefault","_select","_constants","minimumUsersForCombobox","PostAuthor","showCombobox","useSelect","select","authors","coreStore","getUsers","AUTHORS_QUERY","length","_react","createElement","default","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMM,uBAAuB,GAAG,EAAE;
|
|
1
|
+
{"version":3,"names":["_data","require","_coreData","_combobox","_interopRequireDefault","_select","_constants","minimumUsersForCombobox","PostAuthor","showCombobox","useSelect","select","authors","coreStore","getUsers","AUTHORS_QUERY","length","_react","createElement","default","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\n/**\n * Renders the component for selecting the post author.\n *\n * @return {Component} The component to be rendered.\n */\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMM,uBAAuB,GAAG,EAAE;;AAElC;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAMC,YAAY,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC7C,MAAMC,OAAO,GAAGD,MAAM,CAAEE,eAAU,CAAC,CAACC,QAAQ,CAAEC,wBAAc,CAAC;IAE7D,OAAOH,OAAO,EAAEI,MAAM,IAAIT,uBAAuB;EAClD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKE,YAAY,EAAG;IACnB,OAAO,IAAAQ,MAAA,CAAAC,aAAA,EAACf,SAAA,CAAAgB,OAAkB,MAAE,CAAC;EAC9B;EACA,OAAO,IAAAF,MAAA,CAAAC,aAAA,EAACb,OAAA,CAAAc,OAAgB,MAAE,CAAC;AAC5B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEcX,UAAU","ignoreList":[]}
|
|
@@ -14,6 +14,11 @@ var _postPanelRow = _interopRequireDefault(require("../post-panel-row"));
|
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Renders the Post Author Panel component.
|
|
19
|
+
*
|
|
20
|
+
* @return {Component} The component to be rendered.
|
|
21
|
+
*/
|
|
17
22
|
function PostAuthor() {
|
|
18
23
|
return (0, _react.createElement)(_check.default, null, (0, _react.createElement)(_postPanelRow.default, {
|
|
19
24
|
className: "editor-post-author__panel"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_check","_interopRequireDefault","require","_index","_postPanelRow","PostAuthor","_react","createElement","default","className","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\n\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow className=\"editor-post-author__panel\">\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AALA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["_check","_interopRequireDefault","require","_index","_postPanelRow","PostAuthor","_react","createElement","default","className","_default","exports"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {Component} The component to be rendered.\n */\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow className=\"editor-post-author__panel\">\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAAA,EAAG;EAC5B,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACP,MAAA,CAAAQ,OAAe,QACf,IAAAF,MAAA,CAAAC,aAAA,EAACH,aAAA,CAAAI,OAAY;IAACC,SAAS,EAAC;EAA2B,GAClD,IAAAH,MAAA,CAAAC,aAAA,EAACJ,MAAA,CAAAK,OAAc,MAAE,CACJ,CACE,CAAC;AAEpB;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAH,OAAA,GAEcH,UAAU","ignoreList":[]}
|