@wordpress/editor 14.13.1-next.cd6172eb0.0 → 14.15.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 (478) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -0
  4. package/build/bindings/pattern-overrides.js +1 -0
  5. package/build/bindings/pattern-overrides.js.map +1 -1
  6. package/build/bindings/post-meta.js +1 -0
  7. package/build/bindings/post-meta.js.map +1 -1
  8. package/build/components/autocompleters/user.js +1 -0
  9. package/build/components/autocompleters/user.js.map +1 -1
  10. package/build/components/block-removal-warnings/index.js +1 -0
  11. package/build/components/block-removal-warnings/index.js.map +1 -1
  12. package/build/components/block-settings-menu/content-only-settings-menu.js +1 -0
  13. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  14. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  15. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  16. package/build/components/collab-sidebar/add-comment.js +1 -1
  17. package/build/components/collab-sidebar/add-comment.js.map +1 -1
  18. package/build/components/collab-sidebar/comment-button.js +7 -2
  19. package/build/components/collab-sidebar/comment-button.js.map +1 -1
  20. package/build/components/collab-sidebar/comment-form.js +4 -1
  21. package/build/components/collab-sidebar/comment-form.js.map +1 -1
  22. package/build/components/collab-sidebar/comments.js +199 -185
  23. package/build/components/collab-sidebar/comments.js.map +1 -1
  24. package/build/components/collab-sidebar/index.js +11 -4
  25. package/build/components/collab-sidebar/index.js.map +1 -1
  26. package/build/components/collab-sidebar/utils.js +1 -0
  27. package/build/components/collab-sidebar/utils.js.map +1 -1
  28. package/build/components/commands/index.js +28 -0
  29. package/build/components/commands/index.js.map +1 -1
  30. package/build/components/deprecated.js +1 -0
  31. package/build/components/deprecated.js.map +1 -1
  32. package/build/components/document-bar/index.js +5 -2
  33. package/build/components/document-bar/index.js.map +1 -1
  34. package/build/components/document-outline/index.js +1 -0
  35. package/build/components/document-outline/index.js.map +1 -1
  36. package/build/components/document-tools/index.js +3 -6
  37. package/build/components/document-tools/index.js.map +1 -1
  38. package/build/components/editor-help/index.native.js +1 -0
  39. package/build/components/editor-help/index.native.js.map +1 -1
  40. package/build/components/editor-help/intro-to-blocks.native.js +1 -1
  41. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  42. package/build/components/editor-notices/index.js +1 -0
  43. package/build/components/editor-notices/index.js.map +1 -1
  44. package/build/components/editor-snackbars/index.js +1 -0
  45. package/build/components/editor-snackbars/index.js.map +1 -1
  46. package/build/components/entities-saved-states/entity-type-list.js +1 -0
  47. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  48. package/build/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  49. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  50. package/build/components/entities-saved-states/index.js +3 -1
  51. package/build/components/entities-saved-states/index.js.map +1 -1
  52. package/build/components/error-boundary/index.js +26 -13
  53. package/build/components/error-boundary/index.js.map +1 -1
  54. package/build/components/error-boundary/index.native.js +1 -1
  55. package/build/components/error-boundary/index.native.js.map +1 -1
  56. package/build/components/keyboard-shortcut-help-modal/index.js +1 -0
  57. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  58. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  59. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  60. package/build/components/list-view-sidebar/index.js +1 -0
  61. package/build/components/list-view-sidebar/index.js.map +1 -1
  62. package/build/components/local-autosave-monitor/index.js +1 -0
  63. package/build/components/local-autosave-monitor/index.js.map +1 -1
  64. package/build/components/mode-switcher/index.js +1 -0
  65. package/build/components/mode-switcher/index.js.map +1 -1
  66. package/build/components/more-menu/index.js +0 -1
  67. package/build/components/more-menu/index.js.map +1 -1
  68. package/build/components/page-attributes/parent.js +1 -0
  69. package/build/components/page-attributes/parent.js.map +1 -1
  70. package/build/components/post-actions/actions.js +10 -4
  71. package/build/components/post-actions/actions.js.map +1 -1
  72. package/build/components/post-actions/index.js +80 -91
  73. package/build/components/post-actions/index.js.map +1 -1
  74. package/build/components/post-actions/set-as-homepage.js +23 -34
  75. package/build/components/post-actions/set-as-homepage.js.map +1 -1
  76. package/build/components/post-actions/set-as-posts-page.js +154 -0
  77. package/build/components/post-actions/set-as-posts-page.js.map +1 -0
  78. package/build/components/post-author/hook.js +1 -0
  79. package/build/components/post-author/hook.js.map +1 -1
  80. package/build/components/post-card-panel/index.js +64 -24
  81. package/build/components/post-card-panel/index.js.map +1 -1
  82. package/build/components/post-fields/index.js +1 -0
  83. package/build/components/post-fields/index.js.map +1 -1
  84. package/build/components/post-format/index.js +1 -0
  85. package/build/components/post-format/index.js.map +1 -1
  86. package/build/components/post-format/panel.js +1 -0
  87. package/build/components/post-format/panel.js.map +1 -1
  88. package/build/components/post-publish-button/index.js +1 -0
  89. package/build/components/post-publish-button/index.js.map +1 -1
  90. package/build/components/post-publish-panel/maybe-category-panel.js +1 -0
  91. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  92. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  93. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  94. package/build/components/post-publish-panel/maybe-upload-media.js +2 -1
  95. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  96. package/build/components/post-publish-panel/media-util.js +1 -0
  97. package/build/components/post-publish-panel/media-util.js.map +1 -1
  98. package/build/components/post-publish-panel/prepublish.js +1 -1
  99. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  100. package/build/components/post-saved-state/index.js +1 -0
  101. package/build/components/post-saved-state/index.js.map +1 -1
  102. package/build/components/post-schedule/index.js +1 -0
  103. package/build/components/post-schedule/index.js.map +1 -1
  104. package/build/components/post-taxonomies/flat-term-selector.js +1 -0
  105. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  106. package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  107. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  108. package/build/components/post-taxonomies/index.js +1 -0
  109. package/build/components/post-taxonomies/index.js.map +1 -1
  110. package/build/components/post-taxonomies/most-used-terms.js +1 -0
  111. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  112. package/build/components/post-template/classic-theme.js +1 -0
  113. package/build/components/post-template/classic-theme.js.map +1 -1
  114. package/build/components/post-template/swap-template-button.js +1 -0
  115. package/build/components/post-template/swap-template-button.js.map +1 -1
  116. package/build/components/post-transform-panel/hooks.js +1 -0
  117. package/build/components/post-transform-panel/hooks.js.map +1 -1
  118. package/build/components/post-type-support-check/index.js +1 -0
  119. package/build/components/post-type-support-check/index.js.map +1 -1
  120. package/build/components/preferences-modal/block-visibility.js +1 -0
  121. package/build/components/preferences-modal/block-visibility.js.map +1 -1
  122. package/build/components/preferences-modal/index.js +3 -4
  123. package/build/components/preferences-modal/index.js.map +1 -1
  124. package/build/components/preview-dropdown/index.js +0 -1
  125. package/build/components/preview-dropdown/index.js.map +1 -1
  126. package/build/components/provider/disable-non-page-content-blocks.js +66 -13
  127. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  128. package/build/components/provider/index.js +9 -13
  129. package/build/components/provider/index.js.map +1 -1
  130. package/build/components/provider/index.native.js +1 -0
  131. package/build/components/provider/index.native.js.map +1 -1
  132. package/build/components/provider/use-block-editor-settings.js +4 -1
  133. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  134. package/build/components/sidebar/index.js +1 -0
  135. package/build/components/sidebar/index.js.map +1 -1
  136. package/build/components/start-page-options/index.js +20 -106
  137. package/build/components/start-page-options/index.js.map +1 -1
  138. package/build/components/start-template-options/index.js +1 -0
  139. package/build/components/start-template-options/index.js.map +1 -1
  140. package/build/components/template-part-content-panel/index.js +1 -0
  141. package/build/components/template-part-content-panel/index.js.map +1 -1
  142. package/build/components/template-part-menu-items/index.js +2 -10
  143. package/build/components/template-part-menu-items/index.js.map +1 -1
  144. package/build/components/theme-support-check/index.js +1 -0
  145. package/build/components/theme-support-check/index.js.map +1 -1
  146. package/build/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  147. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  148. package/build/dataviews/store/private-actions.js +16 -2
  149. package/build/dataviews/store/private-actions.js.map +1 -1
  150. package/build/dataviews/store/reducer.js +1 -0
  151. package/build/dataviews/store/reducer.js.map +1 -1
  152. package/build/hooks/custom-sources-backwards-compatibility.js +1 -0
  153. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  154. package/build/hooks/pattern-overrides.js +1 -0
  155. package/build/hooks/pattern-overrides.js.map +1 -1
  156. package/build/store/actions.js +1 -2
  157. package/build/store/actions.js.map +1 -1
  158. package/build/store/constants.js +1 -3
  159. package/build/store/constants.js.map +1 -1
  160. package/build/store/private-actions.js +2 -1
  161. package/build/store/private-actions.js.map +1 -1
  162. package/build/store/private-selectors.js +1 -0
  163. package/build/store/private-selectors.js.map +1 -1
  164. package/build/store/reducer.js +1 -0
  165. package/build/store/reducer.js.map +1 -1
  166. package/build/store/reducer.native.js +1 -0
  167. package/build/store/reducer.native.js.map +1 -1
  168. package/build/store/selectors.js +1 -0
  169. package/build/store/selectors.js.map +1 -1
  170. package/build/store/utils/notice-builder.js +3 -8
  171. package/build/store/utils/notice-builder.js.map +1 -1
  172. package/build/utils/get-item-title.js +32 -0
  173. package/build/utils/get-item-title.js.map +1 -0
  174. package/build/utils/get-template-info.js +1 -0
  175. package/build/utils/get-template-info.js.map +1 -1
  176. package/build/utils/media-sideload/index.js +21 -0
  177. package/build/utils/media-sideload/index.js.map +1 -0
  178. package/build/utils/media-sideload/index.native.js +8 -0
  179. package/build/utils/media-sideload/index.native.js.map +1 -0
  180. package/build/utils/media-upload/index.js +5 -2
  181. package/build/utils/media-upload/index.js.map +1 -1
  182. package/build/utils/pageTypeBadge.js +6 -12
  183. package/build/utils/pageTypeBadge.js.map +1 -1
  184. package/build/utils/terms.js +1 -0
  185. package/build/utils/terms.js.map +1 -1
  186. package/build-module/bindings/pattern-overrides.js +1 -0
  187. package/build-module/bindings/pattern-overrides.js.map +1 -1
  188. package/build-module/bindings/post-meta.js +1 -0
  189. package/build-module/bindings/post-meta.js.map +1 -1
  190. package/build-module/components/autocompleters/user.js +1 -0
  191. package/build-module/components/autocompleters/user.js.map +1 -1
  192. package/build-module/components/block-removal-warnings/index.js +1 -0
  193. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  194. package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -0
  195. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  196. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  197. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  198. package/build-module/components/collab-sidebar/add-comment.js +1 -1
  199. package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
  200. package/build-module/components/collab-sidebar/comment-button.js +7 -2
  201. package/build-module/components/collab-sidebar/comment-button.js.map +1 -1
  202. package/build-module/components/collab-sidebar/comment-form.js +4 -1
  203. package/build-module/components/collab-sidebar/comment-form.js.map +1 -1
  204. package/build-module/components/collab-sidebar/comments.js +201 -187
  205. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  206. package/build-module/components/collab-sidebar/index.js +11 -4
  207. package/build-module/components/collab-sidebar/index.js.map +1 -1
  208. package/build-module/components/collab-sidebar/utils.js +1 -0
  209. package/build-module/components/collab-sidebar/utils.js.map +1 -1
  210. package/build-module/components/commands/index.js +28 -0
  211. package/build-module/components/commands/index.js.map +1 -1
  212. package/build-module/components/deprecated.js +1 -0
  213. package/build-module/components/deprecated.js.map +1 -1
  214. package/build-module/components/document-bar/index.js +5 -2
  215. package/build-module/components/document-bar/index.js.map +1 -1
  216. package/build-module/components/document-outline/index.js +1 -0
  217. package/build-module/components/document-outline/index.js.map +1 -1
  218. package/build-module/components/document-tools/index.js +4 -7
  219. package/build-module/components/document-tools/index.js.map +1 -1
  220. package/build-module/components/editor-help/index.native.js +1 -0
  221. package/build-module/components/editor-help/index.native.js.map +1 -1
  222. package/build-module/components/editor-help/intro-to-blocks.native.js +1 -1
  223. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  224. package/build-module/components/editor-notices/index.js +1 -0
  225. package/build-module/components/editor-notices/index.js.map +1 -1
  226. package/build-module/components/editor-snackbars/index.js +1 -0
  227. package/build-module/components/editor-snackbars/index.js.map +1 -1
  228. package/build-module/components/entities-saved-states/entity-type-list.js +1 -0
  229. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  230. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  231. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  232. package/build-module/components/entities-saved-states/index.js +3 -1
  233. package/build-module/components/entities-saved-states/index.js.map +1 -1
  234. package/build-module/components/error-boundary/index.js +28 -15
  235. package/build-module/components/error-boundary/index.js.map +1 -1
  236. package/build-module/components/error-boundary/index.native.js +2 -2
  237. package/build-module/components/error-boundary/index.native.js.map +1 -1
  238. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -0
  239. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  240. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  241. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  242. package/build-module/components/list-view-sidebar/index.js +1 -0
  243. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  244. package/build-module/components/local-autosave-monitor/index.js +1 -0
  245. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  246. package/build-module/components/mode-switcher/index.js +1 -0
  247. package/build-module/components/mode-switcher/index.js.map +1 -1
  248. package/build-module/components/more-menu/index.js +0 -1
  249. package/build-module/components/more-menu/index.js.map +1 -1
  250. package/build-module/components/page-attributes/parent.js +1 -0
  251. package/build-module/components/page-attributes/parent.js.map +1 -1
  252. package/build-module/components/post-actions/actions.js +10 -4
  253. package/build-module/components/post-actions/actions.js.map +1 -1
  254. package/build-module/components/post-actions/index.js +81 -93
  255. package/build-module/components/post-actions/index.js.map +1 -1
  256. package/build-module/components/post-actions/set-as-homepage.js +22 -33
  257. package/build-module/components/post-actions/set-as-homepage.js.map +1 -1
  258. package/build-module/components/post-actions/set-as-posts-page.js +146 -0
  259. package/build-module/components/post-actions/set-as-posts-page.js.map +1 -0
  260. package/build-module/components/post-author/hook.js +1 -0
  261. package/build-module/components/post-author/hook.js.map +1 -1
  262. package/build-module/components/post-card-panel/index.js +66 -26
  263. package/build-module/components/post-card-panel/index.js.map +1 -1
  264. package/build-module/components/post-fields/index.js +1 -0
  265. package/build-module/components/post-fields/index.js.map +1 -1
  266. package/build-module/components/post-format/index.js +1 -0
  267. package/build-module/components/post-format/index.js.map +1 -1
  268. package/build-module/components/post-format/panel.js +1 -0
  269. package/build-module/components/post-format/panel.js.map +1 -1
  270. package/build-module/components/post-publish-button/index.js +1 -0
  271. package/build-module/components/post-publish-button/index.js.map +1 -1
  272. package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -0
  273. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  274. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  275. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  276. package/build-module/components/post-publish-panel/maybe-upload-media.js +3 -2
  277. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  278. package/build-module/components/post-publish-panel/media-util.js +1 -0
  279. package/build-module/components/post-publish-panel/media-util.js.map +1 -1
  280. package/build-module/components/post-publish-panel/prepublish.js +1 -1
  281. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  282. package/build-module/components/post-saved-state/index.js +1 -0
  283. package/build-module/components/post-saved-state/index.js.map +1 -1
  284. package/build-module/components/post-schedule/index.js +1 -0
  285. package/build-module/components/post-schedule/index.js.map +1 -1
  286. package/build-module/components/post-taxonomies/flat-term-selector.js +1 -0
  287. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  288. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  289. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  290. package/build-module/components/post-taxonomies/index.js +1 -0
  291. package/build-module/components/post-taxonomies/index.js.map +1 -1
  292. package/build-module/components/post-taxonomies/most-used-terms.js +1 -0
  293. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  294. package/build-module/components/post-template/classic-theme.js +1 -0
  295. package/build-module/components/post-template/classic-theme.js.map +1 -1
  296. package/build-module/components/post-template/swap-template-button.js +1 -0
  297. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  298. package/build-module/components/post-transform-panel/hooks.js +1 -0
  299. package/build-module/components/post-transform-panel/hooks.js.map +1 -1
  300. package/build-module/components/post-type-support-check/index.js +1 -0
  301. package/build-module/components/post-type-support-check/index.js.map +1 -1
  302. package/build-module/components/preferences-modal/block-visibility.js +1 -0
  303. package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
  304. package/build-module/components/preferences-modal/index.js +3 -4
  305. package/build-module/components/preferences-modal/index.js.map +1 -1
  306. package/build-module/components/preview-dropdown/index.js +0 -1
  307. package/build-module/components/preview-dropdown/index.js.map +1 -1
  308. package/build-module/components/provider/disable-non-page-content-blocks.js +66 -13
  309. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  310. package/build-module/components/provider/index.js +10 -14
  311. package/build-module/components/provider/index.js.map +1 -1
  312. package/build-module/components/provider/index.native.js +1 -0
  313. package/build-module/components/provider/index.native.js.map +1 -1
  314. package/build-module/components/provider/use-block-editor-settings.js +4 -1
  315. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  316. package/build-module/components/sidebar/index.js +1 -0
  317. package/build-module/components/sidebar/index.js.map +1 -1
  318. package/build-module/components/start-page-options/index.js +21 -106
  319. package/build-module/components/start-page-options/index.js.map +1 -1
  320. package/build-module/components/start-template-options/index.js +1 -0
  321. package/build-module/components/start-template-options/index.js.map +1 -1
  322. package/build-module/components/template-part-content-panel/index.js +1 -0
  323. package/build-module/components/template-part-content-panel/index.js.map +1 -1
  324. package/build-module/components/template-part-menu-items/index.js +2 -10
  325. package/build-module/components/template-part-menu-items/index.js.map +1 -1
  326. package/build-module/components/theme-support-check/index.js +1 -0
  327. package/build-module/components/theme-support-check/index.js.map +1 -1
  328. package/build-module/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  329. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  330. package/build-module/dataviews/store/private-actions.js +16 -2
  331. package/build-module/dataviews/store/private-actions.js.map +1 -1
  332. package/build-module/dataviews/store/reducer.js +1 -0
  333. package/build-module/dataviews/store/reducer.js.map +1 -1
  334. package/build-module/hooks/custom-sources-backwards-compatibility.js +1 -0
  335. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  336. package/build-module/hooks/pattern-overrides.js +1 -0
  337. package/build-module/hooks/pattern-overrides.js.map +1 -1
  338. package/build-module/store/actions.js +1 -2
  339. package/build-module/store/actions.js.map +1 -1
  340. package/build-module/store/constants.js +0 -2
  341. package/build-module/store/constants.js.map +1 -1
  342. package/build-module/store/private-actions.js +2 -1
  343. package/build-module/store/private-actions.js.map +1 -1
  344. package/build-module/store/private-selectors.js +1 -0
  345. package/build-module/store/private-selectors.js.map +1 -1
  346. package/build-module/store/reducer.js +1 -0
  347. package/build-module/store/reducer.js.map +1 -1
  348. package/build-module/store/reducer.native.js +1 -0
  349. package/build-module/store/reducer.native.js.map +1 -1
  350. package/build-module/store/selectors.js +1 -0
  351. package/build-module/store/selectors.js.map +1 -1
  352. package/build-module/store/utils/notice-builder.js +3 -8
  353. package/build-module/store/utils/notice-builder.js.map +1 -1
  354. package/build-module/utils/get-item-title.js +26 -0
  355. package/build-module/utils/get-item-title.js.map +1 -0
  356. package/build-module/utils/get-template-info.js +1 -0
  357. package/build-module/utils/get-template-info.js.map +1 -1
  358. package/build-module/utils/media-sideload/index.js +14 -0
  359. package/build-module/utils/media-sideload/index.js.map +1 -0
  360. package/build-module/utils/media-sideload/index.native.js +2 -0
  361. package/build-module/utils/media-sideload/index.native.js.map +1 -0
  362. package/build-module/utils/media-upload/index.js +5 -2
  363. package/build-module/utils/media-upload/index.js.map +1 -1
  364. package/build-module/utils/pageTypeBadge.js +6 -12
  365. package/build-module/utils/pageTypeBadge.js.map +1 -1
  366. package/build-module/utils/terms.js +1 -0
  367. package/build-module/utils/terms.js.map +1 -1
  368. package/build-style/style-rtl.css +26 -27
  369. package/build-style/style.css +26 -27
  370. package/build-types/components/autocompleters/user.d.ts +7 -1
  371. package/build-types/components/autocompleters/user.d.ts.map +1 -1
  372. package/build-types/components/collab-sidebar/comment-button.d.ts.map +1 -1
  373. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
  374. package/build-types/components/collab-sidebar/comments.d.ts +11 -7
  375. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  376. package/build-types/components/collab-sidebar/constants.d.ts.map +1 -1
  377. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  378. package/build-types/components/commands/index.d.ts.map +1 -1
  379. package/build-types/components/document-bar/index.d.ts.map +1 -1
  380. package/build-types/components/document-tools/index.d.ts.map +1 -1
  381. package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
  382. package/build-types/components/error-boundary/index.d.ts.map +1 -1
  383. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +1 -1
  384. package/build-types/components/media-categories/index.d.ts.map +1 -1
  385. package/build-types/components/more-menu/index.d.ts.map +1 -1
  386. package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -1
  387. package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -1
  388. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  389. package/build-types/components/post-actions/index.d.ts +5 -0
  390. package/build-types/components/post-actions/index.d.ts.map +1 -1
  391. package/build-types/components/post-actions/set-as-homepage.d.ts.map +1 -1
  392. package/build-types/components/post-actions/set-as-posts-page.d.ts +10 -0
  393. package/build-types/components/post-actions/set-as-posts-page.d.ts.map +1 -0
  394. package/build-types/components/post-card-panel/index.d.ts +13 -4
  395. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  396. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +4 -4
  397. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  398. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +4 -4
  399. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  400. package/build-types/components/post-title/constants.d.ts.map +1 -1
  401. package/build-types/components/preferences-modal/index.d.ts.map +1 -1
  402. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  403. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  404. package/build-types/components/provider/index.d.ts.map +1 -1
  405. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  406. package/build-types/components/start-page-options/index.d.ts +1 -2
  407. package/build-types/components/start-page-options/index.d.ts.map +1 -1
  408. package/build-types/dataviews/api.d.ts.map +1 -1
  409. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  410. package/build-types/dataviews/store/reducer.d.ts +1 -1
  411. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -1
  412. package/build-types/hooks/pattern-overrides.d.ts.map +1 -1
  413. package/build-types/store/actions.d.ts +7 -9
  414. package/build-types/store/actions.d.ts.map +1 -1
  415. package/build-types/store/constants.d.ts +0 -2
  416. package/build-types/store/constants.d.ts.map +1 -1
  417. package/build-types/store/private-actions.d.ts +1 -1
  418. package/build-types/store/private-actions.d.ts.map +1 -1
  419. package/build-types/store/private-selectors.d.ts +20 -4
  420. package/build-types/store/private-selectors.d.ts.map +1 -1
  421. package/build-types/store/reducer.d.ts +1 -1
  422. package/build-types/store/selectors.d.ts +376 -76
  423. package/build-types/store/selectors.d.ts.map +1 -1
  424. package/build-types/store/utils/notice-builder.d.ts.map +1 -1
  425. package/build-types/utils/get-item-title.d.ts +10 -0
  426. package/build-types/utils/get-item-title.d.ts.map +1 -0
  427. package/build-types/utils/media-sideload/index.d.ts +3 -0
  428. package/build-types/utils/media-sideload/index.d.ts.map +1 -0
  429. package/build-types/utils/media-upload/index.d.ts +3 -1
  430. package/build-types/utils/media-upload/index.d.ts.map +1 -1
  431. package/build-types/utils/pageTypeBadge.d.ts +3 -1
  432. package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
  433. package/package.json +37 -37
  434. package/src/components/collab-sidebar/add-comment.js +1 -1
  435. package/src/components/collab-sidebar/comment-button.js +12 -7
  436. package/src/components/collab-sidebar/comment-form.js +4 -1
  437. package/src/components/collab-sidebar/comments.js +260 -243
  438. package/src/components/collab-sidebar/index.js +10 -2
  439. package/src/components/collab-sidebar/style.scss +10 -1
  440. package/src/components/commands/index.js +29 -0
  441. package/src/components/document-bar/index.js +5 -2
  442. package/src/components/document-tools/index.js +3 -6
  443. package/src/components/document-tools/style.scss +0 -6
  444. package/src/components/editor-help/intro-to-blocks.native.js +1 -1
  445. package/src/components/entities-saved-states/index.js +5 -1
  446. package/src/components/error-boundary/index.js +30 -16
  447. package/src/components/error-boundary/index.native.js +2 -2
  448. package/src/components/error-boundary/style.scss +5 -1
  449. package/src/components/more-menu/index.js +0 -1
  450. package/src/components/post-actions/actions.js +12 -4
  451. package/src/components/post-actions/index.js +90 -94
  452. package/src/components/post-actions/set-as-homepage.js +29 -45
  453. package/src/components/post-actions/set-as-posts-page.js +164 -0
  454. package/src/components/post-card-panel/index.js +71 -33
  455. package/src/components/post-card-panel/style.scss +8 -12
  456. package/src/components/post-publish-panel/maybe-upload-media.js +2 -2
  457. package/src/components/post-publish-panel/prepublish.js +1 -1
  458. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
  459. package/src/components/preferences-modal/index.js +8 -13
  460. package/src/components/preview-dropdown/index.js +0 -1
  461. package/src/components/provider/disable-non-page-content-blocks.js +64 -13
  462. package/src/components/provider/index.js +13 -27
  463. package/src/components/provider/use-block-editor-settings.js +3 -0
  464. package/src/components/start-page-options/index.js +28 -119
  465. package/src/components/template-part-menu-items/index.js +2 -11
  466. package/src/dataviews/store/private-actions.ts +23 -8
  467. package/src/store/actions.js +0 -2
  468. package/src/store/constants.ts +0 -2
  469. package/src/store/private-actions.js +1 -1
  470. package/src/store/utils/notice-builder.js +3 -8
  471. package/src/store/utils/test/notice-builder.js +3 -4
  472. package/src/utils/get-item-title.js +25 -0
  473. package/src/utils/media-sideload/index.js +13 -0
  474. package/src/utils/media-sideload/index.native.js +1 -0
  475. package/src/utils/media-upload/index.js +4 -1
  476. package/src/utils/pageTypeBadge.js +7 -10
  477. package/tsconfig.json +1 -4
  478. package/tsconfig.tsbuildinfo +1 -1
