@wordpress/edit-site 4.0.1 → 4.1.0-next.e230fbab09.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 (174) hide show
  1. package/build/components/add-new-template/new-template-part.js +4 -1
  2. package/build/components/add-new-template/new-template-part.js.map +1 -1
  3. package/build/components/app/index.js +20 -0
  4. package/build/components/app/index.js.map +1 -1
  5. package/build/components/editor/global-styles-renderer.js +7 -3
  6. package/build/components/editor/global-styles-renderer.js.map +1 -1
  7. package/build/components/editor/index.js +3 -18
  8. package/build/components/editor/index.js.map +1 -1
  9. package/build/components/error-boundary/index.js +11 -27
  10. package/build/components/error-boundary/index.js.map +1 -1
  11. package/build/components/error-boundary/warning.js +70 -0
  12. package/build/components/error-boundary/warning.js.map +1 -0
  13. package/build/components/global-styles/navigation-button.js +7 -27
  14. package/build/components/global-styles/navigation-button.js.map +1 -1
  15. package/build/components/global-styles/screen-block-list.js +31 -1
  16. package/build/components/global-styles/screen-block-list.js.map +1 -1
  17. package/build/components/global-styles/screen-typography.js.map +1 -1
  18. package/build/components/global-styles/typography-panel.js +5 -2
  19. package/build/components/global-styles/typography-panel.js.map +1 -1
  20. package/build/components/global-styles/use-global-styles-output.js +21 -4
  21. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  22. package/build/components/global-styles/utils.js +2 -2
  23. package/build/components/global-styles/utils.js.map +1 -1
  24. package/build/components/header/index.js +1 -1
  25. package/build/components/header/index.js.map +1 -1
  26. package/build/components/header/more-menu/index.js +9 -21
  27. package/build/components/header/more-menu/index.js.map +1 -1
  28. package/build/components/header/more-menu/site-export.js +1 -1
  29. package/build/components/header/more-menu/site-export.js.map +1 -1
  30. package/build/components/header/more-menu/welcome-guide-menu-item.js +4 -8
  31. package/build/components/header/more-menu/welcome-guide-menu-item.js.map +1 -1
  32. package/build/components/keyboard-shortcuts/index.js +1 -1
  33. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  34. package/build/components/list/table.js +9 -20
  35. package/build/components/list/table.js.map +1 -1
  36. package/build/components/navigation-sidebar/navigation-panel/index.js +9 -3
  37. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  38. package/build/components/navigation-sidebar/navigation-toggle/index.js +15 -4
  39. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  40. package/build/components/secondary-sidebar/list-view-sidebar.js +0 -11
  41. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  42. package/build/components/sidebar/global-styles-sidebar.js +5 -5
  43. package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
  44. package/build/components/template-part-converter/convert-to-template-part.js +4 -1
  45. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  46. package/build/components/welcome-guide/editor.js +6 -6
  47. package/build/components/welcome-guide/editor.js.map +1 -1
  48. package/build/components/welcome-guide/styles.js +6 -4
  49. package/build/components/welcome-guide/styles.js.map +1 -1
  50. package/build/index.js +22 -7
  51. package/build/index.js.map +1 -1
  52. package/build/store/actions.js +203 -163
  53. package/build/store/actions.js.map +1 -1
  54. package/build/store/index.js +3 -9
  55. package/build/store/index.js.map +1 -1
  56. package/build/store/reducer.js +0 -44
  57. package/build/store/reducer.js.map +1 -1
  58. package/build/store/selectors.js +33 -10
  59. package/build/store/selectors.js.map +1 -1
  60. package/build-module/components/add-new-template/new-template-part.js +4 -1
  61. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  62. package/build-module/components/app/index.js +16 -0
  63. package/build-module/components/app/index.js.map +1 -1
  64. package/build-module/components/editor/global-styles-renderer.js +6 -3
  65. package/build-module/components/editor/global-styles-renderer.js.map +1 -1
  66. package/build-module/components/editor/index.js +4 -17
  67. package/build-module/components/editor/index.js.map +1 -1
  68. package/build-module/components/error-boundary/index.js +9 -26
  69. package/build-module/components/error-boundary/index.js.map +1 -1
  70. package/build-module/components/error-boundary/warning.js +60 -0
  71. package/build-module/components/error-boundary/warning.js.map +1 -0
  72. package/build-module/components/global-styles/navigation-button.js +8 -28
  73. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  74. package/build-module/components/global-styles/screen-block-list.js +31 -2
  75. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  76. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  77. package/build-module/components/global-styles/typography-panel.js +6 -3
  78. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  79. package/build-module/components/global-styles/use-global-styles-output.js +20 -4
  80. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  81. package/build-module/components/global-styles/utils.js +2 -2
  82. package/build-module/components/global-styles/utils.js.map +1 -1
  83. package/build-module/components/header/index.js +1 -1
  84. package/build-module/components/header/index.js.map +1 -1
  85. package/build-module/components/header/more-menu/index.js +11 -22
  86. package/build-module/components/header/more-menu/index.js.map +1 -1
  87. package/build-module/components/header/more-menu/site-export.js +1 -1
  88. package/build-module/components/header/more-menu/site-export.js.map +1 -1
  89. package/build-module/components/header/more-menu/welcome-guide-menu-item.js +4 -8
  90. package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +1 -1
  91. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  92. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  93. package/build-module/components/list/table.js +9 -21
  94. package/build-module/components/list/table.js.map +1 -1
  95. package/build-module/components/navigation-sidebar/navigation-panel/index.js +9 -3
  96. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  97. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +12 -4
  98. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  99. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -12
  100. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  101. package/build-module/components/sidebar/global-styles-sidebar.js +4 -4
  102. package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
  103. package/build-module/components/template-part-converter/convert-to-template-part.js +4 -1
  104. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  105. package/build-module/components/welcome-guide/editor.js +5 -5
  106. package/build-module/components/welcome-guide/editor.js.map +1 -1
  107. package/build-module/components/welcome-guide/styles.js +5 -4
  108. package/build-module/components/welcome-guide/styles.js.map +1 -1
  109. package/build-module/index.js +20 -7
  110. package/build-module/index.js.map +1 -1
  111. package/build-module/store/actions.js +181 -154
  112. package/build-module/store/actions.js.map +1 -1
  113. package/build-module/store/index.js +4 -9
  114. package/build-module/store/index.js.map +1 -1
  115. package/build-module/store/reducer.js +0 -40
  116. package/build-module/store/reducer.js.map +1 -1
  117. package/build-module/store/selectors.js +28 -10
  118. package/build-module/store/selectors.js.map +1 -1
  119. package/build-style/style-rtl.css +102 -39
  120. package/build-style/style.css +102 -39
  121. package/package.json +33 -27
  122. package/src/components/add-new-template/new-template-part.js +7 -1
  123. package/src/components/app/index.js +19 -0
  124. package/src/components/editor/global-styles-renderer.js +7 -1
  125. package/src/components/editor/index.js +2 -20
  126. package/src/components/error-boundary/index.js +11 -28
  127. package/src/components/error-boundary/warning.js +59 -0
  128. package/src/components/global-styles/navigation-button.js +6 -25
  129. package/src/components/global-styles/screen-block-list.js +27 -2
  130. package/src/components/global-styles/screen-typography.js +1 -2
  131. package/src/components/global-styles/typography-panel.js +12 -5
  132. package/src/components/global-styles/use-global-styles-output.js +19 -3
  133. package/src/components/global-styles/utils.js +2 -2
  134. package/src/components/header/index.js +1 -1
  135. package/src/components/header/more-menu/index.js +12 -29
  136. package/src/components/header/more-menu/site-export.js +1 -1
  137. package/src/components/header/more-menu/welcome-guide-menu-item.js +3 -7
  138. package/src/components/keyboard-shortcuts/index.js +1 -1
  139. package/src/components/list/table.js +18 -23
  140. package/src/components/navigation-sidebar/navigation-panel/index.js +16 -11
  141. package/src/components/navigation-sidebar/navigation-toggle/index.js +13 -4
  142. package/src/components/navigation-sidebar/navigation-toggle/style.scss +32 -31
  143. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +1 -1
  144. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -11
  145. package/src/components/sidebar/global-styles-sidebar.js +6 -3
  146. package/src/components/sidebar/style.scss +1 -1
  147. package/src/components/template-part-converter/convert-to-template-part.js +6 -1
  148. package/src/components/welcome-guide/editor.js +8 -4
  149. package/src/components/welcome-guide/styles.js +5 -3
  150. package/src/index.js +25 -7
  151. package/src/store/actions.js +180 -215
  152. package/src/store/index.js +2 -8
  153. package/src/store/reducer.js +0 -30
  154. package/src/store/selectors.js +37 -10
  155. package/src/store/test/actions.js +203 -92
  156. package/src/store/test/reducer.js +0 -22
  157. package/src/store/test/selectors.js +22 -53
  158. package/src/style.scss +0 -1
  159. package/build/components/header/feature-toggle/index.js +0 -66
  160. package/build/components/header/feature-toggle/index.js.map +0 -1
  161. package/build/components/routes/redirect-to-homepage.js +0 -87
  162. package/build/components/routes/redirect-to-homepage.js.map +0 -1
  163. package/build/store/defaults.js +0 -15
  164. package/build/store/defaults.js.map +0 -1
  165. package/build-module/components/header/feature-toggle/index.js +0 -52
  166. package/build-module/components/header/feature-toggle/index.js.map +0 -1
  167. package/build-module/components/routes/redirect-to-homepage.js +0 -75
  168. package/build-module/components/routes/redirect-to-homepage.js.map +0 -1
  169. package/build-module/store/defaults.js +0 -8
  170. package/build-module/store/defaults.js.map +0 -1
  171. package/src/components/header/feature-toggle/index.js +0 -55
  172. package/src/components/header/more-menu/style.scss +0 -29
  173. package/src/components/routes/redirect-to-homepage.js +0 -71
  174. package/src/store/defaults.js +0 -7
