@wordpress/edit-site 3.0.27 → 4.0.1-next.f435e9e01b.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 (240) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +7 -1
  4. package/build/components/add-new-template/new-template-part.js +1 -4
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/block-editor/resizable-editor.js +1 -0
  7. package/build/components/block-editor/resizable-editor.js.map +1 -1
  8. package/build/components/code-editor/code-editor-text-area.js +95 -0
  9. package/build/components/code-editor/code-editor-text-area.js.map +1 -0
  10. package/build/components/code-editor/index.js +79 -0
  11. package/build/components/code-editor/index.js.map +1 -0
  12. package/build/components/editor/index.js +28 -8
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/error-boundary/index.js +27 -11
  15. package/build/components/error-boundary/index.js.map +1 -1
  16. package/build/components/global-styles/border-panel.js +81 -22
  17. package/build/components/global-styles/border-panel.js.map +1 -1
  18. package/build/components/global-styles/context-menu.js +4 -6
  19. package/build/components/global-styles/context-menu.js.map +1 -1
  20. package/build/components/global-styles/global-styles-provider.js +1 -0
  21. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  22. package/build/components/global-styles/header.js +2 -7
  23. package/build/components/global-styles/header.js.map +1 -1
  24. package/build/components/global-styles/navigation-button.js +35 -12
  25. package/build/components/global-styles/navigation-button.js.map +1 -1
  26. package/build/components/global-styles/palette.js +3 -3
  27. package/build/components/global-styles/palette.js.map +1 -1
  28. package/build/components/global-styles/preview.js +46 -15
  29. package/build/components/global-styles/preview.js.map +1 -1
  30. package/build/components/global-styles/screen-background-color.js +1 -3
  31. package/build/components/global-styles/screen-background-color.js.map +1 -1
  32. package/build/components/global-styles/screen-block-list.js +2 -3
  33. package/build/components/global-styles/screen-block-list.js.map +1 -1
  34. package/build/components/global-styles/screen-block.js +0 -1
  35. package/build/components/global-styles/screen-block.js.map +1 -1
  36. package/build/components/global-styles/screen-color-palette.js +0 -2
  37. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  38. package/build/components/global-styles/screen-colors.js +5 -6
  39. package/build/components/global-styles/screen-colors.js.map +1 -1
  40. package/build/components/global-styles/screen-layout.js +0 -2
  41. package/build/components/global-styles/screen-layout.js.map +1 -1
  42. package/build/components/global-styles/screen-link-color.js +0 -2
  43. package/build/components/global-styles/screen-link-color.js.map +1 -1
  44. package/build/components/global-styles/screen-root.js +22 -3
  45. package/build/components/global-styles/screen-root.js.map +1 -1
  46. package/build/components/global-styles/screen-style-variations.js +138 -0
  47. package/build/components/global-styles/screen-style-variations.js.map +1 -0
  48. package/build/components/global-styles/screen-text-color.js +0 -2
  49. package/build/components/global-styles/screen-text-color.js.map +1 -1
  50. package/build/components/global-styles/screen-typography-element.js +0 -2
  51. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  52. package/build/components/global-styles/screen-typography.js +2 -3
  53. package/build/components/global-styles/screen-typography.js.map +1 -1
  54. package/build/components/global-styles/ui.js +31 -14
  55. package/build/components/global-styles/ui.js.map +1 -1
  56. package/build/components/header/index.js +12 -4
  57. package/build/components/header/index.js.map +1 -1
  58. package/build/components/header/mode-switcher/index.js +78 -0
  59. package/build/components/header/mode-switcher/index.js.map +1 -0
  60. package/build/components/header/more-menu/copy-content-menu-item.js +74 -0
  61. package/build/components/header/more-menu/copy-content-menu-item.js.map +1 -0
  62. package/build/components/header/more-menu/index.js +6 -2
  63. package/build/components/header/more-menu/index.js.map +1 -1
  64. package/build/components/keyboard-shortcuts/index.js +17 -1
  65. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  66. package/build/components/list/actions/index.js +5 -4
  67. package/build/components/list/actions/index.js.map +1 -1
  68. package/build/components/list/actions/rename-menu-item.js +3 -3
  69. package/build/components/list/actions/rename-menu-item.js.map +1 -1
  70. package/build/components/routes/redirect-to-homepage.js +3 -22
  71. package/build/components/routes/redirect-to-homepage.js.map +1 -1
  72. package/build/components/secondary-sidebar/inserter-sidebar.js +13 -3
  73. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  74. package/build/components/secondary-sidebar/list-view-sidebar.js +7 -5
  75. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  76. package/build/components/sidebar/default-sidebar.js +4 -2
  77. package/build/components/sidebar/default-sidebar.js.map +1 -1
  78. package/build/components/sidebar/global-styles-sidebar.js +1 -0
  79. package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
  80. package/build/components/template-part-converter/convert-to-template-part.js +1 -4
  81. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  82. package/build/index.js +2 -16
  83. package/build/index.js.map +1 -1
  84. package/build/store/actions.js +29 -9
  85. package/build/store/actions.js.map +1 -1
  86. package/build/store/defaults.js +2 -1
  87. package/build/store/defaults.js.map +1 -1
  88. package/build/store/reducer.js +11 -0
  89. package/build/store/reducer.js.map +1 -1
  90. package/build/store/selectors.js +13 -0
  91. package/build/store/selectors.js.map +1 -1
  92. package/build-module/components/add-new-template/new-template-part.js +1 -4
  93. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  94. package/build-module/components/block-editor/resizable-editor.js +1 -0
  95. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  96. package/build-module/components/code-editor/code-editor-text-area.js +83 -0
  97. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -0
  98. package/build-module/components/code-editor/index.js +62 -0
  99. package/build-module/components/code-editor/index.js.map +1 -0
  100. package/build-module/components/editor/index.js +27 -9
  101. package/build-module/components/editor/index.js.map +1 -1
  102. package/build-module/components/error-boundary/index.js +26 -9
  103. package/build-module/components/error-boundary/index.js.map +1 -1
  104. package/build-module/components/global-styles/border-panel.js +82 -23
  105. package/build-module/components/global-styles/border-panel.js.map +1 -1
  106. package/build-module/components/global-styles/context-menu.js +1 -1
  107. package/build-module/components/global-styles/context-menu.js.map +1 -1
  108. package/build-module/components/global-styles/global-styles-provider.js +1 -1
  109. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  110. package/build-module/components/global-styles/header.js +2 -5
  111. package/build-module/components/global-styles/header.js.map +1 -1
  112. package/build-module/components/global-styles/navigation-button.js +35 -10
  113. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  114. package/build-module/components/global-styles/palette.js +2 -2
  115. package/build-module/components/global-styles/palette.js.map +1 -1
  116. package/build-module/components/global-styles/preview.js +45 -15
  117. package/build-module/components/global-styles/preview.js.map +1 -1
  118. package/build-module/components/global-styles/screen-background-color.js +1 -3
  119. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  120. package/build-module/components/global-styles/screen-block-list.js +1 -2
  121. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  122. package/build-module/components/global-styles/screen-block.js +0 -1
  123. package/build-module/components/global-styles/screen-block.js.map +1 -1
  124. package/build-module/components/global-styles/screen-color-palette.js +0 -2
  125. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  126. package/build-module/components/global-styles/screen-colors.js +2 -3
  127. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  128. package/build-module/components/global-styles/screen-layout.js +0 -2
  129. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  130. package/build-module/components/global-styles/screen-link-color.js +0 -2
  131. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  132. package/build-module/components/global-styles/screen-root.js +21 -4
  133. package/build-module/components/global-styles/screen-root.js.map +1 -1
  134. package/build-module/components/global-styles/screen-style-variations.js +119 -0
  135. package/build-module/components/global-styles/screen-style-variations.js.map +1 -0
  136. package/build-module/components/global-styles/screen-text-color.js +0 -2
  137. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  138. package/build-module/components/global-styles/screen-typography-element.js +0 -2
  139. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  140. package/build-module/components/global-styles/screen-typography.js +1 -2
  141. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  142. package/build-module/components/global-styles/ui.js +29 -14
  143. package/build-module/components/global-styles/ui.js.map +1 -1
  144. package/build-module/components/header/index.js +13 -5
  145. package/build-module/components/header/index.js.map +1 -1
  146. package/build-module/components/header/mode-switcher/index.js +65 -0
  147. package/build-module/components/header/mode-switcher/index.js.map +1 -0
  148. package/build-module/components/header/more-menu/copy-content-menu-item.js +59 -0
  149. package/build-module/components/header/more-menu/copy-content-menu-item.js.map +1 -0
  150. package/build-module/components/header/more-menu/index.js +4 -2
  151. package/build-module/components/header/more-menu/index.js.map +1 -1
  152. package/build-module/components/keyboard-shortcuts/index.js +17 -1
  153. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  154. package/build-module/components/list/actions/index.js +5 -4
  155. package/build-module/components/list/actions/index.js.map +1 -1
  156. package/build-module/components/list/actions/rename-menu-item.js +3 -3
  157. package/build-module/components/list/actions/rename-menu-item.js.map +1 -1
  158. package/build-module/components/routes/redirect-to-homepage.js +3 -22
  159. package/build-module/components/routes/redirect-to-homepage.js.map +1 -1
  160. package/build-module/components/secondary-sidebar/inserter-sidebar.js +14 -4
  161. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  162. package/build-module/components/secondary-sidebar/list-view-sidebar.js +7 -5
  163. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  164. package/build-module/components/sidebar/default-sidebar.js +4 -2
  165. package/build-module/components/sidebar/default-sidebar.js.map +1 -1
  166. package/build-module/components/sidebar/global-styles-sidebar.js +1 -0
  167. package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
  168. package/build-module/components/template-part-converter/convert-to-template-part.js +1 -4
  169. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  170. package/build-module/index.js +2 -14
  171. package/build-module/index.js.map +1 -1
  172. package/build-module/store/actions.js +25 -9
  173. package/build-module/store/actions.js.map +1 -1
  174. package/build-module/store/defaults.js +2 -1
  175. package/build-module/store/defaults.js.map +1 -1
  176. package/build-module/store/reducer.js +11 -0
  177. package/build-module/store/reducer.js.map +1 -1
  178. package/build-module/store/selectors.js +11 -0
  179. package/build-module/store/selectors.js.map +1 -1
  180. package/build-style/style-rtl.css +148 -68
  181. package/build-style/style.css +148 -68
  182. package/package.json +28 -30
  183. package/src/components/add-new-template/new-template-part.js +1 -7
  184. package/src/components/block-editor/resizable-editor.js +1 -0
  185. package/src/components/block-editor/style.scss +10 -18
  186. package/src/components/code-editor/code-editor-text-area.js +79 -0
  187. package/src/components/code-editor/index.js +65 -0
  188. package/src/components/code-editor/style.scss +100 -0
  189. package/src/components/editor/index.js +41 -10
  190. package/src/components/error-boundary/index.js +28 -11
  191. package/src/components/global-styles/border-panel.js +106 -42
  192. package/src/components/global-styles/context-menu.js +1 -1
  193. package/src/components/global-styles/global-styles-provider.js +1 -2
  194. package/src/components/global-styles/header.js +3 -5
  195. package/src/components/global-styles/navigation-button.js +31 -10
  196. package/src/components/global-styles/palette.js +6 -2
  197. package/src/components/global-styles/preview.js +46 -18
  198. package/src/components/global-styles/screen-background-color.js +1 -3
  199. package/src/components/global-styles/screen-block-list.js +1 -2
  200. package/src/components/global-styles/screen-block.js +1 -1
  201. package/src/components/global-styles/screen-color-palette.js +0 -2
  202. package/src/components/global-styles/screen-colors.js +2 -3
  203. package/src/components/global-styles/screen-layout.js +1 -5
  204. package/src/components/global-styles/screen-link-color.js +0 -2
  205. package/src/components/global-styles/screen-root.js +32 -3
  206. package/src/components/global-styles/screen-style-variations.js +130 -0
  207. package/src/components/global-styles/screen-text-color.js +0 -2
  208. package/src/components/global-styles/screen-typography-element.js +0 -4
  209. package/src/components/global-styles/screen-typography.js +2 -3
  210. package/src/components/global-styles/style.scss +24 -25
  211. package/src/components/global-styles/ui.js +55 -25
  212. package/src/components/header/document-actions/style.scss +1 -9
  213. package/src/components/header/index.js +10 -2
  214. package/src/components/header/mode-switcher/index.js +67 -0
  215. package/src/components/header/more-menu/copy-content-menu-item.js +53 -0
  216. package/src/components/header/more-menu/index.js +4 -0
  217. package/src/components/header/style.scss +2 -1
  218. package/src/components/keyboard-shortcuts/index.js +17 -1
  219. package/src/components/list/actions/index.js +5 -4
  220. package/src/components/list/actions/rename-menu-item.js +3 -3
  221. package/src/components/routes/redirect-to-homepage.js +4 -27
  222. package/src/components/secondary-sidebar/inserter-sidebar.js +14 -3
  223. package/src/components/secondary-sidebar/list-view-sidebar.js +12 -5
  224. package/src/components/secondary-sidebar/style.scss +0 -4
  225. package/src/components/sidebar/default-sidebar.js +2 -0
  226. package/src/components/sidebar/global-styles-sidebar.js +1 -0
  227. package/src/components/sidebar/style.scss +21 -14
  228. package/src/components/template-part-converter/convert-to-template-part.js +1 -6
  229. package/src/index.js +2 -18
  230. package/src/store/actions.js +25 -10
  231. package/src/store/defaults.js +1 -0
  232. package/src/store/reducer.js +6 -0
  233. package/src/store/selectors.js +11 -0
  234. package/src/store/test/actions.js +2 -2
  235. package/src/style.scss +1 -0
  236. package/build/components/error-boundary/warning.js +0 -70
  237. package/build/components/error-boundary/warning.js.map +0 -1
  238. package/build-module/components/error-boundary/warning.js +0 -60
  239. package/build-module/components/error-boundary/warning.js.map +0 -1
  240. package/src/components/error-boundary/warning.js +0 -59
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 4.0.0-next.0 (2022-02-23)
6
+
7
+ ### Breaking Change
8
+
9
+ - The `GUTENBERG_PHASE` environment variable has been renamed to `IS_GUTENBERG_PLUGIN` and is now a boolean ([#38202](https://github.com/WordPress/gutenberg/pull/38202)).
10
+
11
+ ### Bug Fix
12
+
13
+ - Removed unused `@wordpress/primitives`, `file-saver` and `jszip` dependencies ([#38388](https://github.com/WordPress/gutenberg/pull/38388)).
14
+
15
+ ## 3.1.0 (2022-01-27)
16
+
5
17
  ## 3.0.0 (2021-07-29)
6
18
 
7
19
  ### Breaking Change
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2021 by the contributors
3
+ Copyright 2016-2022 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -28,4 +28,10 @@ initialize( '#editor-root', blockEditorSettings );
28
28
 
29
29
  _This package assumes that your code will run in an **ES2015+** environment. If you're using an environment that has limited or no support for such language features and APIs, you should include [the polyfill shipped in `@wordpress/babel-preset-default`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default#polyfill) in your code._
30
30
 
31
- <br/><br/><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
31
+ ## Contributing to this package
32
+
33
+ This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to [npm](https://www.npmjs.com/) and used by [WordPress](https://make.wordpress.org/core/) as well as other software projects.
34
+
35
+ To find out more about contributing to this package or Gutenberg as a whole, please read the project's main [contributor guide](https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md).
36
+
37
+ <br /><br /><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
@@ -66,11 +66,8 @@ function NewTemplatePart(_ref) {
66
66
  }
67
67
 
68
68
  try {
69
- // Currently template parts only allow latin chars.
70
- // Fallback slug will receive suffix by default.
71
- const cleanSlug = (0, _lodash.kebabCase)(title).replace(/[^\w-]+/g, '') || 'wp-custom-part';
72
69
  const templatePart = await saveEntityRecord('postType', 'wp_template_part', {
73
- slug: cleanSlug,
70
+ slug: (0, _lodash.kebabCase)(title),
74
71
  title,
75
72
  content: '',
76
73
  area
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template-part.js"],"names":["NewTemplatePart","postType","history","isModalOpen","setIsModalOpen","createErrorNotice","noticesStore","saveEntityRecord","coreStore","getLastEntitySaveError","createTemplatePart","title","area","type","cleanSlug","replace","templatePart","slug","content","lastEntitySaveError","id","push","postId","error","errorMessage","message","code","labels","add_new"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AAIe,SAASA,eAAT,OAAyC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAMC,OAAO,GAAG,yBAAhB;AACA,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,eAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,qBAAWD,eAAX,CAAnC;;AAEA,iBAAeE,kBAAf,QAAqD;AAAA,QAAlB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAkB;;AACpD,QAAK,CAAED,KAAP,EAAe;AACdN,MAAAA,iBAAiB,CAAE,cAAI,uBAAJ,CAAF,EAAiC;AACjDQ,QAAAA,IAAI,EAAE;AAD2C,OAAjC,CAAjB;AAGA;AACA;;AAED,QAAI;AACH;AACA;AACA,YAAMC,SAAS,GACd,uBAAWH,KAAX,EAAmBI,OAAnB,CAA4B,UAA5B,EAAwC,EAAxC,KACA,gBAFD;AAIA,YAAMC,YAAY,GAAG,MAAMT,gBAAgB,CAC1C,UAD0C,EAE1C,kBAF0C,EAG1C;AACCU,QAAAA,IAAI,EAAEH,SADP;AAECH,QAAAA,KAFD;AAGCO,QAAAA,OAAO,EAAE,EAHV;AAICN,QAAAA;AAJD,OAH0C,CAA3C;AAWA,YAAMO,mBAAmB,GAAGV,sBAAsB,CACjD,UADiD,EAEjD,kBAFiD,EAGjDO,YAAY,CAACI,EAHoC,CAAlD;;AAKA,UAAKD,mBAAL,EAA2B;AAC1B,cAAMA,mBAAN;AACA;;AAEDf,MAAAA,cAAc,CAAE,KAAF,CAAd,CA3BG,CA6BH;;AACAF,MAAAA,OAAO,CAACmB,IAAR,CAAc;AACbC,QAAAA,MAAM,EAAEN,YAAY,CAACI,EADR;AAEbnB,QAAAA,QAAQ,EAAEe,YAAY,CAACH;AAFV,OAAd,EA9BG,CAmCH;AACA,KApCD,CAoCE,OAAQU,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cACA,qDADA,CAHJ;AAOApB,MAAAA,iBAAiB,CAAEmB,YAAF,EAAgB;AAAEX,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AAEAT,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA;AACD;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfA,MAAAA,cAAc,CAAE,IAAF,CAAd;AACA;AAJF,KAMGH,QAAQ,CAAC0B,MAAT,CAAgBC,OANnB,CADD,EASGzB,WAAW,IACZ,4BAAC,gCAAD;AACC,IAAA,UAAU,EAAG,MAAMC,cAAc,CAAE,KAAF,CADlC;AAEC,IAAA,QAAQ,EAAGM;AAFZ,IAVF,CADD;AAkBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useHistory } from '../routes';\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function NewTemplatePart( { postType } ) {\n\tconst history = useHistory();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { getLastEntitySaveError } = useSelect( coreStore );\n\n\tasync function createTemplatePart( { title, area } ) {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Title is not defined.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\t// Currently template parts only allow latin chars.\n\t\t\t// Fallback slug will receive suffix by default.\n\t\t\tconst cleanSlug =\n\t\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) ||\n\t\t\t\t'wp-custom-part';\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle,\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tarea,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst lastEntitySaveError = getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePart.id\n\t\t\t);\n\t\t\tif ( lastEntitySaveError ) {\n\t\t\t\tthrow lastEntitySaveError;\n\t\t\t}\n\n\t\t\tsetIsModalOpen( false );\n\n\t\t\t// Navigate to the created template part editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: templatePart.id,\n\t\t\t\tpostType: templatePart.type,\n\t\t\t} );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tsetIsModalOpen( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new }\n\t\t\t</Button>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\tonCreate={ createTemplatePart }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template-part.js"],"names":["NewTemplatePart","postType","history","isModalOpen","setIsModalOpen","createErrorNotice","noticesStore","saveEntityRecord","coreStore","getLastEntitySaveError","createTemplatePart","title","area","type","templatePart","slug","content","lastEntitySaveError","id","push","postId","error","errorMessage","message","code","labels","add_new"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AAIe,SAASA,eAAT,OAAyC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAMC,OAAO,GAAG,yBAAhB;AACA,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,eAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,qBAAWD,eAAX,CAAnC;;AAEA,iBAAeE,kBAAf,QAAqD;AAAA,QAAlB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAkB;;AACpD,QAAK,CAAED,KAAP,EAAe;AACdN,MAAAA,iBAAiB,CAAE,cAAI,uBAAJ,CAAF,EAAiC;AACjDQ,QAAAA,IAAI,EAAE;AAD2C,OAAjC,CAAjB;AAGA;AACA;;AAED,QAAI;AACH,YAAMC,YAAY,GAAG,MAAMP,gBAAgB,CAC1C,UAD0C,EAE1C,kBAF0C,EAG1C;AACCQ,QAAAA,IAAI,EAAE,uBAAWJ,KAAX,CADP;AAECA,QAAAA,KAFD;AAGCK,QAAAA,OAAO,EAAE,EAHV;AAICJ,QAAAA;AAJD,OAH0C,CAA3C;AAWA,YAAMK,mBAAmB,GAAGR,sBAAsB,CACjD,UADiD,EAEjD,kBAFiD,EAGjDK,YAAY,CAACI,EAHoC,CAAlD;;AAKA,UAAKD,mBAAL,EAA2B;AAC1B,cAAMA,mBAAN;AACA;;AAEDb,MAAAA,cAAc,CAAE,KAAF,CAAd,CArBG,CAuBH;;AACAF,MAAAA,OAAO,CAACiB,IAAR,CAAc;AACbC,QAAAA,MAAM,EAAEN,YAAY,CAACI,EADR;AAEbjB,QAAAA,QAAQ,EAAEa,YAAY,CAACD;AAFV,OAAd,EAxBG,CA6BH;AACA,KA9BD,CA8BE,OAAQQ,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cACA,qDADA,CAHJ;AAOAlB,MAAAA,iBAAiB,CAAEiB,YAAF,EAAgB;AAAET,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AAEAT,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA;AACD;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfA,MAAAA,cAAc,CAAE,IAAF,CAAd;AACA;AAJF,KAMGH,QAAQ,CAACwB,MAAT,CAAgBC,OANnB,CADD,EASGvB,WAAW,IACZ,4BAAC,gCAAD;AACC,IAAA,UAAU,EAAG,MAAMC,cAAc,CAAE,KAAF,CADlC;AAEC,IAAA,QAAQ,EAAGM;AAFZ,IAVF,CADD;AAkBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useHistory } from '../routes';\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function NewTemplatePart( { postType } ) {\n\tconst history = useHistory();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { getLastEntitySaveError } = useSelect( coreStore );\n\n\tasync function createTemplatePart( { title, area } ) {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Title is not defined.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: kebabCase( title ),\n\t\t\t\t\ttitle,\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tarea,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst lastEntitySaveError = getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePart.id\n\t\t\t);\n\t\t\tif ( lastEntitySaveError ) {\n\t\t\t\tthrow lastEntitySaveError;\n\t\t\t}\n\n\t\t\tsetIsModalOpen( false );\n\n\t\t\t// Navigate to the created template part editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: templatePart.id,\n\t\t\t\tpostType: templatePart.type,\n\t\t\t} );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tsetIsModalOpen( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new }\n\t\t\t</Button>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\tonCreate={ createTemplatePart }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -154,6 +154,7 @@ function ResizableEditor(_ref) {
154
154
  `html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`, // Some themes will have `min-height: 100vh` for the root container,
155
155
  // which isn't a requirement in auto resize mode.
156
156
  `.is-root-container { min-height: 0 !important; }`)),
157
+ assets: settings.__unstableResolvedAssets,
157
158
  ref: ref,
158
159
  name: "editor-canvas",
159
160
  className: "edit-site-visual-editor__editor-canvas"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","props","deviceType","select","editSiteStore","__experimentalGetPreviewDeviceType","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","animationFrame","resizeHeight","contentWindow","requestAnimationFrame","contentDocument","documentElement","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","cancelAnimationFrame","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, ...props } ) {\n\tconst deviceType = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet animationFrame = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! animationFrame ) {\n\t\t\t\t\t// Throttle the updates on animation frame.\n\t\t\t\t\tanimationFrame = iframe.contentWindow.requestAnimationFrame(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tsetHeight(\n\t\t\t\t\t\t\t\tiframe.contentDocument.documentElement\n\t\t\t\t\t\t\t\t\t.scrollHeight\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tanimationFrame = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\t\t\t\t// Observing the <html> rather than the <body> because the latter\n\t\t\t\t// gets destroyed and remounted after initialization in <Iframe>.\n\t\t\t\tresizeObserver.observe(\n\t\t\t\t\tiframe.contentDocument.documentElement\n\t\t\t\t);\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.cancelAnimationFrame( animationFrame );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tstyle={ enableResizing ? undefined : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","props","deviceType","select","editSiteStore","__experimentalGetPreviewDeviceType","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","animationFrame","resizeHeight","contentWindow","requestAnimationFrame","contentDocument","documentElement","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","cancelAnimationFrame","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles","__unstableResolvedAssets"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, ...props } ) {\n\tconst deviceType = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet animationFrame = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! animationFrame ) {\n\t\t\t\t\t// Throttle the updates on animation frame.\n\t\t\t\t\tanimationFrame = iframe.contentWindow.requestAnimationFrame(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tsetHeight(\n\t\t\t\t\t\t\t\tiframe.contentDocument.documentElement\n\t\t\t\t\t\t\t\t\t.scrollHeight\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tanimationFrame = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\t\t\t\t// Observing the <html> rather than the <body> because the latter\n\t\t\t\t// gets destroyed and remounted after initialization in <Iframe>.\n\t\t\t\tresizeObserver.observe(\n\t\t\t\t\tiframe.contentDocument.documentElement\n\t\t\t\t);\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.cancelAnimationFrame( animationFrame );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tstyle={ enableResizing ? undefined : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tassets={ settings.__unstableResolvedAssets }\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = CodeEditorTextArea;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _reactAutosizeTextarea = _interopRequireDefault(require("react-autosize-textarea"));
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _compose = require("@wordpress/compose");
17
+
18
+ var _components = require("@wordpress/components");
19
+
20
+ /**
21
+ * External dependencies
22
+ */
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * WordPress dependencies
30
+ */
31
+
32
+ /**
33
+ * WordPress dependencies
34
+ */
35
+ function CodeEditorTextArea(_ref) {
36
+ let {
37
+ value,
38
+ onChange,
39
+ onInput
40
+ } = _ref;
41
+ const [stateValue, setStateValue] = (0, _element.useState)(value);
42
+ const [isDirty, setIsDirty] = (0, _element.useState)(false);
43
+ const instanceId = (0, _compose.useInstanceId)(CodeEditorTextArea);
44
+
45
+ if (!isDirty && stateValue !== value) {
46
+ setStateValue(value);
47
+ }
48
+ /**
49
+ * Handles a textarea change event to notify the onChange prop callback and
50
+ * reflect the new value in the component's own state. This marks the start
51
+ * of the user's edits, if not already changed, preventing future props
52
+ * changes to value from replacing the rendered value. This is expected to
53
+ * be followed by a reset to dirty state via `stopEditing`.
54
+ *
55
+ * @see stopEditing
56
+ *
57
+ * @param {Event} event Change event.
58
+ */
59
+
60
+
61
+ const onChangeHandler = event => {
62
+ const newValue = event.target.value;
63
+ onInput(newValue);
64
+ setStateValue(newValue);
65
+ setIsDirty(true);
66
+ };
67
+ /**
68
+ * Function called when the user has completed their edits, responsible for
69
+ * ensuring that changes, if made, are surfaced to the onPersist prop
70
+ * callback and resetting dirty state.
71
+ */
72
+
73
+
74
+ const stopEditing = () => {
75
+ if (isDirty) {
76
+ onChange(stateValue);
77
+ setIsDirty(false);
78
+ }
79
+ };
80
+
81
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.VisuallyHidden, {
82
+ as: "label",
83
+ htmlFor: `code-editor-text-area-${instanceId}`
84
+ }, (0, _i18n.__)('Type text or HTML')), (0, _element.createElement)(_reactAutosizeTextarea.default, {
85
+ autoComplete: "off",
86
+ dir: "auto",
87
+ value: stateValue,
88
+ onChange: onChangeHandler,
89
+ onBlur: stopEditing,
90
+ className: "edit-site-code-editor-text-area",
91
+ id: `code-editor-text-area-${instanceId}`,
92
+ placeholder: (0, _i18n.__)('Start writing with text or HTML')
93
+ }));
94
+ }
95
+ //# sourceMappingURL=code-editor-text-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/code-editor/code-editor-text-area.js"],"names":["CodeEditorTextArea","value","onChange","onInput","stateValue","setStateValue","isDirty","setIsDirty","instanceId","onChangeHandler","event","newValue","target","stopEditing"],"mappings":";;;;;;;;;AAeA;;AAZA;;AAWA;;AAEA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AAMe,SAASA,kBAAT,OAA4D;AAAA,MAA/B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,QAAT;AAAmBC,IAAAA;AAAnB,GAA+B;AAC1E,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgC,uBAAUJ,KAAV,CAAtC;AACA,QAAM,CAAEK,OAAF,EAAWC,UAAX,IAA0B,uBAAU,KAAV,CAAhC;AACA,QAAMC,UAAU,GAAG,4BAAeR,kBAAf,CAAnB;;AAEA,MAAK,CAAEM,OAAF,IAAaF,UAAU,KAAKH,KAAjC,EAAyC;AACxCI,IAAAA,aAAa,CAAEJ,KAAF,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC,QAAMQ,eAAe,GAAKC,KAAF,IAAa;AACpC,UAAMC,QAAQ,GAAGD,KAAK,CAACE,MAAN,CAAaX,KAA9B;AACAE,IAAAA,OAAO,CAAEQ,QAAF,CAAP;AACAN,IAAAA,aAAa,CAAEM,QAAF,CAAb;AACAJ,IAAAA,UAAU,CAAE,IAAF,CAAV;AACA,GALD;AAOA;AACD;AACA;AACA;AACA;;;AACC,QAAMM,WAAW,GAAG,MAAM;AACzB,QAAKP,OAAL,EAAe;AACdJ,MAAAA,QAAQ,CAAEE,UAAF,CAAR;AACAG,MAAAA,UAAU,CAAE,KAAF,CAAV;AACA;AACD,GALD;;AAOA,SACC,qDACC,4BAAC,0BAAD;AACC,IAAA,EAAE,EAAC,OADJ;AAEC,IAAA,OAAO,EAAI,yBAAyBC,UAAY;AAFjD,KAIG,cAAI,mBAAJ,CAJH,CADD,EAOC,4BAAC,8BAAD;AACC,IAAA,YAAY,EAAC,KADd;AAEC,IAAA,GAAG,EAAC,MAFL;AAGC,IAAA,KAAK,EAAGJ,UAHT;AAIC,IAAA,QAAQ,EAAGK,eAJZ;AAKC,IAAA,MAAM,EAAGI,WALV;AAMC,IAAA,SAAS,EAAC,iCANX;AAOC,IAAA,EAAE,EAAI,yBAAyBL,UAAY,EAP5C;AAQC,IAAA,WAAW,EAAG,cAAI,iCAAJ;AARf,IAPD,CADD;AAoBA","sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\n/**\n * WordPress dependencies\n */\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\nexport default function CodeEditorTextArea( { value, onChange, onInput } ) {\n\tconst [ stateValue, setStateValue ] = useState( value );\n\tconst [ isDirty, setIsDirty ] = useState( false );\n\tconst instanceId = useInstanceId( CodeEditorTextArea );\n\n\tif ( ! isDirty && stateValue !== value ) {\n\t\tsetStateValue( value );\n\t}\n\n\t/**\n\t * Handles a textarea change event to notify the onChange prop callback and\n\t * reflect the new value in the component's own state. This marks the start\n\t * of the user's edits, if not already changed, preventing future props\n\t * changes to value from replacing the rendered value. This is expected to\n\t * be followed by a reset to dirty state via `stopEditing`.\n\t *\n\t * @see stopEditing\n\t *\n\t * @param {Event} event Change event.\n\t */\n\tconst onChangeHandler = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tonInput( newValue );\n\t\tsetStateValue( newValue );\n\t\tsetIsDirty( true );\n\t};\n\n\t/**\n\t * Function called when the user has completed their edits, responsible for\n\t * ensuring that changes, if made, are surfaced to the onPersist prop\n\t * callback and resetting dirty state.\n\t */\n\tconst stopEditing = () => {\n\t\tif ( isDirty ) {\n\t\t\tonChange( stateValue );\n\t\t\tsetIsDirty( false );\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `code-editor-text-area-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ stateValue }\n\t\t\t\tonChange={ onChangeHandler }\n\t\t\t\tonBlur={ stopEditing }\n\t\t\t\tclassName=\"edit-site-code-editor-text-area\"\n\t\t\t\tid={ `code-editor-text-area-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = CodeEditor;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _blocks = require("@wordpress/blocks");
13
+
14
+ var _coreData = require("@wordpress/core-data");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
19
+
20
+ var _i18n = require("@wordpress/i18n");
21
+
22
+ var _components = require("@wordpress/components");
23
+
24
+ var _store = require("../../store");
25
+
26
+ var _codeEditorTextArea = _interopRequireDefault(require("./code-editor-text-area"));
27
+
28
+ /**
29
+ * WordPress dependencies
30
+ */
31
+
32
+ /**
33
+ * Internal dependencies
34
+ */
35
+ function CodeEditor() {
36
+ const {
37
+ templateType,
38
+ shortcut
39
+ } = (0, _data.useSelect)(select => {
40
+ const {
41
+ getEditedPostType
42
+ } = select(_store.store);
43
+ const {
44
+ getShortcutRepresentation
45
+ } = select(_keyboardShortcuts.store);
46
+ return {
47
+ templateType: getEditedPostType(),
48
+ shortcut: getShortcutRepresentation('core/edit-site/toggle-mode')
49
+ };
50
+ }, []);
51
+ const [contentStructure, setContent] = (0, _coreData.useEntityProp)('postType', templateType, 'content');
52
+ const [blocks,, onChange] = (0, _coreData.useEntityBlockEditor)('postType', templateType);
53
+ const content = contentStructure instanceof Function ? contentStructure({
54
+ blocks
55
+ }) : contentStructure;
56
+ const {
57
+ switchEditorMode
58
+ } = (0, _data.useDispatch)(_store.store);
59
+ return (0, _element.createElement)("div", {
60
+ className: "edit-site-code-editor"
61
+ }, (0, _element.createElement)("div", {
62
+ className: "edit-site-code-editor__toolbar"
63
+ }, (0, _element.createElement)("h2", null, (0, _i18n.__)('Editing code')), (0, _element.createElement)(_components.Button, {
64
+ variant: "tertiary",
65
+ onClick: () => switchEditorMode('visual'),
66
+ shortcut: shortcut
67
+ }, (0, _i18n.__)('Exit code editor'))), (0, _element.createElement)("div", {
68
+ className: "edit-site-code-editor__body"
69
+ }, (0, _element.createElement)(_codeEditorTextArea.default, {
70
+ value: content,
71
+ onChange: newContent => {
72
+ onChange((0, _blocks.parse)(newContent), {
73
+ selection: undefined
74
+ });
75
+ },
76
+ onInput: setContent
77
+ })));
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/code-editor/index.js"],"names":["CodeEditor","templateType","shortcut","select","getEditedPostType","editSiteStore","getShortcutRepresentation","keyboardShortcutsStore","contentStructure","setContent","blocks","onChange","content","Function","switchEditorMode","newContent","selection","undefined"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAQA;AACA;AACA;AAIe,SAASA,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAA6B,qBAAaC,MAAF,IAAc;AAC3D,UAAM;AAAEC,MAAAA;AAAF,QAAwBD,MAAM,CAAEE,YAAF,CAApC;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAgCH,MAAM,CAAEI,wBAAF,CAA5C;AACA,WAAO;AACNN,MAAAA,YAAY,EAAEG,iBAAiB,EADzB;AAENF,MAAAA,QAAQ,EAAEI,yBAAyB,CAAE,4BAAF;AAF7B,KAAP;AAIA,GAPkC,EAOhC,EAPgC,CAAnC;AAQA,QAAM,CAAEE,gBAAF,EAAoBC,UAApB,IAAmC,6BACxC,UADwC,EAExCR,YAFwC,EAGxC,SAHwC,CAAzC;AAKA,QAAM,CAAES,MAAF,GAAYC,QAAZ,IAAyB,oCAC9B,UAD8B,EAE9BV,YAF8B,CAA/B;AAIA,QAAMW,OAAO,GACZJ,gBAAgB,YAAYK,QAA5B,GACGL,gBAAgB,CAAE;AAAEE,IAAAA;AAAF,GAAF,CADnB,GAEGF,gBAHJ;AAIA,QAAM;AAAEM,IAAAA;AAAF,MAAuB,uBAAaT,YAAb,CAA7B;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,wCAAM,cAAI,cAAJ,CAAN,CADD,EAEC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAMS,gBAAgB,CAAE,QAAF,CAFjC;AAGC,IAAA,QAAQ,EAAGZ;AAHZ,KAKG,cAAI,kBAAJ,CALH,CAFD,CADD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGU,OADT;AAEC,IAAA,QAAQ,EAAKG,UAAF,IAAkB;AAC5BJ,MAAAA,QAAQ,CAAE,mBAAOI,UAAP,CAAF,EAAuB;AAC9BC,QAAAA,SAAS,EAAEC;AADmB,OAAvB,CAAR;AAGA,KANF;AAOC,IAAA,OAAO,EAAGR;AAPX,IADD,CAXD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useEntityBlockEditor, useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport CodeEditorTextArea from './code-editor-text-area';\n\nexport default function CodeEditor() {\n\tconst { templateType, shortcut } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType } = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\ttemplateType: getEditedPostType(),\n\t\t\tshortcut: getShortcutRepresentation( 'core/edit-site/toggle-mode' ),\n\t\t};\n\t}, [] );\n\tconst [ contentStructure, setContent ] = useEntityProp(\n\t\t'postType',\n\t\ttemplateType,\n\t\t'content'\n\t);\n\tconst [ blocks, , onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst content =\n\t\tcontentStructure instanceof Function\n\t\t\t? contentStructure( { blocks } )\n\t\t\t: contentStructure;\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\treturn (\n\t\t<div className=\"edit-site-code-editor\">\n\t\t\t<div className=\"edit-site-code-editor__toolbar\">\n\t\t\t\t<h2>{ __( 'Editing code' ) }</h2>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => switchEditorMode( 'visual' ) }\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Exit code editor' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t<div className=\"edit-site-code-editor__body\">\n\t\t\t\t<CodeEditorTextArea\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\tonChange={ ( newContent ) => {\n\t\t\t\t\t\tonChange( parse( newContent ), {\n\t\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonInput={ setContent }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -27,6 +27,8 @@ var _plugins = require("@wordpress/plugins");
27
27
 
28
28
  var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
29
29
 
30
+ var _notices = require("@wordpress/notices");
31
+
30
32
  var _header = _interopRequireDefault(require("../header"));
31
33
 
32
34
  var _sidebar = require("../sidebar");
@@ -35,6 +37,8 @@ var _navigationSidebar = _interopRequireDefault(require("../navigation-sidebar")
35
37
 
36
38
  var _blockEditor2 = _interopRequireDefault(require("../block-editor"));
37
39
 
40
+ var _codeEditor = _interopRequireDefault(require("../code-editor"));
41
+
38
42
  var _keyboardShortcuts2 = _interopRequireDefault(require("../keyboard-shortcuts"));
39
43
 
40
44
  var _urlQueryController = _interopRequireDefault(require("../url-query-controller"));
@@ -83,7 +87,8 @@ function Editor(_ref) {
83
87
  templateResolved,
84
88
  isNavigationOpen,
85
89
  previousShortcut,
86
- nextShortcut
90
+ nextShortcut,
91
+ editorMode
87
92
  } = (0, _data.useSelect)(select => {
88
93
  const {
89
94
  isInserterOpened,
@@ -92,7 +97,8 @@ function Editor(_ref) {
92
97
  getEditedPostType,
93
98
  getEditedPostId,
94
99
  getPage,
95
- isNavigationOpened
100
+ isNavigationOpened,
101
+ getEditorMode
96
102
  } = select(_store.store);
97
103
  const {
98
104
  hasFinishedResolution,
@@ -113,7 +119,8 @@ function Editor(_ref) {
113
119
  entityId: postId,
114
120
  isNavigationOpen: isNavigationOpened(),
115
121
  previousShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/previous-region'),
116
- nextShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/next-region')
122
+ nextShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/next-region'),
123
+ editorMode: getEditorMode()
117
124
  };
118
125
  }, []);
119
126
  const {
@@ -123,6 +130,9 @@ function Editor(_ref) {
123
130
  const {
124
131
  enableComplementaryArea
125
132
  } = (0, _data.useDispatch)(_interface.store);
133
+ const {
134
+ createErrorNotice
135
+ } = (0, _data.useDispatch)(_notices.store);
126
136
  const [isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen] = (0, _element.useState)(false);
127
137
  const openEntitiesSavedStates = (0, _element.useCallback)(() => setIsEntitiesSavedStatesOpen(true), []);
128
138
  const closeEntitiesSavedStates = (0, _element.useCallback)(() => {
@@ -166,7 +176,13 @@ function Editor(_ref) {
166
176
  }
167
177
 
168
178
  return null;
169
- }; // Only announce the title once the editor is ready to prevent "Replace"
179
+ };
180
+
181
+ function onPluginAreaError(name) {
182
+ createErrorNotice((0, _i18n.sprintf)(
183
+ /* translators: %s: plugin name */
184
+ (0, _i18n.__)('The "%s" plugin has encountered an error and cannot be rendered.'), name));
185
+ } // Only announce the title once the editor is ready to prevent "Replace"
170
186
  // action in <URlQueryController> from double-announcing.
171
187
 
172
188
 
@@ -193,9 +209,9 @@ function Editor(_ref) {
193
209
  openEntitiesSavedStates: openEntitiesSavedStates
194
210
  }),
195
211
  notices: (0, _element.createElement)(_editor.EditorSnackbars, null),
196
- content: (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_editor.EditorNotices, null), template && (0, _element.createElement)(_blockEditor2.default, {
212
+ content: (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_editor.EditorNotices, null), editorMode === 'visual' && template && (0, _element.createElement)(_blockEditor2.default, {
197
213
  setIsInserterOpen: setIsInserterOpened
198
- }), templateResolved && !template && (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && entityId && (0, _element.createElement)(_components.Notice, {
214
+ }), editorMode === 'text' && template && (0, _element.createElement)(_codeEditor.default, null), templateResolved && !template && (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && entityId && (0, _element.createElement)(_components.Notice, {
199
215
  status: "warning",
200
216
  isDismissible: false
201
217
  }, (0, _i18n.__)("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")), (0, _element.createElement)(_keyboardShortcuts2.default, {
@@ -211,12 +227,16 @@ function Editor(_ref) {
211
227
  onClick: openEntitiesSavedStates,
212
228
  "aria-expanded": false
213
229
  }, (0, _i18n.__)('Open save panel')))),
214
- footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, null),
230
+ footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, {
231
+ rootLabelText: (0, _i18n.__)('Template')
232
+ }),
215
233
  shortcuts: {
216
234
  previous: previousShortcut,
217
235
  next: nextShortcut
218
236
  }
219
- }), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, null))))))));
237
+ }), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, {
238
+ onError: onPluginAreaError
239
+ }))))))));
220
240
  }
