@wordpress/editor 12.14.0 → 12.14.1-next.d6164808d3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/build/components/post-taxonomies/flat-term-selector.js +7 -1
  2. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  3. package/build/components/post-title/index.js +15 -1
  4. package/build/components/post-title/index.js.map +1 -1
  5. package/build/components/provider/use-block-editor-settings.js +1 -1
  6. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  7. package/build/hooks/custom-sources-backwards-compatibility.js +8 -5
  8. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  9. package/build/store/actions.js +1 -7
  10. package/build/store/actions.js.map +1 -1
  11. package/build/store/reducer.js +17 -9
  12. package/build/store/reducer.js.map +1 -1
  13. package/build/store/selectors.js +36 -16
  14. package/build/store/selectors.js.map +1 -1
  15. package/build-module/components/post-taxonomies/flat-term-selector.js +8 -2
  16. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  17. package/build-module/components/post-title/index.js +16 -2
  18. package/build-module/components/post-title/index.js.map +1 -1
  19. package/build-module/components/provider/use-block-editor-settings.js +1 -1
  20. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  21. package/build-module/hooks/custom-sources-backwards-compatibility.js +9 -6
  22. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  23. package/build-module/store/actions.js +1 -6
  24. package/build-module/store/actions.js.map +1 -1
  25. package/build-module/store/reducer.js +17 -8
  26. package/build-module/store/reducer.js.map +1 -1
  27. package/build-module/store/selectors.js +36 -15
  28. package/build-module/store/selectors.js.map +1 -1
  29. package/package.json +28 -28
  30. package/src/components/post-author/test/check.js +7 -7
  31. package/src/components/post-last-revision/test/check.js +7 -7
  32. package/src/components/post-pending-status/test/check.js +5 -5
  33. package/src/components/post-schedule/test/check.js +5 -5
  34. package/src/components/post-slug/test/check.js +3 -3
  35. package/src/components/post-sticky/test/index.js +11 -7
  36. package/src/components/post-taxonomies/flat-term-selector.js +10 -2
  37. package/src/components/post-title/index.js +16 -2
  38. package/src/components/post-visibility/test/check.js +16 -8
  39. package/src/components/provider/use-block-editor-settings.js +1 -0
  40. package/src/hooks/custom-sources-backwards-compatibility.js +14 -12
  41. package/src/store/actions.js +1 -6
  42. package/src/store/reducer.js +16 -10
  43. package/src/store/selectors.js +29 -28
@@ -1,11 +1,6 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { omit, isEqual } from 'lodash';
5
1
  /**
6
2
  * WordPress dependencies
7
3
  */
8
-
9
4
  import { combineReducers } from '@wordpress/data';
10
5
  /**
11
6
  * Internal dependencies
@@ -39,7 +34,9 @@ export function getPostRawValue(value) {
39
34
  */
40
35
 
41
36
  export function hasSameKeys(a, b) {
42
- return isEqual(Object.keys(a), Object.keys(b));
37
+ const keysA = Object.keys(a).sort();
38
+ const keysB = Object.keys(b).sort();
39
+ return keysA.length === keysB.length && keysA.every((key, index) => keysB[index] === key);
43
40
  }
