@wordpress/editor 13.22.0 → 13.24.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 (137) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/entities-saved-states/index.js +15 -1
  3. package/build/components/entities-saved-states/index.js.map +1 -1
  4. package/build/components/index.js +32 -0
  5. package/build/components/index.js.map +1 -1
  6. package/build/components/page-attributes/order.js +1 -0
  7. package/build/components/page-attributes/order.js.map +1 -1
  8. package/build/components/post-author/panel.js +24 -0
  9. package/build/components/post-author/panel.js.map +1 -0
  10. package/build/components/post-featured-image/index.js +3 -1
  11. package/build/components/post-featured-image/index.js.map +1 -1
  12. package/build/components/post-panel-row/index.js +36 -0
  13. package/build/components/post-panel-row/index.js.map +1 -0
  14. package/build/components/post-saved-state/index.js +21 -16
  15. package/build/components/post-saved-state/index.js.map +1 -1
  16. package/build/components/post-schedule/panel.js +67 -0
  17. package/build/components/post-schedule/panel.js.map +1 -0
  18. package/build/components/post-sync-status/index.js +9 -5
  19. package/build/components/post-sync-status/index.js.map +1 -1
  20. package/build/components/post-title/constants.js +11 -0
  21. package/build/components/post-title/constants.js.map +1 -0
  22. package/build/components/post-title/index.js +61 -90
  23. package/build/components/post-title/index.js.map +1 -1
  24. package/build/components/post-title/index.native.js +1 -1
  25. package/build/components/post-title/index.native.js.map +1 -1
  26. package/build/components/post-title/post-title-raw.js +92 -0
  27. package/build/components/post-title/post-title-raw.js.map +1 -0
  28. package/build/components/post-title/use-post-title-focus.js +64 -0
  29. package/build/components/post-title/use-post-title-focus.js.map +1 -0
  30. package/build/components/post-title/use-post-title.js +41 -0
  31. package/build/components/post-title/use-post-title.js.map +1 -0
  32. package/build/components/post-url/panel.js +70 -0
  33. package/build/components/post-url/panel.js.map +1 -0
  34. package/build/components/provider/constants.js +9 -0
  35. package/build/components/provider/constants.js.map +1 -0
  36. package/build/components/provider/disable-non-page-content-blocks.js +63 -0
  37. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -0
  38. package/build/components/provider/index.js +126 -14
  39. package/build/components/provider/index.js.map +1 -1
  40. package/build/components/provider/use-block-editor-settings.js +22 -17
  41. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  42. package/build/components/provider/use-block-editor-settings.native.js +2 -2
  43. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  44. package/build/private-apis.js +7 -1
  45. package/build/private-apis.js.map +1 -1
  46. package/build/store/actions.js +23 -2
  47. package/build/store/actions.js.map +1 -1
  48. package/build/store/reducer.js +10 -1
  49. package/build/store/reducer.js.map +1 -1
  50. package/build/store/selectors.js +16 -2
  51. package/build/store/selectors.js.map +1 -1
  52. package/build-module/components/entities-saved-states/index.js +16 -2
  53. package/build-module/components/entities-saved-states/index.js.map +1 -1
  54. package/build-module/components/index.js +4 -0
  55. package/build-module/components/index.js.map +1 -1
  56. package/build-module/components/page-attributes/order.js +1 -0
  57. package/build-module/components/page-attributes/order.js.map +1 -1
  58. package/build-module/components/post-author/panel.js +14 -0
  59. package/build-module/components/post-author/panel.js.map +1 -0
  60. package/build-module/components/post-featured-image/index.js +3 -1
  61. package/build-module/components/post-featured-image/index.js.map +1 -1
  62. package/build-module/components/post-panel-row/index.js +27 -0
  63. package/build-module/components/post-panel-row/index.js.map +1 -0
  64. package/build-module/components/post-saved-state/index.js +22 -17
  65. package/build-module/components/post-saved-state/index.js.map +1 -1
  66. package/build-module/components/post-schedule/panel.js +59 -0
  67. package/build-module/components/post-schedule/panel.js.map +1 -0
  68. package/build-module/components/post-sync-status/index.js +10 -7
  69. package/build-module/components/post-sync-status/index.js.map +1 -1
  70. package/build-module/components/post-title/constants.js +3 -0
  71. package/build-module/components/post-title/constants.js.map +1 -0
  72. package/build-module/components/post-title/index.js +62 -92
  73. package/build-module/components/post-title/index.js.map +1 -1
  74. package/build-module/components/post-title/index.native.js +3 -3
  75. package/build-module/components/post-title/index.native.js.map +1 -1
  76. package/build-module/components/post-title/post-title-raw.js +83 -0
  77. package/build-module/components/post-title/post-title-raw.js.map +1 -0
  78. package/build-module/components/post-title/use-post-title-focus.js +57 -0
  79. package/build-module/components/post-title/use-post-title-focus.js.map +1 -0
  80. package/build-module/components/post-title/use-post-title.js +33 -0
  81. package/build-module/components/post-title/use-post-title.js.map +1 -0
  82. package/build-module/components/post-url/panel.js +62 -0
  83. package/build-module/components/post-url/panel.js.map +1 -0
  84. package/build-module/components/provider/constants.js +2 -0
  85. package/build-module/components/provider/constants.js.map +1 -0
  86. package/build-module/components/provider/disable-non-page-content-blocks.js +56 -0
  87. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -0
  88. package/build-module/components/provider/index.js +127 -15
  89. package/build-module/components/provider/index.js.map +1 -1
  90. package/build-module/components/provider/use-block-editor-settings.js +22 -17
  91. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  92. package/build-module/components/provider/use-block-editor-settings.native.js +2 -2
  93. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  94. package/build-module/private-apis.js +6 -1
  95. package/build-module/private-apis.js.map +1 -1
  96. package/build-module/store/actions.js +21 -0
  97. package/build-module/store/actions.js.map +1 -1
  98. package/build-module/store/reducer.js +9 -1
  99. package/build-module/store/reducer.js.map +1 -1
  100. package/build-module/store/selectors.js +11 -0
  101. package/build-module/store/selectors.js.map +1 -1
  102. package/build-style/style-rtl.css +70 -10
  103. package/build-style/style.css +70 -10
  104. package/package.json +31 -31
  105. package/src/components/entities-saved-states/index.js +16 -1
  106. package/src/components/index.js +4 -0
  107. package/src/components/page-attributes/order.js +1 -0
  108. package/src/components/post-author/panel.js +18 -0
  109. package/src/components/post-author/style.scss +7 -0
  110. package/src/components/post-featured-image/index.js +3 -1
  111. package/src/components/post-panel-row/index.js +26 -0
  112. package/src/components/post-panel-row/style.scss +21 -0
  113. package/src/components/post-saved-state/index.js +46 -37
  114. package/src/components/post-schedule/panel.js +65 -0
  115. package/src/components/post-schedule/style.scss +23 -0
  116. package/src/components/post-sync-status/index.js +10 -8
  117. package/src/components/post-sync-status/style.scss +3 -18
  118. package/src/components/post-title/constants.js +4 -0
  119. package/src/components/post-title/index.js +56 -88
  120. package/src/components/post-title/index.native.js +4 -8
  121. package/src/components/post-title/post-title-raw.js +82 -0
  122. package/src/components/post-title/style.scss +5 -0
  123. package/src/components/post-title/use-post-title-focus.js +50 -0
  124. package/src/components/post-title/use-post-title.js +25 -0
  125. package/src/components/post-url/panel.js +60 -0
  126. package/src/components/post-url/style.scss +19 -0
  127. package/src/components/provider/README.md +37 -0
  128. package/src/components/provider/constants.js +5 -0
  129. package/src/components/provider/disable-non-page-content-blocks.js +55 -0
  130. package/src/components/provider/index.js +200 -14
  131. package/src/components/provider/use-block-editor-settings.js +54 -35
  132. package/src/components/provider/use-block-editor-settings.native.js +2 -2
  133. package/src/private-apis.js +6 -0
  134. package/src/store/actions.js +21 -0
  135. package/src/store/reducer.js +10 -0
  136. package/src/store/selectors.js +11 -0
  137. package/src/style.scss +4 -0