221
241
 
222
242
  var _default = Editor;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","secondarySidebar","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","keyboardShortcutsStore","getAllShortcutKeyCombinations","setPage","setIsInserterOpened","enableComplementaryArea","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","get","isReady","siteUrl","undefined","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","secondarySidebar","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","editorMode","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","getEditorMode","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","keyboardShortcutsStore","getAllShortcutKeyCombinations","setPage","setIsInserterOpened","enableComplementaryArea","createErrorNotice","noticesStore","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","get","isReady","siteUrl","undefined","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\teditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\teditorMode: getEditorMode(),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'visual' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\t\t\t\trootLabelText={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Template'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea\n\t\t\t\t\t\t\t\t\t\t\tonError={ onPluginAreaError }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -11,15 +9,27 @@ var _element = require("@wordpress/element");
11
9
 
12
10
  var _i18n = require("@wordpress/i18n");
13
11
 
14
- var _warning = _interopRequireDefault(require("./warning"));
12
+ var _components = require("@wordpress/components");
13
+
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ var _compose = require("@wordpress/compose");
15
17
 
16
18
  /**
17
19
  * WordPress dependencies
18
20
  */
21
+ function CopyButton(_ref) {
22
+ let {
23
+ text,
24
+ children
25
+ } = _ref;
26
+ const ref = (0, _compose.useCopyToClipboard)(text);
27
+ return (0, _element.createElement)(_components.Button, {
28
+ variant: "secondary",
29
+ ref: ref
30
+ }, children);
31
+ }
19
32
 
20
- /**
21
- * Internal dependencies
22
- */
23
33
  class ErrorBoundary extends _element.Component {
24
34
  constructor() {
25
35
  super(...arguments);
@@ -48,11 +58,17 @@ class ErrorBoundary extends _element.Component {
48
58
  return this.props.children;
49
59
  }
50
60
 
51
- return (0, _element.createElement)(_warning.default, {
52
- message: (0, _i18n.__)('The editor has encountered an unexpected error.'),
53
- error: error,
54
- reboot: this.reboot
55
- });
61
+ return (0, _element.createElement)(_blockEditor.Warning, {
62
+ className: "editor-error-boundary",
63
+ actions: [(0, _element.createElement)(_components.Button, {
64
+ key: "recovery",
65
+ onClick: this.reboot,
66
+ variant: "secondary"
67
+ }, (0, _i18n.__)('Attempt Recovery')), (0, _element.createElement)(CopyButton, {
68
+ key: "copy-error",
69
+ text: error.stack
70
+ }, (0, _i18n.__)('Copy Error'))]
71
+ }, (0, _i18n.__)('The editor has encountered an unexpected error.'));
56
72
  }
57
73
 
58
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/error-boundary/index.js"],"names":["ErrorBoundary","Component","constructor","arguments","reboot","bind","state","error","getDerivedStateFromError","props","onError","render","children"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,MAAMA,aAAN,SAA4BC,kBAA5B,CAAsC;AACpDC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,MAAL,GAAc,KAAKA,MAAL,CAAYC,IAAZ,CAAkB,IAAlB,CAAd;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAE8B,SAAxBC,wBAAwB,CAAED,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDH,EAAAA,MAAM,GAAG;AACR,SAAKK,KAAL,CAAWC,OAAX;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEJ,MAAAA;AAAF,QAAY,KAAKD,KAAvB;;AACA,QAAK,CAAEC,KAAP,EAAe;AACd,aAAO,KAAKE,KAAL,CAAWG,QAAlB;AACA;;AAED,WACC,4BAAC,gBAAD;AACC,MAAA,OAAO,EAAG,cACT,iDADS,CADX;AAIC,MAAA,KAAK,EAAGL,KAJT;AAKC,MAAA,MAAM,EAAG,KAAKH;AALf,MADD;AASA;;AAlCmD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundaryWarning from './warning';\n\nexport default class ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.reboot = this.reboot.bind( this );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\treboot() {\n\t\tthis.props.onError();\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<ErrorBoundaryWarning\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'The editor has encountered an unexpected error.'\n\t\t\t\t) }\n\t\t\t\terror={ error }\n\t\t\t\treboot={ this.reboot }\n\t\t\t/>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/error-boundary/index.js"],"names":["CopyButton","text","children","ref","ErrorBoundary","Component","constructor","arguments","reboot","bind","state","error","getDerivedStateFromError","props","onError","render","stack"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOA,SAASA,UAAT,OAA0C;AAAA,MAArB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAqB;AACzC,QAAMC,GAAG,GAAG,iCAAoBF,IAApB,CAAZ;AACA,SACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,WAAhB;AAA4B,IAAA,GAAG,EAAGE;AAAlC,KACGD,QADH,CADD;AAKA;;AAEc,MAAME,aAAN,SAA4BC,kBAA5B,CAAsC;AACpDC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,MAAL,GAAc,KAAKA,MAAL,CAAYC,IAAZ,CAAkB,IAAlB,CAAd;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAE8B,SAAxBC,wBAAwB,CAAED,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDH,EAAAA,MAAM,GAAG;AACR,SAAKK,KAAL,CAAWC,OAAX;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEJ,MAAAA;AAAF,QAAY,KAAKD,KAAvB;;AACA,QAAK,CAAEC,KAAP,EAAe;AACd,aAAO,KAAKE,KAAL,CAAWX,QAAlB;AACA;;AAED,WACC,4BAAC,oBAAD;AACC,MAAA,SAAS,EAAC,uBADX;AAEC,MAAA,OAAO,EAAG,CACT,4BAAC,kBAAD;AACC,QAAA,GAAG,EAAC,UADL;AAEC,QAAA,OAAO,EAAG,KAAKM,MAFhB;AAGC,QAAA,OAAO,EAAC;AAHT,SAKG,cAAI,kBAAJ,CALH,CADS,EAQT,4BAAC,UAAD;AAAY,QAAA,GAAG,EAAC,YAAhB;AAA6B,QAAA,IAAI,EAAGG,KAAK,CAACK;AAA1C,SACG,cAAI,YAAJ,CADH,CARS;AAFX,OAeG,cAAI,iDAAJ,CAfH,CADD;AAmBA;;AA5CmD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nexport default class ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.reboot = this.reboot.bind( this );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\treboot() {\n\t\tthis.props.onError();\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tclassName=\"editor-error-boundary\"\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recovery\"\n\t\t\t\t\t\tonClick={ this.reboot }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t\t\t</CopyButton>,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n"]}