@wordpress/editor 14.2.0 → 14.3.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/build/bindings/pattern-overrides.js +8 -5
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +4 -0
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/editor-interface/index.js +2 -1
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/index.js +1 -1
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/inserter-sidebar/index.js +10 -21
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +19 -47
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/page-attributes/parent.js +2 -1
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-actions/actions.js +67 -215
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +1 -1
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +1 -1
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-preview-button/index.js +1 -1
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-panel/index.js +1 -1
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-saved-state/index.js +11 -1
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/index.js +3 -0
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-status/index.js +2 -1
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-title/index.js +5 -13
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +1 -1
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/index.native.js +0 -4
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +7 -4
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/save-publish-panels/index.js +30 -16
- package/build/components/save-publish-panels/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-summary.js +1 -2
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/template-content-panel/index.js +29 -4
- package/build/components/template-content-panel/index.js.map +1 -1
- package/build/components/visual-editor/index.js +1 -1
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/dataviews/actions/delete-post.js +96 -0
- package/build/dataviews/actions/delete-post.js.map +1 -0
- package/build/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +11 -20
- package/build/dataviews/actions/export-pattern.js.map +1 -0
- package/build/dataviews/actions/index.js +32 -0
- package/build/dataviews/actions/index.js.map +1 -0
- package/build/dataviews/actions/reset-post.js +111 -0
- package/build/dataviews/actions/reset-post.js.map +1 -0
- package/build/dataviews/actions/utils.js +50 -0
- package/build/dataviews/actions/utils.js.map +1 -0
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/dataviews/store/private-selectors.js +6 -6
- package/build/dataviews/store/private-selectors.js.map +1 -1
- package/build/dataviews/store/reducer.js +6 -2
- package/build/dataviews/store/reducer.js.map +1 -1
- package/build/dataviews/types.js +6 -0
- package/build/dataviews/types.js.map +1 -0
- package/build/hooks/pattern-overrides.js +2 -2
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +1 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -18
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/utils/is-template-revertable.js +6 -8
- package/build/store/utils/is-template-revertable.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js +8 -5
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +4 -0
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/editor-interface/index.js +2 -1
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +1 -1
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/inserter-sidebar/index.js +11 -22
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +20 -49
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +2 -1
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-actions/actions.js +63 -210
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +1 -1
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +1 -1
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +1 -1
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +1 -1
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +11 -1
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/index.js +3 -0
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-status/index.js +1 -1
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-title/index.js +5 -13
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +1 -1
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +0 -4
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +7 -4
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +30 -16
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +1 -2
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/template-content-panel/index.js +30 -5
- package/build-module/components/template-content-panel/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +1 -1
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/dataviews/actions/delete-post.js +87 -0
- package/build-module/dataviews/actions/delete-post.js.map +1 -0
- package/build-module/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +10 -19
- package/build-module/dataviews/actions/export-pattern.js.map +1 -0
- package/build-module/dataviews/actions/index.js +24 -0
- package/build-module/dataviews/actions/index.js.map +1 -0
- package/build-module/dataviews/actions/reset-post.js +104 -0
- package/build-module/dataviews/actions/reset-post.js.map +1 -0
- package/build-module/dataviews/actions/utils.js +41 -0
- package/build-module/dataviews/actions/utils.js.map +1 -0
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/dataviews/store/private-selectors.js +5 -5
- package/build-module/dataviews/store/private-selectors.js.map +1 -1
- package/build-module/dataviews/store/reducer.js +6 -2
- package/build-module/dataviews/store/reducer.js.map +1 -1
- package/build-module/dataviews/types.js +2 -0
- package/build-module/dataviews/types.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +3 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +1 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -17
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/utils/is-template-revertable.js +6 -8
- package/build-module/store/utils/is-template-revertable.js.map +1 -1
- package/build-style/style-rtl.css +15 -53
- package/build-style/style.css +15 -53
- package/build-types/bindings/index.d.ts +2 -0
- package/build-types/bindings/index.d.ts.map +1 -0
- package/build-types/bindings/pattern-overrides.d.ts +18 -0
- package/build-types/bindings/pattern-overrides.d.ts.map +1 -0
- package/build-types/bindings/post-meta.d.ts +25 -0
- package/build-types/bindings/post-meta.d.ts.map +1 -0
- package/build-types/components/autocompleters/index.d.ts +2 -0
- package/build-types/components/autocompleters/index.d.ts.map +1 -0
- package/build-types/components/autocompleters/user.d.ts +6 -0
- package/build-types/components/autocompleters/user.d.ts.map +1 -0
- package/build-types/components/autosave-monitor/index.d.ts +15 -0
- package/build-types/components/autosave-monitor/index.d.ts.map +1 -0
- package/build-types/components/block-manager/category.d.ts +6 -0
- package/build-types/components/block-manager/category.d.ts.map +1 -0
- package/build-types/components/block-manager/checklist.d.ts +7 -0
- package/build-types/components/block-manager/checklist.d.ts.map +1 -0
- package/build-types/components/block-manager/index.d.ts +3 -0
- package/build-types/components/block-manager/index.d.ts.map +1 -0
- package/build-types/components/block-removal-warnings/index.d.ts +2 -0
- package/build-types/components/block-removal-warnings/index.d.ts.map +1 -0
- package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts +2 -0
- package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts.map +1 -0
- package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts +65 -0
- package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -0
- package/build-types/components/blog-title/index.d.ts +2 -0
- package/build-types/components/blog-title/index.d.ts.map +1 -0
- package/build-types/components/character-count/index.d.ts +7 -0
- package/build-types/components/character-count/index.d.ts.map +1 -0
- package/build-types/components/collapsible-block-toolbar/index.d.ts +6 -0
- package/build-types/components/collapsible-block-toolbar/index.d.ts.map +1 -0
- package/build-types/components/commands/index.d.ts +2 -0
- package/build-types/components/commands/index.d.ts.map +1 -0
- package/build-types/components/create-template-part-modal/index.d.ts +14 -0
- package/build-types/components/create-template-part-modal/index.d.ts.map +1 -0
- package/build-types/components/create-template-part-modal/utils.d.ts +4 -0
- package/build-types/components/create-template-part-modal/utils.d.ts.map +1 -0
- package/build-types/components/deprecated.d.ts +182 -0
- package/build-types/components/deprecated.d.ts.map +1 -0
- package/build-types/components/document-bar/index.d.ts +22 -0
- package/build-types/components/document-bar/index.d.ts.map +1 -0
- package/build-types/components/document-outline/check.d.ts +12 -0
- package/build-types/components/document-outline/check.d.ts.map +1 -0
- package/build-types/components/document-outline/index.d.ts +16 -0
- package/build-types/components/document-outline/index.d.ts.map +1 -0
- package/build-types/components/document-outline/item.d.ts +9 -0
- package/build-types/components/document-outline/item.d.ts.map +1 -0
- package/build-types/components/document-tools/index.d.ts +6 -0
- package/build-types/components/document-tools/index.d.ts.map +1 -0
- package/build-types/components/editor/index.d.ts +14 -0
- package/build-types/components/editor/index.d.ts.map +1 -0
- package/build-types/components/editor-history/redo.d.ts +4 -0
- package/build-types/components/editor-history/redo.d.ts.map +1 -0
- package/build-types/components/editor-history/undo.d.ts +4 -0
- package/build-types/components/editor-history/undo.d.ts.map +1 -0
- package/build-types/components/editor-interface/content-slot-fill.d.ts +3 -0
- package/build-types/components/editor-interface/content-slot-fill.d.ts.map +1 -0
- package/build-types/components/editor-interface/index.d.ts +17 -0
- package/build-types/components/editor-interface/index.d.ts.map +1 -0
- package/build-types/components/editor-notices/index.d.ts +13 -0
- package/build-types/components/editor-notices/index.d.ts.map +1 -0
- package/build-types/components/editor-snackbars/index.d.ts +7 -0
- package/build-types/components/editor-snackbars/index.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/entity-record-item.d.ts +6 -0
- package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/entity-type-list.d.ts +6 -0
- package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts +2 -0
- package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/index.d.ts +43 -0
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -0
- package/build-types/components/error-boundary/index.d.ts +14 -0
- package/build-types/components/error-boundary/index.d.ts.map +1 -0
- package/build-types/components/global-keyboard-shortcuts/index.d.ts +9 -0
- package/build-types/components/global-keyboard-shortcuts/index.d.ts.map +1 -0
- package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts +8 -0
- package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts.map +1 -0
- package/build-types/components/global-styles-provider/index.d.ts +20 -0
- package/build-types/components/global-styles-provider/index.d.ts.map +1 -0
- package/build-types/components/header/back-button.d.ts +6 -0
- package/build-types/components/header/back-button.d.ts.map +1 -0
- package/build-types/components/header/index.d.ts +10 -0
- package/build-types/components/header/index.d.ts.map +1 -0
- package/build-types/components/index.d.ts +108 -0
- package/build-types/components/index.d.ts.map +1 -0
- package/build-types/components/inserter-sidebar/index.d.ts +2 -0
- package/build-types/components/inserter-sidebar/index.d.ts.map +1 -0
- package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +26 -0
- package/build-types/components/keyboard-shortcut-help-modal/config.d.ts.map +1 -0
- package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts +5 -0
- package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts.map +1 -0
- package/build-types/components/keyboard-shortcut-help-modal/index.d.ts +3 -0
- package/build-types/components/keyboard-shortcut-help-modal/index.d.ts.map +1 -0
- package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +8 -0
- package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts.map +1 -0
- package/build-types/components/list-view-sidebar/index.d.ts +2 -0
- package/build-types/components/list-view-sidebar/index.d.ts.map +1 -0
- package/build-types/components/list-view-sidebar/list-view-outline.d.ts +2 -0
- package/build-types/components/list-view-sidebar/list-view-outline.d.ts.map +1 -0
- package/build-types/components/local-autosave-monitor/index.d.ts +3 -0
- package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -0
- package/build-types/components/media-categories/index.d.ts +7 -0
- package/build-types/components/media-categories/index.d.ts.map +1 -0
- package/build-types/components/mode-switcher/index.d.ts +3 -0
- package/build-types/components/mode-switcher/index.d.ts.map +1 -0
- package/build-types/components/more-menu/copy-content-menu-item.d.ts +2 -0
- package/build-types/components/more-menu/copy-content-menu-item.d.ts.map +1 -0
- package/build-types/components/more-menu/index.d.ts +2 -0
- package/build-types/components/more-menu/index.d.ts.map +1 -0
- package/build-types/components/more-menu/tools-more-menu-group.d.ts +6 -0
- package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -0
- package/build-types/components/more-menu/view-more-menu-group.d.ts +6 -0
- package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -0
- package/build-types/components/page-attributes/check.d.ts +13 -0
- package/build-types/components/page-attributes/check.d.ts.map +1 -0
- package/build-types/components/page-attributes/order.d.ts +9 -0
- package/build-types/components/page-attributes/order.d.ts.map +1 -0
- package/build-types/components/page-attributes/panel.d.ts +7 -0
- package/build-types/components/page-attributes/panel.d.ts.map +1 -0
- package/build-types/components/page-attributes/parent.d.ts +11 -0
- package/build-types/components/page-attributes/parent.d.ts.map +1 -0
- package/build-types/components/pattern-duplicate-modal/index.d.ts +3 -0
- package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -0
- package/build-types/components/pattern-overrides-panel/index.d.ts +2 -0
- package/build-types/components/pattern-overrides-panel/index.d.ts.map +1 -0
- package/build-types/components/pattern-rename-modal/index.d.ts +3 -0
- package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -0
- package/build-types/components/plugin-document-setting-panel/index.d.ts +69 -0
- package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -0
- package/build-types/components/plugin-more-menu-item/index.d.ts +3 -0
- package/build-types/components/plugin-more-menu-item/index.d.ts.map +1 -0
- package/build-types/components/plugin-post-publish-panel/index.d.ts +47 -0
- package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -0
- package/build-types/components/plugin-post-status-info/index.d.ts +57 -0
- package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -0
- package/build-types/components/plugin-pre-publish-panel/index.d.ts +50 -0
- package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -0
- package/build-types/components/plugin-sidebar/index.d.ts +73 -0
- package/build-types/components/plugin-sidebar/index.d.ts.map +1 -0
- package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts +52 -0
- package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -0
- package/build-types/components/post-actions/actions.d.ts +31 -0
- package/build-types/components/post-actions/actions.d.ts.map +1 -0
- package/build-types/components/post-actions/index.d.ts +5 -0
- package/build-types/components/post-actions/index.d.ts.map +1 -0
- package/build-types/components/post-author/check.d.ts +13 -0
- package/build-types/components/post-author/check.d.ts.map +1 -0
- package/build-types/components/post-author/combobox.d.ts +2 -0
- package/build-types/components/post-author/combobox.d.ts.map +1 -0
- package/build-types/components/post-author/constants.d.ts +9 -0
- package/build-types/components/post-author/constants.d.ts.map +1 -0
- package/build-types/components/post-author/hook.d.ts +6 -0
- package/build-types/components/post-author/hook.d.ts.map +1 -0
- package/build-types/components/post-author/index.d.ts +8 -0
- package/build-types/components/post-author/index.d.ts.map +1 -0
- package/build-types/components/post-author/panel.d.ts +8 -0
- package/build-types/components/post-author/panel.d.ts.map +1 -0
- package/build-types/components/post-author/select.d.ts +2 -0
- package/build-types/components/post-author/select.d.ts.map +1 -0
- package/build-types/components/post-card-panel/index.d.ts +4 -0
- package/build-types/components/post-card-panel/index.d.ts.map +1 -0
- package/build-types/components/post-comments/index.d.ts +3 -0
- package/build-types/components/post-comments/index.d.ts.map +1 -0
- package/build-types/components/post-content-information/index.d.ts +2 -0
- package/build-types/components/post-content-information/index.d.ts.map +1 -0
- package/build-types/components/post-discussion/panel.d.ts +10 -0
- package/build-types/components/post-discussion/panel.d.ts.map +1 -0
- package/build-types/components/post-excerpt/check.d.ts +13 -0
- package/build-types/components/post-excerpt/check.d.ts.map +1 -0
- package/build-types/components/post-excerpt/index.d.ts +15 -0
- package/build-types/components/post-excerpt/index.d.ts.map +1 -0
- package/build-types/components/post-excerpt/panel.d.ts +8 -0
- package/build-types/components/post-excerpt/panel.d.ts.map +1 -0
- package/build-types/components/post-excerpt/plugin.d.ts +53 -0
- package/build-types/components/post-excerpt/plugin.d.ts.map +1 -0
- package/build-types/components/post-featured-image/check.d.ts +14 -0
- package/build-types/components/post-featured-image/check.d.ts.map +1 -0
- package/build-types/components/post-featured-image/index.d.ts +3 -0
- package/build-types/components/post-featured-image/index.d.ts.map +1 -0
- package/build-types/components/post-featured-image/panel.d.ts +13 -0
- package/build-types/components/post-featured-image/panel.d.ts.map +1 -0
- package/build-types/components/post-format/check.d.ts +5 -0
- package/build-types/components/post-format/check.d.ts.map +1 -0
- package/build-types/components/post-format/index.d.ts +16 -0
- package/build-types/components/post-format/index.d.ts.map +1 -0
- package/build-types/components/post-format/panel.d.ts +8 -0
- package/build-types/components/post-format/panel.d.ts.map +1 -0
- package/build-types/components/post-last-edited-panel/index.d.ts +2 -0
- package/build-types/components/post-last-edited-panel/index.d.ts.map +1 -0
- package/build-types/components/post-last-revision/check.d.ts +13 -0
- package/build-types/components/post-last-revision/check.d.ts.map +1 -0
- package/build-types/components/post-last-revision/index.d.ts +9 -0
- package/build-types/components/post-last-revision/index.d.ts.map +1 -0
- package/build-types/components/post-last-revision/panel.d.ts +8 -0
- package/build-types/components/post-last-revision/panel.d.ts.map +1 -0
- package/build-types/components/post-locked-modal/index.d.ts +8 -0
- package/build-types/components/post-locked-modal/index.d.ts.map +1 -0
- package/build-types/components/post-panel-row/index.d.ts +3 -0
- package/build-types/components/post-panel-row/index.d.ts.map +1 -0
- package/build-types/components/post-panel-section/index.d.ts +6 -0
- package/build-types/components/post-panel-section/index.d.ts.map +1 -0
- package/build-types/components/post-pending-status/check.d.ts +15 -0
- package/build-types/components/post-pending-status/check.d.ts.map +1 -0
- package/build-types/components/post-pending-status/index.d.ts +8 -0
- package/build-types/components/post-pending-status/index.d.ts.map +1 -0
- package/build-types/components/post-pingbacks/index.d.ts +3 -0
- package/build-types/components/post-pingbacks/index.d.ts.map +1 -0
- package/build-types/components/post-preview-button/index.d.ts +23 -0
- package/build-types/components/post-preview-button/index.d.ts.map +1 -0
- package/build-types/components/post-publish-button/index.d.ts +17 -0
- package/build-types/components/post-publish-button/index.d.ts.map +1 -0
- package/build-types/components/post-publish-button/label.d.ts +7 -0
- package/build-types/components/post-publish-button/label.d.ts.map +1 -0
- package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts +17 -0
- package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/index.d.ts +10 -0
- package/build-types/components/post-publish-panel/index.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/maybe-category-panel.d.ts +3 -0
- package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts +2 -0
- package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts +3 -0
- package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/maybe-upload-media.d.ts +2 -0
- package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/postpublish.d.ts +3 -0
- package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -0
- package/build-types/components/post-publish-panel/prepublish.d.ts +5 -0
- package/build-types/components/post-publish-panel/prepublish.d.ts.map +1 -0
- package/build-types/components/post-saved-state/index.d.ts +13 -0
- package/build-types/components/post-saved-state/index.d.ts.map +1 -0
- package/build-types/components/post-schedule/check.d.ts +12 -0
- package/build-types/components/post-schedule/check.d.ts.map +1 -0
- package/build-types/components/post-schedule/index.d.ts +17 -0
- package/build-types/components/post-schedule/index.d.ts.map +1 -0
- package/build-types/components/post-schedule/label.d.ts +25 -0
- package/build-types/components/post-schedule/label.d.ts.map +1 -0
- package/build-types/components/post-schedule/panel.d.ts +7 -0
- package/build-types/components/post-schedule/panel.d.ts.map +1 -0
- package/build-types/components/post-slug/check.d.ts +12 -0
- package/build-types/components/post-slug/check.d.ts.map +1 -0
- package/build-types/components/post-slug/index.d.ts +7 -0
- package/build-types/components/post-slug/index.d.ts.map +1 -0
- package/build-types/components/post-slug/panel.d.ts +3 -0
- package/build-types/components/post-slug/panel.d.ts.map +1 -0
- package/build-types/components/post-status/index.d.ts +6 -0
- package/build-types/components/post-status/index.d.ts.map +1 -0
- package/build-types/components/post-sticky/check.d.ts +12 -0
- package/build-types/components/post-sticky/check.d.ts.map +1 -0
- package/build-types/components/post-sticky/index.d.ts +7 -0
- package/build-types/components/post-sticky/index.d.ts.map +1 -0
- package/build-types/components/post-sticky/panel.d.ts +3 -0
- package/build-types/components/post-sticky/panel.d.ts.map +1 -0
- package/build-types/components/post-switch-to-draft-button/index.d.ts +7 -0
- package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -0
- package/build-types/components/post-sync-status/index.d.ts +7 -0
- package/build-types/components/post-sync-status/index.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/check.d.ts +12 -0
- package/build-types/components/post-taxonomies/check.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/flat-term-selector.d.ts +64 -0
- package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +102 -0
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/index.d.ts +5 -0
- package/build-types/components/post-taxonomies/index.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/most-used-terms.d.ts +5 -0
- package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -0
- package/build-types/components/post-taxonomies/panel.d.ts +3 -0
- package/build-types/components/post-taxonomies/panel.d.ts.map +1 -0
- package/build-types/components/post-template/block-theme.d.ts +4 -0
- package/build-types/components/post-template/block-theme.d.ts.map +1 -0
- package/build-types/components/post-template/classic-theme.d.ts +3 -0
- package/build-types/components/post-template/classic-theme.d.ts.map +1 -0
- package/build-types/components/post-template/create-new-template-modal.d.ts +4 -0
- package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -0
- package/build-types/components/post-template/create-new-template.d.ts +4 -0
- package/build-types/components/post-template/create-new-template.d.ts.map +1 -0
- package/build-types/components/post-template/hooks.d.ts +8 -0
- package/build-types/components/post-template/hooks.d.ts.map +1 -0
- package/build-types/components/post-template/panel.d.ts +7 -0
- package/build-types/components/post-template/panel.d.ts.map +1 -0
- package/build-types/components/post-template/reset-default-template.d.ts +4 -0
- package/build-types/components/post-template/reset-default-template.d.ts.map +1 -0
- package/build-types/components/post-template/swap-template-button.d.ts +4 -0
- package/build-types/components/post-template/swap-template-button.d.ts.map +1 -0
- package/build-types/components/post-text-editor/index.d.ts +7 -0
- package/build-types/components/post-text-editor/index.d.ts.map +1 -0
- package/build-types/components/post-title/constants.d.ts +3 -0
- package/build-types/components/post-title/constants.d.ts.map +1 -0
- package/build-types/components/post-title/index.d.ts +3 -0
- package/build-types/components/post-title/index.d.ts.map +1 -0
- package/build-types/components/post-title/post-title-raw.d.ts +3 -0
- package/build-types/components/post-title/post-title-raw.d.ts.map +1 -0
- package/build-types/components/post-title/use-post-title-focus.d.ts +9 -0
- package/build-types/components/post-title/use-post-title-focus.d.ts.map +1 -0
- package/build-types/components/post-title/use-post-title.d.ts +7 -0
- package/build-types/components/post-title/use-post-title.d.ts.map +1 -0
- package/build-types/components/post-transform-panel/hooks.d.ts +2 -0
- package/build-types/components/post-transform-panel/hooks.d.ts.map +1 -0
- package/build-types/components/post-transform-panel/index.d.ts +2 -0
- package/build-types/components/post-transform-panel/index.d.ts.map +1 -0
- package/build-types/components/post-trash/check.d.ts +12 -0
- package/build-types/components/post-trash/check.d.ts.map +1 -0
- package/build-types/components/post-trash/index.d.ts +7 -0
- package/build-types/components/post-trash/index.d.ts.map +1 -0
- package/build-types/components/post-type-support-check/index.d.ts +18 -0
- package/build-types/components/post-type-support-check/index.d.ts.map +1 -0
- package/build-types/components/post-url/check.d.ts +12 -0
- package/build-types/components/post-url/check.d.ts.map +1 -0
- package/build-types/components/post-url/index.d.ts +14 -0
- package/build-types/components/post-url/index.d.ts.map +1 -0
- package/build-types/components/post-url/label.d.ts +13 -0
- package/build-types/components/post-url/label.d.ts.map +1 -0
- package/build-types/components/post-url/panel.d.ts +7 -0
- package/build-types/components/post-url/panel.d.ts.map +1 -0
- package/build-types/components/post-view-link/index.d.ts +2 -0
- package/build-types/components/post-view-link/index.d.ts.map +1 -0
- package/build-types/components/post-visibility/check.d.ts +13 -0
- package/build-types/components/post-visibility/check.d.ts.map +1 -0
- package/build-types/components/post-visibility/index.d.ts +11 -0
- package/build-types/components/post-visibility/index.d.ts.map +1 -0
- package/build-types/components/post-visibility/label.d.ts +13 -0
- package/build-types/components/post-visibility/label.d.ts.map +1 -0
- package/build-types/components/post-visibility/utils.d.ts +21 -0
- package/build-types/components/post-visibility/utils.d.ts.map +1 -0
- package/build-types/components/posts-per-page/index.d.ts +2 -0
- package/build-types/components/posts-per-page/index.d.ts.map +1 -0
- package/build-types/components/preferences-modal/enable-panel.d.ts +3 -0
- package/build-types/components/preferences-modal/enable-panel.d.ts.map +1 -0
- package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts +14 -0
- package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -0
- package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts +3 -0
- package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts.map +1 -0
- package/build-types/components/preferences-modal/index.d.ts +4 -0
- package/build-types/components/preferences-modal/index.d.ts.map +1 -0
- package/build-types/components/preview-dropdown/index.d.ts +5 -0
- package/build-types/components/preview-dropdown/index.d.ts.map +1 -0
- package/build-types/components/provider/disable-non-page-content-blocks.d.ts +6 -0
- package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -0
- package/build-types/components/provider/index.d.ts +65 -0
- package/build-types/components/provider/index.d.ts.map +1 -0
- package/build-types/components/provider/navigation-block-editing-mode.d.ts +9 -0
- package/build-types/components/provider/navigation-block-editing-mode.d.ts.map +1 -0
- package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts +7 -0
- package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts.map +1 -0
- package/build-types/components/provider/use-block-editor-settings.d.ts +13 -0
- package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -0
- package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts +9 -0
- package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts.map +1 -0
- package/build-types/components/provider/with-registry-provider.d.ts +3 -0
- package/build-types/components/provider/with-registry-provider.d.ts.map +1 -0
- package/build-types/components/resizable-editor/index.d.ts +8 -0
- package/build-types/components/resizable-editor/index.d.ts.map +1 -0
- package/build-types/components/resizable-editor/resize-handle.d.ts +5 -0
- package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -0
- package/build-types/components/save-publish-panels/index.d.ts +11 -0
- package/build-types/components/save-publish-panels/index.d.ts.map +1 -0
- package/build-types/components/sidebar/constants.d.ts +5 -0
- package/build-types/components/sidebar/constants.d.ts.map +1 -0
- package/build-types/components/sidebar/header.d.ts +3 -0
- package/build-types/components/sidebar/header.d.ts.map +1 -0
- package/build-types/components/sidebar/index.d.ts +6 -0
- package/build-types/components/sidebar/index.d.ts.map +1 -0
- package/build-types/components/sidebar/post-summary.d.ts +4 -0
- package/build-types/components/sidebar/post-summary.d.ts.map +1 -0
- package/build-types/components/site-discussion/index.d.ts +2 -0
- package/build-types/components/site-discussion/index.d.ts.map +1 -0
- package/build-types/components/start-page-options/index.d.ts +2 -0
- package/build-types/components/start-page-options/index.d.ts.map +1 -0
- package/build-types/components/start-template-options/index.d.ts +2 -0
- package/build-types/components/start-template-options/index.d.ts.map +1 -0
- package/build-types/components/table-of-contents/index.d.ts +7 -0
- package/build-types/components/table-of-contents/index.d.ts.map +1 -0
- package/build-types/components/table-of-contents/panel.d.ts +6 -0
- package/build-types/components/table-of-contents/panel.d.ts.map +1 -0
- package/build-types/components/template-content-panel/index.d.ts +4 -0
- package/build-types/components/template-content-panel/index.d.ts.map +1 -0
- package/build-types/components/template-part-content-panel/index.d.ts +2 -0
- package/build-types/components/template-part-content-panel/index.d.ts.map +1 -0
- package/build-types/components/template-part-menu-items/convert-to-regular.d.ts +5 -0
- package/build-types/components/template-part-menu-items/convert-to-regular.d.ts.map +1 -0
- package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts +5 -0
- package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts.map +1 -0
- package/build-types/components/template-part-menu-items/index.d.ts +2 -0
- package/build-types/components/template-part-menu-items/index.d.ts.map +1 -0
- package/build-types/components/template-validation-notice/index.d.ts +2 -0
- package/build-types/components/template-validation-notice/index.d.ts.map +1 -0
- package/build-types/components/text-editor/index.d.ts +4 -0
- package/build-types/components/text-editor/index.d.ts.map +1 -0
- package/build-types/components/theme-support-check/index.d.ts +14 -0
- package/build-types/components/theme-support-check/index.d.ts.map +1 -0
- package/build-types/components/time-to-read/index.d.ts +7 -0
- package/build-types/components/time-to-read/index.d.ts.map +1 -0
- package/build-types/components/unsaved-changes-warning/index.d.ts +8 -0
- package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -0
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts +18 -0
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -0
- package/build-types/components/visual-editor/index.d.ts +10 -0
- package/build-types/components/visual-editor/index.d.ts.map +1 -0
- package/build-types/components/word-count/index.d.ts +7 -0
- package/build-types/components/word-count/index.d.ts.map +1 -0
- package/build-types/dataviews/actions/delete-post.d.ts +5 -0
- package/build-types/dataviews/actions/delete-post.d.ts.map +1 -0
- package/build-types/dataviews/actions/export-pattern.d.ts +8 -0
- package/build-types/dataviews/actions/export-pattern.d.ts.map +1 -0
- package/build-types/dataviews/actions/index.d.ts +2 -0
- package/build-types/dataviews/actions/index.d.ts.map +1 -0
- package/build-types/dataviews/actions/reset-post.d.ts +5 -0
- package/build-types/dataviews/actions/reset-post.d.ts.map +1 -0
- package/build-types/dataviews/actions/utils.d.ts +11 -0
- package/build-types/dataviews/actions/utils.d.ts.map +1 -0
- package/build-types/dataviews/api.d.ts +27 -0
- package/build-types/dataviews/api.d.ts.map +1 -0
- package/build-types/dataviews/store/private-actions.d.ts +2 -2
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
- package/build-types/dataviews/store/private-selectors.d.ts +2 -5
- package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
- package/build-types/dataviews/store/reducer.d.ts +5 -1
- package/build-types/dataviews/store/reducer.d.ts.map +1 -1
- package/build-types/dataviews/types.d.ts +34 -0
- package/build-types/dataviews/types.d.ts.map +1 -0
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +10 -0
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -0
- package/build-types/hooks/default-autocompleters.d.ts +2 -0
- package/build-types/hooks/default-autocompleters.d.ts.map +1 -0
- package/build-types/hooks/index.d.ts +2 -0
- package/build-types/hooks/index.d.ts.map +1 -0
- package/build-types/hooks/media-upload.d.ts +2 -0
- package/build-types/hooks/media-upload.d.ts.map +1 -0
- package/build-types/hooks/pattern-overrides.d.ts +2 -0
- package/build-types/hooks/pattern-overrides.d.ts.map +1 -0
- package/build-types/hooks/use-select-nearest-editable-block.d.ts +4 -0
- package/build-types/hooks/use-select-nearest-editable-block.d.ts.map +1 -0
- package/build-types/index.d.ts +6 -0
- package/build-types/index.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +3 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/private-apis.d.ts +2 -0
- package/build-types/private-apis.d.ts.map +1 -0
- package/build-types/store/actions.d.ts +367 -0
- package/build-types/store/actions.d.ts.map +1 -0
- package/build-types/store/constants.d.ts +31 -0
- package/build-types/store/constants.d.ts.map +1 -0
- package/build-types/store/defaults.d.ts +21 -0
- package/build-types/store/defaults.d.ts.map +1 -0
- package/build-types/store/index.d.ts +17 -0
- package/build-types/store/index.d.ts.map +1 -0
- package/build-types/store/local-autosave.d.ts +4 -0
- package/build-types/store/local-autosave.d.ts.map +1 -0
- package/build-types/store/private-actions.d.ts +37 -0
- package/build-types/store/private-actions.d.ts.map +1 -0
- package/build-types/store/private-selectors.d.ts +24 -0
- package/build-types/store/private-selectors.d.ts.map +1 -0
- package/build-types/store/reducer.d.ts +228 -0
- package/build-types/store/reducer.d.ts.map +1 -0
- package/build-types/store/selectors.d.ts +854 -0
- package/build-types/store/selectors.d.ts.map +1 -0
- package/build-types/store/utils/get-filtered-template-parts.d.ts +3 -0
- package/build-types/store/utils/get-filtered-template-parts.d.ts.map +1 -0
- package/build-types/store/utils/is-template-revertable.d.ts +8 -0
- package/build-types/store/utils/is-template-revertable.d.ts.map +1 -0
- package/build-types/store/utils/notice-builder.d.ts +27 -0
- package/build-types/store/utils/notice-builder.d.ts.map +1 -0
- package/build-types/utils/get-template-part-icon.d.ts +9 -0
- package/build-types/utils/get-template-part-icon.d.ts.map +1 -0
- package/build-types/utils/index.d.ts +5 -0
- package/build-types/utils/index.d.ts.map +1 -0
- package/build-types/utils/media-upload/index.d.ts +21 -0
- package/build-types/utils/media-upload/index.d.ts.map +1 -0
- package/build-types/utils/set-nested-value.d.ts +20 -0
- package/build-types/utils/set-nested-value.d.ts.map +1 -0
- package/build-types/utils/terms.d.ts +12 -0
- package/build-types/utils/terms.d.ts.map +1 -0
- package/build-types/utils/url.d.ts +18 -0
- package/build-types/utils/url.d.ts.map +1 -0
- package/package.json +36 -35
- package/src/bindings/pattern-overrides.js +9 -10
- package/src/bindings/post-meta.js +5 -0
- package/src/components/editor-interface/index.js +17 -12
- package/src/components/entities-saved-states/index.js +1 -1
- package/src/components/inserter-sidebar/index.js +4 -24
- package/src/components/list-view-sidebar/index.js +34 -62
- package/src/components/list-view-sidebar/style.scss +0 -34
- package/src/components/page-attributes/parent.js +6 -3
- package/src/components/post-actions/actions.js +82 -277
- package/src/components/post-actions/index.js +1 -1
- package/src/components/post-excerpt/panel.js +1 -1
- package/src/components/post-featured-image/style.scss +15 -0
- package/src/components/post-panel-row/style.scss +1 -0
- package/src/components/post-preview-button/index.js +1 -1
- package/src/components/post-publish-panel/index.js +1 -1
- package/src/components/post-saved-state/index.js +11 -1
- package/src/components/post-schedule/index.js +5 -0
- package/src/components/post-status/index.js +1 -1
- package/src/components/post-taxonomies/README.md +1 -1
- package/src/components/post-title/index.js +5 -12
- package/src/components/preview-dropdown/index.js +1 -1
- package/src/components/provider/index.native.js +3 -11
- package/src/components/provider/use-block-editor-settings.js +10 -5
- package/src/components/save-publish-panels/index.js +33 -23
- package/src/components/sidebar/index.js +1 -3
- package/src/components/sidebar/post-summary.js +0 -2
- package/src/components/template-content-panel/index.js +29 -5
- package/src/components/visual-editor/index.js +1 -1
- package/src/components/visual-editor/style.scss +1 -1
- package/src/dataviews/actions/delete-post.tsx +107 -0
- package/src/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.tsx} +19 -19
- package/src/dataviews/actions/index.ts +25 -0
- package/src/dataviews/actions/reset-post.tsx +144 -0
- package/src/dataviews/actions/utils.ts +54 -0
- package/src/dataviews/store/private-actions.ts +2 -2
- package/src/dataviews/store/private-selectors.ts +13 -6
- package/src/dataviews/store/reducer.ts +12 -5
- package/src/dataviews/types.ts +33 -0
- package/src/hooks/pattern-overrides.js +4 -1
- package/src/private-apis.js +2 -0
- package/src/private-apis.native.js +0 -2
- package/src/store/private-actions.js +1 -6
- package/src/store/private-selectors.js +0 -25
- package/src/store/utils/is-template-revertable.js +8 -8
- package/src/style.scss +0 -1
- package/tsconfig.json +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/post-actions/export-pattern-action.js.map +0 -1
- package/build/components/post-actions/export-pattern-action.native.js +0 -11
- package/build/components/post-actions/export-pattern-action.native.js.map +0 -1
- package/build/components/template-areas/index.js +0 -84
- package/build/components/template-areas/index.js.map +0 -1
- package/build-module/components/post-actions/export-pattern-action.js.map +0 -1
- package/build-module/components/post-actions/export-pattern-action.native.js +0 -5
- package/build-module/components/post-actions/export-pattern-action.native.js.map +0 -1
- package/build-module/components/template-areas/index.js +0 -78
- package/build-module/components/template-areas/index.js.map +0 -1
- package/src/components/post-actions/export-pattern-action.native.js +0 -4
- package/src/components/template-areas/index.js +0 -94
- package/src/components/template-areas/style.scss +0 -22
- /package/src/store/{constants.js → constants.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["removeAccents","__","sprintf","Button","Dropdown","ComboboxControl","ExternalLink","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","PostPanelRow","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPostId","parentPostTitle","pageItems","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","size","variant","ParentRow","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","href"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {Component|null} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPostId, parentPostTitle, pageItems } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\tconst parentPost = pageId\n\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post parent.\n\t\t\taria-label={ sprintf( __( 'Change parent: %s' ), parentTitle ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\"Child pages inherit characteristics from their parent, such as URL structure. For instance, if 'Web Design' is a child of 'Services,' its URL would be mysite.com/services/web-design.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. '\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\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\t\t{ __( 'Learn more' ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["removeAccents","__","sprintf","Button","Dropdown","ComboboxControl","ExternalLink","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","PostPanelRow","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPostId","parentPostTitle","pageItems","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","size","variant","ParentRow","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","href"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {Component|null} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPostId, parentPostTitle, pageItems } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\tconst parentPost = pageId\n\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post parent.\n\t\t\taria-label={ sprintf( __( 'Change parent: %s' ), parentTitle ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: The domain name should be a reserved domain name to prevent linking to third party sites outside the WordPress project's control. You may also wish to use wordpress.org or a wordpress.org sub-domain. */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\"Child pages inherit characteristics from their parent, such as URL structure. For instance, if 'Web Design' is a child of 'Services', its URL would be example.org/services/web-design.\"\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<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. '\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\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\t\t{ __( 'Learn more' ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,8 @@ import { __, _n, sprintf, _x } from '@wordpress/i18n';
|
|
|
10
10
|
import { store as noticesStore } from '@wordpress/notices';
|
|
11
11
|
import { useMemo, useState } from '@wordpress/element';
|
|
12
12
|
import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
|
|
13
|
+
import { parse } from '@wordpress/blocks';
|
|
14
|
+
import { DataForm } from '@wordpress/dataviews';
|
|
13
15
|
import { Button, TextControl, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -18,9 +20,8 @@ import { Button, TextControl, __experimentalText as Text, __experimentalHStack a
|
|
|
18
20
|
import { TEMPLATE_ORIGINS, TEMPLATE_PART_POST_TYPE, TEMPLATE_POST_TYPE, PATTERN_POST_TYPE } from '../../store/constants';
|
|
19
21
|
import { store as editorStore } from '../../store';
|
|
20
22
|
import { unlock } from '../../lock-unlock';
|
|
21
|
-
import isTemplateRevertable from '../../store/utils/is-template-revertable';
|
|
22
|
-
import { exportPatternAsJSONAction } from './export-pattern-action';
|
|
23
23
|
import { CreateTemplatePartModalContents } from '../create-template-part-modal';
|
|
24
|
+
import { getItemTitle } from '../../dataviews/actions/utils';
|
|
24
25
|
|
|
25
26
|
// Patterns.
|
|
26
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -31,6 +32,20 @@ const {
|
|
|
31
32
|
useDuplicatePatternProps
|
|
32
33
|
} = unlock(patternsPrivateApis);
|
|
33
34
|
|
|
35
|
+
// TODO: this should be shared with other components (page-pages).
|
|
36
|
+
const fields = [{
|
|
37
|
+
type: 'text',
|
|
38
|
+
header: __('Title'),
|
|
39
|
+
id: 'title',
|
|
40
|
+
placeholder: __('No title'),
|
|
41
|
+
getValue: ({
|
|
42
|
+
item
|
|
43
|
+
}) => item.title
|
|
44
|
+
}];
|
|
45
|
+
const form = {
|
|
46
|
+
visibleFields: ['title']
|
|
47
|
+
};
|
|
48
|
+
|
|
34
49
|
/**
|
|
35
50
|
* Check if a template is removable.
|
|
36
51
|
*
|
|
@@ -44,82 +59,8 @@ function isTemplateRemovable(template) {
|
|
|
44
59
|
// In patterns list page we map the templates parts to a different object
|
|
45
60
|
// than the one returned from the endpoint. This is why we need to check for
|
|
46
61
|
// two props whether is custom or has a theme file.
|
|
47
|
-
return
|
|
48
|
-
}
|
|
49
|
-
const canDeleteOrReset = item => {
|
|
50
|
-
const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
|
|
51
|
-
const isUserPattern = item.type === PATTERN_TYPES.user;
|
|
52
|
-
return isUserPattern || isTemplatePart && item.isCustom;
|
|
53
|
-
};
|
|
54
|
-
function getItemTitle(item) {
|
|
55
|
-
if (typeof item.title === 'string') {
|
|
56
|
-
return decodeEntities(item.title);
|
|
57
|
-
}
|
|
58
|
-
return decodeEntities(item.title?.rendered || '');
|
|
62
|
+
return template?.source === TEMPLATE_ORIGINS.custom && !template?.has_theme_file;
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
// This action is used for templates, patterns and template parts.
|
|
62
|
-
// Every other post type uses the similar `trashPostAction` which
|
|
63
|
-
// moves the post to trash.
|
|
64
|
-
const deletePostAction = {
|
|
65
|
-
id: 'delete-post',
|
|
66
|
-
label: __('Delete'),
|
|
67
|
-
isPrimary: true,
|
|
68
|
-
icon: trash,
|
|
69
|
-
isEligible(post) {
|
|
70
|
-
if ([TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE].includes(post.type)) {
|
|
71
|
-
return isTemplateRemovable(post);
|
|
72
|
-
}
|
|
73
|
-
// We can only remove user patterns.
|
|
74
|
-
return post.type === PATTERN_TYPES.user;
|
|
75
|
-
},
|
|
76
|
-
supportsBulk: true,
|
|
77
|
-
hideModalHeader: true,
|
|
78
|
-
RenderModal: ({
|
|
79
|
-
items,
|
|
80
|
-
closeModal,
|
|
81
|
-
onActionPerformed
|
|
82
|
-
}) => {
|
|
83
|
-
const [isBusy, setIsBusy] = useState(false);
|
|
84
|
-
const {
|
|
85
|
-
removeTemplates
|
|
86
|
-
} = unlock(useDispatch(editorStore));
|
|
87
|
-
return /*#__PURE__*/_jsxs(VStack, {
|
|
88
|
-
spacing: "5",
|
|
89
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
90
|
-
children: items.length > 1 ? sprintf(
|
|
91
|
-
// translators: %d: number of items to delete.
|
|
92
|
-
_n('Delete %d item?', 'Delete %d items?', items.length), items.length) : sprintf(
|
|
93
|
-
// translators: %s: The template or template part's titles
|
|
94
|
-
__('Delete "%s"?'), getItemTitle(items[0]))
|
|
95
|
-
}), /*#__PURE__*/_jsxs(HStack, {
|
|
96
|
-
justify: "right",
|
|
97
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
98
|
-
variant: "tertiary",
|
|
99
|
-
onClick: closeModal,
|
|
100
|
-
disabled: isBusy,
|
|
101
|
-
__experimentalIsFocusable: true,
|
|
102
|
-
children: __('Cancel')
|
|
103
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
104
|
-
variant: "primary",
|
|
105
|
-
onClick: async () => {
|
|
106
|
-
setIsBusy(true);
|
|
107
|
-
await removeTemplates(items, {
|
|
108
|
-
allowUndo: false
|
|
109
|
-
});
|
|
110
|
-
onActionPerformed?.(items);
|
|
111
|
-
setIsBusy(false);
|
|
112
|
-
closeModal();
|
|
113
|
-
},
|
|
114
|
-
isBusy: isBusy,
|
|
115
|
-
disabled: isBusy,
|
|
116
|
-
__experimentalIsFocusable: true,
|
|
117
|
-
children: __('Delete')
|
|
118
|
-
})]
|
|
119
|
-
})]
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
64
|
const trashPostAction = {
|
|
124
65
|
id: 'move-to-trash',
|
|
125
66
|
label: __('Move to Trash'),
|
|
@@ -157,7 +98,7 @@ const trashPostAction = {
|
|
|
157
98
|
variant: "tertiary",
|
|
158
99
|
onClick: closeModal,
|
|
159
100
|
disabled: isBusy,
|
|
160
|
-
|
|
101
|
+
accessibleWhenDisabled: true,
|
|
161
102
|
children: __('Cancel')
|
|
162
103
|
}), /*#__PURE__*/_jsx(Button, {
|
|
163
104
|
variant: "primary",
|
|
@@ -174,12 +115,9 @@ const trashPostAction = {
|
|
|
174
115
|
if (promiseResult.length === 1) {
|
|
175
116
|
successMessage = sprintf( /* translators: The item's title. */
|
|
176
117
|
__('"%s" moved to trash.'), getItemTitle(items[0]));
|
|
177
|
-
} else if (items[0].type === 'page') {
|
|
178
|
-
successMessage = sprintf( /* translators: The number of items. */
|
|
179
|
-
__('%s items moved to trash.'), items.length);
|
|
180
118
|
} else {
|
|
181
|
-
successMessage = sprintf( /* translators: The number of
|
|
182
|
-
|
|
119
|
+
successMessage = sprintf( /* translators: The number of items. */
|
|
120
|
+
_n('%s item moved to trash.', '%s items moved to trash.', items.length), items.length);
|
|
183
121
|
}
|
|
184
122
|
createSuccessNotice(successMessage, {
|
|
185
123
|
type: 'snackbar',
|
|
@@ -228,7 +166,7 @@ const trashPostAction = {
|
|
|
228
166
|
},
|
|
229
167
|
isBusy: isBusy,
|
|
230
168
|
disabled: isBusy,
|
|
231
|
-
|
|
169
|
+
accessibleWhenDisabled: true,
|
|
232
170
|
children: __('Trash')
|
|
233
171
|
})]
|
|
234
172
|
})]
|
|
@@ -257,7 +195,8 @@ const permanentlyDeletePostAction = {
|
|
|
257
195
|
return status === 'trash';
|
|
258
196
|
},
|
|
259
197
|
async callback(posts, {
|
|
260
|
-
registry
|
|
198
|
+
registry,
|
|
199
|
+
onActionPerformed
|
|
261
200
|
}) {
|
|
262
201
|
const {
|
|
263
202
|
createSuccessNotice,
|
|
@@ -288,6 +227,7 @@ const permanentlyDeletePostAction = {
|
|
|
288
227
|
type: 'snackbar',
|
|
289
228
|
id: 'permanently-delete-post-action'
|
|
290
229
|
});
|
|
230
|
+
onActionPerformed?.(posts);
|
|
291
231
|
} else {
|
|
292
232
|
// If there was at lease one failure.
|
|
293
233
|
let errorMessage;
|
|
@@ -492,8 +432,8 @@ const renamePostAction = {
|
|
|
492
432
|
// In patterns list page we map the templates parts to a different object
|
|
493
433
|
// than the one returned from the endpoint. This is why we need to check for
|
|
494
434
|
// two props whether is custom or has a theme file.
|
|
495
|
-
const isCustomPattern = isUserPattern || isTemplatePart &&
|
|
496
|
-
const hasThemeFile =
|
|
435
|
+
const isCustomPattern = isUserPattern || isTemplatePart && post.source === TEMPLATE_ORIGINS.custom;
|
|
436
|
+
const hasThemeFile = post?.has_theme_file;
|
|
497
437
|
return isCustomPattern && !hasThemeFile;
|
|
498
438
|
},
|
|
499
439
|
RenderModal: ({
|
|
@@ -502,8 +442,7 @@ const renamePostAction = {
|
|
|
502
442
|
onActionPerformed
|
|
503
443
|
}) => {
|
|
504
444
|
const [item] = items;
|
|
505
|
-
const
|
|
506
|
-
const [title, setTitle] = useState(() => originalTitle);
|
|
445
|
+
const [title, setTitle] = useState(() => getItemTitle(item));
|
|
507
446
|
const {
|
|
508
447
|
editEntityRecord,
|
|
509
448
|
saveEditedEntityRecord
|
|
@@ -596,10 +535,12 @@ const useDuplicatePostAction = postType => {
|
|
|
596
535
|
closeModal,
|
|
597
536
|
onActionPerformed
|
|
598
537
|
}) => {
|
|
599
|
-
const [item] =
|
|
538
|
+
const [item, setItem] = useState({
|
|
539
|
+
...items[0],
|
|
540
|
+
title: sprintf( /* translators: %s: Existing template title */
|
|
541
|
+
__('%s (Copy)'), getItemTitle(items[0]))
|
|
542
|
+
});
|
|
600
543
|
const [isCreatingPage, setIsCreatingPage] = useState(false);
|
|
601
|
-
const [title, setTitle] = useState(sprintf( /* translators: %s: Existing item title */
|
|
602
|
-
__('%s (Copy)'), getItemTitle(item)));
|
|
603
544
|
const {
|
|
604
545
|
saveEntityRecord
|
|
605
546
|
} = useDispatch(coreStore);
|
|
@@ -614,8 +555,8 @@ const useDuplicatePostAction = postType => {
|
|
|
614
555
|
}
|
|
615
556
|
const newItemOject = {
|
|
616
557
|
status: 'draft',
|
|
617
|
-
title,
|
|
618
|
-
slug: title || __('No title'),
|
|
558
|
+
title: item.title,
|
|
559
|
+
slug: item.title || __('No title'),
|
|
619
560
|
comment_status: item.comment_status,
|
|
620
561
|
content: typeof item.content === 'string' ? item.content : item.content.raw,
|
|
621
562
|
excerpt: item.excerpt.raw,
|
|
@@ -644,7 +585,7 @@ const useDuplicatePostAction = postType => {
|
|
|
644
585
|
});
|
|
645
586
|
createSuccessNotice(sprintf(
|
|
646
587
|
// translators: %s: Title of the created template e.g: "Category".
|
|
647
|
-
__('"%s" successfully created.'), decodeEntities(newItem.title?.rendered || title)), {
|
|
588
|
+
__('"%s" successfully created.'), decodeEntities(newItem.title?.rendered || item.title)), {
|
|
648
589
|
id: 'duplicate-post-action',
|
|
649
590
|
type: 'snackbar'
|
|
650
591
|
});
|
|
@@ -665,23 +606,25 @@ const useDuplicatePostAction = postType => {
|
|
|
665
606
|
onSubmit: createPage,
|
|
666
607
|
children: /*#__PURE__*/_jsxs(VStack, {
|
|
667
608
|
spacing: 3,
|
|
668
|
-
children: [/*#__PURE__*/_jsx(
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
609
|
+
children: [/*#__PURE__*/_jsx(DataForm, {
|
|
610
|
+
data: item,
|
|
611
|
+
fields: fields,
|
|
612
|
+
form: form,
|
|
613
|
+
onChange: setItem
|
|
673
614
|
}), /*#__PURE__*/_jsxs(HStack, {
|
|
674
615
|
spacing: 2,
|
|
675
616
|
justify: "end",
|
|
676
617
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
677
618
|
variant: "tertiary",
|
|
678
619
|
onClick: closeModal,
|
|
620
|
+
__next40pxDefaultSize: true,
|
|
679
621
|
children: __('Cancel')
|
|
680
622
|
}), /*#__PURE__*/_jsx(Button, {
|
|
681
623
|
variant: "primary",
|
|
682
624
|
type: "submit",
|
|
683
625
|
isBusy: isCreatingPage,
|
|
684
626
|
"aria-disabled": isCreatingPage,
|
|
627
|
+
__next40pxDefaultSize: true,
|
|
685
628
|
children: _x('Duplicate', 'action label')
|
|
686
629
|
})]
|
|
687
630
|
})]
|
|
@@ -690,102 +633,6 @@ const useDuplicatePostAction = postType => {
|
|
|
690
633
|
}
|
|
691
634
|
}, [userCanCreatePost]);
|
|
692
635
|
};
|
|
693
|
-
const isTemplatePartRevertable = item => {
|
|
694
|
-
if (!item) {
|
|
695
|
-
return false;
|
|
696
|
-
}
|
|
697
|
-
const hasThemeFile = item.templatePart?.has_theme_file;
|
|
698
|
-
return canDeleteOrReset(item) && hasThemeFile;
|
|
699
|
-
};
|
|
700
|
-
const resetTemplateAction = {
|
|
701
|
-
id: 'reset-template',
|
|
702
|
-
label: __('Reset'),
|
|
703
|
-
isEligible: item => {
|
|
704
|
-
return item.type === TEMPLATE_PART_POST_TYPE ? isTemplatePartRevertable(item) : isTemplateRevertable(item);
|
|
705
|
-
},
|
|
706
|
-
icon: backup,
|
|
707
|
-
supportsBulk: true,
|
|
708
|
-
hideModalHeader: true,
|
|
709
|
-
RenderModal: ({
|
|
710
|
-
items,
|
|
711
|
-
closeModal,
|
|
712
|
-
onActionPerformed
|
|
713
|
-
}) => {
|
|
714
|
-
const [isBusy, setIsBusy] = useState(false);
|
|
715
|
-
const {
|
|
716
|
-
revertTemplate,
|
|
717
|
-
removeTemplates
|
|
718
|
-
} = unlock(useDispatch(editorStore));
|
|
719
|
-
const {
|
|
720
|
-
saveEditedEntityRecord
|
|
721
|
-
} = useDispatch(coreStore);
|
|
722
|
-
const {
|
|
723
|
-
createSuccessNotice,
|
|
724
|
-
createErrorNotice
|
|
725
|
-
} = useDispatch(noticesStore);
|
|
726
|
-
const onConfirm = async () => {
|
|
727
|
-
try {
|
|
728
|
-
if (items[0].type === TEMPLATE_PART_POST_TYPE) {
|
|
729
|
-
await removeTemplates(items);
|
|
730
|
-
} else {
|
|
731
|
-
for (const template of items) {
|
|
732
|
-
if (template.type === TEMPLATE_POST_TYPE) {
|
|
733
|
-
await revertTemplate(template, {
|
|
734
|
-
allowUndo: false
|
|
735
|
-
});
|
|
736
|
-
await saveEditedEntityRecord('postType', template.type, template.id);
|
|
737
|
-
}
|
|
738
|
-
}
|
|
739
|
-
createSuccessNotice(items.length > 1 ? sprintf( /* translators: The number of items. */
|
|
740
|
-
__('%s items reset.'), items.length) : sprintf( /* translators: The template/part's name. */
|
|
741
|
-
__('"%s" reset.'), decodeEntities(getItemTitle(items[0]))), {
|
|
742
|
-
type: 'snackbar',
|
|
743
|
-
id: 'revert-template-action'
|
|
744
|
-
});
|
|
745
|
-
}
|
|
746
|
-
} catch (error) {
|
|
747
|
-
let fallbackErrorMessage;
|
|
748
|
-
if (items[0].type === TEMPLATE_POST_TYPE) {
|
|
749
|
-
fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template.') : __('An error occurred while reverting the templates.');
|
|
750
|
-
} else {
|
|
751
|
-
fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template part.') : __('An error occurred while reverting the template parts.');
|
|
752
|
-
}
|
|
753
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
|
|
754
|
-
createErrorNotice(errorMessage, {
|
|
755
|
-
type: 'snackbar'
|
|
756
|
-
});
|
|
757
|
-
}
|
|
758
|
-
};
|
|
759
|
-
return /*#__PURE__*/_jsxs(VStack, {
|
|
760
|
-
spacing: "5",
|
|
761
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
762
|
-
children: __('Reset to default and clear all customizations?')
|
|
763
|
-
}), /*#__PURE__*/_jsxs(HStack, {
|
|
764
|
-
justify: "right",
|
|
765
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
766
|
-
variant: "tertiary",
|
|
767
|
-
onClick: closeModal,
|
|
768
|
-
disabled: isBusy,
|
|
769
|
-
__experimentalIsFocusable: true,
|
|
770
|
-
children: __('Cancel')
|
|
771
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
772
|
-
variant: "primary",
|
|
773
|
-
onClick: async () => {
|
|
774
|
-
setIsBusy(true);
|
|
775
|
-
await onConfirm(items);
|
|
776
|
-
onActionPerformed?.(items);
|
|
777
|
-
setIsBusy(false);
|
|
778
|
-
closeModal();
|
|
779
|
-
},
|
|
780
|
-
isBusy: isBusy,
|
|
781
|
-
disabled: isBusy,
|
|
782
|
-
__experimentalIsFocusable: true,
|
|
783
|
-
children: __('Reset')
|
|
784
|
-
})]
|
|
785
|
-
})]
|
|
786
|
-
});
|
|
787
|
-
}
|
|
788
|
-
};
|
|
789
636
|
export const duplicatePatternAction = {
|
|
790
637
|
id: 'duplicate-pattern',
|
|
791
638
|
label: _x('Duplicate', 'action label'),
|
|
@@ -796,9 +643,8 @@ export const duplicatePatternAction = {
|
|
|
796
643
|
closeModal
|
|
797
644
|
}) => {
|
|
798
645
|
const [item] = items;
|
|
799
|
-
const isThemePattern = item.type === PATTERN_TYPES.theme;
|
|
800
646
|
const duplicatedProps = useDuplicatePatternProps({
|
|
801
|
-
pattern:
|
|
647
|
+
pattern: item,
|
|
802
648
|
onSuccess: () => closeModal()
|
|
803
649
|
});
|
|
804
650
|
return /*#__PURE__*/_jsx(CreatePatternModalContents, {
|
|
@@ -818,23 +664,29 @@ export const duplicateTemplatePartAction = {
|
|
|
818
664
|
closeModal
|
|
819
665
|
}) => {
|
|
820
666
|
const [item] = items;
|
|
667
|
+
const blocks = useMemo(() => {
|
|
668
|
+
var _item$blocks;
|
|
669
|
+
return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : parse(item.content.raw, {
|
|
670
|
+
__unstableSkipMigrationLogs: true
|
|
671
|
+
});
|
|
672
|
+
}, [item?.content?.raw, item.blocks]);
|
|
821
673
|
const {
|
|
822
674
|
createSuccessNotice
|
|
823
675
|
} = useDispatch(noticesStore);
|
|
824
676
|
function onTemplatePartSuccess() {
|
|
825
677
|
createSuccessNotice(sprintf(
|
|
826
678
|
// translators: %s: The new template part's title e.g. 'Call to action (copy)'.
|
|
827
|
-
__('"%s" duplicated.'), item
|
|
679
|
+
__('"%s" duplicated.'), getItemTitle(item)), {
|
|
828
680
|
type: 'snackbar',
|
|
829
681
|
id: 'edit-site-patterns-success'
|
|
830
682
|
});
|
|
831
683
|
closeModal();
|
|
832
684
|
}
|
|
833
685
|
return /*#__PURE__*/_jsx(CreateTemplatePartModalContents, {
|
|
834
|
-
blocks:
|
|
835
|
-
defaultArea: item.
|
|
686
|
+
blocks: blocks,
|
|
687
|
+
defaultArea: item.area,
|
|
836
688
|
defaultTitle: sprintf( /* translators: %s: Existing template part title */
|
|
837
|
-
__('%s (Copy)'), item
|
|
689
|
+
__('%s (Copy)'), getItemTitle(item)),
|
|
838
690
|
onCreate: onTemplatePartSuccess,
|
|
839
691
|
onError: closeModal,
|
|
840
692
|
confirmLabel: _x('Duplicate', 'action label')
|
|
@@ -885,7 +737,7 @@ export function usePostActions({
|
|
|
885
737
|
if (!isLoaded) {
|
|
886
738
|
return [];
|
|
887
739
|
}
|
|
888
|
-
let actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && userCanCreatePostType && duplicateTemplatePartAction, isPattern && userCanCreatePostType && duplicatePatternAction, supportsTitle && renamePostActionForPostType,
|
|
740
|
+
let actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && userCanCreatePostType && duplicateTemplatePartAction, isPattern && userCanCreatePostType && duplicatePatternAction, supportsTitle && renamePostActionForPostType, !isTemplateOrTemplatePart && restorePostActionForPostType, !isTemplateOrTemplatePart && !isPattern && trashPostActionForPostType, !isTemplateOrTemplatePart && permanentlyDeletePostActionForPostType, ...defaultActions].filter(Boolean);
|
|
889
741
|
// Filter actions based on provided context. If not provided
|
|
890
742
|
// all actions are returned. We'll have a single entry for getting the actions
|
|
891
743
|
// and the consumer should provide the context to filter the actions, if needed.
|
|
@@ -904,14 +756,15 @@ export function usePostActions({
|
|
|
904
756
|
const existingCallback = actions[i].callback;
|
|
905
757
|
actions[i] = {
|
|
906
758
|
...actions[i],
|
|
907
|
-
callback: (items, {
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
759
|
+
callback: (items, argsObject) => {
|
|
760
|
+
existingCallback(items, {
|
|
761
|
+
...argsObject,
|
|
762
|
+
onActionPerformed: _items => {
|
|
763
|
+
if (argsObject.onActionPerformed) {
|
|
764
|
+
argsObject.onActionPerformed(_items);
|
|
765
|
+
}
|
|
766
|
+
onActionPerformed(actions[i].id, _items);
|
|
913
767
|
}
|
|
914
|
-
onActionPerformed(actions[i].id, _items);
|
|
915
768
|
});
|
|
916
769
|
}
|
|
917
770
|
};
|