@@ -170,7 +170,6 @@ export default function PreviewDropdown({
170
170
  })
171
171
  }), /*#__PURE__*/_jsx(ActionItem.Slot, {
172
172
  name: "core/plugin-preview-menu",
173
- as: MenuGroup,
174
173
  fillProps: {
175
174
  onClick: onClose
176
175
  }
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useViewportMatch","DropdownMenu","MenuGroup","MenuItem","MenuItemsChoice","VisuallyHidden","Icon","__","desktop","mobile","tablet","external","check","useSelect","useDispatch","store","coreStore","preferencesStore","ActionItem","editorStore","blockEditorStore","PostPreviewButton","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","isTemplateHidden","templateId","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getCurrentTemplateId","getRenderingMode","getEntityRecord","getPostType","get","_currentPostType","home","viewable","setDeviceType","setRenderingMode","resetZoomLevel","handleDevicePreviewChange","newDeviceType","isMobile","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","choices","value","label","icon","toLowerCase","disableOpenOnArrowDown","children","onClose","onSelect","href","target","onClick","as","undefined","isSelected","role","textContent","onPreview","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external, check } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport PostPreviewButton from '../post-preview-button';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t\tisTemplateHidden,\n\t\ttemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRenderingMode } = unlock( select( editorStore ) );\n\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType, setRenderingMode } = useDispatch( editorStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst handleDevicePreviewChange = ( newDeviceType ) => {\n\t\tsetDeviceType( newDeviceType );\n\t\tresetZoomLevel();\n\t};\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ deviceType }\n\t\t\t\t\t\t\tonSelect={ handleDevicePreviewChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTemplate && !! templateId && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t\t: 'post-only'\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\t\t{ __( 'Show template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\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\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useViewportMatch","DropdownMenu","MenuGroup","MenuItem","MenuItemsChoice","VisuallyHidden","Icon","__","desktop","mobile","tablet","external","check","useSelect","useDispatch","store","coreStore","preferencesStore","ActionItem","editorStore","blockEditorStore","PostPreviewButton","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","isTemplateHidden","templateId","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getCurrentTemplateId","getRenderingMode","getEntityRecord","getPostType","get","_currentPostType","home","viewable","setDeviceType","setRenderingMode","resetZoomLevel","handleDevicePreviewChange","newDeviceType","isMobile","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","choices","value","label","icon","toLowerCase","disableOpenOnArrowDown","children","onClose","onSelect","href","target","onClick","as","undefined","isSelected","role","textContent","onPreview","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external, check } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport PostPreviewButton from '../post-preview-button';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t\tisTemplateHidden,\n\t\ttemplateId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRenderingMode } = unlock( select( editorStore ) );\n\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType, setRenderingMode } = useDispatch( editorStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst handleDevicePreviewChange = ( newDeviceType ) => {\n\t\tsetDeviceType( newDeviceType );\n\t\tresetZoomLevel();\n\t};\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ deviceType }\n\t\t\t\t\t\t\tonSelect={ handleDevicePreviewChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTemplate && !! templateId && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t\t: 'post-only'\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\t\t{ __( 'Show template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\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\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -16,11 +17,18 @@ import usePostContentBlocks from './use-post-content-blocks';
16
17
  */
17
18
  export default function DisableNonPageContentBlocks() {
18
19
  const contentOnlyIds = usePostContentBlocks();
19
- const templateParts = useSelect(select => {
20
+ const {
21
+ templateParts,
22
+ isNavigationMode
23
+ } = useSelect(select => {
20
24
  const {
21
- getBlocksByName
25
+ getBlocksByName,
26
+ isNavigationMode: _isNavigationMode
22
27
  } = select(blockEditorStore);
23
- return getBlocksByName('core/template-part');
28
+ return {
29
+ templateParts: getBlocksByName('core/template-part'),
30
+ isNavigationMode: _isNavigationMode()
31
+ };
24
32
  }, []);
25
33
  const disabledIds = useSelect(select => {
26
34
  const {
@@ -29,38 +37,83 @@ export default function DisableNonPageContentBlocks() {
29
37
  return templateParts.flatMap(clientId => getBlockOrder(clientId));
30
38
  }, [templateParts]);
31
39
  const registry = useRegistry();
40
+
41
+ // The code here is split into multiple `useEffects` calls.
42
+ // This is done to avoid setting/unsetting block editing modes multiple times unnecessarily.
43
+ //
44
+ // For example, the block editing mode of the root block (clientId: '') only
45
+ // needs to be set once, not when `contentOnlyIds` or `disabledIds` change.
46
+ //
47
+ // It's also unlikely that these different types of blocks are being inserted
48
+ // or removed at the same time, so using different effects reflects that.
49
+ useEffect(() => {
50
+ const {
51
+ setBlockEditingMode,
52
+ unsetBlockEditingMode
53
+ } = registry.dispatch(blockEditorStore);
54
+ setBlockEditingMode('', 'disabled');
55
+ return () => {
56
+ unsetBlockEditingMode('');
57
+ };
58
+ }, [registry]);
32
59
  useEffect(() => {
33
60
  const {
34
61
  setBlockEditingMode,
35
62
  unsetBlockEditingMode
36
63
  } = registry.dispatch(blockEditorStore);
37
64
  registry.batch(() => {
38
- setBlockEditingMode('', 'disabled');
39
65
  for (const clientId of contentOnlyIds) {
40
66
  setBlockEditingMode(clientId, 'contentOnly');
41
67
  }
42
- for (const clientId of templateParts) {
43
- setBlockEditingMode(clientId, 'contentOnly');
44
- }
45
- for (const clientId of disabledIds) {
46
- setBlockEditingMode(clientId, 'disabled');
47
- }
48
68
  });
49
69
  return () => {
50
70
  registry.batch(() => {
51
- unsetBlockEditingMode('');
52
71
  for (const clientId of contentOnlyIds) {
53
72
  unsetBlockEditingMode(clientId);
54
73
  }
74
+ });
75
+ };
76
+ }, [contentOnlyIds, registry]);
77
+ useEffect(() => {
78
+ const {
79
+ setBlockEditingMode,
80
+ unsetBlockEditingMode
81
+ } = registry.dispatch(blockEditorStore);
82
+ registry.batch(() => {
83
+ if (!isNavigationMode) {
55
84
  for (const clientId of templateParts) {
56
- unsetBlockEditingMode(clientId);
85
+ setBlockEditingMode(clientId, 'contentOnly');
57
86
  }
87
+ }
88
+ });
89
+ return () => {
90
+ registry.batch(() => {
91
+ if (!isNavigationMode) {
92
+ for (const clientId of templateParts) {
93
+ unsetBlockEditingMode(clientId);
94
+ }
95
+ }
96
+ });
97
+ };
98
+ }, [templateParts, isNavigationMode, registry]);
99
+ useEffect(() => {
100
+ const {
101
+ setBlockEditingMode,
102
+ unsetBlockEditingMode
103
+ } = registry.dispatch(blockEditorStore);
104
+ registry.batch(() => {
105
+ for (const clientId of disabledIds) {
106
+ setBlockEditingMode(clientId, 'disabled');
107
+ }
108
+ });
109
+ return () => {
110
+ registry.batch(() => {
58
111
  for (const clientId of disabledIds) {
59
112
  unsetBlockEditingMode(clientId);
60
113
  }
61
114
  });
62
115
  };
63
- }, [templateParts, contentOnlyIds, disabledIds, registry]);
116
+ }, [disabledIds, registry]);
64
117
  return null;
65
118
  }
66
119
  //# sourceMappingURL=disable-non-page-content-blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useRegistry","store","blockEditorStore","useEffect","usePostContentBlocks","DisableNonPageContentBlocks","contentOnlyIds","templateParts","select","getBlocksByName","disabledIds","getBlockOrder","flatMap","clientId","registry","setBlockEditingMode","unsetBlockEditingMode","dispatch","batch"],"sources":["@wordpress/editor/src/components/provider/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport usePostContentBlocks from './use-post-content-blocks';\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tconst contentOnlyIds = usePostContentBlocks();\n\tconst templateParts = useSelect( ( select ) => {\n\t\tconst { getBlocksByName } = select( blockEditorStore );\n\t\treturn getBlocksByName( 'core/template-part' );\n\t}, [] );\n\tconst disabledIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder } = select( blockEditorStore );\n\t\t\treturn templateParts.flatMap( ( clientId ) =>\n\t\t\t\tgetBlockOrder( clientId )\n\t\t\t);\n\t\t},\n\t\t[ templateParts ]\n\t);\n\n\tconst registry = useRegistry();\n\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( '', 'disabled' );\n\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'contentOnly' );\n\t\t\t}\n\t\t\tfor ( const clientId of templateParts ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'contentOnly' );\n\t\t\t}\n\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'disabled' );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tregistry.batch( () => {\n\t\t\t\tunsetBlockEditingMode( '' );\n\t\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t\tfor ( const clientId of templateParts ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t}, [ templateParts, contentOnlyIds, disabledIds, registry ] );\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,2BAA2B;;AAE5D;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACrD,MAAMC,cAAc,GAAGF,oBAAoB,CAAC,CAAC;EAC7C,MAAMG,aAAa,GAAGR,SAAS,CAAIS,MAAM,IAAM;IAC9C,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEN,gBAAiB,CAAC;IACtD,OAAOO,eAAe,CAAE,oBAAqB,CAAC;EAC/C,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,WAAW,GAAGX,SAAS,CAC1BS,MAAM,IAAM;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGH,MAAM,CAAEN,gBAAiB,CAAC;IACpD,OAAOK,aAAa,CAACK,OAAO,CAAIC,QAAQ,IACvCF,aAAa,CAAEE,QAAS,CACzB,CAAC;EACF,CAAC,EACD,CAAEN,aAAa,CAChB,CAAC;EAED,MAAMO,QAAQ,GAAGd,WAAW,CAAC,CAAC;EAE9BG,SAAS,CAAE,MAAM;IAChB,MAAM;MAAEY,mBAAmB;MAAEC;IAAsB,CAAC,GACnDF,QAAQ,CAACG,QAAQ,CAAEf,gBAAiB,CAAC;IAEtCY,QAAQ,CAACI,KAAK,CAAE,MAAM;MACrBH,mBAAmB,CAAE,EAAE,EAAE,UAAW,CAAC;MACrC,KAAM,MAAMF,QAAQ,IAAIP,cAAc,EAAG;QACxCS,mBAAmB,CAAEF,QAAQ,EAAE,aAAc,CAAC;MAC/C;MACA,KAAM,MAAMA,QAAQ,IAAIN,aAAa,EAAG;QACvCQ,mBAAmB,CAAEF,QAAQ,EAAE,aAAc,CAAC;MAC/C;MACA,KAAM,MAAMA,QAAQ,IAAIH,WAAW,EAAG;QACrCK,mBAAmB,CAAEF,QAAQ,EAAE,UAAW,CAAC;MAC5C;IACD,CAAE,CAAC;IAEH,OAAO,MAAM;MACZC,QAAQ,CAACI,KAAK,CAAE,MAAM;QACrBF,qBAAqB,CAAE,EAAG,CAAC;QAC3B,KAAM,MAAMH,QAAQ,IAAIP,cAAc,EAAG;UACxCU,qBAAqB,CAAEH,QAAS,CAAC;QAClC;QACA,KAAM,MAAMA,QAAQ,IAAIN,aAAa,EAAG;UACvCS,qBAAqB,CAAEH,QAAS,CAAC;QAClC;QACA,KAAM,MAAMA,QAAQ,IAAIH,WAAW,EAAG;UACrCM,qBAAqB,CAAEH,QAAS,CAAC;QAClC;MACD,CAAE,CAAC;IACJ,CAAC;EACF,CAAC,EAAE,CAAEN,aAAa,EAAED,cAAc,EAAEI,WAAW,EAAEI,QAAQ,CAAG,CAAC;EAE7D,OAAO,IAAI;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useRegistry","store","blockEditorStore","useEffect","usePostContentBlocks","DisableNonPageContentBlocks","contentOnlyIds","templateParts","isNavigationMode","select","getBlocksByName","_isNavigationMode","disabledIds","getBlockOrder","flatMap","clientId","registry","setBlockEditingMode","unsetBlockEditingMode","dispatch","batch"],"sources":["@wordpress/editor/src/components/provider/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport usePostContentBlocks from './use-post-content-blocks';\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tconst contentOnlyIds = usePostContentBlocks();\n\tconst { templateParts, isNavigationMode } = useSelect( ( select ) => {\n\t\tconst { getBlocksByName, isNavigationMode: _isNavigationMode } =\n\t\t\tselect( blockEditorStore );\n\t\treturn {\n\t\t\ttemplateParts: getBlocksByName( 'core/template-part' ),\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t};\n\t}, [] );\n\tconst disabledIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder } = select( blockEditorStore );\n\t\t\treturn templateParts.flatMap( ( clientId ) =>\n\t\t\t\tgetBlockOrder( clientId )\n\t\t\t);\n\t\t},\n\t\t[ templateParts ]\n\t);\n\n\tconst registry = useRegistry();\n\n\t// The code here is split into multiple `useEffects` calls.\n\t// This is done to avoid setting/unsetting block editing modes multiple times unnecessarily.\n\t//\n\t// For example, the block editing mode of the root block (clientId: '') only\n\t// needs to be set once, not when `contentOnlyIds` or `disabledIds` change.\n\t//\n\t// It's also unlikely that these different types of blocks are being inserted\n\t// or removed at the same time, so using different effects reflects that.\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tsetBlockEditingMode( '', 'disabled' );\n\n\t\treturn () => {\n\t\t\tunsetBlockEditingMode( '' );\n\t\t};\n\t}, [ registry ] );\n\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tregistry.batch( () => {\n\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'contentOnly' );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tregistry.batch( () => {\n\t\t\t\tfor ( const clientId of contentOnlyIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t}, [ contentOnlyIds, registry ] );\n\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tregistry.batch( () => {\n\t\t\tif ( ! isNavigationMode ) {\n\t\t\t\tfor ( const clientId of templateParts ) {\n\t\t\t\t\tsetBlockEditingMode( clientId, 'contentOnly' );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tregistry.batch( () => {\n\t\t\t\tif ( ! isNavigationMode ) {\n\t\t\t\t\tfor ( const clientId of templateParts ) {\n\t\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t}, [ templateParts, isNavigationMode, registry ] );\n\n\tuseEffect( () => {\n\t\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\tregistry.batch( () => {\n\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\tsetBlockEditingMode( clientId, 'disabled' );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tregistry.batch( () => {\n\t\t\t\tfor ( const clientId of disabledIds ) {\n\t\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t}, [ disabledIds, registry ] );\n\n\treturn null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { EntityProvider, useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
8
- import { BlockEditorProvider, BlockContextProvider, privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
8
+ import { BlockEditorProvider, BlockContextProvider, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
9
  import { store as noticesStore } from '@wordpress/notices';
10
10
  import { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';
11
11
  import { createBlock } from '@wordpress/blocks';
@@ -139,6 +139,7 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
139
139
  BlockEditorProviderComponent = ExperimentalBlockEditorProvider,
140
140
  __unstableTemplate: template
141
141
  }) => {
142
+ const hasTemplate = !!template;
142
143
  const {
143
144
  editorSettings,
144
145
  selection,
@@ -148,7 +149,6 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
148
149
  postTypeEntities,
149
150
  hasLoadedPostObject
150
151
  } = useSelect(select => {
151
- var _postTypeObject$defau;
152
152
  const {
153
153
  getEditorSettings,
154
154
  getEditorSelection,
@@ -165,17 +165,11 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
165
165
  editorSettings: getEditorSettings(),
166
166
  isReady: __unstableIsEditorReady(),
167
167
  mode: getRenderingMode(),
168
- defaultMode: (_postTypeObject$defau = postTypeObject?.default_rendering_mode) !== null && _postTypeObject$defau !== void 0 ? _postTypeObject$defau : 'post-only',
168
+ defaultMode: hasTemplate && postTypeObject?.default_rendering_mode ? postTypeObject?.default_rendering_mode : 'post-only',
169
169
  selection: getEditorSelection(),
170
170
  postTypeEntities: post.type === 'wp_template' ? getEntitiesConfig('postType') : null
171
171
  };
172
- }, [post.type]);
173
- const isZoomOut = useSelect(select => {
174
- const {
175
- isZoomOut: _isZoomOut
176
- } = unlock(select(blockEditorStore));
177
- return _isZoomOut();
178
- });
172
+ }, [post.type, hasTemplate]);
179
173
  const shouldRenderTemplate = !!template && mode !== 'post-only';
180
174
  const rootLevelPost = shouldRenderTemplate ? template : post;
181
175
  const defaultBlockContext = useMemo(() => {
@@ -238,7 +232,11 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
238
232
  }]
239
233
  });
240
234
  }
241
- }, [createWarningNotice, initialEdits, settings, post, recovery, setupEditor, updatePostLock]);
235
+
236
+ // The dependencies of the hook are omitted deliberately
237
+ // We only want to run setupEditor (with initialEdits) only once per post.
238
+ // A better solution in the future would be to split this effect into multiple ones.
239
+ }, []);
242
240
 
