@wordpress/editor 14.17.1 → 14.19.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 +4 -0
- package/README.md +2 -0
- package/build/bindings/pattern-overrides.js +0 -1
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +0 -1
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/user.js +0 -1
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/block-removal-warnings/index.js +0 -1
- package/build/components/block-removal-warnings/index.js.map +1 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js +0 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build/components/collab-sidebar/comments.js +0 -1
- package/build/components/collab-sidebar/comments.js.map +1 -1
- package/build/components/collab-sidebar/index.js +0 -1
- package/build/components/collab-sidebar/index.js.map +1 -1
- package/build/components/collab-sidebar/utils.js +0 -1
- package/build/components/collab-sidebar/utils.js.map +1 -1
- package/build/components/deprecated.js +0 -1
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-outline/index.js +16 -17
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/editor/index.js +9 -5
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-help/index.native.js +0 -1
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-notices/index.js +0 -1
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +0 -1
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +2 -1
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +2 -2
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +0 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js +66 -43
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +0 -1
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +0 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +0 -1
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js +0 -1
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/mode-switcher/index.js +0 -1
- package/build/components/mode-switcher/index.js.map +1 -1
- package/build/components/page-attributes/parent.js +8 -5
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-actions/actions.js +0 -1
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +19 -29
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-author/check.js +3 -4
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/combobox.js +4 -2
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/hook.js +8 -5
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-card-panel/index.js +2 -2
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-featured-image/index.js +4 -2
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-fields/index.js +0 -1
- package/build/components/post-fields/index.js.map +1 -1
- package/build/components/post-format/index.js +0 -1
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-format/panel.js +0 -1
- package/build/components/post-format/panel.js.map +1 -1
- package/build/components/post-publish-button/index.js +0 -1
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +0 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +0 -1
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/media-util.js +0 -1
- package/build/components/post-publish-panel/media-util.js.map +1 -1
- package/build/components/post-saved-state/index.js +0 -1
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/index.js +0 -1
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +1 -1
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +2 -3
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -3
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +1 -2
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +0 -1
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-template/block-theme.js +68 -48
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js +30 -19
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js +3 -1
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/post-template/panel.js +3 -11
- package/build/components/post-template/panel.js.map +1 -1
- package/build/components/post-template/swap-template-button.js +0 -1
- package/build/components/post-template/swap-template-button.js.map +1 -1
- package/build/components/post-transform-panel/hooks.js +0 -1
- package/build/components/post-transform-panel/hooks.js.map +1 -1
- package/build/components/post-type-support-check/index.js +0 -1
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/preferences-modal/block-visibility.js +2 -2
- package/build/components/preferences-modal/block-visibility.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -2
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +6 -3
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +0 -1
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.js +19 -19
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +0 -1
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +0 -1
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/sidebar/header.js +1 -1
- package/build/components/sidebar/header.js.map +1 -1
- package/build/components/sidebar/index.js +1 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/start-page-options/index.js +148 -23
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/start-template-options/index.js +0 -1
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/template-part-content-panel/index.js +0 -1
- package/build/components/template-part-content-panel/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +0 -1
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/visual-editor/use-select-nearest-editable-block.js +0 -1
- package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build/dataviews/store/private-actions.js +0 -1
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/dataviews/store/reducer.js +0 -1
- package/build/dataviews/store/reducer.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +0 -1
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/pattern-overrides.js +0 -1
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/store/actions.js +0 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +29 -3
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +44 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +0 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js +0 -1
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +0 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-template-info.js +0 -1
- package/build/utils/get-template-info.js.map +1 -1
- package/build/utils/media-upload/index.js +5 -2
- package/build/utils/media-upload/index.js.map +1 -1
- package/build/utils/terms.js +0 -1
- package/build/utils/terms.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js +0 -1
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +0 -1
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/autocompleters/user.js +0 -1
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/block-removal-warnings/index.js +0 -1
- package/build-module/components/block-removal-warnings/index.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +0 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build-module/components/collab-sidebar/comments.js +0 -1
- package/build-module/components/collab-sidebar/comments.js.map +1 -1
- package/build-module/components/collab-sidebar/index.js +0 -1
- package/build-module/components/collab-sidebar/index.js.map +1 -1
- package/build-module/components/collab-sidebar/utils.js +0 -1
- package/build-module/components/collab-sidebar/utils.js.map +1 -1
- package/build-module/components/deprecated.js +0 -1
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-outline/index.js +17 -18
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/editor/index.js +9 -5
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +0 -1
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-notices/index.js +0 -1
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +0 -1
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +2 -1
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +2 -2
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +0 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +67 -44
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +0 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +0 -1
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/local-autosave-monitor/index.js +0 -1
- package/build-module/components/local-autosave-monitor/index.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +0 -1
- package/build-module/components/mode-switcher/index.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +8 -5
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-actions/actions.js +0 -1
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +19 -29
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/check.js +3 -4
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/combobox.js +4 -2
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/hook.js +8 -5
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +2 -2
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +4 -2
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-fields/index.js +0 -1
- package/build-module/components/post-fields/index.js.map +1 -1
- package/build-module/components/post-format/index.js +0 -1
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-format/panel.js +0 -1
- package/build-module/components/post-format/panel.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +0 -1
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js +0 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +0 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/media-util.js +0 -1
- package/build-module/components/post-publish-panel/media-util.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +0 -1
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/index.js +0 -1
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +1 -1
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +2 -3
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -3
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +1 -2
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +0 -1
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +68 -48
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +30 -19
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +3 -1
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/panel.js +3 -11
- package/build-module/components/post-template/panel.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js +0 -1
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-transform-panel/hooks.js +0 -1
- package/build-module/components/post-transform-panel/hooks.js.map +1 -1
- package/build-module/components/post-type-support-check/index.js +0 -1
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/preferences-modal/block-visibility.js +2 -2
- package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -2
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +6 -3
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +0 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.js +19 -19
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +0 -1
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +0 -1
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/sidebar/header.js +1 -1
- package/build-module/components/sidebar/header.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +148 -24
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +0 -1
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/template-part-content-panel/index.js +0 -1
- package/build-module/components/template-part-content-panel/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +0 -1
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js +0 -1
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build-module/dataviews/store/private-actions.js +0 -1
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/dataviews/store/reducer.js +0 -1
- package/build-module/dataviews/store/reducer.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +0 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/pattern-overrides.js +0 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/store/actions.js +0 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +25 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +43 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +0 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/reducer.native.js +0 -1
- package/build-module/store/reducer.native.js.map +1 -1
- package/build-module/store/selectors.js +0 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-template-info.js +0 -1
- package/build-module/utils/get-template-info.js.map +1 -1
- package/build-module/utils/media-upload/index.js +5 -2
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-module/utils/terms.js +0 -1
- package/build-module/utils/terms.js.map +1 -1
- package/build-style/style-rtl.css +49 -8
- package/build-style/style.css +49 -8
- package/build-types/components/document-outline/index.d.ts.map +1 -1
- package/build-types/components/editor/index.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/index.d.ts +6 -2
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
- package/build-types/components/page-attributes/parent.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/combobox.d.ts.map +1 -1
- package/build-types/components/post-author/hook.d.ts +1 -0
- package/build-types/components/post-author/hook.d.ts.map +1 -1
- package/build-types/components/post-card-panel/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-publish-panel/maybe-tags-panel.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.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/hooks.d.ts +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/preferences-modal/block-visibility.d.ts.map +1 -1
- package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/components/start-page-options/index.d.ts +2 -1
- package/build-types/components/start-page-options/index.d.ts.map +1 -1
- package/build-types/store/private-actions.d.ts +4 -0
- package/build-types/store/private-actions.d.ts.map +1 -1
- package/build-types/store/private-selectors.d.ts +13 -0
- package/build-types/store/private-selectors.d.ts.map +1 -1
- package/build-types/utils/media-upload/index.d.ts +3 -1
- package/build-types/utils/media-upload/index.d.ts.map +1 -1
- package/package.json +37 -37
- package/src/components/document-outline/index.js +22 -16
- package/src/components/editor/index.js +24 -13
- package/src/components/entities-saved-states/entity-record-item.js +1 -0
- package/src/components/entities-saved-states/entity-type-list.js +6 -2
- package/src/components/entities-saved-states/index.js +98 -58
- package/src/components/entities-saved-states/style.scss +40 -5
- package/src/components/page-attributes/parent.js +55 -38
- package/src/components/post-actions/index.js +19 -37
- package/src/components/post-author/check.js +7 -4
- package/src/components/post-author/combobox.js +3 -1
- package/src/components/post-author/hook.js +4 -3
- package/src/components/post-card-panel/index.js +7 -5
- package/src/components/post-featured-image/index.js +2 -0
- package/src/components/post-publish-panel/maybe-category-panel.js +6 -2
- package/src/components/post-publish-panel/maybe-tags-panel.js +5 -1
- package/src/components/post-taxonomies/check.js +5 -3
- package/src/components/post-taxonomies/flat-term-selector.js +2 -2
- package/src/components/post-taxonomies/hierarchical-term-selector.js +2 -2
- package/src/components/post-taxonomies/index.js +5 -1
- package/src/components/post-taxonomies/test/index.js +32 -18
- package/src/components/post-template/block-theme.js +76 -56
- package/src/components/post-template/classic-theme.js +31 -15
- package/src/components/post-template/create-new-template-modal.js +1 -0
- package/src/components/post-template/panel.js +2 -12
- package/src/components/post-text-editor/style.scss +0 -2
- package/src/components/preferences-modal/block-visibility.js +2 -1
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/preview-dropdown/index.js +8 -6
- package/src/components/provider/index.js +21 -30
- package/src/components/sidebar/header.js +1 -1
- package/src/components/sidebar/index.js +1 -1
- package/src/components/start-page-options/index.js +149 -23
- package/src/components/start-page-options/style.scss +27 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +1 -1
- package/src/store/private-actions.js +33 -0
- package/src/store/private-selectors.js +57 -0
- package/src/utils/media-upload/index.js +3 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -16,8 +16,12 @@ import { store as editorStore } from '../../store';
|
|
|
16
16
|
function MaybeCategoryPanel() {
|
|
17
17
|
const hasNoCategory = useSelect( ( select ) => {
|
|
18
18
|
const postType = select( editorStore ).getCurrentPostType();
|
|
19
|
-
const { canUser, getEntityRecord
|
|
20
|
-
const categoriesTaxonomy =
|
|
19
|
+
const { canUser, getEntityRecord } = select( coreStore );
|
|
20
|
+
const categoriesTaxonomy = getEntityRecord(
|
|
21
|
+
'root',
|
|
22
|
+
'taxonomy',
|
|
23
|
+
'category'
|
|
24
|
+
);
|
|
21
25
|
const defaultCategoryId = canUser( 'read', {
|
|
22
26
|
kind: 'root',
|
|
23
27
|
name: 'site',
|
|
@@ -36,7 +36,11 @@ const TagsPanel = () => {
|
|
|
36
36
|
const MaybeTagsPanel = () => {
|
|
37
37
|
const { hasTags, isPostTypeSupported } = useSelect( ( select ) => {
|
|
38
38
|
const postType = select( editorStore ).getCurrentPostType();
|
|
39
|
-
const tagsTaxonomy = select( coreStore ).
|
|
39
|
+
const tagsTaxonomy = select( coreStore ).getEntityRecord(
|
|
40
|
+
'root',
|
|
41
|
+
'taxonomy',
|
|
42
|
+
'post_tag'
|
|
43
|
+
);
|
|
40
44
|
const _isPostTypeSupported = tagsTaxonomy?.types?.includes( postType );
|
|
41
45
|
const areTagsFetched = tagsTaxonomy !== undefined;
|
|
42
46
|
const tags =
|
|
@@ -20,9 +20,11 @@ import { store as editorStore } from '../../store';
|
|
|
20
20
|
export default function PostTaxonomiesCheck( { children } ) {
|
|
21
21
|
const hasTaxonomies = useSelect( ( select ) => {
|
|
22
22
|
const postType = select( editorStore ).getCurrentPostType();
|
|
23
|
-
const taxonomies = select( coreStore ).
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const taxonomies = select( coreStore ).getEntityRecords(
|
|
24
|
+
'root',
|
|
25
|
+
'taxonomy',
|
|
26
|
+
{ per_page: -1 }
|
|
27
|
+
);
|
|
26
28
|
return taxonomies?.some( ( taxonomy ) =>
|
|
27
29
|
taxonomy.types.includes( postType )
|
|
28
30
|
);
|
|
@@ -100,10 +100,10 @@ export function FlatTermSelector( { slug, __nextHasNoMarginBottom } ) {
|
|
|
100
100
|
( select ) => {
|
|
101
101
|
const { getCurrentPost, getEditedPostAttribute } =
|
|
102
102
|
select( editorStore );
|
|
103
|
-
const { getEntityRecords,
|
|
103
|
+
const { getEntityRecords, getEntityRecord, hasFinishedResolution } =
|
|
104
104
|
select( coreStore );
|
|
105
105
|
const post = getCurrentPost();
|
|
106
|
-
const _taxonomy =
|
|
106
|
+
const _taxonomy = getEntityRecord( 'root', 'taxonomy', slug );
|
|
107
107
|
const _termIds = _taxonomy
|
|
108
108
|
? getEditedPostAttribute( _taxonomy.rest_base )
|
|
109
109
|
: EMPTY_ARRAY;
|
|
@@ -175,9 +175,9 @@ export function HierarchicalTermSelector( { slug } ) {
|
|
|
175
175
|
( select ) => {
|
|
176
176
|
const { getCurrentPost, getEditedPostAttribute } =
|
|
177
177
|
select( editorStore );
|
|
178
|
-
const {
|
|
178
|
+
const { getEntityRecord, getEntityRecords, isResolving } =
|
|
179
179
|
select( coreStore );
|
|
180
|
-
const _taxonomy =
|
|
180
|
+
const _taxonomy = getEntityRecord( 'root', 'taxonomy', slug );
|
|
181
181
|
const post = getCurrentPost();
|
|
182
182
|
|
|
183
183
|
return {
|
|
@@ -18,7 +18,11 @@ export function PostTaxonomies( { taxonomyWrapper = identity } ) {
|
|
|
18
18
|
const { postType, taxonomies } = useSelect( ( select ) => {
|
|
19
19
|
return {
|
|
20
20
|
postType: select( editorStore ).getCurrentPostType(),
|
|
21
|
-
taxonomies: select( coreStore ).
|
|
21
|
+
taxonomies: select( coreStore ).getEntityRecords(
|
|
22
|
+
'root',
|
|
23
|
+
'taxonomy',
|
|
24
|
+
{ per_page: -1 }
|
|
25
|
+
),
|
|
22
26
|
};
|
|
23
27
|
}, [] );
|
|
24
28
|
const visibleTaxonomies = ( taxonomies ?? [] ).filter(
|
|
@@ -44,6 +44,19 @@ describe( 'PostTaxonomies', () => {
|
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
const allTaxonomies = [ genresTaxonomy, categoriesTaxonomy ];
|
|
48
|
+
|
|
49
|
+
const hidesUI = [
|
|
50
|
+
genresTaxonomy,
|
|
51
|
+
{
|
|
52
|
+
...categoriesTaxonomy,
|
|
53
|
+
types: [ 'post', 'page', 'book' ],
|
|
54
|
+
visibility: {
|
|
55
|
+
show_ui: false,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
|
|
47
60
|
beforeEach( () => {
|
|
48
61
|
jest.spyOn( select( editorStore ), 'getCurrentPost' ).mockReturnValue( {
|
|
49
62
|
_links: {
|
|
@@ -70,8 +83,8 @@ describe( 'PostTaxonomies', () => {
|
|
|
70
83
|
},
|
|
71
84
|
} );
|
|
72
85
|
|
|
73
|
-
jest.spyOn( select( coreStore ), '
|
|
74
|
-
( slug ) => {
|
|
86
|
+
jest.spyOn( select( coreStore ), 'getEntityRecord' ).mockImplementation(
|
|
87
|
+
( kind, name, slug ) => {
|
|
75
88
|
switch ( slug ) {
|
|
76
89
|
case 'category': {
|
|
77
90
|
return categoriesTaxonomy;
|
|
@@ -91,8 +104,11 @@ describe( 'PostTaxonomies', () => {
|
|
|
91
104
|
select( editorStore ),
|
|
92
105
|
'getCurrentPostType'
|
|
93
106
|
).mockReturnValue( 'page' );
|
|
94
|
-
jest.spyOn(
|
|
95
|
-
|
|
107
|
+
jest.spyOn(
|
|
108
|
+
select( coreStore ),
|
|
109
|
+
'getEntityRecords'
|
|
110
|
+
).mockImplementation( ( kind, name ) =>
|
|
111
|
+
kind === 'root' && name === 'taxonomy' ? taxonomies : null
|
|
96
112
|
);
|
|
97
113
|
|
|
98
114
|
const { container } = render( <PostTaxonomies /> );
|
|
@@ -105,10 +121,12 @@ describe( 'PostTaxonomies', () => {
|
|
|
105
121
|
select( editorStore ),
|
|
106
122
|
'getCurrentPostType'
|
|
107
123
|
).mockReturnValue( 'book' );
|
|
108
|
-
jest.spyOn(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
124
|
+
jest.spyOn(
|
|
125
|
+
select( coreStore ),
|
|
126
|
+
'getEntityRecords'
|
|
127
|
+
).mockImplementation( ( kind, name ) =>
|
|
128
|
+
kind === 'root' && name === 'taxonomy' ? allTaxonomies : null
|
|
129
|
+
);
|
|
112
130
|
|
|
113
131
|
render( <PostTaxonomies /> );
|
|
114
132
|
|
|
@@ -129,16 +147,12 @@ describe( 'PostTaxonomies', () => {
|
|
|
129
147
|
select( editorStore ),
|
|
130
148
|
'getCurrentPostType'
|
|
131
149
|
).mockReturnValue( 'book' );
|
|
132
|
-
jest.spyOn(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
show_ui: false,
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
] );
|
|
150
|
+
jest.spyOn(
|
|
151
|
+
select( coreStore ),
|
|
152
|
+
'getEntityRecords'
|
|
153
|
+
).mockImplementation( ( kind, name ) =>
|
|
154
|
+
kind === 'root' && name === 'taxonomy' ? hidesUI : null
|
|
155
|
+
);
|
|
142
156
|
|
|
143
157
|
render( <PostTaxonomies /> );
|
|
144
158
|
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
5
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
6
6
|
import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
|
|
7
|
+
import { useState, useMemo } from '@wordpress/element';
|
|
7
8
|
import { __ } from '@wordpress/i18n';
|
|
8
9
|
import { useEntityRecord, store as coreStore } from '@wordpress/core-data';
|
|
9
10
|
import { check } from '@wordpress/icons';
|
|
10
11
|
import { store as noticesStore } from '@wordpress/notices';
|
|
11
12
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import PostPanelRow from '../post-panel-row';
|
|
18
|
+
|
|
13
19
|
/**
|
|
14
20
|
* Internal dependencies
|
|
15
21
|
*/
|
|
@@ -19,11 +25,6 @@ import ResetDefaultTemplate from './reset-default-template';
|
|
|
19
25
|
import { unlock } from '../../lock-unlock';
|
|
20
26
|
import CreateNewTemplate from './create-new-template';
|
|
21
27
|
|
|
22
|
-
const POPOVER_PROPS = {
|
|
23
|
-
className: 'editor-post-template__dropdown',
|
|
24
|
-
placement: 'bottom-start',
|
|
25
|
-
};
|
|
26
|
-
|
|
27
28
|
export default function BlockThemeControl( { id } ) {
|
|
28
29
|
const {
|
|
29
30
|
isTemplateHidden,
|
|
@@ -52,7 +53,9 @@ export default function BlockThemeControl( { id } ) {
|
|
|
52
53
|
id
|
|
53
54
|
);
|
|
54
55
|
const { createSuccessNotice } = useDispatch( noticesStore );
|
|
55
|
-
const { setRenderingMode } =
|
|
56
|
+
const { setRenderingMode, setDefaultRenderingMode } = unlock(
|
|
57
|
+
useDispatch( editorStore )
|
|
58
|
+
);
|
|
56
59
|
|
|
57
60
|
const canCreateTemplate = useSelect(
|
|
58
61
|
( select ) =>
|
|
@@ -63,6 +66,21 @@ export default function BlockThemeControl( { id } ) {
|
|
|
63
66
|
[]
|
|
64
67
|
);
|
|
65
68
|
|
|
69
|
+
const [ popoverAnchor, setPopoverAnchor ] = useState( null );
|
|
70
|
+
// Memoize popoverProps to avoid returning a new object every time.
|
|
71
|
+
const popoverProps = useMemo(
|
|
72
|
+
() => ( {
|
|
73
|
+
// Anchor the popover to the middle of the entire row so that it doesn't
|
|
74
|
+
// move around when the label changes.
|
|
75
|
+
anchor: popoverAnchor,
|
|
76
|
+
className: 'editor-post-template__dropdown',
|
|
77
|
+
placement: 'left-start',
|
|
78
|
+
offset: 36,
|
|
79
|
+
shift: true,
|
|
80
|
+
} ),
|
|
81
|
+
[ popoverAnchor ]
|
|
82
|
+
);
|
|
83
|
+
|
|
66
84
|
if ( ! hasResolved ) {
|
|
67
85
|
return null;
|
|
68
86
|
}
|
|
@@ -90,60 +108,62 @@ export default function BlockThemeControl( { id } ) {
|
|
|
90
108
|
}
|
|
91
109
|
};
|
|
92
110
|
return (
|
|
93
|
-
<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
111
|
+
<PostPanelRow label={ __( 'Template' ) } ref={ setPopoverAnchor }>
|
|
112
|
+
<DropdownMenu
|
|
113
|
+
popoverProps={ popoverProps }
|
|
114
|
+
focusOnMount
|
|
115
|
+
toggleProps={ {
|
|
116
|
+
size: 'compact',
|
|
117
|
+
variant: 'tertiary',
|
|
118
|
+
tooltipPosition: 'middle left',
|
|
119
|
+
} }
|
|
120
|
+
label={ __( 'Template options' ) }
|
|
121
|
+
text={ decodeEntities( template.title ) }
|
|
122
|
+
icon={ null }
|
|
123
|
+
>
|
|
124
|
+
{ ( { onClose } ) => (
|
|
125
|
+
<>
|
|
126
|
+
<MenuGroup>
|
|
127
|
+
{ canCreateTemplate && (
|
|
128
|
+
<MenuItem
|
|
129
|
+
onClick={ () => {
|
|
130
|
+
onNavigateToEntityRecord( {
|
|
131
|
+
postId: template.id,
|
|
132
|
+
postType: 'wp_template',
|
|
133
|
+
} );
|
|
134
|
+
onClose();
|
|
135
|
+
mayShowTemplateEditNotice();
|
|
136
|
+
} }
|
|
137
|
+
>
|
|
138
|
+
{ __( 'Edit template' ) }
|
|
139
|
+
</MenuItem>
|
|
140
|
+
) }
|
|
141
|
+
|
|
142
|
+
<SwapTemplateButton onClick={ onClose } />
|
|
143
|
+
<ResetDefaultTemplate onClick={ onClose } />
|
|
144
|
+
{ canCreateTemplate && (
|
|
145
|
+
<CreateNewTemplate onClick={ onClose } />
|
|
146
|
+
) }
|
|
147
|
+
</MenuGroup>
|
|
148
|
+
<MenuGroup>
|
|
109
149
|
<MenuItem
|
|
150
|
+
icon={ ! isTemplateHidden ? check : undefined }
|
|
151
|
+
isSelected={ ! isTemplateHidden }
|
|
152
|
+
role="menuitemcheckbox"
|
|
110
153
|
onClick={ () => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
mayShowTemplateEditNotice();
|
|
154
|
+
const newRenderingMode = isTemplateHidden
|
|
155
|
+
? 'template-locked'
|
|
156
|
+
: 'post-only';
|
|
157
|
+
setRenderingMode( newRenderingMode );
|
|
158
|
+
setDefaultRenderingMode( newRenderingMode );
|
|
117
159
|
} }
|
|
118
160
|
>
|
|
119
|
-
{ __( '
|
|
161
|
+
{ __( 'Show template' ) }
|
|
120
162
|
</MenuItem>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<CreateNewTemplate onClick={ onClose } />
|
|
127
|
-
) }
|
|
128
|
-
</MenuGroup>
|
|
129
|
-
<MenuGroup>
|
|
130
|
-
<MenuItem
|
|
131
|
-
icon={ ! isTemplateHidden ? check : undefined }
|
|
132
|
-
isSelected={ ! isTemplateHidden }
|
|
133
|
-
role="menuitemcheckbox"
|
|
134
|
-
onClick={ () => {
|
|
135
|
-
setRenderingMode(
|
|
136
|
-
isTemplateHidden
|
|
137
|
-
? 'template-locked'
|
|
138
|
-
: 'post-only'
|
|
139
|
-
);
|
|
140
|
-
} }
|
|
141
|
-
>
|
|
142
|
-
{ __( 'Show template' ) }
|
|
143
|
-
</MenuItem>
|
|
144
|
-
</MenuGroup>
|
|
145
|
-
</>
|
|
146
|
-
) }
|
|
147
|
-
</DropdownMenu>
|
|
163
|
+
</MenuGroup>
|
|
164
|
+
</>
|
|
165
|
+
) }
|
|
166
|
+
</DropdownMenu>
|
|
167
|
+
</PostPanelRow>
|
|
148
168
|
);
|
|
149
169
|
}
|
|
@@ -16,11 +16,7 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
16
16
|
import { store as editorStore } from '../../store';
|
|
17
17
|
import CreateNewTemplateModal from './create-new-template-modal';
|
|
18
18
|
import { useAllowSwitchingTemplates } from './hooks';
|
|
19
|
-
|
|
20
|
-
const POPOVER_PROPS = {
|
|
21
|
-
className: 'editor-post-template__dropdown',
|
|
22
|
-
placement: 'bottom-start',
|
|
23
|
-
};
|
|
19
|
+
import PostPanelRow from '../post-panel-row';
|
|
24
20
|
|
|
25
21
|
function PostTemplateToggle( { isOpen, onClick } ) {
|
|
26
22
|
const templateTitle = useSelect( ( select ) => {
|
|
@@ -216,17 +212,37 @@ function PostTemplateDropdownContent( { onClose } ) {
|
|
|
216
212
|
}
|
|
217
213
|
|
|
218
214
|
function ClassicThemeControl() {
|
|
215
|
+
const [ popoverAnchor, setPopoverAnchor ] = useState( null );
|
|
216
|
+
// Memoize popoverProps to avoid returning a new object every time.
|
|
217
|
+
const popoverProps = useMemo(
|
|
218
|
+
() => ( {
|
|
219
|
+
// Anchor the popover to the middle of the entire row so that it doesn't
|
|
220
|
+
// move around when the label changes.
|
|
221
|
+
anchor: popoverAnchor,
|
|
222
|
+
className: 'editor-post-template__dropdown',
|
|
223
|
+
placement: 'left-start',
|
|
224
|
+
offset: 36,
|
|
225
|
+
shift: true,
|
|
226
|
+
} ),
|
|
227
|
+
[ popoverAnchor ]
|
|
228
|
+
);
|
|
229
|
+
|
|
219
230
|
return (
|
|
220
|
-
<
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
231
|
+
<PostPanelRow label={ __( 'Template' ) } ref={ setPopoverAnchor }>
|
|
232
|
+
<Dropdown
|
|
233
|
+
popoverProps={ popoverProps }
|
|
234
|
+
focusOnMount
|
|
235
|
+
renderToggle={ ( { isOpen, onToggle } ) => (
|
|
236
|
+
<PostTemplateToggle
|
|
237
|
+
isOpen={ isOpen }
|
|
238
|
+
onClick={ onToggle }
|
|
239
|
+
/>
|
|
240
|
+
) }
|
|
241
|
+
renderContent={ ( { onClose } ) => (
|
|
242
|
+
<PostTemplateDropdownContent onClose={ onClose } />
|
|
243
|
+
) }
|
|
244
|
+
/>
|
|
245
|
+
</PostPanelRow>
|
|
230
246
|
);
|
|
231
247
|
}
|
|
232
248
|
|
|
@@ -126,6 +126,7 @@ export default function CreateNewTemplateModal( { onClose } ) {
|
|
|
126
126
|
placeholder={ DEFAULT_TITLE }
|
|
127
127
|
disabled={ isBusy }
|
|
128
128
|
help={ __(
|
|
129
|
+
// eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts
|
|
129
130
|
'Describe the template, e.g. "Post with sidebar". A custom template can be manually applied to any post or page.'
|
|
130
131
|
) }
|
|
131
132
|
/>
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect } from '@wordpress/data';
|
|
5
|
-
import { __ } from '@wordpress/i18n';
|
|
6
5
|
import { store as coreStore } from '@wordpress/core-data';
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -11,7 +10,6 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
11
10
|
import { store as editorStore } from '../../store';
|
|
12
11
|
import ClassicThemeControl from './classic-theme';
|
|
13
12
|
import BlockThemeControl from './block-theme';
|
|
14
|
-
import PostPanelRow from '../post-panel-row';
|
|
15
13
|
|
|
16
14
|
/**
|
|
17
15
|
* Displays the template controls based on the current editor settings and user permissions.
|
|
@@ -65,19 +63,11 @@ export default function PostTemplatePanel() {
|
|
|
65
63
|
}, [] );
|
|
66
64
|
|
|
67
65
|
if ( ( ! isBlockTheme || ! canViewTemplates ) && isVisible ) {
|
|
68
|
-
return
|
|
69
|
-
<PostPanelRow label={ __( 'Template' ) }>
|
|
70
|
-
<ClassicThemeControl />
|
|
71
|
-
</PostPanelRow>
|
|
72
|
-
);
|
|
66
|
+
return <ClassicThemeControl />;
|
|
73
67
|
}
|
|
74
68
|
|
|
75
69
|
if ( isBlockTheme && !! templateId ) {
|
|
76
|
-
return
|
|
77
|
-
<PostPanelRow label={ __( 'Template' ) }>
|
|
78
|
-
<BlockThemeControl id={ templateId } />
|
|
79
|
-
</PostPanelRow>
|
|
80
|
-
);
|
|
70
|
+
return <BlockThemeControl id={ templateId } />;
|
|
81
71
|
}
|
|
82
72
|
return null;
|
|
83
73
|
}
|
|
@@ -14,6 +14,7 @@ import { store as editorStore } from '../../store';
|
|
|
14
14
|
import { unlock } from '../../lock-unlock';
|
|
15
15
|
|
|
16
16
|
const { BlockManager } = unlock( blockEditorPrivateApis );
|
|
17
|
+
const EMPTY_ARRAY = [];
|
|
17
18
|
|
|
18
19
|
export default function BlockVisibility() {
|
|
19
20
|
const { showBlockTypes, hideBlockTypes } = unlock(
|
|
@@ -31,7 +32,7 @@ export default function BlockVisibility() {
|
|
|
31
32
|
select( editorStore ).getEditorSettings().allowedBlockTypes,
|
|
32
33
|
hiddenBlockTypes:
|
|
33
34
|
select( preferencesStore ).get( 'core', 'hiddenBlockTypes' ) ??
|
|
34
|
-
|
|
35
|
+
EMPTY_ARRAY,
|
|
35
36
|
};
|
|
36
37
|
}, [] );
|
|
37
38
|
|
|
@@ -88,7 +88,7 @@ function PreferencesModalContents( { extraSections = {} } ) {
|
|
|
88
88
|
scope="core"
|
|
89
89
|
featureName="showListViewByDefault"
|
|
90
90
|
help={ __(
|
|
91
|
-
'Opens the List View
|
|
91
|
+
'Opens the List View panel by default.'
|
|
92
92
|
) }
|
|
93
93
|
label={ __( 'Always open List View' ) }
|
|
94
94
|
/>
|
|
@@ -56,7 +56,9 @@ export default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {
|
|
|
56
56
|
templateId: getCurrentTemplateId(),
|
|
57
57
|
};
|
|
58
58
|
}, [] );
|
|
59
|
-
const { setDeviceType, setRenderingMode } =
|
|
59
|
+
const { setDeviceType, setRenderingMode, setDefaultRenderingMode } = unlock(
|
|
60
|
+
useDispatch( editorStore )
|
|
61
|
+
);
|
|
60
62
|
const { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );
|
|
61
63
|
|
|
62
64
|
const handleDevicePreviewChange = ( newDeviceType ) => {
|
|
@@ -160,11 +162,11 @@ export default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {
|
|
|
160
162
|
isSelected={ ! isTemplateHidden }
|
|
161
163
|
role="menuitemcheckbox"
|
|
162
164
|
onClick={ () => {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
);
|
|
165
|
+
const newRenderingMode = isTemplateHidden
|
|
166
|
+
? 'template-locked'
|
|
167
|
+
: 'post-only';
|
|
168
|
+
setRenderingMode( newRenderingMode );
|
|
169
|
+
setDefaultRenderingMode( newRenderingMode );
|
|
168
170
|
} }
|
|
169
171
|
>
|
|
170
172
|
{ __( 'Show template' ) }
|
|
@@ -56,11 +56,6 @@ const NON_CONTEXTUAL_POST_TYPES = [
|
|
|
56
56
|
'wp_template_part',
|
|
57
57
|
];
|
|
58
58
|
|
|
59
|
-
/**
|
|
60
|
-
* These are rendering modes that the editor supports.
|
|
61
|
-
*/
|
|
62
|
-
const RENDERING_MODES = [ 'post-only', 'template-locked' ];
|
|
63
|
-
|
|
64
59
|
/**
|
|
65
60
|
* Depending on the post, template and template mode,
|
|
66
61
|
* returns the appropriate blocks and change handlers for the block editor provider.
|
|
@@ -183,34 +178,28 @@ export const ExperimentalEditorProvider = withRegistryProvider(
|
|
|
183
178
|
getEditorSelection,
|
|
184
179
|
getRenderingMode,
|
|
185
180
|
__unstableIsEditorReady,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
getPostType,
|
|
190
|
-
hasFinishedResolution,
|
|
191
|
-
} = select( coreStore );
|
|
181
|
+
getDefaultRenderingMode,
|
|
182
|
+
} = unlock( select( editorStore ) );
|
|
183
|
+
const { getEntitiesConfig } = select( coreStore );
|
|
192
184
|
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
185
|
+
const _defaultMode = getDefaultRenderingMode( post.type );
|
|
186
|
+
/**
|
|
187
|
+
* To avoid content "flash", wait until rendering mode has been resolved.
|
|
188
|
+
* This is important for the initial render of the editor.
|
|
189
|
+
*
|
|
190
|
+
* - Wait for template to be resolved if the default mode is 'template-locked'.
|
|
191
|
+
* - Wait for default mode to be resolved otherwise.
|
|
192
|
+
*/
|
|
193
|
+
const hasResolvedMode =
|
|
194
|
+
_defaultMode === 'template-locked'
|
|
195
|
+
? hasTemplate
|
|
196
|
+
: _defaultMode !== undefined;
|
|
205
197
|
|
|
206
198
|
return {
|
|
207
199
|
editorSettings: getEditorSettings(),
|
|
208
|
-
isReady: __unstableIsEditorReady() &&
|
|
200
|
+
isReady: __unstableIsEditorReady() && hasResolvedMode,
|
|
209
201
|
mode: getRenderingMode(),
|
|
210
|
-
defaultMode:
|
|
211
|
-
hasTemplate && hasDefaultMode
|
|
212
|
-
? _defaultMode
|
|
213
|
-
: 'post-only',
|
|
202
|
+
defaultMode: _defaultMode,
|
|
214
203
|
selection: getEditorSelection(),
|
|
215
204
|
postTypeEntities:
|
|
216
205
|
post.type === 'wp_template'
|
|
@@ -221,7 +210,7 @@ export const ExperimentalEditorProvider = withRegistryProvider(
|
|
|
221
210
|
[ post.type, hasTemplate ]
|
|
222
211
|
);
|
|
223
212
|
|
|
224
|
-
const shouldRenderTemplate =
|
|
213
|
+
const shouldRenderTemplate = hasTemplate && mode !== 'post-only';
|
|
225
214
|
const rootLevelPost = shouldRenderTemplate ? template : post;
|
|
226
215
|
const defaultBlockContext = useMemo( () => {
|
|
227
216
|
const postContext = {};
|
|
@@ -338,7 +327,9 @@ export const ExperimentalEditorProvider = withRegistryProvider(
|
|
|
338
327
|
|
|
339
328
|
// Sets the right rendering mode when loading the editor.
|
|
340
329
|
useEffect( () => {
|
|
341
|
-
|
|
330
|
+
if ( defaultMode ) {
|
|
331
|
+
setRenderingMode( defaultMode );
|
|
332
|
+
}
|
|
342
333
|
}, [ defaultMode, setRenderingMode ] );
|
|
343
334
|
|
|
344
335
|
useHideBlocksFromInserter( post.type, mode );
|
|
@@ -22,7 +22,7 @@ const SidebarHeader = ( _, ref ) => {
|
|
|
22
22
|
return {
|
|
23
23
|
documentLabel:
|
|
24
24
|
// translators: Default label for the Document sidebar tab, not selected.
|
|
25
|
-
getPostTypeLabel() || _x( 'Document', 'noun,
|
|
25
|
+
getPostTypeLabel() || _x( 'Document', 'noun, panel' ),
|
|
26
26
|
};
|
|
27
27
|
}, [] );
|
|
28
28
|
|
|
@@ -103,7 +103,7 @@ const SidebarContent = ( {
|
|
|
103
103
|
headerClassName="editor-sidebar__panel-tabs"
|
|
104
104
|
title={
|
|
105
105
|
/* translators: button label text should, if possible, be under 16 characters. */
|
|
106
|
-
_x( 'Settings', '
|
|
106
|
+
_x( 'Settings', 'panel button label' )
|
|
107
107
|
}
|
|
108
108
|
toggleShortcut={ keyboardShortcut }
|
|
109
109
|
icon={ isRTL() ? drawerLeft : drawerRight }
|