@wordpress/edit-post 6.11.0 → 6.12.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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 6.12.0 (2022-08-10)
6
+
5
7
  ## 6.11.0 (2022-07-27)
6
8
 
7
9
  ## 6.10.0 (2022-07-13)
@@ -106,7 +106,7 @@ function DeleteTemplate() {
106
106
  onClick: () => {
107
107
  setShowConfirmDialog(true);
108
108
  },
109
- info: isRevertable ? (0, _i18n.__)('Restore template to default state') : undefined
109
+ info: isRevertable ? (0, _i18n.__)('Use the template as supplied by the theme.') : undefined
110
110
  }, isRevertable ? (0, _i18n.__)('Clear customizations') : (0, _i18n.__)('Delete template')), (0, _element.createElement)(_components.__experimentalConfirmDialog, {
111
111
  isOpen: showConfirmDialog,
112
112
  onConfirm: onDelete,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/template-title/delete-template.js"],"names":["DeleteTemplate","clearSelectedBlock","blockEditorStore","setIsEditingTemplate","editPostStore","getEditorSettings","editorStore","updateEditorSettings","editPost","deleteEntityRecord","coreStore","template","select","isEditingTemplate","getEditedPostTemplate","_isEditing","showConfirmDialog","setShowConfirmDialog","wp_id","templateTitle","slug","title","isRevertable","has_theme_file","onDelete","settings","newAvailableTemplates","availableTemplates","_title","id","throwOnError","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pickBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nexport default function DeleteTemplate() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst { getEditorSettings } = useSelect( editorStore );\n\tconst { updateEditorSettings, editPost } = useDispatch( editorStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst { template } = useSelect( ( select ) => {\n\t\tconst { isEditingTemplate, getEditedPostTemplate } =\n\t\t\tselect( editPostStore );\n\t\tconst _isEditing = isEditingTemplate();\n\t\treturn {\n\t\t\ttemplate: _isEditing ? getEditedPostTemplate() : null,\n\t\t};\n\t}, [] );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! template || ! template.wp_id ) {\n\t\treturn null;\n\t}\n\tlet templateTitle = template.slug;\n\tif ( template?.title ) {\n\t\ttemplateTitle = template.title;\n\t}\n\n\tconst isRevertable = template?.has_theme_file;\n\n\tconst onDelete = () => {\n\t\tclearSelectedBlock();\n\t\tsetIsEditingTemplate( false );\n\t\tsetShowConfirmDialog( false );\n\n\t\teditPost( {\n\t\t\ttemplate: '',\n\t\t} );\n\t\tconst settings = getEditorSettings();\n\t\tconst newAvailableTemplates = pickBy(\n\t\t\tsettings.availableTemplates,\n\t\t\t( _title, id ) => {\n\t\t\t\treturn id !== template.slug;\n\t\t\t}\n\t\t);\n\t\tupdateEditorSettings( {\n\t\t\t...settings,\n\t\t\tavailableTemplates: newAvailableTemplates,\n\t\t} );\n\t\tdeleteEntityRecord( 'postType', 'wp_template', template.id, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<MenuGroup className=\"edit-post-template-top-area__second-menu-group\">\n\t\t\t<>\n\t\t\t\t<MenuItem\n\t\t\t\t\tclassName=\"edit-post-template-top-area__delete-template-button\"\n\t\t\t\t\tisDestructive={ ! isRevertable }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t} }\n\t\t\t\t\tinfo={\n\t\t\t\t\t\tisRevertable\n\t\t\t\t\t\t\t? __( 'Restore template to default state' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isRevertable\n\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t: __( 'Delete template' ) }\n\t\t\t\t</MenuItem>\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ onDelete }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: template name */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete the %s template? It may be used by other pages or posts.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t</>\n\t\t</MenuGroup>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/template-title/delete-template.js"],"names":["DeleteTemplate","clearSelectedBlock","blockEditorStore","setIsEditingTemplate","editPostStore","getEditorSettings","editorStore","updateEditorSettings","editPost","deleteEntityRecord","coreStore","template","select","isEditingTemplate","getEditedPostTemplate","_isEditing","showConfirmDialog","setShowConfirmDialog","wp_id","templateTitle","slug","title","isRevertable","has_theme_file","onDelete","settings","newAvailableTemplates","availableTemplates","_title","id","throwOnError","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pickBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nexport default function DeleteTemplate() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst { getEditorSettings } = useSelect( editorStore );\n\tconst { updateEditorSettings, editPost } = useDispatch( editorStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst { template } = useSelect( ( select ) => {\n\t\tconst { isEditingTemplate, getEditedPostTemplate } =\n\t\t\tselect( editPostStore );\n\t\tconst _isEditing = isEditingTemplate();\n\t\treturn {\n\t\t\ttemplate: _isEditing ? getEditedPostTemplate() : null,\n\t\t};\n\t}, [] );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! template || ! template.wp_id ) {\n\t\treturn null;\n\t}\n\tlet templateTitle = template.slug;\n\tif ( template?.title ) {\n\t\ttemplateTitle = template.title;\n\t}\n\n\tconst isRevertable = template?.has_theme_file;\n\n\tconst onDelete = () => {\n\t\tclearSelectedBlock();\n\t\tsetIsEditingTemplate( false );\n\t\tsetShowConfirmDialog( false );\n\n\t\teditPost( {\n\t\t\ttemplate: '',\n\t\t} );\n\t\tconst settings = getEditorSettings();\n\t\tconst newAvailableTemplates = pickBy(\n\t\t\tsettings.availableTemplates,\n\t\t\t( _title, id ) => {\n\t\t\t\treturn id !== template.slug;\n\t\t\t}\n\t\t);\n\t\tupdateEditorSettings( {\n\t\t\t...settings,\n\t\t\tavailableTemplates: newAvailableTemplates,\n\t\t} );\n\t\tdeleteEntityRecord( 'postType', 'wp_template', template.id, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<MenuGroup className=\"edit-post-template-top-area__second-menu-group\">\n\t\t\t<>\n\t\t\t\t<MenuItem\n\t\t\t\t\tclassName=\"edit-post-template-top-area__delete-template-button\"\n\t\t\t\t\tisDestructive={ ! isRevertable }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t} }\n\t\t\t\t\tinfo={\n\t\t\t\t\t\tisRevertable\n\t\t\t\t\t\t\t? __( 'Use the template as supplied by the theme.' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isRevertable\n\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t: __( 'Delete template' ) }\n\t\t\t\t</MenuItem>\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ onDelete }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: template name */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete the %s template? It may be used by other pages or posts.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t</>\n\t\t</MenuGroup>\n\t);\n}\n"]}
@@ -21,6 +21,8 @@ var _coreData = require("@wordpress/core-data");
21
21
 
22
22
  var _form = _interopRequireDefault(require("./form"));
23
23
 
24
+ var _store = require("../../../store");
25
+
24
26
  /**
25
27
  * WordPress dependencies
26
28
  */
@@ -97,24 +99,20 @@ function PostTemplateToggle(_ref3) {
97
99
  onClick
98
100
  } = _ref3;
99
101
  const templateTitle = (0, _data.useSelect)(select => {
100
- var _select$getEntityReco;
102
+ var _template$title;
101
103
 
102
104
  const templateSlug = select(_editor.store).getEditedPostAttribute('template');
103
- const settings = select(_editor.store).getEditorSettings();
105
+ const {
106
+ supportsTemplateMode,
107
+ availableTemplates
108
+ } = select(_editor.store).getEditorSettings();
104
109
 
105
- if (settings.availableTemplates[templateSlug]) {
106
- return settings.availableTemplates[templateSlug];
110
+ if (!supportsTemplateMode && availableTemplates[templateSlug]) {
111
+ return availableTemplates[templateSlug];
107
112
  }
108
113
 
109
- const template = (_select$getEntityReco = select(_coreData.store).getEntityRecords('postType', 'wp_template', {
110
- per_page: -1
111
- })) === null || _select$getEntityReco === void 0 ? void 0 : _select$getEntityReco.find(_ref4 => {
112
- let {
113
- slug
114
- } = _ref4;
115
- return slug === templateSlug;
116
- });
117
- return template === null || template === void 0 ? void 0 : template.title.rendered;
114
+ const template = select(_store.store).getEditedPostTemplate();
115
+ return (_template$title = template === null || template === void 0 ? void 0 : template.title) !== null && _template$title !== void 0 ? _template$title : template === null || template === void 0 ? void 0 : template.slug;
118
116
  }, []);
119
117
  return (0, _element.createElement)(_components.Button, {
120
118
  className: "edit-post-post-template__toggle",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/index.js"],"names":["PostTemplate","anchorRef","isVisible","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","viewable","settings","getEditorSettings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","isOpen","onToggle","onClose","PostTemplateToggle","onClick","templateTitle","templateSlug","getEditedPostAttribute","template","getEntityRecords","per_page","find","slug","title","rendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateForm from './form';\n\nexport default function PostTemplate() {\n\tconst anchorRef = useRef();\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 ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-post-template\" ref={ anchorRef }>\n\t\t\t<span>{ __( 'Template' ) }</span>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\tposition=\"bottom left\"\n\t\t\t\tclassName=\"edit-post-post-template__dropdown\"\n\t\t\t\tcontentClassName=\"edit-post-post-template__dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostTemplateToggle\n\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PostTemplateForm onClose={ onClose } />\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelRow>\n\t);\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 settings = select( editorStore ).getEditorSettings();\n\t\tif ( settings.availableTemplates[ templateSlug ] ) {\n\t\t\treturn settings.availableTemplates[ templateSlug ];\n\t\t}\n\n\t\tconst template = select( coreStore )\n\t\t\t.getEntityRecords( 'postType', 'wp_template', { per_page: -1 } )\n\t\t\t?.find( ( { slug } ) => slug === templateSlug );\n\n\t\treturn template?.title.rendered;\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={\n\t\t\t\ttemplateTitle\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the currently selected template.\n\t\t\t\t\t\t\t__( 'Select template: %s' ),\n\t\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Select template' )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/index.js"],"names":["PostTemplate","anchorRef","isVisible","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","viewable","settings","getEditorSettings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","isOpen","onToggle","onClose","PostTemplateToggle","onClick","templateTitle","templateSlug","getEditedPostAttribute","template","editPostStore","getEditedPostTemplate","title","slug"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateForm from './form';\nimport { store as editPostStore } from '../../../store';\n\nexport default function PostTemplate() {\n\tconst anchorRef = useRef();\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 ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-post-template\" ref={ anchorRef }>\n\t\t\t<span>{ __( 'Template' ) }</span>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\tposition=\"bottom left\"\n\t\t\t\tclassName=\"edit-post-post-template__dropdown\"\n\t\t\t\tcontentClassName=\"edit-post-post-template__dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostTemplateToggle\n\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PostTemplateForm onClose={ onClose } />\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelRow>\n\t);\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\n\t\tconst template = select( editPostStore ).getEditedPostTemplate();\n\t\treturn template?.title ?? template?.slug;\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={\n\t\t\t\ttemplateTitle\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the currently selected template.\n\t\t\t\t\t\t\t__( 'Select template: %s' ),\n\t\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Select template' )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n"]}
@@ -125,12 +125,14 @@ function VisualEditor(_ref2) {
125
125
  } = (0, _data.useSelect)(_editor.store);
126
126
  const hasMetaBoxes = (0, _data.useSelect)(select => select(_store.store).hasMetaBoxes(), []);
127
127
  const {
128
+ themeHasDisabledLayoutStyles,
128
129
  themeSupportsLayout,
129
130
  assets
130
131
  } = (0, _data.useSelect)(select => {
131
132
  const _settings = select(_blockEditor.store).getSettings();
132
133
 
133
134
  return {
135
+ themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
134
136
  themeSupportsLayout: _settings.supportsLayout,
135
137
  assets: _settings.__unstableResolvedAssets
136
138
  };
@@ -175,7 +177,6 @@ function VisualEditor(_ref2) {
175
177
  const ref = (0, _element.useRef)();
176
178
  const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseClipboardHandler)(), (0, _blockEditor.__unstableUseTypewriter)(), (0, _blockEditor.__unstableUseTypingObserver)(), (0, _blockEditor.__unstableUseBlockSelectionClearer)()]);
177
179
  const blockSelectionClearerRef = (0, _blockEditor.__unstableUseBlockSelectionClearer)();
178
- const [, RecursionProvider] = (0, _blockEditor.__experimentalUseNoRecursiveRenders)(wrapperUniqueId, wrapperBlockName);
179
180
  const layout = (0, _element.useMemo)(() => {
180
181
  if (isTemplateMode) {
181
182
  return {
@@ -229,7 +230,7 @@ function VisualEditor(_ref2) {
229
230
  style: {
230
231
  paddingBottom
231
232
  }
232
- }, themeSupportsLayout && !isTemplateMode && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
233
+ }, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
233
234
  selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
234
235
  layout: defaultLayout,
235
236
  layoutDefinitions: defaultLayout === null || defaultLayout === void 0 ? void 0 : defaultLayout.definitions
@@ -238,7 +239,10 @@ function VisualEditor(_ref2) {
238
239
  contentEditable: false
239
240
  }, (0, _element.createElement)(_editor.PostTitle, {
240
241
  ref: titleRef
241
- })), (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockList, {
242
+ })), (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
243
+ blockName: wrapperBlockName,
244
+ uniqueId: wrapperUniqueId
245
+ }, (0, _element.createElement)(_blockEditor.BlockList, {
242
246
  className: isTemplateMode ? 'wp-site-blocks' : 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.
243
247
  ,
244
248
  __experimentalLayout: layout
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","editorStore","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeSupportsLayout","_settings","blockEditorStore","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","titleRef","current","focus","padding","arrowLeft","definitions","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t\tlayoutDefinitions={ defaultLayout?.definitions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","editorStore","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","layout","type","undefined","titleRef","current","focus","padding","arrowLeft","definitions","onClose"],"mappings":";;;;;;;;;AA+BA;;AA5BA;;AAKA;;AAKA;;AAmBA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AA1CA;AACA;AACA;;AAGA;AACA;AACA;;AA+BA;AACA;AACA;AAIA,SAASA,WAAT,OAOI;AAAA,MAPkB;AACrBC,IAAAA,QADqB;AAErBC,IAAAA,UAFqB;AAGrBC,IAAAA,YAHqB;AAIrBC,IAAAA,MAJqB;AAKrBC,IAAAA,MALqB;AAMrBC,IAAAA;AANqB,GAOlB;AACH,QAAMC,GAAG,GAAG,qDAAZ;;AAEA,MAAK,CAAEJ,YAAP,EAAsB;AACrB,WACC,qDACC,4BAAC,mCAAD;AAAc,MAAA,MAAM,EAAGC;AAAvB,MADD,EAEC,4BAAC,wBAAD;AACC,MAAA,GAAG,EAAGF,UADP;AAEC,MAAA,SAAS,EAAC,uBAFX;AAGC,MAAA,KAAK,EAAG;AAAEM,QAAAA,IAAI,EAAE,GAAR;AAAa,WAAGF;AAAhB,OAHT;AAIC,MAAA,QAAQ,EAAG,CAAC;AAJb,OAMGL,QANH,CAFD,CADD;AAaA;;AAED,SACC,4BAAC,6BAAD;AACC,IAAA,IAAI,EAAG,4BAAC,mCAAD;AAAc,MAAA,MAAM,EAAGG;AAAvB,MADR;AAEC,IAAA,MAAM,EAAGC,MAFV;AAGC,IAAA,GAAG,EAAGE,GAHP;AAIC,IAAA,UAAU,EAAGL,UAJd;AAKC,IAAA,KAAK,EAAG;AAAEO,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,MAAM,EAAE,MAAzB;AAAiCC,MAAAA,OAAO,EAAE;AAA1C,KALT;AAMC,IAAA,IAAI,EAAC;AANN,KAQGV,QARH,CADD;AAYA;;AAEc,SAASW,YAAT,QAAoC;AAAA,MAAb;AAAER,IAAAA;AAAF,GAAa;AAClD,QAAM;AACLS,IAAAA,UADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA,cAHK;AAILC,IAAAA,gBAJK;AAKLC,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAC5B,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,iBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA2CN,MAAM,CAAEO,aAAF,CAAvD;;AACA,UAAMC,eAAe,GAAGN,iBAAiB,EAAzC;;AACA,QAAIO,iBAAJ;;AAEA,QAAKH,kBAAkB,OAAO,UAA9B,EAA2C;AAC1CG,MAAAA,iBAAiB,GAAG,YAApB;AACA,KAFD,MAEO,IAAK,CAAED,eAAP,EAAyB;AAC/BC,MAAAA,iBAAiB,GAAG,mBAApB;AACA;;AAED,WAAO;AACNd,MAAAA,UAAU,EAAEQ,kCAAkC,EADxC;AAENP,MAAAA,qBAAqB,EAAEK,eAAe,CAAE,cAAF,CAFhC;AAGNJ,MAAAA,cAAc,EAAEW,eAHV;AAINV,MAAAA,gBAAgB,EAAEW,iBAJZ;AAKNV,MAAAA,eAAe,EAAEM,gBAAgB;AAL3B,KAAP;AAOA,GAvBG,EAuBD,EAvBC,CANJ;AA8BA,QAAM;AAAEK,IAAAA;AAAF,MAAqB,qBAAWH,aAAX,CAA3B;AACA,QAAMI,YAAY,GAAG,qBAClBX,MAAF,IAAcA,MAAM,CAAEI,YAAF,CAAN,CAAwBO,YAAxB,EADM,EAEpB,EAFoB,CAArB;AAIA,QAAM;AAAEC,IAAAA,4BAAF;AAAgCC,IAAAA,mBAAhC;AAAqD1B,IAAAA;AAArD,MACL,qBAAaa,MAAF,IAAc;AACxB,UAAMc,SAAS,GAAGd,MAAM,CAAEe,kBAAF,CAAN,CAA2BC,WAA3B,EAAlB;;AACA,WAAO;AACNJ,MAAAA,4BAA4B,EAAEE,SAAS,CAACG,mBADlC;AAENJ,MAAAA,mBAAmB,EAAEC,SAAS,CAACI,cAFzB;AAGN/B,MAAAA,MAAM,EAAE2B,SAAS,CAACK;AAHZ,KAAP;AAKA,GAPD,EAOG,EAPH,CADD;AASA,QAAM;AAAEC,IAAAA;AAAF,MAAyB,uBAAaL,kBAAb,CAA/B;AACA,QAAM;AAAEM,IAAAA;AAAF,MAA2B,uBAAajB,YAAb,CAAjC;AACA,QAAMkB,mBAAmB,GAAG;AAC3B9B,IAAAA,MAAM,EAAE,MADmB;AAE3BD,IAAAA,KAAK,EAAE,MAFoB;AAG3BgC,IAAAA,MAAM,EAAE,CAHmB;AAI3B9B,IAAAA,OAAO,EAAE,MAJkB;AAK3B+B,IAAAA,QAAQ,EAAE,QALiB;AAM3B;AACA;AACAC,IAAAA,UAAU,EAAE;AARe,GAA5B;AAUA,QAAMC,kBAAkB,GAAG,EAC1B,GAAGJ,mBADuB;AAE1BK,IAAAA,YAAY,EAAE,aAFY;AAG1BC,IAAAA,MAAM,EAAE,gBAHkB;AAI1BC,IAAAA,YAAY,EAAE;AAJY,GAA3B;AAMA,QAAMC,mBAAmB,GAAG,gDAAiBnC,UAAjB,EAA6BE,cAA7B,CAA5B;AACA,QAAMkC,aAAa,GAAG,6BAAY,QAAZ,CAAtB;AACA,QAAMC,WAAW,GAAG,QAAQrC,UAAU,CAACsC,WAAX,EAAR,GAAmC,UAAvD;AAEA,MAAIC,cAAc,GAAGrC,cAAc,GAChC6B,kBADgC,GAEhCJ,mBAFH;;AAGA,MAAKQ,mBAAL,EAA2B;AAC1BI,IAAAA,cAAc,GAAGJ,mBAAjB;AACA;;AAED,MAAIK,aAAJ,CA1EkD,CA4ElD;AACA;;AACA,MAAK,CAAExB,YAAF,IAAkB,CAAEmB,mBAApB,IAA2C,CAAEjC,cAAlD,EAAmE;AAClEsC,IAAAA,aAAa,GAAG,MAAhB;AACA;;AAED,QAAM9C,GAAG,GAAG,sBAAZ;AACA,QAAML,UAAU,GAAG,2BAAc,CAChCK,GADgC,EAEhC,iDAFgC,EAGhC,2CAHgC,EAIhC,+CAJgC,EAKhC,sDALgC,CAAd,CAAnB;AAQA,QAAM+C,wBAAwB,GAAG,sDAAjC;AAEA,QAAMC,MAAM,GAAG,sBAAS,MAAM;AAC7B,QAAKxC,cAAL,EAAsB;AACrB,aAAO;AAAEyC,QAAAA,IAAI,EAAE;AAAR,OAAP;AACA;;AAED,QAAKzB,mBAAL,EAA2B;AAC1B,aAAOkB,aAAP;AACA;;AAED,WAAOQ,SAAP;AACA,GAVc,EAUZ,CAAE1C,cAAF,EAAkBgB,mBAAlB,EAAuCkB,aAAvC,CAVY,CAAf;AAYA,QAAMS,QAAQ,GAAG,sBAAjB;AACA,0BAAW,MAAM;AAAA;;AAChB,QAAK5C,qBAAqB,IAAI,CAAEc,cAAc,EAA9C,EAAmD;AAClD;AACA;;AACD8B,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,iCAAAA,QAAQ,CAAEC,OAAV,wEAAmBC,KAAnB;AACA,GALD,EAKG,CAAE9C,qBAAF,EAAyBc,cAAzB,CALH;AAOA,SACC,4BAAC,uBAAD;AACC,IAAA,oBAAoB,EAAGrB,GADxB;AAEC,IAAA,SAAS,EAAG,yBAAY,yBAAZ,EAAuC;AAClD,0BAAoBQ;AAD8B,KAAvC;AAFb,KAMC,4BAAC,2CAAD,OAND,EAOC,4BAAC,4BAAD,CAAQ,GAAR;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,OAAO,EAAG;AACT8C,MAAAA,OAAO,EAAE9C,cAAc,GAAG,aAAH,GAAmB;AADjC,KAFX;AAKC,IAAA,GAAG,EAAGuC;AALP,KAOGvC,cAAc,IACf,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,IAAI,EAAG+C,gBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfxB,MAAAA,kBAAkB;AAClBC,MAAAA,oBAAoB,CAAE,KAAF,CAApB;AACA;AANF,KAQG,cAAI,MAAJ,CARH,CARF,EAmBC,4BAAC,4BAAD,CAAQ,GAAR;AACC,IAAA,OAAO,EAAGa,cADX;AAEC,IAAA,OAAO,EAAGZ,mBAFX;AAGC,IAAA,SAAS,EAAGU;AAHb,KAKC,4BAAC,WAAD;AACC,IAAA,YAAY,EACXnC,cAAc,IACdF,UAAU,KAAK,QADf,IAEAA,UAAU,KAAK,QAJjB;AAMC,IAAA,UAAU,EAAGX,UANd;AAOC,IAAA,MAAM,EAAGE,MAPV;AAQC,IAAA,MAAM,EAAGC,MARV;AASC,IAAA,KAAK,EAAG;AAAEgD,MAAAA;AAAF;AATT,KAWGtB,mBAAmB,IACpB,CAAED,4BADD,IAED,CAAEf,cAFD,IAGA,4BAAC,sCAAD;AACC,IAAA,QAAQ,EAAC,kGADV;AAEC,IAAA,MAAM,EAAGkC,aAFV;AAGC,IAAA,iBAAiB,EAChBA,aADgB,aAChBA,aADgB,uBAChBA,aAAa,CAAEc;AAJjB,IAdH,EAsBG,CAAEhD,cAAF,IACD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,eAAe,EAAG;AAFnB,KAIC,4BAAC,iBAAD;AAAW,IAAA,GAAG,EAAG2C;AAAjB,IAJD,CAvBF,EA8BC,4BAAC,4CAAD;AACC,IAAA,SAAS,EAAG1C,gBADb;AAEC,IAAA,QAAQ,EAAGC;AAFZ,KAIC,4BAAC,sBAAD;AACC,IAAA,SAAS,EACRF,cAAc,GACX,gBADW,GAEX,gBAHK,CAGY;AAJtB;AAMC,IAAA,oBAAoB,EAAGwC;AANxB,IAJD,CA9BD,CALD,CAnBD,CAPD,EA6EC,4BAAC,iDAAD,QACG;AAAA,QAAE;AAAES,MAAAA;AAAF,KAAF;AAAA,WACD,4BAAC,6BAAD;AAAsB,MAAA,OAAO,EAAGA;AAAhC,MADC;AAAA,GADH,CA7ED,CADD;AAqFA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeHasDisabledLayoutStyles, themeSupportsLayout, assets } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t\t};\n\t\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\tdefaultLayout?.definitions\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{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
@@ -92,7 +92,7 @@ export default function DeleteTemplate() {
92
92
  onClick: () => {
93
93
  setShowConfirmDialog(true);
94
94
  },
95
- info: isRevertable ? __('Restore template to default state') : undefined
95
+ info: isRevertable ? __('Use the template as supplied by the theme.') : undefined
96
96
  }, isRevertable ? __('Clear customizations') : __('Delete template')), createElement(ConfirmDialog, {
97
97
  isOpen: showConfirmDialog,
98
98
  onConfirm: onDelete,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/template-title/delete-template.js"],"names":["pickBy","__","sprintf","MenuGroup","MenuItem","__experimentalConfirmDialog","ConfirmDialog","store","blockEditorStore","useDispatch","useSelect","editorStore","coreStore","useState","editPostStore","DeleteTemplate","clearSelectedBlock","setIsEditingTemplate","getEditorSettings","updateEditorSettings","editPost","deleteEntityRecord","template","select","isEditingTemplate","getEditedPostTemplate","_isEditing","showConfirmDialog","setShowConfirmDialog","wp_id","templateTitle","slug","title","isRevertable","has_theme_file","onDelete","settings","newAvailableTemplates","availableTemplates","_title","id","throwOnError","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pickBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nexport default function DeleteTemplate() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst { getEditorSettings } = useSelect( editorStore );\n\tconst { updateEditorSettings, editPost } = useDispatch( editorStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst { template } = useSelect( ( select ) => {\n\t\tconst { isEditingTemplate, getEditedPostTemplate } =\n\t\t\tselect( editPostStore );\n\t\tconst _isEditing = isEditingTemplate();\n\t\treturn {\n\t\t\ttemplate: _isEditing ? getEditedPostTemplate() : null,\n\t\t};\n\t}, [] );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! template || ! template.wp_id ) {\n\t\treturn null;\n\t}\n\tlet templateTitle = template.slug;\n\tif ( template?.title ) {\n\t\ttemplateTitle = template.title;\n\t}\n\n\tconst isRevertable = template?.has_theme_file;\n\n\tconst onDelete = () => {\n\t\tclearSelectedBlock();\n\t\tsetIsEditingTemplate( false );\n\t\tsetShowConfirmDialog( false );\n\n\t\teditPost( {\n\t\t\ttemplate: '',\n\t\t} );\n\t\tconst settings = getEditorSettings();\n\t\tconst newAvailableTemplates = pickBy(\n\t\t\tsettings.availableTemplates,\n\t\t\t( _title, id ) => {\n\t\t\t\treturn id !== template.slug;\n\t\t\t}\n\t\t);\n\t\tupdateEditorSettings( {\n\t\t\t...settings,\n\t\t\tavailableTemplates: newAvailableTemplates,\n\t\t} );\n\t\tdeleteEntityRecord( 'postType', 'wp_template', template.id, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<MenuGroup className=\"edit-post-template-top-area__second-menu-group\">\n\t\t\t<>\n\t\t\t\t<MenuItem\n\t\t\t\t\tclassName=\"edit-post-template-top-area__delete-template-button\"\n\t\t\t\t\tisDestructive={ ! isRevertable }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t} }\n\t\t\t\t\tinfo={\n\t\t\t\t\t\tisRevertable\n\t\t\t\t\t\t\t? __( 'Restore template to default state' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isRevertable\n\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t: __( 'Delete template' ) }\n\t\t\t\t</MenuItem>\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ onDelete }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: template name */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete the %s template? It may be used by other pages or posts.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t</>\n\t\t</MenuGroup>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/template-title/delete-template.js"],"names":["pickBy","__","sprintf","MenuGroup","MenuItem","__experimentalConfirmDialog","ConfirmDialog","store","blockEditorStore","useDispatch","useSelect","editorStore","coreStore","useState","editPostStore","DeleteTemplate","clearSelectedBlock","setIsEditingTemplate","getEditorSettings","updateEditorSettings","editPost","deleteEntityRecord","template","select","isEditingTemplate","getEditedPostTemplate","_isEditing","showConfirmDialog","setShowConfirmDialog","wp_id","templateTitle","slug","title","isRevertable","has_theme_file","onDelete","settings","newAvailableTemplates","availableTemplates","_title","id","throwOnError","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pickBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nexport default function DeleteTemplate() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst { getEditorSettings } = useSelect( editorStore );\n\tconst { updateEditorSettings, editPost } = useDispatch( editorStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst { template } = useSelect( ( select ) => {\n\t\tconst { isEditingTemplate, getEditedPostTemplate } =\n\t\t\tselect( editPostStore );\n\t\tconst _isEditing = isEditingTemplate();\n\t\treturn {\n\t\t\ttemplate: _isEditing ? getEditedPostTemplate() : null,\n\t\t};\n\t}, [] );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! template || ! template.wp_id ) {\n\t\treturn null;\n\t}\n\tlet templateTitle = template.slug;\n\tif ( template?.title ) {\n\t\ttemplateTitle = template.title;\n\t}\n\n\tconst isRevertable = template?.has_theme_file;\n\n\tconst onDelete = () => {\n\t\tclearSelectedBlock();\n\t\tsetIsEditingTemplate( false );\n\t\tsetShowConfirmDialog( false );\n\n\t\teditPost( {\n\t\t\ttemplate: '',\n\t\t} );\n\t\tconst settings = getEditorSettings();\n\t\tconst newAvailableTemplates = pickBy(\n\t\t\tsettings.availableTemplates,\n\t\t\t( _title, id ) => {\n\t\t\t\treturn id !== template.slug;\n\t\t\t}\n\t\t);\n\t\tupdateEditorSettings( {\n\t\t\t...settings,\n\t\t\tavailableTemplates: newAvailableTemplates,\n\t\t} );\n\t\tdeleteEntityRecord( 'postType', 'wp_template', template.id, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<MenuGroup className=\"edit-post-template-top-area__second-menu-group\">\n\t\t\t<>\n\t\t\t\t<MenuItem\n\t\t\t\t\tclassName=\"edit-post-template-top-area__delete-template-button\"\n\t\t\t\t\tisDestructive={ ! isRevertable }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t} }\n\t\t\t\t\tinfo={\n\t\t\t\t\t\tisRevertable\n\t\t\t\t\t\t\t? __( 'Use the template as supplied by the theme.' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isRevertable\n\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t: __( 'Delete template' ) }\n\t\t\t\t</MenuItem>\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ onDelete }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetShowConfirmDialog( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: template name */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete the %s template? It may be used by other pages or posts.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t</>\n\t\t</MenuGroup>\n\t);\n}\n"]}
@@ -14,6 +14,7 @@ import { store as coreStore } from '@wordpress/core-data';
14
14
  */
15
15
 
16
16
  import PostTemplateForm from './form';
17
+ import { store as editPostStore } from '../../../store';
17
18
  export default function PostTemplate() {
18
19
  const anchorRef = useRef();
19
20
  const isVisible = useSelect(select => {
@@ -83,24 +84,20 @@ function PostTemplateToggle(_ref3) {
83
84
  onClick
84
85
  } = _ref3;
85
86
  const templateTitle = useSelect(select => {
86
- var _select$getEntityReco;
87
+ var _template$title;
87
88
 
88
89
  const templateSlug = select(editorStore).getEditedPostAttribute('template');
89
- const settings = select(editorStore).getEditorSettings();
90
+ const {
91
+ supportsTemplateMode,
92
+ availableTemplates
93
+ } = select(editorStore).getEditorSettings();
90
94
 
91
- if (settings.availableTemplates[templateSlug]) {
92
- return settings.availableTemplates[templateSlug];
95
+ if (!supportsTemplateMode && availableTemplates[templateSlug]) {
96
+ return availableTemplates[templateSlug];
93
97
  }
94
98
 
95
- const template = (_select$getEntityReco = select(coreStore).getEntityRecords('postType', 'wp_template', {
96
- per_page: -1
97
- })) === null || _select$getEntityReco === void 0 ? void 0 : _select$getEntityReco.find(_ref4 => {
98
- let {
99
- slug
100
- } = _ref4;
101
- return slug === templateSlug;
102
- });
103
- return template === null || template === void 0 ? void 0 : template.title.rendered;
99
+ const template = select(editPostStore).getEditedPostTemplate();
100
+ return (_template$title = template === null || template === void 0 ? void 0 : template.title) !== null && _template$title !== void 0 ? _template$title : template === null || template === void 0 ? void 0 : template.slug;
104
101
  }, []);
105
102
  return createElement(Button, {
106
103
  className: "edit-post-post-template__toggle",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/index.js"],"names":["useRef","PanelRow","Dropdown","Button","__","sprintf","useSelect","store","editorStore","coreStore","PostTemplateForm","PostTemplate","anchorRef","isVisible","select","postTypeSlug","getCurrentPostType","postType","getPostType","viewable","settings","getEditorSettings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","isOpen","onToggle","onClose","PostTemplateToggle","onClick","templateTitle","templateSlug","getEditedPostAttribute","template","getEntityRecords","per_page","find","slug","title","rendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateForm from './form';\n\nexport default function PostTemplate() {\n\tconst anchorRef = useRef();\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 ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-post-template\" ref={ anchorRef }>\n\t\t\t<span>{ __( 'Template' ) }</span>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\tposition=\"bottom left\"\n\t\t\t\tclassName=\"edit-post-post-template__dropdown\"\n\t\t\t\tcontentClassName=\"edit-post-post-template__dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostTemplateToggle\n\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PostTemplateForm onClose={ onClose } />\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelRow>\n\t);\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 settings = select( editorStore ).getEditorSettings();\n\t\tif ( settings.availableTemplates[ templateSlug ] ) {\n\t\t\treturn settings.availableTemplates[ templateSlug ];\n\t\t}\n\n\t\tconst template = select( coreStore )\n\t\t\t.getEntityRecords( 'postType', 'wp_template', { per_page: -1 } )\n\t\t\t?.find( ( { slug } ) => slug === templateSlug );\n\n\t\treturn template?.title.rendered;\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={\n\t\t\t\ttemplateTitle\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the currently selected template.\n\t\t\t\t\t\t\t__( 'Select template: %s' ),\n\t\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Select template' )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/index.js"],"names":["useRef","PanelRow","Dropdown","Button","__","sprintf","useSelect","store","editorStore","coreStore","PostTemplateForm","editPostStore","PostTemplate","anchorRef","isVisible","select","postTypeSlug","getCurrentPostType","postType","getPostType","viewable","settings","getEditorSettings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","isOpen","onToggle","onClose","PostTemplateToggle","onClick","templateTitle","templateSlug","getEditedPostAttribute","template","getEditedPostTemplate","title","slug"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateForm from './form';\nimport { store as editPostStore } from '../../../store';\n\nexport default function PostTemplate() {\n\tconst anchorRef = useRef();\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 ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-post-template\" ref={ anchorRef }>\n\t\t\t<span>{ __( 'Template' ) }</span>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\tposition=\"bottom left\"\n\t\t\t\tclassName=\"edit-post-post-template__dropdown\"\n\t\t\t\tcontentClassName=\"edit-post-post-template__dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostTemplateToggle\n\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PostTemplateForm onClose={ onClose } />\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelRow>\n\t);\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\n\t\tconst template = select( editPostStore ).getEditedPostTemplate();\n\t\treturn template?.title ?? template?.slug;\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={\n\t\t\t\ttemplateTitle\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the currently selected template.\n\t\t\t\t\t\t\t__( 'Select template: %s' ),\n\t\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Select template' )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n"]}
@@ -9,7 +9,7 @@ import classnames from 'classnames';
9
9
  */
10
10
 
11
11
  import { VisualEditorGlobalKeyboardShortcuts, PostTitle, store as editorStore } from '@wordpress/editor';
12
- import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __unstableBlockSettingsMenuFirstItem, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __experimentalLayoutStyle as LayoutStyle, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalUseNoRecursiveRenders as useNoRecursiveRenders } from '@wordpress/block-editor';
12
+ import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __unstableBlockSettingsMenuFirstItem, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __experimentalLayoutStyle as LayoutStyle, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalRecursionProvider as RecursionProvider } from '@wordpress/block-editor';
13
13
  import { useEffect, useRef, useMemo } from '@wordpress/element';
14
14
  import { Button, __unstableMotion as motion } from '@wordpress/components';
15
15
  import { useSelect, useDispatch } from '@wordpress/data';
@@ -108,12 +108,14 @@ export default function VisualEditor(_ref2) {
108
108
  } = useSelect(editorStore);
109
109
  const hasMetaBoxes = useSelect(select => select(editPostStore).hasMetaBoxes(), []);
110
110
  const {
111
+ themeHasDisabledLayoutStyles,
111
112
  themeSupportsLayout,
112
113
  assets
113
114
  } = useSelect(select => {
114
115
  const _settings = select(blockEditorStore).getSettings();
115
116
 
116
117
  return {
118
+ themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
117
119
  themeSupportsLayout: _settings.supportsLayout,
118
120
  assets: _settings.__unstableResolvedAssets
119
121
  };
@@ -158,7 +160,6 @@ export default function VisualEditor(_ref2) {
158
160
  const ref = useRef();
159
161
  const contentRef = useMergeRefs([ref, useClipboardHandler(), useTypewriter(), useTypingObserver(), useBlockSelectionClearer()]);
160
162
  const blockSelectionClearerRef = useBlockSelectionClearer();
161
- const [, RecursionProvider] = useNoRecursiveRenders(wrapperUniqueId, wrapperBlockName);
162
163
  const layout = useMemo(() => {
163
164
  if (isTemplateMode) {
164
165
  return {
@@ -212,7 +213,7 @@ export default function VisualEditor(_ref2) {
212
213
  style: {
213
214
  paddingBottom
214
215
  }
215
- }, themeSupportsLayout && !isTemplateMode && createElement(LayoutStyle, {
216
+ }, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(LayoutStyle, {
216
217
  selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
217
218
  layout: defaultLayout,
218
219
  layoutDefinitions: defaultLayout === null || defaultLayout === void 0 ? void 0 : defaultLayout.definitions
@@ -221,7 +222,10 @@ export default function VisualEditor(_ref2) {
221
222
  contentEditable: false
222
223
  }, createElement(PostTitle, {
223
224
  ref: titleRef
224
- })), createElement(RecursionProvider, null, createElement(BlockList, {
225
+ })), createElement(RecursionProvider, {
226
+ blockName: wrapperBlockName,
227
+ uniqueId: wrapperUniqueId
228
+ }, createElement(BlockList, {
225
229
  className: isTemplateMode ? 'wp-site-blocks' : 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.
226
230
  ,
227
231
  __experimentalLayout: layout
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","useEffect","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeSupportsLayout","_settings","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","titleRef","current","focus","padding","definitions","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t\tlayoutDefinitions={ defaultLayout?.definitions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalRecursionProvider","RecursionProvider","useEffect","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","getSettings","disableLayoutStyles","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","layout","type","undefined","titleRef","current","focus","padding","definitions","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeHasDisabledLayoutStyles, themeSupportsLayout, assets } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t\t};\n\t\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\tdefaultLayout?.definitions\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{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-post",
3
- "version": "6.11.0",
3
+ "version": "6.12.0",
4
4
  "description": "Edit Post module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,31 +27,31 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.14.0",
31
- "@wordpress/api-fetch": "^6.11.0",
32
- "@wordpress/block-editor": "^9.6.0",
33
- "@wordpress/block-library": "^7.11.0",
34
- "@wordpress/blocks": "^11.13.0",
35
- "@wordpress/components": "^19.16.0",
36
- "@wordpress/compose": "^5.12.0",
37
- "@wordpress/core-data": "^4.12.0",
38
- "@wordpress/data": "^6.14.0",
39
- "@wordpress/deprecated": "^3.14.0",
40
- "@wordpress/editor": "^12.13.0",
41
- "@wordpress/element": "^4.12.0",
42
- "@wordpress/hooks": "^3.14.0",
43
- "@wordpress/i18n": "^4.14.0",
44
- "@wordpress/icons": "^9.5.0",
45
- "@wordpress/interface": "^4.13.0",
46
- "@wordpress/keyboard-shortcuts": "^3.12.0",
47
- "@wordpress/keycodes": "^3.14.0",
48
- "@wordpress/media-utils": "^4.5.0",
49
- "@wordpress/notices": "^3.14.0",
50
- "@wordpress/plugins": "^4.12.0",
51
- "@wordpress/preferences": "^2.6.0",
52
- "@wordpress/url": "^3.15.0",
53
- "@wordpress/viewport": "^4.12.0",
54
- "@wordpress/warning": "^2.14.0",
30
+ "@wordpress/a11y": "^3.15.0",
31
+ "@wordpress/api-fetch": "^6.12.0",
32
+ "@wordpress/block-editor": "^9.7.0",
33
+ "@wordpress/block-library": "^7.12.0",
34
+ "@wordpress/blocks": "^11.14.0",
35
+ "@wordpress/components": "^19.17.0",
36
+ "@wordpress/compose": "^5.13.0",
37
+ "@wordpress/core-data": "^4.13.0",
38
+ "@wordpress/data": "^6.15.0",
39
+ "@wordpress/deprecated": "^3.15.0",
40
+ "@wordpress/editor": "^12.14.0",
41
+ "@wordpress/element": "^4.13.0",
42
+ "@wordpress/hooks": "^3.15.0",
43
+ "@wordpress/i18n": "^4.15.0",
44
+ "@wordpress/icons": "^9.6.0",
45
+ "@wordpress/interface": "^4.14.0",
46
+ "@wordpress/keyboard-shortcuts": "^3.13.0",
47
+ "@wordpress/keycodes": "^3.15.0",
48
+ "@wordpress/media-utils": "^4.6.0",
49
+ "@wordpress/notices": "^3.15.0",
50
+ "@wordpress/plugins": "^4.13.0",
51
+ "@wordpress/preferences": "^2.7.0",
52
+ "@wordpress/url": "^3.16.0",
53
+ "@wordpress/viewport": "^4.13.0",
54
+ "@wordpress/warning": "^2.15.0",
55
55
  "classnames": "^2.3.1",
56
56
  "lodash": "^4.17.21",
57
57
  "memize": "^1.1.0",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "0315dbc240cb2aa146d7c1bafd251f004b88300e"
67
+ "gitHead": "08358f53b627a15148c3a3e433cdf58cf8714aa4"
68
68
  }
@@ -84,7 +84,7 @@ export default function DeleteTemplate() {
84
84
  } }
85
85
  info={
86
86
  isRevertable
87
- ? __( 'Restore template to default state' )
87
+ ? __( 'Use the template as supplied by the theme.' )
88
88
  : undefined
89
89
  }
90
90
  >
@@ -4,6 +4,13 @@ exports[`EnableCustomFieldsOption renders a checked checkbox and a confirmation
4
4
  .emotion-0 {
5
5
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
6
6
  font-size: 13px;
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .emotion-0 *,
11
+ .emotion-0 *::before,
12
+ .emotion-0 *::after {
13
+ box-sizing: inherit;
7
14
  }
8
15
 
9
16
  .emotion-2 {
@@ -67,6 +74,13 @@ exports[`EnableCustomFieldsOption renders a checked checkbox when custom fields
67
74
  .emotion-0 {
68
75
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
69
76
  font-size: 13px;
77
+ box-sizing: border-box;
78
+ }
79
+
80
+ .emotion-0 *,
81
+ .emotion-0 *::before,
82
+ .emotion-0 *::after {
83
+ box-sizing: inherit;
70
84
  }
71
85
 
72
86
  .emotion-2 {
@@ -116,6 +130,13 @@ exports[`EnableCustomFieldsOption renders an unchecked checkbox and a confirmati
116
130
  .emotion-0 {
117
131
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
118
132
  font-size: 13px;
133
+ box-sizing: border-box;
134
+ }
135
+
136
+ .emotion-0 *,
137
+ .emotion-0 *::before,
138
+ .emotion-0 *::after {
139
+ box-sizing: inherit;
119
140
  }
120
141
 
121
142
  .emotion-2 {
@@ -179,6 +200,13 @@ exports[`EnableCustomFieldsOption renders an unchecked checkbox when custom fiel
179
200
  .emotion-0 {
180
201
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
181
202
  font-size: 13px;
203
+ box-sizing: border-box;
204
+ }
205
+
206
+ .emotion-0 *,
207
+ .emotion-0 *::before,
208
+ .emotion-0 *::after {
209
+ box-sizing: inherit;
182
210
  }
183
211
 
184
212
  .emotion-2 {
@@ -12,6 +12,7 @@ import { store as coreStore } from '@wordpress/core-data';
12
12
  * Internal dependencies
13
13
  */
14
14
  import PostTemplateForm from './form';
15
+ import { store as editPostStore } from '../../../store';
15
16
 
16
17
  export default function PostTemplate() {
17
18
  const anchorRef = useRef();
@@ -72,16 +73,14 @@ function PostTemplateToggle( { isOpen, onClick } ) {
72
73
  const templateSlug =
73
74
  select( editorStore ).getEditedPostAttribute( 'template' );
74
75
 
75
- const settings = select( editorStore ).getEditorSettings();
76
- if ( settings.availableTemplates[ templateSlug ] ) {
77
- return settings.availableTemplates[ templateSlug ];
76
+ const { supportsTemplateMode, availableTemplates } =
77
+ select( editorStore ).getEditorSettings();
78
+ if ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {
79
+ return availableTemplates[ templateSlug ];
78
80
  }
79
81
 
80
- const template = select( coreStore )
81
- .getEntityRecords( 'postType', 'wp_template', { per_page: -1 } )
82
- ?.find( ( { slug } ) => slug === templateSlug );
83
-
84
- return template?.title.rendered;
82
+ const template = select( editPostStore ).getEditedPostTemplate();
83
+ return template?.title ?? template?.slug;
85
84
  }, [] );
86
85
 
87
86
  return (
@@ -27,7 +27,7 @@ import {
27
27
  __experimentalLayoutStyle as LayoutStyle,
28
28
  __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,
29
29
  __unstableIframe as Iframe,
30
- __experimentalUseNoRecursiveRenders as useNoRecursiveRenders,
30
+ __experimentalRecursionProvider as RecursionProvider,
31
31
  } from '@wordpress/block-editor';
32
32
  import { useEffect, useRef, useMemo } from '@wordpress/element';
33
33
  import { Button, __unstableMotion as motion } from '@wordpress/components';
@@ -118,13 +118,15 @@ export default function VisualEditor( { styles } ) {
118
118
  ( select ) => select( editPostStore ).hasMetaBoxes(),
119
119
  []
120
120
  );
121
- const { themeSupportsLayout, assets } = useSelect( ( select ) => {
122
- const _settings = select( blockEditorStore ).getSettings();
123
- return {
124
- themeSupportsLayout: _settings.supportsLayout,
125
- assets: _settings.__unstableResolvedAssets,
126
- };
127
- }, [] );
121
+ const { themeHasDisabledLayoutStyles, themeSupportsLayout, assets } =
122
+ useSelect( ( select ) => {
123
+ const _settings = select( blockEditorStore ).getSettings();
124
+ return {
125
+ themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
126
+ themeSupportsLayout: _settings.supportsLayout,
127
+ assets: _settings.__unstableResolvedAssets,
128
+ };
129
+ }, [] );
128
130
  const { clearSelectedBlock } = useDispatch( blockEditorStore );
129
131
  const { setIsEditingTemplate } = useDispatch( editPostStore );
130
132
  const desktopCanvasStyles = {
@@ -173,11 +175,6 @@ export default function VisualEditor( { styles } ) {
173
175
 
174
176
  const blockSelectionClearerRef = useBlockSelectionClearer();
175
177
 
176
- const [ , RecursionProvider ] = useNoRecursiveRenders(
177
- wrapperUniqueId,
178
- wrapperBlockName
179
- );
180
-
181
178
  const layout = useMemo( () => {
182
179
  if ( isTemplateMode ) {
183
180
  return { type: 'default' };
@@ -241,13 +238,17 @@ export default function VisualEditor( { styles } ) {
241
238
  assets={ assets }
242
239
  style={ { paddingBottom } }
243
240
  >
244
- { themeSupportsLayout && ! isTemplateMode && (
245
- <LayoutStyle
246
- selector=".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container"
247
- layout={ defaultLayout }
248
- layoutDefinitions={ defaultLayout?.definitions }
249
- />
250
- ) }
241
+ { themeSupportsLayout &&
242
+ ! themeHasDisabledLayoutStyles &&
243
+ ! isTemplateMode && (
244
+ <LayoutStyle
245
+ selector=".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container"
246
+ layout={ defaultLayout }
247
+ layoutDefinitions={
248
+ defaultLayout?.definitions
249
+ }
250
+ />
251
+ ) }
251
252
  { ! isTemplateMode && (
252
253
  <div
253
254
  className="edit-post-visual-editor__post-title-wrapper"
@@ -256,7 +257,10 @@ export default function VisualEditor( { styles } ) {
256
257
  <PostTitle ref={ titleRef } />
257
258
  </div>
258
259
  ) }
259
- <RecursionProvider>
260
+ <RecursionProvider
261
+ blockName={ wrapperBlockName }
262
+ uniqueId={ wrapperUniqueId }
263
+ >
260
264
  <BlockList
261
265
  className={
262
266
  isTemplateMode
@@ -35,7 +35,9 @@ afterAll( () => {
35
35
  } );
36
36
 
37
37
  describe( 'Editor', () => {
38
- beforeAll( registerCoreBlocks );
38
+ beforeAll( () => {
39
+ registerCoreBlocks();
40
+ } );
39
41
 
40
42
  it( 'detects unsupported block and sends hasUnsupportedBlocks true to native', () => {
41
43
  RNReactNativeGutenbergBridge.editorDidMount = jest.fn();