@wordpress/editor 13.28.0 → 13.28.1

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.
@@ -259,7 +259,7 @@ export function editorSettings(state = EDITOR_SETTINGS_DEFAULTS, action) {
259
259
  }
260
260
  return state;
261
261
  }
262
- export function renderingMode(state = 'all', action) {
262
+ export function renderingMode(state = 'post-only', action) {
263
263
  switch (action.type) {
264
264
  case 'SET_RENDERING_MODE':
265
265
  return action.mode;
@@ -1 +1 @@
1
- {"version":3,"names":["combineReducers","EDITOR_SETTINGS_DEFAULTS","getPostRawValue","value","raw","hasSameKeys","a","b","keysA","Object","keys","sort","keysB","length","every","key","index","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","templateId","id","postType","template","isValid","saving","pending","options","deleting","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","editorSettings","settings","renderingMode","mode","deviceType","removedPanels","includes","panelName","blockInserterPanel","isOpen","listViewPanel","listViewToggleRef","current"],"sources":["@wordpress/editor/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { EDITOR_SETTINGS_DEFAULTS } from './defaults';\n\n/**\n * Returns a post attribute value, flattening nested rendered content using its\n * raw value in place of its original object form.\n *\n * @param {*} value Original value.\n *\n * @return {*} Raw value.\n */\nexport function getPostRawValue( value ) {\n\tif ( value && 'object' === typeof value && 'raw' in value ) {\n\t\treturn value.raw;\n\t}\n\n\treturn value;\n}\n\n/**\n * Returns true if the two object arguments have the same keys, or false\n * otherwise.\n *\n * @param {Object} a First object.\n * @param {Object} b Second object.\n *\n * @return {boolean} Whether the two objects have the same keys.\n */\nexport function hasSameKeys( a, b ) {\n\tconst keysA = Object.keys( a ).sort();\n\tconst keysB = Object.keys( b ).sort();\n\treturn (\n\t\tkeysA.length === keysB.length &&\n\t\tkeysA.every( ( key, index ) => keysB[ index ] === key )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are editing the same post property, or\n * false otherwise.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether actions are updating the same post property.\n */\nexport function isUpdatingSamePostProperty( action, previousAction ) {\n\treturn (\n\t\taction.type === 'EDIT_POST' &&\n\t\thasSameKeys( action.edits, previousAction.edits )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are modifying the same property such that\n * undo history should be batched.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether to overwrite present state.\n */\nexport function shouldOverwriteState( action, previousAction ) {\n\tif ( action.type === 'RESET_EDITOR_BLOCKS' ) {\n\t\treturn ! action.shouldCreateUndoLevel;\n\t}\n\n\tif ( ! previousAction || action.type !== previousAction.type ) {\n\t\treturn false;\n\t}\n\n\treturn isUpdatingSamePostProperty( action, previousAction );\n}\n\nexport function postId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn action.postId;\n\t}\n\n\treturn state;\n}\n\nexport function templateId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_CURRENT_TEMPLATE_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn action.postType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the post blocks match the defined template or not.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function template( state = { isValid: true }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE_VALIDITY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.isValid,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning current network request state (whether a request to\n * the WP REST API is in progress, successful, or failed).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function saving( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_UPDATE_START':\n\t\tcase 'REQUEST_POST_UPDATE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_UPDATE_START',\n\t\t\t\toptions: action.options || {},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning deleting post request state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deleting( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_DELETE_START':\n\t\tcase 'REQUEST_POST_DELETE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_DELETE_START',\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Post Lock State.\n *\n * @typedef {Object} PostLockState\n *\n * @property {boolean} isLocked Whether the post is locked.\n * @property {?boolean} isTakeover Whether the post editing has been taken over.\n * @property {?boolean} activePostLock Active post lock value.\n * @property {?Object} user User that took over the post.\n */\n\n/**\n * Reducer returning the post lock status.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postLock( state = { isLocked: false }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_POST_LOCK':\n\t\t\treturn action.lock;\n\t}\n\n\treturn state;\n}\n\n/**\n * Post saving lock.\n *\n * When post saving is locked, the post cannot be published or updated.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postSavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_SAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_SAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Post autosaving lock.\n *\n * When post autosaving is locked, the post will not autosave.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postAutosavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_AUTOSAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_AUTOSAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Reducer returning the post editor setting.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editorSettings( state = EDITOR_SETTINGS_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_EDITOR_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function renderingMode( state = 'all', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_RENDERING_MODE':\n\t\t\treturn action.mode;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! state.includes( action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tpostId,\n\tpostType,\n\ttemplateId,\n\tsaving,\n\tdeleting,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\teditorSettings,\n\tpostAutosavingLock,\n\trenderingMode,\n\tdeviceType,\n\tremovedPanels,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tlistViewToggleRef,\n} );\n"],"mappings":"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"}
1
+ {"version":3,"names":["combineReducers","EDITOR_SETTINGS_DEFAULTS","getPostRawValue","value","raw","hasSameKeys","a","b","keysA","Object","keys","sort","keysB","length","every","key","index","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","templateId","id","postType","template","isValid","saving","pending","options","deleting","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","editorSettings","settings","renderingMode","mode","deviceType","removedPanels","includes","panelName","blockInserterPanel","isOpen","listViewPanel","listViewToggleRef","current"],"sources":["@wordpress/editor/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { EDITOR_SETTINGS_DEFAULTS } from './defaults';\n\n/**\n * Returns a post attribute value, flattening nested rendered content using its\n * raw value in place of its original object form.\n *\n * @param {*} value Original value.\n *\n * @return {*} Raw value.\n */\nexport function getPostRawValue( value ) {\n\tif ( value && 'object' === typeof value && 'raw' in value ) {\n\t\treturn value.raw;\n\t}\n\n\treturn value;\n}\n\n/**\n * Returns true if the two object arguments have the same keys, or false\n * otherwise.\n *\n * @param {Object} a First object.\n * @param {Object} b Second object.\n *\n * @return {boolean} Whether the two objects have the same keys.\n */\nexport function hasSameKeys( a, b ) {\n\tconst keysA = Object.keys( a ).sort();\n\tconst keysB = Object.keys( b ).sort();\n\treturn (\n\t\tkeysA.length === keysB.length &&\n\t\tkeysA.every( ( key, index ) => keysB[ index ] === key )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are editing the same post property, or\n * false otherwise.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether actions are updating the same post property.\n */\nexport function isUpdatingSamePostProperty( action, previousAction ) {\n\treturn (\n\t\taction.type === 'EDIT_POST' &&\n\t\thasSameKeys( action.edits, previousAction.edits )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are modifying the same property such that\n * undo history should be batched.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether to overwrite present state.\n */\nexport function shouldOverwriteState( action, previousAction ) {\n\tif ( action.type === 'RESET_EDITOR_BLOCKS' ) {\n\t\treturn ! action.shouldCreateUndoLevel;\n\t}\n\n\tif ( ! previousAction || action.type !== previousAction.type ) {\n\t\treturn false;\n\t}\n\n\treturn isUpdatingSamePostProperty( action, previousAction );\n}\n\nexport function postId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn action.postId;\n\t}\n\n\treturn state;\n}\n\nexport function templateId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_CURRENT_TEMPLATE_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn action.postType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the post blocks match the defined template or not.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function template( state = { isValid: true }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE_VALIDITY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.isValid,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning current network request state (whether a request to\n * the WP REST API is in progress, successful, or failed).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function saving( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_UPDATE_START':\n\t\tcase 'REQUEST_POST_UPDATE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_UPDATE_START',\n\t\t\t\toptions: action.options || {},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning deleting post request state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deleting( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_DELETE_START':\n\t\tcase 'REQUEST_POST_DELETE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_DELETE_START',\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Post Lock State.\n *\n * @typedef {Object} PostLockState\n *\n * @property {boolean} isLocked Whether the post is locked.\n * @property {?boolean} isTakeover Whether the post editing has been taken over.\n * @property {?boolean} activePostLock Active post lock value.\n * @property {?Object} user User that took over the post.\n */\n\n/**\n * Reducer returning the post lock status.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postLock( state = { isLocked: false }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_POST_LOCK':\n\t\t\treturn action.lock;\n\t}\n\n\treturn state;\n}\n\n/**\n * Post saving lock.\n *\n * When post saving is locked, the post cannot be published or updated.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postSavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_SAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_SAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Post autosaving lock.\n *\n * When post autosaving is locked, the post will not autosave.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postAutosavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_AUTOSAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_AUTOSAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Reducer returning the post editor setting.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editorSettings( state = EDITOR_SETTINGS_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_EDITOR_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function renderingMode( state = 'post-only', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_RENDERING_MODE':\n\t\t\treturn action.mode;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! state.includes( action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tpostId,\n\tpostType,\n\ttemplateId,\n\tsaving,\n\tdeleting,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\teditorSettings,\n\tpostAutosavingLock,\n\trenderingMode,\n\tdeviceType,\n\tremovedPanels,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tlistViewToggleRef,\n} );\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/editor",
3
- "version": "13.28.0",
3
+ "version": "13.28.1",
4
4
  "description": "Enhanced block editor for WordPress posts.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -34,12 +34,12 @@
34
34
  "@wordpress/a11y": "^3.51.0",
35
35
  "@wordpress/api-fetch": "^6.48.0",
36
36
  "@wordpress/blob": "^3.51.0",
37
- "@wordpress/block-editor": "^12.19.0",
38
- "@wordpress/blocks": "^12.28.0",
39
- "@wordpress/commands": "^0.22.0",
40
- "@wordpress/components": "^26.0.0",
37
+ "@wordpress/block-editor": "^12.19.1",
38
+ "@wordpress/blocks": "^12.28.1",
39
+ "@wordpress/commands": "^0.22.1",
40
+ "@wordpress/components": "^26.0.1",
41
41
  "@wordpress/compose": "^6.28.0",
42
- "@wordpress/core-data": "^6.28.0",
42
+ "@wordpress/core-data": "^6.28.1",
43
43
  "@wordpress/data": "^9.21.0",
44
44
  "@wordpress/date": "^4.51.0",
45
45
  "@wordpress/deprecated": "^3.51.0",
@@ -53,12 +53,12 @@
53
53
  "@wordpress/keycodes": "^3.51.0",
54
54
  "@wordpress/media-utils": "^4.42.0",
55
55
  "@wordpress/notices": "^4.19.0",
56
- "@wordpress/patterns": "^1.12.0",
57
- "@wordpress/preferences": "^3.28.0",
56
+ "@wordpress/patterns": "^1.12.1",
57
+ "@wordpress/preferences": "^3.28.1",
58
58
  "@wordpress/private-apis": "^0.33.0",
59
- "@wordpress/reusable-blocks": "^4.28.0",
60
- "@wordpress/rich-text": "^6.28.0",
61
- "@wordpress/server-side-render": "^4.28.0",
59
+ "@wordpress/reusable-blocks": "^4.28.1",
60
+ "@wordpress/rich-text": "^6.28.1",
61
+ "@wordpress/server-side-render": "^4.28.1",
62
62
  "@wordpress/url": "^3.52.0",
63
63
  "@wordpress/wordcount": "^3.51.0",
64
64
  "classnames": "^2.3.1",
@@ -75,5 +75,5 @@
75
75
  "publishConfig": {
76
76
  "access": "public"
77
77
  },
78
- "gitHead": "eb796371e9630636a4a8837033807b0c4a06ed67"
78
+ "gitHead": "5902fc0f490528da6965dd4cf97f11192bcf5956"
79
79
  }
@@ -7,7 +7,9 @@ import { dispatch } from '@wordpress/data';
7
7
  * Internal dependencies
8
8
  */
9
9
  import { unlock } from '../lock-unlock';
10
+ import patternOverrides from './pattern-overrides';
10
11
  import postMeta from './post-meta';
11
12
 
12
13
  const { registerBlockBindingsSource } = unlock( dispatch( blockEditorStore ) );
14
+ registerBlockBindingsSource( patternOverrides );
13
15
  registerBlockBindingsSource( postMeta );
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { _x } from '@wordpress/i18n';
5
+
6
+ export default {
7
+ name: 'core/pattern-overrides',
8
+ label: _x( 'Pattern Overrides', 'block bindings source' ),
9
+ useSource: null,
10
+ lockAttributesEditing: false,
11
+ };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { useEntityProp } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
- import { __ } from '@wordpress/i18n';
6
+ import { _x } from '@wordpress/i18n';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
@@ -11,7 +11,7 @@ import { store as editorStore } from '../store';
11
11
 
12
12
  export default {
13
13
  name: 'core/post-meta',
14
- label: __( 'Post Meta' ),
14
+ label: _x( 'Post Meta', 'block bindings source' ),
15
15
  useSource( props, sourceAttributes ) {
16
16
  const { getCurrentPostType } = useSelect( editorStore );
17
17
  const { context } = props;
@@ -38,5 +38,4 @@ export default {
38
38
  useValue: [ metaValue, updateMetaValue ],
39
39
  };
40
40
  },
41
- lockAttributesEditing: true,
42
41
  };
@@ -40,6 +40,17 @@ const {
40
40
 
41
41
  const noop = () => {};
42
42
 
43
+ /**
44
+ * These post types have a special editor where they don't allow you to fill the title
45
+ * and they don't apply the layout styles.
46
+ */
47
+ const DESIGN_POST_TYPES = [
48
+ 'wp_block',
49
+ 'wp_template',
50
+ 'wp_navigation',
51
+ 'wp_template_part',
52
+ ];
53
+
43
54
  /**
44
55
  * Given an array of nested blocks, find the first Post Content
45
56
  * block inside it, recursing through any nesting levels,
@@ -93,6 +104,7 @@ function EditorCanvas( {
93
104
  wrapperUniqueId,
94
105
  deviceType,
95
106
  showEditorPadding,
107
+ isDesignPostType,
96
108
  } = useSelect( ( select ) => {
97
109
  const {
98
110
  getCurrentPostId,
@@ -110,7 +122,7 @@ function EditorCanvas( {
110
122
 
111
123
  if ( postTypeSlug === 'wp_block' ) {
112
124
  _wrapperBlockName = 'core/block';
113
- } else if ( ! _renderingMode === 'post-only' ) {
125
+ } else if ( _renderingMode === 'post-only' ) {
114
126
  _wrapperBlockName = 'core/post-content';
115
127
  }
116
128
 
@@ -130,6 +142,7 @@ function EditorCanvas( {
130
142
  return {
131
143
  renderingMode: _renderingMode,
132
144
  postContentAttributes: editorSettings.postContentAttributes,
145
+ isDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),
133
146
  // Post template fetch returns a 404 on classic themes, which
134
147
  // messes with e2e tests, so check it's a block theme first.
135
148
  editedPostTemplate:
@@ -164,7 +177,7 @@ function EditorCanvas( {
164
177
  // fallbackLayout is used if there is no Post Content,
165
178
  // and for Post Title.
166
179
  const fallbackLayout = useMemo( () => {
167
- if ( renderingMode !== 'post-only' ) {
180
+ if ( renderingMode !== 'post-only' || isDesignPostType ) {
168
181
  return { type: 'default' };
169
182
  }
170
183
 
@@ -175,7 +188,12 @@ function EditorCanvas( {
175
188
  }
176
189
  // Set default layout for classic themes so all alignments are supported.
177
190
  return { type: 'default' };
178
- }, [ renderingMode, themeSupportsLayout, globalLayoutSettings ] );
191
+ }, [
192
+ renderingMode,
193
+ themeSupportsLayout,
194
+ globalLayoutSettings,
195
+ isDesignPostType,
196
+ ] );
179
197
 
180
198
  const newestPostContentAttributes = useMemo( () => {
181
199
  if (
@@ -318,7 +336,8 @@ function EditorCanvas( {
318
336
  >
319
337
  { themeSupportsLayout &&
320
338
  ! themeHasDisabledLayoutStyles &&
321
- renderingMode === 'post-only' && (
339
+ renderingMode === 'post-only' &&
340
+ ! isDesignPostType && (
322
341
  <>
323
342
  <LayoutStyle
324
343
  selector=".editor-editor-canvas__post-title-wrapper"
@@ -337,7 +356,7 @@ function EditorCanvas( {
337
356
  ) }
338
357
  </>
339
358
  ) }
340
- { renderingMode === 'post-only' && (
359
+ { renderingMode === 'post-only' && ! isDesignPostType && (
341
360
  <div
342
361
  className={ classnames(
343
362
  'editor-editor-canvas__post-title-wrapper',
@@ -367,7 +386,7 @@ function EditorCanvas( {
367
386
  className={ classnames(
368
387
  className,
369
388
  'is-' + deviceType.toLowerCase() + '-preview',
370
- renderingMode !== 'post-only'
389
+ renderingMode !== 'post-only' || isDesignPostType
371
390
  ? 'wp-site-blocks'
372
391
  : `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
373
392
  ) }
@@ -585,7 +585,7 @@ export function updateEditorSettings( settings ) {
585
585
  * - `post-only`: This mode extracts the post blocks from the template and renders only those. The idea is to allow the user to edit the post/page in isolation without the wrapping template.
586
586
  * - `template-locked`: This mode renders both the template and the post blocks but the template blocks are locked and can't be edited. The post blocks are editable.
587
587
  *
588
- * @param {string} mode Mode (one of 'post-only', 'template-locked' or 'all').
588
+ * @param {string} mode Mode (one of 'post-only' or 'template-locked').
589
589
  */
590
590
  export const setRenderingMode =
591
591
  ( mode ) =>
@@ -266,7 +266,7 @@ export function editorSettings( state = EDITOR_SETTINGS_DEFAULTS, action ) {
266
266
  return state;
267
267
  }
268
268
 
269
- export function renderingMode( state = 'all', action ) {
269
+ export function renderingMode( state = 'post-only', action ) {
270
270
  switch ( action.type ) {
271
271
  case 'SET_RENDERING_MODE':
272
272
  return action.mode;