44
41
  /**
45
42
  * Returns true if, given the currently dispatching action and the previously
@@ -203,7 +200,13 @@ export function postSavingLock() {
203
200
  };
204
201
 
205
202
  case 'UNLOCK_POST_SAVING':
206
- return omit(state, action.lockName);
203
+ {
204
+ const {
205
+ [action.lockName]: removedLockName,
206
+ ...restState
207
+ } = state;
208
+ return restState;
209
+ }
207
210
  }
208
211
 
209
212
  return state;
@@ -230,7 +233,13 @@ export function postAutosavingLock() {
230
233
  };
231
234
 
232
235
  case 'UNLOCK_POST_AUTOSAVING':
233
- return omit(state, action.lockName);
236
+ {
237
+ const {
238
+ [action.lockName]: removedLockName,
239
+ ...restState
240
+ } = state;
241
+ return restState;
242
+ }
234
243
  }
235
244
 
236
245
  return state;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/store/reducer.js"],"names":["omit","isEqual","combineReducers","EDITOR_SETTINGS_DEFAULTS","getPostRawValue","value","raw","hasSameKeys","a","b","Object","keys","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","post","id","postType","template","isValid","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","postAutosavingLock","isReady","editorSettings","settings"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit, isEqual } from 'lodash';\n\n/**\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\treturn isEqual( Object.keys( a ), Object.keys( b ) );\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 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.type;\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 * 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\treturn omit( state, action.lockName );\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\treturn omit( state, action.lockName );\n\t}\n\treturn state;\n}\n\n/**\n * Reducer returning whether the editor is ready to be rendered.\n * The editor is considered ready to be rendered once\n * the post object is loaded properly and the initial blocks parsed.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nexport function isReady( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn true;\n\n\t\tcase 'TEAR_DOWN_EDITOR':\n\t\t\treturn false;\n\t}\n\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 default combineReducers( {\n\tpostId,\n\tpostType,\n\tsaving,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/store/reducer.js"],"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","post","id","postType","template","isValid","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","isReady","editorSettings","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAT,QAAgC,iBAAhC;AAEA;AACA;AACA;;AACA,SAASC,wBAAT,QAAyC,YAAzC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BC,KAA1B,EAAkC;AACxC,MAAKA,KAAK,IAAI,aAAa,OAAOA,KAA7B,IAAsC,SAASA,KAApD,EAA4D;AAC3D,WAAOA,KAAK,CAACC,GAAb;AACA;;AAED,SAAOD,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,WAAT,CAAsBC,CAAtB,EAAyBC,CAAzB,EAA6B;AACnC,QAAMC,KAAK,GAAGC,MAAM,CAACC,IAAP,CAAaJ,CAAb,EAAiBK,IAAjB,EAAd;AACA,QAAMC,KAAK,GAAGH,MAAM,CAACC,IAAP,CAAaH,CAAb,EAAiBI,IAAjB,EAAd;AACA,SACCH,KAAK,CAACK,MAAN,KAAiBD,KAAK,CAACC,MAAvB,IACAL,KAAK,CAACM,KAAN,CAAa,CAAEC,GAAF,EAAOC,KAAP,KAAkBJ,KAAK,CAAEI,KAAF,CAAL,KAAmBD,GAAlD,CAFD;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,0BAAT,CAAqCC,MAArC,EAA6CC,cAA7C,EAA8D;AACpE,SACCD,MAAM,CAACE,IAAP,KAAgB,WAAhB,IACAf,WAAW,CAAEa,MAAM,CAACG,KAAT,EAAgBF,cAAc,CAACE,KAA/B,CAFZ;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,oBAAT,CAA+BJ,MAA/B,EAAuCC,cAAvC,EAAwD;AAC9D,MAAKD,MAAM,CAACE,IAAP,KAAgB,qBAArB,EAA6C;AAC5C,WAAO,CAAEF,MAAM,CAACK,qBAAhB;AACA;;AAED,MAAK,CAAEJ,cAAF,IAAoBD,MAAM,CAACE,IAAP,KAAgBD,cAAc,CAACC,IAAxD,EAA+D;AAC9D,WAAO,KAAP;AACA;;AAED,SAAOH,0BAA0B,CAAEC,MAAF,EAAUC,cAAV,CAAjC;AACA;AAED,OAAO,SAASK,MAAT,GAAwC;AAAA,MAAvBC,KAAuB,uEAAf,IAAe;AAAA,MAATP,MAAS;;AAC9C,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,oBAAL;AACC,aAAOF,MAAM,CAACQ,IAAP,CAAYC,EAAnB;AAFF;;AAKA,SAAOF,KAAP;AACA;AAED,OAAO,SAASG,QAAT,GAA0C;AAAA,MAAvBH,KAAuB,uEAAf,IAAe;AAAA,MAATP,MAAS;;AAChD,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,oBAAL;AACC,aAAOF,MAAM,CAACQ,IAAP,CAAYN,IAAnB;AAFF;;AAKA,SAAOK,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASI,QAAT,GAAuD;AAAA,MAApCJ,KAAoC,uEAA5B;AAAEK,IAAAA,OAAO,EAAE;AAAX,GAA4B;AAAA,MAATZ,MAAS;;AAC7D,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,uBAAL;AACC,aAAO,EACN,GAAGK,KADG;AAENK,QAAAA,OAAO,EAAEZ,MAAM,CAACY;AAFV,OAAP;AAFF;;AAQA,SAAOL,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASM,MAAT,GAAsC;AAAA,MAArBN,KAAqB,uEAAb,EAAa;AAAA,MAATP,MAAS;;AAC5C,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,2BAAL;AACA,SAAK,4BAAL;AACC,aAAO;AACNY,QAAAA,OAAO,EAAEd,MAAM,CAACE,IAAP,KAAgB,2BADnB;AAENa,QAAAA,OAAO,EAAEf,MAAM,CAACe,OAAP,IAAkB;AAFrB,OAAP;AAHF;;AASA,SAAOR,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASS,QAAT,GAAyD;AAAA,MAAtCT,KAAsC,uEAA9B;AAAEU,IAAAA,QAAQ,EAAE;AAAZ,GAA8B;AAAA,MAATjB,MAAS;;AAC/D,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,kBAAL;AACC,aAAOF,MAAM,CAACkB,IAAd;AAFF;;AAKA,SAAOX,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASY,cAAT,GAA8C;AAAA,MAArBZ,KAAqB,uEAAb,EAAa;AAAA,MAATP,MAAS;;AACpD,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,kBAAL;AACC,aAAO,EAAE,GAAGK,KAAL;AAAY,SAAEP,MAAM,CAACoB,QAAT,GAAqB;AAAjC,OAAP;;AAED,SAAK,oBAAL;AAA2B;AAC1B,cAAM;AAAE,WAAEpB,MAAM,CAACoB,QAAT,GAAqBC,eAAvB;AAAwC,aAAGC;AAA3C,YACLf,KADD;AAEA,eAAOe,SAAP;AACA;AARF;;AAUA,SAAOf,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASgB,kBAAT,GAAkD;AAAA,MAArBhB,KAAqB,uEAAb,EAAa;AAAA,MAATP,MAAS;;AACxD,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,sBAAL;AACC,aAAO,EAAE,GAAGK,KAAL;AAAY,SAAEP,MAAM,CAACoB,QAAT,GAAqB;AAAjC,OAAP;;AAED,SAAK,wBAAL;AAA+B;AAC9B,cAAM;AAAE,WAAEpB,MAAM,CAACoB,QAAT,GAAqBC,eAAvB;AAAwC,aAAGC;AAA3C,YACLf,KADD;AAEA,eAAOe,SAAP;AACA;AARF;;AAUA,SAAOf,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASiB,OAAT,GAA0C;AAAA,MAAxBjB,KAAwB,uEAAhB,KAAgB;AAAA,MAATP,MAAS;;AAChD,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,oBAAL;AACC,aAAO,IAAP;;AAED,SAAK,kBAAL;AACC,aAAO,KAAP;AALF;;AAQA,SAAOK,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASkB,cAAT,GAAoE;AAAA,MAA3ClB,KAA2C,uEAAnCxB,wBAAmC;AAAA,MAATiB,MAAS;;AAC1E,UAASA,MAAM,CAACE,IAAhB;AACC,SAAK,wBAAL;AACC,aAAO,EACN,GAAGK,KADG;AAEN,WAAGP,MAAM,CAAC0B;AAFJ,OAAP;AAFF;;AAQA,SAAOnB,KAAP;AACA;AAED,eAAezB,eAAe,CAAE;AAC/BwB,EAAAA,MAD+B;AAE/BI,EAAAA,QAF+B;AAG/BG,EAAAA,MAH+B;AAI/BG,EAAAA,QAJ+B;AAK/BL,EAAAA,QAL+B;AAM/BQ,EAAAA,cAN+B;AAO/BK,EAAAA,OAP+B;AAQ/BC,EAAAA,cAR+B;AAS/BF,EAAAA;AAT+B,CAAF,CAA9B","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 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.type;\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 * 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 whether the editor is ready to be rendered.\n * The editor is considered ready to be rendered once\n * the post object is loaded properly and the initial blocks parsed.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nexport function isReady( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn true;\n\n\t\tcase 'TEAR_DOWN_EDITOR':\n\t\t\treturn false;\n\t}\n\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 default combineReducers( {\n\tpostId,\n\tpostType,\n\tsaving,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n} );\n"]}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { find, get, has, includes, some } from 'lodash';
5
4
  import createSelector from 'rememo';
6
5
  /**
7
6
  * WordPress dependencies
@@ -132,7 +131,7 @@ export const hasNonPostEntityChanges = createRegistrySelector(select => state =>
132
131
  type,
133
132
  id
134
133
  } = getCurrentPost(state);
135
- return some(dirtyEntityRecords, entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
134
+ return dirtyEntityRecords.some(entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
136
135
  });
137
136
  /**
138
137
  * Returns true if there are no unsaved values for the current edit session and
@@ -202,7 +201,9 @@ export function getCurrentPostId(state) {
202
201
  */
