@wordpress/editor 14.3.0 → 14.5.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 +8 -0
- package/README.md +2 -1
- package/build/bindings/api.js +65 -0
- package/build/bindings/api.js.map +1 -0
- package/build/bindings/pattern-overrides.js +23 -13
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +35 -12
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js +4 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build/components/blog-title/index.js +7 -3
- package/build/components/blog-title/index.js.map +1 -1
- package/build/components/collapsible-block-toolbar/index.js +2 -3
- package/build/components/collapsible-block-toolbar/index.js.map +1 -1
- package/build/components/commands/index.js +8 -2
- package/build/components/commands/index.js.map +1 -1
- package/build/components/document-bar/index.js +1 -1
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +15 -3
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/back-button.js +7 -8
- package/build/components/header/back-button.js.map +1 -1
- package/build/components/header/index.js +21 -20
- package/build/components/header/index.js.map +1 -1
- package/build/components/page-attributes/order.js +1 -67
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/panel.js +1 -4
- package/build/components/page-attributes/panel.js.map +1 -1
- package/build/components/page-attributes/parent.js +6 -2
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-actions/actions.js +131 -344
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +16 -6
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-author/hook.js +10 -3
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-author/panel.js +2 -1
- package/build/components/post-author/panel.js.map +1 -1
- package/build/components/post-card-panel/index.js +9 -3
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-comments/index.js +6 -20
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-content-information/index.js +7 -1
- package/build/components/post-content-information/index.js.map +1 -1
- package/build/components/post-discussion/panel.js +2 -2
- package/build/components/post-discussion/panel.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-featured-image/index.js +3 -1
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-last-revision/index.js +2 -1
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +4 -11
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +4 -1
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +2 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-status/index.js +47 -51
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +17 -6
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +7 -1
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-template/block-theme.js +4 -4
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js +8 -2
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js +3 -0
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/post-template/create-new-template.js +4 -1
- package/build/components/post-template/create-new-template.js.map +1 -1
- package/build/components/post-template/hooks.js +5 -1
- package/build/components/post-template/hooks.js.map +1 -1
- package/build/components/post-template/panel.js +8 -2
- package/build/components/post-template/panel.js.map +1 -1
- package/build/components/post-trash/check.js +6 -4
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-url/panel.js +9 -4
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/posts-per-page/index.js +6 -2
- package/build/components/posts-per-page/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +82 -17
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +14 -18
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +15 -6
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/save-publish-panels/index.js +1 -2
- package/build/components/save-publish-panels/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -9
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/site-discussion/index.js +12 -22
- package/build/components/site-discussion/index.js.map +1 -1
- package/build/components/template-content-panel/index.js +17 -15
- package/build/components/template-content-panel/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +4 -4
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/visual-editor/index.js +7 -3
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/{hooks → components/visual-editor}/use-select-nearest-editable-block.js +1 -1
- package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -0
- package/build/dataviews/actions/delete-post.js +2 -0
- package/build/dataviews/actions/delete-post.js.map +1 -1
- package/build/dataviews/actions/export-pattern.native.js +9 -0
- package/build/dataviews/actions/export-pattern.native.js.map +1 -0
- package/build/dataviews/actions/permanently-delete-post.js +107 -0
- package/build/dataviews/actions/permanently-delete-post.js.map +1 -0
- package/build/dataviews/actions/restore-post.js +112 -0
- package/build/dataviews/actions/restore-post.js.map +1 -0
- package/build/dataviews/actions/trash-post.js +142 -0
- package/build/dataviews/actions/trash-post.js.map +1 -0
- package/build/dataviews/store/private-actions.js +45 -0
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/dataviews/store/private-selectors.js +10 -10
- package/build/dataviews/store/private-selectors.js.map +1 -1
- package/build/dataviews/store/reducer.js +15 -1
- package/build/dataviews/store/reducer.js.map +1 -1
- package/build/dataviews/types.js.map +1 -1
- package/build/hooks/pattern-overrides.js +1 -1
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/index.js +0 -1
- package/build/index.js.map +1 -1
- package/build/private-apis.js +3 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +16 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +8 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +33 -2
- package/build/store/private-selectors.js.map +1 -1
- package/build/utils/media-upload/index.js +35 -2
- package/build/utils/media-upload/index.js.map +1 -1
- package/build-module/bindings/api.js +57 -0
- package/build-module/bindings/api.js.map +1 -0
- package/build-module/bindings/pattern-overrides.js +23 -13
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +35 -12
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +4 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/blog-title/index.js +7 -3
- package/build-module/components/blog-title/index.js.map +1 -1
- package/build-module/components/collapsible-block-toolbar/index.js +1 -2
- package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
- package/build-module/components/commands/index.js +8 -2
- package/build-module/components/commands/index.js.map +1 -1
- package/build-module/components/document-bar/index.js +1 -1
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +15 -3
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/back-button.js +5 -7
- package/build-module/components/header/back-button.js.map +1 -1
- package/build-module/components/header/index.js +21 -22
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/page-attributes/order.js +4 -70
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/panel.js +1 -6
- package/build-module/components/page-attributes/panel.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +7 -3
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-actions/actions.js +137 -350
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +16 -6
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/hook.js +10 -3
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-author/panel.js +2 -1
- package/build-module/components/post-author/panel.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +9 -3
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-comments/index.js +8 -24
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-content-information/index.js +7 -1
- package/build-module/components/post-content-information/index.js.map +1 -1
- package/build-module/components/post-discussion/panel.js +3 -3
- package/build-module/components/post-discussion/panel.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-featured-image/index.js +3 -1
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +2 -1
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +4 -11
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +4 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +2 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-status/index.js +49 -53
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +17 -6
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +7 -1
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +4 -4
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +8 -2
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +3 -0
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/create-new-template.js +4 -1
- package/build-module/components/post-template/create-new-template.js.map +1 -1
- package/build-module/components/post-template/hooks.js +5 -1
- package/build-module/components/post-template/hooks.js.map +1 -1
- package/build-module/components/post-template/panel.js +8 -2
- package/build-module/components/post-template/panel.js.map +1 -1
- package/build-module/components/post-trash/check.js +6 -4
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-url/panel.js +10 -7
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/posts-per-page/index.js +6 -2
- package/build-module/components/posts-per-page/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +84 -19
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +15 -19
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +15 -6
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +1 -2
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -9
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/site-discussion/index.js +14 -24
- package/build-module/components/site-discussion/index.js.map +1 -1
- package/build-module/components/template-content-panel/index.js +18 -16
- package/build-module/components/template-content-panel/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +4 -4
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/visual-editor/index.js +7 -3
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/{hooks → components/visual-editor}/use-select-nearest-editable-block.js +1 -1
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -0
- package/build-module/dataviews/actions/delete-post.js +2 -0
- package/build-module/dataviews/actions/delete-post.js.map +1 -1
- package/build-module/dataviews/actions/export-pattern.native.js +3 -0
- package/build-module/dataviews/actions/export-pattern.native.js.map +1 -0
- package/build-module/dataviews/actions/permanently-delete-post.js +99 -0
- package/build-module/dataviews/actions/permanently-delete-post.js.map +1 -0
- package/build-module/dataviews/actions/restore-post.js +104 -0
- package/build-module/dataviews/actions/restore-post.js.map +1 -0
- package/build-module/dataviews/actions/trash-post.js +135 -0
- package/build-module/dataviews/actions/trash-post.js.map +1 -0
- package/build-module/dataviews/store/private-actions.js +40 -0
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/dataviews/store/private-selectors.js +8 -9
- package/build-module/dataviews/store/private-selectors.js.map +1 -1
- package/build-module/dataviews/store/reducer.js +15 -1
- package/build-module/dataviews/store/reducer.js.map +1 -1
- package/build-module/dataviews/types.js.map +1 -1
- package/build-module/hooks/pattern-overrides.js +1 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/index.js +0 -1
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +3 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +16 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +8 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +32 -2
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/utils/media-upload/index.js +36 -3
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-style/style-rtl.css +97 -45
- package/build-style/style.css +97 -45
- package/build-types/bindings/api.d.ts +25 -0
- package/build-types/bindings/api.d.ts.map +1 -0
- package/build-types/bindings/pattern-overrides.d.ts +5 -6
- package/build-types/bindings/pattern-overrides.d.ts.map +1 -1
- package/build-types/bindings/post-meta.d.ts +11 -7
- package/build-types/bindings/post-meta.d.ts.map +1 -1
- package/build-types/components/autocompleters/user.d.ts +2 -2
- package/build-types/components/autocompleters/user.d.ts.map +1 -1
- package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -1
- package/build-types/components/blog-title/index.d.ts.map +1 -1
- package/build-types/components/collapsible-block-toolbar/index.d.ts +1 -2
- package/build-types/components/collapsible-block-toolbar/index.d.ts.map +1 -1
- package/build-types/components/commands/index.d.ts.map +1 -1
- package/build-types/components/document-bar/index.d.ts.map +1 -1
- package/build-types/components/document-outline/check.d.ts.map +1 -1
- package/build-types/components/document-outline/index.d.ts.map +1 -1
- package/build-types/components/editor-history/redo.d.ts +1 -1
- package/build-types/components/editor-history/undo.d.ts +1 -1
- package/build-types/components/editor-notices/index.d.ts.map +1 -1
- package/build-types/components/editor-snackbars/index.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
- package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
- package/build-types/components/header/back-button.d.ts +1 -0
- package/build-types/components/header/back-button.d.ts.map +1 -1
- package/build-types/components/header/index.d.ts.map +1 -1
- package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -1
- package/build-types/components/media-categories/index.d.ts.map +1 -1
- package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -1
- package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
- package/build-types/components/page-attributes/check.d.ts.map +1 -1
- package/build-types/components/page-attributes/order.d.ts +1 -1
- package/build-types/components/page-attributes/order.d.ts.map +1 -1
- package/build-types/components/page-attributes/panel.d.ts.map +1 -1
- package/build-types/components/page-attributes/parent.d.ts.map +1 -1
- package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -1
- package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -1
- package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -1
- package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -1
- package/build-types/components/plugin-sidebar/index.d.ts.map +1 -1
- package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -1
- package/build-types/components/post-actions/actions.d.ts.map +1 -1
- package/build-types/components/post-actions/index.d.ts.map +1 -1
- package/build-types/components/post-author/check.d.ts.map +1 -1
- package/build-types/components/post-author/hook.d.ts +1 -1
- package/build-types/components/post-author/hook.d.ts.map +1 -1
- package/build-types/components/post-author/index.d.ts.map +1 -1
- package/build-types/components/post-author/panel.d.ts.map +1 -1
- package/build-types/components/post-card-panel/index.d.ts.map +1 -1
- package/build-types/components/post-comments/index.d.ts.map +1 -1
- package/build-types/components/post-content-information/index.d.ts.map +1 -1
- package/build-types/components/post-discussion/panel.d.ts.map +1 -1
- package/build-types/components/post-excerpt/check.d.ts.map +1 -1
- package/build-types/components/post-excerpt/index.d.ts.map +1 -1
- package/build-types/components/post-excerpt/panel.d.ts.map +1 -1
- package/build-types/components/post-excerpt/plugin.d.ts.map +1 -1
- package/build-types/components/post-featured-image/check.d.ts.map +1 -1
- package/build-types/components/post-featured-image/panel.d.ts.map +1 -1
- package/build-types/components/post-format/index.d.ts.map +1 -1
- package/build-types/components/post-format/panel.d.ts.map +1 -1
- package/build-types/components/post-last-revision/check.d.ts.map +1 -1
- package/build-types/components/post-last-revision/index.d.ts.map +1 -1
- package/build-types/components/post-last-revision/panel.d.ts.map +1 -1
- package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
- package/build-types/components/post-pending-status/check.d.ts.map +1 -1
- package/build-types/components/post-pending-status/index.d.ts.map +1 -1
- package/build-types/components/post-preview-button/index.d.ts.map +1 -1
- package/build-types/components/post-publish-button/index.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -1
- package/build-types/components/post-saved-state/index.d.ts +1 -1
- package/build-types/components/post-saved-state/index.d.ts.map +1 -1
- package/build-types/components/post-schedule/check.d.ts.map +1 -1
- package/build-types/components/post-schedule/index.d.ts.map +1 -1
- package/build-types/components/post-schedule/label.d.ts.map +1 -1
- package/build-types/components/post-schedule/panel.d.ts.map +1 -1
- package/build-types/components/post-slug/check.d.ts.map +1 -1
- package/build-types/components/post-slug/index.d.ts.map +1 -1
- package/build-types/components/post-status/index.d.ts +2 -1
- package/build-types/components/post-status/index.d.ts.map +1 -1
- package/build-types/components/post-sticky/check.d.ts.map +1 -1
- package/build-types/components/post-sticky/index.d.ts.map +1 -1
- package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -1
- package/build-types/components/post-sync-status/index.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/check.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/flat-term-selector.d.ts +9 -7
- package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +13 -11
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/index.d.ts.map +1 -1
- package/build-types/components/post-template/block-theme.d.ts.map +1 -1
- package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
- package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -1
- package/build-types/components/post-template/create-new-template.d.ts.map +1 -1
- package/build-types/components/post-template/hooks.d.ts.map +1 -1
- package/build-types/components/post-template/panel.d.ts.map +1 -1
- package/build-types/components/post-text-editor/index.d.ts.map +1 -1
- package/build-types/components/post-trash/check.d.ts.map +1 -1
- package/build-types/components/post-trash/index.d.ts.map +1 -1
- package/build-types/components/post-type-support-check/index.d.ts.map +1 -1
- package/build-types/components/post-url/check.d.ts.map +1 -1
- package/build-types/components/post-url/index.d.ts.map +1 -1
- package/build-types/components/post-url/label.d.ts.map +1 -1
- package/build-types/components/post-url/panel.d.ts.map +1 -1
- package/build-types/components/post-visibility/check.d.ts.map +1 -1
- package/build-types/components/post-visibility/index.d.ts.map +1 -1
- package/build-types/components/posts-per-page/index.d.ts.map +1 -1
- package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -1
- package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
- package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
- package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
- package/build-types/components/sidebar/index.d.ts.map +1 -1
- package/build-types/components/site-discussion/index.d.ts.map +1 -1
- package/build-types/components/template-content-panel/index.d.ts +1 -3
- package/build-types/components/template-content-panel/index.d.ts.map +1 -1
- package/build-types/components/theme-support-check/index.d.ts.map +1 -1
- package/build-types/components/time-to-read/index.d.ts.map +1 -1
- package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts +1 -1
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
- package/build-types/components/visual-editor/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/use-select-nearest-editable-block.d.ts.map +1 -0
- package/build-types/components/word-count/index.d.ts.map +1 -1
- package/build-types/dataviews/actions/delete-post.d.ts.map +1 -1
- package/build-types/dataviews/actions/export-pattern.native.d.ts +3 -0
- package/build-types/dataviews/actions/export-pattern.native.d.ts.map +1 -0
- package/build-types/dataviews/actions/permanently-delete-post.d.ts +5 -0
- package/build-types/dataviews/actions/permanently-delete-post.d.ts.map +1 -0
- package/build-types/dataviews/actions/restore-post.d.ts +5 -0
- package/build-types/dataviews/actions/restore-post.d.ts.map +1 -0
- package/build-types/dataviews/actions/trash-post.d.ts +5 -0
- package/build-types/dataviews/actions/trash-post.d.ts.map +1 -0
- package/build-types/dataviews/api.d.ts +1 -1
- package/build-types/dataviews/api.d.ts.map +1 -1
- package/build-types/dataviews/store/private-actions.d.ts +8 -3
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
- package/build-types/dataviews/store/private-selectors.d.ts +2 -2
- package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
- package/build-types/dataviews/store/reducer.d.ts +4 -1
- package/build-types/dataviews/store/reducer.d.ts.map +1 -1
- package/build-types/dataviews/types.d.ts +9 -0
- package/build-types/dataviews/types.d.ts.map +1 -1
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +1 -1
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -1
- package/build-types/hooks/pattern-overrides.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/store/actions.d.ts.map +1 -1
- package/build-types/store/private-actions.d.ts.map +1 -1
- package/build-types/store/private-selectors.d.ts +11 -0
- package/build-types/store/private-selectors.d.ts.map +1 -1
- package/build-types/store/reducer.d.ts +1 -0
- package/build-types/store/reducer.d.ts.map +1 -1
- package/build-types/store/selectors.d.ts +0 -1
- package/build-types/store/selectors.d.ts.map +1 -1
- package/build-types/utils/media-upload/index.d.ts.map +1 -1
- package/package.json +38 -37
- package/src/bindings/api.js +57 -0
- package/src/bindings/pattern-overrides.js +28 -17
- package/src/bindings/post-meta.js +39 -14
- package/src/components/block-settings-menu/content-only-settings-menu.js +4 -4
- package/src/components/blog-title/index.js +8 -3
- package/src/components/collapsible-block-toolbar/index.js +1 -3
- package/src/components/collapsible-block-toolbar/style.scss +0 -3
- package/src/components/commands/index.js +4 -2
- package/src/components/document-bar/index.js +1 -1
- package/src/components/document-bar/style.scss +2 -6
- package/src/components/document-tools/style.scss +4 -4
- package/src/components/editor-interface/style.scss +9 -0
- package/src/components/global-styles-provider/index.js +22 -11
- package/src/components/header/back-button.js +6 -6
- package/src/components/header/index.js +27 -27
- package/src/components/header/style.scss +64 -21
- package/src/components/inserter-sidebar/style.scss +1 -6
- package/src/components/list-view-sidebar/style.scss +4 -0
- package/src/components/page-attributes/order.js +3 -77
- package/src/components/page-attributes/panel.js +1 -7
- package/src/components/page-attributes/parent.js +25 -7
- package/src/components/post-actions/actions.js +158 -463
- package/src/components/post-actions/index.js +19 -7
- package/src/components/post-author/hook.js +11 -3
- package/src/components/post-author/panel.js +3 -1
- package/src/components/post-card-panel/index.js +9 -3
- package/src/components/post-comments/index.js +8 -21
- package/src/components/post-content-information/index.js +7 -1
- package/src/components/post-discussion/panel.js +5 -3
- package/src/components/post-excerpt/panel.js +2 -1
- package/src/components/post-featured-image/index.js +5 -1
- package/src/components/post-last-revision/index.js +1 -0
- package/src/components/post-panel-row/style.scss +0 -1
- package/src/components/post-publish-button/index.js +4 -17
- package/src/components/post-publish-panel/maybe-category-panel.js +4 -1
- package/src/components/post-publish-panel/maybe-tags-panel.js +1 -1
- package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
- package/src/components/post-status/index.js +29 -51
- package/src/components/post-taxonomies/flat-term-selector.js +19 -5
- package/src/components/post-taxonomies/index.js +8 -1
- package/src/components/post-template/block-theme.js +5 -1
- package/src/components/post-template/classic-theme.js +8 -3
- package/src/components/post-template/create-new-template-modal.js +7 -1
- package/src/components/post-template/create-new-template.js +4 -1
- package/src/components/post-template/hooks.js +8 -2
- package/src/components/post-template/panel.js +10 -2
- package/src/components/post-trash/check.js +9 -5
- package/src/components/post-url/panel.js +15 -4
- package/src/components/posts-per-page/index.js +7 -2
- package/src/components/preview-dropdown/index.js +113 -35
- package/src/components/preview-dropdown/style.scss +5 -0
- package/src/components/provider/disable-non-page-content-blocks.js +27 -24
- package/src/components/provider/use-block-editor-settings.js +15 -6
- package/src/components/save-publish-panels/index.js +1 -4
- package/src/components/sidebar/index.js +2 -5
- package/src/components/site-discussion/index.js +15 -22
- package/src/components/template-content-panel/index.js +37 -21
- package/src/components/visual-editor/edit-template-blocks-notification.js +5 -1
- package/src/components/visual-editor/index.js +13 -8
- package/src/components/visual-editor/style.scss +1 -4
- package/src/{hooks → components/visual-editor}/use-select-nearest-editable-block.js +1 -1
- package/src/dataviews/actions/delete-post.tsx +2 -0
- package/src/dataviews/actions/export-pattern.native.tsx +3 -0
- package/src/dataviews/actions/permanently-delete-post.tsx +116 -0
- package/src/dataviews/actions/restore-post.tsx +134 -0
- package/src/dataviews/actions/trash-post.tsx +196 -0
- package/src/dataviews/store/private-actions.ts +68 -0
- package/src/dataviews/store/private-selectors.ts +9 -17
- package/src/dataviews/store/reducer.ts +20 -1
- package/src/dataviews/types.ts +11 -0
- package/src/hooks/pattern-overrides.js +1 -1
- package/src/index.js +0 -1
- package/src/private-apis.js +6 -2
- package/src/store/actions.js +36 -13
- package/src/store/private-actions.js +8 -4
- package/src/store/private-selectors.js +45 -2
- package/src/store/test/actions.js +9 -3
- package/src/store/test/private-selectors.js +78 -0
- package/src/utils/media-upload/index.js +38 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/bindings/index.js +0 -22
- package/build/bindings/index.js.map +0 -1
- package/build/dataviews/actions/index.js +0 -32
- package/build/dataviews/actions/index.js.map +0 -1
- package/build/hooks/use-select-nearest-editable-block.js.map +0 -1
- package/build/store/utils/get-filtered-template-parts.js +0 -71
- package/build/store/utils/get-filtered-template-parts.js.map +0 -1
- package/build/utils/set-nested-value.js +0 -44
- package/build/utils/set-nested-value.js.map +0 -1
- package/build-module/bindings/index.js +0 -17
- package/build-module/bindings/index.js.map +0 -1
- package/build-module/dataviews/actions/index.js +0 -24
- package/build-module/dataviews/actions/index.js.map +0 -1
- package/build-module/hooks/use-select-nearest-editable-block.js.map +0 -1
- package/build-module/store/utils/get-filtered-template-parts.js +0 -64
- package/build-module/store/utils/get-filtered-template-parts.js.map +0 -1
- package/build-module/utils/set-nested-value.js +0 -38
- package/build-module/utils/set-nested-value.js.map +0 -1
- package/build-types/bindings/index.d.ts +0 -2
- package/build-types/bindings/index.d.ts.map +0 -1
- package/build-types/dataviews/actions/index.d.ts +0 -2
- package/build-types/dataviews/actions/index.d.ts.map +0 -1
- package/build-types/hooks/use-select-nearest-editable-block.d.ts.map +0 -1
- package/build-types/store/utils/get-filtered-template-parts.d.ts +0 -3
- package/build-types/store/utils/get-filtered-template-parts.d.ts.map +0 -1
- package/build-types/utils/set-nested-value.d.ts +0 -20
- package/build-types/utils/set-nested-value.d.ts.map +0 -1
- package/src/bindings/index.js +0 -15
- package/src/components/document-outline/test/__snapshots__/index.js.snap +0 -111
- package/src/components/document-outline/test/index.js +0 -185
- package/src/dataviews/actions/index.ts +0 -25
- package/src/store/utils/get-filtered-template-parts.js +0 -69
- package/src/store/utils/test/get-filtered-template-parts.js +0 -189
- package/src/utils/set-nested-value.js +0 -39
- /package/build-types/{hooks → components/visual-editor}/use-select-nearest-editable-block.d.ts +0 -0
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* WordPress dependencies
|
|
3
8
|
*/
|
|
4
9
|
import { useViewportMatch } from '@wordpress/compose';
|
|
5
|
-
import { DropdownMenu, MenuGroup, MenuItem, VisuallyHidden, Icon } from '@wordpress/components';
|
|
10
|
+
import { DropdownMenu, MenuGroup, MenuItem, MenuItemsChoice, VisuallyHidden, Icon } from '@wordpress/components';
|
|
6
11
|
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import {
|
|
12
|
+
import { desktop, mobile, tablet, external } from '@wordpress/icons';
|
|
8
13
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
9
14
|
import { store as coreStore } from '@wordpress/core-data';
|
|
15
|
+
import { useEffect, useRef } from '@wordpress/element';
|
|
10
16
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
17
|
+
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
11
18
|
|
|
12
19
|
/**
|
|
13
20
|
* Internal dependencies
|
|
@@ -23,6 +30,7 @@ export default function PreviewDropdown({
|
|
|
23
30
|
}) {
|
|
24
31
|
const {
|
|
25
32
|
deviceType,
|
|
33
|
+
editorMode,
|
|
26
34
|
homeUrl,
|
|
27
35
|
isTemplate,
|
|
28
36
|
isViewable,
|
|
@@ -40,9 +48,13 @@ export default function PreviewDropdown({
|
|
|
40
48
|
const {
|
|
41
49
|
get
|
|
42
50
|
} = select(preferencesStore);
|
|
51
|
+
const {
|
|
52
|
+
__unstableGetEditorMode
|
|
53
|
+
} = select(blockEditorStore);
|
|
43
54
|
const _currentPostType = getCurrentPostType();
|
|
44
55
|
return {
|
|
45
56
|
deviceType: getDeviceType(),
|
|
57
|
+
editorMode: __unstableGetEditorMode(),
|
|
46
58
|
homeUrl: getUnstableBase()?.home,
|
|
47
59
|
isTemplate: _currentPostType === 'wp_template',
|
|
48
60
|
isViewable: (_getPostType$viewable = getPostType(_currentPostType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false,
|
|
@@ -52,6 +64,24 @@ export default function PreviewDropdown({
|
|
|
52
64
|
const {
|
|
53
65
|
setDeviceType
|
|
54
66
|
} = useDispatch(editorStore);
|
|
67
|
+
const {
|
|
68
|
+
__unstableSetEditorMode
|
|
69
|
+
} = useDispatch(blockEditorStore);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Save the original editing mode in a ref to restore it when we exit zoom out.
|
|
73
|
+
*/
|
|
74
|
+
const originalEditingMode = useRef(editorMode);
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (editorMode !== 'zoom-out') {
|
|
77
|
+
originalEditingMode.current = editorMode;
|
|
78
|
+
}
|
|
79
|
+
return () => {
|
|
80
|
+
if (editorMode === 'zoom-out' && editorMode !== originalEditingMode.current) {
|
|
81
|
+
__unstableSetEditorMode(originalEditingMode.current);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}, [editorMode, __unstableSetEditorMode]);
|
|
55
85
|
const isMobile = useViewportMatch('medium', '<');
|
|
56
86
|
if (isMobile) {
|
|
57
87
|
return null;
|
|
@@ -61,6 +91,7 @@ export default function PreviewDropdown({
|
|
|
61
91
|
};
|
|
62
92
|
const toggleProps = {
|
|
63
93
|
className: 'editor-preview-dropdown__toggle',
|
|
94
|
+
iconPosition: 'right',
|
|
64
95
|
size: 'compact',
|
|
65
96
|
showTooltip: !showIconLabels,
|
|
66
97
|
disabled,
|
|
@@ -70,35 +101,68 @@ export default function PreviewDropdown({
|
|
|
70
101
|
'aria-label': __('View options')
|
|
71
102
|
};
|
|
72
103
|
const deviceIcons = {
|
|
104
|
+
desktop,
|
|
73
105
|
mobile,
|
|
74
|
-
tablet
|
|
75
|
-
|
|
106
|
+
tablet
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* The choices for the device type.
|
|
111
|
+
*
|
|
112
|
+
* @type {Array}
|
|
113
|
+
*/
|
|
114
|
+
const choices = [{
|
|
115
|
+
value: 'Desktop',
|
|
116
|
+
label: __('Desktop'),
|
|
117
|
+
icon: desktop
|
|
118
|
+
}, {
|
|
119
|
+
value: 'ZoomOut',
|
|
120
|
+
label: __('Desktop (50%)'),
|
|
121
|
+
icon: desktop
|
|
122
|
+
}, {
|
|
123
|
+
value: 'Tablet',
|
|
124
|
+
label: __('Tablet'),
|
|
125
|
+
icon: tablet
|
|
126
|
+
}, {
|
|
127
|
+
value: 'Mobile',
|
|
128
|
+
label: __('Mobile'),
|
|
129
|
+
icon: mobile
|
|
130
|
+
}];
|
|
131
|
+
const previewValue = editorMode === 'zoom-out' ? 'ZoomOut' : deviceType;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Handles the selection of a device type.
|
|
135
|
+
*
|
|
136
|
+
* @param {string} value The device type.
|
|
137
|
+
*/
|
|
138
|
+
const onSelect = value => {
|
|
139
|
+
let newEditorMode = originalEditingMode.current;
|
|
140
|
+
if (value === 'ZoomOut') {
|
|
141
|
+
newEditorMode = 'zoom-out';
|
|
142
|
+
setDeviceType('Desktop');
|
|
143
|
+
} else {
|
|
144
|
+
setDeviceType(value);
|
|
145
|
+
}
|
|
146
|
+
__unstableSetEditorMode(newEditorMode);
|
|
76
147
|
};
|
|
77
148
|
return /*#__PURE__*/_jsx(DropdownMenu, {
|
|
78
|
-
className:
|
|
149
|
+
className: clsx('editor-preview-dropdown', `editor-preview-dropdown--${deviceType.toLowerCase()}`),
|
|
79
150
|
popoverProps: popoverProps,
|
|
80
151
|
toggleProps: toggleProps,
|
|
81
152
|
menuProps: menuProps,
|
|
82
153
|
icon: deviceIcons[deviceType.toLowerCase()],
|
|
154
|
+
text: editorMode === 'zoom-out' ? __('50%') : undefined,
|
|
83
155
|
label: __('View'),
|
|
84
156
|
disableOpenOnArrowDown: disabled,
|
|
85
157
|
children: ({
|
|
86
158
|
onClose
|
|
87
159
|
}) => /*#__PURE__*/_jsxs(_Fragment, {
|
|
88
|
-
children: [/*#__PURE__*/
|
|
89
|
-
children:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
})
|
|
94
|
-
onClick: () => setDeviceType('Tablet'),
|
|
95
|
-
icon: deviceType === 'Tablet' && check,
|
|
96
|
-
children: __('Tablet')
|
|
97
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
98
|
-
onClick: () => setDeviceType('Mobile'),
|
|
99
|
-
icon: deviceType === 'Mobile' && check,
|
|
100
|
-
children: __('Mobile')
|
|
101
|
-
})]
|
|
160
|
+
children: [/*#__PURE__*/_jsx(MenuGroup, {
|
|
161
|
+
children: /*#__PURE__*/_jsx(MenuItemsChoice, {
|
|
162
|
+
choices: choices,
|
|
163
|
+
value: previewValue,
|
|
164
|
+
onSelect: onSelect
|
|
165
|
+
})
|
|
102
166
|
}), isTemplate && /*#__PURE__*/_jsx(MenuGroup, {
|
|
103
167
|
children: /*#__PURE__*/_jsxs(MenuItem, {
|
|
104
168
|
href: homeUrl,
|
|
@@ -116,6 +180,7 @@ export default function PreviewDropdown({
|
|
|
116
180
|
className: "editor-preview-dropdown__button-external",
|
|
117
181
|
role: "menuitem",
|
|
118
182
|
forceIsAutosaveable: forceIsAutosaveable,
|
|
183
|
+
"aria-label": __('Preview in new tab'),
|
|
119
184
|
textContent: /*#__PURE__*/_jsxs(_Fragment, {
|
|
120
185
|
children: [__('Preview in new tab'), /*#__PURE__*/_jsx(Icon, {
|
|
121
186
|
icon: external
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useViewportMatch","DropdownMenu","MenuGroup","MenuItem","VisuallyHidden","Icon","__","check","desktop","mobile","tablet","external","useSelect","useDispatch","store","coreStore","preferencesStore","editorStore","PostPreviewButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getUnstableBase","getPostType","get","_currentPostType","home","viewable","setDeviceType","isMobile","popoverProps","placement","toggleProps","className","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","icon","toLowerCase","label","disableOpenOnArrowDown","children","onClose","onClick","href","target","as","role","textContent","onPreview"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check, desktop, mobile, tablet, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostPreviewButton from '../post-preview-button';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst { deviceType, homeUrl, isTemplate, isViewable, showIconLabels } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getDeviceType, getCurrentPostType } = select( editorStore );\n\t\t\tconst { getUnstableBase, getPostType } = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst _currentPostType = getCurrentPostType();\n\t\t\treturn {\n\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t};\n\t\t}, [] );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tmobile,\n\t\ttablet,\n\t\tdesktop,\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"editor-preview-dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Desktop' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Desktop' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Desktop' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Tablet' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Tablet' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Tablet' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Mobile' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Mobile' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Mobile' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\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\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useViewportMatch","DropdownMenu","MenuGroup","MenuItem","MenuItemsChoice","VisuallyHidden","Icon","__","desktop","mobile","tablet","external","useSelect","useDispatch","store","coreStore","useEffect","useRef","preferencesStore","blockEditorStore","editorStore","PostPreviewButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","editorMode","homeUrl","isTemplate","isViewable","showIconLabels","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getUnstableBase","getPostType","get","__unstableGetEditorMode","_currentPostType","home","viewable","setDeviceType","__unstableSetEditorMode","originalEditingMode","current","isMobile","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","choices","value","label","icon","previewValue","onSelect","newEditorMode","toLowerCase","text","undefined","disableOpenOnArrowDown","children","onClose","href","target","onClick","as","role","textContent","onPreview"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostPreviewButton from '../post-preview-button';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\teditorMode,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType } = select( editorStore );\n\t\tconst { getUnstableBase, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Save the original editing mode in a ref to restore it when we exit zoom out.\n\t */\n\tconst originalEditingMode = useRef( editorMode );\n\tuseEffect( () => {\n\t\tif ( editorMode !== 'zoom-out' ) {\n\t\t\toriginalEditingMode.current = editorMode;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\teditorMode === 'zoom-out' &&\n\t\t\t\teditorMode !== originalEditingMode.current\n\t\t\t) {\n\t\t\t\t__unstableSetEditorMode( originalEditingMode.current );\n\t\t\t}\n\t\t};\n\t}, [ editorMode, __unstableSetEditorMode ] );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'ZoomOut',\n\t\t\tlabel: __( 'Desktop (50%)' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\tconst previewValue = editorMode === 'zoom-out' ? 'ZoomOut' : deviceType;\n\n\t/**\n\t * Handles the selection of a device type.\n\t *\n\t * @param {string} value The device type.\n\t */\n\tconst onSelect = ( value ) => {\n\t\tlet newEditorMode = originalEditingMode.current;\n\n\t\tif ( value === 'ZoomOut' ) {\n\t\t\tnewEditorMode = 'zoom-out';\n\t\t\tsetDeviceType( 'Desktop' );\n\t\t} else {\n\t\t\tsetDeviceType( value );\n\t\t}\n\n\t\t__unstableSetEditorMode( newEditorMode );\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\ttext={ editorMode === 'zoom-out' ? __( '50%' ) : undefined }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ previewValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\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\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,41 +3,37 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect, useRegistry } from '@wordpress/data';
|
|
5
5
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
6
|
-
import { useEffect } from '@wordpress/element';
|
|
6
|
+
import { useEffect, useMemo } from '@wordpress/element';
|
|
7
7
|
import { applyFilters } from '@wordpress/hooks';
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { store as editorStore } from '../../store';
|
|
13
|
+
import { unlock } from '../../lock-unlock';
|
|
14
|
+
const POST_CONTENT_BLOCK_TYPES = ['core/post-title', 'core/post-featured-image', 'core/post-content'];
|
|
9
15
|
|
|
10
16
|
/**
|
|
11
17
|
* Component that when rendered, makes it so that the site editor allows only
|
|
12
18
|
* page content to be edited.
|
|
13
19
|
*/
|
|
14
20
|
export default function DisableNonPageContentBlocks() {
|
|
15
|
-
const
|
|
21
|
+
const contentOnlyBlockTypes = useMemo(() => [...applyFilters('editor.postContentBlockTypes', POST_CONTENT_BLOCK_TYPES), 'core/template-part'], []);
|
|
16
22
|
|
|
17
|
-
// Note that there are two separate
|
|
23
|
+
// Note that there are two separate subscriptions because the result for each
|
|
18
24
|
// returns a new array.
|
|
19
25
|
const contentOnlyIds = useSelect(select => {
|
|
20
26
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return getBlocksByName(contentOnlyBlocks).filter(clientId => getBlockParents(clientId).every(parentClientId => {
|
|
26
|
-
const parentBlockName = getBlockName(parentClientId);
|
|
27
|
-
return (
|
|
28
|
-
// Ignore descendents of the query block.
|
|
29
|
-
parentBlockName !== 'core/query' &&
|
|
30
|
-
// Enable only the top-most block.
|
|
31
|
-
!contentOnlyBlocks.includes(parentBlockName)
|
|
32
|
-
);
|
|
33
|
-
}));
|
|
34
|
-
}, []);
|
|
27
|
+
getPostBlocksByName
|
|
28
|
+
} = unlock(select(editorStore));
|
|
29
|
+
return getPostBlocksByName(contentOnlyBlockTypes);
|
|
30
|
+
}, [contentOnlyBlockTypes]);
|
|
35
31
|
const disabledIds = useSelect(select => {
|
|
36
32
|
const {
|
|
37
33
|
getBlocksByName,
|
|
38
34
|
getBlockOrder
|
|
39
35
|
} = select(blockEditorStore);
|
|
40
|
-
return getBlocksByName(
|
|
36
|
+
return getBlocksByName('core/template-part').flatMap(clientId => getBlockOrder(clientId));
|
|
41
37
|
}, []);
|
|
42
38
|
const registry = useRegistry();
|
|
43
39
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useRegistry","store","blockEditorStore","useEffect","
|
|
1
|
+
{"version":3,"names":["useSelect","useRegistry","store","blockEditorStore","useEffect","useMemo","applyFilters","editorStore","unlock","POST_CONTENT_BLOCK_TYPES","DisableNonPageContentBlocks","contentOnlyBlockTypes","contentOnlyIds","select","getPostBlocksByName","disabledIds","getBlocksByName","getBlockOrder","flatMap","clientId","registry","setBlockEditingMode","unsetBlockEditingMode","dispatch","batch"],"sources":["@wordpress/editor/src/components/provider/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POST_CONTENT_BLOCK_TYPES = [\n\t'core/post-title',\n\t'core/post-featured-image',\n\t'core/post-content',\n];\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tconst contentOnlyBlockTypes = useMemo(\n\t\t() => [\n\t\t\t...applyFilters(\n\t\t\t\t'editor.postContentBlockTypes',\n\t\t\t\tPOST_CONTENT_BLOCK_TYPES\n\t\t\t),\n\t\t\t'core/template-part',\n\t\t],\n\t\t[]\n\t);\n\n\t// Note that there are two separate subscriptions because the result for each\n\t// returns a new array.\n\tconst contentOnlyIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostBlocksByName } = unlock( select( editorStore ) );\n\t\t\treturn getPostBlocksByName( contentOnlyBlockTypes );\n\t\t},\n\t\t[ contentOnlyBlockTypes ]\n\t);\n\tconst disabledIds = useSelect( ( select ) => {\n\t\tconst { getBlocksByName, getBlockOrder } = select( blockEditorStore );\n\t\treturn getBlocksByName( 'core/template-part' ).flatMap( ( clientId ) =>\n\t\t\tgetBlockOrder( clientId )\n\t\t);\n\t}, [] );\n\n\tconst registry = useRegistry();\n\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( '', 'disabled' );\n\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'contentOnly' );\n\t\t\t}\n\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'disabled' );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tregistry.batch( () => {\n\t\t\t\tunsetBlockEditingMode( '' );\n\t\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t}, [ contentOnlyIds, disabledIds, registry ] );\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACvD,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;AAClD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAMC,wBAAwB,GAAG,CAChC,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,CACnB;;AAED;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACrD,MAAMC,qBAAqB,GAAGN,OAAO,CACpC,MAAM,CACL,GAAGC,YAAY,CACd,8BAA8B,EAC9BG,wBACD,CAAC,EACD,oBAAoB,CACpB,EACD,EACD,CAAC;;EAED;EACA;EACA,MAAMG,cAAc,GAAGZ,SAAS,CAC7Ba,MAAM,IAAM;IACb,MAAM;MAAEC;IAAoB,CAAC,GAAGN,MAAM,CAAEK,MAAM,CAAEN,WAAY,CAAE,CAAC;IAC/D,OAAOO,mBAAmB,CAAEH,qBAAsB,CAAC;EACpD,CAAC,EACD,CAAEA,qBAAqB,CACxB,CAAC;EACD,MAAMI,WAAW,GAAGf,SAAS,CAAIa,MAAM,IAAM;IAC5C,MAAM;MAAEG,eAAe;MAAEC;IAAc,CAAC,GAAGJ,MAAM,CAAEV,gBAAiB,CAAC;IACrE,OAAOa,eAAe,CAAE,oBAAqB,CAAC,CAACE,OAAO,CAAIC,QAAQ,IACjEF,aAAa,CAAEE,QAAS,CACzB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,QAAQ,GAAGnB,WAAW,CAAC,CAAC;EAE9BG,SAAS,CAAE,MAAM;IAChB,MAAM;MAAEiB,mBAAmB;MAAEC;IAAsB,CAAC,GACnDF,QAAQ,CAACG,QAAQ,CAAEpB,gBAAiB,CAAC;IAEtCiB,QAAQ,CAACI,KAAK,CAAE,MAAM;MACrBH,mBAAmB,CAAE,EAAE,EAAE,UAAW,CAAC;MACrC,KAAM,MAAMF,QAAQ,IAAIP,cAAc,EAAG;QACxCS,mBAAmB,CAAEF,QAAQ,EAAE,aAAc,CAAC;MAC/C;MACA,KAAM,MAAMA,QAAQ,IAAIJ,WAAW,EAAG;QACrCM,mBAAmB,CAAEF,QAAQ,EAAE,UAAW,CAAC;MAC5C;IACD,CAAE,CAAC;IAEH,OAAO,MAAM;MACZC,QAAQ,CAACI,KAAK,CAAE,MAAM;QACrBF,qBAAqB,CAAE,EAAG,CAAC;QAC3B,KAAM,MAAMH,QAAQ,IAAIP,cAAc,EAAG;UACxCU,qBAAqB,CAAEH,QAAS,CAAC;QAClC;QACA,KAAM,MAAMA,QAAQ,IAAIJ,WAAW,EAAG;UACrCO,qBAAqB,CAAEH,QAAS,CAAC;QAClC;MACD,CAAE,CAAC;IACJ,CAAC;EACF,CAAC,EAAE,CAAEP,cAAc,EAAEG,WAAW,EAAEK,QAAQ,CAAG,CAAC;EAE9C,OAAO,IAAI;AACZ","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ function __experimentalReusableBlocksSelect(select) {
|
|
|
26
26
|
per_page: -1
|
|
27
27
|
})) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : EMPTY_BLOCKS_LIST;
|
|
28
28
|
}
|
|
29
|
-
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'sectionRootClientId', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'
|
|
29
|
+
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'sectionRootClientId', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'];
|
|
30
30
|
const {
|
|
31
31
|
globalStylesDataKey,
|
|
32
32
|
globalStylesLinksDataKey,
|
|
@@ -82,7 +82,10 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
|
|
|
82
82
|
getBlocksByName,
|
|
83
83
|
getBlockAttributes
|
|
84
84
|
} = select(blockEditorStore);
|
|
85
|
-
const siteSettings = canUser('read',
|
|
85
|
+
const siteSettings = canUser('read', {
|
|
86
|
+
kind: 'root',
|
|
87
|
+
name: 'site'
|
|
88
|
+
}) ? getEntityRecord('root', 'site') : undefined;
|
|
86
89
|
function getSectionRootBlock() {
|
|
87
90
|
var _getBlocksByName$find;
|
|
88
91
|
if (renderingMode === 'template-locked') {
|
|
@@ -100,8 +103,14 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
|
|
|
100
103
|
hiddenBlockTypes: get('core', 'hiddenBlockTypes'),
|
|
101
104
|
isDistractionFree: get('core', 'distractionFree'),
|
|
102
105
|
keepCaretInsideBlock: get('core', 'keepCaretInsideBlock'),
|
|
103
|
-
hasUploadPermissions: (_canUser = canUser('create',
|
|
104
|
-
|
|
106
|
+
hasUploadPermissions: (_canUser = canUser('create', {
|
|
107
|
+
kind: 'root',
|
|
108
|
+
name: 'media'
|
|
109
|
+
})) !== null && _canUser !== void 0 ? _canUser : true,
|
|
110
|
+
userCanCreatePages: canUser('create', {
|
|
111
|
+
kind: 'postType',
|
|
112
|
+
name: 'page'
|
|
113
|
+
}),
|
|
105
114
|
pageOnFront: siteSettings?.page_on_front,
|
|
106
115
|
pageForPosts: siteSettings?.page_for_posts,
|
|
107
116
|
userPatternCategories: getUserPatternCategories(),
|
|
@@ -198,7 +207,7 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
|
|
|
198
207
|
__experimentalUndo: undo,
|
|
199
208
|
// Check whether we want all site editor frames to have outlines
|
|
200
209
|
// including the navigation / pattern / parts editors.
|
|
201
|
-
outlineMode: postType === 'wp_template',
|
|
210
|
+
outlineMode: !isDistractionFree && postType === 'wp_template',
|
|
202
211
|
// Check these two properties: they were not present in the site editor.
|
|
203
212
|
__experimentalCreatePageEntity: createPageEntity,
|
|
204
213
|
__experimentalUserCanCreatePages: userCanCreatePages,
|
|
@@ -213,7 +222,7 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
|
|
|
213
222
|
sectionRootClientId
|
|
214
223
|
});
|
|
215
224
|
return blockEditorSettings;
|
|
216
|
-
}, [allowedBlockTypes, allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened, sectionRootClientId, globalStylesData]);
|
|
225
|
+
}, [allowedBlockTypes, allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened, sectionRootClientId, globalStylesData, globalStylesLinksData]);
|
|
217
226
|
}
|
|
218
227
|
export default useBlockEditorSettings;
|
|
219
228
|
//# sourceMappingURL=use-block-editor-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","preferencesStore","useViewportMatch","blocksStore","privateApis","blockEditorStore","inserterMediaCategories","mediaUpload","editorStore","lock","unlock","useGlobalStylesContext","EMPTY_BLOCKS_LIST","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","_select$getEntityReco","getEntityRecords","per_page","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","getBlockTypes","getBlocksByName","getBlockAttributes","siteSettings","undefined","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","name","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","hasFinishedResolution","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\nimport { lock, unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_BLOCKS_LIST = [];\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\treturn (\n\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\tper_page: -1,\n\t\t} ) ?? EMPTY_BLOCKS_LIST\n\t);\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'sectionRootClientId',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t};\n\t\tlock( blockEditorSettings, {\n\t\t\tsectionRootClientId,\n\t\t} );\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","preferencesStore","useViewportMatch","blocksStore","privateApis","blockEditorStore","inserterMediaCategories","mediaUpload","editorStore","lock","unlock","useGlobalStylesContext","EMPTY_BLOCKS_LIST","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","_select$getEntityReco","getEntityRecords","per_page","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","getBlockTypes","getBlocksByName","getBlockAttributes","siteSettings","kind","name","undefined","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","hasFinishedResolution","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\nimport { lock, unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_BLOCKS_LIST = [];\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\treturn (\n\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\tper_page: -1,\n\t\t} ) ?? EMPTY_BLOCKS_LIST\n\t);\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'sectionRootClientId',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'root',\n\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t};\n\t\tlock( blockEditorSettings, {\n\t\t\tsectionRootClientId,\n\t\t} );\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,6 @@ import PostPublishPanel from '../post-publish-panel';
|
|
|
14
14
|
import PluginPrePublishPanel from '../plugin-pre-publish-panel';
|
|
15
15
|
import PluginPostPublishPanel from '../plugin-post-publish-panel';
|
|
16
16
|
import { store as editorStore } from '../../store';
|
|
17
|
-
import { unlock } from '../../lock-unlock';
|
|
18
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
18
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
19
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -46,7 +45,7 @@ export default function SavePublishPanels({
|
|
|
46
45
|
isEditedPostDirty,
|
|
47
46
|
hasNonPostEntityChanges
|
|
48
47
|
} = select(editorStore);
|
|
49
|
-
const _hasOtherEntitiesChanges = hasNonPostEntityChanges()
|
|
48
|
+
const _hasOtherEntitiesChanges = hasNonPostEntityChanges();
|
|
50
49
|
return {
|
|
51
50
|
publishSidebarOpened: isPublishSidebarOpened(),
|
|
52
51
|
isPublishable: !isCurrentPostPublished() && isEditedPostPublishable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","createSlotFill","__","useCallback","EntitiesSavedStates","PostPublishPanel","PluginPrePublishPanel","PluginPostPublishPanel","store","editorStore","
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","createSlotFill","__","useCallback","EntitiesSavedStates","PostPublishPanel","PluginPrePublishPanel","PluginPostPublishPanel","store","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Fill","Slot","ActionsPanelFill","SavePublishPanels","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","closePublishSidebar","togglePublishSidebar","publishSidebarOpened","isPublishable","isDirty","hasOtherEntitiesChanges","select","isPublishSidebarOpened","isEditedPostPublishable","isCurrentPostPublished","isEditedPostDirty","hasNonPostEntityChanges","_hasOtherEntitiesChanges","openEntitiesSavedStates","unmountableContent","onClose","forceIsDirty","PrePublishExtension","PostPublishExtension","className","children","variant","onClick","disabled","accessibleWhenDisabled","close","bubblesVirtually"],"sources":["@wordpress/editor/src/components/save-publish-panels/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, createSlotFill } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EntitiesSavedStates from '../entities-saved-states';\nimport PostPublishPanel from '../post-publish-panel';\nimport PluginPrePublishPanel from '../plugin-pre-publish-panel';\nimport PluginPostPublishPanel from '../plugin-post-publish-panel';\nimport { store as editorStore } from '../../store';\n\nconst { Fill, Slot } = createSlotFill( 'ActionsPanel' );\n\nexport const ActionsPanelFill = Fill;\n\nexport default function SavePublishPanels( {\n\tsetEntitiesSavedStatesCallback,\n\tcloseEntitiesSavedStates,\n\tisEntitiesSavedStatesOpen,\n\tforceIsDirtyPublishPanel,\n} ) {\n\tconst { closePublishSidebar, togglePublishSidebar } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tpublishSidebarOpened,\n\t\tisPublishable,\n\t\tisDirty,\n\t\thasOtherEntitiesChanges,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPublishSidebarOpened,\n\t\t\tisEditedPostPublishable,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostDirty,\n\t\t\thasNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst _hasOtherEntitiesChanges = hasNonPostEntityChanges();\n\t\treturn {\n\t\t\tpublishSidebarOpened: isPublishSidebarOpened(),\n\t\t\tisPublishable:\n\t\t\t\t! isCurrentPostPublished() && isEditedPostPublishable(),\n\t\t\tisDirty: _hasOtherEntitiesChanges || isEditedPostDirty(),\n\t\t\thasOtherEntitiesChanges: _hasOtherEntitiesChanges,\n\t\t};\n\t}, [] );\n\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setEntitiesSavedStatesCallback( true ),\n\t\t[]\n\t);\n\n\t// It is ok for these components to be unmounted when not in visual use.\n\t// We don't want more than one present at a time, decide which to render.\n\tlet unmountableContent;\n\tif ( publishSidebarOpened ) {\n\t\tunmountableContent = (\n\t\t\t<PostPublishPanel\n\t\t\t\tonClose={ closePublishSidebar }\n\t\t\t\tforceIsDirty={ forceIsDirtyPublishPanel }\n\t\t\t\tPrePublishExtension={ PluginPrePublishPanel.Slot }\n\t\t\t\tPostPublishExtension={ PluginPostPublishPanel.Slot }\n\t\t\t/>\n\t\t);\n\t} else if ( isPublishable && ! hasOtherEntitiesChanges ) {\n\t\tunmountableContent = (\n\t\t\t<div className=\"editor-layout__toggle-publish-panel\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tclassName=\"editor-layout__toggle-publish-panel-button\"\n\t\t\t\t\tonClick={ togglePublishSidebar }\n\t\t\t\t\taria-expanded={ false }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Open publish panel' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tunmountableContent = (\n\t\t\t<div className=\"editor-layout__toggle-entities-saved-states-panel\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tclassName=\"editor-layout__toggle-entities-saved-states-panel-button\"\n\t\t\t\t\tonClick={ openEntitiesSavedStates }\n\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\tdisabled={ ! isDirty }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Open save panel' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Since EntitiesSavedStates controls its own panel, we can keep it\n\t// always mounted to retain its own component state (such as checkboxes).\n\treturn (\n\t\t<>\n\t\t\t{ isEntitiesSavedStatesOpen && (\n\t\t\t\t<EntitiesSavedStates close={ closeEntitiesSavedStates } />\n\t\t\t) }\n\t\t\t<Slot bubblesVirtually />\n\t\t\t{ ! isEntitiesSavedStatesOpen && unmountableContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,7 +39,6 @@ const SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select({
|
|
|
39
39
|
const SidebarContent = ({
|
|
40
40
|
tabName,
|
|
41
41
|
keyboardShortcut,
|
|
42
|
-
renderingMode,
|
|
43
42
|
onActionPerformed,
|
|
44
43
|
extraPanels
|
|
45
44
|
}) => {
|
|
@@ -95,9 +94,7 @@ const SidebarContent = ({
|
|
|
95
94
|
focusable: false,
|
|
96
95
|
children: [/*#__PURE__*/_jsx(PostSummary, {
|
|
97
96
|
onActionPerformed: onActionPerformed
|
|
98
|
-
}), /*#__PURE__*/_jsx(PluginDocumentSettingPanel.Slot, {}), /*#__PURE__*/_jsx(TemplateContentPanel, {
|
|
99
|
-
renderingMode: renderingMode
|
|
100
|
-
}), /*#__PURE__*/_jsx(TemplatePartContentPanel, {}), /*#__PURE__*/_jsx(PostTransformPanel, {}), /*#__PURE__*/_jsx(PostTaxonomiesPanel, {}), /*#__PURE__*/_jsx(PatternOverridesPanel, {}), extraPanels]
|
|
97
|
+
}), /*#__PURE__*/_jsx(PluginDocumentSettingPanel.Slot, {}), /*#__PURE__*/_jsx(TemplateContentPanel, {}), /*#__PURE__*/_jsx(TemplatePartContentPanel, {}), /*#__PURE__*/_jsx(PostTransformPanel, {}), /*#__PURE__*/_jsx(PostTaxonomiesPanel, {}), /*#__PURE__*/_jsx(PatternOverridesPanel, {}), extraPanels]
|
|
101
98
|
}), /*#__PURE__*/_jsx(Tabs.TabPanel, {
|
|
102
99
|
tabId: sidebars.block,
|
|
103
100
|
focusable: false,
|
|
@@ -114,8 +111,7 @@ const Sidebar = ({
|
|
|
114
111
|
const {
|
|
115
112
|
tabName,
|
|
116
113
|
keyboardShortcut,
|
|
117
|
-
showSummary
|
|
118
|
-
renderingMode
|
|
114
|
+
showSummary
|
|
119
115
|
} = useSelect(select => {
|
|
120
116
|
const shortcut = select(keyboardShortcutsStore).getShortcutRepresentation('core/editor/toggle-sidebar');
|
|
121
117
|
const sidebar = select(interfaceStore).getActiveComplementaryArea('core');
|
|
@@ -127,8 +123,7 @@ const Sidebar = ({
|
|
|
127
123
|
return {
|
|
128
124
|
tabName: _tabName,
|
|
129
125
|
keyboardShortcut: shortcut,
|
|
130
|
-
showSummary: ![TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, NAVIGATION_POST_TYPE].includes(select(editorStore).getCurrentPostType())
|
|
131
|
-
renderingMode: select(editorStore).getRenderingMode()
|
|
126
|
+
showSummary: ![TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, NAVIGATION_POST_TYPE].includes(select(editorStore).getCurrentPostType())
|
|
132
127
|
};
|
|
133
128
|
}, []);
|
|
134
129
|
const {
|
|
@@ -147,7 +142,6 @@ const Sidebar = ({
|
|
|
147
142
|
tabName: tabName,
|
|
148
143
|
keyboardShortcut: keyboardShortcut,
|
|
149
144
|
showSummary: showSummary,
|
|
150
|
-
renderingMode: renderingMode,
|
|
151
145
|
onActionPerformed: onActionPerformed,
|
|
152
146
|
extraPanels: extraPanels
|
|
153
147
|
})
|