@@ -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,14 @@
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';
8
+ import PostPanelRow from './components/post-panel-row';
7
9
  export const privateApis = {};
8
10
  lock(privateApis, {
9
11
  ExperimentalEditorProvider,
10
- EntitiesSavedStatesExtensible
12
+ EntitiesSavedStatesExtensible,
13
+ PostPanelRow,
14
+ // This is a temporary private API while we're updating the site editor to use EditorProvider.
15
+ useBlockEditorSettings
11
16
  });
12
17
  //# 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","PostPanelRow","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';\nimport PostPanelRow from './components/post-panel-row';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tExperimentalEditorProvider,\n\tEntitiesSavedStatesExtensible,\n\tPostPanelRow,\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;AACpF,OAAOC,YAAY,MAAM,6BAA6B;AAEtD,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BJ,IAAI,CAAEI,WAAW,EAAE;EAClBL,0BAA0B;EAC1BE,6BAA6B;EAC7BE,YAAY;EAEZ;EACAD;AACD,CAAE,CAAC"}
@@ -534,6 +534,27 @@ export function updateEditorSettings(settings) {
534
534
  };
535
535
  }
536
536
 
537
+ /**
538
+ * Returns an action used to set the rendering mode of the post editor. We support multiple rendering modes:
539
+ *
540
+ * - `all`: This is the default mode. It renders the post editor with all the features available. If a template is provided, it's preferred over the post.
541
+ * - `template-only`: This mode renders the editor with only the template blocks visible.
542
+ * - `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.
543
+ * - `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.
544
+ *
545
+ * @param {string} mode Mode (one of 'template-only', 'post-only', 'template-locked' or 'all').
546
+ */
547
+ export const setRenderingMode = mode => ({
548
+ dispatch,
549
+ registry
550
+ }) => {
551
+ registry.dispatch(blockEditorStore).clearSelectedBlock();
552
+ dispatch({
553
+ type: 'SET_RENDERING_MODE',
554
+ mode
555
+ });
556
+ };
557
+
537
558
  /**
538
559
  * Backward compatibility
539
560
  */
