@wordpress/edit-post 7.10.0 → 7.12.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 (298) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-manager/category.js +14 -22
  3. package/build/components/block-manager/category.js.map +1 -1
  4. package/build/components/block-manager/checklist.js +6 -13
  5. package/build/components/block-manager/checklist.js.map +1 -1
  6. package/build/components/block-manager/index.js +10 -14
  7. package/build/components/block-manager/index.js.map +1 -1
  8. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +21 -26
  9. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  10. package/build/components/device-preview/index.js +1 -1
  11. package/build/components/device-preview/index.js.map +1 -1
  12. package/build/components/editor-initialization/index.js +3 -4
  13. package/build/components/editor-initialization/index.js.map +1 -1
  14. package/build/components/header/document-title/index.js +103 -0
  15. package/build/components/header/document-title/index.js.map +1 -0
  16. package/build/components/header/fullscreen-mode-close/index.js +8 -9
  17. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  18. package/build/components/header/header-toolbar/index.js +4 -3
  19. package/build/components/header/header-toolbar/index.js.map +1 -1
  20. package/build/components/header/header-toolbar/index.native.js +12 -13
  21. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  22. package/build/components/header/index.js +7 -6
  23. package/build/components/header/index.js.map +1 -1
  24. package/build/components/header/main-dashboard-button/index.js +3 -4
  25. package/build/components/header/main-dashboard-button/index.js.map +1 -1
  26. package/build/components/header/more-menu/index.js +19 -23
  27. package/build/components/header/more-menu/index.js.map +1 -1
  28. package/build/components/header/post-publish-button-or-toggle.js +15 -16
  29. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  30. package/build/components/header/tools-more-menu-group/index.js +7 -10
  31. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  32. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  33. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  34. package/build/components/keyboard-shortcut-help-modal/index.js +44 -54
  35. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  36. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  37. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  38. package/build/components/layout/actions-panel.js +5 -6
  39. package/build/components/layout/actions-panel.js.map +1 -1
  40. package/build/components/layout/index.js +3 -4
  41. package/build/components/layout/index.js.map +1 -1
  42. package/build/components/layout/index.native.js +3 -7
  43. package/build/components/layout/index.native.js.map +1 -1
  44. package/build/components/meta-boxes/index.js +9 -13
  45. package/build/components/meta-boxes/index.js.map +1 -1
  46. package/build/components/meta-boxes/meta-box-visibility.js +5 -8
  47. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  48. package/build/components/meta-boxes/meta-boxes-area/index.js +3 -4
  49. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  50. package/build/components/preferences-modal/meta-boxes-section.js +16 -23
  51. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  52. package/build/components/preferences-modal/options/enable-custom-fields.js +7 -9
  53. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  54. package/build/components/preferences-modal/options/enable-feature.js +12 -16
  55. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  56. package/build/components/preferences-modal/options/enable-panel.js +10 -17
  57. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  58. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  59. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  60. package/build/components/secondary-sidebar/list-view-sidebar.js +58 -44
  61. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  62. package/build/components/sidebar/discussion-panel/index.js +5 -7
  63. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  64. package/build/components/sidebar/featured-image/index.js +9 -17
  65. package/build/components/sidebar/featured-image/index.js.map +1 -1
  66. package/build/components/sidebar/page-attributes/index.js +3 -9
  67. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  68. package/build/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  69. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  70. package/build/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  71. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  72. package/build/components/sidebar/plugin-post-status-info/index.js +6 -9
  73. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  74. package/build/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  75. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  76. package/build/components/sidebar/plugin-sidebar/index.js +4 -5
  77. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  78. package/build/components/sidebar/post-excerpt/index.js +5 -7
  79. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  80. package/build/components/sidebar/post-schedule/index.js +16 -23
  81. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  82. package/build/components/sidebar/post-status/index.js +7 -11
  83. package/build/components/sidebar/post-status/index.js.map +1 -1
  84. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  85. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  86. package/build/components/sidebar/post-template/create-modal.js +3 -4
  87. package/build/components/sidebar/post-template/create-modal.js.map +1 -1
  88. package/build/components/sidebar/post-template/form.js +13 -20
  89. package/build/components/sidebar/post-template/form.js.map +1 -1
  90. package/build/components/sidebar/post-template/index.js +18 -25
  91. package/build/components/sidebar/post-template/index.js.map +1 -1
  92. package/build/components/sidebar/post-url/index.js +16 -23
  93. package/build/components/sidebar/post-url/index.js.map +1 -1
  94. package/build/components/sidebar/post-visibility/index.js +26 -36
  95. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  96. package/build/components/sidebar/settings-header/index.js +3 -4
  97. package/build/components/sidebar/settings-header/index.js.map +1 -1
  98. package/build/components/sidebar/template-summary/index.js +1 -1
  99. package/build/components/sidebar/template-summary/index.js.map +1 -1
  100. package/build/components/start-page-options/index.js +3 -4
  101. package/build/components/start-page-options/index.js.map +1 -1
  102. package/build/components/view-link/index.js +1 -1
  103. package/build/components/view-link/index.js.map +1 -1
  104. package/build/components/visual-editor/block-inspector-button.js +4 -5
  105. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  106. package/build/components/visual-editor/header.native.js +6 -7
  107. package/build/components/visual-editor/header.native.js.map +1 -1
  108. package/build/components/visual-editor/index.js +32 -48
  109. package/build/components/visual-editor/index.js.map +1 -1
  110. package/build/components/welcome-guide/image.js +4 -5
  111. package/build/components/welcome-guide/image.js.map +1 -1
  112. package/build/editor.js +15 -23
  113. package/build/editor.js.map +1 -1
  114. package/build/editor.native.js +3 -6
  115. package/build/editor.native.js.map +1 -1
  116. package/build/hooks/validate-multiple-use/index.js +18 -29
  117. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  118. package/build/index.js +2 -2
  119. package/build/index.js.map +1 -1
  120. package/build/plugins/index.js +20 -23
  121. package/build/plugins/index.js.map +1 -1
  122. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  123. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  124. package/build/store/actions.js +60 -88
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/reducer.js +11 -43
  127. package/build/store/reducer.js.map +1 -1
  128. package/build/store/selectors.js +11 -16
  129. package/build/store/selectors.js.map +1 -1
  130. package/build-module/components/block-manager/category.js +14 -22
  131. package/build-module/components/block-manager/category.js.map +1 -1
  132. package/build-module/components/block-manager/checklist.js +6 -13
  133. package/build-module/components/block-manager/checklist.js.map +1 -1
  134. package/build-module/components/block-manager/index.js +10 -14
  135. package/build-module/components/block-manager/index.js.map +1 -1
  136. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +21 -26
  137. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  138. package/build-module/components/device-preview/index.js +1 -1
  139. package/build-module/components/device-preview/index.js.map +1 -1
  140. package/build-module/components/editor-initialization/index.js +3 -4
  141. package/build-module/components/editor-initialization/index.js.map +1 -1
  142. package/build-module/components/header/document-title/index.js +88 -0
  143. package/build-module/components/header/document-title/index.js.map +1 -0
  144. package/build-module/components/header/fullscreen-mode-close/index.js +7 -8
  145. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  146. package/build-module/components/header/header-toolbar/index.js +3 -3
  147. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  148. package/build-module/components/header/header-toolbar/index.native.js +12 -13
  149. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  150. package/build-module/components/header/index.js +7 -6
  151. package/build-module/components/header/index.js.map +1 -1
  152. package/build-module/components/header/main-dashboard-button/index.js +3 -4
  153. package/build-module/components/header/main-dashboard-button/index.js.map +1 -1
  154. package/build-module/components/header/more-menu/index.js +19 -23
  155. package/build-module/components/header/more-menu/index.js.map +1 -1
  156. package/build-module/components/header/post-publish-button-or-toggle.js +15 -16
  157. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  158. package/build-module/components/header/tools-more-menu-group/index.js +7 -10
  159. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  160. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  161. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  162. package/build-module/components/keyboard-shortcut-help-modal/index.js +42 -52
  163. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  164. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  165. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  166. package/build-module/components/layout/actions-panel.js +5 -6
  167. package/build-module/components/layout/actions-panel.js.map +1 -1
  168. package/build-module/components/layout/index.js +3 -4
  169. package/build-module/components/layout/index.js.map +1 -1
  170. package/build-module/components/layout/index.native.js +3 -7
  171. package/build-module/components/layout/index.native.js.map +1 -1
  172. package/build-module/components/meta-boxes/index.js +9 -13
  173. package/build-module/components/meta-boxes/index.js.map +1 -1
  174. package/build-module/components/meta-boxes/meta-box-visibility.js +5 -8
  175. package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
  176. package/build-module/components/meta-boxes/meta-boxes-area/index.js +3 -4
  177. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  178. package/build-module/components/preferences-modal/meta-boxes-section.js +16 -23
  179. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  180. package/build-module/components/preferences-modal/options/enable-custom-fields.js +7 -9
  181. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  182. package/build-module/components/preferences-modal/options/enable-feature.js +12 -16
  183. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  184. package/build-module/components/preferences-modal/options/enable-panel.js +10 -17
  185. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  186. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  187. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  188. package/build-module/components/secondary-sidebar/list-view-sidebar.js +58 -44
  189. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  190. package/build-module/components/sidebar/discussion-panel/index.js +5 -7
  191. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  192. package/build-module/components/sidebar/featured-image/index.js +9 -17
  193. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  194. package/build-module/components/sidebar/page-attributes/index.js +3 -9
  195. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  196. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  197. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  198. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  199. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  200. package/build-module/components/sidebar/plugin-post-status-info/index.js +6 -9
  201. package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  202. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  203. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  204. package/build-module/components/sidebar/plugin-sidebar/index.js +4 -5
  205. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  206. package/build-module/components/sidebar/post-excerpt/index.js +5 -7
  207. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  208. package/build-module/components/sidebar/post-schedule/index.js +16 -23
  209. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  210. package/build-module/components/sidebar/post-status/index.js +7 -11
  211. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  212. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  213. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  214. package/build-module/components/sidebar/post-template/create-modal.js +3 -4
  215. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -1
  216. package/build-module/components/sidebar/post-template/form.js +13 -20
  217. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  218. package/build-module/components/sidebar/post-template/index.js +18 -25
  219. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  220. package/build-module/components/sidebar/post-url/index.js +16 -23
  221. package/build-module/components/sidebar/post-url/index.js.map +1 -1
  222. package/build-module/components/sidebar/post-visibility/index.js +26 -36
  223. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  224. package/build-module/components/sidebar/settings-header/index.js +3 -4
  225. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  226. package/build-module/components/sidebar/template-summary/index.js +1 -1
  227. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  228. package/build-module/components/start-page-options/index.js +3 -4
  229. package/build-module/components/start-page-options/index.js.map +1 -1
  230. package/build-module/components/view-link/index.js +1 -1
  231. package/build-module/components/view-link/index.js.map +1 -1
  232. package/build-module/components/visual-editor/block-inspector-button.js +4 -5
  233. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  234. package/build-module/components/visual-editor/header.native.js +6 -7
  235. package/build-module/components/visual-editor/header.native.js.map +1 -1
  236. package/build-module/components/visual-editor/index.js +35 -49
  237. package/build-module/components/visual-editor/index.js.map +1 -1
  238. package/build-module/components/welcome-guide/image.js +4 -5
  239. package/build-module/components/welcome-guide/image.js.map +1 -1
  240. package/build-module/editor.js +15 -23
  241. package/build-module/editor.js.map +1 -1
  242. package/build-module/editor.native.js +3 -6
  243. package/build-module/editor.native.js.map +1 -1
  244. package/build-module/hooks/validate-multiple-use/index.js +18 -29
  245. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  246. package/build-module/index.js +2 -2
  247. package/build-module/index.js.map +1 -1
  248. package/build-module/plugins/index.js +20 -23
  249. package/build-module/plugins/index.js.map +1 -1
  250. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  251. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  252. package/build-module/store/actions.js +60 -88
  253. package/build-module/store/actions.js.map +1 -1
  254. package/build-module/store/reducer.js +11 -43
  255. package/build-module/store/reducer.js.map +1 -1
  256. package/build-module/store/selectors.js +11 -16
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-style/classic-rtl.css +1 -1
  259. package/build-style/classic.css +1 -1
  260. package/build-style/style-rtl.css +74 -114
  261. package/build-style/style.css +74 -114
  262. package/package.json +33 -33
  263. package/src/components/header/document-title/index.js +86 -0
  264. package/src/components/header/document-title/style.scss +61 -0
  265. package/src/components/header/header-toolbar/index.js +2 -2
  266. package/src/components/header/header-toolbar/style.scss +0 -1
  267. package/src/components/header/index.js +4 -2
  268. package/src/components/header/style.scss +6 -0
  269. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +1 -3
  270. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +2 -6
  271. package/src/components/secondary-sidebar/list-view-sidebar.js +68 -66
  272. package/src/components/secondary-sidebar/style.scss +28 -31
  273. package/src/components/visual-editor/index.js +10 -21
  274. package/src/components/visual-editor/style.scss +0 -13
  275. package/src/editor.js +1 -3
  276. package/src/index.js +3 -2
  277. package/src/style.scss +1 -1
  278. package/build/components/header/template-title/delete-template.js +0 -117
  279. package/build/components/header/template-title/delete-template.js.map +0 -1
  280. package/build/components/header/template-title/edit-template-title.js +0 -95
  281. package/build/components/header/template-title/edit-template-title.js.map +0 -1
  282. package/build/components/header/template-title/index.js +0 -124
  283. package/build/components/header/template-title/index.js.map +0 -1
  284. package/build/components/header/template-title/template-description.js +0 -55
  285. package/build/components/header/template-title/template-description.js.map +0 -1
  286. package/build-module/components/header/template-title/delete-template.js +0 -104
  287. package/build-module/components/header/template-title/delete-template.js.map +0 -1
  288. package/build-module/components/header/template-title/edit-template-title.js +0 -83
  289. package/build-module/components/header/template-title/edit-template-title.js.map +0 -1
  290. package/build-module/components/header/template-title/index.js +0 -105
  291. package/build-module/components/header/template-title/index.js.map +0 -1
  292. package/build-module/components/header/template-title/template-description.js +0 -45
  293. package/build-module/components/header/template-title/template-description.js.map +0 -1
  294. package/src/components/header/template-title/delete-template.js +0 -106
  295. package/src/components/header/template-title/edit-template-title.js +0 -78
  296. package/src/components/header/template-title/index.js +0 -115
  297. package/src/components/header/template-title/style.scss +0 -94
  298. package/src/components/header/template-title/template-description.js +0 -42
