@wordpress/editor 13.35.0 → 14.0.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 (924) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +333 -39
  3. package/build/bindings/index.js +1 -3
  4. package/build/bindings/index.js.map +1 -1
  5. package/build/bindings/pattern-overrides.js +1 -1
  6. package/build/bindings/pattern-overrides.js.map +1 -1
  7. package/build/bindings/post-meta.js +38 -2
  8. package/build/bindings/post-meta.js.map +1 -1
  9. package/build/components/autocompleters/user.js +12 -8
  10. package/build/components/autocompleters/user.js.map +1 -1
  11. package/build/components/block-manager/category.js +19 -17
  12. package/build/components/block-manager/category.js.map +1 -1
  13. package/build/components/block-manager/checklist.js +15 -14
  14. package/build/components/block-manager/checklist.js.map +1 -1
  15. package/build/components/block-manager/index.js +37 -33
  16. package/build/components/block-manager/index.js.map +1 -1
  17. package/build/components/block-removal-warnings/index.js +2 -2
  18. package/build/components/block-removal-warnings/index.js.map +1 -1
  19. package/build/components/block-settings-menu/content-only-settings-menu.js +46 -32
  20. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  21. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +16 -13
  22. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  23. package/build/components/blog-title/index.js +116 -0
  24. package/build/components/blog-title/index.js.map +1 -0
  25. package/build/components/collapsible-block-toolbar/index.js +21 -18
  26. package/build/components/collapsible-block-toolbar/index.js.map +1 -1
  27. package/build/components/commands/index.js +109 -3
  28. package/build/components/commands/index.js.map +1 -1
  29. package/build/components/create-template-part-modal/index.js +167 -0
  30. package/build/components/create-template-part-modal/index.js.map +1 -0
  31. package/build/components/create-template-part-modal/utils.js +64 -0
  32. package/build/components/create-template-part-modal/utils.js.map +1 -0
  33. package/build/components/deprecated.js +2 -2
  34. package/build/components/deprecated.js.map +1 -1
  35. package/build/components/document-bar/index.js +94 -70
  36. package/build/components/document-bar/index.js.map +1 -1
  37. package/build/components/document-outline/index.js +124 -121
  38. package/build/components/document-outline/index.js.map +1 -1
  39. package/build/components/document-outline/item.js +18 -14
  40. package/build/components/document-outline/item.js.map +1 -1
  41. package/build/components/document-tools/index.js +56 -53
  42. package/build/components/document-tools/index.js.map +1 -1
  43. package/build/components/editor-help/add-blocks.native.js +14 -11
  44. package/build/components/editor-help/add-blocks.native.js.map +1 -1
  45. package/build/components/editor-help/customize-blocks.native.js +14 -11
  46. package/build/components/editor-help/customize-blocks.native.js.map +1 -1
  47. package/build/components/editor-help/help-detail-navigation-screen.native.js +32 -22
  48. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  49. package/build/components/editor-help/help-get-support-button.native.js +8 -6
  50. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  51. package/build/components/editor-help/help-section-title.native.js +8 -6
  52. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  53. package/build/components/editor-help/help-topic-row.native.js +7 -6
  54. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  55. package/build/components/editor-help/icon-move-blocks.native.js +7 -6
  56. package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
  57. package/build/components/editor-help/index.native.js +94 -76
  58. package/build/components/editor-help/index.native.js.map +1 -1
  59. package/build/components/editor-help/intro-to-blocks.native.js +41 -37
  60. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  61. package/build/components/editor-help/move-blocks.native.js +25 -21
  62. package/build/components/editor-help/move-blocks.native.js.map +1 -1
  63. package/build/components/editor-help/remove-blocks.native.js +12 -9
  64. package/build/components/editor-help/remove-blocks.native.js.map +1 -1
  65. package/build/components/editor-help/view-sections.native.js +24 -19
  66. package/build/components/editor-help/view-sections.native.js.map +1 -1
  67. package/build/components/editor-history/redo.js +2 -2
  68. package/build/components/editor-history/redo.js.map +1 -1
  69. package/build/components/editor-history/undo.js +2 -2
  70. package/build/components/editor-history/undo.js.map +1 -1
  71. package/build/components/editor-interface/content-slot-fill.js +23 -0
  72. package/build/components/editor-interface/content-slot-fill.js.map +1 -0
  73. package/build/components/editor-interface/index.js +178 -0
  74. package/build/components/editor-interface/index.js.map +1 -0
  75. package/build/components/editor-notices/index.js +22 -9
  76. package/build/components/editor-notices/index.js.map +1 -1
  77. package/build/components/editor-snackbars/index.js +2 -2
  78. package/build/components/editor-snackbars/index.js.map +1 -1
  79. package/build/components/entities-saved-states/entity-record-item.js +37 -10
  80. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  81. package/build/components/entities-saved-states/entity-type-list.js +25 -22
  82. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  83. package/build/components/entities-saved-states/index.js +53 -46
  84. package/build/components/entities-saved-states/index.js.map +1 -1
  85. package/build/components/error-boundary/index.js +27 -14
  86. package/build/components/error-boundary/index.js.map +1 -1
  87. package/build/components/error-boundary/index.native.js +45 -35
  88. package/build/components/error-boundary/index.native.js.map +1 -1
  89. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +3 -4
  90. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  91. package/build/components/global-styles-provider/index.js +81 -16
  92. package/build/components/global-styles-provider/index.js.map +1 -1
  93. package/build/components/header/back-button.js +34 -0
  94. package/build/components/header/back-button.js.map +1 -0
  95. package/build/components/header/index.js +88 -59
  96. package/build/components/header/index.js.map +1 -1
  97. package/build/components/inserter-sidebar/index.js +45 -19
  98. package/build/components/inserter-sidebar/index.js.map +1 -1
  99. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
  100. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  101. package/build/components/keyboard-shortcut-help-modal/index.js +53 -48
  102. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  103. package/build/components/keyboard-shortcut-help-modal/shortcut.js +30 -26
  104. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  105. package/build/components/list-view-sidebar/index.js +59 -47
  106. package/build/components/list-view-sidebar/index.js.map +1 -1
  107. package/build/components/list-view-sidebar/list-view-outline.js +21 -4
  108. package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
  109. package/build/components/local-autosave-monitor/index.js +15 -2
  110. package/build/components/local-autosave-monitor/index.js.map +1 -1
  111. package/build/components/mode-switcher/index.js +10 -10
  112. package/build/components/mode-switcher/index.js.map +1 -1
  113. package/build/components/more-menu/copy-content-menu-item.js +5 -4
  114. package/build/components/more-menu/copy-content-menu-item.js.map +1 -1
  115. package/build/components/more-menu/index.js +89 -76
  116. package/build/components/more-menu/index.js.map +1 -1
  117. package/build/components/more-menu/tools-more-menu-group.js +2 -2
  118. package/build/components/more-menu/tools-more-menu-group.js.map +1 -1
  119. package/build/components/more-menu/view-more-menu-group.js +2 -2
  120. package/build/components/more-menu/view-more-menu-group.js.map +1 -1
  121. package/build/components/offline-status/index.native.js +12 -11
  122. package/build/components/offline-status/index.native.js.map +1 -1
  123. package/build/components/page-attributes/order.js +87 -14
  124. package/build/components/page-attributes/order.js.map +1 -1
  125. package/build/components/page-attributes/panel.js +10 -19
  126. package/build/components/page-attributes/panel.js.map +1 -1
  127. package/build/components/page-attributes/parent.js +86 -3
  128. package/build/components/page-attributes/parent.js.map +1 -1
  129. package/build/components/pattern-duplicate-modal/index.js +59 -0
  130. package/build/components/pattern-duplicate-modal/index.js.map +1 -0
  131. package/build/components/pattern-overrides-panel/index.js +2 -2
  132. package/build/components/pattern-overrides-panel/index.js.map +1 -1
  133. package/build/components/pattern-rename-modal/index.js +58 -0
  134. package/build/components/pattern-rename-modal/index.js.map +1 -0
  135. package/build/components/plugin-document-setting-panel/index.js +17 -12
  136. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  137. package/build/components/plugin-post-publish-panel/index.js +10 -7
  138. package/build/components/plugin-post-publish-panel/index.js.map +1 -1
  139. package/build/components/plugin-post-status-info/index.js +7 -4
  140. package/build/components/plugin-post-status-info/index.js.map +1 -1
  141. package/build/components/plugin-pre-publish-panel/index.js +10 -7
  142. package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
  143. package/build/components/plugin-sidebar/index.js +3 -4
  144. package/build/components/plugin-sidebar/index.js.map +1 -1
  145. package/build/components/plugin-sidebar-more-menu-item/index.js +3 -5
  146. package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
  147. package/build/components/post-actions/actions.js +378 -309
  148. package/build/components/post-actions/actions.js.map +1 -1
  149. package/build/components/post-actions/export-pattern-action.js +64 -0
  150. package/build/components/post-actions/export-pattern-action.js.map +1 -0
  151. package/build/components/post-actions/export-pattern-action.native.js +11 -0
  152. package/build/components/post-actions/export-pattern-action.native.js.map +1 -0
  153. package/build/components/post-actions/index.js +66 -50
  154. package/build/components/post-actions/index.js.map +1 -1
  155. package/build/components/post-author/check.js +6 -6
  156. package/build/components/post-author/check.js.map +1 -1
  157. package/build/components/post-author/combobox.js +4 -3
  158. package/build/components/post-author/combobox.js.map +1 -1
  159. package/build/components/post-author/hook.js +2 -1
  160. package/build/components/post-author/hook.js.map +1 -1
  161. package/build/components/post-author/index.js +3 -3
  162. package/build/components/post-author/index.js.map +1 -1
  163. package/build/components/post-author/panel.js +72 -4
  164. package/build/components/post-author/panel.js.map +1 -1
  165. package/build/components/post-author/select.js +4 -3
  166. package/build/components/post-author/select.js.map +1 -1
  167. package/build/components/post-card-panel/index.js +54 -19
  168. package/build/components/post-card-panel/index.js.map +1 -1
  169. package/build/components/post-comments/index.js +38 -22
  170. package/build/components/post-comments/index.js.map +1 -1
  171. package/build/components/post-content-information/index.js +8 -5
  172. package/build/components/post-content-information/index.js.map +1 -1
  173. package/build/components/post-discussion/panel.js +54 -38
  174. package/build/components/post-discussion/panel.js.map +1 -1
  175. package/build/components/post-excerpt/check.js +6 -6
  176. package/build/components/post-excerpt/check.js.map +1 -1
  177. package/build/components/post-excerpt/index.js +18 -17
  178. package/build/components/post-excerpt/index.js.map +1 -1
  179. package/build/components/post-excerpt/panel.js +59 -42
  180. package/build/components/post-excerpt/panel.js.map +1 -1
  181. package/build/components/post-excerpt/plugin.js +7 -4
  182. package/build/components/post-excerpt/plugin.js.map +1 -1
  183. package/build/components/post-featured-image/check.js +17 -7
  184. package/build/components/post-featured-image/check.js.map +1 -1
  185. package/build/components/post-featured-image/index.js +77 -49
  186. package/build/components/post-featured-image/index.js.map +1 -1
  187. package/build/components/post-featured-image/panel.js +22 -7
  188. package/build/components/post-featured-image/panel.js.map +1 -1
  189. package/build/components/post-format/check.js +14 -4
  190. package/build/components/post-format/check.js.map +1 -1
  191. package/build/components/post-format/index.js +37 -20
  192. package/build/components/post-format/index.js.map +1 -1
  193. package/build/components/post-format/panel.js +73 -7
  194. package/build/components/post-format/panel.js.map +1 -1
  195. package/build/components/post-last-edited-panel/index.js +7 -4
  196. package/build/components/post-last-edited-panel/index.js.map +1 -1
  197. package/build/components/post-last-revision/check.js +13 -5
  198. package/build/components/post-last-revision/check.js.map +1 -1
  199. package/build/components/post-last-revision/index.js +19 -13
  200. package/build/components/post-last-revision/index.js.map +1 -1
  201. package/build/components/post-last-revision/panel.js +12 -5
  202. package/build/components/post-last-revision/panel.js.map +1 -1
  203. package/build/components/post-locked-modal/index.js +57 -35
  204. package/build/components/post-locked-modal/index.js.map +1 -1
  205. package/build/components/post-panel-row/index.js +11 -8
  206. package/build/components/post-panel-row/index.js.map +1 -1
  207. package/build/components/post-panel-section/index.js +5 -4
  208. package/build/components/post-panel-section/index.js.map +1 -1
  209. package/build/components/post-pending-status/check.js +10 -0
  210. package/build/components/post-pending-status/check.js.map +1 -1
  211. package/build/components/post-pending-status/index.js +14 -7
  212. package/build/components/post-pending-status/index.js.map +1 -1
  213. package/build/components/post-pingbacks/index.js +13 -5
  214. package/build/components/post-pingbacks/index.js.map +1 -1
  215. package/build/components/post-preview-button/index.js +45 -21
  216. package/build/components/post-preview-button/index.js.map +1 -1
  217. package/build/components/post-publish-button/index.js +21 -11
  218. package/build/components/post-publish-button/index.js.map +1 -1
  219. package/build/components/post-publish-button/post-publish-button-or-toggle.js +2 -2
  220. package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
  221. package/build/components/post-publish-panel/index.js +46 -33
  222. package/build/components/post-publish-panel/index.js.map +1 -1
  223. package/build/components/post-publish-panel/maybe-category-panel.js +12 -9
  224. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  225. package/build/components/post-publish-panel/maybe-post-format-panel.js +21 -15
  226. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  227. package/build/components/post-publish-panel/maybe-tags-panel.js +13 -10
  228. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  229. package/build/components/post-publish-panel/maybe-upload-media.js +29 -24
  230. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  231. package/build/components/post-publish-panel/postpublish.js +55 -38
  232. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  233. package/build/components/post-publish-panel/prepublish.js +41 -26
  234. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  235. package/build/components/post-saved-state/index.js +8 -8
  236. package/build/components/post-saved-state/index.js.map +1 -1
  237. package/build/components/post-schedule/check.js +8 -0
  238. package/build/components/post-schedule/check.js.map +1 -1
  239. package/build/components/post-schedule/index.js +30 -5
  240. package/build/components/post-schedule/index.js.map +1 -1
  241. package/build/components/post-schedule/label.js +16 -0
  242. package/build/components/post-schedule/label.js.map +1 -1
  243. package/build/components/post-schedule/panel.js +43 -30
  244. package/build/components/post-schedule/panel.js.map +1 -1
  245. package/build/components/post-slug/check.js +5 -4
  246. package/build/components/post-slug/check.js.map +1 -1
  247. package/build/components/post-slug/index.js +5 -3
  248. package/build/components/post-slug/index.js.map +1 -1
  249. package/build/components/post-slug/panel.js +7 -4
  250. package/build/components/post-slug/panel.js.map +1 -1
  251. package/build/components/post-status/index.js +118 -119
  252. package/build/components/post-status/index.js.map +1 -1
  253. package/build/components/post-sticky/index.js +16 -8
  254. package/build/components/post-sticky/index.js.map +1 -1
  255. package/build/components/post-sticky/panel.js +6 -2
  256. package/build/components/post-sticky/panel.js.map +1 -1
  257. package/build/components/post-switch-to-draft-button/index.js +25 -21
  258. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  259. package/build/components/post-sync-status/index.js +8 -6
  260. package/build/components/post-sync-status/index.js.map +1 -1
  261. package/build/components/post-taxonomies/flat-term-selector.js +21 -20
  262. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  263. package/build/components/post-taxonomies/hierarchical-term-selector.js +71 -61
  264. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  265. package/build/components/post-taxonomies/index.js +6 -6
  266. package/build/components/post-taxonomies/index.js.map +1 -1
  267. package/build/components/post-taxonomies/most-used-terms.js +19 -15
  268. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  269. package/build/components/post-taxonomies/panel.js +15 -11
  270. package/build/components/post-taxonomies/panel.js.map +1 -1
  271. package/build/components/post-template/block-theme.js +42 -32
  272. package/build/components/post-template/block-theme.js.map +1 -1
  273. package/build/components/post-template/classic-theme.js +73 -50
  274. package/build/components/post-template/classic-theme.js.map +1 -1
  275. package/build/components/post-template/create-new-template-modal.js +33 -27
  276. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  277. package/build/components/post-template/create-new-template.js +14 -11
  278. package/build/components/post-template/create-new-template.js.map +1 -1
  279. package/build/components/post-template/panel.js +16 -10
  280. package/build/components/post-template/panel.js.map +1 -1
  281. package/build/components/post-template/reset-default-template.js +5 -4
  282. package/build/components/post-template/reset-default-template.js.map +1 -1
  283. package/build/components/post-template/swap-template-button.js +20 -15
  284. package/build/components/post-template/swap-template-button.js.map +1 -1
  285. package/build/components/post-text-editor/index.js +27 -20
  286. package/build/components/post-text-editor/index.js.map +1 -1
  287. package/build/components/post-title/index.js +29 -17
  288. package/build/components/post-title/index.js.map +1 -1
  289. package/build/components/post-title/index.native.js +81 -57
  290. package/build/components/post-title/index.native.js.map +1 -1
  291. package/build/components/post-title/post-title-raw.js +10 -3
  292. package/build/components/post-title/post-title-raw.js.map +1 -1
  293. package/build/components/post-title/use-post-title-focus.js +7 -0
  294. package/build/components/post-title/use-post-title-focus.js.map +1 -1
  295. package/build/components/post-title/use-post-title.js +5 -0
  296. package/build/components/post-title/use-post-title.js.map +1 -1
  297. package/build/components/post-transform-panel/index.js +11 -11
  298. package/build/components/post-transform-panel/index.js.map +1 -1
  299. package/build/components/post-trash/index.js +19 -15
  300. package/build/components/post-trash/index.js.map +1 -1
  301. package/build/components/post-url/check.js +8 -0
  302. package/build/components/post-url/check.js.map +1 -1
  303. package/build/components/post-url/index.js +98 -73
  304. package/build/components/post-url/index.js.map +1 -1
  305. package/build/components/post-url/label.js +11 -0
  306. package/build/components/post-url/label.js.map +1 -1
  307. package/build/components/post-url/panel.js +33 -25
  308. package/build/components/post-url/panel.js.map +1 -1
  309. package/build/components/post-view-link/index.js +2 -2
  310. package/build/components/post-view-link/index.js.map +1 -1
  311. package/build/components/post-visibility/check.js +9 -0
  312. package/build/components/post-visibility/check.js.map +1 -1
  313. package/build/components/post-visibility/index.js +83 -68
  314. package/build/components/post-visibility/index.js.map +1 -1
  315. package/build/components/post-visibility/label.js +11 -0
  316. package/build/components/post-visibility/label.js.map +1 -1
  317. package/build/components/posts-per-page/index.js +109 -0
  318. package/build/components/posts-per-page/index.js.map +1 -0
  319. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +7 -5
  320. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  321. package/build/components/preferences-modal/index.js +124 -102
  322. package/build/components/preferences-modal/index.js.map +1 -1
  323. package/build/components/preview-dropdown/index.js +47 -31
  324. package/build/components/preview-dropdown/index.js.map +1 -1
  325. package/build/components/provider/index.js +94 -20
  326. package/build/components/provider/index.js.map +1 -1
  327. package/build/components/provider/index.native.js +55 -19
  328. package/build/components/provider/index.native.js.map +1 -1
  329. package/build/components/provider/use-block-editor-settings.js +7 -6
  330. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  331. package/build/components/provider/with-registry-provider.js +31 -24
  332. package/build/components/provider/with-registry-provider.js.map +1 -1
  333. package/build/components/resizable-editor/index.js +96 -0
  334. package/build/components/resizable-editor/index.js.map +1 -0
  335. package/build/components/resizable-editor/resize-handle.js +59 -0
  336. package/build/components/resizable-editor/resize-handle.js.map +1 -0
  337. package/build/components/save-publish-panels/index.js +35 -26
  338. package/build/components/save-publish-panels/index.js.map +1 -1
  339. package/build/components/sidebar/header.js +17 -14
  340. package/build/components/sidebar/header.js.map +1 -1
  341. package/build/components/sidebar/index.js +36 -32
  342. package/build/components/sidebar/index.js.map +1 -1
  343. package/build/components/sidebar/post-summary.js +38 -33
  344. package/build/components/sidebar/post-summary.js.map +1 -1
  345. package/build/components/site-discussion/index.js +133 -0
  346. package/build/components/site-discussion/index.js.map +1 -0
  347. package/build/components/start-page-options/index.js +13 -11
  348. package/build/components/start-page-options/index.js.map +1 -1
  349. package/build/components/start-template-options/index.js +29 -23
  350. package/build/components/start-template-options/index.js.map +1 -1
  351. package/build/components/table-of-contents/index.js +4 -4
  352. package/build/components/table-of-contents/index.js.map +1 -1
  353. package/build/components/table-of-contents/panel.js +53 -35
  354. package/build/components/table-of-contents/panel.js.map +1 -1
  355. package/build/components/template-areas/index.js +36 -22
  356. package/build/components/template-areas/index.js.map +1 -1
  357. package/build/components/template-content-panel/index.js +7 -6
  358. package/build/components/template-content-panel/index.js.map +1 -1
  359. package/build/components/template-validation-notice/index.js +25 -21
  360. package/build/components/template-validation-notice/index.js.map +1 -1
  361. package/build/components/text-editor/index.js +73 -0
  362. package/build/components/text-editor/index.js.map +1 -0
  363. package/build/components/time-to-read/index.js +8 -8
  364. package/build/components/time-to-read/index.js.map +1 -1
  365. package/build/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +6 -6
  366. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -0
  367. package/build/components/{editor-canvas → visual-editor}/index.js +115 -74
  368. package/build/components/visual-editor/index.js.map +1 -0
  369. package/build/components/word-count/index.js +5 -4
  370. package/build/components/word-count/index.js.map +1 -1
  371. package/build/hooks/custom-sources-backwards-compatibility.js +3 -4
  372. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  373. package/build/hooks/index.js +1 -0
  374. package/build/hooks/index.js.map +1 -1
  375. package/build/hooks/media-upload.js +10 -0
  376. package/build/hooks/media-upload.js.map +1 -0
  377. package/build/hooks/pattern-overrides.js +15 -11
  378. package/build/hooks/pattern-overrides.js.map +1 -1
  379. package/build/private-apis.js +10 -28
  380. package/build/private-apis.js.map +1 -1
  381. package/build/private-apis.native.js +2 -26
  382. package/build/private-apis.native.js.map +1 -1
  383. package/build/store/constants.js +4 -1
  384. package/build/store/constants.js.map +1 -1
  385. package/build/store/private-actions.js +10 -14
  386. package/build/store/private-actions.js.map +1 -1
  387. package/build/store/private-selectors.js +39 -1
  388. package/build/store/private-selectors.js.map +1 -1
  389. package/build/store/selectors.js +1 -1
  390. package/build/store/selectors.js.map +1 -1
  391. package/build/utils/set-nested-value.js +44 -0
  392. package/build/utils/set-nested-value.js.map +1 -0
  393. package/build-module/bindings/index.js +1 -3
  394. package/build-module/bindings/index.js.map +1 -1
  395. package/build-module/bindings/pattern-overrides.js +1 -1
  396. package/build-module/bindings/pattern-overrides.js.map +1 -1
  397. package/build-module/bindings/post-meta.js +38 -2
  398. package/build-module/bindings/post-meta.js.map +1 -1
  399. package/build-module/components/autocompleters/user.js +14 -9
  400. package/build-module/components/autocompleters/user.js.map +1 -1
  401. package/build-module/components/block-manager/category.js +20 -17
  402. package/build-module/components/block-manager/category.js.map +1 -1
  403. package/build-module/components/block-manager/checklist.js +16 -14
  404. package/build-module/components/block-manager/checklist.js.map +1 -1
  405. package/build-module/components/block-manager/index.js +38 -33
  406. package/build-module/components/block-manager/index.js.map +1 -1
  407. package/build-module/components/block-removal-warnings/index.js +2 -2
  408. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  409. package/build-module/components/block-settings-menu/content-only-settings-menu.js +48 -32
  410. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  411. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +16 -13
  412. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  413. package/build-module/components/blog-title/index.js +110 -0
  414. package/build-module/components/blog-title/index.js.map +1 -0
  415. package/build-module/components/collapsible-block-toolbar/index.js +23 -18
  416. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
  417. package/build-module/components/commands/index.js +111 -5
  418. package/build-module/components/commands/index.js.map +1 -1
  419. package/build-module/components/create-template-part-modal/index.js +160 -0
  420. package/build-module/components/create-template-part-modal/index.js.map +1 -0
  421. package/build-module/components/create-template-part-modal/utils.js +54 -0
  422. package/build-module/components/create-template-part-modal/utils.js.map +1 -0
  423. package/build-module/components/deprecated.js +2 -2
  424. package/build-module/components/deprecated.js.map +1 -1
  425. package/build-module/components/document-bar/index.js +93 -68
  426. package/build-module/components/document-bar/index.js.map +1 -1
  427. package/build-module/components/document-outline/index.js +125 -120
  428. package/build-module/components/document-outline/index.js.map +1 -1
  429. package/build-module/components/document-outline/item.js +19 -14
  430. package/build-module/components/document-outline/item.js.map +1 -1
  431. package/build-module/components/document-tools/index.js +58 -53
  432. package/build-module/components/document-tools/index.js.map +1 -1
  433. package/build-module/components/editor-help/add-blocks.native.js +16 -11
  434. package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
  435. package/build-module/components/editor-help/customize-blocks.native.js +16 -11
  436. package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
  437. package/build-module/components/editor-help/help-detail-navigation-screen.native.js +33 -22
  438. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  439. package/build-module/components/editor-help/help-get-support-button.native.js +8 -6
  440. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  441. package/build-module/components/editor-help/help-section-title.native.js +8 -6
  442. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  443. package/build-module/components/editor-help/help-topic-row.native.js +7 -6
  444. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  445. package/build-module/components/editor-help/icon-move-blocks.native.js +7 -6
  446. package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
  447. package/build-module/components/editor-help/index.native.js +96 -76
  448. package/build-module/components/editor-help/index.native.js.map +1 -1
  449. package/build-module/components/editor-help/intro-to-blocks.native.js +43 -37
  450. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  451. package/build-module/components/editor-help/move-blocks.native.js +27 -21
  452. package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
  453. package/build-module/components/editor-help/remove-blocks.native.js +14 -9
  454. package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
  455. package/build-module/components/editor-help/view-sections.native.js +25 -19
  456. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  457. package/build-module/components/editor-history/redo.js +2 -2
  458. package/build-module/components/editor-history/redo.js.map +1 -1
  459. package/build-module/components/editor-history/undo.js +2 -2
  460. package/build-module/components/editor-history/undo.js.map +1 -1
  461. package/build-module/components/editor-interface/content-slot-fill.js +16 -0
  462. package/build-module/components/editor-interface/content-slot-fill.js.map +1 -0
  463. package/build-module/components/editor-interface/index.js +172 -0
  464. package/build-module/components/editor-interface/index.js.map +1 -0
  465. package/build-module/components/editor-notices/index.js +25 -9
  466. package/build-module/components/editor-notices/index.js.map +1 -1
  467. package/build-module/components/editor-snackbars/index.js +2 -2
  468. package/build-module/components/editor-snackbars/index.js.map +1 -1
  469. package/build-module/components/entities-saved-states/entity-record-item.js +40 -11
  470. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  471. package/build-module/components/entities-saved-states/entity-type-list.js +26 -22
  472. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  473. package/build-module/components/entities-saved-states/index.js +54 -46
  474. package/build-module/components/entities-saved-states/index.js.map +1 -1
  475. package/build-module/components/error-boundary/index.js +27 -14
  476. package/build-module/components/error-boundary/index.js.map +1 -1
  477. package/build-module/components/error-boundary/index.native.js +46 -35
  478. package/build-module/components/error-boundary/index.native.js.map +1 -1
  479. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +2 -2
  480. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  481. package/build-module/components/global-styles-provider/index.js +82 -17
  482. package/build-module/components/global-styles-provider/index.js.map +1 -1
  483. package/build-module/components/header/back-button.js +28 -0
  484. package/build-module/components/header/back-button.js.map +1 -0
  485. package/build-module/components/header/index.js +89 -59
  486. package/build-module/components/header/index.js.map +1 -1
  487. package/build-module/components/inserter-sidebar/index.js +47 -21
  488. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  489. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
  490. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  491. package/build-module/components/keyboard-shortcut-help-modal/index.js +54 -48
  492. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  493. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +32 -26
  494. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  495. package/build-module/components/list-view-sidebar/index.js +60 -47
  496. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  497. package/build-module/components/list-view-sidebar/list-view-outline.js +23 -4
  498. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
  499. package/build-module/components/local-autosave-monitor/index.js +15 -2
  500. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  501. package/build-module/components/mode-switcher/index.js +9 -8
  502. package/build-module/components/mode-switcher/index.js.map +1 -1
  503. package/build-module/components/more-menu/copy-content-menu-item.js +5 -4
  504. package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -1
  505. package/build-module/components/more-menu/index.js +91 -76
  506. package/build-module/components/more-menu/index.js.map +1 -1
  507. package/build-module/components/more-menu/tools-more-menu-group.js +2 -2
  508. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -1
  509. package/build-module/components/more-menu/view-more-menu-group.js +2 -2
  510. package/build-module/components/more-menu/view-more-menu-group.js.map +1 -1
  511. package/build-module/components/offline-status/index.native.js +12 -9
  512. package/build-module/components/offline-status/index.native.js.map +1 -1
  513. package/build-module/components/page-attributes/order.js +90 -17
  514. package/build-module/components/page-attributes/order.js.map +1 -1
  515. package/build-module/components/page-attributes/panel.js +13 -21
  516. package/build-module/components/page-attributes/panel.js.map +1 -1
  517. package/build-module/components/page-attributes/parent.js +88 -5
  518. package/build-module/components/page-attributes/parent.js.map +1 -1
  519. package/build-module/components/pattern-duplicate-modal/index.js +51 -0
  520. package/build-module/components/pattern-duplicate-modal/index.js.map +1 -0
  521. package/build-module/components/pattern-overrides-panel/index.js +2 -2
  522. package/build-module/components/pattern-overrides-panel/index.js.map +1 -1
  523. package/build-module/components/pattern-rename-modal/index.js +50 -0
  524. package/build-module/components/pattern-rename-modal/index.js.map +1 -0
  525. package/build-module/components/plugin-document-setting-panel/index.js +19 -12
  526. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  527. package/build-module/components/plugin-post-publish-panel/index.js +10 -7
  528. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
  529. package/build-module/components/plugin-post-status-info/index.js +7 -4
  530. package/build-module/components/plugin-post-status-info/index.js.map +1 -1
  531. package/build-module/components/plugin-pre-publish-panel/index.js +10 -7
  532. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
  533. package/build-module/components/plugin-sidebar/index.js +2 -2
  534. package/build-module/components/plugin-sidebar/index.js.map +1 -1
  535. package/build-module/components/plugin-sidebar-more-menu-item/index.js +2 -3
  536. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
  537. package/build-module/components/post-actions/actions.js +379 -309
  538. package/build-module/components/post-actions/actions.js.map +1 -1
  539. package/build-module/components/post-actions/export-pattern-action.js +58 -0
  540. package/build-module/components/post-actions/export-pattern-action.js.map +1 -0
  541. package/build-module/components/post-actions/export-pattern-action.native.js +5 -0
  542. package/build-module/components/post-actions/export-pattern-action.native.js.map +1 -0
  543. package/build-module/components/post-actions/index.js +68 -50
  544. package/build-module/components/post-actions/index.js.map +1 -1
  545. package/build-module/components/post-author/check.js +5 -4
  546. package/build-module/components/post-author/check.js.map +1 -1
  547. package/build-module/components/post-author/combobox.js +4 -3
  548. package/build-module/components/post-author/combobox.js.map +1 -1
  549. package/build-module/components/post-author/hook.js +2 -1
  550. package/build-module/components/post-author/hook.js.map +1 -1
  551. package/build-module/components/post-author/index.js +3 -3
  552. package/build-module/components/post-author/index.js.map +1 -1
  553. package/build-module/components/post-author/panel.js +72 -4
  554. package/build-module/components/post-author/panel.js.map +1 -1
  555. package/build-module/components/post-author/select.js +4 -3
  556. package/build-module/components/post-author/select.js.map +1 -1
  557. package/build-module/components/post-card-panel/index.js +54 -20
  558. package/build-module/components/post-card-panel/index.js.map +1 -1
  559. package/build-module/components/post-comments/index.js +40 -22
  560. package/build-module/components/post-comments/index.js.map +1 -1
  561. package/build-module/components/post-content-information/index.js +8 -5
  562. package/build-module/components/post-content-information/index.js.map +1 -1
  563. package/build-module/components/post-discussion/panel.js +56 -39
  564. package/build-module/components/post-discussion/panel.js.map +1 -1
  565. package/build-module/components/post-excerpt/check.js +5 -4
  566. package/build-module/components/post-excerpt/check.js.map +1 -1
  567. package/build-module/components/post-excerpt/index.js +17 -15
  568. package/build-module/components/post-excerpt/index.js.map +1 -1
  569. package/build-module/components/post-excerpt/panel.js +60 -40
  570. package/build-module/components/post-excerpt/panel.js.map +1 -1
  571. package/build-module/components/post-excerpt/plugin.js +7 -4
  572. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  573. package/build-module/components/post-featured-image/check.js +18 -6
  574. package/build-module/components/post-featured-image/check.js.map +1 -1
  575. package/build-module/components/post-featured-image/index.js +78 -49
  576. package/build-module/components/post-featured-image/index.js.map +1 -1
  577. package/build-module/components/post-featured-image/panel.js +22 -7
  578. package/build-module/components/post-featured-image/panel.js.map +1 -1
  579. package/build-module/components/post-format/check.js +14 -4
  580. package/build-module/components/post-format/check.js.map +1 -1
  581. package/build-module/components/post-format/index.js +39 -21
  582. package/build-module/components/post-format/index.js.map +1 -1
  583. package/build-module/components/post-format/panel.js +75 -7
  584. package/build-module/components/post-format/panel.js.map +1 -1
  585. package/build-module/components/post-last-edited-panel/index.js +7 -4
  586. package/build-module/components/post-last-edited-panel/index.js.map +1 -1
  587. package/build-module/components/post-last-revision/check.js +14 -4
  588. package/build-module/components/post-last-revision/check.js.map +1 -1
  589. package/build-module/components/post-last-revision/index.js +21 -13
  590. package/build-module/components/post-last-revision/index.js.map +1 -1
  591. package/build-module/components/post-last-revision/panel.js +13 -4
  592. package/build-module/components/post-last-revision/panel.js.map +1 -1
  593. package/build-module/components/post-locked-modal/index.js +60 -34
  594. package/build-module/components/post-locked-modal/index.js.map +1 -1
  595. package/build-module/components/post-panel-row/index.js +12 -8
  596. package/build-module/components/post-panel-row/index.js.map +1 -1
  597. package/build-module/components/post-panel-section/index.js +5 -4
  598. package/build-module/components/post-panel-section/index.js.map +1 -1
  599. package/build-module/components/post-pending-status/check.js +11 -0
  600. package/build-module/components/post-pending-status/check.js.map +1 -1
  601. package/build-module/components/post-pending-status/index.js +15 -7
  602. package/build-module/components/post-pending-status/index.js.map +1 -1
  603. package/build-module/components/post-pingbacks/index.js +13 -5
  604. package/build-module/components/post-pingbacks/index.js.map +1 -1
  605. package/build-module/components/post-preview-button/index.js +47 -21
  606. package/build-module/components/post-preview-button/index.js.map +1 -1
  607. package/build-module/components/post-publish-button/index.js +22 -11
  608. package/build-module/components/post-publish-button/index.js.map +1 -1
  609. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +2 -2
  610. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
  611. package/build-module/components/post-publish-panel/index.js +48 -33
  612. package/build-module/components/post-publish-panel/index.js.map +1 -1
  613. package/build-module/components/post-publish-panel/maybe-category-panel.js +13 -9
  614. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  615. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +22 -15
  616. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  617. package/build-module/components/post-publish-panel/maybe-tags-panel.js +14 -10
  618. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  619. package/build-module/components/post-publish-panel/maybe-upload-media.js +30 -24
  620. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  621. package/build-module/components/post-publish-panel/postpublish.js +57 -38
  622. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  623. package/build-module/components/post-publish-panel/prepublish.js +43 -26
  624. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  625. package/build-module/components/post-saved-state/index.js +8 -6
  626. package/build-module/components/post-saved-state/index.js.map +1 -1
  627. package/build-module/components/post-schedule/check.js +9 -0
  628. package/build-module/components/post-schedule/check.js.map +1 -1
  629. package/build-module/components/post-schedule/index.js +30 -6
  630. package/build-module/components/post-schedule/index.js.map +1 -1
  631. package/build-module/components/post-schedule/label.js +17 -0
  632. package/build-module/components/post-schedule/label.js.map +1 -1
  633. package/build-module/components/post-schedule/panel.js +43 -30
  634. package/build-module/components/post-schedule/panel.js.map +1 -1
  635. package/build-module/components/post-slug/check.js +5 -4
  636. package/build-module/components/post-slug/check.js.map +1 -1
  637. package/build-module/components/post-slug/index.js +5 -3
  638. package/build-module/components/post-slug/index.js.map +1 -1
  639. package/build-module/components/post-slug/panel.js +7 -4
  640. package/build-module/components/post-slug/panel.js.map +1 -1
  641. package/build-module/components/post-status/index.js +121 -120
  642. package/build-module/components/post-status/index.js.map +1 -1
  643. package/build-module/components/post-sticky/index.js +17 -9
  644. package/build-module/components/post-sticky/index.js.map +1 -1
  645. package/build-module/components/post-sticky/panel.js +6 -2
  646. package/build-module/components/post-sticky/panel.js.map +1 -1
  647. package/build-module/components/post-switch-to-draft-button/index.js +27 -21
  648. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  649. package/build-module/components/post-sync-status/index.js +8 -6
  650. package/build-module/components/post-sync-status/index.js.map +1 -1
  651. package/build-module/components/post-taxonomies/flat-term-selector.js +22 -18
  652. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  653. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +71 -59
  654. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  655. package/build-module/components/post-taxonomies/index.js +6 -6
  656. package/build-module/components/post-taxonomies/index.js.map +1 -1
  657. package/build-module/components/post-taxonomies/most-used-terms.js +20 -15
  658. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  659. package/build-module/components/post-taxonomies/panel.js +15 -11
  660. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  661. package/build-module/components/post-template/block-theme.js +44 -32
  662. package/build-module/components/post-template/block-theme.js.map +1 -1
  663. package/build-module/components/post-template/classic-theme.js +74 -50
  664. package/build-module/components/post-template/classic-theme.js.map +1 -1
  665. package/build-module/components/post-template/create-new-template-modal.js +34 -27
  666. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  667. package/build-module/components/post-template/create-new-template.js +16 -11
  668. package/build-module/components/post-template/create-new-template.js.map +1 -1
  669. package/build-module/components/post-template/panel.js +17 -9
  670. package/build-module/components/post-template/panel.js.map +1 -1
  671. package/build-module/components/post-template/reset-default-template.js +5 -4
  672. package/build-module/components/post-template/reset-default-template.js.map +1 -1
  673. package/build-module/components/post-template/swap-template-button.js +22 -15
  674. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  675. package/build-module/components/post-text-editor/index.js +30 -19
  676. package/build-module/components/post-text-editor/index.js.map +1 -1
  677. package/build-module/components/post-title/index.js +29 -18
  678. package/build-module/components/post-title/index.js.map +1 -1
  679. package/build-module/components/post-title/index.native.js +81 -57
  680. package/build-module/components/post-title/index.native.js.map +1 -1
  681. package/build-module/components/post-title/post-title-raw.js +11 -2
  682. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  683. package/build-module/components/post-title/use-post-title-focus.js +8 -0
  684. package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
  685. package/build-module/components/post-title/use-post-title.js +6 -0
  686. package/build-module/components/post-title/use-post-title.js.map +1 -1
  687. package/build-module/components/post-transform-panel/index.js +12 -12
  688. package/build-module/components/post-transform-panel/index.js.map +1 -1
  689. package/build-module/components/post-trash/index.js +21 -15
  690. package/build-module/components/post-trash/index.js.map +1 -1
  691. package/build-module/components/post-url/check.js +9 -0
  692. package/build-module/components/post-url/check.js.map +1 -1
  693. package/build-module/components/post-url/index.js +100 -72
  694. package/build-module/components/post-url/index.js.map +1 -1
  695. package/build-module/components/post-url/label.js +12 -0
  696. package/build-module/components/post-url/label.js.map +1 -1
  697. package/build-module/components/post-url/panel.js +35 -24
  698. package/build-module/components/post-url/panel.js.map +1 -1
  699. package/build-module/components/post-view-link/index.js +2 -2
  700. package/build-module/components/post-view-link/index.js.map +1 -1
  701. package/build-module/components/post-visibility/check.js +10 -0
  702. package/build-module/components/post-visibility/check.js.map +1 -1
  703. package/build-module/components/post-visibility/index.js +85 -67
  704. package/build-module/components/post-visibility/index.js.map +1 -1
  705. package/build-module/components/post-visibility/label.js +12 -0
  706. package/build-module/components/post-visibility/label.js.map +1 -1
  707. package/build-module/components/posts-per-page/index.js +103 -0
  708. package/build-module/components/posts-per-page/index.js.map +1 -0
  709. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js +7 -5
  710. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  711. package/build-module/components/preferences-modal/index.js +126 -102
  712. package/build-module/components/preferences-modal/index.js.map +1 -1
  713. package/build-module/components/preview-dropdown/index.js +49 -31
  714. package/build-module/components/preview-dropdown/index.js.map +1 -1
  715. package/build-module/components/provider/index.js +96 -20
  716. package/build-module/components/provider/index.js.map +1 -1
  717. package/build-module/components/provider/index.native.js +58 -20
  718. package/build-module/components/provider/index.native.js.map +1 -1
  719. package/build-module/components/provider/use-block-editor-settings.js +7 -6
  720. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  721. package/build-module/components/provider/with-registry-provider.js +33 -26
  722. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  723. package/build-module/components/resizable-editor/index.js +89 -0
  724. package/build-module/components/resizable-editor/index.js.map +1 -0
  725. package/build-module/components/resizable-editor/resize-handle.js +54 -0
  726. package/build-module/components/resizable-editor/resize-handle.js.map +1 -0
  727. package/build-module/components/save-publish-panels/index.js +37 -26
  728. package/build-module/components/save-publish-panels/index.js.map +1 -1
  729. package/build-module/components/sidebar/header.js +18 -14
  730. package/build-module/components/sidebar/header.js.map +1 -1
  731. package/build-module/components/sidebar/index.js +36 -31
  732. package/build-module/components/sidebar/index.js.map +1 -1
  733. package/build-module/components/sidebar/post-summary.js +33 -25
  734. package/build-module/components/sidebar/post-summary.js.map +1 -1
  735. package/build-module/components/site-discussion/index.js +127 -0
  736. package/build-module/components/site-discussion/index.js.map +1 -0
  737. package/build-module/components/start-page-options/index.js +13 -11
  738. package/build-module/components/start-page-options/index.js.map +1 -1
  739. package/build-module/components/start-template-options/index.js +30 -23
  740. package/build-module/components/start-template-options/index.js.map +1 -1
  741. package/build-module/components/table-of-contents/index.js +4 -4
  742. package/build-module/components/table-of-contents/index.js.map +1 -1
  743. package/build-module/components/table-of-contents/panel.js +55 -35
  744. package/build-module/components/table-of-contents/panel.js.map +1 -1
  745. package/build-module/components/template-areas/index.js +37 -22
  746. package/build-module/components/template-areas/index.js.map +1 -1
  747. package/build-module/components/template-content-panel/index.js +7 -6
  748. package/build-module/components/template-content-panel/index.js.map +1 -1
  749. package/build-module/components/template-validation-notice/index.js +27 -21
  750. package/build-module/components/template-validation-notice/index.js.map +1 -1
  751. package/build-module/components/text-editor/index.js +66 -0
  752. package/build-module/components/text-editor/index.js.map +1 -0
  753. package/build-module/components/time-to-read/index.js +7 -6
  754. package/build-module/components/time-to-read/index.js.map +1 -1
  755. package/build-module/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +5 -4
  756. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -0
  757. package/build-module/components/{editor-canvas → visual-editor}/index.js +118 -75
  758. package/build-module/components/visual-editor/index.js.map +1 -0
  759. package/build-module/components/word-count/index.js +5 -4
  760. package/build-module/components/word-count/index.js.map +1 -1
  761. package/build-module/hooks/custom-sources-backwards-compatibility.js +2 -2
  762. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  763. package/build-module/hooks/index.js +1 -0
  764. package/build-module/hooks/index.js.map +1 -1
  765. package/build-module/hooks/media-upload.js +7 -0
  766. package/build-module/hooks/media-upload.js.map +1 -0
  767. package/build-module/hooks/pattern-overrides.js +17 -11
  768. package/build-module/hooks/pattern-overrides.js.map +1 -1
  769. package/build-module/private-apis.js +10 -28
  770. package/build-module/private-apis.js.map +1 -1
  771. package/build-module/private-apis.native.js +2 -26
  772. package/build-module/private-apis.native.js.map +1 -1
  773. package/build-module/store/constants.js +3 -0
  774. package/build-module/store/constants.js.map +1 -1
  775. package/build-module/store/private-actions.js +10 -14
  776. package/build-module/store/private-actions.js.map +1 -1
  777. package/build-module/store/private-selectors.js +38 -1
  778. package/build-module/store/private-selectors.js.map +1 -1
  779. package/build-module/store/selectors.js +1 -1
  780. package/build-module/store/selectors.js.map +1 -1
  781. package/build-module/utils/set-nested-value.js +38 -0
  782. package/build-module/utils/set-nested-value.js.map +1 -0
  783. package/build-style/style-rtl.css +318 -90
  784. package/build-style/style.css +318 -90
  785. package/package.json +40 -36
  786. package/src/bindings/index.js +1 -4
  787. package/src/bindings/pattern-overrides.js +1 -1
  788. package/src/bindings/post-meta.js +46 -6
  789. package/src/components/blog-title/index.js +124 -0
  790. package/src/components/blog-title/style.scss +4 -0
  791. package/src/components/commands/index.js +113 -3
  792. package/src/components/create-template-part-modal/index.js +205 -0
  793. package/src/components/create-template-part-modal/style.scss +69 -0
  794. package/src/components/create-template-part-modal/test/utils.js +60 -0
  795. package/src/components/create-template-part-modal/utils.js +67 -0
  796. package/src/components/document-bar/index.js +32 -21
  797. package/src/components/document-tools/index.js +2 -7
  798. package/src/components/editor-help/help-get-support-button.native.js +1 -1
  799. package/src/components/editor-interface/content-slot-fill.js +15 -0
  800. package/src/components/editor-interface/index.js +230 -0
  801. package/src/components/editor-notices/index.js +10 -0
  802. package/src/components/entities-saved-states/entity-record-item.js +45 -16
  803. package/src/components/entities-saved-states/style.scss +13 -0
  804. package/src/components/error-boundary/index.js +10 -0
  805. package/src/components/error-boundary/index.native.js +1 -1
  806. package/src/components/global-styles-provider/index.js +100 -8
  807. package/src/components/header/back-button.js +27 -0
  808. package/src/components/header/index.js +25 -10
  809. package/src/components/header/style.scss +5 -0
  810. package/src/components/inserter-sidebar/index.js +65 -32
  811. package/src/components/inserter-sidebar/style.scss +0 -13
  812. package/src/components/local-autosave-monitor/index.js +12 -0
  813. package/src/components/page-attributes/order.js +79 -3
  814. package/src/components/page-attributes/panel.js +10 -26
  815. package/src/components/page-attributes/parent.js +98 -2
  816. package/src/components/page-attributes/style.scss +19 -0
  817. package/src/components/pattern-duplicate-modal/index.js +50 -0
  818. package/src/components/pattern-rename-modal/index.js +44 -0
  819. package/src/components/post-actions/actions.js +306 -261
  820. package/src/components/post-actions/export-pattern-action.js +74 -0
  821. package/src/components/post-actions/export-pattern-action.native.js +4 -0
  822. package/src/components/post-actions/index.js +16 -5
  823. package/src/components/post-author/combobox.js +1 -0
  824. package/src/components/post-author/hook.js +1 -1
  825. package/src/components/post-author/panel.js +63 -2
  826. package/src/components/post-author/select.js +1 -0
  827. package/src/components/post-author/style.scss +6 -0
  828. package/src/components/post-card-panel/index.js +69 -22
  829. package/src/components/post-card-panel/style.scss +23 -1
  830. package/src/components/post-comments/index.js +5 -0
  831. package/src/components/post-discussion/panel.js +9 -2
  832. package/src/components/post-discussion/style.scss +1 -3
  833. package/src/components/post-excerpt/panel.js +45 -48
  834. package/src/components/post-excerpt/style.scss +0 -17
  835. package/src/components/post-featured-image/check.js +9 -0
  836. package/src/components/post-featured-image/index.js +15 -0
  837. package/src/components/post-featured-image/panel.js +9 -0
  838. package/src/components/post-format/check.js +8 -0
  839. package/src/components/post-format/index.js +15 -4
  840. package/src/components/post-format/panel.js +71 -6
  841. package/src/components/post-format/style.scss +10 -4
  842. package/src/components/post-last-revision/check.js +8 -0
  843. package/src/components/post-last-revision/index.js +7 -2
  844. package/src/components/post-last-revision/panel.js +5 -0
  845. package/src/components/post-locked-modal/index.js +6 -0
  846. package/src/components/post-panel-row/style.scss +15 -0
  847. package/src/components/post-pending-status/check.js +10 -0
  848. package/src/components/post-pending-status/index.js +5 -0
  849. package/src/components/post-pingbacks/index.js +6 -0
  850. package/src/components/post-preview-button/index.js +15 -0
  851. package/src/components/post-publish-button/index.js +17 -4
  852. package/src/components/post-publish-panel/index.js +1 -0
  853. package/src/components/post-publish-panel/maybe-tags-panel.js +1 -1
  854. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +3 -3
  855. package/src/components/post-schedule/check.js +8 -0
  856. package/src/components/post-schedule/index.js +30 -3
  857. package/src/components/post-schedule/label.js +15 -0
  858. package/src/components/post-schedule/panel.js +9 -1
  859. package/src/components/post-schedule/style.scss +0 -11
  860. package/src/components/post-status/index.js +30 -52
  861. package/src/components/post-status/style.scss +4 -34
  862. package/src/components/post-sticky/index.js +12 -7
  863. package/src/components/post-sticky/style.scss +3 -0
  864. package/src/components/post-template/block-theme.js +1 -0
  865. package/src/components/post-template/classic-theme.js +15 -0
  866. package/src/components/post-template/panel.js +5 -0
  867. package/src/components/post-template/style.scss +0 -8
  868. package/src/components/post-text-editor/index.js +5 -0
  869. package/src/components/post-title/index.js +8 -1
  870. package/src/components/post-title/index.native.js +70 -35
  871. package/src/components/post-title/post-title-raw.js +8 -0
  872. package/src/components/post-title/use-post-title-focus.js +7 -0
  873. package/src/components/post-title/use-post-title.js +5 -0
  874. package/src/components/post-transform-panel/index.js +2 -10
  875. package/src/components/post-url/check.js +8 -0
  876. package/src/components/post-url/index.js +41 -24
  877. package/src/components/post-url/label.js +10 -0
  878. package/src/components/post-url/panel.js +6 -1
  879. package/src/components/post-url/style.scss +0 -9
  880. package/src/components/post-visibility/check.js +9 -0
  881. package/src/components/post-visibility/index.js +7 -0
  882. package/src/components/post-visibility/label.js +10 -0
  883. package/src/components/posts-per-page/index.js +101 -0
  884. package/src/components/posts-per-page/style.scss +4 -0
  885. package/src/components/provider/index.js +68 -0
  886. package/src/components/provider/index.native.js +43 -2
  887. package/src/components/provider/use-block-editor-settings.js +4 -6
  888. package/src/components/provider/with-registry-provider.js +32 -31
  889. package/src/components/resizable-editor/index.js +90 -0
  890. package/src/components/resizable-editor/resize-handle.js +62 -0
  891. package/src/components/resizable-editor/style.scss +53 -0
  892. package/src/components/save-publish-panels/index.js +10 -2
  893. package/src/components/sidebar/index.js +0 -4
  894. package/src/components/sidebar/post-summary.js +14 -21
  895. package/src/components/sidebar/style.scss +1 -1
  896. package/src/components/site-discussion/index.js +138 -0
  897. package/src/components/site-discussion/style.scss +19 -0
  898. package/src/components/start-template-options/style.scss +0 -8
  899. package/src/components/template-areas/index.js +15 -6
  900. package/src/components/text-editor/index.js +57 -0
  901. package/src/components/text-editor/style.scss +71 -0
  902. package/src/components/{editor-canvas → visual-editor}/index.js +177 -108
  903. package/src/components/visual-editor/style.scss +37 -0
  904. package/src/hooks/index.js +1 -0
  905. package/src/hooks/media-upload.js +11 -0
  906. package/src/private-apis.js +10 -28
  907. package/src/private-apis.native.js +2 -26
  908. package/src/store/constants.js +7 -0
  909. package/src/store/private-actions.js +22 -50
  910. package/src/store/private-selectors.js +45 -0
  911. package/src/store/selectors.js +1 -1
  912. package/src/style.scss +9 -0
  913. package/src/utils/set-nested-value.js +39 -0
  914. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +0 -1
  915. package/build/components/editor-canvas/index.js.map +0 -1
  916. package/build/components/post-trash/panel.js +0 -18
  917. package/build/components/post-trash/panel.js.map +0 -1
  918. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +0 -1
  919. package/build-module/components/editor-canvas/index.js.map +0 -1
  920. package/build-module/components/post-trash/panel.js +0 -10
  921. package/build-module/components/post-trash/panel.js.map +0 -1
  922. package/src/components/post-trash/panel.js +0 -13
  923. package/src/components/provider/README.md +0 -37
  924. /package/src/components/{editor-canvas → visual-editor}/edit-template-blocks-notification.js +0 -0