@@ -1 +1 @@
1
- {"version":3,"names":["apiFetch","deprecated","parse","synchronizeBlocksWithTemplate","__unstableSerializeAndClean","store","noticesStore","coreStore","blockEditorStore","applyFilters","preferencesStore","TRASH_POST_NOTICE_ID","localAutosaveSet","getNotificationArgumentsForSaveSuccess","getNotificationArgumentsForSaveFail","getNotificationArgumentsForTrashFail","setupEditor","post","edits","template","dispatch","setupEditorState","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","values","some","key","edit","_post$key$raw","editPost","__experimentalTearDownEditor","type","resetPost","since","version","alternative","updatePost","options","select","registry","id","getCurrentPost","editEntityRecord","savePost","isEditedPostSaveable","getEditedPostContent","isAutosave","undoIgnore","previousRecord","getEntityRecordNonTransientEdits","saveEntityRecord","error","getLastEntitySaveError","Promise","resolve","catch","err","args","length","createErrorNotice","updatedRecord","previousPost","postType","resolveSelect","getPostType","createSuccessNotice","__unstableMarkLastChangeAsPersistent","refreshPost","trashPost","postTypeSlug","getCurrentPostType","removeNotice","rest_base","restBase","rest_namespace","restNamespace","path","method","autosave","local","isPostNew","isEditedPostNew","title","getEditedPostAttribute","excerpt","__unstableSaveForPreview","forceIsAutosaveable","isEditedPostAutosaveable","isPostLocked","isDraft","includes","isPreview","getEditedPostPreviewLink","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","set","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","getEditedEntityRecord","__unstableCreateUndoLevel","blocksForSerialization","updateEditorSettings","settings","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","clearSelectedBlock","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"sources":["@wordpress/editor/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { TRASH_POST_NOTICE_ID } from './constants';\nimport { localAutosaveSet } from './local-autosave';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport const setupEditor =\n\t( post, edits, template ) =>\n\t( { dispatch } ) => {\n\t\tdispatch.setupEditorState( post );\n\t\t// Apply a template for new posts only, if exists.\n\t\tconst isNewPost = post.status === 'auto-draft';\n\t\tif ( isNewPost && template ) {\n\t\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t\t// included as part of editor setup action. Assume edited content as\n\t\t\t// canonical if provided, falling back to post.\n\t\t\tlet content;\n\t\t\tif ( 'content' in edits ) {\n\t\t\t\tcontent = edits.content;\n\t\t\t} else {\n\t\t\t\tcontent = post.content.raw;\n\t\t\t}\n\t\t\tlet blocks = parse( content );\n\t\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\t\tdispatch.resetEditorBlocks( blocks, {\n\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tedits &&\n\t\t\tObject.values( edits ).some(\n\t\t\t\t( [ key, edit ] ) =>\n\t\t\t\t\tedit !== ( post[ key ]?.raw ?? post[ key ] )\n\t\t\t)\n\t\t) {\n\t\t\tdispatch.editPost( edits );\n\t\t}\n\t};\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\treturn { type: 'TEAR_DOWN_EDITOR' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function resetPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).resetPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Initialize the editor with the setupEditorState action',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Returns an action object used to setup the editor state when first opening\n * an editor.\n *\n * @param {Object} post Post object.\n *\n * @return {Object} Action object.\n */\nexport function setupEditorState( post ) {\n\treturn {\n\t\ttype: 'SETUP_EDITOR_STATE',\n\t\tpost,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n */\nexport const editPost =\n\t( edits, options ) =>\n\t( { select, registry } ) => {\n\t\tconst { id, type } = select.getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', type, id, edits, options );\n\t};\n\n/**\n * Action for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport const savePost =\n\t( options = {} ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tif ( ! select.isEditedPostSaveable() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = select.getEditedPostContent();\n\n\t\tif ( ! options.isAutosave ) {\n\t\t\tdispatch.editPost( { content }, { undoIgnore: true } );\n\t\t}\n\n\t\tconst previousRecord = select.getCurrentPost();\n\t\tconst edits = {\n\t\t\tid: previousRecord.id,\n\t\t\t...registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordNonTransientEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpreviousRecord.type,\n\t\t\t\t\tpreviousRecord.id\n\t\t\t\t),\n\t\t\tcontent,\n\t\t};\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_START', options } );\n\t\tawait registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tedits,\n\t\t\t\toptions\n\t\t\t);\n\n\t\tlet error = registry\n\t\t\t.select( coreStore )\n\t\t\t.getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tpreviousRecord.id\n\t\t\t);\n\n\t\tif ( ! error ) {\n\t\t\tawait applyFilters(\n\t\t\t\t'editor.__unstableSavePost',\n\t\t\t\tPromise.resolve(),\n\t\t\t\toptions\n\t\t\t).catch( ( err ) => {\n\t\t\t\terror = err;\n\t\t\t} );\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_FINISH', options } );\n\n\t\tif ( error ) {\n\t\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\t\tpost: previousRecord,\n\t\t\t\tedits,\n\t\t\t\terror,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( ...args );\n\t\t\t}\n\t\t} else {\n\t\t\tconst updatedRecord = select.getCurrentPost();\n\t\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\t\tpreviousPost: previousRecord,\n\t\t\t\tpost: updatedRecord,\n\t\t\t\tpostType: await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getPostType( updatedRecord.type ),\n\t\t\t\toptions,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( ...args );\n\t\t\t}\n\t\t\t// Make sure that any edits after saving create an undo level and are\n\t\t\t// considered for change detection.\n\t\t\tif ( ! options.isAutosave ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action for trashing the current post in the editor.\n */\nexport const trashPost =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst postTypeSlug = select.getCurrentPostType();\n\t\tconst postType = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postTypeSlug );\n\t\tregistry.dispatch( noticesStore ).removeNotice( TRASH_POST_NOTICE_ID );\n\t\tconst { rest_base: restBase, rest_namespace: restNamespace = 'wp/v2' } =\n\t\t\tpostType;\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_START' } );\n\t\ttry {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: `/${ restNamespace }/${ restBase }/${ post.id }`,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\tawait dispatch.savePost();\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t\t\t);\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_FINISH' } );\n\t};\n\n/**\n * Action that autosaves the current post. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport const autosave =\n\t( { local = false, ...options } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif ( local ) {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tconst isPostNew = select.isEditedPostNew();\n\t\t\tconst title = select.getEditedPostAttribute( 'title' );\n\t\t\tconst content = select.getEditedPostAttribute( 'content' );\n\t\t\tconst excerpt = select.getEditedPostAttribute( 'excerpt' );\n\t\t\tlocalAutosaveSet( post.id, isPostNew, title, content, excerpt );\n\t\t} else {\n\t\t\tawait dispatch.savePost( { isAutosave: true, ...options } );\n\t\t}\n\t};\n\nexport const __unstableSaveForPreview =\n\t( { forceIsAutosaveable } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif (\n\t\t\t( forceIsAutosaveable || select.isEditedPostAutosaveable() ) &&\n\t\t\t! select.isPostLocked()\n\t\t) {\n\t\t\tconst isDraft = [ 'draft', 'auto-draft' ].includes(\n\t\t\t\tselect.getEditedPostAttribute( 'status' )\n\t\t\t);\n\t\t\tif ( isDraft ) {\n\t\t\t\tawait dispatch.savePost( { isPreview: true } );\n\t\t\t} else {\n\t\t\t\tawait dispatch.autosave( { isPreview: true } );\n\t\t\t}\n\t\t}\n\n\t\treturn select.getEditedPostPreviewLink();\n\t};\n\n/**\n * Action that restores last popped state in undo history.\n */\nexport const redo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).redo();\n\t};\n\n/**\n * Action that pops a record from undo history and undoes the edit.\n */\nexport const undo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).undo();\n\t};\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action that locks the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Enable the publish sidebar.\n */\nexport const enablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', true );\n\t};\n\n/**\n * Disables the publish sidebar.\n */\nexport const disablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', false );\n\t};\n\n/**\n * Action that locks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that locks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n */\nexport const resetEditorBlocks =\n\t( blocks, options = {} ) =>\n\t( { select, dispatch, registry } ) => {\n\t\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\t\tconst edits = { blocks, selection };\n\n\t\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\t\tconst { id, type } = select.getCurrentPost();\n\t\t\tconst noChange =\n\t\t\t\tregistry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.getEditedEntityRecord( 'postType', type, id ).blocks ===\n\t\t\t\tedits.blocks;\n\t\t\tif ( noChange ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__unstableCreateUndoLevel( 'postType', type, id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We create a new function here on every persistent edit\n\t\t\t// to make sure the edit makes the post dirty and creates\n\t\t\t// a new undo level.\n\t\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\t}\n\n\t\tdispatch.editPost( edits );\n\t};\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction =\n\t( name ) =>\n\t( ...args ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\t\tsince: '5.3',\n\t\t\talternative:\n\t\t\t\t\"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\t\tversion: '6.2',\n\t\t} );\n\t\tregistry.dispatch( blockEditorStore )[ name ]( ...args );\n\t};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,UAAU,MAAM,uBAAuB;AAC9C,SACCC,KAAK,EACLC,6BAA6B,EAC7BC,2BAA2B,QACrB,mBAAmB;AAC1B,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASF,KAAK,IAAIG,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASJ,KAAK,IAAIK,gBAAgB,QAAQ,wBAAwB;;AAElE;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,aAAa;AAClD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SACCC,sCAAsC,EACtCC,mCAAmC,EACnCC,oCAAoC,QAC9B,wBAAwB;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GACvBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,KACvB,CAAE;EAAEC;AAAS,CAAC,KAAM;EACnBA,QAAQ,CAACC,gBAAgB,CAAEJ,IAAK,CAAC;EACjC;EACA,MAAMK,SAAS,GAAGL,IAAI,CAACM,MAAM,KAAK,YAAY;EAC9C,IAAKD,SAAS,IAAIH,QAAQ,EAAG;IAC5B;IACA;IACA;IACA,IAAIK,OAAO;IACX,IAAK,SAAS,IAAIN,KAAK,EAAG;MACzBM,OAAO,GAAGN,KAAK,CAACM,OAAO;IACxB,CAAC,MAAM;MACNA,OAAO,GAAGP,IAAI,CAACO,OAAO,CAACC,GAAG;IAC3B;IACA,IAAIC,MAAM,GAAGxB,KAAK,CAAEsB,OAAQ,CAAC;IAC7BE,MAAM,GAAGvB,6BAA6B,CAAEuB,MAAM,EAAEP,QAAS,CAAC;IAC1DC,QAAQ,CAACO,iBAAiB,CAAED,MAAM,EAAE;MACnCE,+BAA+B,EAAE;IAClC,CAAE,CAAC;EACJ;EACA,IACCV,KAAK,IACLW,MAAM,CAACC,MAAM,CAAEZ,KAAM,CAAC,CAACa,IAAI,CAC1B,CAAE,CAAEC,GAAG,EAAEC,IAAI,CAAE;IAAA,IAAAC,aAAA;IAAA,OACdD,IAAI,OAAAC,aAAA,GAAOjB,IAAI,CAAEe,GAAG,CAAE,EAAEP,GAAG,cAAAS,aAAA,cAAAA,aAAA,GAAIjB,IAAI,CAAEe,GAAG,CAAE,CAAE;EAAA,CAC9C,CAAC,EACA;IACDZ,QAAQ,CAACe,QAAQ,CAAEjB,KAAM,CAAC;EAC3B;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,4BAA4BA,CAAA,EAAG;EAC9C,OAAO;IAAEC,IAAI,EAAE;EAAmB,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC3BrC,UAAU,CAAE,6CAA6C,EAAE;IAC1DsC,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAO;IAAEJ,IAAI,EAAE;EAAa,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,UAAUA,CAAA,EAAG;EAC5BzC,UAAU,CAAE,8CAA8C,EAAE;IAC3DsC,KAAK,EAAE,KAAK;IACZE,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAO;IACNJ,IAAI,EAAE;EACP,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShB,gBAAgBA,CAAEJ,IAAI,EAAG;EACxC,OAAO;IACNoB,IAAI,EAAE,oBAAoB;IAC1BpB;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkB,QAAQ,GACpBA,CAAEjB,KAAK,EAAEyB,OAAO,KAChB,CAAE;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAM;EAC3B,MAAM;IAAEC,EAAE;IAAET;EAAK,CAAC,GAAGO,MAAM,CAACG,cAAc,CAAC,CAAC;EAC5CF,QAAQ,CACNzB,QAAQ,CAAEb,SAAU,CAAC,CACrByC,gBAAgB,CAAE,UAAU,EAAEX,IAAI,EAAES,EAAE,EAAE5B,KAAK,EAAEyB,OAAQ,CAAC;AAC3D,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,QAAQ,GACpBA,CAAEN,OAAO,GAAG,CAAC,CAAC,KACd,OAAQ;EAAEC,MAAM;EAAExB,QAAQ;EAAEyB;AAAS,CAAC,KAAM;EAC3C,IAAK,CAAED,MAAM,CAACM,oBAAoB,CAAC,CAAC,EAAG;IACtC;EACD;EAEA,MAAM1B,OAAO,GAAGoB,MAAM,CAACO,oBAAoB,CAAC,CAAC;EAE7C,IAAK,CAAER,OAAO,CAACS,UAAU,EAAG;IAC3BhC,QAAQ,CAACe,QAAQ,CAAE;MAAEX;IAAQ,CAAC,EAAE;MAAE6B,UAAU,EAAE;IAAK,CAAE,CAAC;EACvD;EAEA,MAAMC,cAAc,GAAGV,MAAM,CAACG,cAAc,CAAC,CAAC;EAC9C,MAAM7B,KAAK,GAAG;IACb4B,EAAE,EAAEQ,cAAc,CAACR,EAAE;IACrB,GAAGD,QAAQ,CACTD,MAAM,CAAErC,SAAU,CAAC,CACnBgD,gCAAgC,CAChC,UAAU,EACVD,cAAc,CAACjB,IAAI,EACnBiB,cAAc,CAACR,EAChB,CAAC;IACFtB;EACD,CAAC;EACDJ,QAAQ,CAAE;IAAEiB,IAAI,EAAE,2BAA2B;IAAEM;EAAQ,CAAE,CAAC;EAC1D,MAAME,QAAQ,CACZzB,QAAQ,CAAEb,SAAU,CAAC,CACrBiD,gBAAgB,CAChB,UAAU,EACVF,cAAc,CAACjB,IAAI,EACnBnB,KAAK,EACLyB,OACD,CAAC;EAEF,IAAIc,KAAK,GAAGZ,QAAQ,CAClBD,MAAM,CAAErC,SAAU,CAAC,CACnBmD,sBAAsB,CACtB,UAAU,EACVJ,cAAc,CAACjB,IAAI,EACnBiB,cAAc,CAACR,EAChB,CAAC;EAEF,IAAK,CAAEW,KAAK,EAAG;IACd,MAAMhD,YAAY,CACjB,2BAA2B,EAC3BkD,OAAO,CAACC,OAAO,CAAC,CAAC,EACjBjB,OACD,CAAC,CAACkB,KAAK,CAAIC,GAAG,IAAM;MACnBL,KAAK,GAAGK,GAAG;IACZ,CAAE,CAAC;EACJ;EACA1C,QAAQ,CAAE;IAAEiB,IAAI,EAAE,4BAA4B;IAAEM;EAAQ,CAAE,CAAC;EAE3D,IAAKc,KAAK,EAAG;IACZ,MAAMM,IAAI,GAAGjD,mCAAmC,CAAE;MACjDG,IAAI,EAAEqC,cAAc;MACpBpC,KAAK;MACLuC;IACD,CAAE,CAAC;IACH,IAAKM,IAAI,CAACC,MAAM,EAAG;MAClBnB,QAAQ,CAACzB,QAAQ,CAAEd,YAAa,CAAC,CAAC2D,iBAAiB,CAAE,GAAGF,IAAK,CAAC;IAC/D;EACD,CAAC,MAAM;IACN,MAAMG,aAAa,GAAGtB,MAAM,CAACG,cAAc,CAAC,CAAC;IAC7C,MAAMgB,IAAI,GAAGlD,sCAAsC,CAAE;MACpDsD,YAAY,EAAEb,cAAc;MAC5BrC,IAAI,EAAEiD,aAAa;MACnBE,QAAQ,EAAE,MAAMvB,QAAQ,CACtBwB,aAAa,CAAE9D,SAAU,CAAC,CAC1B+D,WAAW,CAAEJ,aAAa,CAAC7B,IAAK,CAAC;MACnCM;IACD,CAAE,CAAC;IACH,IAAKoB,IAAI,CAACC,MAAM,EAAG;MAClBnB,QAAQ,CACNzB,QAAQ,CAAEd,YAAa,CAAC,CACxBiE,mBAAmB,CAAE,GAAGR,IAAK,CAAC;IACjC;IACA;IACA;IACA,IAAK,CAAEpB,OAAO,CAACS,UAAU,EAAG;MAC3BP,QAAQ,CACNzB,QAAQ,CAAEZ,gBAAiB,CAAC,CAC5BgE,oCAAoC,CAAC,CAAC;IACzC;EACD;AACD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAG;EAC7BxE,UAAU,CAAE,+CAA+C,EAAE;IAC5DsC,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAO;IAAEJ,IAAI,EAAE;EAAa,CAAC;AAC9B;;AAEA;AACA;AACA;AACA,OAAO,MAAMqC,SAAS,GACrBA,CAAA,KACA,OAAQ;EAAE9B,MAAM;EAAExB,QAAQ;EAAEyB;AAAS,CAAC,KAAM;EAC3C,MAAM8B,YAAY,GAAG/B,MAAM,CAACgC,kBAAkB,CAAC,CAAC;EAChD,MAAMR,QAAQ,GAAG,MAAMvB,QAAQ,CAC7BwB,aAAa,CAAE9D,SAAU,CAAC,CAC1B+D,WAAW,CAAEK,YAAa,CAAC;EAC7B9B,QAAQ,CAACzB,QAAQ,CAAEd,YAAa,CAAC,CAACuE,YAAY,CAAElE,oBAAqB,CAAC;EACtE,MAAM;IAAEmE,SAAS,EAAEC,QAAQ;IAAEC,cAAc,EAAEC,aAAa,GAAG;EAAQ,CAAC,GACrEb,QAAQ;EACThD,QAAQ,CAAE;IAAEiB,IAAI,EAAE;EAA4B,CAAE,CAAC;EACjD,IAAI;IACH,MAAMpB,IAAI,GAAG2B,MAAM,CAACG,cAAc,CAAC,CAAC;IACpC,MAAM/C,QAAQ,CAAE;MACfkF,IAAI,EAAG,IAAID,aAAe,IAAIF,QAAU,IAAI9D,IAAI,CAAC6B,EAAI,EAAC;MACtDqC,MAAM,EAAE;IACT,CAAE,CAAC;IAEH,MAAM/D,QAAQ,CAAC6B,QAAQ,CAAC,CAAC;EAC1B,CAAC,CAAC,OAAQQ,KAAK,EAAG;IACjBZ,QAAQ,CACNzB,QAAQ,CAAEd,YAAa,CAAC,CACxB2D,iBAAiB,CACjB,GAAGlD,oCAAoC,CAAE;MAAE0C;IAAM,CAAE,CACpD,CAAC;EACH;EACArC,QAAQ,CAAE;IAAEiB,IAAI,EAAE;EAA6B,CAAE,CAAC;AACnD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM+C,QAAQ,GACpBA,CAAE;EAAEC,KAAK,GAAG,KAAK;EAAE,GAAG1C;AAAQ,CAAC,GAAG,CAAC,CAAC,KACpC,OAAQ;EAAEC,MAAM;EAAExB;AAAS,CAAC,KAAM;EACjC,IAAKiE,KAAK,EAAG;IACZ,MAAMpE,IAAI,GAAG2B,MAAM,CAACG,cAAc,CAAC,CAAC;IACpC,MAAMuC,SAAS,GAAG1C,MAAM,CAAC2C,eAAe,CAAC,CAAC;IAC1C,MAAMC,KAAK,GAAG5C,MAAM,CAAC6C,sBAAsB,CAAE,OAAQ,CAAC;IACtD,MAAMjE,OAAO,GAAGoB,MAAM,CAAC6C,sBAAsB,CAAE,SAAU,CAAC;IAC1D,MAAMC,OAAO,GAAG9C,MAAM,CAAC6C,sBAAsB,CAAE,SAAU,CAAC;IAC1D7E,gBAAgB,CAAEK,IAAI,CAAC6B,EAAE,EAAEwC,SAAS,EAAEE,KAAK,EAAEhE,OAAO,EAAEkE,OAAQ,CAAC;EAChE,CAAC,MAAM;IACN,MAAMtE,QAAQ,CAAC6B,QAAQ,CAAE;MAAEG,UAAU,EAAE,IAAI;MAAE,GAAGT;IAAQ,CAAE,CAAC;EAC5D;AACD,CAAC;AAEF,OAAO,MAAMgD,wBAAwB,GACpCA,CAAE;EAAEC;AAAoB,CAAC,GAAG,CAAC,CAAC,KAC9B,OAAQ;EAAEhD,MAAM;EAAExB;AAAS,CAAC,KAAM;EACjC,IACC,CAAEwE,mBAAmB,IAAIhD,MAAM,CAACiD,wBAAwB,CAAC,CAAC,KAC1D,CAAEjD,MAAM,CAACkD,YAAY,CAAC,CAAC,EACtB;IACD,MAAMC,OAAO,GAAG,CAAE,OAAO,EAAE,YAAY,CAAE,CAACC,QAAQ,CACjDpD,MAAM,CAAC6C,sBAAsB,CAAE,QAAS,CACzC,CAAC;IACD,IAAKM,OAAO,EAAG;MACd,MAAM3E,QAAQ,CAAC6B,QAAQ,CAAE;QAAEgD,SAAS,EAAE;MAAK,CAAE,CAAC;IAC/C,CAAC,MAAM;MACN,MAAM7E,QAAQ,CAACgE,QAAQ,CAAE;QAAEa,SAAS,EAAE;MAAK,CAAE,CAAC;IAC/C;EACD;EAEA,OAAOrD,MAAM,CAACsD,wBAAwB,CAAC,CAAC;AACzC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMC,IAAI,GAChBA,CAAA,KACA,CAAE;EAAEtD;AAAS,CAAC,KAAM;EACnBA,QAAQ,CAACzB,QAAQ,CAAEb,SAAU,CAAC,CAAC4F,IAAI,CAAC,CAAC;AACtC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMC,IAAI,GAChBA,CAAA,KACA,CAAE;EAAEvD;AAAS,CAAC,KAAM;EACnBA,QAAQ,CAACzB,QAAQ,CAAEb,SAAU,CAAC,CAAC6F,IAAI,CAAC,CAAC;AACtC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAG;EACjCpG,UAAU,CAAE,mDAAmD,EAAE;IAChEsC,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAO;IAAEJ,IAAI,EAAE;EAAa,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiE,cAAcA,CAAEC,IAAI,EAAG;EACtC,OAAO;IACNlE,IAAI,EAAE,kBAAkB;IACxBkE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAChCA,CAAA,KACA,CAAE;EAAE3D;AAAS,CAAC,KAAM;EACnBA,QAAQ,CACNzB,QAAQ,CAAEV,gBAAiB,CAAC,CAC5B+F,GAAG,CAAE,gBAAgB,EAAE,yBAAyB,EAAE,IAAK,CAAC;AAC3D,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GACjCA,CAAA,KACA,CAAE;EAAE7D;AAAS,CAAC,KAAM;EACnBA,QAAQ,CACNzB,QAAQ,CAAEV,gBAAiB,CAAC,CAC5B+F,GAAG,CAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAM,CAAC;AAC5D,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAAEC,QAAQ,EAAG;EAC1C,OAAO;IACNvE,IAAI,EAAE,kBAAkB;IACxBuE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAED,QAAQ,EAAG;EAC5C,OAAO;IACNvE,IAAI,EAAE,oBAAoB;IAC1BuE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,kBAAkBA,CAAEF,QAAQ,EAAG;EAC9C,OAAO;IACNvE,IAAI,EAAE,sBAAsB;IAC5BuE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAAEH,QAAQ,EAAG;EAChD,OAAO;IACNvE,IAAI,EAAE,wBAAwB;IAC9BuE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMjF,iBAAiB,GAC7BA,CAAED,MAAM,EAAEiB,OAAO,GAAG,CAAC,CAAC,KACtB,CAAE;EAAEC,MAAM;EAAExB,QAAQ;EAAEyB;AAAS,CAAC,KAAM;EACrC,MAAM;IAAEjB,+BAA+B;IAAEoF;EAAU,CAAC,GAAGrE,OAAO;EAC9D,MAAMzB,KAAK,GAAG;IAAEQ,MAAM;IAAEsF;EAAU,CAAC;EAEnC,IAAKpF,+BAA+B,KAAK,KAAK,EAAG;IAChD,MAAM;MAAEkB,EAAE;MAAET;IAAK,CAAC,GAAGO,MAAM,CAACG,cAAc,CAAC,CAAC;IAC5C,MAAMkE,QAAQ,GACbpE,QAAQ,CACND,MAAM,CAAErC,SAAU,CAAC,CACnB2G,qBAAqB,CAAE,UAAU,EAAE7E,IAAI,EAAES,EAAG,CAAC,CAACpB,MAAM,KACtDR,KAAK,CAACQ,MAAM;IACb,IAAKuF,QAAQ,EAAG;MACfpE,QAAQ,CACNzB,QAAQ,CAAEb,SAAU,CAAC,CACrB4G,yBAAyB,CAAE,UAAU,EAAE9E,IAAI,EAAES,EAAG,CAAC;MACnD;IACD;;IAEA;IACA;IACA;IACA5B,KAAK,CAACM,OAAO,GAAG,CAAE;MAAEE,MAAM,EAAE0F,sBAAsB,GAAG;IAAG,CAAC,KACxDhH,2BAA2B,CAAEgH,sBAAuB,CAAC;EACvD;EAEAhG,QAAQ,CAACe,QAAQ,CAAEjB,KAAM,CAAC;AAC3B,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASmG,oBAAoBA,CAAEC,QAAQ,EAAG;EAChD,OAAO;IACNjF,IAAI,EAAE,wBAAwB;IAC9BiF;EACD,CAAC;AACF;;AAEA;AACA;AACA;;AAEA,MAAMC,oBAAoB,GACvBC,IAAI,IACN,CAAE,GAAGzD,IAAI,KACT,CAAE;EAAElB;AAAS,CAAC,KAAM;EACnB5C,UAAU,CAAE,qCAAqC,GAAGuH,IAAI,GAAG,GAAG,EAAE;IAC/DjF,KAAK,EAAE,KAAK;IACZE,WAAW,EACV,2CAA2C,GAAG+E,IAAI,GAAG,GAAG;IACzDhF,OAAO,EAAE;EACV,CAAE,CAAC;EACHK,QAAQ,CAACzB,QAAQ,CAAEZ,gBAAiB,CAAC,CAAEgH,IAAI,CAAE,CAAE,GAAGzD,IAAK,CAAC;AACzD,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAM0D,WAAW,GAAGF,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMG,aAAa,GAAGH,oBAAoB,CAAE,eAAgB,CAAC;;AAEpE;AACA;AACA;AACA,OAAO,MAAMI,WAAW,GAAGJ,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMK,qBAAqB,GAAGL,oBAAoB,CACxD,uBACD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,WAAW,GAAGN,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMO,gBAAgB,GAAGP,oBAAoB,CAAE,kBAAmB,CAAC;;AAE1E;AACA;AACA;AACA,OAAO,MAAMQ,eAAe,GAAGR,oBAAoB,CAAE,iBAAkB,CAAC;;AAExE;AACA;AACA;AACA,OAAO,MAAMS,WAAW,GAAGT,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMU,kBAAkB,GAAGV,oBAAoB,CAAE,oBAAqB,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,MAAMW,eAAe,GAAGX,oBAAoB,CAAE,iBAAkB,CAAC;;AAExE;AACA;AACA;AACA,OAAO,MAAMY,aAAa,GAAGZ,oBAAoB,CAAE,eAAgB,CAAC;;AAEpE;AACA;AACA;AACA,OAAO,MAAMa,YAAY,GAAGb,oBAAoB,CAAE,cAAe,CAAC;;AAElE;AACA;AACA;AACA,OAAO,MAAMc,cAAc,GAAGd,oBAAoB,CAAE,gBAAiB,CAAC;;AAEtE;AACA;AACA;AACA,OAAO,MAAMe,YAAY,GAAGf,oBAAoB,CAAE,cAAe,CAAC;;AAElE;AACA;AACA;AACA,OAAO,MAAMgB,mBAAmB,GAAGhB,oBAAoB,CACtD,qBACD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMiB,WAAW,GAAGjB,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMkB,YAAY,GAAGlB,oBAAoB,CAAE,cAAe,CAAC;;AAElE;AACA;AACA;AACA,OAAO,MAAMmB,kBAAkB,GAAGnB,oBAAoB,CAAE,oBAAqB,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,MAAMoB,kBAAkB,GAAGpB,oBAAoB,CAAE,oBAAqB,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,MAAMqB,mBAAmB,GAAGrB,oBAAoB,CACtD,qBACD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMsB,mBAAmB,GAAGtB,oBAAoB,CACtD,qBACD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMuB,WAAW,GAAGvB,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAMwB,YAAY,GAAGxB,oBAAoB,CAAE,cAAe,CAAC;;AAElE;AACA;AACA;AACA,OAAO,MAAMyB,WAAW,GAAGzB,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAM0B,eAAe,GAAG1B,oBAAoB,CAAE,iBAAkB,CAAC;;AAExE;AACA;AACA;AACA,OAAO,MAAM2B,WAAW,GAAG3B,oBAAoB,CAAE,aAAc,CAAC;;AAEhE;AACA;AACA;AACA,OAAO,MAAM4B,UAAU,GAAG5B,oBAAoB,CAAE,YAAa,CAAC;;AAE9D;AACA;AACA;AACA,OAAO,MAAM6B,kBAAkB,GAAG7B,oBAAoB,CAAE,oBAAqB,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,MAAM8B,iBAAiB,GAAG9B,oBAAoB,CAAE,mBAAoB,CAAC;;AAE5E;AACA;AACA;AACA,OAAO,MAAM+B,kBAAkB,GAAG/B,oBAAoB,CAAE,oBAAqB,CAAC;;AAE9E;AACA;AACA;AACA,OAAO,MAAMgC,uBAAuB,GAAGhC,oBAAoB,CAC1D,yBACD,CAAC"}
1
+ {"version":3,"names":["apiFetch","deprecated","parse","synchronizeBlocksWithTemplate","__unstableSerializeAndClean","store","noticesStore","coreStore","blockEditorStore","applyFilters","preferencesStore","TRASH_POST_NOTICE_ID","localAutosaveSet","getNotificationArgumentsForSaveSuccess","getNotificationArgumentsForSaveFail","getNotificationArgumentsForTrashFail","setupEditor","post","edits","template","dispatch","setupEditorState","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","values","some","key","edit","_post$key$raw","editPost","__experimentalTearDownEditor","type","resetPost","since","version","alternative","updatePost","options","select","registry","id","getCurrentPost","editEntityRecord","savePost","isEditedPostSaveable","getEditedPostContent","isAutosave","undoIgnore","previousRecord","getEntityRecordNonTransientEdits","saveEntityRecord","error","getLastEntitySaveError","Promise","resolve","catch","err","args","length","createErrorNotice","updatedRecord","previousPost","postType","resolveSelect","getPostType","createSuccessNotice","__unstableMarkLastChangeAsPersistent","refreshPost","trashPost","postTypeSlug","getCurrentPostType","removeNotice","rest_base","restBase","rest_namespace","restNamespace","path","method","autosave","local","isPostNew","isEditedPostNew","title","getEditedPostAttribute","excerpt","__unstableSaveForPreview","forceIsAutosaveable","isEditedPostAutosaveable","isPostLocked","isDraft","includes","isPreview","getEditedPostPreviewLink","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","set","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","getEditedEntityRecord","__unstableCreateUndoLevel","blocksForSerialization","updateEditorSettings","settings","setRenderingMode","mode","clearSelectedBlock","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"sources":["@wordpress/editor/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { TRASH_POST_NOTICE_ID } from './constants';\nimport { localAutosaveSet } from './local-autosave';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport const setupEditor =\n\t( post, edits, template ) =>\n\t( { dispatch } ) => {\n\t\tdispatch.setupEditorState( post );\n\t\t// Apply a template for new posts only, if exists.\n\t\tconst isNewPost = post.status === 'auto-draft';\n\t\tif ( isNewPost && template ) {\n\t\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t\t// included as part of editor setup action. Assume edited content as\n\t\t\t// canonical if provided, falling back to post.\n\t\t\tlet content;\n\t\t\tif ( 'content' in edits ) {\n\t\t\t\tcontent = edits.content;\n\t\t\t} else {\n\t\t\t\tcontent = post.content.raw;\n\t\t\t}\n\t\t\tlet blocks = parse( content );\n\t\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\t\tdispatch.resetEditorBlocks( blocks, {\n\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tedits &&\n\t\t\tObject.values( edits ).some(\n\t\t\t\t( [ key, edit ] ) =>\n\t\t\t\t\tedit !== ( post[ key ]?.raw ?? post[ key ] )\n\t\t\t)\n\t\t) {\n\t\t\tdispatch.editPost( edits );\n\t\t}\n\t};\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\treturn { type: 'TEAR_DOWN_EDITOR' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function resetPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).resetPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Initialize the editor with the setupEditorState action',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Returns an action object used to setup the editor state when first opening\n * an editor.\n *\n * @param {Object} post Post object.\n *\n * @return {Object} Action object.\n */\nexport function setupEditorState( post ) {\n\treturn {\n\t\ttype: 'SETUP_EDITOR_STATE',\n\t\tpost,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n */\nexport const editPost =\n\t( edits, options ) =>\n\t( { select, registry } ) => {\n\t\tconst { id, type } = select.getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', type, id, edits, options );\n\t};\n\n/**\n * Action for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport const savePost =\n\t( options = {} ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tif ( ! select.isEditedPostSaveable() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = select.getEditedPostContent();\n\n\t\tif ( ! options.isAutosave ) {\n\t\t\tdispatch.editPost( { content }, { undoIgnore: true } );\n\t\t}\n\n\t\tconst previousRecord = select.getCurrentPost();\n\t\tconst edits = {\n\t\t\tid: previousRecord.id,\n\t\t\t...registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordNonTransientEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpreviousRecord.type,\n\t\t\t\t\tpreviousRecord.id\n\t\t\t\t),\n\t\t\tcontent,\n\t\t};\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_START', options } );\n\t\tawait registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tedits,\n\t\t\t\toptions\n\t\t\t);\n\n\t\tlet error = registry\n\t\t\t.select( coreStore )\n\t\t\t.getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tpreviousRecord.id\n\t\t\t);\n\n\t\tif ( ! error ) {\n\t\t\tawait applyFilters(\n\t\t\t\t'editor.__unstableSavePost',\n\t\t\t\tPromise.resolve(),\n\t\t\t\toptions\n\t\t\t).catch( ( err ) => {\n\t\t\t\terror = err;\n\t\t\t} );\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_FINISH', options } );\n\n\t\tif ( error ) {\n\t\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\t\tpost: previousRecord,\n\t\t\t\tedits,\n\t\t\t\terror,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( ...args );\n\t\t\t}\n\t\t} else {\n\t\t\tconst updatedRecord = select.getCurrentPost();\n\t\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\t\tpreviousPost: previousRecord,\n\t\t\t\tpost: updatedRecord,\n\t\t\t\tpostType: await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getPostType( updatedRecord.type ),\n\t\t\t\toptions,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( ...args );\n\t\t\t}\n\t\t\t// Make sure that any edits after saving create an undo level and are\n\t\t\t// considered for change detection.\n\t\t\tif ( ! options.isAutosave ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action for trashing the current post in the editor.\n */\nexport const trashPost =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst postTypeSlug = select.getCurrentPostType();\n\t\tconst postType = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postTypeSlug );\n\t\tregistry.dispatch( noticesStore ).removeNotice( TRASH_POST_NOTICE_ID );\n\t\tconst { rest_base: restBase, rest_namespace: restNamespace = 'wp/v2' } =\n\t\t\tpostType;\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_START' } );\n\t\ttry {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: `/${ restNamespace }/${ restBase }/${ post.id }`,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\tawait dispatch.savePost();\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t\t\t);\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_FINISH' } );\n\t};\n\n/**\n * Action that autosaves the current post. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport const autosave =\n\t( { local = false, ...options } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif ( local ) {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tconst isPostNew = select.isEditedPostNew();\n\t\t\tconst title = select.getEditedPostAttribute( 'title' );\n\t\t\tconst content = select.getEditedPostAttribute( 'content' );\n\t\t\tconst excerpt = select.getEditedPostAttribute( 'excerpt' );\n\t\t\tlocalAutosaveSet( post.id, isPostNew, title, content, excerpt );\n\t\t} else {\n\t\t\tawait dispatch.savePost( { isAutosave: true, ...options } );\n\t\t}\n\t};\n\nexport const __unstableSaveForPreview =\n\t( { forceIsAutosaveable } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif (\n\t\t\t( forceIsAutosaveable || select.isEditedPostAutosaveable() ) &&\n\t\t\t! select.isPostLocked()\n\t\t) {\n\t\t\tconst isDraft = [ 'draft', 'auto-draft' ].includes(\n\t\t\t\tselect.getEditedPostAttribute( 'status' )\n\t\t\t);\n\t\t\tif ( isDraft ) {\n\t\t\t\tawait dispatch.savePost( { isPreview: true } );\n\t\t\t} else {\n\t\t\t\tawait dispatch.autosave( { isPreview: true } );\n\t\t\t}\n\t\t}\n\n\t\treturn select.getEditedPostPreviewLink();\n\t};\n\n/**\n * Action that restores last popped state in undo history.\n */\nexport const redo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).redo();\n\t};\n\n/**\n * Action that pops a record from undo history and undoes the edit.\n */\nexport const undo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).undo();\n\t};\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action that locks the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Enable the publish sidebar.\n */\nexport const enablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', true );\n\t};\n\n/**\n * Disables the publish sidebar.\n */\nexport const disablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', false );\n\t};\n\n/**\n * Action that locks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that locks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n */\nexport const resetEditorBlocks =\n\t( blocks, options = {} ) =>\n\t( { select, dispatch, registry } ) => {\n\t\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\t\tconst edits = { blocks, selection };\n\n\t\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\t\tconst { id, type } = select.getCurrentPost();\n\t\t\tconst noChange =\n\t\t\t\tregistry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.getEditedEntityRecord( 'postType', type, id ).blocks ===\n\t\t\t\tedits.blocks;\n\t\t\tif ( noChange ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__unstableCreateUndoLevel( 'postType', type, id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We create a new function here on every persistent edit\n\t\t\t// to make sure the edit makes the post dirty and creates\n\t\t\t// a new undo level.\n\t\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\t}\n\n\t\tdispatch.editPost( edits );\n\t};\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Returns an action used to set the rendering mode of the post editor. We support multiple rendering modes:\n *\n * - `all`: This is the default mode. It renders the post editor with all the features available. If a template is provided, it's preferred over the post.\n * - `template-only`: This mode renders the editor with only the template blocks visible.\n * - `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.\n * - `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.\n *\n * @param {string} mode Mode (one of 'template-only', 'post-only', 'template-locked' or 'all').\n */\nexport const setRenderingMode =\n\t( mode ) =>\n\t( { dispatch, registry } ) => {\n\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_RENDERING_MODE',\n\t\t\tmode,\n\t\t} );\n\t};\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction =\n\t( name ) =>\n\t( ...args ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\t\tsince: '5.3',\n\t\t\talternative:\n\t\t\t\t\"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\t\tversion: '6.2',\n\t\t} );\n\t\tregistry.dispatch( blockEditorStore )[ name ]( ...args );\n\t};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"],"mappings":"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"}
@@ -272,6 +272,13 @@ export function editorSettings(state = EDITOR_SETTINGS_DEFAULTS, action) {
272
272
  }
273
273
  return state;
274
274
  }
275
+ export function renderingMode(state = 'all', action) {
276
+ switch (action.type) {
277
+ case 'SET_RENDERING_MODE':
278
+ return action.mode;
279
+ }
280
+ return state;
281
+ }
275
282
  export default combineReducers({
276
283
  postId,
277
284
  postType,
@@ -282,6 +289,7 @@ export default combineReducers({
282
289
  postSavingLock,
283
290
  isReady,
284
291
  editorSettings,
285
- postAutosavingLock
292
+ postAutosavingLock,
293
+ renderingMode
286
294
  });
287
295
  //# sourceMappingURL=reducer.js.map
@@ -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","post","id","postType","template","isValid","saving","pending","options","deleting","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","isReady","editorSettings","settings"],"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 '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 * 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 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\tdeleting,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\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","post","id","postType","template","isValid","saving","pending","options","deleting","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","isReady","editorSettings","settings","renderingMode","mode"],"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 '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 * 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 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 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\nexport default combineReducers( {\n\tpostId,\n\tpostType,\n\tsaving,\n\tdeleting,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n\trenderingMode,\n} );\n"],"mappings":"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"}
@@ -1010,6 +1010,17 @@ export function getEditorSettings(state) {
1010
1010
  return state.editorSettings;
1011
1011
  }
1012
1012
 
1013
+ /**
1014
+ * Returns the post editor's rendering mode.
1015
+ *
1016
+ * @param {Object} state Editor state.
1017
+ *
1018
+ * @return {string} Rendering mode.
1019
+ */
1020
+ export function getRenderingMode(state) {
1021
+ return state.renderingMode;
1022
+ }
1023
+
1013
1024
  /*
1014
1025
  * Backward compatibility
1015
1026
  */