203
202
 
204
203
  export function getCurrentPostRevisionsCount(state) {
205
- return get(getCurrentPost(state), ['_links', 'version-history', 0, 'count'], 0);
204
+ var _getCurrentPost$_link, _getCurrentPost$_link2, _getCurrentPost$_link3, _getCurrentPost$_link4;
205
+
206
+ return (_getCurrentPost$_link = (_getCurrentPost$_link2 = getCurrentPost(state)._links) === null || _getCurrentPost$_link2 === void 0 ? void 0 : (_getCurrentPost$_link3 = _getCurrentPost$_link2['version-history']) === null || _getCurrentPost$_link3 === void 0 ? void 0 : (_getCurrentPost$_link4 = _getCurrentPost$_link3[0]) === null || _getCurrentPost$_link4 === void 0 ? void 0 : _getCurrentPost$_link4.count) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : 0;
206
207
  }
207
208
  /**
208
209
  * Returns the last revision ID of the post currently being edited,
@@ -214,7 +215,9 @@ export function getCurrentPostRevisionsCount(state) {
214
215
  */
215
216
 
216
217
  export function getCurrentPostLastRevisionId(state) {
217
- return get(getCurrentPost(state), ['_links', 'predecessor-version', 0, 'id'], null);
218
+ var _getCurrentPost$_link5, _getCurrentPost$_link6, _getCurrentPost$_link7, _getCurrentPost$_link8;
219
+
220
+ return (_getCurrentPost$_link5 = (_getCurrentPost$_link6 = getCurrentPost(state)._links) === null || _getCurrentPost$_link6 === void 0 ? void 0 : (_getCurrentPost$_link7 = _getCurrentPost$_link6['predecessor-version']) === null || _getCurrentPost$_link7 === void 0 ? void 0 : (_getCurrentPost$_link8 = _getCurrentPost$_link7[0]) === null || _getCurrentPost$_link8 === void 0 ? void 0 : _getCurrentPost$_link8.id) !== null && _getCurrentPost$_link5 !== void 0 ? _getCurrentPost$_link5 : null;
218
221
  }
