@wordpress/edit-post 6.10.0 → 6.12.1-next.d6164808d3.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -7
  3. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  4. package/build/components/header/header-toolbar/index.js +9 -7
  5. package/build/components/header/header-toolbar/index.js.map +1 -1
  6. package/build/components/header/template-title/delete-template.js +1 -1
  7. package/build/components/header/template-title/delete-template.js.map +1 -1
  8. package/build/components/sidebar/post-template/form.js +9 -4
  9. package/build/components/sidebar/post-template/form.js.map +1 -1
  10. package/build/components/sidebar/post-template/index.js +16 -14
  11. package/build/components/sidebar/post-template/index.js.map +1 -1
  12. package/build/components/visual-editor/index.js +19 -8
  13. package/build/components/visual-editor/index.js.map +1 -1
  14. package/build/editor.js +7 -2
  15. package/build/editor.js.map +1 -1
  16. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -6
  17. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  18. package/build-module/components/header/header-toolbar/index.js +10 -7
  19. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  20. package/build-module/components/header/template-title/delete-template.js +1 -1
  21. package/build-module/components/header/template-title/delete-template.js.map +1 -1
  22. package/build-module/components/sidebar/post-template/form.js +9 -4
  23. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  24. package/build-module/components/sidebar/post-template/index.js +15 -14
  25. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  26. package/build-module/components/visual-editor/index.js +20 -9
  27. package/build-module/components/visual-editor/index.js.map +1 -1
  28. package/build-module/editor.js +7 -2
  29. package/build-module/editor.js.map +1 -1
  30. package/build-style/style-rtl.css +1 -9
  31. package/build-style/style.css +1 -9
  32. package/package.json +27 -27
  33. package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -6
  34. package/src/components/header/header-toolbar/index.js +11 -10
  35. package/src/components/header/header-toolbar/style.scss +2 -5
  36. package/src/components/header/style.scss +0 -6
  37. package/src/components/header/template-title/delete-template.js +1 -1
  38. package/src/components/preferences-modal/options/test/__snapshots__/enable-custom-fields.js.snap +28 -0
  39. package/src/components/sidebar/post-template/form.js +13 -16
  40. package/src/components/sidebar/post-template/index.js +12 -9
  41. package/src/components/visual-editor/index.js +31 -25
  42. package/src/editor.js +6 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","editPostStore","getEntityRecord","getPostType","getEntityRecords","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","preferencesStore","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","styles","themeStyles","presetStyles","style","__unstableType","push","defaultEditorStyles","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tforEach( settings.styles, ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<ShortcutProvider>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</ShortcutProvider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasInlineToolbar","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","editPostStore","getEntityRecord","getPostType","getEntityRecords","canUser","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","preferencesStore","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","styles","themeStyles","presetStyles","style","__unstableType","push","defaultEditorStyles","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasInlineToolbar,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tforEach( settings.styles, ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<ShortcutProvider>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</ShortcutProvider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}
@@ -1,18 +1,13 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
- /**
4
- * External dependencies
5
- */
6
- import { difference } from 'lodash';
7
3
  /**
8
4
  * WordPress dependencies
9
5
  */
10
-
11
6
  import { BlockSettingsMenuControls } from '@wordpress/block-editor';
12
7
  import { MenuItem } from '@wordpress/components';
13
8
  import { compose } from '@wordpress/compose';
14
9
 
15
- const isEverySelectedBlockAllowed = (selected, allowed) => difference(selected, allowed).length === 0;
10
+ const isEverySelectedBlockAllowed = (selected, allowed) => selected.filter(id => !allowed.includes(id)).length === 0;
16
11
  /**
17
12
  * Plugins may want to add an item to the menu either for every block
18
13
  * or only for the specific ones provided in the `allowedBlocks` component property.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/block-settings-menu/plugin-block-settings-menu-item.js"],"names":["difference","BlockSettingsMenuControls","MenuItem","compose","isEverySelectedBlockAllowed","selected","allowed","length","shouldRenderItem","selectedBlocks","allowedBlocks","Array","isArray","PluginBlockSettingsMenuItem","icon","label","onClick","small","role","onClose","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,QAA3B;AAEA;AACA;AACA;;AACA,SAASC,yBAAT,QAA0C,yBAA1C;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,MAAMC,2BAA2B,GAAG,CAAEC,QAAF,EAAYC,OAAZ,KACnCN,UAAU,CAAEK,QAAF,EAAYC,OAAZ,CAAV,CAAgCC,MAAhC,KAA2C,CAD5C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAgB,GAAG,CAAEC,cAAF,EAAkBC,aAAlB,KACxB,CAAEC,KAAK,CAACC,OAAN,CAAeF,aAAf,CAAF,IACAN,2BAA2B,CAAEK,cAAF,EAAkBC,aAAlB,CAF5B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,2BAA2B,GAAG;AAAA,MAAE;AACrCH,IAAAA,aADqC;AAErCI,IAAAA,IAFqC;AAGrCC,IAAAA,KAHqC;AAIrCC,IAAAA,OAJqC;AAKrCC,IAAAA,KALqC;AAMrCC,IAAAA;AANqC,GAAF;AAAA,SAQnC,cAAC,yBAAD,QACG,SAAmC;AAAA,QAAjC;AAAET,MAAAA,cAAF;AAAkBU,MAAAA;AAAlB,KAAiC;;AACpC,QAAK,CAAEX,gBAAgB,CAAEC,cAAF,EAAkBC,aAAlB,CAAvB,EAA2D;AAC1D,aAAO,IAAP;AACA;;AACD,WACC,cAAC,QAAD;AACC,MAAA,OAAO,EAAGP,OAAO,CAAEa,OAAF,EAAWG,OAAX,CADlB;AAEC,MAAA,IAAI,EAAGL,IAFR;AAGC,MAAA,KAAK,EAAGG,KAAK,GAAGF,KAAH,GAAWK,SAHzB;AAIC,MAAA,IAAI,EAAGF;AAJR,OAMG,CAAED,KAAF,IAAWF,KANd,CADD;AAUA,GAfF,CARmC;AAAA,CAApC;;AA2BA,eAAeF,2BAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { difference } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { BlockSettingsMenuControls } from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\n\nconst isEverySelectedBlockAllowed = ( selected, allowed ) =>\n\tdifference( selected, allowed ).length === 0;\n\n/**\n * Plugins may want to add an item to the menu either for every block\n * or only for the specific ones provided in the `allowedBlocks` component property.\n *\n * If there are multiple blocks selected the item will be rendered if every block\n * is of one allowed type (not necessarily the same).\n *\n * @param {string[]} selectedBlocks Array containing the names of the blocks selected\n * @param {string[]} allowedBlocks Array containing the names of the blocks allowed\n * @return {boolean} Whether the item will be rendered or not.\n */\nconst shouldRenderItem = ( selectedBlocks, allowedBlocks ) =>\n\t! Array.isArray( allowedBlocks ) ||\n\tisEverySelectedBlockAllowed( selectedBlocks, allowedBlocks );\n\n/**\n * Renders a new item in the block settings menu.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.allowedBlocks] An array containing a list of block names for which the item should be shown. If not present, it'll be rendered for any block. If multiple blocks are selected, it'll be shown if and only if all of them are in the allowed list.\n * @param {WPBlockTypeIconRender} [props.icon] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element.\n * @param {string} props.label The menu item text.\n * @param {Function} props.onClick Callback function to be executed when the user click the menu item.\n * @param {boolean} [props.small] Whether to render the label or not.\n * @param {string} [props.role] The ARIA role for the menu item.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var PluginBlockSettingsMenuItem = wp.editPost.PluginBlockSettingsMenuItem;\n *\n * function doOnClick(){\n * \t// To be called when the user clicks the menu item.\n * }\n *\n * function MyPluginBlockSettingsMenuItem() {\n * \treturn wp.element.createElement(\n * \t\tPluginBlockSettingsMenuItem,\n * \t\t{\n * \t\t\tallowedBlocks: [ 'core/paragraph' ],\n * \t\t\ticon: 'dashicon-name',\n * \t\t\tlabel: __( 'Menu item text' ),\n * \t\t\tonClick: doOnClick,\n * \t\t}\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginBlockSettingsMenuItem } from '@wordpress/edit-post';\n *\n * const doOnClick = ( ) => {\n * // To be called when the user clicks the menu item.\n * };\n *\n * const MyPluginBlockSettingsMenuItem = () => (\n * <PluginBlockSettingsMenuItem\n * \t\tallowedBlocks={ [ 'core/paragraph' ] }\n * \t\ticon='dashicon-name'\n * \t\tlabel={ __( 'Menu item text' ) }\n * \t\tonClick={ doOnClick } />\n * );\n * ```\n *\n * @return {WPComponent} The component to be rendered.\n */\nconst PluginBlockSettingsMenuItem = ( {\n\tallowedBlocks,\n\ticon,\n\tlabel,\n\tonClick,\n\tsmall,\n\trole,\n} ) => (\n\t<BlockSettingsMenuControls>\n\t\t{ ( { selectedBlocks, onClose } ) => {\n\t\t\tif ( ! shouldRenderItem( selectedBlocks, allowedBlocks ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ compose( onClick, onClose ) }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ small ? label : undefined }\n\t\t\t\t\trole={ role }\n\t\t\t\t>\n\t\t\t\t\t{ ! small && label }\n\t\t\t\t</MenuItem>\n\t\t\t);\n\t\t} }\n\t</BlockSettingsMenuControls>\n);\n\nexport default PluginBlockSettingsMenuItem;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/block-settings-menu/plugin-block-settings-menu-item.js"],"names":["BlockSettingsMenuControls","MenuItem","compose","isEverySelectedBlockAllowed","selected","allowed","filter","id","includes","length","shouldRenderItem","selectedBlocks","allowedBlocks","Array","isArray","PluginBlockSettingsMenuItem","icon","label","onClick","small","role","onClose","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,yBAAT,QAA0C,yBAA1C;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,MAAMC,2BAA2B,GAAG,CAAEC,QAAF,EAAYC,OAAZ,KACnCD,QAAQ,CAACE,MAAT,CAAmBC,EAAF,IAAU,CAAEF,OAAO,CAACG,QAAR,CAAkBD,EAAlB,CAA7B,EAAsDE,MAAtD,KAAiE,CADlE;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAgB,GAAG,CAAEC,cAAF,EAAkBC,aAAlB,KACxB,CAAEC,KAAK,CAACC,OAAN,CAAeF,aAAf,CAAF,IACAT,2BAA2B,CAAEQ,cAAF,EAAkBC,aAAlB,CAF5B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,2BAA2B,GAAG;AAAA,MAAE;AACrCH,IAAAA,aADqC;AAErCI,IAAAA,IAFqC;AAGrCC,IAAAA,KAHqC;AAIrCC,IAAAA,OAJqC;AAKrCC,IAAAA,KALqC;AAMrCC,IAAAA;AANqC,GAAF;AAAA,SAQnC,cAAC,yBAAD,QACG,SAAmC;AAAA,QAAjC;AAAET,MAAAA,cAAF;AAAkBU,MAAAA;AAAlB,KAAiC;;AACpC,QAAK,CAAEX,gBAAgB,CAAEC,cAAF,EAAkBC,aAAlB,CAAvB,EAA2D;AAC1D,aAAO,IAAP;AACA;;AACD,WACC,cAAC,QAAD;AACC,MAAA,OAAO,EAAGV,OAAO,CAAEgB,OAAF,EAAWG,OAAX,CADlB;AAEC,MAAA,IAAI,EAAGL,IAFR;AAGC,MAAA,KAAK,EAAGG,KAAK,GAAGF,KAAH,GAAWK,SAHzB;AAIC,MAAA,IAAI,EAAGF;AAJR,OAMG,CAAED,KAAF,IAAWF,KANd,CADD;AAUA,GAfF,CARmC;AAAA,CAApC;;AA2BA,eAAeF,2BAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockSettingsMenuControls } from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\n\nconst isEverySelectedBlockAllowed = ( selected, allowed ) =>\n\tselected.filter( ( id ) => ! allowed.includes( id ) ).length === 0;\n\n/**\n * Plugins may want to add an item to the menu either for every block\n * or only for the specific ones provided in the `allowedBlocks` component property.\n *\n * If there are multiple blocks selected the item will be rendered if every block\n * is of one allowed type (not necessarily the same).\n *\n * @param {string[]} selectedBlocks Array containing the names of the blocks selected\n * @param {string[]} allowedBlocks Array containing the names of the blocks allowed\n * @return {boolean} Whether the item will be rendered or not.\n */\nconst shouldRenderItem = ( selectedBlocks, allowedBlocks ) =>\n\t! Array.isArray( allowedBlocks ) ||\n\tisEverySelectedBlockAllowed( selectedBlocks, allowedBlocks );\n\n/**\n * Renders a new item in the block settings menu.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.allowedBlocks] An array containing a list of block names for which the item should be shown. If not present, it'll be rendered for any block. If multiple blocks are selected, it'll be shown if and only if all of them are in the allowed list.\n * @param {WPBlockTypeIconRender} [props.icon] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element.\n * @param {string} props.label The menu item text.\n * @param {Function} props.onClick Callback function to be executed when the user click the menu item.\n * @param {boolean} [props.small] Whether to render the label or not.\n * @param {string} [props.role] The ARIA role for the menu item.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var PluginBlockSettingsMenuItem = wp.editPost.PluginBlockSettingsMenuItem;\n *\n * function doOnClick(){\n * \t// To be called when the user clicks the menu item.\n * }\n *\n * function MyPluginBlockSettingsMenuItem() {\n * \treturn wp.element.createElement(\n * \t\tPluginBlockSettingsMenuItem,\n * \t\t{\n * \t\t\tallowedBlocks: [ 'core/paragraph' ],\n * \t\t\ticon: 'dashicon-name',\n * \t\t\tlabel: __( 'Menu item text' ),\n * \t\t\tonClick: doOnClick,\n * \t\t}\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginBlockSettingsMenuItem } from '@wordpress/edit-post';\n *\n * const doOnClick = ( ) => {\n * // To be called when the user clicks the menu item.\n * };\n *\n * const MyPluginBlockSettingsMenuItem = () => (\n * <PluginBlockSettingsMenuItem\n * \t\tallowedBlocks={ [ 'core/paragraph' ] }\n * \t\ticon='dashicon-name'\n * \t\tlabel={ __( 'Menu item text' ) }\n * \t\tonClick={ doOnClick } />\n * );\n * ```\n *\n * @return {WPComponent} The component to be rendered.\n */\nconst PluginBlockSettingsMenuItem = ( {\n\tallowedBlocks,\n\ticon,\n\tlabel,\n\tonClick,\n\tsmall,\n\trole,\n} ) => (\n\t<BlockSettingsMenuControls>\n\t\t{ ( { selectedBlocks, onClose } ) => {\n\t\t\tif ( ! shouldRenderItem( selectedBlocks, allowedBlocks ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ compose( onClick, onClose ) }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ small ? label : undefined }\n\t\t\t\t\trole={ role }\n\t\t\t\t>\n\t\t\t\t\t{ ! small && label }\n\t\t\t\t</MenuItem>\n\t\t\t);\n\t\t} }\n\t</BlockSettingsMenuControls>\n);\n\nexport default PluginBlockSettingsMenuItem;\n"]}
