@wordpress/editor 13.22.0 → 13.23.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 (62) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/index.js +8 -0
  3. package/build/components/index.js.map +1 -1
  4. package/build/components/page-attributes/order.js +1 -0
  5. package/build/components/page-attributes/order.js.map +1 -1
  6. package/build/components/post-featured-image/index.js +3 -1
  7. package/build/components/post-featured-image/index.js.map +1 -1
  8. package/build/components/post-sync-status/index.js +1 -1
  9. package/build/components/post-sync-status/index.js.map +1 -1
  10. package/build/components/post-title/index.js +1 -2
  11. package/build/components/post-title/index.js.map +1 -1
  12. package/build/components/post-title/index.native.js +1 -1
  13. package/build/components/post-title/index.native.js.map +1 -1
  14. package/build/components/post-url/panel.js +69 -0
  15. package/build/components/post-url/panel.js.map +1 -0
  16. package/build/components/provider/index.js +125 -14
  17. package/build/components/provider/index.js.map +1 -1
  18. package/build/components/provider/use-block-editor-settings.js +22 -17
  19. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  20. package/build/components/provider/use-block-editor-settings.native.js +2 -2
  21. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  22. package/build/private-apis.js +5 -1
  23. package/build/private-apis.js.map +1 -1
  24. package/build-module/components/index.js +1 -0
  25. package/build-module/components/index.js.map +1 -1
  26. package/build-module/components/page-attributes/order.js +1 -0
  27. package/build-module/components/page-attributes/order.js.map +1 -1
  28. package/build-module/components/post-featured-image/index.js +3 -1
  29. package/build-module/components/post-featured-image/index.js.map +1 -1
  30. package/build-module/components/post-sync-status/index.js +2 -2
  31. package/build-module/components/post-sync-status/index.js.map +1 -1
  32. package/build-module/components/post-title/index.js +1 -2
  33. package/build-module/components/post-title/index.js.map +1 -1
  34. package/build-module/components/post-title/index.native.js +3 -3
  35. package/build-module/components/post-title/index.native.js.map +1 -1
  36. package/build-module/components/post-url/panel.js +61 -0
  37. package/build-module/components/post-url/panel.js.map +1 -0
  38. package/build-module/components/provider/index.js +124 -14
  39. package/build-module/components/provider/index.js.map +1 -1
  40. package/build-module/components/provider/use-block-editor-settings.js +22 -17
  41. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  42. package/build-module/components/provider/use-block-editor-settings.native.js +2 -2
  43. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  44. package/build-module/private-apis.js +4 -1
  45. package/build-module/private-apis.js.map +1 -1
  46. package/build-style/style-rtl.css +30 -3
  47. package/build-style/style.css +30 -3
  48. package/package.json +31 -31
  49. package/src/components/index.js +1 -0
  50. package/src/components/page-attributes/order.js +1 -0
  51. package/src/components/post-featured-image/index.js +3 -1
  52. package/src/components/post-sync-status/index.js +5 -2
  53. package/src/components/post-sync-status/style.scss +2 -3
  54. package/src/components/post-title/index.js +0 -1
  55. package/src/components/post-title/index.native.js +4 -8
  56. package/src/components/post-url/panel.js +64 -0
  57. package/src/components/post-url/style.scss +30 -0
  58. package/src/components/provider/README.md +50 -0
  59. package/src/components/provider/index.js +190 -14
  60. package/src/components/provider/use-block-editor-settings.js +54 -35
  61. package/src/components/provider/use-block-editor-settings.native.js +2 -2
  62. package/src/private-apis.js +4 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","store","noticesStore","editPatternsPrivateApis","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","ExperimentalBlockEditorProvider","PatternsMenuItems","ExperimentalEditorProvider","__unstableTemplate","post","settings","recovery","initialEdits","children","BlockEditorProviderComponent","defaultBlockContext","type","postId","id","postType","editorSettings","selection","isReady","select","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blocks","onInput","onChange","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","__experimentalTearDownEditor","createWarningNotice","postLock","template","autosave","actions","label","url","editLink","createElement","kind","value","useSubRegistry","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\t__unstableTemplate,\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t} ) => {\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\treturn { postId: post.id, postType: post.type };\n\t\t}, [ post.id, post.type ] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = __unstableTemplate ?? post;\n\t\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t\t'postType',\n\t\t\ttype,\n\t\t\t{ id }\n\t\t);\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\t!! __unstableTemplate\n\t\t);\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\t__experimentalTearDownEditor,\n\t\t} = useDispatch( editorStore );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Initialize and tear down the editor.\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\t__experimentalTearDownEditor();\n\t\t\t};\n\t\t}, [] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings ] );\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","store","blockEditorStore","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","PAGE_CONTENT_BLOCK_TYPES","useForceFocusModeForNavigation","navigationBlockClientId","setBlockEditingMode","unsetBlockEditingMode","extractPageContentBlockTypesFromTemplateBlocks","blocks","result","i","length","name","includes","push","innerBlocks","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","type","id","templateBlocks","onInputTemplate","onChangeTemplate","ref","templateLock","layout","style","spacing","margin","top","disableRootLevelChanges","clientId","ExperimentalEditorProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","shouldRenderTemplate","defaultBlockContext","postContext","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","select","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","__experimentalTearDownEditor","createWarningNotice","postLock","autosave","actions","label","url","editLink","createElement","kind","value","useSubRegistry","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\nexport const PAGE_CONTENT_BLOCK_TYPES = [\n\t'core/post-title',\n\t'core/post-featured-image',\n\t'core/post-content',\n];\n\n/**\n * For the Navigation block editor, we need to force the block editor to contentOnly for that block.\n *\n * Set block editing mode to contentOnly when entering Navigation focus mode.\n * this ensures that non-content controls on the block will be hidden and thus\n * the user can focus on editing the Navigation Menu content only.\n *\n * @param {string} navigationBlockClientId ClientId.\n */\nfunction useForceFocusModeForNavigation( navigationBlockClientId ) {\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! navigationBlockClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetBlockEditingMode( navigationBlockClientId, 'contentOnly' );\n\n\t\treturn () => {\n\t\t\tunsetBlockEditingMode( navigationBlockClientId );\n\t\t};\n\t}, [\n\t\tnavigationBlockClientId,\n\t\tunsetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t] );\n}\n\n/**\n * Helper method to extract the post content block types from a template.\n *\n * @param {Array} blocks Template blocks.\n *\n * @return {Array} Flattened object.\n */\nfunction extractPageContentBlockTypesFromTemplateBlocks( blocks ) {\n\tconst result = [];\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\t// Since the Query Block could contain PAGE_CONTENT_BLOCK_TYPES block types,\n\t\t// we skip it because we only want to render stand-alone page content blocks in the block list.\n\t\tif ( blocks[ i ].name === 'core/query' ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( PAGE_CONTENT_BLOCK_TYPES.includes( blocks[ i ].name ) ) {\n\t\t\tresult.push( createBlock( blocks[ i ].name ) );\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tresult.push(\n\t\t\t\t...extractPageContentBlockTypesFromTemplateBlocks(\n\t\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst blocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\n\t\tif ( mode === 'post-only' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\tlayout: { type: 'constrained' },\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '4em', // Mimics the post editor.\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\textractPageContentBlockTypesFromTemplateBlocks(\n\t\t\t\t\t\ttemplateBlocks\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [\n\t\ttemplateBlocks,\n\t\tpostBlocks,\n\t\trootLevelPost,\n\t\tpost.type,\n\t\tpost.id,\n\t\tmode,\n\t] );\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation' ||\n\t\tmode === 'post-only';\n\tconst navigationBlockClientId =\n\t\tpost.type === 'wp_navigation' && blocks && blocks[ 0 ]?.clientId;\n\tuseForceFocusModeForNavigation( navigationBlockClientId );\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tmode = 'all',\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\trootLevelPost.type !== 'wp_template' ||\n\t\t\t\t( shouldRenderTemplate && mode !== 'template-only' )\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tmode,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost?.slug,\n\t\t\tshouldRenderTemplate,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\t__experimentalTearDownEditor,\n\t\t} = useDispatch( editorStore );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Initialize and tear down the editor.\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\t__experimentalTearDownEditor();\n\t\t\t};\n\t\t}, [] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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"}
@@ -13,17 +13,18 @@ import inserterMediaCategories from '../media-categories';
13
13
  import { mediaUpload } from '../../utils';
14
14
  import { store as editorStore } from '../../store';
15
15
  const EMPTY_BLOCKS_LIST = [];
16
- const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'focusMode', 'distractionFree', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasInlineToolbar', 'isDistractionFree', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'template', 'templateLock', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'];
16
+ const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'focusMode', 'distractionFree', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasInlineToolbar', 'isDistractionFree', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
17
17
 