@@ -21,10 +21,6 @@ var _data = require("@wordpress/data");
21
21
 
22
22
  var _compose = require("@wordpress/compose");
23
23
 
24
- var _icons = require("@wordpress/icons");
25
-
26
- var _i18n = require("@wordpress/i18n");
27
-
28
24
  var _blocks = require("@wordpress/blocks");
29
25
 
30
26
  var _coreData = require("@wordpress/core-data");
@@ -44,14 +40,13 @@ var _store = require("../../store");
44
40
  */
45
41
  const isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;
46
42
 
47
- function MaybeIframe(_ref) {
48
- let {
49
- children,
50
- contentRef,
51
- shouldIframe,
52
- styles,
53
- style
54
- } = _ref;
43
+ function MaybeIframe({
44
+ children,
45
+ contentRef,
46
+ shouldIframe,
47
+ styles,
48
+ style
49
+ }) {
55
50
  const ref = (0, _blockEditor.__unstableUseMouseMoveTypingReset)();
56
51
 
57
52
  if (!shouldIframe) {
@@ -108,10 +103,9 @@ function getPostContentAttributes(blocks) {
108
103
  }
109
104
  }
110
105
 
111
- function VisualEditor(_ref2) {
112
- let {
113
- styles
114
- } = _ref2;
106
+ function VisualEditor({
107
+ styles
108
+ }) {
115
109
  const {
116
110
  deviceType,
117
111
  isWelcomeGuideVisible,
@@ -120,7 +114,8 @@ function VisualEditor(_ref2) {
120
114
  editedPostTemplate = {},
121
115
  wrapperBlockName,
122
116
  wrapperUniqueId,
123
- isBlockBasedTheme
117
+ isBlockBasedTheme,
118
+ hasV3BlocksOnly
124
119
  } = (0, _data.useSelect)(select => {
125
120
  const {
126
121
  isFeatureActive,
@@ -133,6 +128,9 @@ function VisualEditor(_ref2) {
133
128
  getCurrentPostType,
134
129
  getEditorSettings
135
130
  } = select(_editor.store);
131
+ const {
132
+ getBlockTypes
133
+ } = select(_blocks.store);
136
134
 
137
135
  const _isTemplateMode = isEditingTemplate();
138
136
 
@@ -157,7 +155,10 @@ function VisualEditor(_ref2) {
157
155
  editedPostTemplate: supportsTemplateMode && canEditTemplate ? getEditedPostTemplate() : undefined,
158
156
  wrapperBlockName: _wrapperBlockName,
159
157
  wrapperUniqueId: getCurrentPostId(),
160
- isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme
158
+ isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,
159
+ hasV3BlocksOnly: getBlockTypes().every(type => {
160
+ return type.apiVersion >= 3;
161
+ })
161
162
  };
162
163
  }, []);
163
164
  const {
@@ -170,23 +171,15 @@ function VisualEditor(_ref2) {
170
171
  themeHasDisabledLayoutStyles,
171
172
  themeSupportsLayout
172
173
  } = (0, _data.useSelect)(select => {
173
- var _settings$__experimen;
174
-
175
174
  const _settings = select(_blockEditor.store).getSettings();
176
175
 
177
176
  return {
178
177
  themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
179
178
  themeSupportsLayout: _settings.supportsLayout,
180
179
  isFocusMode: _settings.focusMode,
181
- hasRootPaddingAwareAlignments: (_settings$__experimen = _settings.__experimentalFeatures) === null || _settings$__experimen === void 0 ? void 0 : _settings$__experimen.useRootPaddingAwareAlignments
180
+ hasRootPaddingAwareAlignments: _settings.__experimentalFeatures?.useRootPaddingAwareAlignments
182
181
  };
183
182
  }, []);
184
- const {
185
- clearSelectedBlock
186
- } = (0, _data.useDispatch)(_blockEditor.store);
187
- const {
188
- setIsEditingTemplate
189
- } = (0, _data.useDispatch)(_store.store);
190
183
  const desktopCanvasStyles = {
191
184
  height: '100%',
192
185
  width: '100%',
@@ -244,20 +237,20 @@ function VisualEditor(_ref2) {
244
237
  };
245
238
  }, [isTemplateMode, themeSupportsLayout, globalLayoutSettings]);
246
239
  const newestPostContentAttributes = (0, _element.useMemo)(() => {
247
- if (!(editedPostTemplate !== null && editedPostTemplate !== void 0 && editedPostTemplate.content) && !(editedPostTemplate !== null && editedPostTemplate !== void 0 && editedPostTemplate.blocks)) {
240
+ if (!editedPostTemplate?.content && !editedPostTemplate?.blocks) {
248
241
  return postContentAttributes;
249
242
  } // When in template editing mode, we can access the blocks directly.
250
243
 
251
244
 
252
- if (editedPostTemplate !== null && editedPostTemplate !== void 0 && editedPostTemplate.blocks) {
253
- return getPostContentAttributes(editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks);
245
+ if (editedPostTemplate?.blocks) {
246
+ return getPostContentAttributes(editedPostTemplate?.blocks);
254
247
  } // If there are no blocks, we have to parse the content string.
255
248
  // Best double-check it's a string otherwise the parse function gets unhappy.
256
249
 
257
250
 
258
- const parseableContent = typeof (editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content) === 'string' ? editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content : '';
251
+ const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
259
252
  return getPostContentAttributes((0, _blocks.parse)(parseableContent)) || {};
260
- }, [editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content, editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks, postContentAttributes]);
253
+ }, [editedPostTemplate?.content, editedPostTemplate?.blocks, postContentAttributes]);
261
254
  const {
262
255
  layout = {},
263
256
  align = ''
@@ -269,26 +262,24 @@ function VisualEditor(_ref2) {
269
262
  const postContentLayoutStyles = (0, _blockEditor.__experimentaluseLayoutStyles)(newestPostContentAttributes, 'core/post-content', '.block-editor-block-list__layout.is-root-container'); // Update type for blocks using legacy layouts.
270
263
 
271
264
  const postContentLayout = (0, _element.useMemo)(() => {
272
- return layout && ((layout === null || layout === void 0 ? void 0 : layout.type) === 'constrained' || layout !== null && layout !== void 0 && layout.inherit || layout !== null && layout !== void 0 && layout.contentSize || layout !== null && layout !== void 0 && layout.wideSize) ? { ...globalLayoutSettings,
265
+ return layout && (layout?.type === 'constrained' || layout?.inherit || layout?.contentSize || layout?.wideSize) ? { ...globalLayoutSettings,
273
266
  ...layout,
274
267
  type: 'constrained'
275
268
  } : { ...globalLayoutSettings,
276
269
  ...layout,
277
270
  type: 'default'
278
271
  };
279
- }, [layout === null || layout === void 0 ? void 0 : layout.type, layout === null || layout === void 0 ? void 0 : layout.inherit, layout === null || layout === void 0 ? void 0 : layout.contentSize, layout === null || layout === void 0 ? void 0 : layout.wideSize, globalLayoutSettings]); // If there is a Post Content block we use its layout for the block list;
272
+ }, [layout?.type, layout?.inherit, layout?.contentSize, layout?.wideSize, globalLayoutSettings]); // If there is a Post Content block we use its layout for the block list;
280
273
  // if not, this must be a classic theme, in which case we use the fallback layout.
281
274
 
282
275
  const blockListLayout = postContentAttributes ? postContentLayout : fallbackLayout;
283
276
  const titleRef = (0, _element.useRef)();
284
277
  (0, _element.useEffect)(() => {
285
- var _titleRef$current;
286
-
287
278
  if (isWelcomeGuideVisible || !isCleanNewPost()) {
288
279
  return;
289
280
  }
290
281
 
291
- titleRef === null || titleRef === void 0 ? void 0 : (_titleRef$current = titleRef.current) === null || _titleRef$current === void 0 ? void 0 : _titleRef$current.focus();
282
+ titleRef?.current?.focus();
292
283
  }, [isWelcomeGuideVisible, isCleanNewPost]);
293
284
  styles = (0, _element.useMemo)(() => [...styles, {
294
285
  // We should move this in to future to the body.
@@ -310,31 +301,24 @@ function VisualEditor(_ref2) {
310
301
  padding: isTemplateMode ? '48px 48px 0' : 0
311
302
  },
312
303
  ref: blockSelectionClearerRef
313
- }, isTemplateMode && (0, _element.createElement)(_components.Button, {
314
- className: "edit-post-visual-editor__exit-template-mode",
315
- icon: _icons.arrowLeft,
316
- onClick: () => {
317
- clearSelectedBlock();
318
- setIsEditingTemplate(false);
319
- }
320
- }, (0, _i18n.__)('Back')), (0, _element.createElement)(_components.__unstableMotion.div, {
304
+ }, (0, _element.createElement)(_components.__unstableMotion.div, {
321
305
  animate: animatedStyles,
322
306
  initial: desktopCanvasStyles,
323
307
  className: previewMode
324
308
  }, (0, _element.createElement)(MaybeIframe, {
325
- shouldIframe: isGutenbergPlugin && isBlockBasedTheme && !hasMetaBoxes || isTemplateMode || deviceType === 'Tablet' || deviceType === 'Mobile',
309
+ shouldIframe: (hasV3BlocksOnly || isGutenbergPlugin && isBlockBasedTheme) && !hasMetaBoxes || isTemplateMode || deviceType === 'Tablet' || deviceType === 'Mobile',
326
310
  contentRef: contentRef,
327
311
  styles: styles
328
312
  }, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
329
313
  selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
330
314
  layout: fallbackLayout,
331
- layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
315
+ layoutDefinitions: globalLayoutSettings?.definitions
332
316
  }), align && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
333
317
  css: alignCSS
334
318
  }), postContentLayoutStyles && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
335
319
  layout: postContentLayout,
336
320
  css: postContentLayoutStyles,
337
- layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
321
+ layoutDefinitions: globalLayoutSettings?.definitions
338
322
  })), !isTemplateMode && (0, _element.createElement)("div", {
339
323
  className: (0, _classnames.default)('edit-post-visual-editor__post-title-wrapper', {
340
324
  'is-focus-mode': isFocusMode,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","getEditorSettings","editorStore","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","coreStore","canUser","undefined","__unstableIsBlockBasedTheme","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","alignCSS","padding","arrowLeft","definitions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\n\nfunction MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tisFocusMode,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst globalLayoutSettings = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : 0,\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\t( isGutenbergPlugin &&\n\t\t\t\t\t\t\t\tisBlockBasedTheme &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ align && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle css={ alignCSS } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\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) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\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\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t</BlockTools>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","hasV3BlocksOnly","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","getEditorSettings","editorStore","getBlockTypes","blocksStore","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","coreStore","canUser","undefined","__unstableIsBlockBasedTheme","every","type","apiVersion","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","newestPostContentAttributes","content","parseableContent","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","alignCSS","padding","definitions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { parse, store as blocksStore } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\n\nfunction MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t\thasV3BlocksOnly,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t\thasV3BlocksOnly: getBlockTypes().every( ( type ) => {\n\t\t\t\treturn type.apiVersion >= 3;\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tisFocusMode,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t};\n\t}, [] );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst globalLayoutSettings = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : 0,\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\t( ( hasV3BlocksOnly ||\n\t\t\t\t\t\t\t\t( isGutenbergPlugin && isBlockBasedTheme ) ) &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ align && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle css={ alignCSS } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\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) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\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\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t</BlockTools>\n\t);\n}\n"]}
@@ -7,11 +7,10 @@ exports.default = WelcomeGuideImage;
7
7
 
8
8
  var _element = require("@wordpress/element");
9
9
 
10
- function WelcomeGuideImage(_ref) {
11
- let {
12
- nonAnimatedSrc,
13
- animatedSrc
14
- } = _ref;
10
+ function WelcomeGuideImage({
11
+ nonAnimatedSrc,
12
+ animatedSrc
13
+ }) {
15
14
  return (0, _element.createElement)("picture", {
16
15
  className: "edit-post-welcome-guide__image"
17
16
  }, (0, _element.createElement)("source", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/welcome-guide/image.js"],"names":["WelcomeGuideImage","nonAnimatedSrc","animatedSrc"],"mappings":";;;;;;;;;AAAe,SAASA,iBAAT,OAA8D;AAAA,MAAlC;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,GAAkC;AAC5E,SACC;AAAS,IAAA,SAAS,EAAC;AAAnB,KACC;AACC,IAAA,MAAM,EAAGD,cADV;AAEC,IAAA,KAAK,EAAC;AAFP,IADD,EAKC;AAAK,IAAA,GAAG,EAAGC,WAAX;AAAyB,IAAA,KAAK,EAAC,KAA/B;AAAqC,IAAA,MAAM,EAAC,KAA5C;AAAkD,IAAA,GAAG,EAAC;AAAtD,IALD,CADD;AASA","sourcesContent":["export default function WelcomeGuideImage( { nonAnimatedSrc, animatedSrc } ) {\n\treturn (\n\t\t<picture className=\"edit-post-welcome-guide__image\">\n\t\t\t<source\n\t\t\t\tsrcSet={ nonAnimatedSrc }\n\t\t\t\tmedia=\"(prefers-reduced-motion: reduce)\"\n\t\t\t/>\n\t\t\t<img src={ animatedSrc } width=\"312\" height=\"240\" alt=\"\" />\n\t\t</picture>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/welcome-guide/image.js"],"names":["WelcomeGuideImage","nonAnimatedSrc","animatedSrc"],"mappings":";;;;;;;;;AAAe,SAASA,iBAAT,CAA4B;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAA5B,EAA8D;AAC5E,SACC;AAAS,IAAA,SAAS,EAAC;AAAnB,KACC;AACC,IAAA,MAAM,EAAGD,cADV;AAEC,IAAA,KAAK,EAAC;AAFP,IADD,EAKC;AAAK,IAAA,GAAG,EAAGC,WAAX;AAAyB,IAAA,KAAK,EAAC,KAA/B;AAAqC,IAAA,MAAM,EAAC,KAA5C;AAAkD,IAAA,GAAG,EAAC;AAAtD,IALD,CADD;AASA","sourcesContent":["export default function WelcomeGuideImage( { nonAnimatedSrc, animatedSrc } ) {\n\treturn (\n\t\t<picture className=\"edit-post-welcome-guide__image\">\n\t\t\t<source\n\t\t\t\tsrcSet={ nonAnimatedSrc }\n\t\t\t\tmedia=\"(prefers-reduced-motion: reduce)\"\n\t\t\t/>\n\t\t\t<img src={ animatedSrc } width=\"312\" height=\"240\" alt=\"\" />\n\t\t</picture>\n\t);\n}\n"]}
package/build/editor.js CHANGED
@@ -51,16 +51,13 @@ const {
51
51
  useCommands
52
52
  } = (0, _privateApis.unlock)(_coreCommands.privateApis);
53
53
 
54
- function Editor(_ref) {
55
- var _window;
56
-
57
- let {
58
- postId,
59
- postType,
60
- settings,
61
- initialEdits,
62
- ...props
63
- } = _ref;
54
+ function Editor({
55
+ postId,
56
+ postType,
57
+ settings,
58
+ initialEdits,
59
+ ...props
60
+ }) {
64
61
  useCommands();
65
62
  const {
66
63
  hasFixedToolbar,
@@ -76,7 +73,7 @@ function Editor(_ref) {
76
73
  isTemplateMode,
77
74
  template
78
75
  } = (0, _data.useSelect)(select => {
79
- var _getPostType$viewable, _getPostType;
76
+ var _getPostType$viewable;
80
77
 
81
78
  const {
82
79
  isFeatureActive,
@@ -106,13 +103,13 @@ function Editor(_ref) {
106
103
  const posts = getEntityRecords('postType', postType, {
107
104
  wp_id: postId
108
105
  });
109
- postObject = posts === null || posts === void 0 ? void 0 : posts[0];
106
+ postObject = posts?.[0];
110
107
  } else {
111
108
  postObject = getEntityRecord('postType', postType, postId);
112
109
  }
113
110
 
114
111
  const supportsTemplateMode = getEditorSettings().supportsTemplateMode;
115
- const isViewable = (_getPostType$viewable = (_getPostType = getPostType(postType)) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
112
+ const isViewable = (_getPostType$viewable = getPostType(postType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
116
113
  const canEditTemplate = canUser('create', 'templates');
117
114
  return {
118
115
  hasFixedToolbar: isFeatureActive('fixedToolbar') || __experimentalGetPreviewDeviceType() !== 'Desktop',
@@ -155,23 +152,18 @@ function Editor(_ref) {
155
152
  // Defer to passed setting for `allowedBlockTypes` if provided as
156
153
  // anything other than `true` (where `true` is equivalent to allow
157
154
  // all block types).
158
- const defaultAllowedBlockTypes = true === settings.allowedBlockTypes ? blockTypes.map(_ref2 => {
159
- let {
160
- name
161
- } = _ref2;
162
- return name;
163
- }) : settings.allowedBlockTypes || [];
155
+ const defaultAllowedBlockTypes = true === settings.allowedBlockTypes ? blockTypes.map(({
156
+ name
157
+ }) => name) : settings.allowedBlockTypes || [];
164
158
  result.allowedBlockTypes = defaultAllowedBlockTypes.filter(type => !hiddenBlockTypes.includes(type));
165
159
  }
166
160
 
167
161
  return result;
168
162
  }, [settings, hasFixedToolbar, hasInlineToolbar, focusMode, isDistractionFree, hiddenBlockTypes, blockTypes, preferredStyleVariations, setIsInserterOpened, updatePreferredStyleVariations, keepCaretInsideBlock]);
169
163
  const styles = (0, _element.useMemo)(() => {
170
- var _settings$styles;
171
-
172
164
  const themeStyles = [];
173
165
  const presetStyles = [];
174
- (_settings$styles = settings.styles) === null || _settings$styles === void 0 ? void 0 : _settings$styles.forEach(style => {
166
+ settings.styles?.forEach(style => {
175
167
  if (!style.__unstableType || style.__unstableType === 'theme') {
176
168
  themeStyles.push(style);
177
169
  } else {
@@ -192,7 +184,7 @@ function Editor(_ref) {
192
184
  initialEdits: initialEdits,
193
185
  useSubRegistry: false,
194
186
  __unstableTemplate: isTemplateMode ? template : undefined
195
- }, props), (0, _element.createElement)(_editor.ErrorBoundary, null, ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableCommandCenter) && (0, _element.createElement)(_commands.CommandMenu, null), (0, _element.createElement)(_editorInitialization.default, {
187
+ }, props), (0, _element.createElement)(_editor.ErrorBoundary, null, (0, _element.createElement)(_commands.CommandMenu, null), (0, _element.createElement)(_editorInitialization.default, {
196
188
  postId: postId
197
189
  }), (0, _element.createElement)(_layout.default, {
198
190
  styles: styles
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["ExperimentalEditorProvider","editorPrivateApis","useCommands","coreCommandsPrivateApis","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","editPostStore","getEntityRecord","getPostType","getEntityRecords","canUser","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","preferencesStore","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","undefined","window","__experimentalEnableCommandCenter"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './private-apis';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\n\nfunction Editor( { postId, postType, settings, initialEdits, ...props } ) {\n\tuseCommands();\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasInlineToolbar,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\tisDistractionFree: isFeatureActive( 'distractionFree' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tisDistractionFree,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\thasInlineToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<ExperimentalEditorProvider\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\tpost={ post }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t__unstableTemplate={ isTemplateMode ? template : undefined }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t{ window?.__experimentalEnableCommandCenter && (\n\t\t\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t<PostLockedModal />\n\t\t\t\t</ExperimentalEditorProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["ExperimentalEditorProvider","editorPrivateApis","useCommands","coreCommandsPrivateApis","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","editPostStore","getEntityRecord","getPostType","getEntityRecords","canUser","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","preferencesStore","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './private-apis';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\n\nfunction Editor( { postId, postType, settings, initialEdits, ...props } ) {\n\tuseCommands();\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasInlineToolbar,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\tisDistractionFree: isFeatureActive( 'distractionFree' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tisDistractionFree,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\thasInlineToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<ExperimentalEditorProvider\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\tpost={ post }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t__unstableTemplate={ isTemplateMode ? template : undefined }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t<PostLockedModal />\n\t\t\t\t</ExperimentalEditorProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n\nexport default Editor;\n"]}
@@ -84,12 +84,9 @@ class Editor extends _element.Component {
84
84
  // all block types).
85
85
 
86
86
 
87
- const defaultAllowedBlockTypes = true === settings.allowedBlockTypes ? blockTypes.map(_ref => {
88
- let {
89
- name
90
- } = _ref;
91
- return name;
92
- }) : settings.allowedBlockTypes || [];
87
+ const defaultAllowedBlockTypes = true === settings.allowedBlockTypes ? blockTypes.map(({
88
+ name
89
+ }) => name) : settings.allowedBlockTypes || [];
93
90
  settings.allowedBlockTypes = defaultAllowedBlockTypes.filter(type => !hiddenBlockTypes.includes(type));
94
91
  }
95
92
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/editor.native.js"],"names":["Editor","Component","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hasFixedToolbar","focusMode","hiddenBlockTypes","blockTypes","isRTL","I18nManager","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","subscribeFeaturedImageIdNativeUpdated","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","flex","select","isFeatureActive","getEditorMode","__experimentalGetPreviewDeviceType","getHiddenBlockTypes","editPostStore","getBlockTypes","blocksStore","dispatch","coreStore"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings(\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thiddenBlockTypes,\n\t\tblockTypes\n\t) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetEditorMode,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetHiddenBlockTypes,\n\t\t} = select( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/editor.native.js"],"names":["Editor","Component","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hasFixedToolbar","focusMode","hiddenBlockTypes","blockTypes","isRTL","I18nManager","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","subscribeFeaturedImageIdNativeUpdated","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","flex","select","isFeatureActive","getEditorMode","__experimentalGetPreviewDeviceType","getHiddenBlockTypes","editPostStore","getBlockTypes","blocksStore","dispatch","coreStore"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings(\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thiddenBlockTypes,\n\t\tblockTypes\n\t) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetEditorMode,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetHiddenBlockTypes,\n\t\t} = select( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"]}