@@ -1,4 +1,3 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -27,6 +26,12 @@ import StartPageOptions from '../start-page-options';
27
26
  import KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';
28
27
  import ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';
29
28
  import StartTemplateOptions from '../start-template-options';
29
+ import EditorKeyboardShortcuts from '../global-keyboard-shortcuts';
30
+ import PatternRenameModal from '../pattern-rename-modal';
31
+ import PatternDuplicateModal from '../pattern-duplicate-modal';
32
+ import { jsx as _jsx } from "react/jsx-runtime";
33
+ import { Fragment as _Fragment } from "react/jsx-runtime";
34
+ import { jsxs as _jsxs } from "react/jsx-runtime";
30
35
  const {
31
36
  ExperimentalBlockEditorProvider
32
37
  } = unlock(blockEditorPrivateApis);
@@ -50,6 +55,12 @@ const NON_CONTEXTUAL_POST_TYPES = ['wp_block', 'wp_template', 'wp_navigation', '
50
55
  * @param {Array} post Block list.
51
56
  * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.
52
57
  * @param {string} mode Rendering mode.
58
+ *
59
+ * @example
60
+ * ```jsx
61
+ * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );
62
+ * ```
63
+ *
53
64
  * @return {Array} Block editor props.
54
65
  */
55
66
  function useBlockEditorProps(post, template, mode) {
@@ -93,6 +104,33 @@ function useBlockEditorProps(post, template, mode) {
93
104
  }
94
105
  return [blocks, rootLevelPost === 'post' ? onInput : onInputTemplate, rootLevelPost === 'post' ? onChange : onChangeTemplate];
95
106
  }
107
+
108
+ /**
109
+ * This component provides the editor context and manages the state of the block editor.
110
+ *
111
+ * @param {Object} props The component props.
112
+ * @param {Object} props.post The post object.
113
+ * @param {Object} props.settings The editor settings.
114
+ * @param {boolean} props.recovery Indicates if the editor is in recovery mode.
115
+ * @param {Array} props.initialEdits The initial edits for the editor.
116
+ * @param {Object} props.children The child components.
117
+ * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.
118
+ * @param {Object} [props.__unstableTemplate] The template object.
119
+ *
120
+ * @example
121
+ * ```jsx
122
+ * <ExperimentalEditorProvider
123
+ * post={ post }
124
+ * settings={ settings }
125
+ * recovery={ recovery }
126
+ * initialEdits={ initialEdits }
127
+ * __unstableTemplate={ template }
128
+ * >
129
+ * { children }
130
+ * </ExperimentalEditorProvider>
131
+ *
132
+ * @return {Object} The rendered ExperimentalEditorProvider component.
133
+ */
96
134
  export const ExperimentalEditorProvider = withRegistryProvider(({
97
135
  post,
98
136
  settings,
@@ -195,29 +233,67 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
195
233
  if (!isReady) {
196
234
  return null;
197
235
  }
198
- return createElement(EntityProvider, {
236
+ return /*#__PURE__*/_jsx(EntityProvider, {
199
237
  kind: "root",
200
- type: "site"
201
- }, createElement(EntityProvider, {
202
- kind: "postType",
203
- type: post.type,
204
- id: post.id
205
- }, createElement(BlockContextProvider, {
206
- value: defaultBlockContext
207
- }, createElement(BlockEditorProviderComponent, {
208
- value: blocks,
209
- onChange: onChange,
210
- onInput: onInput,
211
- selection: selection,
212
- settings: blockEditorSettings,
213
- useSubRegistry: false
214
- }, children, !settings.__unstableIsPreviewMode && createElement(Fragment, null, createElement(PatternsMenuItems, null), createElement(ContentOnlySettingsMenu, null), mode === 'template-locked' && createElement(DisableNonPageContentBlocks, null), type === 'wp_navigation' && createElement(NavigationBlockEditingMode, null), createElement(KeyboardShortcutHelpModal, null), createElement(BlockRemovalWarnings, null), createElement(StartPageOptions, null), createElement(StartTemplateOptions, null))))));
238
+ type: "site",
239
+ children: /*#__PURE__*/_jsx(EntityProvider, {
240
+ kind: "postType",
241
+ type: post.type,
242
+ id: post.id,
243
+ children: /*#__PURE__*/_jsx(BlockContextProvider, {
244
+ value: defaultBlockContext,
245
+ children: /*#__PURE__*/_jsxs(BlockEditorProviderComponent, {
246
+ value: blocks,
247
+ onChange: onChange,
248
+ onInput: onInput,
249
+ selection: selection,
250
+ settings: blockEditorSettings,
251
+ useSubRegistry: false,
252
+ children: [children, !settings.__unstableIsPreviewMode && /*#__PURE__*/_jsxs(_Fragment, {
253
+ children: [/*#__PURE__*/_jsx(PatternsMenuItems, {}), /*#__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, {})]
254
+ })]
255
+ })
256
+ })
257
+ })
258
+ });
215
259
  });
260
+
261
+ /**
262
+ * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).
263
+ *
264
+ * It supports a large number of post types, including post, page, templates,
265
+ * custom post types, patterns, template parts.
266
+ *
267
+ * All modification and changes are performed to the `@wordpress/core-data` store.
268
+ *
269
+ * @param {Object} props The component props.
270
+ * @param {Object} [props.post] The post object to edit. This is required.
271
+ * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.
272
+ * This is optional and can only be used when the post type supports templates (like posts and pages).
273
+ * @param {Object} [props.settings] The settings object to use for the editor.
274
+ * This is optional and can be used to override the default settings.
275
+ * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.
276
+ * This is optional.
277
+ *
278
+ * @example
279
+ * ```jsx
280
+ * <EditorProvider
281
+ * post={ post }
282
+ * settings={ settings }
283
+ * __unstableTemplate={ template }
284
+ * >
285
+ * { children }
286
+ * </EditorProvider>
287
+ * ```
288
+ *
289
+ * @return {JSX.Element} The rendered EditorProvider component.
290
+ */
216
291
  export function EditorProvider(props) {
217
- return createElement(ExperimentalEditorProvider, {
292
+ return /*#__PURE__*/_jsx(ExperimentalEditorProvider, {
218
293
  ...props,
219
- BlockEditorProviderComponent: BlockEditorProvider
220
- }, props.children);
294
+ BlockEditorProviderComponent: BlockEditorProvider,
295
+ children: props.children
296
+ });
221
297
  }
222
298
  export default EditorProvider;
223
299
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","store","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","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","select","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","_settings$defaultRend","defaultRenderingMode","createElement","kind","value","useSubRegistry","__unstableIsPreviewMode","Fragment","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 { EntityProvider, useEntityBlockEditor } 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';\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_template',\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 * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\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\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 mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\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\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\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\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = 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\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\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\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( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\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.__unstableIsPreviewMode && (\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<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<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</>\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\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","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","store","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","EditorKeyboardShortcuts","PatternRenameModal","PatternDuplicateModal","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","select","getRenderingMode","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","editorSettings","selection","isReady","getEditorSettings","getEditorSelection","__unstableIsEditorReady","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","_settings$defaultRend","defaultRenderingMode","kind","value","useSubRegistry","__unstableIsPreviewMode","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 { EntityProvider, useEntityBlockEditor } 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';\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_template',\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 =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\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 mode = useSelect(\n\t\t\t( select ) => select( editorStore ).getRenderingMode(),\n\t\t\t[]\n\t\t);\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\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\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\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { editorSettings, selection, isReady } = 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\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\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\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( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\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.__unstableIsPreviewMode && (\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<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 {JSX.Element} 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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,eAAe,EAAEC,OAAO,QAAQ,oBAAoB;AACxE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,sBAAsB;AAC3E,SACCC,mBAAmB,EACnBC,oBAAoB,EACpBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASH,WAAW,IAAII,uBAAuB,QAAQ,qBAAqB;AAC5E,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;AAClD,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,0BAA0B,MAAM,iCAAiC;AACxE,SAASC,yBAAyB,QAAQ,iCAAiC;AAC3E,OAAOC,WAAW,MAAM,aAAa;AACrC,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,uBAAuB,MAAM,mDAAmD;AACvF,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,qBAAqB,MAAM,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/D,MAAM;EAAEC;AAAgC,CAAC,GAAGnB,MAAM,CAAER,sBAAuB,CAAC;AAC5E,MAAM;EAAE4B;AAAkB,CAAC,GAAGpB,MAAM,CAAEL,uBAAwB,CAAC;AAE/D,MAAM0B,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,GAAG,CACjC,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,CAClB;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAAEC,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAG;EACpD,MAAMC,aAAa,GAClBD,IAAI,KAAK,WAAW,IAAI,CAAED,QAAQ,GAAG,MAAM,GAAG,UAAU;EACzD,MAAM,CAAEG,UAAU,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAG1C,oBAAoB,CAC7D,UAAU,EACVoC,IAAI,CAACO,IAAI,EACT;IAAEC,EAAE,EAAER,IAAI,CAACQ;EAAG,CACf,CAAC;EACD,MAAM,CAAEC,cAAc,EAAEC,eAAe,EAAEC,gBAAgB,CAAE,GAC1D/C,oBAAoB,CAAE,UAAU,EAAEqC,QAAQ,EAAEM,IAAI,EAAE;IACjDC,EAAE,EAAEP,QAAQ,EAAEO;EACf,CAAE,CAAC;EACJ,MAAMI,qBAAqB,GAAGrD,OAAO,CAAE,MAAM;IAC5C,IAAKyC,IAAI,CAACO,IAAI,KAAK,eAAe,EAAG;MACpC,OAAO,CACNnC,WAAW,CAAE,iBAAiB,EAAE;QAC/ByC,GAAG,EAAEb,IAAI,CAACQ,EAAE;QACZ;QACA;QACA;QACAM,YAAY,EAAE;MACf,CAAE,CAAC,CACH;IACF;EACD,CAAC,EAAE,CAAEd,IAAI,CAACO,IAAI,EAAEP,IAAI,CAACQ,EAAE,CAAG,CAAC;;EAE3B;EACA;EACA,MAAMO,MAAM,GAAGxD,OAAO,CAAE,MAAM;IAC7B,IAAKqD,qBAAqB,EAAG;MAC5B,OAAOA,qBAAqB;IAC7B;IAEA,IAAKT,aAAa,KAAK,UAAU,EAAG;MACnC,OAAOM,cAAc;IACtB;IAEA,OAAOL,UAAU;EAClB,CAAC,EAAE,CAAEQ,qBAAqB,EAAET,aAAa,EAAEM,cAAc,EAAEL,UAAU,CAAG,CAAC;;EAEzE;EACA;EACA;EACA,MAAMY,uBAAuB,GAC1B,CAAC,CAAEf,QAAQ,IAAIC,IAAI,KAAK,iBAAiB,IAC3CF,IAAI,CAACO,IAAI,KAAK,eAAe;EAC9B,IAAKS,uBAAuB,EAAG;IAC9B,OAAO,CAAED,MAAM,EAAElB,IAAI,EAAEA,IAAI,CAAE;EAC9B;EAEA,OAAO,CACNkB,MAAM,EACNZ,aAAa,KAAK,MAAM,GAAGE,OAAO,GAAGK,eAAe,EACpDP,aAAa,KAAK,MAAM,GAAGG,QAAQ,GAAGK,gBAAgB,CACtD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,0BAA0B,GAAG5C,oBAAoB,CAC7D,CAAE;EACD2B,IAAI;EACJkB,QAAQ;EACRC,QAAQ;EACRC,YAAY;EACZC,QAAQ;EACRC,4BAA4B,GAAG3B,+BAA+B;EAC9D4B,kBAAkB,EAAEtB;AACrB,CAAC,KAAM;EACN,MAAMC,IAAI,GAAGzC,SAAS,CACnB+D,MAAM,IAAMA,MAAM,CAAElD,WAAY,CAAC,CAACmD,gBAAgB,CAAC,CAAC,EACtD,EACD,CAAC;EACD,MAAMC,oBAAoB,GAAG,CAAC,CAAEzB,QAAQ,IAAIC,IAAI,KAAK,WAAW;EAChE,MAAMC,aAAa,GAAGuB,oBAAoB,GAAGzB,QAAQ,GAAGD,IAAI;EAC5D,MAAM2B,mBAAmB,GAAGpE,OAAO,CAAE,MAAM;IAC1C,MAAMqE,WAAW,GAChB,CAAE9B,yBAAyB,CAAC+B,QAAQ,CAAE1B,aAAa,CAACI,IAAK,CAAC,IAC1DmB,oBAAoB,GACjB;MAAEI,MAAM,EAAE9B,IAAI,CAACQ,EAAE;MAAEuB,QAAQ,EAAE/B,IAAI,CAACO;IAAK,CAAC,GACxC,CAAC,CAAC;IAEN,OAAO;MACN,GAAGqB,WAAW;MACdI,YAAY,EACX7B,aAAa,CAACI,IAAI,KAAK,aAAa,GACjCJ,aAAa,CAAC8B,IAAI,GAClBC;IACL,CAAC;EACF,CAAC,EAAE,CACFR,oBAAoB,EACpB1B,IAAI,CAACQ,EAAE,EACPR,IAAI,CAACO,IAAI,EACTJ,aAAa,CAACI,IAAI,EAClBJ,aAAa,CAAC8B,IAAI,CACjB,CAAC;EACH,MAAM;IAAEE,cAAc;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAG5E,SAAS,CACrD+D,MAAM,IAAM;IACb,MAAM;MACLc,iBAAiB;MACjBC,kBAAkB;MAClBC;IACD,CAAC,GAAGhB,MAAM,CAAElD,WAAY,CAAC;IACzB,OAAO;MACN6D,cAAc,EAAEG,iBAAiB,CAAC,CAAC;MACnCD,OAAO,EAAEG,uBAAuB,CAAC,CAAC;MAClCJ,SAAS,EAAEG,kBAAkB,CAAC;IAC/B,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAE/B,EAAE;IAAED;EAAK,CAAC,GAAGJ,aAAa;EAClC,MAAMsC,mBAAmB,GAAGlE,sBAAsB,CACjD4D,cAAc,EACd5B,IAAI,EACJC,EAAE,EACFN,IACD,CAAC;EACD,MAAM,CAAEa,MAAM,EAAEV,OAAO,EAAEC,QAAQ,CAAE,GAAGP,mBAAmB,CACxDC,IAAI,EACJC,QAAQ,EACRC,IACD,CAAC;EAED,MAAM;IACLwC,cAAc;IACdC,WAAW;IACXC,oBAAoB;IACpBC,oBAAoB;IACpBC,aAAa;IACbC;EACD,CAAC,GAAGvE,MAAM,CAAEhB,WAAW,CAAEc,WAAY,CAAE,CAAC;EACxC,MAAM;IAAE0E;EAAoB,CAAC,GAAGxF,WAAW,CAAEU,YAAa,CAAC;;EAE3D;EACAZ,eAAe,CAAE,MAAM;IACtB;IACA,IAAK6D,QAAQ,EAAG;MACf;IACD;IAEAuB,cAAc,CAAExB,QAAQ,CAAC+B,QAAS,CAAC;IACnCN,WAAW,CAAE3C,IAAI,EAAEoB,YAAY,EAAEF,QAAQ,CAACjB,QAAS,CAAC;IACpD,IAAKiB,QAAQ,CAACgC,QAAQ,EAAG;MACxBF,mBAAmB,CAClBtF,EAAE,CACD,+EACD,CAAC,EACD;QACC8C,EAAE,EAAE,iBAAiB;QACrB2C,OAAO,EAAE,CACR;UACCC,KAAK,EAAE1F,EAAE,CAAE,mBAAoB,CAAC;UAChC2F,GAAG,EAAEnC,QAAQ,CAACgC,QAAQ,CAACI;QACxB,CAAC;MAEH,CACD,CAAC;IACF;EACD,CAAC,EAAE,EAAG,CAAC;;EAEP;EACAjG,SAAS,CAAE,MAAM;IAChByF,aAAa,CAAE9C,IAAI,CAACO,IAAI,EAAEP,IAAI,CAACQ,EAAG,CAAC;EACpC,CAAC,EAAE,CAAER,IAAI,CAACO,IAAI,EAAEP,IAAI,CAACQ,EAAE,EAAEsC,aAAa,CAAG,CAAC;;EAE1C;EACAzF,SAAS,CAAE,MAAM;IAChBuF,oBAAoB,CAAE1B,QAAS,CAAC;EACjC,CAAC,EAAE,CAAEA,QAAQ,EAAE0B,oBAAoB,CAAG,CAAC;;EAEvC;EACAvF,SAAS,CAAE,MAAM;IAChBwF,oBAAoB,CAAE5C,QAAQ,EAAEO,EAAG,CAAC;EACrC,CAAC,EAAE,CAAEP,QAAQ,EAAEO,EAAE,EAAEqC,oBAAoB,CAAG,CAAC;;EAE3C;EACAxF,SAAS,CAAE,MAAM;IAAA,IAAAkG,qBAAA;IAChBR,gBAAgB,EAAAQ,qBAAA,GAAErC,QAAQ,CAACsC,oBAAoB,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,WAAY,CAAC;EACjE,CAAC,EAAE,CAAErC,QAAQ,CAACsC,oBAAoB,EAAET,gBAAgB,CAAG,CAAC;EAExDpE,yBAAyB,CAAEqB,IAAI,CAACO,IAAI,EAAEL,IAAK,CAAC;;EAE5C;EACAtB,WAAW,CAAC,CAAC;EAEb,IAAK,CAAEyD,OAAO,EAAG;IAChB,OAAO,IAAI;EACZ;EAEA,oBACC/C,IAAA,CAAC3B,cAAc;IAAC8F,IAAI,EAAC,MAAM;IAAClD,IAAI,EAAC,MAAM;IAAAc,QAAA,eACtC/B,IAAA,CAAC3B,cAAc;MACd8F,IAAI,EAAC,UAAU;MACflD,IAAI,EAAGP,IAAI,CAACO,IAAM;MAClBC,EAAE,EAAGR,IAAI,CAACQ,EAAI;MAAAa,QAAA,eAEd/B,IAAA,CAACxB,oBAAoB;QAAC4F,KAAK,EAAG/B,mBAAqB;QAAAN,QAAA,eAClD3B,KAAA,CAAC4B,4BAA4B;UAC5BoC,KAAK,EAAG3C,MAAQ;UAChBT,QAAQ,EAAGA,QAAU;UACrBD,OAAO,EAAGA,OAAS;UACnB+B,SAAS,EAAGA,SAAW;UACvBlB,QAAQ,EAAGuB,mBAAqB;UAChCkB,cAAc,EAAG,KAAO;UAAAtC,QAAA,GAEtBA,QAAQ,EACR,CAAEH,QAAQ,CAAC0C,uBAAuB,iBACnClE,KAAA,CAAAF,SAAA;YAAA6B,QAAA,gBACC/B,IAAA,CAACM,iBAAiB,IAAE,CAAC,eACrBN,IAAA,CAACN,uBAAuB,IAAE,CAAC,EACzBkB,IAAI,KAAK,iBAAiB,iBAC3BZ,IAAA,CAACb,2BAA2B,IAAE,CAC9B,EACC8B,IAAI,KAAK,eAAe,iBACzBjB,IAAA,CAACZ,0BAA0B,IAAE,CAC7B,eACDY,IAAA,CAACJ,uBAAuB,IAAE,CAAC,eAC3BI,IAAA,CAACP,yBAAyB,IAAE,CAAC,eAC7BO,IAAA,CAACT,oBAAoB,IAAE,CAAC,eACxBS,IAAA,CAACR,gBAAgB,IAAE,CAAC,eACpBQ,IAAA,CAACL,oBAAoB,IAAE,CAAC,eACxBK,IAAA,CAACH,kBAAkB,IAAE,CAAC,eACtBG,IAAA,CAACF,qBAAqB,IAAE,CAAC;UAAA,CACxB,CACF;QAAA,CAC4B;MAAC,CACV;IAAC,CACR;EAAC,CACF,CAAC;AAEnB,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASyE,cAAcA,CAAEC,KAAK,EAAG;EACvC,oBACCxE,IAAA,CAAC2B,0BAA0B;IAAA,GACrB6C,KAAK;IACVxC,4BAA4B,EAAGzD,mBAAqB;IAAAwD,QAAA,EAElDyC,KAAK,CAACzC;EAAQ,CACW,CAAC;AAE/B;AAEA,eAAewC,cAAc","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -9,15 +8,14 @@ import { SafeAreaProvider } from 'react-native-safe-area-context';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
12
- import RNReactNativeGutenbergBridge, { requestBlockTypeImpressions, setBlockTypeImpressions, subscribeParentGetHtml, subscribeParentToggleHTMLMode, subscribeUpdateHtml, subscribeSetTitle, subscribeMediaAppend, subscribeReplaceBlock, subscribeUpdateEditorSettings, subscribeUpdateCapabilities, subscribeShowNotice, subscribeShowEditorHelp } from '@wordpress/react-native-bridge';
11
+ import RNReactNativeGutenbergBridge, { requestBlockTypeImpressions, setBlockTypeImpressions, subscribeParentGetHtml, subscribeParentToggleHTMLMode, subscribeUpdateHtml, subscribeSetTitle, subscribeMediaAppend, subscribeReplaceBlock, subscribeUpdateEditorSettings, subscribeUpdateCapabilities, subscribeShowNotice, subscribeShowEditorHelp, subscribeToContentUpdate } from '@wordpress/react-native-bridge';
13
12
  import { Component } from '@wordpress/element';
14
13
  import { count as wordCount } from '@wordpress/wordcount';
15
- import { parse, serialize, getUnregisteredTypeHandlerName, getBlockType, createBlock } from '@wordpress/blocks';
14
+ import { parse, serialize, getUnregisteredTypeHandlerName, getBlockType, createBlock, pasteHandler } from '@wordpress/blocks';
16
15
  import { withDispatch, withSelect } from '@wordpress/data';
17
16
  import { compose } from '@wordpress/compose';
18
17
  import { applyFilters } from '@wordpress/hooks';
19
- import { store as blockEditorStore } from '@wordpress/block-editor';
20
- import { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';
18
+ import { store as blockEditorStore, getGlobalStyles, getColorsAndGradients } from '@wordpress/block-editor';
21
19
  import { NEW_BLOCK_TYPES } from '@wordpress/block-library';
22
20
  import { __ } from '@wordpress/i18n';
23
21
  const postTypeEntities = [{
@@ -52,6 +50,10 @@ import { store as coreStore } from '@wordpress/core-data';
52
50
  * Internal dependencies
53
51
  */
54
52
  import EditorProvider from './index.js';
53
+ import { insertContentWithTitle } from '../post-title';
54
+ import { jsx as _jsx } from "react/jsx-runtime";
55
+ import { Fragment as _Fragment } from "react/jsx-runtime";
56
+ import { jsxs as _jsxs } from "react/jsx-runtime";
55
57
  class NativeEditorProvider extends Component {
56
58
  constructor() {
57
59
  super(...arguments);
@@ -61,6 +63,7 @@ class NativeEditorProvider extends Component {
61
63
  this.props.addEntities(postTypeEntities);
62
64
  this.props.receiveEntityRecords('postType', this.post.type, this.post);
63
65
  this.onHardwareBackPress = this.onHardwareBackPress.bind(this);
66
+ this.onContentUpdate = this.onContentUpdate.bind(this);
64
67
  this.getEditorSettings = memize((settings, capabilities) => ({
65
68
  ...settings,
66
69
  capabilities
@@ -137,6 +140,9 @@ class NativeEditorProvider extends Component {
137
140
  });
138
141
  });
139
142
  this.hardwareBackPressListener = BackHandler.addEventListener('hardwareBackPress', this.onHardwareBackPress);
143
+ this.subscriptionOnContentUpdate = subscribeToContentUpdate(data => {
144
+ this.onContentUpdate(data);
145
+ });
140
146
 
141
147
  // Request current block impressions from native app.
142
148
  requestBlockTypeImpressions(storedImpressions => {
@@ -193,6 +199,9 @@ class NativeEditorProvider extends Component {
193
199
  if (this.hardwareBackPressListener) {
194
200
  this.hardwareBackPressListener.remove();
195
201
  }
202
+ if (this.subscriptionOnContentUpdate) {
203
+ this.subscriptionOnContentUpdate.remove();
204
+ }
196
205
  }
197
206
  getThemeColors({
198
207
  rawStyles,
@@ -228,6 +237,21 @@ class NativeEditorProvider extends Component {
228
237
  }
229
238
  return false;
230
239
  }
240
+ onContentUpdate({
241
+ content: rawContent
242
+ }) {
243
+ const {
244
+ editTitle,
245
+ onClearPostTitleSelection,
246
+ onInsertBlockAfter: onInsertBlocks,
247
+ title
248
+ } = this.props;
249
+ const content = pasteHandler({
250
+ plainText: rawContent
251
+ });
252
+ insertContentWithTitle(title, content, editTitle, onInsertBlocks);
253
+ onClearPostTitleSelection();
254
+ }
231
255
  serializeToNativeAction() {
232
256
  const title = this.props.title;
233
257
  let html;
@@ -283,20 +307,25 @@ class NativeEditorProvider extends Component {
283
307
  ...props
284
308
  } = this.props;
285
309
  const editorSettings = this.getEditorSettings(settings, capabilities);
286
- return createElement(Fragment, null, createElement(EditorProvider, {
287
- post: this.post,
288
- settings: editorSettings,
289
- ...props
290
- }, createElement(SafeAreaProvider, null, children)), createElement(EditorHelpTopics, {
291
- isVisible: this.state.isHelpVisible,
292
- onClose: () => this.setState({
293
- isHelpVisible: false
294
- }),
295
- close: () => this.setState({
296
- isHelpVisible: false
297
- }),
298
- showSupport: capabilities?.supportSection === true
299
- }));
310
+ return /*#__PURE__*/_jsxs(_Fragment, {
311
+ children: [/*#__PURE__*/_jsx(EditorProvider, {
312
+ post: this.post,
313
+ settings: editorSettings,
314
+ ...props,
315
+ children: /*#__PURE__*/_jsx(SafeAreaProvider, {
316
+ children: children
317
+ })
318
+ }), /*#__PURE__*/_jsx(EditorHelpTopics, {
319
+ isVisible: this.state.isHelpVisible,
320
+ onClose: () => this.setState({
321
+ isHelpVisible: false
322
+ }),
323
+ close: () => this.setState({
324
+ isHelpVisible: false
325
+ }),
326
+ showSupport: capabilities?.supportSection === true
327
+ })]
328
+ });
300
329
  }
301
330
  }
302
331
  const ComposedNativeProvider = compose([withSelect(select => {
@@ -335,12 +364,14 @@ const ComposedNativeProvider = compose([withSelect(select => {
335
364
  editPost,
336
365
  resetEditorBlocks,
337
366
  updateEditorSettings,
338
- switchEditorMode
367
+ switchEditorMode,
368
+ togglePostTitleSelection
339
369
  } = dispatch(editorStore);
340
370
  const {
341
371
  clearSelectedBlock,
342
372
  updateSettings,
343
373
  insertBlock,
374
+ insertBlocks,
344
375
  replaceBlock
345
376
  } = dispatch(blockEditorStore);
346
377
  const {
@@ -356,6 +387,7 @@ const ComposedNativeProvider = compose([withSelect(select => {
356
387
  updateEditorSettings,
357
388
  addEntities,
358
389
  insertBlock,
390
+ insertBlocks,
359
391
  createSuccessNotice,
360
392
  createErrorNotice,
361
393
  clearSelectedBlock,
@@ -373,6 +405,12 @@ const ComposedNativeProvider = compose([withSelect(select => {
373
405
  switchMode(mode) {
374
406
  switchEditorMode(mode);
375
407
  },
408
+ onInsertBlockAfter(blocks) {
409
+ insertBlocks(blocks, undefined, undefined, false);
410
+ },
411
+ onClearPostTitleSelection() {
412
+ togglePostTitleSelection(false);
413
+ },
376
414
  replaceBlock
377
415
  };
378
416
  })])(NativeEditorProvider);
@@ -1 +1 @@
1
- {"version":3,"names":["BackHandler","memize","SafeAreaProvider","RNReactNativeGutenbergBridge","requestBlockTypeImpressions","setBlockTypeImpressions","subscribeParentGetHtml","subscribeParentToggleHTMLMode","subscribeUpdateHtml","subscribeSetTitle","subscribeMediaAppend","subscribeReplaceBlock","subscribeUpdateEditorSettings","subscribeUpdateCapabilities","subscribeShowNotice","subscribeShowEditorHelp","Component","count","wordCount","parse","serialize","getUnregisteredTypeHandlerName","getBlockType","createBlock","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","NativeEditorProvider","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","onHardwareBackPress","bind","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","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","hardwareBackPressListener","addEventListener","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","mode","hasChanges","raw","content","contentInfo","characterCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","render","children","createElement","Fragment","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","updateSettings","__unstableShouldCreateUndoLevel","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} 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} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\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';\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\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(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateEditorSettings(\n\t\t\t\t\t\tthis.getThemeColors( editorSettings )\n\t\t\t\t\t);\n\t\t\t\t}\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\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\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\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} = dispatch( editorStore );\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tupdateSettings,\n\t\t\tinsertBlock,\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\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\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","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","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(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateEditorSettings(\n\t\t\t\t\t\tthis.getThemeColors( editorSettings )\n\t\t\t\t\t);\n\t\t\t\t}\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":[]}
@@ -27,6 +27,11 @@ function __experimentalReusableBlocksSelect(select) {
27
27
  })) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : EMPTY_BLOCKS_LIST;
28
28
  }
29
29
  const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__unstableGalleryWithImageBlocks', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'sectionRootClientId', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
30
+ const {
31
+ globalStylesDataKey,
32
+ selectBlockPatternsKey,
33
+ reusableBlocksSelectKey
34
+ } = unlock(privateApis);
30
35
 
31
36
  /**
32
37
  * React hook used to compute the block editor settings to use for the post editor.
@@ -157,10 +162,6 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
157
162
  return settings.allowedBlockTypes;
158
163
  }, [settings.allowedBlockTypes, hiddenBlockTypes, blockTypes]);
159
164
  const forceDisableFocusMode = settings.focusMode === false;
160
- const {
161
- globalStylesDataKey,
162
- selectBlockPatternsKey
163
- } = unlock(privateApis);
164
165
  return useMemo(() => {
165
166
  const blockEditorSettings = {
166
167
  ...Object.fromEntries(Object.entries(settings).filter(([key]) => BLOCK_EDITOR_SETTINGS.includes(key))),
@@ -181,7 +182,7 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
181
182
  const patterns = getBlockPatternsForPostType(postType);
182
183
  return hasFinishedResolution('getBlockPatterns') ? patterns : undefined;
183
184
  },
184
- [unlock(privateApis).reusableBlocksSelectKey]: __experimentalReusableBlocksSelect,
185
+ [reusableBlocksSelectKey]: __experimentalReusableBlocksSelect,
185
186
  __experimentalBlockPatternCategories: blockPatternCategories,
186
187
  __experimentalUserPatternCategories: userPatternCategories,
187
188
  __experimentalFetchLinkSuggestions: (search, searchOptions) => fetchLinkSuggestions(search, searchOptions, settings),
@@ -209,7 +210,7 @@ function useBlockEditorSettings(settings, postType, postId, renderingMode) {
209
210
  sectionRootClientId
210
211
  });
211
212
  return blockEditorSettings;
212
- }, [allowedBlockTypes, allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened, sectionRootClientId, globalStylesData, globalStylesDataKey, selectBlockPatternsKey]);
213
+ }, [allowedBlockTypes, allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened, sectionRootClientId, globalStylesData]);
213
214
  }
214
215
  export default useBlockEditorSettings;
215
216
  //# sourceMappingURL=use-block-editor-settings.js.map