18
18
  /**
19
19
  * React hook used to compute the block editor settings to use for the post editor.
20
20
  *
21
- * @param {Object} settings EditorProvider settings prop.
22
- * @param {boolean} hasTemplate Whether template mode is enabled.
21
+ * @param {Object} settings EditorProvider settings prop.
22
+ * @param {string} postType Editor root level post type.
23
+ * @param {string} postId Editor root level post ID.
23
24
  *
24
25
  * @return {Object} Block Editor Settings.
25
26
  */
26
- function useBlockEditorSettings(settings, hasTemplate) {
27
+ function useBlockEditorSettings(settings, postType, postId) {
27
28
  var _settings$__experimen, _settings$__experimen2;
28
29
  const {
29
30
  reusableBlocks,
@@ -32,24 +33,21 @@ function useBlockEditorSettings(settings, hasTemplate) {
32
33
  userCanCreatePages,
33
34
  pageOnFront,
34
35
  pageForPosts,
35
- postType,
36
36
  userPatternCategories
37
37
  } = useSelect(select => {
38
38
  var _canUser;
39
- const {
40
- canUserUseUnfilteredHTML,
41
- getCurrentPostType
42
- } = select(editorStore);
43
39
  const isWeb = Platform.OS === 'web';
44
40
  const {
45
41
  canUser,
42
+ getRawEntityRecord,
46
43
  getEntityRecord,
47
- getUserPatternCategories
44
+ getUserPatternCategories,
45
+ getEntityRecords
48
46
  } = select(coreStore);
49
47
  const siteSettings = canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined;
50
48
  return {
51
- canUseUnfilteredHTML: canUserUseUnfilteredHTML(),
52
- reusableBlocks: isWeb ? select(coreStore).getEntityRecords('postType', 'wp_block', {
49
+ canUseUnfilteredHTML: getRawEntityRecord('postType', postType, postId)?._links?.hasOwnProperty('wp:action-unfiltered-html'),
50
+ reusableBlocks: isWeb ? getEntityRecords('postType', 'wp_block', {
53
51
  per_page: -1
54
52
  }) : EMPTY_BLOCKS_LIST,
55
53
  // Reusable blocks are fetched in the native version of this hook.
@@ -57,10 +55,9 @@ function useBlockEditorSettings(settings, hasTemplate) {
57
55
  userCanCreatePages: canUser('create', 'pages'),
58
56
  pageOnFront: siteSettings?.page_on_front,
59
57
  pageForPosts: siteSettings?.page_for_posts,
60
- postType: getCurrentPostType(),
61
58
  userPatternCategories: getUserPatternCategories()
62
59
  };
63
- }, []);
60
+ }, [postType, postId]);
64
61
  const settingsBlockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen :
65
62
  // WP 6.0
66
63
  settings.__experimentalBlockPatterns; // WP 5.9
@@ -113,15 +110,23 @@ function useBlockEditorSettings(settings, hasTemplate) {
113
110
  __experimentalFetchLinkSuggestions: (search, searchOptions) => fetchLinkSuggestions(search, searchOptions, settings),
114
111
  inserterMediaCategories,
115
112
  __experimentalFetchRichUrlData: fetchUrlData,
113
+ // Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.
114
+ // This might be better as a generic "canUser" selector.
116
115
  __experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,
116
+ //Todo: this is only needed for native and should probably be removed.
117
117
  __experimentalUndo: undo,
118
- outlineMode: hasTemplate,
118
+ // Check whether we want all site editor frames to have outlines
119
+ // including the navigation / pattern / parts editors.
120
+ outlineMode: postType === 'wp_template',
121
+ // Check these two properties: they were not present in the site editor.
119
122
  __experimentalCreatePageEntity: createPageEntity,
120
123
  __experimentalUserCanCreatePages: userCanCreatePages,
121
124
  pageOnFront,
122
125
  pageForPosts,
123
- __experimentalPreferPatternsOnRoot: hasTemplate
124
- }), [settings, hasUploadPermissions, reusableBlocks, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, hasTemplate, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts]);
126
+ __experimentalPreferPatternsOnRoot: postType === 'wp_template',
127
+ templateLock: postType === 'wp_navigation' ? 'insert' : settings.templateLock,
128
+ template: postType === 'wp_navigation' ? [['core/navigation', {}, []]] : settings.template
129
+ }), [settings, hasUploadPermissions, reusableBlocks, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType]);
125
130
  }