@@ -86,7 +86,8 @@ function HeaderToolbar() {
86
86
  label: __('List View'),
87
87
  onClick: toggleListView,
88
88
  shortcut: listViewShortcut,
89
- showTooltip: !showIconLabels
89
+ showTooltip: !showIconLabels,
90
+ variant: showIconLabels ? 'tertiary' : undefined
90
91
  }));
91
92
  const openInserter = useCallback(() => {
92
93
  if (isInserterOpened) {
@@ -96,6 +97,11 @@ function HeaderToolbar() {
96
97
  setIsInserterOpened(true);
97
98
  }
98
99
  }, [isInserterOpened, setIsInserterOpened]);
100
+ /* translators: button label text should, if possible, be under 16 characters. */
101
+
102
+ const longLabel = _x('Toggle block inserter', 'Generic label for block inserter button');
103
+
104
+ const shortLabel = !isInserterOpened ? __('Add') : __('Close');
99
105
  return createElement(NavigableToolbar, {
100
106
  className: "edit-post-header-toolbar",
101
107
  "aria-label": toolbarAriaLabel
@@ -110,13 +116,10 @@ function HeaderToolbar() {
110
116
  onMouseDown: preventDefault,
111
117
  onClick: openInserter,
112
118
  disabled: !isInserterEnabled,
113
- icon: plus
114
- /* translators: button label text should, if possible, be under 16
115
- characters. */
116
- ,
117
- label: _x('Toggle block inserter', 'Generic label for block inserter button'),
119
+ icon: plus,
120
+ label: showIconLabels ? shortLabel : longLabel,
118
121
  showTooltip: !showIconLabels
119
- }, showIconLabels && (!isInserterOpened ? __('Add') : __('Close'))), (isWideViewport || !showIconLabels) && createElement(Fragment, null, isLargeViewport && createElement(ToolbarItem, {
122
+ }), (isWideViewport || !showIconLabels) && createElement(Fragment, null, isLargeViewport && createElement(ToolbarItem, {
120
123
  as: ToolSelector,
121
124
  showTooltip: !showIconLabels,
122
125
  variant: showIconLabels ? 'tertiary' : undefined,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.js"],"names":["useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","TableOfContents","EditorHistoryRedo","EditorHistoryUndo","editorStore","Button","ToolbarItem","listView","plus","useRef","useCallback","keyboardShortcutsStore","editPostStore","preventDefault","event","HeaderToolbar","inserterButton","setIsInserterOpened","setIsListViewOpened","isInserterEnabled","isInserterOpened","isTextModeEnabled","showIconLabels","isListViewOpen","listViewShortcut","select","hasInserterItems","getBlockRootClientId","getBlockSelectionEnd","getEditorSettings","getEditorMode","isFeatureActive","isListViewOpened","getShortcutRepresentation","richEditingEnabled","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","overflowItems","undefined","openInserter","current","focus"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tTableOfContents,\n\tEditorHistoryRedo,\n\tEditorHistoryUndo,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction HeaderToolbar() {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst {\n\t\tisInserterEnabled,\n\t\tisInserterOpened,\n\t\tisTextModeEnabled,\n\t\tshowIconLabels,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { hasInserterItems, getBlockRootClientId, getBlockSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getEditorMode, isFeatureActive, isListViewOpened } =\n\t\t\tselect( editPostStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\n\t\treturn {\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tisInserterEnabled:\n\t\t\t\tgetEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisTextModeEnabled: getEditorMode() === 'text',\n\t\t\tshowIconLabels: isFeatureActive( 'showIconLabels' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-post/toggle-list-view'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\tconst overflowItems = (\n\t\t<>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ TableOfContents }\n\t\t\t\thasOutlineItemsDisabled={ isTextModeEnabled }\n\t\t\t\trepositionDropdown={ showIconLabels && ! isWideViewport }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t/>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-post-header-toolbar__list-view-toggle\"\n\t\t\t\ticon={ listView }\n\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\tonClick={ toggleListView }\n\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t/>\n\t\t</>\n\t);\n\tconst openInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button closes the inserter popover.\n\t\t\tinserterButton.current.focus();\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-post-header-toolbar\"\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t>\n\t\t\t<div className=\"edit-post-header-toolbar__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"edit-post-header-toolbar__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ openInserter }\n\t\t\t\t\tdisabled={ ! isInserterEnabled }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\tcharacters. */\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t) }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t>\n\t\t\t\t\t{ showIconLabels &&\n\t\t\t\t\t\t( ! isInserterOpened ? __( 'Add' ) : __( 'Close' ) ) }\n\t\t\t\t</ToolbarItem>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ overflowItems }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default HeaderToolbar;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.js"],"names":["useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","TableOfContents","EditorHistoryRedo","EditorHistoryUndo","editorStore","Button","ToolbarItem","listView","plus","useRef","useCallback","keyboardShortcutsStore","editPostStore","preventDefault","event","HeaderToolbar","inserterButton","setIsInserterOpened","setIsListViewOpened","isInserterEnabled","isInserterOpened","isTextModeEnabled","showIconLabels","isListViewOpen","listViewShortcut","select","hasInserterItems","getBlockRootClientId","getBlockSelectionEnd","getEditorSettings","getEditorMode","isFeatureActive","isListViewOpened","getShortcutRepresentation","richEditingEnabled","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","overflowItems","undefined","openInserter","current","focus","longLabel","shortLabel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tTableOfContents,\n\tEditorHistoryRedo,\n\tEditorHistoryUndo,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction HeaderToolbar() {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst {\n\t\tisInserterEnabled,\n\t\tisInserterOpened,\n\t\tisTextModeEnabled,\n\t\tshowIconLabels,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { hasInserterItems, getBlockRootClientId, getBlockSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getEditorMode, isFeatureActive, isListViewOpened } =\n\t\t\tselect( editPostStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\n\t\treturn {\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tisInserterEnabled:\n\t\t\t\tgetEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisTextModeEnabled: getEditorMode() === 'text',\n\t\t\tshowIconLabels: isFeatureActive( 'showIconLabels' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-post/toggle-list-view'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\tconst overflowItems = (\n\t\t<>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ TableOfContents }\n\t\t\t\thasOutlineItemsDisabled={ isTextModeEnabled }\n\t\t\t\trepositionDropdown={ showIconLabels && ! isWideViewport }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t/>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-post-header-toolbar__list-view-toggle\"\n\t\t\t\ticon={ listView }\n\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\tonClick={ toggleListView }\n\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t/>\n\t\t</>\n\t);\n\tconst openInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button closes the inserter popover.\n\t\t\tinserterButton.current.focus();\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-post-header-toolbar\"\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t>\n\t\t\t<div className=\"edit-post-header-toolbar__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"edit-post-header-toolbar__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ openInserter }\n\t\t\t\t\tdisabled={ ! isInserterEnabled }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ overflowItems }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default HeaderToolbar;\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"]}
@@ -31,19 +31,24 @@ export default function PostTemplateForm(_ref) {
31
31
  canCreate,
32
32
  canEdit
33
33
  } = useSelect(select => {
34
+ const {
35
+ canUser,
36
+ getEntityRecord,
37
+ getEntityRecords
38
+ } = select(coreStore);
34
39
  const editorSettings = select(editorStore).getEditorSettings();
35
- const siteSettings = select(coreStore).getEntityRecord('root', 'site');
40
+ const siteSettings = canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined;
36
41
 
37
42
  const _isPostsPage = select(editorStore).getCurrentPostId() === (siteSettings === null || siteSettings === void 0 ? void 0 : siteSettings.page_for_posts);
38
43
 
39
- const canCreateTemplates = select(coreStore).canUser('create', 'templates');
44
+ const canCreateTemplates = canUser('create', 'templates');
40
45
  return {
41
46
  isPostsPage: _isPostsPage,
42
47
  availableTemplates: editorSettings.availableTemplates,
43
- fetchedTemplates: select(coreStore).getEntityRecords('postType', 'wp_template', {
48
+ fetchedTemplates: canCreateTemplates ? getEntityRecords('postType', 'wp_template', {
44
49
  post_type: select(editorStore).getCurrentPostType(),
45
50
  per_page: -1
46
- }),
51
+ }) : undefined,
47
52
  selectedTemplateSlug: select(editorStore).getEditedPostAttribute('template'),
48
53
  canCreate: canCreateTemplates && !_isPostsPage && editorSettings.supportsTemplateMode,
49
54
  canEdit: canCreateTemplates && editorSettings.supportsTemplateMode && !!select(editPostStore).getEditedPostTemplate()
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/form.js"],"names":["useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","__","addTemplate","Notice","SelectControl","Button","useSelect","useDispatch","store","editorStore","coreStore","editPostStore","PostTemplateCreateModal","PostTemplateForm","onClose","isPostsPage","availableTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","select","editorSettings","getEditorSettings","siteSettings","getEntityRecord","_isPostsPage","getCurrentPostId","page_for_posts","canCreateTemplates","canUser","getEntityRecords","post_type","getCurrentPostType","per_page","getEditedPostAttribute","supportsTemplateMode","getEditedPostTemplate","options","Object","entries","fromEntries","map","slug","title","rendered","value","label","selectedOption","find","option","editPost","__unstableSwitchToTemplateMode","isCreateModalOpen","setIsCreateModalOpen","icon","onClick","template"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AACA,SAASC,oCAAoC,IAAIC,sBAAjD,QAA+E,yBAA/E;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,QAA4B,kBAA5B;AACA,SAASC,MAAT,EAAiBC,aAAjB,EAAgCC,MAAhC,QAA8C,uBAA9C;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AACA,OAAOC,uBAAP,MAAoC,gBAApC;AAEA,eAAe,SAASC,gBAAT,OAAyC;AAAA;;AAAA,MAAd;AAAEC,IAAAA;AAAF,GAAc;AACvD,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,gBAHK;AAILC,IAAAA,oBAJK;AAKLC,IAAAA,SALK;AAMLC,IAAAA;AANK,MAOFd,SAAS,CAAIe,MAAF,IAAc;AAC5B,UAAMC,cAAc,GAAGD,MAAM,CAAEZ,WAAF,CAAN,CAAsBc,iBAAtB,EAAvB;AACA,UAAMC,YAAY,GAAGH,MAAM,CAAEX,SAAF,CAAN,CAAoBe,eAApB,CACpB,MADoB,EAEpB,MAFoB,CAArB;;AAIA,UAAMC,YAAY,GACjBL,MAAM,CAAEZ,WAAF,CAAN,CAAsBkB,gBAAtB,QACAH,YADA,aACAA,YADA,uBACAA,YAAY,CAAEI,cADd,CADD;;AAGA,UAAMC,kBAAkB,GAAGR,MAAM,CAAEX,SAAF,CAAN,CAAoBoB,OAApB,CAC1B,QAD0B,EAE1B,WAF0B,CAA3B;AAIA,WAAO;AACNf,MAAAA,WAAW,EAAEW,YADP;AAENV,MAAAA,kBAAkB,EAAEM,cAAc,CAACN,kBAF7B;AAGNC,MAAAA,gBAAgB,EAAEI,MAAM,CAAEX,SAAF,CAAN,CAAoBqB,gBAApB,CACjB,UADiB,EAEjB,aAFiB,EAGjB;AACCC,QAAAA,SAAS,EAAEX,MAAM,CAAEZ,WAAF,CAAN,CAAsBwB,kBAAtB,EADZ;AAECC,QAAAA,QAAQ,EAAE,CAAC;AAFZ,OAHiB,CAHZ;AAWNhB,MAAAA,oBAAoB,EACnBG,MAAM,CAAEZ,WAAF,CAAN,CAAsB0B,sBAAtB,CAA8C,UAA9C,CAZK;AAaNhB,MAAAA,SAAS,EACRU,kBAAkB,IAClB,CAAEH,YADF,IAEAJ,cAAc,CAACc,oBAhBV;AAiBNhB,MAAAA,OAAO,EACNS,kBAAkB,IAClBP,cAAc,CAACc,oBADf,IAEA,CAAC,CAAEf,MAAM,CAAEV,aAAF,CAAN,CAAwB0B,qBAAxB;AApBE,KAAP;AAsBA,GAnCY,EAmCV,EAnCU,CAPb;AA4CA,QAAMC,OAAO,GAAGxC,OAAO,CACtB,MACCyC,MAAM,CAACC,OAAP,CAAgB,EACf,GAAGxB,kBADY;AAEf,OAAGuB,MAAM,CAACE,WAAP,CACF,CAAExB,gBAAF,aAAEA,gBAAF,cAAEA,gBAAF,GAAsB,EAAtB,EAA2ByB,GAA3B,CAAgC;AAAA,UAAE;AAAEC,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAF;AAAA,aAAuB,CACtDD,IADsD,EAEtDC,KAAK,CAACC,QAFgD,CAAvB;AAAA,KAAhC,CADE;AAFY,GAAhB,EAQIH,GARJ,CAQS;AAAA,QAAE,CAAEC,IAAF,EAAQC,KAAR,CAAF;AAAA,WAAyB;AAAEE,MAAAA,KAAK,EAAEH,IAAT;AAAeI,MAAAA,KAAK,EAAEH;AAAtB,KAAzB;AAAA,GART,CAFqB,EAWtB,CAAE5B,kBAAF,EAAsBC,gBAAtB,CAXsB,CAAvB;AAcA,QAAM+B,cAAc,oBACnBV,OAAO,CAACW,IAAR,CAAgBC,MAAF,IAAcA,MAAM,CAACJ,KAAP,KAAiB5B,oBAA7C,CADmB,yDAEnBoB,OAAO,CAACW,IAAR,CAAgBC,MAAF,IAAc,CAAEA,MAAM,CAACJ,KAArC,CAFD,CA3DuD,CA6DR;;AAE/C,QAAM;AAAEK,IAAAA;AAAF,MAAe5C,WAAW,CAAEE,WAAF,CAAhC;AACA,QAAM;AAAE2C,IAAAA;AAAF,MAAqC7C,WAAW,CAAEI,aAAF,CAAtD;AAEA,QAAM,CAAE0C,iBAAF,EAAqBC,oBAArB,IAA8CzD,QAAQ,CAAE,KAAF,CAA5D;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,sBAAD;AACC,IAAA,KAAK,EAAGI,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,uEADQ,CAFV;AAKC,IAAA,OAAO,EACNkB,SAAS,GACN,CACA;AACCoC,MAAAA,IAAI,EAAErD,WADP;AAEC6C,MAAAA,KAAK,EAAE9C,EAAE,CAAE,cAAF,CAFV;AAGCuD,MAAAA,OAAO,EAAE,MAAMF,oBAAoB,CAAE,IAAF;AAHpC,KADA,CADM,GAQN,EAdL;AAgBC,IAAA,OAAO,EAAGxC;AAhBX,IADD,EAmBGC,WAAW,GACZ,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,iCADX;AAEC,IAAA,MAAM,EAAC,SAFR;AAGC,IAAA,aAAa,EAAG;AAHjB,KAKGd,EAAE,CAAE,4CAAF,CALL,CADY,GASZ,cAAC,aAAD;AACC,IAAA,mBAAmB,MADpB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,KAAK,2BAAG+C,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEF,KAAnB,yEAA4B,EAHlC;AAIC,IAAA,OAAO,EAAGR,OAJX;AAKC,IAAA,QAAQ,EAAKK,IAAF,IACVQ,QAAQ,CAAE;AAAEM,MAAAA,QAAQ,EAAEd,IAAI,IAAI;AAApB,KAAF;AANV,IA5BF,EAsCGvB,OAAO,IACR,yBACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,MADT;AAEC,IAAA,OAAO,EAAG,MAAMgC,8BAA8B;AAF/C,KAIGnD,EAAE,CAAE,eAAF,CAJL,CADD,CAvCF,EAgDGoD,iBAAiB,IAClB,cAAC,uBAAD;AACC,IAAA,OAAO,EAAG,MAAMC,oBAAoB,CAAE,KAAF;AADrC,IAjDF,CADD;AAwDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { addTemplate } from '@wordpress/icons';\nimport { Notice, SelectControl, Button } from '@wordpress/components';\nimport { useSelect, useDispatch } 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 { store as editPostStore } from '../../../store';\nimport PostTemplateCreateModal from './create-modal';\n\nexport default function PostTemplateForm( { onClose } ) {\n\tconst {\n\t\tisPostsPage,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t} = useSelect( ( select ) => {\n\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\tconst siteSettings = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\tconst _isPostsPage =\n\t\t\tselect( editorStore ).getCurrentPostId() ===\n\t\t\tsiteSettings?.page_for_posts;\n\t\tconst canCreateTemplates = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\t\treturn {\n\t\t\tisPostsPage: _isPostsPage,\n\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\tfetchedTemplates: select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tpost_type: select( editorStore ).getCurrentPostType(),\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t\tselectedTemplateSlug:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\tcanCreate:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\t! _isPostsPage &&\n\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\tcanEdit:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t!! select( editPostStore ).getEditedPostTemplate(),\n\t\t};\n\t}, [] );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { __unstableSwitchToTemplateMode } = useDispatch( editPostStore );\n\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"edit-post-post-template__form\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ isPostsPage ? (\n\t\t\t\t<Notice\n\t\t\t\t\tclassName=\"edit-post-post-template__notice\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<PostTemplateCreateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/form.js"],"names":["useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","__","addTemplate","Notice","SelectControl","Button","useSelect","useDispatch","store","editorStore","coreStore","editPostStore","PostTemplateCreateModal","PostTemplateForm","onClose","isPostsPage","availableTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","select","canUser","getEntityRecord","getEntityRecords","editorSettings","getEditorSettings","siteSettings","undefined","_isPostsPage","getCurrentPostId","page_for_posts","canCreateTemplates","post_type","getCurrentPostType","per_page","getEditedPostAttribute","supportsTemplateMode","getEditedPostTemplate","options","Object","entries","fromEntries","map","slug","title","rendered","value","label","selectedOption","find","option","editPost","__unstableSwitchToTemplateMode","isCreateModalOpen","setIsCreateModalOpen","icon","onClick","template"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { addTemplate } from '@wordpress/icons';\nimport { Notice, SelectControl, Button } from '@wordpress/components';\nimport { useSelect, useDispatch } 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 { store as editPostStore } from '../../../store';\nimport PostTemplateCreateModal from './create-modal';\n\nexport default function PostTemplateForm( { onClose } ) {\n\tconst {\n\t\tisPostsPage,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEntityRecords } =\n\t\t\tselect( coreStore );\n\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst _isPostsPage =\n\t\t\tselect( editorStore ).getCurrentPostId() ===\n\t\t\tsiteSettings?.page_for_posts;\n\t\tconst canCreateTemplates = canUser( 'create', 'templates' );\n\n\t\treturn {\n\t\t\tisPostsPage: _isPostsPage,\n\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\tfetchedTemplates: canCreateTemplates\n\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\tpost_type: select( editorStore ).getCurrentPostType(),\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t } )\n\t\t\t\t: undefined,\n\t\t\tselectedTemplateSlug:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\tcanCreate:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\t! _isPostsPage &&\n\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\tcanEdit:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t!! select( editPostStore ).getEditedPostTemplate(),\n\t\t};\n\t}, [] );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { __unstableSwitchToTemplateMode } = useDispatch( editPostStore );\n\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"edit-post-post-template__form\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ isPostsPage ? (\n\t\t\t\t<Notice\n\t\t\t\t\tclassName=\"edit-post-post-template__notice\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<PostTemplateCreateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -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 => {
@@ -29,7 +30,11 @@ export default function PostTemplate() {
29
30
  const settings = select(editorStore).getEditorSettings();
30
31
  const hasTemplates = !!settings.availableTemplates && Object.keys(settings.availableTemplates).length > 0;
31
32
 
32
- if (!hasTemplates && !settings.supportsTemplateMode) {
33
+ if (hasTemplates) {
34
+ return true;
35
+ }
36
+
37
+ if (!settings.supportsTemplateMode) {
33
38
  return false;
34
39
  }
35
40
 
@@ -79,24 +84,20 @@ function PostTemplateToggle(_ref3) {
79
84
  onClick
80
85
  } = _ref3;
81
86
  const templateTitle = useSelect(select => {
82
- var _select$getEntityReco;
87
+ var _template$title;
83
88
 
84
89
  const templateSlug = select(editorStore).getEditedPostAttribute('template');
85
- const settings = select(editorStore).getEditorSettings();
90
+ const {
91
+ supportsTemplateMode,
92
+ availableTemplates
93
+ } = select(editorStore).getEditorSettings();
86
94
 
87
- if (settings.availableTemplates[templateSlug]) {
88
- return settings.availableTemplates[templateSlug];
95
+ if (!supportsTemplateMode && availableTemplates[templateSlug]) {
96
+ return availableTemplates[templateSlug];
89
97
  }
90
98
 
91
- const template = (_select$getEntityReco = select(coreStore).getEntityRecords('postType', 'wp_template', {
92
- per_page: -1
93
- })) === null || _select$getEntityReco === void 0 ? void 0 : _select$getEntityReco.find(_ref4 => {
94
- let {
95
- slug
96
- } = _ref4;
97
- return slug === templateSlug;
98
- });
99
- 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;
100
101
  }, []);
101
102
  return createElement(Button, {
102
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 && ! 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 {
@@ -167,10 +168,17 @@ export default function VisualEditor(_ref2) {
167
168
  }
168
169
 
169
170
  if (themeSupportsLayout) {
170
- return defaultLayout;
171
- }
171
+ // We need to ensure support for wide and full alignments,
172
+ // so we add the constrained type.
173
+ return { ...defaultLayout,
174
+ type: 'constrained'
175
+ };
176
+ } // Set constrained layout for classic themes so all alignments are supported.
177
+
172
178
 
173
- return undefined;
179
+ return {
180
+ type: 'constrained'
181
+ };
174
182
  }, [isTemplateMode, themeSupportsLayout, defaultLayout]);
175
183
  const titleRef = useRef();
176
184
  useEffect(() => {
@@ -212,17 +220,20 @@ export default function VisualEditor(_ref2) {
212
220
  style: {
213
221
  paddingBottom
214
222
  }
215
- }, themeSupportsLayout && !isTemplateMode && createElement(LayoutStyle, {
223
+ }, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(LayoutStyle, {
216
224
  selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
217
- layout: defaultLayout,
225
+ layout: layout,
218
226
  layoutDefinitions: defaultLayout === null || defaultLayout === void 0 ? void 0 : defaultLayout.definitions
219
227
  }), !isTemplateMode && createElement("div", {
220
228
  className: "edit-post-visual-editor__post-title-wrapper",
221
229
  contentEditable: false
222
230
  }, createElement(PostTitle, {
223
231
  ref: titleRef
224
- })), createElement(RecursionProvider, null, createElement(BlockList, {
225
- className: isTemplateMode ? 'wp-site-blocks' : 'is-layout-flow' // Ensure root level blocks receive default/flow blockGap styling rules.
232
+ })), createElement(RecursionProvider, {
233
+ blockName: wrapperBlockName,
234
+ uniqueId: wrapperUniqueId
235
+ }, createElement(BlockList, {
236
+ className: isTemplateMode ? 'wp-site-blocks' : 'is-layout-constrained' // Ensure root level blocks receive default/flow blockGap styling rules.
226
237
  ,
227
238
  __experimentalLayout: layout
228
239
  }))))), createElement(__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
@@ -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","titleRef","current","focus","padding","definitions","onClose"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,mCADD,EAECC,SAFD,EAGCC,KAAK,IAAIC,WAHV,QAIO,mBAJP;AAKA,SACCC,WADD,EAECC,SAFD,EAGCC,UAHD,EAICJ,KAAK,IAAIK,gBAJV,EAKCC,kCAAkC,IAAIC,wBALvC,EAMCC,uBAAuB,IAAIC,aAN5B,EAOCC,6BAA6B,IAAIC,mBAPlC,EAQCC,2BAA2B,IAAIC,iBARhC,EASCC,oCATD,EAUCC,6BAA6B,IAAIC,eAVlC,EAWCC,sBAAsB,IAAIC,YAX3B,EAYCC,UAZD,EAaCC,yBAAyB,IAAIC,WAb9B,EAcCC,iCAAiC,IAAIC,uBAdtC,EAeCC,gBAAgB,IAAIC,MAfrB,EAgBCC,+BAA+B,IAAIC,iBAhBpC,QAiBO,yBAjBP;AAkBA,SAASC,SAAT,EAAoBC,MAApB,EAA4BC,OAA5B,QAA2C,oBAA3C;AACA,SAASC,MAAT,EAAiBC,gBAAgB,IAAIC,MAArC,QAAmD,uBAAnD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,SAASvC,KAAK,IAAIwC,aAAlB,QAAuC,aAAvC;;AAEA,SAASC,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,GAAGzB,uBAAuB,EAAnC;;AAEA,MAAK,CAAEqB,YAAP,EAAsB;AACrB,WACC,8BACC,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGC;AAAvB,MADD,EAEC,cAAC,WAAD;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,cAAC,MAAD;AACC,IAAA,IAAI,EAAG,cAAC,YAAD;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;;AAED,eAAe,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,MAMFxB,SAAS,CAAIyB,MAAF,IAAc;AAC5B,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,iBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEnB,aAAF,CAJV;AAKA,UAAM;AAAEuB,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA2CL,MAAM,CAAE1D,WAAF,CAAvD;;AACA,UAAMgE,eAAe,GAAGJ,iBAAiB,EAAzC;;AACA,QAAIK,iBAAJ;;AAEA,QAAKF,kBAAkB,OAAO,UAA9B,EAA2C;AAC1CE,MAAAA,iBAAiB,GAAG,YAApB;AACA,KAFD,MAEO,IAAK,CAAED,eAAP,EAAyB;AAC/BC,MAAAA,iBAAiB,GAAG,mBAApB;AACA;;AAED,WAAO;AACNZ,MAAAA,UAAU,EAAEQ,kCAAkC,EADxC;AAENP,MAAAA,qBAAqB,EAAEK,eAAe,CAAE,cAAF,CAFhC;AAGNJ,MAAAA,cAAc,EAAES,eAHV;AAINR,MAAAA,gBAAgB,EAAES,iBAJZ;AAKNR,MAAAA,eAAe,EAAEK,gBAAgB;AAL3B,KAAP;AAOA,GAvBY,EAuBV,EAvBU,CANb;AA8BA,QAAM;AAAEI,IAAAA;AAAF,MAAqBjC,SAAS,CAAEjC,WAAF,CAApC;AACA,QAAMmE,YAAY,GAAGlC,SAAS,CAC3ByB,MAAF,IAAcA,MAAM,CAAEnB,aAAF,CAAN,CAAwB4B,YAAxB,EADe,EAE7B,EAF6B,CAA9B;AAIA,QAAM;AAAEC,IAAAA,4BAAF;AAAgCC,IAAAA,mBAAhC;AAAqDxB,IAAAA;AAArD,MACLZ,SAAS,CAAIyB,MAAF,IAAc;AACxB,UAAMY,SAAS,GAAGZ,MAAM,CAAEtD,gBAAF,CAAN,CAA2BmE,WAA3B,EAAlB;;AACA,WAAO;AACNH,MAAAA,4BAA4B,EAAEE,SAAS,CAACE,mBADlC;AAENH,MAAAA,mBAAmB,EAAEC,SAAS,CAACG,cAFzB;AAGN5B,MAAAA,MAAM,EAAEyB,SAAS,CAACI;AAHZ,KAAP;AAKA,GAPQ,EAON,EAPM,CADV;AASA,QAAM;AAAEC,IAAAA;AAAF,MAAyBzC,WAAW,CAAE9B,gBAAF,CAA1C;AACA,QAAM;AAAEwE,IAAAA;AAAF,MAA2B1C,WAAW,CAAEK,aAAF,CAA5C;AACA,QAAMsC,mBAAmB,GAAG;AAC3B3B,IAAAA,MAAM,EAAE,MADmB;AAE3BD,IAAAA,KAAK,EAAE,MAFoB;AAG3B6B,IAAAA,MAAM,EAAE,CAHmB;AAI3B3B,IAAAA,OAAO,EAAE,MAJkB;AAK3B4B,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,GAAGtE,eAAe,CAAEsC,UAAF,EAAcE,cAAd,CAA3C;AACA,QAAM+B,aAAa,GAAGpE,UAAU,CAAE,QAAF,CAAhC;AACA,QAAMqE,WAAW,GAAG,QAAQlC,UAAU,CAACmC,WAAX,EAAR,GAAmC,UAAvD;AAEA,MAAIC,cAAc,GAAGlC,cAAc,GAChC0B,kBADgC,GAEhCJ,mBAFH;;AAGA,MAAKQ,mBAAL,EAA2B;AAC1BI,IAAAA,cAAc,GAAGJ,mBAAjB;AACA;;AAED,MAAIK,aAAJ,CA1EkD,CA4ElD;AACA;;AACA,MAAK,CAAEvB,YAAF,IAAkB,CAAEkB,mBAApB,IAA2C,CAAE9B,cAAlD,EAAmE;AAClEmC,IAAAA,aAAa,GAAG,MAAhB;AACA;;AAED,QAAM3C,GAAG,GAAGnB,MAAM,EAAlB;AACA,QAAMc,UAAU,GAAGP,YAAY,CAAE,CAChCY,GADgC,EAEhCrC,mBAAmB,EAFa,EAGhCF,aAAa,EAHmB,EAIhCI,iBAAiB,EAJe,EAKhCN,wBAAwB,EALQ,CAAF,CAA/B;AAQA,QAAMqF,wBAAwB,GAAGrF,wBAAwB,EAAzD;AAEA,QAAMsF,MAAM,GAAG/D,OAAO,CAAE,MAAM;AAC7B,QAAK0B,cAAL,EAAsB;AACrB,aAAO;AAAEsC,QAAAA,IAAI,EAAE;AAAR,OAAP;AACA;;AAED,QAAKxB,mBAAL,EAA2B;AAC1B;AACA;AACA,aAAO,EAAE,GAAGiB,aAAL;AAAoBO,QAAAA,IAAI,EAAE;AAA1B,OAAP;AACA,KAT4B,CAU7B;;;AACA,WAAO;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAAP;AACA,GAZqB,EAYnB,CAAEtC,cAAF,EAAkBc,mBAAlB,EAAuCiB,aAAvC,CAZmB,CAAtB;AAcA,QAAMQ,QAAQ,GAAGlE,MAAM,EAAvB;AACAD,EAAAA,SAAS,CAAE,MAAM;AAAA;;AAChB,QAAK2B,qBAAqB,IAAI,CAAEY,cAAc,EAA9C,EAAmD;AAClD;AACA;;AACD4B,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,iCAAAA,QAAQ,CAAEC,OAAV,wEAAmBC,KAAnB;AACA,GALQ,EAKN,CAAE1C,qBAAF,EAAyBY,cAAzB,CALM,CAAT;AAOA,SACC,cAAC,UAAD;AACC,IAAA,oBAAoB,EAAGnB,GADxB;AAEC,IAAA,SAAS,EAAGnD,UAAU,CAAE,yBAAF,EAA6B;AAClD,0BAAoB2D;AAD8B,KAA7B;AAFvB,KAMC,cAAC,mCAAD,OAND,EAOC,cAAC,MAAD,CAAQ,GAAR;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,OAAO,EAAG;AACT0C,MAAAA,OAAO,EAAE1C,cAAc,GAAG,aAAH,GAAmB;AADjC,KAFX;AAKC,IAAA,GAAG,EAAGoC;AALP,KAOGpC,cAAc,IACf,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,IAAI,EAAGnB,SAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfuC,MAAAA,kBAAkB;AAClBC,MAAAA,oBAAoB,CAAE,KAAF,CAApB;AACA;AANF,KAQGvC,EAAE,CAAE,MAAF,CARL,CARF,EAmBC,cAAC,MAAD,CAAQ,GAAR;AACC,IAAA,OAAO,EAAGoD,cADX;AAEC,IAAA,OAAO,EAAGZ,mBAFX;AAGC,IAAA,SAAS,EAAGU;AAHb,KAKC,cAAC,WAAD;AACC,IAAA,YAAY,EACXhC,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;AAAE6C,MAAAA;AAAF;AATT,KAWGrB,mBAAmB,IACpB,CAAED,4BADD,IAED,CAAEb,cAFD,IAGA,cAAC,WAAD;AACC,IAAA,QAAQ,EAAC,kGADV;AAEC,IAAA,MAAM,EAAGqC,MAFV;AAGC,IAAA,iBAAiB,EAChBN,aADgB,aAChBA,aADgB,uBAChBA,aAAa,CAAEY;AAJjB,IAdH,EAsBG,CAAE3C,cAAF,IACD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,eAAe,EAAG;AAFnB,KAIC,cAAC,SAAD;AAAW,IAAA,GAAG,EAAGuC;AAAjB,IAJD,CAvBF,EA8BC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAGtC,gBADb;AAEC,IAAA,QAAQ,EAAGC;AAFZ,KAIC,cAAC,SAAD;AACC,IAAA,SAAS,EACRF,cAAc,GACX,gBADW,GAEX,uBAHK,CAGmB;AAJ7B;AAMC,IAAA,oBAAoB,EAAGqC;AANxB,IAJD,CA9BD,CALD,CAnBD,CAPD,EA6EC,cAAC,oCAAD,QACG;AAAA,QAAE;AAAEO,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,oBAAD;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\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...defaultLayout, type: 'constrained' };\n\t\t}\n\t\t// Set constrained layout for classic themes so all alignments are supported.\n\t\treturn { type: 'constrained' };\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={ layout }\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-constrained' // 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"]}