243
241
  // Synchronizes the active post with the state
244
242
  useEffect(() => {
@@ -283,9 +281,7 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
283
281
  settings: blockEditorSettings,
284
282
  useSubRegistry: false,
285
283
  children: [children, !settings.isPreviewMode && /*#__PURE__*/_jsxs(_Fragment, {
286
- children: [!isZoomOut && /*#__PURE__*/_jsxs(_Fragment, {
287
- children: [/*#__PURE__*/_jsx(PatternsMenuItems, {}), /*#__PURE__*/_jsx(TemplatePartMenuItems, {}), /*#__PURE__*/_jsx(ContentOnlySettingsMenu, {})]
288
- }), mode === 'template-locked' && /*#__PURE__*/_jsx(DisableNonPageContentBlocks, {}), type === 'wp_navigation' && /*#__PURE__*/_jsx(NavigationBlockEditingMode, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcuts, {}), /*#__PURE__*/_jsx(KeyboardShortcutHelpModal, {}), /*#__PURE__*/_jsx(BlockRemovalWarnings, {}), /*#__PURE__*/_jsx(StartPageOptions, {}), /*#__PURE__*/_jsx(StartTemplateOptions, {}), /*#__PURE__*/_jsx(PatternRenameModal, {}), /*#__PURE__*/_jsx(PatternDuplicateModal, {})]
284
+ children: [/*#__PURE__*/_jsx(PatternsMenuItems, {}), /*#__PURE__*/_jsx(TemplatePartMenuItems, {}), /*#__PURE__*/_jsx(ContentOnlySettingsMenu, {}), mode === 'template-locked' && /*#__PURE__*/_jsx(DisableNonPageContentBlocks, {}), type === 'wp_navigation' && /*#__PURE__*/_jsx(NavigationBlockEditingMode, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcuts, {}), /*#__PURE__*/_jsx(KeyboardShortcutHelpModal, {}), /*#__PURE__*/_jsx(BlockRemovalWarnings, {}), /*#__PURE__*/_jsx(StartPageOptions, {}), /*#__PURE__*/_jsx(StartTemplateOptions, {}), /*#__PURE__*/_jsx(PatternRenameModal, {}), /*#__PURE__*/_jsx(PatternDuplicateModal, {})]
289
285
  })]
290
286
  })