219
222
  /**
220
223
  * Returns any post values which have been changed in the editor but not yet
@@ -328,13 +331,15 @@ export function getEditedPostAttribute(state, attributeName) {
328
331
  */
329
332
 
330
333
  export const getAutosaveAttribute = createRegistrySelector(select => (state, attributeName) => {
331
- if (!includes(AUTOSAVE_PROPERTIES, attributeName) && attributeName !== 'preview_link') {
334
+ var _select$getCurrentUse;
335
+
336
+ if (!AUTOSAVE_PROPERTIES.includes(attributeName) && attributeName !== 'preview_link') {
332
337
  return;
333
338
  }
334
339
 
335
340
  const postType = getCurrentPostType(state);
336
341
  const postId = getCurrentPostId(state);
337
- const currentUserId = get(select(coreStore).getCurrentUser(), ['id']);
342
+ const currentUserId = (_select$getCurrentUse = select(coreStore).getCurrentUser()) === null || _select$getCurrentUse === void 0 ? void 0 : _select$getCurrentUse.id;
338
343
  const autosave = select(coreStore).getAutosave(postType, postId, currentUserId);
339
344
 
340
345
  if (autosave) {
@@ -499,6 +504,8 @@ export function isEditedPostEmpty(state) {
499
504
  */
500
505
 
501
506
  export const isEditedPostAutosaveable = createRegistrySelector(select => state => {
507
+ var _select$getCurrentUse2;
508
+
502
509
  // A post must contain a title, an excerpt, or non-empty content to be valid for autosaving.
503
510
  if (!isEditedPostSaveable(state)) {
504
511
  return false;
@@ -512,7 +519,7 @@ export const isEditedPostAutosaveable = createRegistrySelector(select => state =
512
519
  const postType = getCurrentPostType(state);
513
520
  const postId = getCurrentPostId(state);
514
521
  const hasFetchedAutosave = select(coreStore).hasFetchedAutosaves(postType, postId);
515
- const currentUserId = get(select(coreStore).getCurrentUser(), ['id']); // Disable reason - this line causes the side-effect of fetching the autosave
522
+ const currentUserId = (_select$getCurrentUse2 = select(coreStore).getCurrentUser()) === null || _select$getCurrentUse2 === void 0 ? void 0 : _select$getCurrentUse2.id; // Disable reason - this line causes the side-effect of fetching the autosave
516
523
  // via a resolver, moving below the return would result in the autosave never
517
524
  // being fetched.
518
525
  // eslint-disable-next-line @wordpress/no-unused-vars-before-return
@@ -612,7 +619,7 @@ export const isSavingNonPostEntityChanges = createRegistrySelector(select => sta
612
619
  type,
613
620
  id
614
621
  } = getCurrentPost(state);
615
- return some(entitiesBeingSaved, entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
622
+ return entitiesBeingSaved.some(entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
616
623
  });
617
624
  /**
618
625
  * Returns true if a previous post save was attempted successfully, or false
@@ -651,11 +658,13 @@ export const didPostSaveRequestFail = createRegistrySelector(select => state =>
651
658
  */
652
659
 
653
660
  export function isAutosavingPost(state) {
661
+ var _state$saving$options;
662
+
654
663
  if (!isSavingPost(state)) {
655
664
  return false;
656
665
  }
657
666
 
658
- return !!get(state.saving, ['options', 'isAutosave']);
667
+ return Boolean((_state$saving$options = state.saving.options) === null || _state$saving$options === void 0 ? void 0 : _state$saving$options.isAutosave);
659
668
  }
660
669
  /**
661
670
  * Returns true if the post is being previewed, or false otherwise.
@@ -666,11 +675,13 @@ export function isAutosavingPost(state) {
666
675
  */
667
676
 
668
677
  export function isPreviewingPost(state) {
678
+ var _state$saving$options2;
679
+
669
680
  if (!isSavingPost(state)) {
670
681
  return false;
671
682
  }
672
683
 
673
- return !!get(state.saving, ['options', 'isPreview']);
684
+ return Boolean((_state$saving$options2 = state.saving.options) === null || _state$saving$options2 === void 0 ? void 0 : _state$saving$options2.isPreview);
674
685
  }
675
686
  /**
676
687
  * Returns the post preview link
@@ -959,7 +970,9 @@ export function getActivePostLock(state) {
959
970
  */
960
971
 
961
972
  export function canUserUseUnfilteredHTML(state) {
962
- return has(getCurrentPost(state), ['_links', 'wp:action-unfiltered-html']);
973
+ var _getCurrentPost$_link9;
974
+
975
+ return Boolean((_getCurrentPost$_link9 = getCurrentPost(state)._links) === null || _getCurrentPost$_link9 === void 0 ? void 0 : _getCurrentPost$_link9.hasOwnProperty('wp:action-unfiltered-html'));
963
976
  }
964
977
  /**
965
978
  * Returns whether the pre-publish panel should be shown
@@ -1405,9 +1418,17 @@ export const __experimentalGetDefaultTemplatePartAreas = createSelector(state =>
1405
1418
  * @return {Object} The template type.
1406
1419
  */
1407
1420
 
1408
- export const __experimentalGetDefaultTemplateType = createSelector((state, slug) => find(__experimentalGetDefaultTemplateTypes(state), {
1409
- slug
1410
- }) || {}, (state, slug) => [__experimentalGetDefaultTemplateTypes(state), slug]);
1421
+ export const __experimentalGetDefaultTemplateType = createSelector((state, slug) => {
1422
+ var _Object$values$find;
1423
+
1424
+ const templateTypes = __experimentalGetDefaultTemplateTypes(state);
1425
+
1426
+ if (!templateTypes) {
1427
+ return EMPTY_OBJECT;
1428
+ }
1429
+
1430
+ return (_Object$values$find = Object.values(templateTypes).find(type => type.slug === slug)) !== null && _Object$values$find !== void 0 ? _Object$values$find : EMPTY_OBJECT;
1431
+ }, (state, slug) => [__experimentalGetDefaultTemplateTypes(state), slug]);
1411
1432
  /**
1412
1433
  * Given a template entity, return information about it which is ready to be
1413
1434
  * rendered, such as the title, description, and icon.
@@ -1421,7 +1442,7 @@ export function __experimentalGetTemplateInfo(state, template) {
1421
1442
  var _experimentalGetDefa;
1422
1443
 
1423
1444
  if (!template) {
1424
- return {};
1445
+ return EMPTY_OBJECT;
1425
1446
  }
1426
1447
 
1427
1448
  const {