126
131
  export default useBlockEditorSettings;
127
132
  //# sourceMappingURL=use-block-editor-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","inserterMediaCategories","mediaUpload","editorStore","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","hasTemplate","_settings$__experimen","_settings$__experimen2","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","postType","userPatternCategories","select","_canUser","canUserUseUnfilteredHTML","getCurrentPostType","isWeb","OS","canUser","getEntityRecord","getUserPatternCategories","siteSettings","undefined","getEntityRecords","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","Object","fromEntries","entries","key","__experimentalReusableBlocks","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__experimentalSetIsInserterOpened',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'allowedBlockTypes',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'focusMode',\n\t'distractionFree',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'hasFixedToolbar',\n\t'hasInlineToolbar',\n\t'isDistractionFree',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'keepCaretInsideBlock',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'template',\n\t'templateLock',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tuserPatternCategories,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst { canUser, getEntityRecord, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","inserterMediaCategories","mediaUpload","editorStore","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","postType","postId","_settings$__experimen","_settings$__experimen2","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","select","_canUser","isWeb","OS","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getEntityRecords","siteSettings","undefined","_links","hasOwnProperty","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","Object","fromEntries","entries","key","__experimentalReusableBlocks","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__experimentalSetIsInserterOpened',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'allowedBlockTypes',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'focusMode',\n\t'distractionFree',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'hasFixedToolbar',\n\t'hasInlineToolbar',\n\t'isDistractionFree',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'keepCaretInsideBlock',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetEntityRecords,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\treusableBlocks: isWeb\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tpostType,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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"}
