@wordpress/editor 13.32.0 → 13.33.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 +2 -0
- package/README.md +225 -2
- package/build/bindings/index.js.map +1 -1
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +12 -30
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/index.js.map +1 -1
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/autosave-monitor/index.js +10 -0
- package/build/components/autosave-monitor/index.js.map +1 -1
- package/build/components/block-manager/category.js.map +1 -1
- package/build/components/block-manager/checklist.js.map +1 -1
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/block-removal-warnings/index.js.map +1 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build/components/character-count/index.js.map +1 -1
- package/build/components/commands/index.js +19 -0
- package/build/components/commands/index.js.map +1 -1
- package/build/components/commands/index.native.js.map +1 -1
- package/build/components/deprecated.js.map +1 -1
- package/build/components/deprecated.native.js.map +1 -1
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/document-tools/index.js +1 -1
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-canvas/edit-template-blocks-notification.js +13 -2
- package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build/components/editor-canvas/index.js +2 -2
- package/build/components/editor-canvas/index.js.map +1 -1
- package/build/components/editor-help/add-blocks.native.js.map +1 -1
- package/build/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build/components/editor-help/help-section-title.native.js.map +1 -1
- package/build/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build/components/editor-help/move-blocks.native.js.map +1 -1
- package/build/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build/components/editor-help/view-sections.native.js.map +1 -1
- package/build/components/editor-history/redo.js.map +1 -1
- package/build/components/editor-history/undo.js.map +1 -1
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/error-boundary/index.native.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +24 -0
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/index.js +33 -1
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +78 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +49 -0
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/index.js +126 -0
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +55 -0
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/mode-switcher/index.js.map +1 -1
- package/build/components/offline-status/index.native.js.map +1 -1
- package/build/components/page-attributes/check.js.map +1 -1
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/panel.js.map +1 -1
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/pattern-overrides-panel/index.js.map +1 -1
- package/build/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/plugin-more-menu-item/index.js +78 -0
- package/build/components/plugin-more-menu-item/index.js.map +1 -0
- package/build/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build/components/plugin-post-status-info/index.js +73 -0
- package/build/components/plugin-post-status-info/index.js.map +1 -0
- package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build/components/plugin-sidebar/index.js +108 -0
- package/build/components/plugin-sidebar/index.js.map +1 -0
- package/build/components/plugin-sidebar-more-menu-item/index.js +71 -0
- package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build/components/post-actions/actions.js +218 -17
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +137 -0
- package/build/components/post-actions/index.js.map +1 -0
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/constants.js.map +1 -1
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-author/panel.js.map +1 -1
- package/build/components/post-author/select.js.map +1 -1
- package/build/components/post-card-panel/index.js +40 -6
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-discussion/panel.js.map +1 -1
- package/build/components/post-excerpt/check.js +8 -0
- package/build/components/post-excerpt/check.js.map +1 -1
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-excerpt/plugin.js.map +1 -1
- package/build/components/post-featured-image/check.js.map +1 -1
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-featured-image/panel.js.map +1 -1
- package/build/components/post-format/check.js.map +1 -1
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/check.js.map +1 -1
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-last-revision/panel.js.map +1 -1
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-panel-row/index.js.map +1 -1
- package/build/components/post-pending-status/check.js.map +1 -1
- package/build/components/post-pending-status/index.js.map +1 -1
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +31 -31
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +51 -43
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-publish-panel/prepublish.js.map +1 -1
- package/build/components/post-saved-state/index.js +10 -6
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/check.js.map +1 -1
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-schedule/panel.js +8 -0
- package/build/components/post-schedule/panel.js.map +1 -1
- package/build/components/post-slug/check.js.map +1 -1
- package/build/components/post-slug/index.js +43 -68
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-status/index.js +239 -0
- package/build/components/post-status/index.js.map +1 -0
- package/build/components/post-sticky/check.js.map +1 -1
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +6 -1
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-template/block-theme.js +6 -2
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/post-template/create-new-template.js.map +1 -1
- package/build/components/post-template/hooks.js.map +1 -1
- package/build/components/post-template/panel.js.map +1 -1
- package/build/components/post-template/reset-default-template.js.map +1 -1
- package/build/components/post-template/swap-template-button.js.map +1 -1
- package/build/components/post-text-editor/index.js.map +1 -1
- package/build/components/post-title/constants.js.map +1 -1
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-title/use-post-title-focus.js.map +1 -1
- package/build/components/post-title/use-post-title.js.map +1 -1
- package/build/components/post-trash/check.js +23 -25
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-trash/index.js +2 -1
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/post-url/check.js.map +1 -1
- package/build/components/post-url/index.js +44 -19
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-url/label.js.map +1 -1
- package/build/components/post-url/panel.js +14 -7
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/post-view-link/index.js.map +1 -1
- package/build/components/post-visibility/check.js.map +1 -1
- package/build/components/post-visibility/index.js +2 -1
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/post-visibility/label.js.map +1 -1
- package/build/components/post-visibility/utils.js.map +1 -1
- package/build/components/preferences-modal/enable-panel.js.map +1 -1
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
- package/build/components/preferences-modal/index.js +19 -17
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.js +4 -2
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +6 -1
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/navigation-block-editing-mode.js.map +1 -1
- package/build/components/provider/use-auto-switch-editor-sidebars.js +52 -0
- package/build/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
- package/build/components/provider/use-block-editor-settings.js +64 -43
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +1 -0
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/start-page-options/index.js +139 -0
- package/build/components/start-page-options/index.js.map +1 -0
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/table-of-contents/panel.js.map +1 -1
- package/build/components/template-areas/index.js.map +1 -1
- package/build/components/template-validation-notice/index.js +23 -29
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +10 -16
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/components/time-to-read/index.js.map +1 -1
- package/build/components/unsaved-changes-warning/index.js.map +1 -1
- package/build/components/word-count/index.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/default-autocompleters.js.map +1 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/pattern-overrides.js +22 -10
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/hooks/use-select-nearest-editable-block.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/index.native.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/private-apis.js +20 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/actions.native.js.map +1 -1
- package/build/store/constants.js +8 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +1 -1
- package/build/store/index.js.map +1 -1
- package/build/store/local-autosave.js.map +1 -1
- package/build/store/private-actions.js +177 -4
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +1 -7
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +5 -10
- package/build/store/selectors.js.map +1 -1
- package/build/store/selectors.native.js.map +1 -1
- package/build/store/utils/get-filtered-template-parts.js.map +1 -1
- package/build/store/utils/is-template-revertable.js +28 -0
- package/build/store/utils/is-template-revertable.js.map +1 -0
- package/build/store/utils/notice-builder.js.map +1 -1
- package/build/utils/get-template-part-icon.js.map +1 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/index.native.js.map +1 -1
- package/build/utils/media-upload/index.js.map +1 -1
- package/build/utils/media-upload/index.native.js.map +1 -1
- package/build/utils/terms.js.map +1 -1
- package/build/utils/url.js.map +1 -1
- package/build-module/bindings/index.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +14 -31
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/autocompleters/index.js.map +1 -1
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/autosave-monitor/index.js +10 -0
- package/build-module/components/autosave-monitor/index.js.map +1 -1
- package/build-module/components/block-manager/category.js.map +1 -1
- package/build-module/components/block-manager/checklist.js.map +1 -1
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/block-removal-warnings/index.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build-module/components/character-count/index.js.map +1 -1
- package/build-module/components/commands/index.js +20 -1
- package/build-module/components/commands/index.js.map +1 -1
- package/build-module/components/commands/index.native.js.map +1 -1
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/deprecated.native.js.map +1 -1
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/check.js.map +1 -1
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/document-tools/index.js +1 -1
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js +13 -2
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/editor-canvas/index.js +2 -2
- package/build-module/components/editor-canvas/index.js.map +1 -1
- package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
- package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/view-sections.native.js.map +1 -1
- package/build-module/components/editor-history/redo.js.map +1 -1
- package/build-module/components/editor-history/undo.js.map +1 -1
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/error-boundary/index.native.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +24 -0
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/index.js +4 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +71 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +41 -0
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js +118 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +48 -0
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
- package/build-module/components/local-autosave-monitor/index.js.map +1 -1
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/mode-switcher/index.js.map +1 -1
- package/build-module/components/offline-status/index.native.js.map +1 -1
- package/build-module/components/page-attributes/check.js.map +1 -1
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/panel.js.map +1 -1
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/pattern-overrides-panel/index.js.map +1 -1
- package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/plugin-more-menu-item/index.js +73 -0
- package/build-module/components/plugin-more-menu-item/index.js.map +1 -0
- package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-post-status-info/index.js +66 -0
- package/build-module/components/plugin-post-status-info/index.js.map +1 -0
- package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
- package/build-module/components/plugin-sidebar/index.js +102 -0
- package/build-module/components/plugin-sidebar/index.js.map +1 -0
- package/build-module/components/plugin-sidebar-more-menu-item/index.js +65 -0
- package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build-module/components/post-actions/actions.js +219 -15
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +130 -0
- package/build-module/components/post-actions/index.js.map +1 -0
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/constants.js.map +1 -1
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-author/index.js.map +1 -1
- package/build-module/components/post-author/panel.js.map +1 -1
- package/build-module/components/post-author/select.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +42 -8
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-discussion/panel.js.map +1 -1
- package/build-module/components/post-excerpt/check.js +9 -0
- package/build-module/components/post-excerpt/check.js.map +1 -1
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-excerpt/plugin.js.map +1 -1
- package/build-module/components/post-featured-image/check.js.map +1 -1
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-featured-image/panel.js.map +1 -1
- package/build-module/components/post-format/check.js.map +1 -1
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-last-revision/check.js.map +1 -1
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-last-revision/panel.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-panel-row/index.js.map +1 -1
- package/build-module/components/post-pending-status/check.js.map +1 -1
- package/build-module/components/post-pending-status/index.js.map +1 -1
- package/build-module/components/post-pingbacks/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +31 -31
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/label.js +51 -42
- package/build-module/components/post-publish-button/label.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +10 -6
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/check.js.map +1 -1
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-schedule/panel.js +8 -0
- package/build-module/components/post-schedule/panel.js.map +1 -1
- package/build-module/components/post-slug/check.js.map +1 -1
- package/build-module/components/post-slug/index.js +44 -68
- package/build-module/components/post-slug/index.js.map +1 -1
- package/build-module/components/post-status/index.js +231 -0
- package/build-module/components/post-status/index.js.map +1 -0
- package/build-module/components/post-sticky/check.js.map +1 -1
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +7 -1
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-taxonomies/panel.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +7 -3
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/create-new-template.js.map +1 -1
- package/build-module/components/post-template/hooks.js.map +1 -1
- package/build-module/components/post-template/panel.js.map +1 -1
- package/build-module/components/post-template/reset-default-template.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-text-editor/index.js.map +1 -1
- package/build-module/components/post-title/constants.js.map +1 -1
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
- package/build-module/components/post-title/use-post-title.js.map +1 -1
- package/build-module/components/post-trash/check.js +24 -26
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-trash/index.js +2 -1
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/post-url/check.js.map +1 -1
- package/build-module/components/post-url/index.js +46 -21
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-url/label.js.map +1 -1
- package/build-module/components/post-url/panel.js +14 -7
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/post-view-link/index.js.map +1 -1
- package/build-module/components/post-visibility/check.js.map +1 -1
- package/build-module/components/post-visibility/index.js +2 -1
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/post-visibility/label.js.map +1 -1
- package/build-module/components/post-visibility/utils.js.map +1 -1
- package/build-module/components/preferences-modal/enable-panel.js.map +1 -1
- package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +19 -17
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.js +5 -3
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/navigation-block-editing-mode.js.map +1 -1
- package/build-module/components/provider/use-auto-switch-editor-sidebars.js +46 -0
- package/build-module/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
- package/build-module/components/provider/use-block-editor-settings.js +66 -45
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +1 -0
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/start-page-options/index.js +132 -0
- package/build-module/components/start-page-options/index.js.map +1 -0
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/components/template-areas/index.js.map +1 -1
- package/build-module/components/template-validation-notice/index.js +25 -31
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +11 -16
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/components/time-to-read/index.js.map +1 -1
- package/build-module/components/unsaved-changes-warning/index.js.map +1 -1
- package/build-module/components/word-count/index.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/default-autocompleters.js.map +1 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/pattern-overrides.js +22 -10
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/hooks/use-select-nearest-editable-block.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/private-apis.js +18 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/actions.native.js.map +1 -1
- package/build-module/store/constants.js +7 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/local-autosave.js.map +1 -1
- package/build-module/store/private-actions.js +174 -4
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/reducer.native.js.map +1 -1
- package/build-module/store/selectors.js +1 -6
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/selectors.native.js.map +1 -1
- package/build-module/store/utils/get-filtered-template-parts.js.map +1 -1
- package/build-module/store/utils/is-template-revertable.js +22 -0
- package/build-module/store/utils/is-template-revertable.js.map +1 -0
- package/build-module/store/utils/notice-builder.js.map +1 -1
- package/build-module/utils/get-template-part-icon.js.map +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/index.native.js.map +1 -1
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-module/utils/media-upload/index.native.js.map +1 -1
- package/build-module/utils/terms.js.map +1 -1
- package/build-module/utils/url.js.map +1 -1
- package/build-style/style-rtl.css +498 -25
- package/build-style/style.css +498 -25
- package/package.json +35 -35
- package/src/bindings/post-meta.js +11 -27
- package/src/components/autosave-monitor/index.js +9 -0
- package/src/components/commands/index.js +20 -1
- package/src/components/document-tools/index.js +16 -14
- package/src/components/editor-canvas/edit-template-blocks-notification.js +16 -2
- package/src/components/editor-canvas/index.js +4 -4
- package/src/components/error-boundary/style.native.scss +1 -1
- package/src/components/global-keyboard-shortcuts/index.js +25 -0
- package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
- package/src/components/index.js +4 -0
- package/src/components/keyboard-shortcut-help-modal/config.js +53 -0
- package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +43 -0
- package/src/components/keyboard-shortcut-help-modal/index.js +160 -0
- package/src/components/keyboard-shortcut-help-modal/shortcut.js +67 -0
- package/src/components/keyboard-shortcut-help-modal/style.scss +61 -0
- package/src/components/plugin-more-menu-item/index.js +73 -0
- package/src/components/plugin-post-status-info/index.js +63 -0
- package/src/components/plugin-sidebar/index.js +98 -0
- package/src/components/plugin-sidebar-more-menu-item/index.js +64 -0
- package/src/components/post-actions/actions.js +294 -14
- package/src/components/post-actions/index.js +156 -0
- package/src/components/post-actions/style.scss +3 -0
- package/src/components/post-card-panel/index.js +69 -9
- package/src/components/post-excerpt/check.js +8 -0
- package/src/components/post-publish-button/index.js +23 -36
- package/src/components/post-publish-button/label.js +54 -39
- package/src/components/post-publish-button/test/index.js +15 -26
- package/src/components/post-publish-button/test/label.js +44 -21
- package/src/components/post-saved-state/index.js +13 -6
- package/src/components/post-saved-state/test/index.js +4 -0
- package/src/components/post-schedule/panel.js +22 -0
- package/src/components/post-slug/index.js +50 -68
- package/src/components/post-slug/test/index.js +29 -6
- package/src/components/post-status/index.js +310 -0
- package/src/components/post-status/style.scss +75 -0
- package/src/components/post-switch-to-draft-button/index.js +5 -0
- package/src/components/post-template/block-theme.js +31 -22
- package/src/components/post-trash/check.js +19 -19
- package/src/components/post-trash/index.js +1 -0
- package/src/components/post-url/index.js +131 -101
- package/src/components/post-url/panel.js +20 -7
- package/src/components/post-url/style.scss +8 -6
- package/src/components/post-visibility/index.js +1 -0
- package/src/components/preferences-modal/index.js +26 -22
- package/src/components/provider/index.js +17 -8
- package/src/components/provider/use-auto-switch-editor-sidebars.js +49 -0
- package/src/components/provider/use-block-editor-settings.js +59 -33
- package/src/components/provider/with-registry-provider.js +1 -0
- package/src/components/start-page-options/index.js +135 -0
- package/src/components/start-page-options/style.scss +26 -0
- package/src/components/template-validation-notice/index.js +48 -50
- package/src/components/theme-support-check/index.js +9 -16
- package/src/components/theme-support-check/test/index.js +44 -43
- package/src/hooks/pattern-overrides.js +25 -14
- package/src/private-apis.js +15 -0
- package/src/store/constants.js +7 -0
- package/src/store/private-actions.js +269 -4
- package/src/store/private-selectors.js +1 -6
- package/src/store/selectors.js +1 -6
- package/src/store/utils/is-template-revertable.js +23 -0
- package/src/style.scss +6 -2
- package/src/components/post-publish-button/style.scss +0 -8
- package/src/components/provider/test/disable-non-page-content-blocks.js +0 -111
- package/src/components/template-validation-notice/style.scss +0 -9
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.trashPostAction = exports.renamePostAction = exports.postRevisionsAction = exports.editPostAction = void 0;
|
|
7
|
-
exports.usePermanentlyDeletePostAction = usePermanentlyDeletePostAction;
|
|
8
7
|
exports.usePostActions = usePostActions;
|
|
9
|
-
exports.useRestorePostAction = useRestorePostAction;
|
|
10
|
-
exports.viewPostAction = void 0;
|
|
11
8
|
var _react = require("react");
|
|
12
9
|
var _icons = require("@wordpress/icons");
|
|
13
10
|
var _url = require("@wordpress/url");
|
|
@@ -18,17 +15,25 @@ var _i18n = require("@wordpress/i18n");
|
|
|
18
15
|
var _notices = require("@wordpress/notices");
|
|
19
16
|
var _element = require("@wordpress/element");
|
|
20
17
|
var _components = require("@wordpress/components");
|
|
18
|
+
var _constants = require("../../store/constants");
|
|
19
|
+
var _store = require("../../store");
|
|
20
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
21
|
+
var _isTemplateRevertable = _interopRequireDefault(require("../../store/utils/is-template-revertable"));
|
|
21
22
|
/**
|
|
22
23
|
* WordPress dependencies
|
|
23
24
|
*/
|
|
24
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Internal dependencies
|
|
28
|
+
*/
|
|
29
|
+
|
|
25
30
|
function getItemTitle(item) {
|
|
26
31
|
if (typeof item.title === 'string') {
|
|
27
32
|
return (0, _htmlEntities.decodeEntities)(item.title);
|
|
28
33
|
}
|
|
29
34
|
return (0, _htmlEntities.decodeEntities)(item.title?.rendered || '');
|
|
30
35
|
}
|
|
31
|
-
const trashPostAction =
|
|
36
|
+
const trashPostAction = {
|
|
32
37
|
id: 'move-to-trash',
|
|
33
38
|
label: (0, _i18n.__)('Move to Trash'),
|
|
34
39
|
isPrimary: true,
|
|
@@ -116,10 +121,10 @@ const trashPostAction = exports.trashPostAction = {
|
|
|
116
121
|
errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
|
|
117
122
|
(0, _i18n.__)('Some errors occurred while moving the pages to the trash: %s'), [...errorMessages].join(','));
|
|
118
123
|
}
|
|
119
|
-
createErrorNotice(errorMessage, {
|
|
120
|
-
type: 'snackbar'
|
|
121
|
-
});
|
|
122
124
|
}
|
|
125
|
+
createErrorNotice(errorMessage, {
|
|
126
|
+
type: 'snackbar'
|
|
127
|
+
});
|
|
123
128
|
}
|
|
124
129
|
if (onActionPerformed) {
|
|
125
130
|
onActionPerformed(posts);
|
|
@@ -202,10 +207,10 @@ function usePermanentlyDeletePostAction() {
|
|
|
202
207
|
errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
|
|
203
208
|
(0, _i18n.__)('Some errors occurred while permanently deleting the posts: %s'), [...errorMessages].join(','));
|
|
204
209
|
}
|
|
205
|
-
createErrorNotice(errorMessage, {
|
|
206
|
-
type: 'snackbar'
|
|
207
|
-
});
|
|
208
210
|
}
|
|
211
|
+
createErrorNotice(errorMessage, {
|
|
212
|
+
type: 'snackbar'
|
|
213
|
+
});
|
|
209
214
|
}
|
|
210
215
|
}
|
|
211
216
|
}), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
|
|
@@ -265,7 +270,7 @@ function useRestorePostAction() {
|
|
|
265
270
|
}
|
|
266
271
|
}), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
|
|
267
272
|
}
|
|
268
|
-
const viewPostAction =
|
|
273
|
+
const viewPostAction = {
|
|
269
274
|
id: 'view-post',
|
|
270
275
|
label: (0, _i18n.__)('View'),
|
|
271
276
|
isPrimary: true,
|
|
@@ -281,7 +286,7 @@ const viewPostAction = exports.viewPostAction = {
|
|
|
281
286
|
}
|
|
282
287
|
}
|
|
283
288
|
};
|
|
284
|
-
const editPostAction =
|
|
289
|
+
const editPostAction = {
|
|
285
290
|
id: 'edit-post',
|
|
286
291
|
label: (0, _i18n.__)('Edit'),
|
|
287
292
|
isPrimary: true,
|
|
@@ -297,7 +302,7 @@ const editPostAction = exports.editPostAction = {
|
|
|
297
302
|
}
|
|
298
303
|
}
|
|
299
304
|
};
|
|
300
|
-
const postRevisionsAction =
|
|
305
|
+
const postRevisionsAction = {
|
|
301
306
|
id: 'view-post-revisions',
|
|
302
307
|
label: (0, _i18n.__)('View revisions'),
|
|
303
308
|
isPrimary: false,
|
|
@@ -321,7 +326,7 @@ const postRevisionsAction = exports.postRevisionsAction = {
|
|
|
321
326
|
}
|
|
322
327
|
}
|
|
323
328
|
};
|
|
324
|
-
const renamePostAction =
|
|
329
|
+
const renamePostAction = {
|
|
325
330
|
id: 'rename-post',
|
|
326
331
|
label: (0, _i18n.__)('Rename'),
|
|
327
332
|
isEligible(post) {
|
|
@@ -329,7 +334,8 @@ const renamePostAction = exports.renamePostAction = {
|
|
|
329
334
|
},
|
|
330
335
|
RenderModal: ({
|
|
331
336
|
items,
|
|
332
|
-
closeModal
|
|
337
|
+
closeModal,
|
|
338
|
+
onActionPerformed
|
|
333
339
|
}) => {
|
|
334
340
|
const [item] = items;
|
|
335
341
|
const originalTitle = (0, _htmlEntities.decodeEntities)(typeof item.title === 'string' ? item.title : item.title.rendered);
|
|
@@ -358,6 +364,7 @@ const renamePostAction = exports.renamePostAction = {
|
|
|
358
364
|
createSuccessNotice((0, _i18n.__)('Name updated'), {
|
|
359
365
|
type: 'snackbar'
|
|
360
366
|
});
|
|
367
|
+
onActionPerformed?.(items);
|
|
361
368
|
} catch (error) {
|
|
362
369
|
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while updating the name');
|
|
363
370
|
createErrorNotice(errorMessage, {
|
|
@@ -391,12 +398,206 @@ const renamePostAction = exports.renamePostAction = {
|
|
|
391
398
|
}, (0, _i18n.__)('Save')))));
|
|
392
399
|
}
|
|
393
400
|
};
|
|
401
|
+
const resetTemplateAction = {
|
|
402
|
+
id: 'reset-template',
|
|
403
|
+
label: (0, _i18n.__)('Reset'),
|
|
404
|
+
isEligible: _isTemplateRevertable.default,
|
|
405
|
+
supportsBulk: true,
|
|
406
|
+
hideModalHeader: true,
|
|
407
|
+
RenderModal: ({
|
|
408
|
+
items,
|
|
409
|
+
closeModal,
|
|
410
|
+
onActionPerformed
|
|
411
|
+
}) => {
|
|
412
|
+
const {
|
|
413
|
+
revertTemplate
|
|
414
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
|
|
415
|
+
const {
|
|
416
|
+
saveEditedEntityRecord
|
|
417
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
418
|
+
const {
|
|
419
|
+
createSuccessNotice,
|
|
420
|
+
createErrorNotice
|
|
421
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
422
|
+
const onConfirm = async () => {
|
|
423
|
+
try {
|
|
424
|
+
for (const template of items) {
|
|
425
|
+
await revertTemplate(template, {
|
|
426
|
+
allowUndo: false
|
|
427
|
+
});
|
|
428
|
+
await saveEditedEntityRecord('postType', template.type, template.id);
|
|
429
|
+
}
|
|
430
|
+
createSuccessNotice(items.length > 1 ? (0, _i18n.sprintf)( /* translators: The number of items. */
|
|
431
|
+
(0, _i18n.__)('%s items reset.'), items.length) : (0, _i18n.sprintf)( /* translators: The template/part's name. */
|
|
432
|
+
(0, _i18n.__)('"%s" reset.'), (0, _htmlEntities.decodeEntities)(items[0].title.rendered)), {
|
|
433
|
+
type: 'snackbar',
|
|
434
|
+
id: 'edit-site-template-reverted'
|
|
435
|
+
});
|
|
436
|
+
} catch (error) {
|
|
437
|
+
let fallbackErrorMessage;
|
|
438
|
+
if (items[0].type === _constants.TEMPLATE_POST_TYPE) {
|
|
439
|
+
fallbackErrorMessage = items.length === 1 ? (0, _i18n.__)('An error occurred while reverting the template.') : (0, _i18n.__)('An error occurred while reverting the templates.');
|
|
440
|
+
} else {
|
|
441
|
+
fallbackErrorMessage = items.length === 1 ? (0, _i18n.__)('An error occurred while reverting the template part.') : (0, _i18n.__)('An error occurred while reverting the template parts.');
|
|
442
|
+
}
|
|
443
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
|
|
444
|
+
createErrorNotice(errorMessage, {
|
|
445
|
+
type: 'snackbar'
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
};
|
|
449
|
+
return (0, _react.createElement)(_components.__experimentalVStack, {
|
|
450
|
+
spacing: "5"
|
|
451
|
+
}, (0, _react.createElement)(_components.__experimentalText, null, (0, _i18n.__)('Reset to default and clear all customizations?')), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
452
|
+
justify: "right"
|
|
453
|
+
}, (0, _react.createElement)(_components.Button, {
|
|
454
|
+
variant: "tertiary",
|
|
455
|
+
onClick: closeModal
|
|
456
|
+
}, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
|
|
457
|
+
variant: "primary",
|
|
458
|
+
onClick: async () => {
|
|
459
|
+
await onConfirm(items);
|
|
460
|
+
onActionPerformed?.(items);
|
|
461
|
+
closeModal();
|
|
462
|
+
}
|
|
463
|
+
}, (0, _i18n.__)('Reset'))));
|
|
464
|
+
}
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Check if a template is removable.
|
|
469
|
+
* Copy from packages/edit-site/src/utils/is-template-removable.js.
|
|
470
|
+
*
|
|
471
|
+
* @param {Object} template The template entity to check.
|
|
472
|
+
* @return {boolean} Whether the template is revertable.
|
|
473
|
+
*/
|
|
474
|
+
function isTemplateRemovable(template) {
|
|
475
|
+
if (!template) {
|
|
476
|
+
return false;
|
|
477
|
+
}
|
|
478
|
+
return template.source === _constants.TEMPLATE_ORIGINS.custom && !template.has_theme_file;
|
|
479
|
+
}
|
|
480
|
+
const deleteTemplateAction = {
|
|
481
|
+
id: 'delete-template',
|
|
482
|
+
label: (0, _i18n.__)('Delete'),
|
|
483
|
+
isEligible: isTemplateRemovable,
|
|
484
|
+
supportsBulk: true,
|
|
485
|
+
hideModalHeader: true,
|
|
486
|
+
RenderModal: ({
|
|
487
|
+
items: templates,
|
|
488
|
+
closeModal,
|
|
489
|
+
onActionPerformed
|
|
490
|
+
}) => {
|
|
491
|
+
const {
|
|
492
|
+
removeTemplates
|
|
493
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
|
|
494
|
+
return (0, _react.createElement)(_components.__experimentalVStack, {
|
|
495
|
+
spacing: "5"
|
|
496
|
+
}, (0, _react.createElement)(_components.__experimentalText, null, templates.length > 1 ? (0, _i18n.sprintf)(
|
|
497
|
+
// translators: %d: number of items to delete.
|
|
498
|
+
(0, _i18n._n)('Delete %d item?', 'Delete %d items?', templates.length), templates.length) : (0, _i18n.sprintf)(
|
|
499
|
+
// translators: %s: The template or template part's titles
|
|
500
|
+
(0, _i18n.__)('Delete "%s"?'), (0, _htmlEntities.decodeEntities)(templates?.[0]?.title?.rendered))), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
501
|
+
justify: "right"
|
|
502
|
+
}, (0, _react.createElement)(_components.Button, {
|
|
503
|
+
variant: "tertiary",
|
|
504
|
+
onClick: closeModal
|
|
505
|
+
}, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
|
|
506
|
+
variant: "primary",
|
|
507
|
+
onClick: async () => {
|
|
508
|
+
await removeTemplates(templates, {
|
|
509
|
+
allowUndo: false
|
|
510
|
+
});
|
|
511
|
+
onActionPerformed?.(templates);
|
|
512
|
+
closeModal();
|
|
513
|
+
}
|
|
514
|
+
}, (0, _i18n.__)('Delete'))));
|
|
515
|
+
}
|
|
516
|
+
};
|
|
517
|
+
const renameTemplateAction = {
|
|
518
|
+
id: 'rename-template',
|
|
519
|
+
label: (0, _i18n.__)('Rename'),
|
|
520
|
+
isEligible: template => {
|
|
521
|
+
// We can only remove templates or template parts that can be removed.
|
|
522
|
+
// Additionally in the case of templates, we can only remove custom templates.
|
|
523
|
+
if (!isTemplateRemovable(template) || template.type === _constants.TEMPLATE_POST_TYPE && !template.is_custom) {
|
|
524
|
+
return false;
|
|
525
|
+
}
|
|
526
|
+
return true;
|
|
527
|
+
},
|
|
528
|
+
RenderModal: ({
|
|
529
|
+
items: templates,
|
|
530
|
+
closeModal,
|
|
531
|
+
onActionPerformed
|
|
532
|
+
}) => {
|
|
533
|
+
const template = templates[0];
|
|
534
|
+
const title = (0, _htmlEntities.decodeEntities)(template.title.rendered);
|
|
535
|
+
const [editedTitle, setEditedTitle] = (0, _element.useState)(title);
|
|
536
|
+
const {
|
|
537
|
+
editEntityRecord,
|
|
538
|
+
__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits
|
|
539
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
540
|
+
const {
|
|
541
|
+
createSuccessNotice,
|
|
542
|
+
createErrorNotice
|
|
543
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
544
|
+
async function onTemplateRename(event) {
|
|
545
|
+
event.preventDefault();
|
|
546
|
+
try {
|
|
547
|
+
await editEntityRecord('postType', template.type, template.id, {
|
|
548
|
+
title: editedTitle
|
|
549
|
+
});
|
|
550
|
+
// Update state before saving rerenders the list.
|
|
551
|
+
setEditedTitle('');
|
|
552
|
+
closeModal();
|
|
553
|
+
// Persist edited entity.
|
|
554
|
+
await saveSpecifiedEntityEdits('postType', template.type, template.id, ['title'],
|
|
555
|
+
// Only save title to avoid persisting other edits.
|
|
556
|
+
{
|
|
557
|
+
throwOnError: true
|
|
558
|
+
});
|
|
559
|
+
createSuccessNotice(template.type === _constants.TEMPLATE_POST_TYPE ? (0, _i18n.__)('Template renamed.') : (0, _i18n.__)('Template part renamed.'), {
|
|
560
|
+
type: 'snackbar'
|
|
561
|
+
});
|
|
562
|
+
onActionPerformed?.(templates);
|
|
563
|
+
} catch (error) {
|
|
564
|
+
const fallbackErrorMessage = template.type === _constants.TEMPLATE_POST_TYPE ? (0, _i18n.__)('An error occurred while renaming the template.') : (0, _i18n.__)('An error occurred while renaming the template part.');
|
|
565
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
|
|
566
|
+
createErrorNotice(errorMessage, {
|
|
567
|
+
type: 'snackbar'
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
return (0, _react.createElement)("form", {
|
|
572
|
+
onSubmit: onTemplateRename
|
|
573
|
+
}, (0, _react.createElement)(_components.__experimentalVStack, {
|
|
574
|
+
spacing: "5"
|
|
575
|
+
}, (0, _react.createElement)(_components.TextControl, {
|
|
576
|
+
__nextHasNoMarginBottom: true,
|
|
577
|
+
__next40pxDefaultSize: true,
|
|
578
|
+
label: (0, _i18n.__)('Name'),
|
|
579
|
+
value: editedTitle,
|
|
580
|
+
onChange: setEditedTitle,
|
|
581
|
+
required: true
|
|
582
|
+
}), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
583
|
+
justify: "right"
|
|
584
|
+
}, (0, _react.createElement)(_components.Button, {
|
|
585
|
+
variant: "tertiary",
|
|
586
|
+
onClick: closeModal,
|
|
587
|
+
__next40pxDefaultSize: true
|
|
588
|
+
}, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
|
|
589
|
+
variant: "primary",
|
|
590
|
+
type: "submit",
|
|
591
|
+
__next40pxDefaultSize: true
|
|
592
|
+
}, (0, _i18n.__)('Save')))));
|
|
593
|
+
}
|
|
594
|
+
};
|
|
394
595
|
function usePostActions(onActionPerformed, actionIds = null) {
|
|
395
596
|
const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
|
|
396
597
|
const restorePostAction = useRestorePostAction();
|
|
397
598
|
return (0, _element.useMemo)(() => {
|
|
398
599
|
// By default, return all actions...
|
|
399
|
-
const defaultActions = [editPostAction, viewPostAction, restorePostAction, permanentlyDeletePostAction, postRevisionsAction, renamePostAction, trashPostAction];
|
|
600
|
+
const defaultActions = [editPostAction, resetTemplateAction, viewPostAction, restorePostAction, deleteTemplateAction, permanentlyDeletePostAction, postRevisionsAction, renamePostAction, renameTemplateAction, trashPostAction];
|
|
400
601
|
|
|
401
602
|
// ... unless `actionIds` was specified, in which case we find the
|
|
402
603
|
// actions matching the given IDs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_url","_data","_htmlEntities","_coreData","_i18n","_notices","_element","_components","getItemTitle","item","title","decodeEntities","rendered","trashPostAction","exports","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","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\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\nexport const 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\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\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\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\nexport function 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\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\ttype: 'snackbar',\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\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function 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\nexport const 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\nexport const 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};\nexport const 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\nexport const renamePostAction = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal } ) => {\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} 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\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\tviewPostAction,\n\t\t\t\trestorePostAction,\n\t\t\t\tpermanentlyDeletePostAction,\n\t\t\t\tpostRevisionsAction,\n\t\t\t\trenamePostAction,\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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"}
|
|
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":";;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AAWA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,qBAAA,GAAAC,sBAAA,CAAAb,OAAA;AA1BA;AACA;AACA;;AAkBA;AACA;AACA;;AAMA,SAASc,YAAYA,CAAEC,IAAI,EAAG;EAC7B,IAAK,OAAOA,IAAI,CAACC,KAAK,KAAK,QAAQ,EAAG;IACrC,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAM,CAAC;EACpC;EACA,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAK,EAAEE,QAAQ,IAAI,EAAG,CAAC;AACpD;AAEA,MAAMC,eAAe,GAAG;EACvBC,EAAE,EAAE,eAAe;EACnBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,YAAK;EACXC,UAAUA,CAAE;IAAEC;EAAO,CAAC,EAAG;IACxB,OAAOA,MAAM,KAAK,OAAO;EAC1B,CAAC;EACDC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAEA,CAAE;IAAEC,KAAK,EAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAkB,CAAC,KAAM;IACnE,MAAM;MAAEC,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC5B,MAAM;MAAEC;IAAmB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,eAAU,CAAC;IACvD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAmC,oBAAM;MAACC,OAAO,EAAC;IAAG,GAClB,IAAAH,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAqC,kBAAI,QACFb,KAAK,CAACc,MAAM,KAAK,CAAC,GACjB,IAAAC,aAAO;IACP;IACA,IAAAzB,QAAE,EAAE,uCAAwC,CAAC,EAC7CR,YAAY,CAAEkB,KAAK,CAAE,CAAC,CAAG,CACzB,CAAC,GACD,IAAAe,aAAO;IACP;IACA,IAAAC,QAAE,EACD,0CAA0C,EAC1C,2CAA2C,EAC3ChB,KAAK,CAACc,MACP,CAAC,EACDd,KAAK,CAACc,MACN,CACE,CAAC,EACP,IAAAL,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAyC,oBAAM;MAACC,OAAO,EAAC;IAAO,GACtB,IAAAT,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MAACC,OAAO,EAAC,UAAU;MAACC,OAAO,EAAGpB;IAAY,GAC9C,IAAAX,QAAE,EAAE,QAAS,CACR,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACNC,OAAO,EAAC,SAAS;MACjBC,OAAO,EAAG,MAAAA,CAAA,KAAY;QACrB,MAAMC,aAAa,GAAG,MAAMC,OAAO,CAACC,UAAU,CAC7CxB,KAAK,CAACyB,GAAG,CAAIC,IAAI,IAAM;UACtB,OAAOnB,kBAAkB,CACxB,UAAU,EACVmB,IAAI,CAACC,IAAI,EACTD,IAAI,CAACtC,EAAE,EACP,CAAC,CAAC,EACF;YAAEwC,YAAY,EAAE;UAAK,CACtB,CAAC;QACF,CAAE,CACH,CAAC;QACD;QACA,IACCN,aAAa,CAACO,KAAK,CAClB,CAAE;UAAElC;QAAO,CAAC,KAAMA,MAAM,KAAK,WAC9B,CAAC,EACA;UACD,IAAImC,cAAc;UAClB,IAAKR,aAAa,CAACR,MAAM,KAAK,CAAC,EAAG;YACjCgB,cAAc,GAAG,IAAAf,aAAO,GACvB;YACA,IAAAzB,QAAE,EAAE,0BAA2B,CAAC,EAChCR,YAAY,CAAEkB,KAAK,CAAE,CAAC,CAAG,CAC1B,CAAC;UACF,CAAC,MAAM;YACN8B,cAAc,GAAG,IAAAxC,QAAE,EAClB,2BACD,CAAC;UACF;UACAa,mBAAmB,CAAE2B,cAAc,EAAE;YACpCH,IAAI,EAAE,UAAU;YAChBvC,EAAE,EAAE;UACL,CAAE,CAAC;QACJ,CAAC,MAAM;UACN;UACA,IAAI2C,YAAY;UAChB;UACA,IAAKT,aAAa,CAACR,MAAM,KAAK,CAAC,EAAG;YACjC,IAAKQ,aAAa,CAAE,CAAC,CAAE,CAACU,MAAM,EAAEC,OAAO,EAAG;cACzCF,YAAY,GACXT,aAAa,CAAE,CAAC,CAAE,CAACU,MAAM,CAACC,OAAO;YACnC,CAAC,MAAM;cACNF,YAAY,GAAG,IAAAzC,QAAE,EAChB,uDACD,CAAC;YACF;YACA;UACD,CAAC,MAAM;YACN,MAAM4C,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;YAC/B,MAAMC,cAAc,GAAGd,aAAa,CAACe,MAAM,CAC1C,CAAE;cAAE1C;YAAO,CAAC,KAAMA,MAAM,KAAK,UAC9B,CAAC;YACD,KAAM,MAAM2C,aAAa,IAAIF,cAAc,EAAG;cAC7C,IAAKE,aAAa,CAACN,MAAM,EAAEC,OAAO,EAAG;gBACpCC,aAAa,CAACK,GAAG,CAChBD,aAAa,CAACN,MAAM,CAACC,OACtB,CAAC;cACF;YACD;YACA,IAAKC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;cAC/BT,YAAY,GAAG,IAAAzC,QAAE,EAChB,wDACD,CAAC;YACF,CAAC,MAAM,IAAK4C,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;cACtCT,YAAY,GAAG,IAAAhB,aAAO,GACrB;cACA,IAAAzB,QAAE,EACD,2DACD,CAAC,EACD,CAAE,GAAG4C,aAAa,CAAE,CAAE,CAAC,CACxB,CAAC;YACF,CAAC,MAAM;cACNH,YAAY,GAAG,IAAAhB,aAAO,GACrB;cACA,IAAAzB,QAAE,EACD,8DACD,CAAC,EACD,CAAE,GAAG4C,aAAa,CAAE,CAACO,IAAI,CAAE,GAAI,CAChC,CAAC;YACF;UACD;UACArC,iBAAiB,CAAE2B,YAAY,EAAE;YAChCJ,IAAI,EAAE;UACP,CAAE,CAAC;QACJ;QACA,IAAKzB,iBAAiB,EAAG;UACxBA,iBAAiB,CAAEF,KAAM,CAAC;QAC3B;QACAC,UAAU,CAAC,CAAC;MACb;IAAG,GAED,IAAAX,QAAE,EAAE,QAAS,CACR,CACD,CACD,CAAC;EAEX;AACD,CAAC;AAED,SAASoD,8BAA8BA,CAAA,EAAG;EACzC,MAAM;IAAEvC,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAC5B,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,eAAU,CAAC;EAEvD,OAAO,IAAAmC,gBAAO,EACb,OAAQ;IACPvD,EAAE,EAAE,oBAAoB;IACxBC,KAAK,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;IACjCM,YAAY,EAAE,IAAI;IAClBF,UAAUA,CAAE;MAAEC;IAAO,CAAC,EAAG;MACxB,OAAOA,MAAM,KAAK,OAAO;IAC1B,CAAC;IACD,MAAMiD,QAAQA,CAAE5C,KAAK,EAAEE,iBAAiB,EAAG;MAC1C,MAAMoB,aAAa,GAAG,MAAMC,OAAO,CAACC,UAAU,CAC7CxB,KAAK,CAACyB,GAAG,CAAIC,IAAI,IAAM;QACtB,OAAOnB,kBAAkB,CACxB,UAAU,EACVmB,IAAI,CAACC,IAAI,EACTD,IAAI,CAACtC,EAAE,EACP;UAAEyD,KAAK,EAAE;QAAK,CAAC,EACf;UAAEjB,YAAY,EAAE;QAAK,CACtB,CAAC;MACF,CAAE,CACH,CAAC;MACD;MACA,IACCN,aAAa,CAACO,KAAK,CAClB,CAAE;QAAElC;MAAO,CAAC,KAAMA,MAAM,KAAK,WAC9B,CAAC,EACA;QACD,IAAImC,cAAc;QAClB,IAAKR,aAAa,CAACR,MAAM,KAAK,CAAC,EAAG;UACjCgB,cAAc,GAAG,IAAAf,aAAO,GACvB;UACA,IAAAzB,QAAE,EAAE,2BAA4B,CAAC,EACjCR,YAAY,CAAEkB,KAAK,CAAE,CAAC,CAAG,CAC1B,CAAC;QACF,CAAC,MAAM;UACN8B,cAAc,GAAG,IAAAxC,QAAE,EAClB,qCACD,CAAC;QACF;QACAa,mBAAmB,CAAE2B,cAAc,EAAE;UACpCH,IAAI,EAAE,UAAU;UAChBvC,EAAE,EAAE;QACL,CAAE,CAAC;QACH,IAAKc,iBAAiB,EAAG;UACxBA,iBAAiB,CAAEF,KAAM,CAAC;QAC3B;MACD,CAAC,MAAM;QACN;QACA,IAAI+B,YAAY;QAChB;QACA,IAAKT,aAAa,CAACR,MAAM,KAAK,CAAC,EAAG;UACjC,IAAKQ,aAAa,CAAE,CAAC,CAAE,CAACU,MAAM,EAAEC,OAAO,EAAG;YACzCF,YAAY,GAAGT,aAAa,CAAE,CAAC,CAAE,CAACU,MAAM,CAACC,OAAO;UACjD,CAAC,MAAM;YACNF,YAAY,GAAG,IAAAzC,QAAE,EAChB,wDACD,CAAC;UACF;UACA;QACD,CAAC,MAAM;UACN,MAAM4C,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;UAC/B,MAAMC,cAAc,GAAGd,aAAa,CAACe,MAAM,CAC1C,CAAE;YAAE1C;UAAO,CAAC,KAAMA,MAAM,KAAK,UAC9B,CAAC;UACD,KAAM,MAAM2C,aAAa,IAAIF,cAAc,EAAG;YAC7C,IAAKE,aAAa,CAACN,MAAM,EAAEC,OAAO,EAAG;cACpCC,aAAa,CAACK,GAAG,CAChBD,aAAa,CAACN,MAAM,CAACC,OACtB,CAAC;YACF;UACD;UACA,IAAKC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;YAC/BT,YAAY,GAAG,IAAAzC,QAAE,EAChB,yDACD,CAAC;UACF,CAAC,MAAM,IAAK4C,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;YACtCT,YAAY,GAAG,IAAAhB,aAAO,GACrB;YACA,IAAAzB,QAAE,EACD,4DACD,CAAC,EACD,CAAE,GAAG4C,aAAa,CAAE,CAAE,CAAC,CACxB,CAAC;UACF,CAAC,MAAM;YACNH,YAAY,GAAG,IAAAhB,aAAO,GACrB;YACA,IAAAzB,QAAE,EACD,+DACD,CAAC,EACD,CAAE,GAAG4C,aAAa,CAAE,CAACO,IAAI,CAAE,GAAI,CAChC,CAAC;UACF;QACD;QACArC,iBAAiB,CAAE2B,YAAY,EAAE;UAChCJ,IAAI,EAAE;QACP,CAAE,CAAC;MACJ;IACD;EACD,CAAC,CAAE,EACH,CAAExB,mBAAmB,EAAEC,iBAAiB,EAAEG,kBAAkB,CAC7D,CAAC;AACF;AAEA,SAASuC,oBAAoBA,CAAA,EAAG;EAC/B,MAAM;IAAE3C,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAC5B,MAAM;IAAEyC,gBAAgB;IAAEC;EAAuB,CAAC,GACjD,IAAA3C,iBAAW,EAAEG,eAAU,CAAC;EAEzB,OAAO,IAAAmC,gBAAO,EACb,OAAQ;IACPvD,EAAE,EAAE,SAAS;IACbC,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;IACtBC,SAAS,EAAE,IAAI;IACfC,IAAI,EAAEyD,aAAM;IACZrD,YAAY,EAAE,IAAI;IAClBF,UAAUA,CAAE;MAAEC;IAAO,CAAC,EAAG;MACxB,OAAOA,MAAM,KAAK,OAAO;IAC1B,CAAC;IACD,MAAMiD,QAAQA,CAAE5C,KAAK,EAAEE,iBAAiB,EAAG;MAC1C,IAAI;QACH,KAAM,MAAMwB,IAAI,IAAI1B,KAAK,EAAG;UAC3B,MAAM+C,gBAAgB,CACrB,UAAU,EACVrB,IAAI,CAACC,IAAI,EACTD,IAAI,CAACtC,EAAE,EACP;YACCO,MAAM,EAAE;UACT,CACD,CAAC;UACD,MAAMqD,sBAAsB,CAC3B,UAAU,EACVtB,IAAI,CAACC,IAAI,EACTD,IAAI,CAACtC,EAAE,EACP;YAAEwC,YAAY,EAAE;UAAK,CACtB,CAAC;QACF;QAEAzB,mBAAmB,CAClBH,KAAK,CAACc,MAAM,GAAG,CAAC,GACb,IAAAC,aAAO,GACP;QACA,IAAAzB,QAAE,EAAE,8BAA+B,CAAC,EACpCU,KAAK,CAACc,MACN,CAAC,GACD,IAAAC,aAAO,GACP;QACA,IAAAzB,QAAE,EAAE,yBAA0B,CAAC,EAC/BR,YAAY,CAAEkB,KAAK,CAAE,CAAC,CAAG,CACzB,CAAC,EACJ;UACC2B,IAAI,EAAE,UAAU;UAChBvC,EAAE,EAAE;QACL,CACD,CAAC;QACD,IAAKc,iBAAiB,EAAG;UACxBA,iBAAiB,CAAEF,KAAM,CAAC;QAC3B;MACD,CAAC,CAAC,OAAQkD,KAAK,EAAG;QACjB,IAAInB,YAAY;QAChB,IACCmB,KAAK,CAACjB,OAAO,IACbiB,KAAK,CAACC,IAAI,KAAK,eAAe,IAC9BD,KAAK,CAACjB,OAAO,EACZ;UACDF,YAAY,GAAGmB,KAAK,CAACjB,OAAO;QAC7B,CAAC,MAAM,IAAKjC,KAAK,CAACc,MAAM,GAAG,CAAC,EAAG;UAC9BiB,YAAY,GAAG,IAAAzC,QAAE,EAChB,8CACD,CAAC;QACF,CAAC,MAAM;UACNyC,YAAY,GAAG,IAAAzC,QAAE,EAChB,6CACD,CAAC;QACF;QAEAc,iBAAiB,CAAE2B,YAAY,EAAE;UAAEJ,IAAI,EAAE;QAAW,CAAE,CAAC;MACxD;IACD;EACD,CAAC,CAAE,EACH,CACCxB,mBAAmB,EACnBC,iBAAiB,EACjB2C,gBAAgB,EAChBC,sBAAsB,CAExB,CAAC;AACF;AAEA,MAAMI,cAAc,GAAG;EACtBhE,EAAE,EAAE,WAAW;EACfC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE6D,eAAQ;EACd3D,UAAUA,CAAEgC,IAAI,EAAG;IAClB,OAAOA,IAAI,CAAC/B,MAAM,KAAK,OAAO;EAC/B,CAAC;EACDiD,QAAQA,CAAE5C,KAAK,EAAEE,iBAAiB,EAAG;IACpC,MAAMwB,IAAI,GAAG1B,KAAK,CAAE,CAAC,CAAE;IACvBsD,MAAM,CAACC,IAAI,CAAE7B,IAAI,CAAC8B,IAAI,EAAE,QAAS,CAAC;IAClC,IAAKtD,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEF,KAAM,CAAC;IAC3B;EACD;AACD,CAAC;AAED,MAAMyD,cAAc,GAAG;EACtBrE,EAAE,EAAE,WAAW;EACfC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEkE,WAAI;EACVhE,UAAUA,CAAE;IAAEC;EAAO,CAAC,EAAG;IACxB,OAAOA,MAAM,KAAK,OAAO;EAC1B,CAAC;EACDiD,QAAQA,CAAE5C,KAAK,EAAEE,iBAAiB,EAAG;IACpC,IAAKA,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEF,KAAM,CAAC;IAC3B;EACD;AACD,CAAC;AACD,MAAM2D,mBAAmB,GAAG;EAC3BvE,EAAE,EAAE,qBAAqB;EACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC7BC,SAAS,EAAE,KAAK;EAChBG,UAAU,EAAIgC,IAAI,IAAM;IAAA,IAAAkC,qBAAA,EAAAC,oBAAA;IACvB,IAAKnC,IAAI,CAAC/B,MAAM,KAAK,OAAO,EAAG;MAC9B,OAAO,KAAK;IACb;IACA,MAAMmE,cAAc,IAAAF,qBAAA,GACnBlC,IAAI,EAAEqC,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAE3E,EAAE,cAAAwE,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IAC3D,MAAMI,cAAc,IAAAH,oBAAA,GACnBnC,IAAI,EAAEqC,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEE,KAAK,cAAAJ,oBAAA,cAAAA,oBAAA,GAAI,CAAC;IACvD,OAAOC,cAAc,IAAIE,cAAc,GAAG,CAAC;EAC5C,CAAC;EACDpB,QAAQA,CAAE5C,KAAK,EAAEE,iBAAiB,EAAG;IACpC,MAAMwB,IAAI,GAAG1B,KAAK,CAAE,CAAC,CAAE;IACvB,MAAMkE,IAAI,GAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;MAC1CC,QAAQ,EAAE1C,IAAI,EAAEqC,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAE3E;IAC3D,CAAE,CAAC;IACHiF,QAAQ,CAACC,QAAQ,CAACJ,IAAI,GAAGA,IAAI;IAC7B,IAAKhE,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEF,KAAM,CAAC;IAC3B;EACD;AACD,CAAC;AAED,MAAMuE,gBAAgB,GAAG;EACxBnF,EAAE,EAAE,aAAa;EACjBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;EACrBI,UAAUA,CAAEgC,IAAI,EAAG;IAClB,OAAOA,IAAI,CAAC/B,MAAM,KAAK,OAAO;EAC/B,CAAC;EACDG,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEE,UAAU;IAAEC;EAAkB,CAAC,KAAM;IAC5D,MAAM,CAAEnB,IAAI,CAAE,GAAGgB,KAAK;IACtB,MAAMyE,aAAa,GAAG,IAAAvF,4BAAc,EACnC,OAAOF,IAAI,CAACC,KAAK,KAAK,QAAQ,GAAGD,IAAI,CAACC,KAAK,GAAGD,IAAI,CAACC,KAAK,CAACE,QAC1D,CAAC;IACD,MAAM,CAAEF,KAAK,EAAEyF,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAE,MAAMF,aAAc,CAAC;IAC3D,MAAM;MAAEzB,gBAAgB;MAAEC;IAAuB,CAAC,GACjD,IAAA3C,iBAAW,EAAEG,eAAU,CAAC;IACzB,MAAM;MAAEL,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAE5B,eAAeqE,QAAQA,CAAEC,KAAK,EAAG;MAChCA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB,IAAI;QACH,MAAM9B,gBAAgB,CAAE,UAAU,EAAEhE,IAAI,CAAC4C,IAAI,EAAE5C,IAAI,CAACK,EAAE,EAAE;UACvDJ;QACD,CAAE,CAAC;QACH;QACAyF,QAAQ,CAAE,EAAG,CAAC;QACdxE,UAAU,CAAC,CAAC;QACZ;QACA,MAAM+C,sBAAsB,CAAE,UAAU,EAAEjE,IAAI,CAAC4C,IAAI,EAAE5C,IAAI,CAACK,EAAE,EAAE;UAC7DwC,YAAY,EAAE;QACf,CAAE,CAAC;QACHzB,mBAAmB,CAAE,IAAAb,QAAE,EAAE,cAAe,CAAC,EAAE;UAC1CqC,IAAI,EAAE;QACP,CAAE,CAAC;QACHzB,iBAAiB,GAAIH,KAAM,CAAC;MAC7B,CAAC,CAAC,OAAQmD,KAAK,EAAG;QACjB,MAAMnB,YAAY,GACjBmB,KAAK,CAACjB,OAAO,IAAIiB,KAAK,CAACC,IAAI,KAAK,eAAe,GAC5CD,KAAK,CAACjB,OAAO,GACb,IAAA3C,QAAE,EAAE,2CAA4C,CAAC;QACrDc,iBAAiB,CAAE2B,YAAY,EAAE;UAAEJ,IAAI,EAAE;QAAW,CAAE,CAAC;MACxD;IACD;IAEA,OACC,IAAAlB,MAAA,CAAAC,aAAA;MAAMoE,QAAQ,EAAGH;IAAU,GAC1B,IAAAlE,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAmC,oBAAM;MAACC,OAAO,EAAC;IAAG,GAClB,IAAAH,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAuG,WAAW;MACXC,uBAAuB;MACvBC,qBAAqB;MACrB5F,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;MACtB4F,KAAK,EAAGlG,KAAO;MACfmG,QAAQ,EAAGV,QAAU;MACrBW,QAAQ;IAAA,CACR,CAAC,EACF,IAAA3E,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAyC,oBAAM;MAACC,OAAO,EAAC;IAAO,GACtB,IAAAT,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACN8D,qBAAqB;MACrB7D,OAAO,EAAC,UAAU;MAClBC,OAAO,EAAGA,CAAA,KAAM;QACfpB,UAAU,CAAC,CAAC;MACb;IAAG,GAED,IAAAX,QAAE,EAAE,QAAS,CACR,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACN8D,qBAAqB;MACrB7D,OAAO,EAAC,SAAS;MACjBO,IAAI,EAAC;IAAQ,GAEX,IAAArC,QAAE,EAAE,MAAO,CACN,CACD,CACD,CACH,CAAC;EAET;AACD,CAAC;AAED,MAAM+F,mBAAmB,GAAG;EAC3BjG,EAAE,EAAE,gBAAgB;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBI,UAAU,EAAE4F,6BAAoB;EAChC1F,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEE,UAAU;IAAEC;EAAkB,CAAC,KAAM;IAC5D,MAAM;MAAEqF;IAAe,CAAC,GAAG,IAAAC,kBAAM,EAAE,IAAAnF,iBAAW,EAAEoF,YAAY,CAAE,CAAC;IAC/D,MAAM;MAAEzC;IAAuB,CAAC,GAAG,IAAA3C,iBAAW,EAAEG,eAAU,CAAC;IAC3D,MAAM;MAAEL,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC5B,MAAMoF,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC7B,IAAI;QACH,KAAM,MAAMC,QAAQ,IAAI5F,KAAK,EAAG;UAC/B,MAAMwF,cAAc,CAAEI,QAAQ,EAAE;YAC/BC,SAAS,EAAE;UACZ,CAAE,CAAC;UACH,MAAM5C,sBAAsB,CAC3B,UAAU,EACV2C,QAAQ,CAAChE,IAAI,EACbgE,QAAQ,CAACvG,EACV,CAAC;QACF;QAEAe,mBAAmB,CAClBJ,KAAK,CAACe,MAAM,GAAG,CAAC,GACb,IAAAC,aAAO,GACP;QACA,IAAAzB,QAAE,EAAE,iBAAkB,CAAC,EACvBS,KAAK,CAACe,MACN,CAAC,GACD,IAAAC,aAAO,GACP;QACA,IAAAzB,QAAE,EAAE,aAAc,CAAC,EACnB,IAAAL,4BAAc,EAAEc,KAAK,CAAE,CAAC,CAAE,CAACf,KAAK,CAACE,QAAS,CAC1C,CAAC,EACJ;UACCyC,IAAI,EAAE,UAAU;UAChBvC,EAAE,EAAE;QACL,CACD,CAAC;MACF,CAAC,CAAC,OAAQ8D,KAAK,EAAG;QACjB,IAAI2C,oBAAoB;QACxB,IAAK9F,KAAK,CAAE,CAAC,CAAE,CAAC4B,IAAI,KAAKmE,6BAAkB,EAAG;UAC7CD,oBAAoB,GACnB9F,KAAK,CAACe,MAAM,KAAK,CAAC,GACf,IAAAxB,QAAE,EACF,iDACA,CAAC,GACD,IAAAA,QAAE,EACF,kDACA,CAAC;QACN,CAAC,MAAM;UACNuG,oBAAoB,GACnB9F,KAAK,CAACe,MAAM,KAAK,CAAC,GACf,IAAAxB,QAAE,EACF,sDACA,CAAC,GACD,IAAAA,QAAE,EACF,uDACA,CAAC;QACN;QACA,MAAMyC,YAAY,GACjBmB,KAAK,CAACjB,OAAO,IAAIiB,KAAK,CAACC,IAAI,KAAK,eAAe,GAC5CD,KAAK,CAACjB,OAAO,GACb4D,oBAAoB;QAExBzF,iBAAiB,CAAE2B,YAAY,EAAE;UAAEJ,IAAI,EAAE;QAAW,CAAE,CAAC;MACxD;IACD,CAAC;IACD,OACC,IAAAlB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAmC,oBAAM;MAACC,OAAO,EAAC;IAAG,GAClB,IAAAH,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAqC,kBAAI,QACF,IAAAvB,QAAE,EAAE,gDAAiD,CAClD,CAAC,EACP,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAyC,oBAAM;MAACC,OAAO,EAAC;IAAO,GACtB,IAAAT,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MAACC,OAAO,EAAC,UAAU;MAACC,OAAO,EAAGpB;IAAY,GAC9C,IAAAX,QAAE,EAAE,QAAS,CACR,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACNC,OAAO,EAAC,SAAS;MACjBC,OAAO,EAAG,MAAAA,CAAA,KAAY;QACrB,MAAMqE,SAAS,CAAE3F,KAAM,CAAC;QACxBG,iBAAiB,GAAIH,KAAM,CAAC;QAC5BE,UAAU,CAAC,CAAC;MACb;IAAG,GAED,IAAAX,QAAE,EAAE,OAAQ,CACP,CACD,CACD,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASyG,mBAAmBA,CAAEJ,QAAQ,EAAG;EACxC,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EAEA,OACCA,QAAQ,CAACK,MAAM,KAAKC,2BAAgB,CAACC,MAAM,IAAI,CAAEP,QAAQ,CAACQ,cAAc;AAE1E;AAEA,MAAMC,oBAAoB,GAAG;EAC5BhH,EAAE,EAAE,iBAAiB;EACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;EACrBI,UAAU,EAAEqG,mBAAmB;EAC/BnG,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAEA,CAAE;IAAEC,KAAK,EAAEsG,SAAS;IAAEpG,UAAU;IAAEC;EAAkB,CAAC,KAAM;IACvE,MAAM;MAAEoG;IAAgB,CAAC,GAAG,IAAAd,kBAAM,EAAE,IAAAnF,iBAAW,EAAEoF,YAAY,CAAE,CAAC;IAChE,OACC,IAAAhF,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAmC,oBAAM;MAACC,OAAO,EAAC;IAAG,GAClB,IAAAH,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAqC,kBAAI,QACFwF,SAAS,CAACvF,MAAM,GAAG,CAAC,GACnB,IAAAC,aAAO;IACP;IACA,IAAAC,QAAE,EACD,iBAAiB,EACjB,kBAAkB,EAClBqF,SAAS,CAACvF,MACX,CAAC,EACDuF,SAAS,CAACvF,MACV,CAAC,GACD,IAAAC,aAAO;IACP;IACA,IAAAzB,QAAE,EAAE,cAAe,CAAC,EACpB,IAAAL,4BAAc,EACboH,SAAS,GAAI,CAAC,CAAE,EAAErH,KAAK,EAAEE,QAC1B,CACA,CACE,CAAC,EACP,IAAAuB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAyC,oBAAM;MAACC,OAAO,EAAC;IAAO,GACtB,IAAAT,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MAACC,OAAO,EAAC,UAAU;MAACC,OAAO,EAAGpB;IAAY,GAC9C,IAAAX,QAAE,EAAE,QAAS,CACR,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACNC,OAAO,EAAC,SAAS;MACjBC,OAAO,EAAG,MAAAA,CAAA,KAAY;QACrB,MAAMiF,eAAe,CAAED,SAAS,EAAE;UACjCT,SAAS,EAAE;QACZ,CAAE,CAAC;QACH1F,iBAAiB,GAAImG,SAAU,CAAC;QAChCpG,UAAU,CAAC,CAAC;MACb;IAAG,GAED,IAAAX,QAAE,EAAE,QAAS,CACR,CACD,CACD,CAAC;EAEX;AACD,CAAC;AAED,MAAMiH,oBAAoB,GAAG;EAC5BnH,EAAE,EAAE,iBAAiB;EACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;EACrBI,UAAU,EAAIiG,QAAQ,IAAM;IAC3B;IACA;IACA,IACC,CAAEI,mBAAmB,CAAEJ,QAAS,CAAC,IAC/BA,QAAQ,CAAChE,IAAI,KAAKmE,6BAAkB,IAAI,CAAEH,QAAQ,CAACa,SAAW,EAC/D;MACD,OAAO,KAAK;IACb;IACA,OAAO,IAAI;EACZ,CAAC;EACD1G,WAAW,EAAEA,CAAE;IAAEC,KAAK,EAAEsG,SAAS;IAAEpG,UAAU;IAAEC;EAAkB,CAAC,KAAM;IACvE,MAAMyF,QAAQ,GAAGU,SAAS,CAAE,CAAC,CAAE;IAC/B,MAAMrH,KAAK,GAAG,IAAAC,4BAAc,EAAE0G,QAAQ,CAAC3G,KAAK,CAACE,QAAS,CAAC;IACvD,MAAM,CAAEuH,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAhC,iBAAQ,EAAE1F,KAAM,CAAC;IACzD,MAAM;MACL+D,gBAAgB;MAChB4D,sCAAsC,EAAEC;IACzC,CAAC,GAAG,IAAAvG,iBAAW,EAAEG,eAAU,CAAC;IAC5B,MAAM;MAAEL,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC5B,eAAeuG,gBAAgBA,CAAEjC,KAAK,EAAG;MACxCA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB,IAAI;QACH,MAAM9B,gBAAgB,CACrB,UAAU,EACV4C,QAAQ,CAAChE,IAAI,EACbgE,QAAQ,CAACvG,EAAE,EACX;UACCJ,KAAK,EAAEyH;QACR,CACD,CAAC;QACD;QACAC,cAAc,CAAE,EAAG,CAAC;QACpBzG,UAAU,CAAC,CAAC;QACZ;QACA,MAAM2G,wBAAwB,CAC7B,UAAU,EACVjB,QAAQ,CAAChE,IAAI,EACbgE,QAAQ,CAACvG,EAAE,EACX,CAAE,OAAO,CAAE;QAAE;QACb;UACCwC,YAAY,EAAE;QACf,CACD,CAAC;QACDzB,mBAAmB,CAClBwF,QAAQ,CAAChE,IAAI,KAAKmE,6BAAkB,GACjC,IAAAxG,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,wBAAyB,CAAC,EACjC;UACCqC,IAAI,EAAE;QACP,CACD,CAAC;QACDzB,iBAAiB,GAAImG,SAAU,CAAC;MACjC,CAAC,CAAC,OAAQnD,KAAK,EAAG;QACjB,MAAM2C,oBAAoB,GACzBF,QAAQ,CAAChE,IAAI,KAAKmE,6BAAkB,GACjC,IAAAxG,QAAE,EAAE,gDAAiD,CAAC,GACtD,IAAAA,QAAE,EACF,qDACA,CAAC;QACL,MAAMyC,YAAY,GACjBmB,KAAK,CAACjB,OAAO,IAAIiB,KAAK,CAACC,IAAI,KAAK,eAAe,GAC5CD,KAAK,CAACjB,OAAO,GACb4D,oBAAoB;QAExBzF,iBAAiB,CAAE2B,YAAY,EAAE;UAAEJ,IAAI,EAAE;QAAW,CAAE,CAAC;MACxD;IACD;IACA,OACC,IAAAlB,MAAA,CAAAC,aAAA;MAAMoE,QAAQ,EAAG+B;IAAkB,GAClC,IAAApG,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAmC,oBAAM;MAACC,OAAO,EAAC;IAAG,GAClB,IAAAH,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAuG,WAAW;MACXC,uBAAuB;MACvBC,qBAAqB;MACrB5F,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;MACtB4F,KAAK,EAAGuB,WAAa;MACrBtB,QAAQ,EAAGuB,cAAgB;MAC3BtB,QAAQ;IAAA,CACR,CAAC,EACF,IAAA3E,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAAyC,oBAAM;MAACC,OAAO,EAAC;IAAO,GACtB,IAAAT,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACNC,OAAO,EAAC,UAAU;MAClBC,OAAO,EAAGpB,UAAY;MACtBgF,qBAAqB;IAAA,GAEnB,IAAA3F,QAAE,EAAE,QAAS,CACR,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,WAAA,CAAA2C,MAAM;MACNC,OAAO,EAAC,SAAS;MACjBO,IAAI,EAAC,QAAQ;MACbsD,qBAAqB;IAAA,GAEnB,IAAA3F,QAAE,EAAE,MAAO,CACN,CACD,CACD,CACH,CAAC;EAET;AACD,CAAC;AAEM,SAASwH,cAAcA,CAAE5G,iBAAiB,EAAE6G,SAAS,GAAG,IAAI,EAAG;EACrE,MAAMC,2BAA2B,GAAGtE,8BAA8B,CAAC,CAAC;EACpE,MAAMuE,iBAAiB,GAAGnE,oBAAoB,CAAC,CAAC;EAChD,OAAO,IAAAH,gBAAO,EACb,MAAM;IACL;IACA,MAAMuE,cAAc,GAAG,CACtBzD,cAAc,EACd4B,mBAAmB,EACnBjC,cAAc,EACd6D,iBAAiB,EACjBb,oBAAoB,EACpBY,2BAA2B,EAC3BrD,mBAAmB,EACnBY,gBAAgB,EAChBgC,oBAAoB,EACpBpH,eAAe,CACf;;IAED;IACA;IACA,MAAMgI,OAAO,GAAGJ,SAAS,GACtBA,SAAS,CAACtF,GAAG,CAAI2F,QAAQ,IACzBF,cAAc,CAACG,IAAI,CAAE,CAAE;MAAEjI;IAAG,CAAC,KAAMgI,QAAQ,KAAKhI,EAAG,CACnD,CAAC,GACD8H,cAAc;IAEjB,IAAKhH,iBAAiB,EAAG;MACxB,KAAM,IAAIoH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACrG,MAAM,EAAE,EAAEwG,CAAC,EAAG;QAC1C,IAAKH,OAAO,CAAEG,CAAC,CAAE,CAAC1E,QAAQ,EAAG;UAC5B,MAAM2E,gBAAgB,GAAGJ,OAAO,CAAEG,CAAC,CAAE,CAAC1E,QAAQ;UAC9CuE,OAAO,CAAEG,CAAC,CAAE,GAAG;YACd,GAAGH,OAAO,CAAEG,CAAC,CAAE;YACf1E,QAAQ,EAAEA,CAAE7C,KAAK,EAAEyH,kBAAkB,KAAM;cAC1CD,gBAAgB,CAAExH,KAAK,EAAI0H,MAAM,IAAM;gBACtC,IAAKD,kBAAkB,EAAG;kBACzBA,kBAAkB,CAAEC,MAAO,CAAC;gBAC7B;gBACAvH,iBAAiB,CAChBiH,OAAO,CAAEG,CAAC,CAAE,CAAClI,EAAE,EACfqI,MACD,CAAC;cACF,CAAE,CAAC;YACJ;UACD,CAAC;QACF;QACA,IAAKN,OAAO,CAAEG,CAAC,CAAE,CAACxH,WAAW,EAAG;UAC/B,MAAM4H,mBAAmB,GAAGP,OAAO,CAAEG,CAAC,CAAE,CAACxH,WAAW;UACpDqH,OAAO,CAAEG,CAAC,CAAE,GAAG;YACd,GAAGH,OAAO,CAAEG,CAAC,CAAE;YACfxH,WAAW,EAAI6H,KAAK,IAAM;cACzB,OACC,IAAAlH,MAAA,CAAAC,aAAA,EAACgH,mBAAmB;gBACnB3H,KAAK,EAAG4H,KAAK,CAAC5H,KAAO;gBACrBE,UAAU,EAAG0H,KAAK,CAAC1H,UAAY;gBAC/BC,iBAAiB,EAAKuH,MAAM,IAAM;kBACjC,IAAKE,KAAK,CAACzH,iBAAiB,EAAG;oBAC9ByH,KAAK,CAACzH,iBAAiB,CACtBuH,MACD,CAAC;kBACF;kBACAvH,iBAAiB,CAChBiH,OAAO,CAAEG,CAAC,CAAE,CAAClI,EAAE,EACfqI,MACD,CAAC;gBACF;cAAG,CACH,CAAC;YAEJ;UACD,CAAC;QACF;MACD;IACD;IACA,OAAON,OAAO;EACf,CAAC;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA,IAAKJ,SAAS,IAAI,EAAE,CAAE,EACtBC,2BAA2B,EAC3BC,iBAAiB,EACjB/G,iBAAiB,CAEnB,CAAC;AACF","ignoreList":[]}
|