package/build/index.js CHANGED
@@ -50,6 +50,10 @@ var _coreData = require("@wordpress/core-data");
50
50
 
51
51
  var _editor = require("@wordpress/editor");
52
52
 
53
+ var _preferences = require("@wordpress/preferences");
54
+
55
+ var _i18n = require("@wordpress/i18n");
56
+
53
57
  var _viewport = require("@wordpress/viewport");
54
58
 
55
59
  var _url = require("@wordpress/url");
@@ -62,7 +66,7 @@ var _app = _interopRequireDefault(require("./components/app"));
62
66
 
63
67
  var _getIsListPage = _interopRequireDefault(require("./utils/get-is-list-page"));
64
68
 
65
- var _redirectToHomepage = _interopRequireDefault(require("./components/routes/redirect-to-homepage"));
69
+ var _warning = _interopRequireDefault(require("./components/error-boundary/warning"));
66
70
 
67
71
  var _mainDashboardButton = _interopRequireDefault(require("./components/main-dashboard-button"));
68
72
 
@@ -90,18 +94,29 @@ var _pluginMoreMenuItem = _interopRequireDefault(require("./components/header/pl
90
94
  * @param {Element} target DOM node in which editor is rendered.
91
95
  * @param {?Object} settings Editor settings object.
92
96
  */
93
- async function reinitializeEditor(target, settings) {
94
- // The site editor relies on `postType` and `postId` params in the URL to
95
- // define what's being edited. When visiting via the dashboard link, these
96
- // won't be present. Do a client side redirect to the 'homepage' if that's
97
- // the case.
98
- await (0, _redirectToHomepage.default)(settings.siteUrl); // This will be a no-op if the target doesn't have any React nodes.
97
+ function reinitializeEditor(target, settings) {
98
+ // Display warning if editor wasn't able to resolve homepage template.
99
+ if (!settings.__unstableHomeTemplate) {
100
+ (0, _element.render)((0, _element.createElement)(_warning.default, {
101
+ message: (0, _i18n.__)('The editor is unable to find a block template for the homepage.'),
102
+ dashboardLink: "index.php"
103
+ }), target);
104
+ return;
105
+ } // This will be a no-op if the target doesn't have any React nodes.
106
+
99
107
 
100
108
  (0, _element.unmountComponentAtNode)(target);
101
109
  const reboot = reinitializeEditor.bind(null, target, settings); // We dispatch actions and update the store synchronously before rendering
102
110
  // so that we won't trigger unnecessary re-renders with useEffect.
103
111
 
104
112
  {
113
+ (0, _data.dispatch)(_preferences.store).setDefaults('core/edit-site', {
114
+ editorMode: 'visual',
115
+ fixedToolbar: false,
116
+ focusMode: false,
117
+ welcomeGuide: true,
118
+ welcomeGuideStyles: true
119
+ });
105
120
  (0, _data.dispatch)(_store.store).updateSettings(settings); // Keep the defaultTemplateTypes in the core/editor settings too,
106
121
  // so that they can be selected with core/editor selectors in any editor.
107
122
  // This is needed because edit-site doesn't initialize with EditorProvider,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/index.js"],"names":["reinitializeEditor","target","settings","siteUrl","reboot","bind","editSiteStore","updateSettings","editorStore","updateEditorSettings","defaultTemplateTypes","defaultTemplatePartAreas","isLandingOnListPage","window","location","href","setIsNavigationPanelOpened","viewportStore","isViewportMatch","initializeEditor","id","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalSpotlightEntityBlocks","document","getElementById","blocksStore","__experimentalReapplyBlockTypeFilters","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;AANA;;AACA;;AAIA;;AAEA;;AAIA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AA4EA;;AACA;;AACA;;AACA;;AACA;;AAzGA;AACA;AACA;;AAgBA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeA,kBAAf,CAAmCC,MAAnC,EAA2CC,QAA3C,EAAsD;AAC5D;AACA;AACA;AACA;AACA,QAAM,iCAAoBA,QAAQ,CAACC,OAA7B,CAAN,CAL4D,CAO5D;;AACA,uCAAwBF,MAAxB;AACA,QAAMG,MAAM,GAAGJ,kBAAkB,CAACK,IAAnB,CAAyB,IAAzB,EAA+BJ,MAA/B,EAAuCC,QAAvC,CAAf,CAT4D,CAW5D;AACA;;AACA;AACC,wBAAUI,YAAV,EAA0BC,cAA1B,CAA0CL,QAA1C,EADD,CAGC;AACA;AACA;AACA;;AACA,wBAAUM,aAAV,EAAwBC,oBAAxB,CAA8C;AAC7CC,MAAAA,oBAAoB,EAAER,QAAQ,CAACQ,oBADc;AAE7CC,MAAAA,wBAAwB,EAAET,QAAQ,CAACS;AAFU,KAA9C;AAKA,UAAMC,mBAAmB,GAAG,4BAC3B,uBAAcC,MAAM,CAACC,QAAP,CAAgBC,IAA9B,CAD2B,CAA5B;;AAIA,QAAKH,mBAAL,EAA2B;AAC1B;AACA;AACA,0BAAUN,YAAV,EAA0BU,0BAA1B,CACC,kBAAQC,eAAR,EAAwBC,eAAxB,CAAyC,QAAzC,CADD;AAGA;AACD;AAED,uBAAQ,4BAAC,YAAD;AAAa,IAAA,MAAM,EAAGd;AAAtB,IAAR,EAA2CH,MAA3C;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASkB,gBAAT,CAA2BC,EAA3B,EAA+BlB,QAA/B,EAA0C;AAChDA,EAAAA,QAAQ,CAACmB,kCAAT,GAA8C,CAAEC,MAAF,EAAUC,aAAV,KAC7C,kDAAsBD,MAAtB,EAA8BC,aAA9B,EAA6CrB,QAA7C,CADD;;AAEAA,EAAAA,QAAQ,CAACsB,8BAAT,GAA0CC,oCAA1C;AACAvB,EAAAA,QAAQ,CAACwB,mCAAT,GAA+C,CAAE,oBAAF,CAA/C;AAEA,QAAMzB,MAAM,GAAG0B,QAAQ,CAACC,cAAT,CAAyBR,EAAzB,CAAf;;AAEA,sBAAUS,aAAV,EAAwBC,qCAAxB;;AACA;;AACA,MAAKC,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AACtC,oEAA8C;AAC7CC,MAAAA,eAAe,EAAE;AAD4B,KAA9C;AAGA;;AAEDlC,EAAAA,kBAAkB,CAAEC,MAAF,EAAUC,QAAV,CAAlB;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport { dispatch, select } from '@wordpress/data';\nimport { render, unmountComponentAtNode } from '@wordpress/element';\nimport {\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as viewportStore } from '@wordpress/viewport';\nimport { getQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport './hooks';\nimport { store as editSiteStore } from './store';\nimport EditSiteApp from './components/app';\nimport getIsListPage from './utils/get-is-list-page';\nimport redirectToHomepage from './components/routes/redirect-to-homepage';\n\n/**\n * Reinitializes the editor after the user chooses to reboot the editor after\n * an unhandled error occurs, replacing previously mounted editor element using\n * an initial state from prior to the crash.\n *\n * @param {Element} target DOM node in which editor is rendered.\n * @param {?Object} settings Editor settings object.\n */\nexport async function reinitializeEditor( target, settings ) {\n\t// The site editor relies on `postType` and `postId` params in the URL to\n\t// define what's being edited. When visiting via the dashboard link, these\n\t// won't be present. Do a client side redirect to the 'homepage' if that's\n\t// the case.\n\tawait redirectToHomepage( settings.siteUrl );\n\n\t// This will be a no-op if the target doesn't have any React nodes.\n\tunmountComponentAtNode( target );\n\tconst reboot = reinitializeEditor.bind( null, target, settings );\n\n\t// We dispatch actions and update the store synchronously before rendering\n\t// so that we won't trigger unnecessary re-renders with useEffect.\n\t{\n\t\tdispatch( editSiteStore ).updateSettings( settings );\n\n\t\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t\t// so that they can be selected with core/editor selectors in any editor.\n\t\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t\t// which internally uses updateEditorSettings as well.\n\t\tdispatch( editorStore ).updateEditorSettings( {\n\t\t\tdefaultTemplateTypes: settings.defaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas: settings.defaultTemplatePartAreas,\n\t\t} );\n\n\t\tconst isLandingOnListPage = getIsListPage(\n\t\t\tgetQueryArgs( window.location.href )\n\t\t);\n\n\t\tif ( isLandingOnListPage ) {\n\t\t\t// Default the navigation panel to be opened when we're in a bigger\n\t\t\t// screen and land in the list screen.\n\t\t\tdispatch( editSiteStore ).setIsNavigationPanelOpened(\n\t\t\t\tselect( viewportStore ).isViewportMatch( 'medium' )\n\t\t\t);\n\t\t}\n\t}\n\n\trender( <EditSiteApp reboot={ reboot } />, target );\n}\n\n/**\n * Initializes the site editor screen.\n *\n * @param {string} id ID of the root element to render the screen in.\n * @param {Object} settings Editor settings.\n */\nexport function initializeEditor( id, settings ) {\n\tsettings.__experimentalFetchLinkSuggestions = ( search, searchOptions ) =>\n\t\tfetchLinkSuggestions( search, searchOptions, settings );\n\tsettings.__experimentalFetchRichUrlData = fetchUrlData;\n\tsettings.__experimentalSpotlightEntityBlocks = [ 'core/template-part' ];\n\n\tconst target = document.getElementById( id );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tregisterCoreBlocks();\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: true,\n\t\t} );\n\t}\n\n\treinitializeEditor( target, settings );\n}\n\nexport { default as __experimentalMainDashboardButton } from './components/main-dashboard-button';\nexport { default as __experimentalNavigationToggle } from './components/navigation-sidebar/navigation-toggle';\nexport { default as PluginSidebar } from './components/sidebar/plugin-sidebar';\nexport { default as PluginSidebarMoreMenuItem } from './components/header/plugin-sidebar-more-menu-item';\nexport { default as PluginMoreMenuItem } from './components/header/plugin-more-menu-item';\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/index.js"],"names":["reinitializeEditor","target","settings","__unstableHomeTemplate","reboot","bind","preferencesStore","setDefaults","editorMode","fixedToolbar","focusMode","welcomeGuide","welcomeGuideStyles","editSiteStore","updateSettings","editorStore","updateEditorSettings","defaultTemplateTypes","defaultTemplatePartAreas","isLandingOnListPage","window","location","href","setIsNavigationPanelOpened","viewportStore","isViewportMatch","initializeEditor","id","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalSpotlightEntityBlocks","document","getElementById","blocksStore","__experimentalReapplyBlockTypeFilters","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;AANA;;AACA;;AAIA;;AAEA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AA4FA;;AACA;;AACA;;AACA;;AACA;;AA3HA;AACA;AACA;;AAkBA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAT,CAA6BC,MAA7B,EAAqCC,QAArC,EAAgD;AACtD;AACA,MAAK,CAAEA,QAAQ,CAACC,sBAAhB,EAAyC;AACxC,yBACC,4BAAC,gBAAD;AACC,MAAA,OAAO,EAAG,cACT,iEADS,CADX;AAIC,MAAA,aAAa,EAAC;AAJf,MADD,EAOCF,MAPD;AASA;AACA,GAbqD,CAetD;;;AACA,uCAAwBA,MAAxB;AACA,QAAMG,MAAM,GAAGJ,kBAAkB,CAACK,IAAnB,CAAyB,IAAzB,EAA+BJ,MAA/B,EAAuCC,QAAvC,CAAf,CAjBsD,CAmBtD;AACA;;AACA;AACC,wBAAUI,kBAAV,EAA6BC,WAA7B,CAA0C,gBAA1C,EAA4D;AAC3DC,MAAAA,UAAU,EAAE,QAD+C;AAE3DC,MAAAA,YAAY,EAAE,KAF6C;AAG3DC,MAAAA,SAAS,EAAE,KAHgD;AAI3DC,MAAAA,YAAY,EAAE,IAJ6C;AAK3DC,MAAAA,kBAAkB,EAAE;AALuC,KAA5D;AAQA,wBAAUC,YAAV,EAA0BC,cAA1B,CAA0CZ,QAA1C,EATD,CAWC;AACA;AACA;AACA;;AACA,wBAAUa,aAAV,EAAwBC,oBAAxB,CAA8C;AAC7CC,MAAAA,oBAAoB,EAAEf,QAAQ,CAACe,oBADc;AAE7CC,MAAAA,wBAAwB,EAAEhB,QAAQ,CAACgB;AAFU,KAA9C;AAKA,UAAMC,mBAAmB,GAAG,4BAC3B,uBAAcC,MAAM,CAACC,QAAP,CAAgBC,IAA9B,CAD2B,CAA5B;;AAIA,QAAKH,mBAAL,EAA2B;AAC1B;AACA;AACA,0BAAUN,YAAV,EAA0BU,0BAA1B,CACC,kBAAQC,eAAR,EAAwBC,eAAxB,CAAyC,QAAzC,CADD;AAGA;AACD;AAED,uBAAQ,4BAAC,YAAD;AAAa,IAAA,MAAM,EAAGrB;AAAtB,IAAR,EAA2CH,MAA3C;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASyB,gBAAT,CAA2BC,EAA3B,EAA+BzB,QAA/B,EAA0C;AAChDA,EAAAA,QAAQ,CAAC0B,kCAAT,GAA8C,CAAEC,MAAF,EAAUC,aAAV,KAC7C,kDAAsBD,MAAtB,EAA8BC,aAA9B,EAA6C5B,QAA7C,CADD;;AAEAA,EAAAA,QAAQ,CAAC6B,8BAAT,GAA0CC,oCAA1C;AACA9B,EAAAA,QAAQ,CAAC+B,mCAAT,GAA+C,CAAE,oBAAF,CAA/C;AAEA,QAAMhC,MAAM,GAAGiC,QAAQ,CAACC,cAAT,CAAyBR,EAAzB,CAAf;;AAEA,sBAAUS,aAAV,EAAwBC,qCAAxB;;AACA;;AACA,MAAKC,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AACtC,oEAA8C;AAC7CC,MAAAA,eAAe,EAAE;AAD4B,KAA9C;AAGA;;AAEDzC,EAAAA,kBAAkB,CAAEC,MAAF,EAAUC,QAAV,CAAlB;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport { dispatch, select } from '@wordpress/data';\nimport { render, unmountComponentAtNode } from '@wordpress/element';\nimport {\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { __ } from '@wordpress/i18n';\nimport { store as viewportStore } from '@wordpress/viewport';\nimport { getQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport './hooks';\nimport { store as editSiteStore } from './store';\nimport EditSiteApp from './components/app';\nimport getIsListPage from './utils/get-is-list-page';\nimport ErrorBoundaryWarning from './components/error-boundary/warning';\n\n/**\n * Reinitializes the editor after the user chooses to reboot the editor after\n * an unhandled error occurs, replacing previously mounted editor element using\n * an initial state from prior to the crash.\n *\n * @param {Element} target DOM node in which editor is rendered.\n * @param {?Object} settings Editor settings object.\n */\nexport function reinitializeEditor( target, settings ) {\n\t// Display warning if editor wasn't able to resolve homepage template.\n\tif ( ! settings.__unstableHomeTemplate ) {\n\t\trender(\n\t\t\t<ErrorBoundaryWarning\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'The editor is unable to find a block template for the homepage.'\n\t\t\t\t) }\n\t\t\t\tdashboardLink=\"index.php\"\n\t\t\t/>,\n\t\t\ttarget\n\t\t);\n\t\treturn;\n\t}\n\n\t// This will be a no-op if the target doesn't have any React nodes.\n\tunmountComponentAtNode( target );\n\tconst reboot = reinitializeEditor.bind( null, target, settings );\n\n\t// We dispatch actions and update the store synchronously before rendering\n\t// so that we won't trigger unnecessary re-renders with useEffect.\n\t{\n\t\tdispatch( preferencesStore ).setDefaults( 'core/edit-site', {\n\t\t\teditorMode: 'visual',\n\t\t\tfixedToolbar: false,\n\t\t\tfocusMode: false,\n\t\t\twelcomeGuide: true,\n\t\t\twelcomeGuideStyles: true,\n\t\t} );\n\n\t\tdispatch( editSiteStore ).updateSettings( settings );\n\n\t\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t\t// so that they can be selected with core/editor selectors in any editor.\n\t\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t\t// which internally uses updateEditorSettings as well.\n\t\tdispatch( editorStore ).updateEditorSettings( {\n\t\t\tdefaultTemplateTypes: settings.defaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas: settings.defaultTemplatePartAreas,\n\t\t} );\n\n\t\tconst isLandingOnListPage = getIsListPage(\n\t\t\tgetQueryArgs( window.location.href )\n\t\t);\n\n\t\tif ( isLandingOnListPage ) {\n\t\t\t// Default the navigation panel to be opened when we're in a bigger\n\t\t\t// screen and land in the list screen.\n\t\t\tdispatch( editSiteStore ).setIsNavigationPanelOpened(\n\t\t\t\tselect( viewportStore ).isViewportMatch( 'medium' )\n\t\t\t);\n\t\t}\n\t}\n\n\trender( <EditSiteApp reboot={ reboot } />, target );\n}\n\n/**\n * Initializes the site editor screen.\n *\n * @param {string} id ID of the root element to render the screen in.\n * @param {Object} settings Editor settings.\n */\nexport function initializeEditor( id, settings ) {\n\tsettings.__experimentalFetchLinkSuggestions = ( search, searchOptions ) =>\n\t\tfetchLinkSuggestions( search, searchOptions, settings );\n\tsettings.__experimentalFetchRichUrlData = fetchUrlData;\n\tsettings.__experimentalSpotlightEntityBlocks = [ 'core/template-part' ];\n\n\tconst target = document.getElementById( id );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tregisterCoreBlocks();\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: true,\n\t\t} );\n\t}\n\n\treinitializeEditor( target, settings );\n}\n\nexport { default as __experimentalMainDashboardButton } from './components/main-dashboard-button';\nexport { default as __experimentalNavigationToggle } from './components/navigation-sidebar/navigation-toggle';\nexport { default as PluginSidebar } from './components/sidebar/plugin-sidebar';\nexport { default as PluginSidebarMoreMenuItem } from './components/header/plugin-sidebar-more-menu-item';\nexport { default as PluginMoreMenuItem } from './components/header/plugin-more-menu-item';\n"]}
@@ -6,29 +6,25 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.__experimentalSetPreviewDeviceType = __experimentalSetPreviewDeviceType;
9
- exports.addTemplate = addTemplate;
10
- exports.closeGeneralSidebar = closeGeneralSidebar;
11
- exports.openGeneralSidebar = openGeneralSidebar;
9
+ exports.openGeneralSidebar = exports.closeGeneralSidebar = exports.addTemplate = void 0;
12
10
  exports.openNavigationPanelToMenu = openNavigationPanelToMenu;
13
- exports.removeTemplate = removeTemplate;
14
- exports.revertTemplate = revertTemplate;
11
+ exports.revertTemplate = exports.removeTemplate = void 0;
15
12
  exports.setHomeTemplateId = setHomeTemplateId;
16
13
  exports.setIsInserterOpened = setIsInserterOpened;
17
14
  exports.setIsListViewOpened = setIsListViewOpened;
18
15
  exports.setIsNavigationPanelOpened = setIsNavigationPanelOpened;
19
16
  exports.setNavigationPanelActiveMenu = setNavigationPanelActiveMenu;
20
- exports.setPage = setPage;
21
- exports.setTemplate = setTemplate;
17
+ exports.setTemplate = exports.setPage = void 0;
22
18
  exports.setTemplatePart = setTemplatePart;
23
- exports.switchEditorMode = switchEditorMode;
19
+ exports.switchEditorMode = void 0;
24
20
  exports.toggleFeature = toggleFeature;
25
21
  exports.updateSettings = updateSettings;
26
22
 
27
- var _blocks = require("@wordpress/blocks");
23
+ var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
28
24
 
29
- var _data = require("@wordpress/data");
25
+ var _blocks = require("@wordpress/blocks");
30
26
 
31
- var _dataControls = require("@wordpress/data-controls");
27
+ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
32
28
 
33
29
  var _url = require("@wordpress/url");
34
30
 
@@ -44,6 +40,8 @@ var _blockEditor = require("@wordpress/block-editor");
44
40
 
45
41
  var _a11y = require("@wordpress/a11y");
46
42
 
43
+ var _preferences = require("@wordpress/preferences");
44
+
47
45
  var _constants = require("./constants");
48
46
 
49
47
  var _isTemplateRevertable = _interopRequireDefault(require("../utils/is-template-revertable"));
@@ -57,20 +55,24 @@ var _isTemplateRevertable = _interopRequireDefault(require("../utils/is-template
57
55
  */
58
56
 
59
57
  /**
60
- * Returns an action object used to toggle a feature flag.
61
- *
62
- * @param {string} feature Feature name.
58
+ * Dispatches an action that toggles a feature flag.
63
59
  *
64
- * @return {Object} Action object.
60
+ * @param {string} featureName Feature name.
65
61
  */
66
- function toggleFeature(feature) {
67
- return {
68
- type: 'TOGGLE_FEATURE',
69
- feature
62
+ function toggleFeature(featureName) {
63
+ return function (_ref) {
64
+ let {
65
+ registry
66
+ } = _ref;
67
+ (0, _deprecated.default)("select( 'core/edit-site' ).toggleFeature( featureName )", {
68
+ since: '6.0',
69
+ alternative: "select( 'core/preferences').toggle( 'core/edit-site', featureName )"
70
+ });
71
+ registry.dispatch(_preferences.store).toggle('core/edit-site', featureName);
70
72
  };
71
73
  }
72
74
  /**
73
- * Returns an action object used to toggle the width of the editing canvas.
75
+ * Action that changes the width of the editing canvas.
74
76
  *
75
77
  * @param {string} deviceType
76
78
  *
@@ -85,7 +87,7 @@ function __experimentalSetPreviewDeviceType(deviceType) {
85
87
  };
86
88
  }
87
89
  /**
88
- * Returns an action object used to set a template.
90
+ * Action that sets a template, optionally fetching it from REST API.
89
91
  *
90
92
  * @param {number} templateId The template ID.
91
93
  * @param {string} templateSlug The template slug.
@@ -93,26 +95,29 @@ function __experimentalSetPreviewDeviceType(deviceType) {
93
95
  */
94
96
 
95
97
 
96
- function* setTemplate(templateId, templateSlug) {
97
- const pageContext = {
98
- templateSlug
99
- };
98
+ const setTemplate = (templateId, templateSlug) => async _ref2 => {
99
+ let {
100
+ dispatch,
101
+ registry
102
+ } = _ref2;
100
103
 
101
104
  if (!templateSlug) {
102
- const template = yield _data.controls.resolveSelect(_coreData.store, 'getEntityRecord', 'postType', 'wp_template', templateId);
103
- pageContext.templateSlug = template === null || template === void 0 ? void 0 : template.slug;
105
+ const template = await registry.resolveSelect(_coreData.store).getEntityRecord('postType', 'wp_template', templateId);
106
+ templateSlug = template === null || template === void 0 ? void 0 : template.slug;
104
107
  }
105
108
 
106
- return {
109
+ dispatch({
107
110
  type: 'SET_TEMPLATE',
108
111
  templateId,
109
112
  page: {
110
- context: pageContext
113
+ context: {
114
+ templateSlug
115
+ }
111
116
  }
112
- };
113
- }
117
+ });
118
+ };
114
119
  /**
115
- * Adds a new template, and sets it as the current template.
120
+ * Action that adds a new template and sets it as the current template.
116
121
  *
117
122
  * @param {Object} template The template.
118
123
  *
@@ -120,18 +125,24 @@ function* setTemplate(templateId, templateSlug) {
120
125
  */
121
126
 
122
127
 
123
- function* addTemplate(template) {
124
- const newTemplate = yield _data.controls.dispatch(_coreData.store, 'saveEntityRecord', 'postType', 'wp_template', template);
128
+ exports.setTemplate = setTemplate;
129
+
130
+ const addTemplate = template => async _ref3 => {
131
+ let {
132
+ dispatch,
133
+ registry
134
+ } = _ref3;
135
+ const newTemplate = await registry.dispatch(_coreData.store).saveEntityRecord('postType', 'wp_template', template);
125
136
 
126
137
  if (template.content) {
127
- yield _data.controls.dispatch(_coreData.store, 'editEntityRecord', 'postType', 'wp_template', newTemplate.id, {
138
+ registry.dispatch(_coreData.store).editEntityRecord('postType', 'wp_template', newTemplate.id, {
128
139
  blocks: (0, _blocks.parse)(template.content)
129
140
  }, {
130
141
  undoIgnore: true
131
142
  });
132
143
  }
133
144
 
134
- return {
145
+ dispatch({
135
146
  type: 'SET_TEMPLATE',
136
147
  templateId: newTemplate.id,
137
148
  page: {
@@ -139,40 +150,46 @@ function* addTemplate(template) {
139
150
  templateSlug: newTemplate.slug
140
151
  }
141
152
  }
142
- };
143
- }
153
+ });
154
+ };
144
155
  /**
145
- * Removes a template.
156
+ * Action that removes a template.
146
157
  *
147
158
  * @param {Object} template The template object.
148
159
  */
149
160
 
150
161
 
151
- function* removeTemplate(template) {
162
+ exports.addTemplate = addTemplate;
163
+
164
+ const removeTemplate = template => async _ref4 => {
165
+ let {
166
+ registry
167
+ } = _ref4;
168
+
152
169
  try {
153
- yield _data.controls.dispatch(_coreData.store, 'deleteEntityRecord', 'postType', template.type, template.id, {
170
+ await registry.dispatch(_coreData.store).deleteEntityRecord('postType', template.type, template.id, {
154
171
  force: true
155
172
  });
156
- const lastError = yield _data.controls.select(_coreData.store, 'getLastEntityDeleteError', 'postType', template.type, template.id);
173
+ const lastError = registry.select(_coreData.store).getLastEntityDeleteError('postType', template.type, template.id);
157
174
 
158
175
  if (lastError) {
159
176
  throw lastError;
160
177
  }
161
178
 
162
- yield _data.controls.dispatch(_notices.store, 'createSuccessNotice', (0, _i18n.sprintf)(
179
+ registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.sprintf)(
163
180
  /* translators: The template/part's name. */
164
181
  (0, _i18n.__)('"%s" deleted.'), template.title.rendered), {
165
182
  type: 'snackbar'
166
183
  });
167
184
  } catch (error) {
168
185
  const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while deleting the template.');
169
- yield _data.controls.dispatch(_notices.store, 'createErrorNotice', errorMessage, {
186
+ registry.dispatch(_notices.store).createErrorNotice(errorMessage, {
170
187
  type: 'snackbar'
171
188
  });
172
189
  }
173
- }
190
+ };
174
191
  /**
175
- * Returns an action object used to set a template part.
192
+ * Action that sets a template part.
176
193
  *
177
194
  * @param {string} templatePartId The template part ID.
178
195
  *
@@ -180,6 +197,8 @@ function* removeTemplate(template) {
180
197
  */
181
198
 
182
199
 
200
+ exports.removeTemplate = removeTemplate;
201
+
183
202
  function setTemplatePart(templatePartId) {
184
203
  return {
185
204
  type: 'SET_TEMPLATE_PART',
@@ -187,8 +206,8 @@ function setTemplatePart(templatePartId) {
187
206
  };
188
207
  }
189
208
  /**
190
- * Updates the homeTemplateId state with the templateId of the page resolved
191
- * from the given path.
209
+ * Action that sets the home template ID to the template ID of the page resolved
210
+ * from a given path.
192
211
  *
193
212
  * @param {number} homeTemplateId The template ID for the homepage.
194
213
  */
@@ -214,32 +233,39 @@ function setHomeTemplateId(homeTemplateId) {
214
233
  */
215
234
 
216
235
 
217
- function* setPage(page) {
236
+ const setPage = page => async _ref5 => {
218
237
  var _page$context;
219
238
 
239
+ let {
240
+ dispatch,
241
+ registry
242
+ } = _ref5;
243
+
220
244
  if (!page.path && (_page$context = page.context) !== null && _page$context !== void 0 && _page$context.postId) {
221
- const entity = yield _data.controls.resolveSelect(_coreData.store, 'getEntityRecord', 'postType', page.context.postType || 'post', page.context.postId); // If the entity is undefined for some reason, path will resolve to "/"
245
+ const entity = await registry.resolveSelect(_coreData.store).getEntityRecord('postType', page.context.postType || 'post', page.context.postId); // If the entity is undefined for some reason, path will resolve to "/"
222
246
 
223
247
  page.path = (0, _url.getPathAndQueryString)(entity === null || entity === void 0 ? void 0 : entity.link);
224
248
  }
225
249
 
226
- const {
227
- id: templateId,
228
- slug: templateSlug
229
- } = yield _data.controls.resolveSelect(_coreData.store, '__experimentalGetTemplateForLink', page.path);
230
- yield {
250
+ const template = await registry.resolveSelect(_coreData.store).__experimentalGetTemplateForLink(page.path);
251
+
252
+ if (!template) {
253
+ return;
254
+ }
255
+
256
+ dispatch({
231
257
  type: 'SET_PAGE',
232
- page: !templateSlug ? page : { ...page,
258
+ page: template.slug ? { ...page,
233
259
  context: { ...page.context,
234
- templateSlug
260
+ templateSlug: template.slug
235
261
  }
236
- },
237
- templateId
238
- };
239
- return templateId;
240
- }
262
+ } : page,
263
+ templateId: template.id
264
+ });
265
+ return template.id;
266
+ };
241
267
  /**
242
- * Returns an action object used to set the active navigation panel menu.
268
+ * Action that sets the active navigation panel menu.
243
269
  *
244
270
  * @param {string} menu Menu prop of active menu.
245
271
  *
@@ -247,6 +273,8 @@ function* setPage(page) {
247
273
  */
248
274
 
249
275
 
276
+ exports.setPage = setPage;
277
+
250
278
  function setNavigationPanelActiveMenu(menu) {
251
279
  return {
252
280
  type: 'SET_NAVIGATION_PANEL_ACTIVE_MENU',
@@ -281,7 +309,7 @@ function setIsNavigationPanelOpened(isOpen) {
281
309
  };
282
310
  }
283
311
  /**
284
- * Returns an action object used to open/close the inserter.
312
+ * Opens or closes the inserter.
285
313
  *
286
314
  * @param {boolean|Object} value Whether the inserter should be
287
315
  * opened (true) or closed (false).
@@ -339,139 +367,151 @@ function setIsListViewOpened(isOpen) {
339
367
  */
340
368
 
341
369
 
342
- function* revertTemplate(template) {
370
+ const revertTemplate = function (template) {
343
371
  let {
344
372
  allowUndo = true
345
373
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
374
+ return async _ref6 => {
375
+ let {
376
+ registry
377
+ } = _ref6;
346
378
 
347
- if (!(0, _isTemplateRevertable.default)(template)) {
348
- yield _data.controls.dispatch(_notices.store, 'createErrorNotice', (0, _i18n.__)('This template is not revertable.'), {
349
- type: 'snackbar'
350
- });
351
- return;
352
- }
353
-
354
- try {
355
- var _fileTemplate$content;
356
-
357
- const templateEntity = yield _data.controls.select(_coreData.store, 'getEntity', 'postType', template.type);
358
-
359
- if (!templateEntity) {
360
- yield _data.controls.dispatch(_notices.store, 'createErrorNotice', (0, _i18n.__)('The editor has encountered an unexpected error. Please reload.'), {
379
+ if (!(0, _isTemplateRevertable.default)(template)) {
380
+ registry.dispatch(_notices.store).createErrorNotice((0, _i18n.__)('This template is not revertable.'), {
361
381
  type: 'snackbar'
362
382
  });
363
383
  return;
364
384
  }
365
385
 
366
- const fileTemplatePath = (0, _url.addQueryArgs)(`${templateEntity.baseURL}/${template.id}`, {
367
- context: 'edit',
368
- source: 'theme'
369
- });
370
- const fileTemplate = yield (0, _dataControls.apiFetch)({
371
- path: fileTemplatePath
372
- });
386
+ try {
387
+ var _fileTemplate$content;
373
388
 
374
- if (!fileTemplate) {
375
- yield _data.controls.dispatch(_notices.store, 'createErrorNotice', (0, _i18n.__)('The editor has encountered an unexpected error. Please reload.'), {
376
- type: 'snackbar'
389
+ const templateEntity = registry.select(_coreData.store).getEntity('postType', template.type);
390
+
391
+ if (!templateEntity) {
392
+ registry.dispatch(_notices.store).createErrorNotice((0, _i18n.__)('The editor has encountered an unexpected error. Please reload.'), {
393
+ type: 'snackbar'
394
+ });
395
+ return;
396
+ }
397
+
398
+ const fileTemplatePath = (0, _url.addQueryArgs)(`${templateEntity.baseURL}/${template.id}`, {
399
+ context: 'edit',
400
+ source: 'theme'
401
+ });
402
+ const fileTemplate = await (0, _apiFetch.default)({
403
+ path: fileTemplatePath
377
404
  });
378
- return;
379
- }
380
405
 
381
- const serializeBlocks = _ref => {
382
- let {
383
- blocks: blocksForSerialization = []
384
- } = _ref;
385
- return (0, _blocks.__unstableSerializeAndClean)(blocksForSerialization);
386
- };
406
+ if (!fileTemplate) {
407
+ registry.dispatch(_notices.store).createErrorNotice((0, _i18n.__)('The editor has encountered an unexpected error. Please reload.'), {
408
+ type: 'snackbar'
409
+ });
410
+ return;
411
+ }
387
412
 
388
- const edited = yield _data.controls.select(_coreData.store, 'getEditedEntityRecord', 'postType', template.type, template.id); // We are fixing up the undo level here to make sure we can undo
389
- // the revert in the header toolbar correctly.
413
+ const serializeBlocks = _ref7 => {
414
+ let {
415
+ blocks: blocksForSerialization = []
416
+ } = _ref7;
417
+ return (0, _blocks.__unstableSerializeAndClean)(blocksForSerialization);
418
+ };
390
419
 
391
- yield _data.controls.dispatch(_coreData.store, 'editEntityRecord', 'postType', template.type, template.id, {
392
- content: serializeBlocks,
393
- // required to make the `undo` behave correctly
394
- blocks: edited.blocks,
395
- // required to revert the blocks in the editor
396
- source: 'custom' // required to avoid turning the editor into a dirty state
420
+ const edited = registry.select(_coreData.store).getEditedEntityRecord('postType', template.type, template.id); // We are fixing up the undo level here to make sure we can undo
421
+ // the revert in the header toolbar correctly.
397
422
 
398
- }, {
399
- undoIgnore: true // required to merge this edit with the last undo level
423
+ registry.dispatch(_coreData.store).editEntityRecord('postType', template.type, template.id, {
424
+ content: serializeBlocks,
425
+ // Required to make the `undo` behave correctly.
426
+ blocks: edited.blocks,
427
+ // Required to revert the blocks in the editor.
428
+ source: 'custom' // required to avoid turning the editor into a dirty state
400
429
 
401
- });
402
- const blocks = (0, _blocks.parse)(fileTemplate === null || fileTemplate === void 0 ? void 0 : (_fileTemplate$content = fileTemplate.content) === null || _fileTemplate$content === void 0 ? void 0 : _fileTemplate$content.raw);
403
- yield _data.controls.dispatch(_coreData.store, 'editEntityRecord', 'postType', template.type, fileTemplate.id, {
404
- content: serializeBlocks,
405
- blocks,
406
- source: 'theme'
407
- });
430
+ }, {
431
+ undoIgnore: true // Required to merge this edit with the last undo level.
408
432
 
409
- if (allowUndo) {
410
- const undoRevert = async () => {
411
- await (0, _data.dispatch)(_coreData.store).editEntityRecord('postType', template.type, edited.id, {
412
- content: serializeBlocks,
413
- blocks: edited.blocks,
414
- source: 'custom'
415
- });
416
- };
433
+ });
434
+ const blocks = (0, _blocks.parse)(fileTemplate === null || fileTemplate === void 0 ? void 0 : (_fileTemplate$content = fileTemplate.content) === null || _fileTemplate$content === void 0 ? void 0 : _fileTemplate$content.raw);
435
+ registry.dispatch(_coreData.store).editEntityRecord('postType', template.type, fileTemplate.id, {
436
+ content: serializeBlocks,
437
+ blocks,
438
+ source: 'theme'
439
+ });
417
440
 
418
- yield _data.controls.dispatch(_notices.store, 'createSuccessNotice', (0, _i18n.__)('Template reverted.'), {
419
- type: 'snackbar',
420
- actions: [{
421
- label: (0, _i18n.__)('Undo'),
422
- onClick: undoRevert
423
- }]
441
+ if (allowUndo) {
442
+ const undoRevert = () => {
443
+ registry.dispatch(_coreData.store).editEntityRecord('postType', template.type, edited.id, {
444
+ content: serializeBlocks,
445
+ blocks: edited.blocks,
446
+ source: 'custom'
447
+ });
448
+ };
449
+
450
+ registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.__)('Template reverted.'), {
451
+ type: 'snackbar',
452
+ actions: [{
453
+ label: (0, _i18n.__)('Undo'),
454
+ onClick: undoRevert
455
+ }]
456
+ });
457
+ } else {
458
+ registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.__)('Template reverted.'));
459
+ }
460
+ } catch (error) {
461
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('Template revert failed. Please reload.');
462
+ registry.dispatch(_notices.store).createErrorNotice(errorMessage, {
463
+ type: 'snackbar'
424
464
  });
425
- } else {
426
- yield _data.controls.dispatch(_notices.store, 'createSuccessNotice', (0, _i18n.__)('Template reverted.'));
427
465
  }
428
- } catch (error) {
429
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('Template revert failed. Please reload.');
430
- yield _data.controls.dispatch(_notices.store, 'createErrorNotice', errorMessage, {
431
- type: 'snackbar'
432
- });
433
- }
434
- }
466
+ };
467
+ };
435
468
  /**
436
- * Returns an action object used in signalling that the user opened an editor sidebar.
469
+ * Action that opens an editor sidebar.
437
470
  *
438
471
  * @param {?string} name Sidebar name to be opened.
439
- *
440
- * @yield {Object} Action object.
441
472
  */
442
473
 
443
474
 
444
- function* openGeneralSidebar(name) {
445
- yield _data.controls.dispatch(_interface.store, 'enableComplementaryArea', _constants.STORE_NAME, name);
446
- }
475
+ exports.revertTemplate = revertTemplate;
476
+
477
+ const openGeneralSidebar = name => _ref8 => {
478
+ let {
479
+ registry
480
+ } = _ref8;
481
+ registry.dispatch(_interface.store).enableComplementaryArea(_constants.STORE_NAME, name);
482
+ };
447
483
  /**
448
- * Returns an action object signalling that the user closed the sidebar.
449
- *
450
- * @yield {Object} Action object.
484
+ * Action that closes the sidebar.
451
485
  */
452
486
 
453
487
 
454
- function* closeGeneralSidebar() {
455
- yield _data.controls.dispatch(_interface.store, 'disableComplementaryArea', _constants.STORE_NAME);
456
- }
488
+ exports.openGeneralSidebar = openGeneralSidebar;
489
+
490
+ const closeGeneralSidebar = () => _ref9 => {
491
+ let {
492
+ registry
493
+ } = _ref9;
494
+ registry.dispatch(_interface.store).disableComplementaryArea(_constants.STORE_NAME);
495
+ };
496
+
497
+ exports.closeGeneralSidebar = closeGeneralSidebar;
457
498
 
458
- function* switchEditorMode(mode) {
459
- yield {
460
- type: 'SWITCH_MODE',
461
- mode
462
- }; // Unselect blocks when we switch to a non visual mode.
499
+ const switchEditorMode = mode => _ref10 => {
500
+ let {
501
+ registry
502
+ } = _ref10;
503
+ registry.dispatch('core/preferences').set('core/edit-site', 'editorMode', mode); // Unselect blocks when we switch to a non visual mode.
463
504
 
464
505
  if (mode !== 'visual') {
465
- yield _data.controls.dispatch(_blockEditor.store.name, 'clearSelectedBlock');
506
+ registry.dispatch(_blockEditor.store).clearSelectedBlock();
466
507
  }
467
508
 
468
- const messages = {
469
- visual: (0, _i18n.__)('Visual editor selected'),
470
- mosaic: (0, _i18n.__)('Mosaic view selected')
471
- };
472
-
473
- if (messages[mode]) {
474
- (0, _a11y.speak)(messages[mode], 'assertive');
509
+ if (mode === 'visual') {
510
+ (0, _a11y.speak)((0, _i18n.__)('Visual editor selected'), 'assertive');
511
+ } else if (mode === 'mosaic') {
512
+ (0, _a11y.speak)((0, _i18n.__)('Mosaic view selected'), 'assertive');
475
513
  }
476
- }
514
+ };
515
+
516
+ exports.switchEditorMode = switchEditorMode;
477
517
  //# sourceMappingURL=actions.js.map