@@ -11,8 +11,8 @@ import { store as coreStore } from '@wordpress/core-data';
11
11
  import useBlockEditorSettings from './use-block-editor-settings.js';
12
12
  import { store as editorStore } from '../../store';
13
13
  const EMPTY_BLOCKS_LIST = [];
14
- function useNativeBlockEditorSettings(settings, hasTemplate) {
15
- const editorSettings = useBlockEditorSettings(settings, hasTemplate);
14
+ function useNativeBlockEditorSettings(settings, postType, postId) {
15
+ const editorSettings = useBlockEditorSettings(settings, postType, postId);
16
16
  const supportReusableBlock = settings.capabilities?.reusableBlock === true;
17
17
  const {
18
18
  reusableBlocks,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useSelect","store","coreStore","useBlockEditorSettings","editorStore","EMPTY_BLOCKS_LIST","useNativeBlockEditorSettings","settings","hasTemplate","editorSettings","supportReusableBlock","capabilities","reusableBlock","reusableBlocks","isTitleSelected","select","getEntityRecords","per_page","isPostTitleSelected","__experimentalReusableBlocks","__experimentalShouldInsertAtTheTop"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useBlockEditorSettings from './use-block-editor-settings.js';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nfunction useNativeBlockEditorSettings( settings, hasTemplate ) {\n\tconst editorSettings = useBlockEditorSettings( settings, hasTemplate );\n\tconst supportReusableBlock = settings.capabilities?.reusableBlock === true;\n\n\tconst { reusableBlocks, isTitleSelected } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\treusableBlocks: supportReusableBlock\n\t\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t\t// Unbounded queries are not supported on native so as a workaround, we set per_page with the maximum value that native version can handle.\n\t\t\t\t\t\t\t// Related issue: https://github.com/wordpress-mobile/gutenberg-mobile/issues/2661\n\t\t\t\t\t\t\t{ per_page: 100 }\n\t\t\t\t\t )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST,\n\t\t\t\tisTitleSelected: select( editorStore ).isPostTitleSelected(),\n\t\t\t};\n\t\t},\n\t\t[ supportReusableBlock ]\n\t);\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...editorSettings,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalShouldInsertAtTheTop: isTitleSelected,\n\t\t} ),\n\t\t[ editorSettings, reusableBlocks, isTitleSelected ]\n\t);\n}\n\nexport default useNativeBlockEditorSettings;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,gCAAgC;AACnE,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,SAASC,4BAA4BA,CAAEC,QAAQ,EAAEC,WAAW,EAAG;EAC9D,MAAMC,cAAc,GAAGN,sBAAsB,CAAEI,QAAQ,EAAEC,WAAY,CAAC;EACtE,MAAME,oBAAoB,GAAGH,QAAQ,CAACI,YAAY,EAAEC,aAAa,KAAK,IAAI;EAE1E,MAAM;IAAEC,cAAc;IAAEC;EAAgB,CAAC,GAAGd,SAAS,CAClDe,MAAM,IAAM;IACb,OAAO;MACNF,cAAc,EAAEH,oBAAoB,GACjCK,MAAM,CAAEb,SAAU,CAAC,CAACc,gBAAgB,CACpC,UAAU,EACV,UAAU;MACV;MACA;MACA;QAAEC,QAAQ,EAAE;MAAI,CAChB,CAAC,GACDZ,iBAAiB;MACpBS,eAAe,EAAEC,MAAM,CAAEX,WAAY,CAAC,CAACc,mBAAmB,CAAC;IAC5D,CAAC;EACF,CAAC,EACD,CAAER,oBAAoB,CACvB,CAAC;EAED,OAAOX,OAAO,CACb,OAAQ;IACP,GAAGU,cAAc;IACjBU,4BAA4B,EAAEN,cAAc;IAC5CO,kCAAkC,EAAEN;EACrC,CAAC,CAAE,EACH,CAAEL,cAAc,EAAEI,cAAc,EAAEC,eAAe,CAClD,CAAC;AACF;AAEA,eAAeR,4BAA4B"}
1
+ {"version":3,"names":["useMemo","useSelect","store","coreStore","useBlockEditorSettings","editorStore","EMPTY_BLOCKS_LIST","useNativeBlockEditorSettings","settings","postType","postId","editorSettings","supportReusableBlock","capabilities","reusableBlock","reusableBlocks","isTitleSelected","select","getEntityRecords","per_page","isPostTitleSelected","__experimentalReusableBlocks","__experimentalShouldInsertAtTheTop"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useBlockEditorSettings from './use-block-editor-settings.js';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nfunction useNativeBlockEditorSettings( settings, postType, postId ) {\n\tconst editorSettings = useBlockEditorSettings( settings, postType, postId );\n\tconst supportReusableBlock = settings.capabilities?.reusableBlock === true;\n\n\tconst { reusableBlocks, isTitleSelected } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\treusableBlocks: supportReusableBlock\n\t\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t\t// Unbounded queries are not supported on native so as a workaround, we set per_page with the maximum value that native version can handle.\n\t\t\t\t\t\t\t// Related issue: https://github.com/wordpress-mobile/gutenberg-mobile/issues/2661\n\t\t\t\t\t\t\t{ per_page: 100 }\n\t\t\t\t\t )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST,\n\t\t\t\tisTitleSelected: select( editorStore ).isPostTitleSelected(),\n\t\t\t};\n\t\t},\n\t\t[ supportReusableBlock ]\n\t);\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...editorSettings,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalShouldInsertAtTheTop: isTitleSelected,\n\t\t} ),\n\t\t[ editorSettings, reusableBlocks, isTitleSelected ]\n\t);\n}\n\nexport default useNativeBlockEditorSettings;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,gCAAgC;AACnE,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,SAASC,4BAA4BA,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAG;EACnE,MAAMC,cAAc,GAAGP,sBAAsB,CAAEI,QAAQ,EAAEC,QAAQ,EAAEC,MAAO,CAAC;EAC3E,MAAME,oBAAoB,GAAGJ,QAAQ,CAACK,YAAY,EAAEC,aAAa,KAAK,IAAI;EAE1E,MAAM;IAAEC,cAAc;IAAEC;EAAgB,CAAC,GAAGf,SAAS,CAClDgB,MAAM,IAAM;IACb,OAAO;MACNF,cAAc,EAAEH,oBAAoB,GACjCK,MAAM,CAAEd,SAAU,CAAC,CAACe,gBAAgB,CACpC,UAAU,EACV,UAAU;MACV;MACA;MACA;QAAEC,QAAQ,EAAE;MAAI,CAChB,CAAC,GACDb,iBAAiB;MACpBU,eAAe,EAAEC,MAAM,CAAEZ,WAAY,CAAC,CAACe,mBAAmB,CAAC;IAC5D,CAAC;EACF,CAAC,EACD,CAAER,oBAAoB,CACvB,CAAC;EAED,OAAOZ,OAAO,CACb,OAAQ;IACP,GAAGW,cAAc;IACjBU,4BAA4B,EAAEN,cAAc;IAC5CO,kCAAkC,EAAEN;EACrC,CAAC,CAAE,EACH,CAAEL,cAAc,EAAEI,cAAc,EAAEC,eAAe,CAClD,CAAC;AACF;AAEA,eAAeT,4BAA4B"}
@@ -4,9 +4,12 @@
4
4
  import { ExperimentalEditorProvider } from './components/provider';
5
5
  import { lock } from './lock-unlock';
6
6
  import { EntitiesSavedStatesExtensible } from './components/entities-saved-states';
7
+ import useBlockEditorSettings from './components/provider/use-block-editor-settings';
7
8
  export const privateApis = {};
8
9
  lock(privateApis, {
9
10
  ExperimentalEditorProvider,
10
- EntitiesSavedStatesExtensible
11
+ EntitiesSavedStatesExtensible,
12
+ // This is a temporary private API while we're updating the site editor to use EditorProvider.
13
+ useBlockEditorSettings
11
14
  });
12
15
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ExperimentalEditorProvider","lock","EntitiesSavedStatesExtensible","privateApis"],"sources":["@wordpress/editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { ExperimentalEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { EntitiesSavedStatesExtensible } from './components/entities-saved-states';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tExperimentalEditorProvider,\n\tEntitiesSavedStatesExtensible,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,0BAA0B,QAAQ,uBAAuB;AAClE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,6BAA6B,QAAQ,oCAAoC;AAElF,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BF,IAAI,CAAEE,WAAW,EAAE;EAClBH,0BAA0B;EAC1BE;AACD,CAAE,CAAC"}
1
+ {"version":3,"names":["ExperimentalEditorProvider","lock","EntitiesSavedStatesExtensible","useBlockEditorSettings","privateApis"],"sources":["@wordpress/editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { ExperimentalEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { EntitiesSavedStatesExtensible } from './components/entities-saved-states';\nimport useBlockEditorSettings from './components/provider/use-block-editor-settings';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tExperimentalEditorProvider,\n\tEntitiesSavedStatesExtensible,\n\n\t// This is a temporary private API while we're updating the site editor to use EditorProvider.\n\tuseBlockEditorSettings,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,0BAA0B,QAAQ,uBAAuB;AAClE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,6BAA6B,QAAQ,oCAAoC;AAClF,OAAOC,sBAAsB,MAAM,iDAAiD;AAEpF,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BH,IAAI,CAAEG,WAAW,EAAE;EAClBJ,0BAA0B;EAC1BE,6BAA6B;EAE7B;EACAC;AACD,CAAE,CAAC"}
@@ -607,9 +607,8 @@
607
607
  }
608
608
  .edit-post-sync-status > span {
609
609
  display: block;
610
- width: 45%;
611
- flex-shrink: 0;
612
- padding: 6px 0;
610
+ width: 30%;
611
+ margin-left: 8px;
613
612
  word-break: break-word;
614
613
  }
615
614
  .edit-post-sync-status > div {
@@ -701,6 +700,34 @@
701
700
  color: rgba(30, 30, 30, 0.62);
702
701
  }
703
702
 
703
+ .editor-post-url__panel {
704
+ width: 100%;
705
+ justify-content: flex-start;
706
+ align-items: flex-start;
707
+ }
708
+ .editor-post-url__panel span {
709
+ display: block;
710
+ width: 30%;
711
+ }
712
+
713
+ .editor-post-url__panel-dropdown {
714
+ width: 70%;
715
+ }
716
+
717
+ .components-button.editor-post-url__panel-toggle {
718
+ display: block;
719
+ max-width: 100%;
720
+ overflow: hidden;
721
+ text-align: right;
722
+ text-overflow: ellipsis;
723
+ white-space: nowrap;
724
+ }
725
+
726
+ .editor-post-url__panel-dialog .editor-post-url {
727
+ min-width: 248px;
728
+ margin: 8px;
729
+ }
730
+
704
731
  .editor-post-url__link-label {
705
732
  font-size: 13px;
706
733
  font-weight: 400;
@@ -607,9 +607,8 @@
607
607
  }
608
608
  .edit-post-sync-status > span {
609
609
  display: block;
610
- width: 45%;
611
- flex-shrink: 0;
612
- padding: 6px 0;
610
+ width: 30%;
611
+ margin-right: 8px;
613
612
  word-break: break-word;
614
613
  }
615
614
  .edit-post-sync-status > div {
@@ -701,6 +700,34 @@
701
700
  color: rgba(30, 30, 30, 0.62);
702
701
  }
703
702
 
703
+ .editor-post-url__panel {
704
+ width: 100%;
705
+ justify-content: flex-start;
706
+ align-items: flex-start;
707
+ }
708
+ .editor-post-url__panel span {
709
+ display: block;
710
+ width: 30%;
711
+ }
712
+
713
+ .editor-post-url__panel-dropdown {
714
+ width: 70%;
715
+ }
716
+
717
+ .components-button.editor-post-url__panel-toggle {
718
+ display: block;
719
+ max-width: 100%;
720
+ overflow: hidden;
721
+ text-align: left;
722
+ text-overflow: ellipsis;
723
+ white-space: nowrap;
724
+ }
725
+
726
+ .editor-post-url__panel-dialog .editor-post-url {
727
+ min-width: 248px;
728
+ margin: 8px;
729
+ }
730
+
704
731
  .editor-post-url__link-label {
705
732
  font-size: 13px;
706
733
  font-weight: 400;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/editor",
3
- "version": "13.22.0",
3
+ "version": "13.23.0",
4
4
  "description": "Enhanced block editor for WordPress posts.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -31,35 +31,35 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.16.0",
34
- "@wordpress/a11y": "^3.45.0",
35
- "@wordpress/api-fetch": "^6.42.0",
36
- "@wordpress/blob": "^3.45.0",
37
- "@wordpress/block-editor": "^12.13.0",
38
- "@wordpress/blocks": "^12.22.0",
39
- "@wordpress/components": "^25.11.0",
40
- "@wordpress/compose": "^6.22.0",
41
- "@wordpress/core-data": "^6.22.0",
42
- "@wordpress/data": "^9.15.0",
43
- "@wordpress/date": "^4.45.0",
44
- "@wordpress/deprecated": "^3.45.0",
45
- "@wordpress/dom": "^3.45.0",
46
- "@wordpress/element": "^5.22.0",
47
- "@wordpress/hooks": "^3.45.0",
48
- "@wordpress/html-entities": "^3.45.0",
49
- "@wordpress/i18n": "^4.45.0",
50
- "@wordpress/icons": "^9.36.0",
51
- "@wordpress/keyboard-shortcuts": "^4.22.0",
52
- "@wordpress/keycodes": "^3.45.0",
53
- "@wordpress/media-utils": "^4.36.0",
54
- "@wordpress/notices": "^4.13.0",
55
- "@wordpress/patterns": "^1.6.0",
56
- "@wordpress/preferences": "^3.22.0",
57
- "@wordpress/private-apis": "^0.27.0",
58
- "@wordpress/reusable-blocks": "^4.22.0",
59
- "@wordpress/rich-text": "^6.22.0",
60
- "@wordpress/server-side-render": "^4.22.0",
61
- "@wordpress/url": "^3.46.0",
62
- "@wordpress/wordcount": "^3.45.0",
34
+ "@wordpress/a11y": "^3.46.0",
35
+ "@wordpress/api-fetch": "^6.43.0",
36
+ "@wordpress/blob": "^3.46.0",
37
+ "@wordpress/block-editor": "^12.14.0",
38
+ "@wordpress/blocks": "^12.23.0",
39
+ "@wordpress/components": "^25.12.0",
40
+ "@wordpress/compose": "^6.23.0",
41
+ "@wordpress/core-data": "^6.23.0",
42
+ "@wordpress/data": "^9.16.0",
43
+ "@wordpress/date": "^4.46.0",
44
+ "@wordpress/deprecated": "^3.46.0",
45
+ "@wordpress/dom": "^3.46.0",
46
+ "@wordpress/element": "^5.23.0",
47
+ "@wordpress/hooks": "^3.46.0",
48
+ "@wordpress/html-entities": "^3.46.0",
49
+ "@wordpress/i18n": "^4.46.0",
50
+ "@wordpress/icons": "^9.37.0",
51
+ "@wordpress/keyboard-shortcuts": "^4.23.0",
52
+ "@wordpress/keycodes": "^3.46.0",
53
+ "@wordpress/media-utils": "^4.37.0",
54
+ "@wordpress/notices": "^4.14.0",
55
+ "@wordpress/patterns": "^1.7.0",
56
+ "@wordpress/preferences": "^3.23.0",
57
+ "@wordpress/private-apis": "^0.28.0",
58
+ "@wordpress/reusable-blocks": "^4.23.0",
59
+ "@wordpress/rich-text": "^6.23.0",
60
+ "@wordpress/server-side-render": "^4.23.0",
61
+ "@wordpress/url": "^3.47.0",
62
+ "@wordpress/wordcount": "^3.46.0",
63
63
  "classnames": "^2.3.1",
64
64
  "date-fns": "^2.28.0",
65
65
  "memize": "^2.1.0",
@@ -74,5 +74,5 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "gitHead": "2a00e87b57b9c27ed2b9b0fd8d423ef3cada72c1"
77
+ "gitHead": "839018ff6029ba749780e288e08ff9cd898e50e8"
78
78
  }
@@ -71,6 +71,7 @@ export { default as PostTypeSupportCheck } from './post-type-support-check';
71
71
  export { default as PostURL } from './post-url';
72
72
  export { default as PostURLCheck } from './post-url/check';
73
73
  export { default as PostURLLabel, usePostURLLabel } from './post-url/label';
74
+ export { default as PostURLPanel } from './post-url/panel';
74
75
  export { default as PostVisibility } from './post-visibility';
75
76
  export {
76
77
  default as PostVisibilityLabel,
@@ -39,6 +39,7 @@ function PageAttributesOrder() {
39
39
  <Flex>
40
40
  <FlexBlock>
41
41
  <NumberControl
42
+ __next40pxDefaultSize
42
43
  label={ __( 'Order' ) }
43
44
  value={ value }
44
45
  onChange={ setUpdatedOrder }
@@ -115,7 +115,9 @@ function PostFeaturedImage( {
115
115
  setIsLoading( true );
116
116
  return;
117
117
  }
118
- onUpdateImage( image );
118
+ if ( image ) {
119
+ onUpdateImage( image );
120
+ }
119
121
  setIsLoading( false );
120
122
  },
121
123
  onError( message ) {
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
- import { __ } from '@wordpress/i18n';
5
+ import { __, _x } from '@wordpress/i18n';
6
6
  import {
7
7
  PanelRow,
8
8
  Modal,
@@ -109,7 +109,10 @@ export function PostSyncStatusModal() {
109
109
  <VStack spacing="5">
110
110
  <ReusableBlocksRenameHint />
111
111
  <ToggleControl
112
- label={ __( 'Synced' ) }
112
+ label={ _x(
113
+ 'Synced',
114
+ 'Option that makes an individual pattern synchronized'
115
+ ) }
113
116
  help={ __(
114
117
  'Editing the pattern will update it anywhere it is used.'
115
118
  ) }
@@ -6,9 +6,8 @@
6
6
 
7
7
  > span {
8
8
  display: block;
9
- width: 45%;
10
- flex-shrink: 0;
11
- padding: $grid-unit-15 * 0.5 0;
9
+ width: 30%;
10
+ margin-right: 8px;
12
11
  word-break: break-word;
13
12
  }
14
13
 
@@ -222,7 +222,6 @@ function PostTitle( _, forwardedRef ) {
222
222
  } );
223
223
  },
224
224
  __unstableDisableFormats: true,
225
- preserveWhiteSpace: true,
226
225
  } );
227
226
 
228
227
  /* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */
@@ -7,18 +7,14 @@ import { View } from 'react-native';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { Component } from '@wordpress/element';
10
- import {
11
- __experimentalRichText as RichText,
12
- create,
13
- insert,
14
- } from '@wordpress/rich-text';
10
+ import { create, insert } from '@wordpress/rich-text';
15
11
  import { decodeEntities } from '@wordpress/html-entities';
16
12
  import { withDispatch, withSelect } from '@wordpress/data';
17
13
  import { withFocusOutside } from '@wordpress/components';
18
14
  import { withInstanceId, compose } from '@wordpress/compose';
19
15
  import { __, sprintf } from '@wordpress/i18n';
20
16
  import { pasteHandler } from '@wordpress/blocks';
21
- import { store as blockEditorStore } from '@wordpress/block-editor';
17
+ import { store as blockEditorStore, RichText } from '@wordpress/block-editor';
22
18
  import { store as editorStore } from '@wordpress/editor';
23
19
 
24
20
  /**
@@ -152,7 +148,7 @@ class PostTitle extends Component {
152
148
  accessibilityLabel={ this.getTitle( title, postType ) }
153
149
  accessibilityHint={ __( 'Updates the title.' ) }
154
150
  >
155
- <RichText
151
+ <RichText.Raw
156
152
  setRef={ this.setRef }
157
153
  accessibilityLabel={ this.getTitle( title, postType ) }
158
154
  tagName={ 'p' }
@@ -177,7 +173,7 @@ class PostTitle extends Component {
177
173
  disableEditingMenu={ true }
178
174
  __unstableIsSelected={ this.props.isSelected }
179
175
  __unstableOnCreateUndoLevel={ () => {} }
180
- ></RichText>
176
+ />
181
177
  </View>
182
178
  );
183
179
  }