291
287
  })
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","store","coreStore","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","blockEditorStore","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","EditorKeyboardShortcuts","PatternRenameModal","PatternDuplicateModal","TemplatePartMenuItems","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","defaultMode","postTypeEntities","hasLoadedPostObject","select","_postTypeObject$defau","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","getEntitiesConfig","postTypeObject","getPostType","_hasLoadedPostObject","hasFinishedResolution","default_rendering_mode","isZoomOut","_isZoomOut","shouldRenderTemplate","defaultBlockContext","postContext","slug","postType","split","postTypeNames","map","entity","name","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","kind","value","useSubRegistry","isPreviewMode","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tEntityProvider,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost = mode === 'template-locked' ? 'template' : 'post';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst {\n\t\t\teditorSettings,\n\t\t\tselection,\n\t\t\tisReady,\n\t\t\tmode,\n\t\t\tdefaultMode,\n\t\t\tpostTypeEntities,\n\t\t\thasLoadedPostObject,\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\tconst { getEntitiesConfig } = select( coreStore );\n\n\t\t\t\tconst postTypeObject = select( coreStore ).getPostType(\n\t\t\t\t\tpost.type\n\t\t\t\t);\n\n\t\t\t\tconst _hasLoadedPostObject = select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getPostType', [ post.type ] );\n\n\t\t\t\treturn {\n\t\t\t\t\thasLoadedPostObject: _hasLoadedPostObject,\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tdefaultMode:\n\t\t\t\t\t\tpostTypeObject?.default_rendering_mode ?? 'post-only',\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t\tpostTypeEntities:\n\t\t\t\t\t\tpost.type === 'wp_template'\n\t\t\t\t\t\t\t? getEntitiesConfig( 'postType' )\n\t\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ post.type ]\n\t\t);\n\n\t\tconst isZoomOut = useSelect( ( select ) => {\n\t\t\tconst { isZoomOut: _isZoomOut } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn _isZoomOut();\n\t\t} );\n\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext = {};\n\t\t\t// If it is a template, try to inherit the post type from the name.\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\tif ( post.slug === 'page' ) {\n\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t} else if ( post.slug === 'single' ) {\n\t\t\t\t\tpostContext.postType = 'post';\n\t\t\t\t} else if ( post.slug.split( '-' )[ 0 ] === 'single' ) {\n\t\t\t\t\t// If the slug is single-{postType}, infer the post type from the name.\n\t\t\t\t\tconst postTypeNames =\n\t\t\t\t\t\tpostTypeEntities?.map( ( entity ) => entity.name ) ||\n\t\t\t\t\t\t[];\n\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t`^single-(${ postTypeNames.join( '|' ) })(?:-.+)?$`\n\t\t\t\t\t);\n\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\tpostContext.postType = match[ 1 ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t) {\n\t\t\t\tpostContext.postId = post.id;\n\t\t\t\tpostContext.postType = post.type;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\tpost.slug,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t\tpostTypeEntities,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [\n\t\t\tcreateWarningNotice,\n\t\t\tinitialEdits,\n\t\t\tsettings,\n\t\t\tpost,\n\t\t\trecovery,\n\t\t\tsetupEditor,\n\t\t\tupdatePostLock,\n\t\t] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( defaultMode );\n\t\t}, [ defaultMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady || ! mode || ! hasLoadedPostObject ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.isPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isZoomOut && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\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{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {React.ReactNode} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","store","coreStore","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","EditorKeyboardShortcuts","PatternRenameModal","PatternDuplicateModal","TemplatePartMenuItems","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","hasTemplate","editorSettings","selection","isReady","defaultMode","postTypeEntities","hasLoadedPostObject","select","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","getEntitiesConfig","postTypeObject","getPostType","_hasLoadedPostObject","hasFinishedResolution","default_rendering_mode","shouldRenderTemplate","defaultBlockContext","postContext","slug","postType","split","postTypeNames","map","entity","name","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","kind","value","useSubRegistry","isPreviewMode","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tEntityProvider,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost = mode === 'template-locked' ? 'template' : 'post';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst hasTemplate = !! template;\n\t\tconst {\n\t\t\teditorSettings,\n\t\t\tselection,\n\t\t\tisReady,\n\t\t\tmode,\n\t\t\tdefaultMode,\n\t\t\tpostTypeEntities,\n\t\t\thasLoadedPostObject,\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\tconst { getEntitiesConfig } = select( coreStore );\n\n\t\t\t\tconst postTypeObject = select( coreStore ).getPostType(\n\t\t\t\t\tpost.type\n\t\t\t\t);\n\n\t\t\t\tconst _hasLoadedPostObject = select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getPostType', [ post.type ] );\n\n\t\t\t\treturn {\n\t\t\t\t\thasLoadedPostObject: _hasLoadedPostObject,\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tdefaultMode:\n\t\t\t\t\t\thasTemplate && postTypeObject?.default_rendering_mode\n\t\t\t\t\t\t\t? postTypeObject?.default_rendering_mode\n\t\t\t\t\t\t\t: 'post-only',\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t\tpostTypeEntities:\n\t\t\t\t\t\tpost.type === 'wp_template'\n\t\t\t\t\t\t\t? getEntitiesConfig( 'postType' )\n\t\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ post.type, hasTemplate ]\n\t\t);\n\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext = {};\n\t\t\t// If it is a template, try to inherit the post type from the name.\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\tif ( post.slug === 'page' ) {\n\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t} else if ( post.slug === 'single' ) {\n\t\t\t\t\tpostContext.postType = 'post';\n\t\t\t\t} else if ( post.slug.split( '-' )[ 0 ] === 'single' ) {\n\t\t\t\t\t// If the slug is single-{postType}, infer the post type from the name.\n\t\t\t\t\tconst postTypeNames =\n\t\t\t\t\t\tpostTypeEntities?.map( ( entity ) => entity.name ) ||\n\t\t\t\t\t\t[];\n\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t`^single-(${ postTypeNames.join( '|' ) })(?:-.+)?$`\n\t\t\t\t\t);\n\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\tpostContext.postType = match[ 1 ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t) {\n\t\t\t\tpostContext.postId = post.id;\n\t\t\t\tpostContext.postType = post.type;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\tpost.slug,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t\tpostTypeEntities,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// The dependencies of the hook are omitted deliberately\n\t\t\t// We only want to run setupEditor (with initialEdits) only once per post.\n\t\t\t// A better solution in the future would be to split this effect into multiple ones.\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( defaultMode );\n\t\t}, [ defaultMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady || ! mode || ! hasLoadedPostObject ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.isPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\n\t\t\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {React.ReactNode} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["BackHandler","memize","SafeAreaProvider","RNReactNativeGutenbergBridge","requestBlockTypeImpressions","setBlockTypeImpressions","subscribeParentGetHtml","subscribeParentToggleHTMLMode","subscribeUpdateHtml","subscribeSetTitle","subscribeMediaAppend","subscribeReplaceBlock","subscribeUpdateEditorSettings","subscribeUpdateCapabilities","subscribeShowNotice","subscribeShowEditorHelp","subscribeToContentUpdate","Component","count","wordCount","parse","serialize","getUnregisteredTypeHandlerName","getBlockType","createBlock","pasteHandler","withDispatch","withSelect","compose","applyFilters","store","blockEditorStore","getGlobalStyles","getColorsAndGradients","NEW_BLOCK_TYPES","__","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","EditorHelpTopics","editorStore","noticesStore","coreStore","EditorProvider","insertContentWithTitle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NativeEditorProvider","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","onHardwareBackPress","bind","onContentUpdate","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","createErrorNotice","locale","hostAppNamespace","updateEditorSettings","updateBlockEditorSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","blockType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","editorSettings","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","hardwareBackPressListener","addEventListener","subscriptionOnContentUpdate","data","storedImpressions","impressions","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","editorDidMount","clearSelectedBlock","content","rawContent","onClearPostTitleSelection","onInsertBlockAfter","onInsertBlocks","plainText","mode","hasChanges","raw","contentInfo","characterCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","render","children","isVisible","onClose","close","showSupport","supportSection","ComposedNativeProvider","select","_settings$colors","_settings$gradients","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","getEditorMode","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","togglePostTitleSelection","updateSettings","insertBlocks","__unstableShouldCreateUndoLevel","undefined","ExperimentalEditorProvider"],"sources":["@wordpress/editor/src/components/provider/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { BackHandler } from 'react-native';\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n\tsubscribeToContentUpdate,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tgetBlockType,\n\tcreateBlock,\n\tpasteHandler,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tstore as blockEditorStore,\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\nimport { __ } from '@wordpress/i18n';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\nimport { insertContentWithTitle } from '../post-title';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.onHardwareBackPress = this.onHardwareBackPress.bind( this );\n\t\tthis.onContentUpdate = this.onContentUpdate.bind( this );\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tcapabilities,\n\t\t\tcreateErrorNotice,\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t\tupdateEditorSettings,\n\t\t\tupdateBlockEditorSettings,\n\t\t} = this.props;\n\n\t\tupdateEditorSettings( {\n\t\t\tcapabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\t\tif ( blockType && blockType?.name ) {\n\t\t\t\t\tconst newBlock = createBlock( blockType.name, {\n\t\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t\t} );\n\n\t\t\t\t\tconst indexAfterSelected =\n\t\t\t\t\t\tthis.props.selectedBlockIndex + 1;\n\t\t\t\t\tconst insertionIndex =\n\t\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t\t} else {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__( 'File type not supported as a media file.' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings( ( { ...editorSettings } ) => {\n\t\t\t\tupdateEditorSettings( this.getThemeColors( editorSettings ) );\n\t\t\t} );\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\tthis.hardwareBackPressListener = BackHandler.addEventListener(\n\t\t\t'hardwareBackPress',\n\t\t\tthis.onHardwareBackPress\n\t\t);\n\n\t\tthis.subscriptionOnContentUpdate = subscribeToContentUpdate(\n\t\t\t( data ) => {\n\t\t\t\tthis.onContentUpdate( data );\n\t\t\t}\n\t\t);\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateBlockEditorSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\n\t\tif ( this.hardwareBackPressListener ) {\n\t\t\tthis.hardwareBackPressListener.remove();\n\t\t}\n\n\t\tif ( this.subscriptionOnContentUpdate ) {\n\t\t\tthis.subscriptionOnContentUpdate.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tonHardwareBackPress() {\n\t\tconst { clearSelectedBlock, selectedBlockIndex } = this.props;\n\n\t\tif ( selectedBlockIndex !== -1 ) {\n\t\t\tclearSelectedBlock();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonContentUpdate( { content: rawContent } ) {\n\t\tconst {\n\t\t\teditTitle,\n\t\t\tonClearPostTitleSelection,\n\t\t\tonInsertBlockAfter: onInsertBlocks,\n\t\t\ttitle,\n\t\t} = this.props;\n\t\tconst content = pasteHandler( {\n\t\t\tplainText: rawContent,\n\t\t} );\n\n\t\tinsertContentWithTitle( title, content, editTitle, onInsertBlocks );\n\t\tonClearPostTitleSelection();\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateEditorSettings( { capabilities } );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tshowSupport={ capabilities?.supportSection === true }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nconst ComposedNativeProvider = compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t\tgetEditorSettings,\n\t\t\tgetEditorMode,\n\t\t} = select( editorStore );\n\n\t\tconst { getBlockIndex, getSelectedBlockClientId, getGlobalBlockCount } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst settings = getEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\teditPost,\n\t\t\tresetEditorBlocks,\n\t\t\tupdateEditorSettings,\n\t\t\tswitchEditorMode,\n\t\t\ttogglePostTitleSelection,\n\t\t} = dispatch( editorStore );\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tupdateSettings,\n\t\t\tinsertBlock,\n\t\t\tinsertBlocks,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tdispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateBlockEditorSettings: updateSettings,\n\t\t\tupdateEditorSettings,\n\t\t\taddEntities,\n\t\t\tinsertBlock,\n\t\t\tinsertBlocks,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\tclearSelectedBlock,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, undefined, undefined, false );\n\t\t\t},\n\t\t\tonClearPostTitleSelection() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n\nexport default ComposedNativeProvider;\nexport { ComposedNativeProvider as ExperimentalEditorProvider };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BackHandler","memize","SafeAreaProvider","RNReactNativeGutenbergBridge","requestBlockTypeImpressions","setBlockTypeImpressions","subscribeParentGetHtml","subscribeParentToggleHTMLMode","subscribeUpdateHtml","subscribeSetTitle","subscribeMediaAppend","subscribeReplaceBlock","subscribeUpdateEditorSettings","subscribeUpdateCapabilities","subscribeShowNotice","subscribeShowEditorHelp","subscribeToContentUpdate","Component","count","wordCount","parse","serialize","getUnregisteredTypeHandlerName","getBlockType","createBlock","pasteHandler","withDispatch","withSelect","compose","applyFilters","store","blockEditorStore","getGlobalStyles","getColorsAndGradients","NEW_BLOCK_TYPES","__","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","EditorHelpTopics","editorStore","noticesStore","coreStore","EditorProvider","insertContentWithTitle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NativeEditorProvider","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","onHardwareBackPress","bind","onContentUpdate","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","createErrorNotice","locale","hostAppNamespace","updateEditorSettings","updateBlockEditorSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","blockType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","editorSettings","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","hardwareBackPressListener","addEventListener","subscriptionOnContentUpdate","data","storedImpressions","impressions","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","editorDidMount","clearSelectedBlock","content","rawContent","onClearPostTitleSelection","onInsertBlockAfter","onInsertBlocks","plainText","mode","hasChanges","raw","contentInfo","characterCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","render","children","isVisible","onClose","close","showSupport","supportSection","ComposedNativeProvider","select","_settings$colors","_settings$gradients","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","getEditorMode","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","togglePostTitleSelection","updateSettings","insertBlocks","__unstableShouldCreateUndoLevel","undefined","ExperimentalEditorProvider"],"sources":["@wordpress/editor/src/components/provider/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { BackHandler } from 'react-native';\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n\tsubscribeToContentUpdate,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tgetBlockType,\n\tcreateBlock,\n\tpasteHandler,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tstore as blockEditorStore,\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\nimport { __ } from '@wordpress/i18n';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\nimport { insertContentWithTitle } from '../post-title';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.onHardwareBackPress = this.onHardwareBackPress.bind( this );\n\t\tthis.onContentUpdate = this.onContentUpdate.bind( this );\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst {\n\t\t\tcapabilities,\n\t\t\tcreateErrorNotice,\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t\tupdateEditorSettings,\n\t\t\tupdateBlockEditorSettings,\n\t\t} = this.props;\n\n\t\tupdateEditorSettings( {\n\t\t\tcapabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\t\tif ( blockType && blockType?.name ) {\n\t\t\t\t\tconst newBlock = createBlock( blockType.name, {\n\t\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t\t} );\n\n\t\t\t\t\tconst indexAfterSelected =\n\t\t\t\t\t\tthis.props.selectedBlockIndex + 1;\n\t\t\t\t\tconst insertionIndex =\n\t\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t\t} else {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__( 'File type not supported as a media file.' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings( ( { ...editorSettings } ) => {\n\t\t\t\tupdateEditorSettings( this.getThemeColors( editorSettings ) );\n\t\t\t} );\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\tthis.hardwareBackPressListener = BackHandler.addEventListener(\n\t\t\t'hardwareBackPress',\n\t\t\tthis.onHardwareBackPress\n\t\t);\n\n\t\tthis.subscriptionOnContentUpdate = subscribeToContentUpdate(\n\t\t\t( data ) => {\n\t\t\t\tthis.onContentUpdate( data );\n\t\t\t}\n\t\t);\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateBlockEditorSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\n\t\tif ( this.hardwareBackPressListener ) {\n\t\t\tthis.hardwareBackPressListener.remove();\n\t\t}\n\n\t\tif ( this.subscriptionOnContentUpdate ) {\n\t\t\tthis.subscriptionOnContentUpdate.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tonHardwareBackPress() {\n\t\tconst { clearSelectedBlock, selectedBlockIndex } = this.props;\n\n\t\tif ( selectedBlockIndex !== -1 ) {\n\t\t\tclearSelectedBlock();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonContentUpdate( { content: rawContent } ) {\n\t\tconst {\n\t\t\teditTitle,\n\t\t\tonClearPostTitleSelection,\n\t\t\tonInsertBlockAfter: onInsertBlocks,\n\t\t\ttitle,\n\t\t} = this.props;\n\t\tconst content = pasteHandler( {\n\t\t\tplainText: rawContent,\n\t\t} );\n\n\t\tinsertContentWithTitle( title, content, editTitle, onInsertBlocks );\n\t\tonClearPostTitleSelection();\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateEditorSettings( { capabilities } );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tshowSupport={ capabilities?.supportSection === true }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nconst ComposedNativeProvider = compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t\tgetEditorSettings,\n\t\t\tgetEditorMode,\n\t\t} = select( editorStore );\n\n\t\tconst { getBlockIndex, getSelectedBlockClientId, getGlobalBlockCount } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst settings = getEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\teditPost,\n\t\t\tresetEditorBlocks,\n\t\t\tupdateEditorSettings,\n\t\t\tswitchEditorMode,\n\t\t\ttogglePostTitleSelection,\n\t\t} = dispatch( editorStore );\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tupdateSettings,\n\t\t\tinsertBlock,\n\t\t\tinsertBlocks,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tdispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateBlockEditorSettings: updateSettings,\n\t\t\tupdateEditorSettings,\n\t\t\taddEntities,\n\t\t\tinsertBlock,\n\t\t\tinsertBlocks,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\tclearSelectedBlock,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\tonInsertBlockAfter( blocks ) {\n\t\t\t\tinsertBlocks( blocks, undefined, undefined, false );\n\t\t\t},\n\t\t\tonClearPostTitleSelection() {\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n\nexport default ComposedNativeProvider;\nexport { ComposedNativeProvider as ExperimentalEditorProvider };\n"],"mappings":"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","ignoreList":[]}