@wordpress/editor 13.27.2 → 13.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/bindings/post-meta.js +1 -2
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/user.js +1 -2
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/autosave-monitor/index.js +1 -2
- package/build/components/autosave-monitor/index.js.map +1 -1
- package/build/components/block-manager/category.js +1 -2
- package/build/components/block-manager/category.js.map +1 -1
- package/build/components/block-manager/checklist.js +1 -2
- package/build/components/block-manager/checklist.js.map +1 -1
- package/build/components/block-manager/index.js +1 -2
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/deprecated.js +52 -104
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-bar/index.js +5 -6
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/check.js +1 -2
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js +1 -2
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +1 -2
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/document-tools/index.js +1 -2
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-canvas/edit-template-blocks-notification.js +11 -18
- package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build/components/editor-canvas/index.js +14 -10
- package/build/components/editor-canvas/index.js.map +1 -1
- package/build/components/editor-help/add-blocks.native.js +1 -2
- package/build/components/editor-help/add-blocks.native.js.map +1 -1
- package/build/components/editor-help/customize-blocks.native.js +1 -2
- package/build/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build/components/editor-help/help-detail-navigation-screen.native.js +1 -2
- package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build/components/editor-help/help-get-support-button.native.js +1 -2
- package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build/components/editor-help/help-section-title.native.js +1 -2
- package/build/components/editor-help/help-section-title.native.js.map +1 -1
- package/build/components/editor-help/help-topic-row.native.js +1 -2
- package/build/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build/components/editor-help/icon-move-blocks.native.js +1 -2
- package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
- package/build/components/editor-help/index.native.js +1 -2
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-help/intro-to-blocks.native.js +1 -2
- package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build/components/editor-help/move-blocks.native.js +1 -2
- package/build/components/editor-help/move-blocks.native.js.map +1 -1
- package/build/components/editor-help/remove-blocks.native.js +1 -2
- package/build/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build/components/editor-history/redo.js +1 -2
- package/build/components/editor-history/redo.js.map +1 -1
- package/build/components/editor-history/undo.js +1 -2
- package/build/components/editor-history/undo.js.map +1 -1
- package/build/components/editor-notices/index.js +1 -2
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +3 -1
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +1 -1
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +7 -7
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/index.js +4 -1
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.js +1 -2
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +1 -2
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/index.js +4 -6
- package/build/components/index.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +43 -36
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js +1 -2
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/media-categories/index.js +1 -2
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/offline-status/index.native.js +1 -2
- package/build/components/offline-status/index.native.js.map +1 -1
- package/build/components/page-attributes/check.js +1 -2
- package/build/components/page-attributes/check.js.map +1 -1
- package/build/components/page-attributes/panel.js +1 -2
- package/build/components/page-attributes/panel.js.map +1 -1
- package/build/components/page-attributes/parent.js +1 -2
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-author/combobox.js +6 -60
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/constants.js +7 -5
- package/build/components/post-author/constants.js.map +1 -1
- package/build/components/post-author/hook.js +72 -0
- package/build/components/post-author/hook.js.map +1 -0
- package/build/components/post-author/index.js +1 -2
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-author/panel.js +1 -2
- package/build/components/post-author/panel.js.map +1 -1
- package/build/components/post-author/select.js +6 -24
- package/build/components/post-author/select.js.map +1 -1
- package/build/components/post-comments/index.js +1 -2
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-discussion/panel.js +1 -2
- package/build/components/post-discussion/panel.js.map +1 -1
- package/build/components/post-excerpt/check.js +1 -2
- package/build/components/post-excerpt/check.js.map +1 -1
- package/build/components/post-excerpt/index.js +1 -2
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/plugin.js +1 -2
- package/build/components/post-excerpt/plugin.js.map +1 -1
- package/build/components/post-featured-image/check.js +1 -2
- package/build/components/post-featured-image/check.js.map +1 -1
- package/build/components/post-featured-image/index.js +1 -2
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-featured-image/panel.js +1 -2
- package/build/components/post-featured-image/panel.js.map +1 -1
- package/build/components/post-format/check.js +1 -2
- package/build/components/post-format/check.js.map +1 -1
- package/build/components/post-format/index.js +1 -2
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/check.js +1 -2
- package/build/components/post-last-revision/check.js.map +1 -1
- package/build/components/post-last-revision/index.js +6 -5
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-last-revision/panel.js +1 -2
- package/build/components/post-last-revision/panel.js.map +1 -1
- package/build/components/post-panel-row/index.js +1 -2
- package/build/components/post-panel-row/index.js.map +1 -1
- package/build/components/post-pending-status/check.js +1 -2
- package/build/components/post-pending-status/check.js.map +1 -1
- package/build/components/post-pending-status/index.js +1 -2
- package/build/components/post-pending-status/index.js.map +1 -1
- package/build/components/post-pingbacks/index.js +1 -2
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +1 -2
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +1 -2
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js +1 -2
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +1 -2
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +22 -26
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +1 -2
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-publish-panel/prepublish.js +1 -2
- package/build/components/post-publish-panel/prepublish.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-schedule/label.js +1 -1
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-schedule/panel.js +1 -0
- package/build/components/post-schedule/panel.js.map +1 -1
- package/build/components/post-slug/index.js +1 -2
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +1 -0
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-sync-status/index.js +1 -1
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +8 -15
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +1 -2
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -2
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +14 -15
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/panel.js +1 -2
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-template/block-theme.js +12 -11
- package/build/components/post-template/block-theme.js.map +1 -1
- package/build/components/post-template/classic-theme.js +10 -11
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js +4 -5
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/post-template/panel.js +5 -1
- package/build/components/post-template/panel.js.map +1 -1
- package/build/components/post-title/constants.js +2 -4
- package/build/components/post-title/constants.js.map +1 -1
- package/build/components/post-title/index.js +2 -3
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js +1 -2
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-title/post-title-raw.js +1 -2
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-trash/check.js +1 -2
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-trash/index.js +1 -0
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/post-type-support-check/index.js +1 -2
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/post-url/panel.js +1 -0
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/post-visibility/utils.js +1 -2
- package/build/components/post-visibility/utils.js.map +1 -1
- package/build/components/preferences-modal/enable-panel.js +1 -2
- package/build/components/preferences-modal/enable-panel.js.map +1 -1
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +1 -2
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
- package/build/components/preferences-modal/index.js +0 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/provider/constants.js +1 -2
- package/build/components/provider/constants.js.map +1 -1
- package/build/components/provider/index.js +12 -6
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +4 -6
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +2 -3
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.native.js +1 -2
- package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +1 -2
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/table-of-contents/index.js +1 -2
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/table-of-contents/panel.js +1 -2
- package/build/components/table-of-contents/panel.js.map +1 -1
- package/build/components/template-validation-notice/index.js +1 -2
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +1 -2
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/hooks/pattern-partial-syncing.js +9 -2
- package/build/hooks/pattern-partial-syncing.js.map +1 -1
- package/build/private-apis.js +1 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +31 -62
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +7 -14
- package/build/store/constants.js.map +1 -1
- package/build/store/defaults.js +1 -2
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +4 -6
- package/build/store/index.js.map +1 -1
- package/build/store/private-selectors.js +1 -2
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js +2 -4
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +72 -144
- package/build/store/selectors.js.map +1 -1
- package/build/store/selectors.native.js +1 -2
- package/build/store/selectors.native.js.map +1 -1
- package/build-module/components/document-bar/index.js +5 -6
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js +11 -18
- package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/editor-canvas/index.js +13 -8
- package/build-module/components/editor-canvas/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +4 -1
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +8 -8
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +6 -3
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +44 -37
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/post-author/combobox.js +8 -61
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/constants.js +5 -2
- package/build-module/components/post-author/constants.js.map +1 -1
- package/build-module/components/post-author/hook.js +65 -0
- package/build-module/components/post-author/hook.js.map +1 -0
- package/build-module/components/post-author/select.js +7 -24
- package/build-module/components/post-author/select.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +6 -4
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +24 -27
- package/build-module/components/post-publish-panel/maybe-tags-panel.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-schedule/label.js +1 -1
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-schedule/panel.js +1 -0
- package/build-module/components/post-schedule/panel.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +1 -0
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-sync-status/index.js +1 -1
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +9 -14
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +15 -15
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +12 -11
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +9 -9
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +4 -5
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/panel.js +5 -1
- package/build-module/components/post-template/panel.js.map +1 -1
- package/build-module/components/post-title/index.js +1 -2
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-trash/index.js +1 -0
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-url/panel.js +1 -0
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +0 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/provider/index.js +10 -2
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +1 -1
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js +0 -1
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/hooks/pattern-partial-syncing.js +9 -2
- package/build-module/hooks/pattern-partial-syncing.js.map +1 -1
- package/build-style/style-rtl.css +28 -22
- package/build-style/style.css +28 -22
- package/package.json +32 -32
- package/src/components/document-bar/index.js +22 -17
- package/src/components/editor-canvas/edit-template-blocks-notification.js +31 -30
- package/src/components/editor-canvas/index.js +14 -4
- package/src/components/editor-snackbars/index.js +6 -3
- package/src/components/entities-saved-states/entity-record-item.js +1 -4
- package/src/components/entities-saved-states/entity-type-list.js +8 -8
- package/src/components/entities-saved-states/index.js +17 -4
- package/src/components/entities-saved-states/style.scss +5 -0
- package/src/components/list-view-sidebar/index.js +60 -47
- package/src/components/list-view-sidebar/style.scss +20 -20
- package/src/components/post-author/combobox.js +5 -61
- package/src/components/post-author/constants.js +6 -2
- package/src/components/post-author/hook.js +63 -0
- package/src/components/post-author/select.js +5 -25
- package/src/components/post-last-revision/index.js +6 -6
- package/src/components/post-last-revision/style.scss +3 -6
- package/src/components/post-panel-row/style.scss +3 -3
- package/src/components/post-publish-panel/maybe-tags-panel.js +27 -37
- package/src/components/post-publish-panel/style.scss +3 -1
- package/src/components/post-schedule/label.js +1 -1
- package/src/components/post-schedule/panel.js +1 -0
- package/src/components/post-schedule/test/label.js +19 -7
- package/src/components/post-switch-to-draft-button/index.js +1 -0
- package/src/components/post-sync-status/index.js +8 -2
- package/src/components/post-taxonomies/check.js +11 -15
- package/src/components/post-taxonomies/index.js +15 -22
- package/src/components/post-taxonomies/test/index.js +37 -51
- package/src/components/post-template/block-theme.js +29 -22
- package/src/components/post-template/classic-theme.js +10 -13
- package/src/components/post-template/create-new-template-modal.js +7 -9
- package/src/components/post-template/panel.js +5 -1
- package/src/components/post-trash/index.js +1 -0
- package/src/components/post-url/panel.js +1 -0
- package/src/components/provider/index.js +22 -2
- package/src/components/provider/use-block-editor-settings.js +1 -1
- package/src/hooks/pattern-partial-syncing.js +23 -4
|
@@ -35,7 +35,7 @@ function BlockThemeControl({
|
|
|
35
35
|
}) {
|
|
36
36
|
const {
|
|
37
37
|
isTemplateHidden,
|
|
38
|
-
|
|
38
|
+
onNavigateToEntityRecord,
|
|
39
39
|
getEditorSettings,
|
|
40
40
|
hasGoBack
|
|
41
41
|
} = (0, _data.useSelect)(select => {
|
|
@@ -46,9 +46,9 @@ function BlockThemeControl({
|
|
|
46
46
|
const editorSettings = _getEditorSettings();
|
|
47
47
|
return {
|
|
48
48
|
isTemplateHidden: getRenderingMode() === 'post-only',
|
|
49
|
-
|
|
49
|
+
onNavigateToEntityRecord: editorSettings.onNavigateToEntityRecord,
|
|
50
50
|
getEditorSettings: _getEditorSettings,
|
|
51
|
-
hasGoBack: editorSettings.hasOwnProperty('
|
|
51
|
+
hasGoBack: editorSettings.hasOwnProperty('onNavigateToPreviousEntityRecord')
|
|
52
52
|
};
|
|
53
53
|
}, []);
|
|
54
54
|
const {
|
|
@@ -61,23 +61,21 @@ function BlockThemeControl({
|
|
|
61
61
|
const {
|
|
62
62
|
setRenderingMode
|
|
63
63
|
} = (0, _data.useDispatch)(_store.store);
|
|
64
|
-
const editTemplate = getPostLinkProps ? getPostLinkProps({
|
|
65
|
-
postId: template.id,
|
|
66
|
-
postType: 'wp_template'
|
|
67
|
-
}) : {};
|
|
68
64
|
if (!hasResolved) {
|
|
69
65
|
return null;
|
|
70
66
|
}
|
|
71
|
-
|
|
67
|
+
|
|
68
|
+
// The site editor does not have a `onNavigateToPreviousEntityRecord` setting as it uses its own routing
|
|
72
69
|
// and assigns its own backlink to focusMode pages.
|
|
73
70
|
const notificationAction = hasGoBack ? [{
|
|
74
71
|
label: (0, _i18n.__)('Go back'),
|
|
75
|
-
onClick: () => getEditorSettings().
|
|
72
|
+
onClick: () => getEditorSettings().onNavigateToPreviousEntityRecord()
|
|
76
73
|
}] : undefined;
|
|
77
74
|
return (0, _react.createElement)(_components.DropdownMenu, {
|
|
78
75
|
popoverProps: POPOVER_PROPS,
|
|
79
76
|
focusOnMount: true,
|
|
80
77
|
toggleProps: {
|
|
78
|
+
__next40pxDefaultSize: true,
|
|
81
79
|
variant: 'tertiary'
|
|
82
80
|
},
|
|
83
81
|
label: (0, _i18n.__)('Template options'),
|
|
@@ -86,8 +84,11 @@ function BlockThemeControl({
|
|
|
86
84
|
}, ({
|
|
87
85
|
onClose
|
|
88
86
|
}) => (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)(_components.MenuItem, {
|
|
89
|
-
onClick:
|
|
90
|
-
|
|
87
|
+
onClick: () => {
|
|
88
|
+
onNavigateToEntityRecord({
|
|
89
|
+
postId: template.id,
|
|
90
|
+
postType: 'wp_template'
|
|
91
|
+
});
|
|
91
92
|
onClose();
|
|
92
93
|
createSuccessNotice((0, _i18n.__)('Editing template. Changes made here affect all posts and pages that use the template.'), {
|
|
93
94
|
type: 'snackbar',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_htmlEntities","_components","_i18n","_coreData","_icons","_notices","_store","_swapTemplateButton","_interopRequireDefault","_resetDefaultTemplate","_lockUnlock","_createNewTemplate","POPOVER_PROPS","className","placement","BlockThemeControl","id","isTemplateHidden","
|
|
1
|
+
{"version":3,"names":["_data","require","_htmlEntities","_components","_i18n","_coreData","_icons","_notices","_store","_swapTemplateButton","_interopRequireDefault","_resetDefaultTemplate","_lockUnlock","_createNewTemplate","POPOVER_PROPS","className","placement","BlockThemeControl","id","isTemplateHidden","onNavigateToEntityRecord","getEditorSettings","hasGoBack","useSelect","select","getRenderingMode","_getEditorSettings","unlock","editorStore","editorSettings","hasOwnProperty","editedRecord","template","hasResolved","useEntityRecord","createSuccessNotice","useDispatch","noticesStore","setRenderingMode","notificationAction","label","__","onClick","onNavigateToPreviousEntityRecord","undefined","_react","createElement","DropdownMenu","popoverProps","focusOnMount","toggleProps","__next40pxDefaultSize","variant","text","decodeEntities","title","icon","onClose","Fragment","MenuGroup","MenuItem","postId","postType","type","actions","default","check","isSelected","role"],"sources":["@wordpress/editor/src/components/post-template/block-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\nimport { unlock } from '../../lock-unlock';\nimport CreateNewTemplate from './create-new-template';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function BlockThemeControl( { id } ) {\n\tconst {\n\t\tisTemplateHidden,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t\thasGoBack,\n\t} = useSelect( ( select ) => {\n\t\tconst { getRenderingMode, getEditorSettings: _getEditorSettings } =\n\t\t\tunlock( select( editorStore ) );\n\t\tconst editorSettings = _getEditorSettings();\n\t\treturn {\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\tonNavigateToEntityRecord: editorSettings.onNavigateToEntityRecord,\n\t\t\tgetEditorSettings: _getEditorSettings,\n\t\t\thasGoBack: editorSettings.hasOwnProperty(\n\t\t\t\t'onNavigateToPreviousEntityRecord'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editedRecord: template, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_template',\n\t\tid\n\t);\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\t// The site editor does not have a `onNavigateToPreviousEntityRecord` setting as it uses its own routing\n\t// and assigns its own backlink to focusMode pages.\n\tconst notificationAction = hasGoBack\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t},\n\t\t ]\n\t\t: undefined;\n\treturn (\n\t\t<DropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\ttoggleProps={ {\n\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\tvariant: 'tertiary',\n\t\t\t} }\n\t\t\tlabel={ __( 'Template options' ) }\n\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\ticon={ null }\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={ () => {\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t\tactions: notificationAction,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t</MenuItem>\n\n\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t\t<CreateNewTemplate onClick={ onClose } />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t: 'post-only'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Template preview' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,qBAAA,GAAAD,sBAAA,CAAAT,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,kBAAA,GAAAH,sBAAA,CAAAT,OAAA;AAlBA;AACA;AACA;;AASA;AACA;AACA;;AAOA,MAAMa,aAAa,GAAG;EACrBC,SAAS,EAAE,gCAAgC;EAC3CC,SAAS,EAAE;AACZ,CAAC;AAEc,SAASC,iBAAiBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACnD,MAAM;IACLC,gBAAgB;IAChBC,wBAAwB;IACxBC,iBAAiB;IACjBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MAAEC,gBAAgB;MAAEJ,iBAAiB,EAAEK;IAAmB,CAAC,GAChE,IAAAC,kBAAM,EAAEH,MAAM,CAAEI,YAAY,CAAE,CAAC;IAChC,MAAMC,cAAc,GAAGH,kBAAkB,CAAC,CAAC;IAC3C,OAAO;MACNP,gBAAgB,EAAEM,gBAAgB,CAAC,CAAC,KAAK,WAAW;MACpDL,wBAAwB,EAAES,cAAc,CAACT,wBAAwB;MACjEC,iBAAiB,EAAEK,kBAAkB;MACrCJ,SAAS,EAAEO,cAAc,CAACC,cAAc,CACvC,kCACD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC,YAAY,EAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAG,IAAAC,yBAAe,EAC9D,UAAU,EACV,aAAa,EACbhB,EACD,CAAC;EACD,MAAM;IAAEiB;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAC3D,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAF,iBAAW,EAAER,YAAY,CAAC;EAEvD,IAAK,CAAEK,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,MAAMM,kBAAkB,GAAGjB,SAAS,GACjC,CACA;IACCkB,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;IACtBC,OAAO,EAAEA,CAAA,KACRrB,iBAAiB,CAAC,CAAC,CAACsB,gCAAgC,CAAC;EACvD,CAAC,CACA,GACDC,SAAS;EACZ,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAA4C,YAAY;IACZC,YAAY,EAAGlC,aAAe;IAC9BmC,YAAY;IACZC,WAAW,EAAG;MACbC,qBAAqB,EAAE,IAAI;MAC3BC,OAAO,EAAE;IACV,CAAG;IACHZ,KAAK,EAAG,IAAAC,QAAE,EAAE,kBAAmB,CAAG;IAClCY,IAAI,EAAG,IAAAC,4BAAc,EAAEtB,QAAQ,CAACuB,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACd,IAAAZ,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAa,QAAA,QACC,IAAAb,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAAwD,SAAS,QACT,IAAAd,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAAyD,QAAQ;IACRlB,OAAO,EAAGA,CAAA,KAAM;MACftB,wBAAwB,CAAE;QACzByC,MAAM,EAAE7B,QAAQ,CAACd,EAAE;QACnB4C,QAAQ,EAAE;MACX,CAAE,CAAC;MACHL,OAAO,CAAC,CAAC;MACTtB,mBAAmB,CAClB,IAAAM,QAAE,EACD,uFACD,CAAC,EACD;QACCsB,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAEzB;MACV,CACD,CAAC;IACF;EAAG,GAED,IAAAE,QAAE,EAAE,eAAgB,CACb,CAAC,EAEX,IAAAI,MAAA,CAAAC,aAAA,EAACrC,mBAAA,CAAAwD,OAAkB;IAACvB,OAAO,EAAGe;EAAS,CAAE,CAAC,EAC1C,IAAAZ,MAAA,CAAAC,aAAA,EAACnC,qBAAA,CAAAsD,OAAoB;IAACvB,OAAO,EAAGe;EAAS,CAAE,CAAC,EAC5C,IAAAZ,MAAA,CAAAC,aAAA,EAACjC,kBAAA,CAAAoD,OAAiB;IAACvB,OAAO,EAAGe;EAAS,CAAE,CAC9B,CAAC,EACZ,IAAAZ,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAAwD,SAAS,QACT,IAAAd,MAAA,CAAAC,aAAA,EAAC3C,WAAA,CAAAyD,QAAQ;IACRJ,IAAI,EAAG,CAAErC,gBAAgB,GAAG+C,YAAK,GAAGtB,SAAW;IAC/CuB,UAAU,EAAG,CAAEhD,gBAAkB;IACjCiD,IAAI,EAAC,kBAAkB;IACvB1B,OAAO,EAAGA,CAAA,KAAM;MACfJ,gBAAgB,CACfnB,gBAAgB,GACb,iBAAiB,GACjB,WACJ,CAAC;IACF;EAAG,GAED,IAAAsB,QAAE,EAAE,kBAAmB,CAChB,CACA,CACV,CAEU,CAAC;AAEjB"}
|
|
@@ -46,6 +46,7 @@ function PostTemplateToggle({
|
|
|
46
46
|
return template?.title || template?.slug || availableTemplates?.[templateSlug];
|
|
47
47
|
}, []);
|
|
48
48
|
return (0, _react.createElement)(_components.Button, {
|
|
49
|
+
__next40pxDefaultSize: true,
|
|
49
50
|
className: "edit-post-post-template__toggle",
|
|
50
51
|
variant: "tertiary",
|
|
51
52
|
"aria-expanded": isOpen,
|
|
@@ -65,7 +66,7 @@ function PostTemplateDropdownContent({
|
|
|
65
66
|
canCreate,
|
|
66
67
|
canEdit,
|
|
67
68
|
currentTemplateId,
|
|
68
|
-
|
|
69
|
+
onNavigateToEntityRecord,
|
|
69
70
|
getEditorSettings
|
|
70
71
|
} = (0, _data.useSelect)(select => {
|
|
71
72
|
const {
|
|
@@ -85,14 +86,10 @@ function PostTemplateDropdownContent({
|
|
|
85
86
|
canCreate: allowSwitchingTemplate && canCreateTemplates && editorSettings.supportsTemplateMode,
|
|
86
87
|
canEdit: allowSwitchingTemplate && canCreateTemplates && editorSettings.supportsTemplateMode && !!_currentTemplateId,
|
|
87
88
|
currentTemplateId: _currentTemplateId,
|
|
88
|
-
|
|
89
|
+
onNavigateToEntityRecord: editorSettings.onNavigateToEntityRecord,
|
|
89
90
|
getEditorSettings: select(_store.store).getEditorSettings
|
|
90
91
|
};
|
|
91
92
|
}, [allowSwitchingTemplate]);
|
|
92
|
-
const editTemplate = getPostLinkProps && currentTemplateId ? getPostLinkProps({
|
|
93
|
-
postId: currentTemplateId,
|
|
94
|
-
postType: 'wp_template'
|
|
95
|
-
}) : {};
|
|
96
93
|
const options = (0, _element.useMemo)(() => Object.entries({
|
|
97
94
|
...availableTemplates,
|
|
98
95
|
...Object.fromEntries((fetchedTemplates !== null && fetchedTemplates !== void 0 ? fetchedTemplates : []).map(({
|
|
@@ -136,16 +133,19 @@ function PostTemplateDropdownContent({
|
|
|
136
133
|
onChange: slug => editPost({
|
|
137
134
|
template: slug || ''
|
|
138
135
|
})
|
|
139
|
-
}), canEdit && (0, _react.createElement)("p", null, (0, _react.createElement)(_components.Button, {
|
|
136
|
+
}), canEdit && onNavigateToEntityRecord && (0, _react.createElement)("p", null, (0, _react.createElement)(_components.Button, {
|
|
140
137
|
variant: "link",
|
|
141
138
|
onClick: () => {
|
|
142
|
-
|
|
139
|
+
onNavigateToEntityRecord({
|
|
140
|
+
postId: currentTemplateId,
|
|
141
|
+
postType: 'wp_template'
|
|
142
|
+
});
|
|
143
143
|
onClose();
|
|
144
144
|
createSuccessNotice((0, _i18n.__)('Editing template. Changes made here affect all posts and pages that use the template.'), {
|
|
145
145
|
type: 'snackbar',
|
|
146
146
|
actions: [{
|
|
147
147
|
label: (0, _i18n.__)('Go back'),
|
|
148
|
-
onClick: () => getEditorSettings().
|
|
148
|
+
onClick: () => getEditorSettings().onNavigateToPreviousEntityRecord()
|
|
149
149
|
}]
|
|
150
150
|
});
|
|
151
151
|
}
|
|
@@ -171,6 +171,5 @@ function ClassicThemeControl() {
|
|
|
171
171
|
})
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
|
-
var _default = ClassicThemeControl;
|
|
175
|
-
exports.default = _default;
|
|
174
|
+
var _default = exports.default = ClassicThemeControl;
|
|
176
175
|
//# sourceMappingURL=classic-theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_data","_coreData","_blockEditor","_element","_icons","_notices","_store","_createNewTemplateModal","_interopRequireDefault","_hooks","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","useSelect","select","templateSlug","editorStore","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","coreStore","canUser","getCurrentTemplateId","title","slug","_react","createElement","Button","variant","__","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","useAllowSwitchingTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","getPostLinkProps","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","editTemplate","postId","postType","options","useMemo","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","useDispatch","createSuccessNotice","noticesStore","isCreateModalOpen","setIsCreateModalOpen","useState","__experimentalInspectorPopoverHeader","help","actions","icon","addTemplate","Notice","status","isDismissible","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","hideLabelFromVision","onChange","type","goBack","default","ClassicThemeControl","Dropdown","popoverProps","focusOnMount","renderToggle","onToggle","renderContent","_default","exports"],"sources":["@wordpress/editor/src/components/post-template/classic-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl, Dropdown, Button, Notice } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useState, useMemo } from '@wordpress/element';\nimport { addTemplate } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nfunction PostTemplateToggle( { isOpen, onClick } ) {\n\tconst templateTitle = useSelect( ( select ) => {\n\t\tconst templateSlug =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\n\t\tconst { supportsTemplateMode, availableTemplates } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\tif ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {\n\t\t\treturn availableTemplates[ templateSlug ];\n\t\t}\n\t\tconst template =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) &&\n\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\treturn (\n\t\t\ttemplate?.title ||\n\t\t\ttemplate?.slug ||\n\t\t\tavailableTemplates?.[ templateSlug ]\n\t\t);\n\t}, [] );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-post-post-template__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={ __( 'Template options' ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n\nfunction PostTemplateDropdownContent( { onClose } ) {\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst {\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t\tcurrentTemplateId,\n\t\tgetPostLinkProps,\n\t\tgetEditorSettings,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser, getEntityRecords } = select( coreStore );\n\t\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\t\tconst canCreateTemplates = canUser( 'create', 'templates' );\n\t\t\tconst _currentTemplateId =\n\t\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\t\treturn {\n\t\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\t\tfetchedTemplates: canCreateTemplates\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\t\tpost_type:\n\t\t\t\t\t\t\t\tselect( editorStore ).getCurrentPostType(),\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined,\n\t\t\t\tselectedTemplateSlug:\n\t\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\t\tcanCreate:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\t\tcanEdit:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t\t!! _currentTemplateId,\n\t\t\t\tcurrentTemplateId: _currentTemplateId,\n\t\t\t\tgetPostLinkProps: editorSettings.getPostLinkProps,\n\t\t\t\tgetEditorSettings: select( editorStore ).getEditorSettings,\n\t\t\t};\n\t\t},\n\t\t[ allowSwitchingTemplate ]\n\t);\n\n\tconst editTemplate =\n\t\tgetPostLinkProps && currentTemplateId\n\t\t\t? getPostLinkProps( {\n\t\t\t\t\tpostId: currentTemplateId,\n\t\t\t\t\tpostType: 'wp_template',\n\t\t\t } )\n\t\t\t: {};\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"editor-post-template__classic-theme-dropdown\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ ! allowSwitchingTemplate ? (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\teditTemplate.onClick();\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tgetEditorSettings().goBack(),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ClassicThemeControl() {\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<PostTemplateToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<PostTemplateDropdownContent onClose={ onClose } />\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default ClassicThemeControl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_data","_coreData","_blockEditor","_element","_icons","_notices","_store","_createNewTemplateModal","_interopRequireDefault","_hooks","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","useSelect","select","templateSlug","editorStore","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","coreStore","canUser","getCurrentTemplateId","title","slug","_react","createElement","Button","__next40pxDefaultSize","variant","__","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","useAllowSwitchingTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","onNavigateToEntityRecord","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","options","useMemo","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","useDispatch","createSuccessNotice","noticesStore","isCreateModalOpen","setIsCreateModalOpen","useState","__experimentalInspectorPopoverHeader","help","actions","icon","addTemplate","Notice","status","isDismissible","SelectControl","__nextHasNoMarginBottom","hideLabelFromVision","onChange","postId","postType","type","onNavigateToPreviousEntityRecord","default","ClassicThemeControl","Dropdown","popoverProps","focusOnMount","renderToggle","onToggle","renderContent","_default","exports"],"sources":["@wordpress/editor/src/components/post-template/classic-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl, Dropdown, Button, Notice } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useState, useMemo } from '@wordpress/element';\nimport { addTemplate } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nfunction PostTemplateToggle( { isOpen, onClick } ) {\n\tconst templateTitle = useSelect( ( select ) => {\n\t\tconst templateSlug =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\n\t\tconst { supportsTemplateMode, availableTemplates } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\tif ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {\n\t\t\treturn availableTemplates[ templateSlug ];\n\t\t}\n\t\tconst template =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) &&\n\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\treturn (\n\t\t\ttemplate?.title ||\n\t\t\ttemplate?.slug ||\n\t\t\tavailableTemplates?.[ templateSlug ]\n\t\t);\n\t}, [] );\n\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"edit-post-post-template__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={ __( 'Template options' ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n\nfunction PostTemplateDropdownContent( { onClose } ) {\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst {\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t\tcurrentTemplateId,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser, getEntityRecords } = select( coreStore );\n\t\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\t\tconst canCreateTemplates = canUser( 'create', 'templates' );\n\t\t\tconst _currentTemplateId =\n\t\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\t\treturn {\n\t\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\t\tfetchedTemplates: canCreateTemplates\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\t\tpost_type:\n\t\t\t\t\t\t\t\tselect( editorStore ).getCurrentPostType(),\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined,\n\t\t\t\tselectedTemplateSlug:\n\t\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\t\tcanCreate:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\t\tcanEdit:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t\t!! _currentTemplateId,\n\t\t\t\tcurrentTemplateId: _currentTemplateId,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\teditorSettings.onNavigateToEntityRecord,\n\t\t\t\tgetEditorSettings: select( editorStore ).getEditorSettings,\n\t\t\t};\n\t\t},\n\t\t[ allowSwitchingTemplate ]\n\t);\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"editor-post-template__classic-theme-dropdown\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ ! allowSwitchingTemplate ? (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && onNavigateToEntityRecord && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\tpostId: currentTemplateId,\n\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ClassicThemeControl() {\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<PostTemplateToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<PostTemplateDropdownContent onClose={ onClose } />\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default ClassicThemeControl;\n"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ function CreateNewTemplateModal({
|
|
|
27
27
|
}) {
|
|
28
28
|
const {
|
|
29
29
|
defaultBlockTemplate,
|
|
30
|
-
|
|
30
|
+
onNavigateToEntityRecord
|
|
31
31
|
} = (0, _data.useSelect)(select => {
|
|
32
32
|
const {
|
|
33
33
|
getEditorSettings,
|
|
@@ -35,7 +35,7 @@ function CreateNewTemplateModal({
|
|
|
35
35
|
} = select(_store.store);
|
|
36
36
|
return {
|
|
37
37
|
defaultBlockTemplate: getEditorSettings().defaultBlockTemplate,
|
|
38
|
-
|
|
38
|
+
onNavigateToEntityRecord: getEditorSettings().onNavigateToEntityRecord,
|
|
39
39
|
getTemplateId: getCurrentTemplateId
|
|
40
40
|
};
|
|
41
41
|
});
|
|
@@ -76,11 +76,10 @@ function CreateNewTemplateModal({
|
|
|
76
76
|
title: title || DEFAULT_TITLE
|
|
77
77
|
});
|
|
78
78
|
setIsBusy(false);
|
|
79
|
-
|
|
79
|
+
onNavigateToEntityRecord({
|
|
80
80
|
postId: newTemplate.id,
|
|
81
81
|
postType: 'wp_template'
|
|
82
|
-
})
|
|
83
|
-
editTemplate.onClick();
|
|
82
|
+
});
|
|
84
83
|
cancel();
|
|
85
84
|
};
|
|
86
85
|
return (0, _react.createElement)(_components.Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_blocks","_components","_i18n","_url","_lockUnlock","_store","DEFAULT_TITLE","__","CreateNewTemplateModal","onClose","defaultBlockTemplate","
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_blocks","_components","_i18n","_url","_lockUnlock","_store","DEFAULT_TITLE","__","CreateNewTemplateModal","onClose","defaultBlockTemplate","onNavigateToEntityRecord","useSelect","select","getEditorSettings","getCurrentTemplateId","editorStore","getTemplateId","createTemplate","unlock","useDispatch","title","setTitle","useState","isBusy","setIsBusy","cancel","submit","event","preventDefault","newTemplateContent","serialize","createBlock","tagName","layout","inherit","newTemplate","slug","cleanForSlug","content","postId","id","postType","_react","createElement","Modal","onRequestClose","className","onSubmit","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","placeholder","disabled","help","__experimentalHStack","justify","Button","variant","onClick","type"],"sources":["@wordpress/editor/src/components/post-template/create-new-template-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tModal,\n\tTextControl,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cleanForSlug } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst DEFAULT_TITLE = __( 'Custom Template' );\n\nexport default function CreateNewTemplateModal( { onClose } ) {\n\tconst { defaultBlockTemplate, onNavigateToEntityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings, getCurrentTemplateId } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tdefaultBlockTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetEditorSettings().onNavigateToEntityRecord,\n\t\t\t\tgetTemplateId: getCurrentTemplateId,\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { createTemplate } = unlock( useDispatch( editorStore ) );\n\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst cancel = () => {\n\t\tsetTitle( '' );\n\t\tonClose();\n\t};\n\n\tconst submit = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultBlockTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tconst newTemplate = await createTemplate( {\n\t\t\tslug: cleanForSlug( title || DEFAULT_TITLE ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || DEFAULT_TITLE,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: newTemplate.id,\n\t\t\tpostType: 'wp_template',\n\t\t} );\n\t\tcancel();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\tonRequestClose={ cancel }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"editor-post-template__create-form\"\n\t\t\t\tonSubmit={ submit }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ DEFAULT_TITLE }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ cancel }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -53,7 +53,11 @@ function PostTemplatePanel() {
|
|
|
53
53
|
const canCreateTemplates = (_select$canUser = select(_coreData.store).canUser('create', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false;
|
|
54
54
|
return canCreateTemplates;
|
|
55
55
|
}, []);
|
|
56
|
-
|
|
56
|
+
const canViewTemplates = (0, _data.useSelect)(select => {
|
|
57
|
+
var _select$canUser2;
|
|
58
|
+
return (_select$canUser2 = select(_coreData.store).canUser('read', 'templates')) !== null && _select$canUser2 !== void 0 ? _select$canUser2 : false;
|
|
59
|
+
}, []);
|
|
60
|
+
if ((!isBlockTheme || !canViewTemplates) && isVisible) {
|
|
57
61
|
return (0, _react.createElement)(_postPanelRow.default, {
|
|
58
62
|
label: (0, _i18n.__)('Template')
|
|
59
63
|
}, (0, _react.createElement)(_classicTheme.default, null));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_i18n","_coreData","_store","_classicTheme","_interopRequireDefault","_blockTheme","_postPanelRow","PostTemplatePanel","templateId","isBlockTheme","useSelect","select","getCurrentTemplateId","getEditorSettings","editorStore","__unstableIsBlockBasedTheme","isVisible","_select$canUser","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","viewable","settings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","_react","createElement","default","label","__","id"],"sources":["@wordpress/editor/src/components/post-template/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport ClassicThemeControl from './classic-theme';\nimport BlockThemeControl from './block-theme';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostTemplatePanel() {\n\tconst { templateId, isBlockTheme } = useSelect( ( select ) => {\n\t\tconst { getCurrentTemplateId, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\tisBlockTheme: getEditorSettings().__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tconst hasTemplates =\n\t\t\t!! settings.availableTemplates &&\n\t\t\tObject.keys( settings.availableTemplates ).length > 0;\n\t\tif ( hasTemplates ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( ! settings.supportsTemplateMode ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst canCreateTemplates =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\t\treturn canCreateTemplates;\n\t}, [] );\n\n\tif ( ! isBlockTheme && isVisible ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<ClassicThemeControl />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\n\tif ( isBlockTheme && !! templateId ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<BlockThemeControl id={ templateId } />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\treturn null;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,WAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,aAAA,GAAAF,sBAAA,CAAAL,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAMe,SAASQ,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC7D,MAAM;MAAEC,oBAAoB;MAAEC;IAAkB,CAAC,GAChDF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNN,UAAU,EAAEI,oBAAoB,CAAC,CAAC;MAClCH,YAAY,EAAEI,iBAAiB,CAAC,CAAC,CAACE;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,SAAS,GAAG,IAAAN,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAM,eAAA;IAC1C,MAAMC,YAAY,GAAGP,MAAM,CAAEG,YAAY,CAAC,CAACK,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGT,MAAM,CAAEU,eAAU,CAAC,CAACC,WAAW,CAAEJ,YAAa,CAAC;IAChE,IAAK,CAAEE,QAAQ,EAAEG,QAAQ,EAAG;MAC3B,OAAO,KAAK;IACb;IAEA,MAAMC,QAAQ,GAAGb,MAAM,CAAEG,YAAY,CAAC,CAACD,iBAAiB,CAAC,CAAC;IAC1D,MAAMY,YAAY,GACjB,CAAC,CAAED,QAAQ,CAACE,kBAAkB,IAC9BC,MAAM,CAACC,IAAI,CAAEJ,QAAQ,CAACE,kBAAmB,CAAC,CAACG,MAAM,GAAG,CAAC;IACtD,IAAKJ,YAAY,EAAG;MACnB,OAAO,IAAI;IACZ;IAEA,IAAK,CAAED,QAAQ,CAACM,oBAAoB,EAAG;MACtC,OAAO,KAAK;IACb;IAEA,MAAMC,kBAAkB,IAAAd,eAAA,GACvBN,MAAM,CAAEU,eAAU,CAAC,CAACW,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,cAAAf,eAAA,cAAAA,eAAA,GAAI,KAAK;IAC9D,OAAOc,kBAAkB;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,
|
|
1
|
+
{"version":3,"names":["_data","require","_i18n","_coreData","_store","_classicTheme","_interopRequireDefault","_blockTheme","_postPanelRow","PostTemplatePanel","templateId","isBlockTheme","useSelect","select","getCurrentTemplateId","getEditorSettings","editorStore","__unstableIsBlockBasedTheme","isVisible","_select$canUser","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","viewable","settings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","canViewTemplates","_select$canUser2","_react","createElement","default","label","__","id"],"sources":["@wordpress/editor/src/components/post-template/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport ClassicThemeControl from './classic-theme';\nimport BlockThemeControl from './block-theme';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostTemplatePanel() {\n\tconst { templateId, isBlockTheme } = useSelect( ( select ) => {\n\t\tconst { getCurrentTemplateId, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\tisBlockTheme: getEditorSettings().__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tconst hasTemplates =\n\t\t\t!! settings.availableTemplates &&\n\t\t\tObject.keys( settings.availableTemplates ).length > 0;\n\t\tif ( hasTemplates ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( ! settings.supportsTemplateMode ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst canCreateTemplates =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\t\treturn canCreateTemplates;\n\t}, [] );\n\n\tconst canViewTemplates = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'read', 'templates' ) ?? false;\n\t}, [] );\n\n\tif ( ( ! isBlockTheme || ! canViewTemplates ) && isVisible ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<ClassicThemeControl />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\n\tif ( isBlockTheme && !! templateId ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<BlockThemeControl id={ templateId } />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\treturn null;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,WAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,aAAA,GAAAF,sBAAA,CAAAL,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAMe,SAASQ,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC7D,MAAM;MAAEC,oBAAoB;MAAEC;IAAkB,CAAC,GAChDF,MAAM,CAAEG,YAAY,CAAC;IACtB,OAAO;MACNN,UAAU,EAAEI,oBAAoB,CAAC,CAAC;MAClCH,YAAY,EAAEI,iBAAiB,CAAC,CAAC,CAACE;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,SAAS,GAAG,IAAAN,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAM,eAAA;IAC1C,MAAMC,YAAY,GAAGP,MAAM,CAAEG,YAAY,CAAC,CAACK,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGT,MAAM,CAAEU,eAAU,CAAC,CAACC,WAAW,CAAEJ,YAAa,CAAC;IAChE,IAAK,CAAEE,QAAQ,EAAEG,QAAQ,EAAG;MAC3B,OAAO,KAAK;IACb;IAEA,MAAMC,QAAQ,GAAGb,MAAM,CAAEG,YAAY,CAAC,CAACD,iBAAiB,CAAC,CAAC;IAC1D,MAAMY,YAAY,GACjB,CAAC,CAAED,QAAQ,CAACE,kBAAkB,IAC9BC,MAAM,CAACC,IAAI,CAAEJ,QAAQ,CAACE,kBAAmB,CAAC,CAACG,MAAM,GAAG,CAAC;IACtD,IAAKJ,YAAY,EAAG;MACnB,OAAO,IAAI;IACZ;IAEA,IAAK,CAAED,QAAQ,CAACM,oBAAoB,EAAG;MACtC,OAAO,KAAK;IACb;IAEA,MAAMC,kBAAkB,IAAAd,eAAA,GACvBN,MAAM,CAAEU,eAAU,CAAC,CAACW,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,cAAAf,eAAA,cAAAA,eAAA,GAAI,KAAK;IAC9D,OAAOc,kBAAkB;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,gBAAgB,GAAG,IAAAvB,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAuB,gBAAA;IACjD,QAAAA,gBAAA,GAAOvB,MAAM,CAAEU,eAAU,CAAC,CAACW,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,cAAAE,gBAAA,cAAAA,gBAAA,GAAI,KAAK;EACnE,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAE,CAAEzB,YAAY,IAAI,CAAEwB,gBAAgB,KAAMjB,SAAS,EAAG;IAC5D,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAC9B,aAAA,CAAA+B,OAAY;MAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW;IAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA,EAACjC,aAAA,CAAAkC,OAAmB,MAAE,CACT,CAAC;EAEjB;EAEA,IAAK5B,YAAY,IAAI,CAAC,CAAED,UAAU,EAAG;IACpC,OACC,IAAA2B,MAAA,CAAAC,aAAA,EAAC9B,aAAA,CAAA+B,OAAY;MAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW;IAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAgC,OAAiB;MAACG,EAAE,EAAGhC;IAAY,CAAE,CACzB,CAAC;EAEjB;EACA,OAAO,IAAI;AACZ"}
|
|
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.REGEXP_NEWLINES = exports.DEFAULT_CLASSNAMES = void 0;
|
|
7
|
-
const DEFAULT_CLASSNAMES = 'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';
|
|
8
|
-
exports.
|
|
9
|
-
const REGEXP_NEWLINES = /[\r\n]+/g;
|
|
10
|
-
exports.REGEXP_NEWLINES = REGEXP_NEWLINES;
|
|
7
|
+
const DEFAULT_CLASSNAMES = exports.DEFAULT_CLASSNAMES = 'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';
|
|
8
|
+
const REGEXP_NEWLINES = exports.REGEXP_NEWLINES = /[\r\n]+/g;
|
|
11
9
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_CLASSNAMES","exports","REGEXP_NEWLINES"],"sources":["@wordpress/editor/src/components/post-title/constants.js"],"sourcesContent":["export const DEFAULT_CLASSNAMES =\n\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';\n\nexport const REGEXP_NEWLINES = /[\\r\\n]+/g;\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,
|
|
1
|
+
{"version":3,"names":["DEFAULT_CLASSNAMES","exports","REGEXP_NEWLINES"],"sources":["@wordpress/editor/src/components/post-title/constants.js"],"sourcesContent":["export const DEFAULT_CLASSNAMES =\n\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';\n\nexport const REGEXP_NEWLINES = /[\\r\\n]+/g;\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAC9B,kHAAkH;AAE5G,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,UAAU"}
|
|
@@ -194,7 +194,7 @@ function PostTitle(_, forwardedRef) {
|
|
|
194
194
|
'is-selected': isSelected,
|
|
195
195
|
'has-fixed-toolbar': hasFixedToolbar
|
|
196
196
|
});
|
|
197
|
-
return
|
|
197
|
+
return /* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */(
|
|
198
198
|
(0, _react.createElement)(_postTypeSupportCheck.default, {
|
|
199
199
|
supportKeys: "title"
|
|
200
200
|
}, (0, _react.createElement)("h1", {
|
|
@@ -213,6 +213,5 @@ function PostTitle(_, forwardedRef) {
|
|
|
213
213
|
/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */
|
|
214
214
|
);
|
|
215
215
|
}
|
|
216
|
-
var _default = (0, _element.forwardRef)(PostTitle);
|
|
217
|
-
exports.default = _default;
|
|
216
|
+
var _default = exports.default = (0, _element.forwardRef)(PostTitle);
|
|
218
217
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_store","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getEditedPostAttribute","editorStore","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","title","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","forwardRef","exports"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_store","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","useSelect","select","getEditedPostAttribute","editorStore","getSettings","blockEditorStore","titlePlaceholder","_hasFixedToolbar","title","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","classnames","DEFAULT_CLASSNAMES","_react","createElement","default","supportKeys","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
|
|
@@ -168,7 +168,7 @@ class PostTitle extends _element.Component {
|
|
|
168
168
|
}));
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
var _default = (0, _compose.compose)((0, _data.withSelect)(select => {
|
|
171
|
+
var _default = exports.default = (0, _compose.compose)((0, _data.withSelect)(select => {
|
|
172
172
|
const {
|
|
173
173
|
isPostTitleSelected,
|
|
174
174
|
getEditedPostAttribute
|
|
@@ -224,5 +224,4 @@ var _default = (0, _compose.compose)((0, _data.withSelect)(select => {
|
|
|
224
224
|
}
|
|
225
225
|
};
|
|
226
226
|
}), _compose.withInstanceId, _components.withFocusOutside)(PostTitle);
|
|
227
|
-
exports.default = _default;
|
|
228
227
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_richText","_htmlEntities","_data","_components","_compose","_i18n","_blocks","_blockEditor","_editor","_dom","_style","_interopRequireDefault","PostTitle","Component","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","value","plainText","html","title","onInsertBlockAfter","onUpdate","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","newValue","insert","create","toHTMLString","richText","getTitle","postType","__","sprintf","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","decodeEntities","borderColor","titleStyles","text","color","placeholderColor","_react","createElement","View","testID","styles","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","RichText","Raw","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","_default","compose","withSelect","select","isPostTitleSelected","getEditedPostAttribute","editorStore","getSelectedBlockClientId","getBlockRootClientId","getSettings","blockEditorStore","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","withDispatch","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks","withInstanceId","withFocusOutside","exports","default"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst { title, onInsertBlockAfter, onUpdate } = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t}\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName={ 'p' }\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight={ 'bold' }\n\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu={ true }\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_richText","_htmlEntities","_data","_components","_compose","_i18n","_blocks","_blockEditor","_editor","_dom","_style","_interopRequireDefault","PostTitle","Component","constructor","props","setRef","bind","onPaste","componentDidUpdate","prevProps","isSelected","isAnyBlockSelected","richTextRef","blur","onUnselect","componentDidMount","innerRef","handleFocusOutside","focus","onSelect","value","plainText","html","title","onInsertBlockAfter","onUpdate","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","newValue","insert","create","toHTMLString","richText","getTitle","postType","__","sprintf","render","placeholder","style","focusedBorderColor","borderStyle","isDimmed","globalStyles","decodedPlaceholder","decodeEntities","borderColor","titleStyles","text","color","placeholderColor","_react","createElement","View","testID","styles","titleContainer","dimmed","accessible","accessibilityLabel","accessibilityHint","RichText","Raw","tagName","tagsToEliminate","unstableOnFocus","onBlur","fontSize","lineHeight","fontWeight","deleteEnter","onChange","onSelectionChange","onEnter","onEnterPress","disableEditingMenu","__unstableIsSelected","__unstableOnCreateUndoLevel","_default","exports","default","compose","withSelect","select","isPostTitleSelected","getEditedPostAttribute","editorStore","getSelectedBlockClientId","getBlockRootClientId","getSettings","blockEditorStore","selectedId","selectionIsNested","__experimentalGlobalStylesBaseStyles","withDispatch","dispatch","undo","redo","togglePostTitleSelection","editPost","clearSelectedBlock","insertDefaultBlock","insertBlocks","undefined","onUndo","onRedo","blocks","withInstanceId","withFocusOutside"],"sources":["@wordpress/editor/src/components/post-title/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { create, toHTMLString, insert } from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore, RichText } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nclass PostTitle extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Unselect if any other block is selected and blur the RichText.\n\t\tif (\n\t\t\tthis.props.isSelected &&\n\t\t\t! prevProps.isAnyBlockSelected &&\n\t\t\tthis.props.isAnyBlockSelected\n\t\t) {\n\t\t\tif ( this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t}\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.innerRef ) {\n\t\t\tthis.props.innerRef( this );\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.props.onUnselect();\n\t}\n\n\tfocus() {\n\t\tthis.props.onSelect();\n\t}\n\n\tonPaste( { value, plainText, html } ) {\n\t\tconst { title, onInsertBlockAfter, onUpdate } = this.props;\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t}\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\tgetTitle( title, postType ) {\n\t\tif ( 'page' === postType ) {\n\t\t\treturn ! title\n\t\t\t\t? /* translators: accessibility text. empty page title. */\n\t\t\t\t __( 'Page title. Empty' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: text content of the page title. */\n\t\t\t\t\t\t__( 'Page title. %s' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t );\n\t\t}\n\n\t\treturn ! title\n\t\t\t? /* translators: accessibility text. empty post title. */\n\t\t\t __( 'Post title. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: text content of the post title. */\n\t\t\t\t\t__( 'Post title. %s' ),\n\t\t\t\t\ttitle\n\t\t\t );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tstyle,\n\t\t\ttitle,\n\t\t\tfocusedBorderColor,\n\t\t\tborderStyle,\n\t\t\tisDimmed,\n\t\t\tpostType,\n\t\t\tglobalStyles,\n\t\t} = this.props;\n\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\t\tconst borderColor = this.props.isSelected\n\t\t\t? focusedBorderColor\n\t\t\t: 'transparent';\n\t\tconst titleStyles = {\n\t\t\t...style,\n\t\t\t...( globalStyles?.text && {\n\t\t\t\tcolor: globalStyles.text,\n\t\t\t\tplaceholderColor: globalStyles.text,\n\t\t\t} ),\n\t\t};\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\ttestID=\"post-title\"\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.titleContainer,\n\t\t\t\t\tborderStyle,\n\t\t\t\t\t{ borderColor },\n\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t] }\n\t\t\t\taccessible={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\taccessibilityHint={ __( 'Updates the title.' ) }\n\t\t\t>\n\t\t\t\t<RichText.Raw\n\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\taccessibilityLabel={ this.getTitle( title, postType ) }\n\t\t\t\t\ttagName={ 'p' }\n\t\t\t\t\ttagsToEliminate={ [ 'strong' ] }\n\t\t\t\t\tunstableOnFocus={ this.props.onSelect }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as a props.\n\t\t\t\t\tstyle={ titleStyles }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tfontSize={ 24 }\n\t\t\t\t\tlineHeight={ 1 }\n\t\t\t\t\tfontWeight={ 'bold' }\n\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tthis.props.onUpdate( value );\n\t\t\t\t\t} }\n\t\t\t\t\tonPaste={ this.onPaste }\n\t\t\t\t\tplaceholder={ decodedPlaceholder }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonSelectionChange={ () => {} }\n\t\t\t\t\tonEnter={ this.props.onEnterPress }\n\t\t\t\t\tdisableEditingMenu={ true }\n\t\t\t\t\t__unstableIsSelected={ this.props.isSelected }\n\t\t\t\t\t__unstableOnCreateUndoLevel={ () => {} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isPostTitleSelected, getEditedPostAttribute } =\n\t\t\tselect( editorStore );\n\t\tconst { getSelectedBlockClientId, getBlockRootClientId, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst selectedId = getSelectedBlockClientId();\n\t\tconst selectionIsNested = !! getBlockRootClientId( selectedId );\n\t\tconst globalStyles =\n\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color;\n\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tisAnyBlockSelected: !! selectedId,\n\t\t\tisSelected: isPostTitleSelected(),\n\t\t\tisDimmed: selectionIsNested,\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { undo, redo, togglePostTitleSelection, editPost } =\n\t\t\tdispatch( editorStore );\n\n\t\tconst { clearSelectedBlock, insertDefaultBlock, insertBlocks } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonEnterPress() {\n\t\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t\t},\n\t\t\tonUndo: undo,\n\t\t\tonRedo: redo,\n\t\t\tonSelect() {\n\t\t\t\ttogglePostTitleSelection( true );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\tonUnselect() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\tonUpdate( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, 0 );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n"],"mappings":"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"}
|
|
@@ -87,6 +87,5 @@ function PostTitleRaw(_, forwardedRef) {
|
|
|
87
87
|
__nextHasNoMarginBottom: true
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
var _default = (0, _element.forwardRef)(PostTitleRaw);
|
|
91
|
-
exports.default = _default;
|
|
90
|
+
var _default = exports.default = (0, _element.forwardRef)(PostTitleRaw);
|
|
92
91
|
//# sourceMappingURL=post-title-raw.js.map
|