@wordpress/editor 13.27.1 → 13.28.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 (360) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/post-meta.js +3 -4
  3. package/build/bindings/post-meta.js.map +1 -1
  4. package/build/components/autocompleters/user.js +1 -2
  5. package/build/components/autocompleters/user.js.map +1 -1
  6. package/build/components/autosave-monitor/index.js +1 -2
  7. package/build/components/autosave-monitor/index.js.map +1 -1
  8. package/build/components/block-manager/category.js +1 -2
  9. package/build/components/block-manager/category.js.map +1 -1
  10. package/build/components/block-manager/checklist.js +1 -2
  11. package/build/components/block-manager/checklist.js.map +1 -1
  12. package/build/components/block-manager/index.js +1 -2
  13. package/build/components/block-manager/index.js.map +1 -1
  14. package/build/components/deprecated.js +52 -104
  15. package/build/components/deprecated.js.map +1 -1
  16. package/build/components/document-bar/index.js +7 -23
  17. package/build/components/document-bar/index.js.map +1 -1
  18. package/build/components/document-outline/check.js +1 -2
  19. package/build/components/document-outline/check.js.map +1 -1
  20. package/build/components/document-outline/index.js +1 -2
  21. package/build/components/document-outline/index.js.map +1 -1
  22. package/build/components/document-outline/item.js +1 -2
  23. package/build/components/document-outline/item.js.map +1 -1
  24. package/build/components/document-tools/index.js +1 -2
  25. package/build/components/document-tools/index.js.map +1 -1
  26. package/build/components/editor-canvas/edit-template-blocks-notification.js +22 -13
  27. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  28. package/build/components/editor-canvas/index.js +16 -12
  29. package/build/components/editor-canvas/index.js.map +1 -1
  30. package/build/components/editor-help/add-blocks.native.js +1 -2
  31. package/build/components/editor-help/add-blocks.native.js.map +1 -1
  32. package/build/components/editor-help/customize-blocks.native.js +1 -2
  33. package/build/components/editor-help/customize-blocks.native.js.map +1 -1
  34. package/build/components/editor-help/help-detail-navigation-screen.native.js +1 -2
  35. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  36. package/build/components/editor-help/help-get-support-button.native.js +1 -2
  37. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  38. package/build/components/editor-help/help-section-title.native.js +1 -2
  39. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  40. package/build/components/editor-help/help-topic-row.native.js +1 -2
  41. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  42. package/build/components/editor-help/icon-move-blocks.native.js +1 -2
  43. package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
  44. package/build/components/editor-help/index.native.js +1 -2
  45. package/build/components/editor-help/index.native.js.map +1 -1
  46. package/build/components/editor-help/intro-to-blocks.native.js +1 -2
  47. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  48. package/build/components/editor-help/move-blocks.native.js +1 -2
  49. package/build/components/editor-help/move-blocks.native.js.map +1 -1
  50. package/build/components/editor-help/remove-blocks.native.js +1 -2
  51. package/build/components/editor-help/remove-blocks.native.js.map +1 -1
  52. package/build/components/editor-history/redo.js +1 -2
  53. package/build/components/editor-history/redo.js.map +1 -1
  54. package/build/components/editor-history/undo.js +1 -2
  55. package/build/components/editor-history/undo.js.map +1 -1
  56. package/build/components/editor-notices/index.js +1 -2
  57. package/build/components/editor-notices/index.js.map +1 -1
  58. package/build/components/editor-snackbars/index.js +3 -1
  59. package/build/components/editor-snackbars/index.js.map +1 -1
  60. package/build/components/entities-saved-states/entity-record-item.js +1 -1
  61. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  62. package/build/components/entities-saved-states/entity-type-list.js +7 -7
  63. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  64. package/build/components/entities-saved-states/index.js +4 -1
  65. package/build/components/entities-saved-states/index.js.map +1 -1
  66. package/build/components/error-boundary/index.js +1 -2
  67. package/build/components/error-boundary/index.js.map +1 -1
  68. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +1 -2
  69. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  70. package/build/components/index.js +4 -6
  71. package/build/components/index.js.map +1 -1
  72. package/build/components/list-view-sidebar/index.js +43 -36
  73. package/build/components/list-view-sidebar/index.js.map +1 -1
  74. package/build/components/local-autosave-monitor/index.js +1 -2
  75. package/build/components/local-autosave-monitor/index.js.map +1 -1
  76. package/build/components/media-categories/index.js +1 -2
  77. package/build/components/media-categories/index.js.map +1 -1
  78. package/build/components/offline-status/index.native.js +1 -2
  79. package/build/components/offline-status/index.native.js.map +1 -1
  80. package/build/components/page-attributes/check.js +1 -2
  81. package/build/components/page-attributes/check.js.map +1 -1
  82. package/build/components/page-attributes/panel.js +1 -2
  83. package/build/components/page-attributes/panel.js.map +1 -1
  84. package/build/components/page-attributes/parent.js +1 -2
  85. package/build/components/page-attributes/parent.js.map +1 -1
  86. package/build/components/post-author/combobox.js +6 -60
  87. package/build/components/post-author/combobox.js.map +1 -1
  88. package/build/components/post-author/constants.js +7 -5
  89. package/build/components/post-author/constants.js.map +1 -1
  90. package/build/components/post-author/hook.js +72 -0
  91. package/build/components/post-author/hook.js.map +1 -0
  92. package/build/components/post-author/index.js +1 -2
  93. package/build/components/post-author/index.js.map +1 -1
  94. package/build/components/post-author/panel.js +1 -2
  95. package/build/components/post-author/panel.js.map +1 -1
  96. package/build/components/post-author/select.js +6 -24
  97. package/build/components/post-author/select.js.map +1 -1
  98. package/build/components/post-comments/index.js +1 -2
  99. package/build/components/post-comments/index.js.map +1 -1
  100. package/build/components/post-discussion/panel.js +1 -2
  101. package/build/components/post-discussion/panel.js.map +1 -1
  102. package/build/components/post-excerpt/check.js +1 -2
  103. package/build/components/post-excerpt/check.js.map +1 -1
  104. package/build/components/post-excerpt/index.js +1 -2
  105. package/build/components/post-excerpt/index.js.map +1 -1
  106. package/build/components/post-excerpt/plugin.js +1 -2
  107. package/build/components/post-excerpt/plugin.js.map +1 -1
  108. package/build/components/post-featured-image/check.js +1 -2
  109. package/build/components/post-featured-image/check.js.map +1 -1
  110. package/build/components/post-featured-image/index.js +1 -2
  111. package/build/components/post-featured-image/index.js.map +1 -1
  112. package/build/components/post-featured-image/panel.js +1 -2
  113. package/build/components/post-featured-image/panel.js.map +1 -1
  114. package/build/components/post-format/check.js +1 -2
  115. package/build/components/post-format/check.js.map +1 -1
  116. package/build/components/post-format/index.js +1 -2
  117. package/build/components/post-format/index.js.map +1 -1
  118. package/build/components/post-last-revision/check.js +1 -2
  119. package/build/components/post-last-revision/check.js.map +1 -1
  120. package/build/components/post-last-revision/index.js +6 -5
  121. package/build/components/post-last-revision/index.js.map +1 -1
  122. package/build/components/post-last-revision/panel.js +1 -2
  123. package/build/components/post-last-revision/panel.js.map +1 -1
  124. package/build/components/post-panel-row/index.js +1 -2
  125. package/build/components/post-panel-row/index.js.map +1 -1
  126. package/build/components/post-pending-status/check.js +1 -2
  127. package/build/components/post-pending-status/check.js.map +1 -1
  128. package/build/components/post-pending-status/index.js +1 -2
  129. package/build/components/post-pending-status/index.js.map +1 -1
  130. package/build/components/post-pingbacks/index.js +1 -2
  131. package/build/components/post-pingbacks/index.js.map +1 -1
  132. package/build/components/post-publish-button/index.js +1 -2
  133. package/build/components/post-publish-button/index.js.map +1 -1
  134. package/build/components/post-publish-button/label.js +1 -2
  135. package/build/components/post-publish-button/label.js.map +1 -1
  136. package/build/components/post-publish-panel/index.js +1 -2
  137. package/build/components/post-publish-panel/index.js.map +1 -1
  138. package/build/components/post-publish-panel/maybe-category-panel.js +1 -2
  139. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  140. package/build/components/post-publish-panel/maybe-tags-panel.js +22 -26
  141. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  142. package/build/components/post-publish-panel/postpublish.js +1 -2
  143. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  144. package/build/components/post-publish-panel/prepublish.js +1 -2
  145. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  146. package/build/components/post-schedule/index.js +0 -1
  147. package/build/components/post-schedule/index.js.map +1 -1
  148. package/build/components/post-schedule/label.js +1 -1
  149. package/build/components/post-schedule/label.js.map +1 -1
  150. package/build/components/post-schedule/panel.js +1 -0
  151. package/build/components/post-schedule/panel.js.map +1 -1
  152. package/build/components/post-slug/index.js +1 -2
  153. package/build/components/post-slug/index.js.map +1 -1
  154. package/build/components/post-switch-to-draft-button/index.js +1 -0
  155. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  156. package/build/components/post-sync-status/index.js +1 -1
  157. package/build/components/post-sync-status/index.js.map +1 -1
  158. package/build/components/post-taxonomies/check.js +8 -15
  159. package/build/components/post-taxonomies/check.js.map +1 -1
  160. package/build/components/post-taxonomies/flat-term-selector.js +1 -2
  161. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  162. package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -2
  163. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  164. package/build/components/post-taxonomies/index.js +14 -15
  165. package/build/components/post-taxonomies/index.js.map +1 -1
  166. package/build/components/post-taxonomies/panel.js +1 -2
  167. package/build/components/post-taxonomies/panel.js.map +1 -1
  168. package/build/components/post-template/block-theme.js +24 -11
  169. package/build/components/post-template/block-theme.js.map +1 -1
  170. package/build/components/post-template/classic-theme.js +17 -13
  171. package/build/components/post-template/classic-theme.js.map +1 -1
  172. package/build/components/post-template/create-new-template-modal.js +20 -5
  173. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  174. package/build/components/post-template/panel.js +5 -1
  175. package/build/components/post-template/panel.js.map +1 -1
  176. package/build/components/post-title/constants.js +2 -4
  177. package/build/components/post-title/constants.js.map +1 -1
  178. package/build/components/post-title/index.js +2 -3
  179. package/build/components/post-title/index.js.map +1 -1
  180. package/build/components/post-title/index.native.js +1 -2
  181. package/build/components/post-title/index.native.js.map +1 -1
  182. package/build/components/post-title/post-title-raw.js +1 -2
  183. package/build/components/post-title/post-title-raw.js.map +1 -1
  184. package/build/components/post-trash/check.js +1 -2
  185. package/build/components/post-trash/check.js.map +1 -1
  186. package/build/components/post-trash/index.js +1 -0
  187. package/build/components/post-trash/index.js.map +1 -1
  188. package/build/components/post-type-support-check/index.js +1 -2
  189. package/build/components/post-type-support-check/index.js.map +1 -1
  190. package/build/components/post-url/panel.js +1 -0
  191. package/build/components/post-url/panel.js.map +1 -1
  192. package/build/components/post-visibility/utils.js +1 -2
  193. package/build/components/post-visibility/utils.js.map +1 -1
  194. package/build/components/preferences-modal/enable-panel.js +1 -2
  195. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  196. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +1 -2
  197. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  198. package/build/components/preferences-modal/index.js +0 -1
  199. package/build/components/preferences-modal/index.js.map +1 -1
  200. package/build/components/provider/constants.js +1 -2
  201. package/build/components/provider/constants.js.map +1 -1
  202. package/build/components/provider/index.js +13 -7
  203. package/build/components/provider/index.js.map +1 -1
  204. package/build/components/provider/index.native.js +4 -6
  205. package/build/components/provider/index.native.js.map +1 -1
  206. package/build/components/provider/use-block-editor-settings.js +2 -3
  207. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  208. package/build/components/provider/use-block-editor-settings.native.js +1 -2
  209. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  210. package/build/components/provider/with-registry-provider.js +1 -2
  211. package/build/components/provider/with-registry-provider.js.map +1 -1
  212. package/build/components/table-of-contents/index.js +1 -2
  213. package/build/components/table-of-contents/index.js.map +1 -1
  214. package/build/components/table-of-contents/panel.js +1 -2
  215. package/build/components/table-of-contents/panel.js.map +1 -1
  216. package/build/components/template-validation-notice/index.js +1 -2
  217. package/build/components/template-validation-notice/index.js.map +1 -1
  218. package/build/components/theme-support-check/index.js +1 -2
  219. package/build/components/theme-support-check/index.js.map +1 -1
  220. package/build/hooks/pattern-partial-syncing.js +9 -2
  221. package/build/hooks/pattern-partial-syncing.js.map +1 -1
  222. package/build/private-apis.js +1 -2
  223. package/build/private-apis.js.map +1 -1
  224. package/build/store/actions.js +38 -65
  225. package/build/store/actions.js.map +1 -1
  226. package/build/store/constants.js +7 -14
  227. package/build/store/constants.js.map +1 -1
  228. package/build/store/defaults.js +1 -2
  229. package/build/store/defaults.js.map +1 -1
  230. package/build/store/index.js +4 -6
  231. package/build/store/index.js.map +1 -1
  232. package/build/store/private-actions.js +1 -0
  233. package/build/store/private-actions.js.map +1 -1
  234. package/build/store/private-selectors.js +1 -2
  235. package/build/store/private-selectors.js.map +1 -1
  236. package/build/store/reducer.js +1 -2
  237. package/build/store/reducer.js.map +1 -1
  238. package/build/store/reducer.native.js +2 -4
  239. package/build/store/reducer.native.js.map +1 -1
  240. package/build/store/selectors.js +82 -144
  241. package/build/store/selectors.js.map +1 -1
  242. package/build/store/selectors.native.js +1 -2
  243. package/build/store/selectors.native.js.map +1 -1
  244. package/build-module/bindings/post-meta.js +2 -2
  245. package/build-module/bindings/post-meta.js.map +1 -1
  246. package/build-module/components/document-bar/index.js +7 -23
  247. package/build-module/components/document-bar/index.js.map +1 -1
  248. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +22 -13
  249. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  250. package/build-module/components/editor-canvas/index.js +15 -10
  251. package/build-module/components/editor-canvas/index.js.map +1 -1
  252. package/build-module/components/editor-snackbars/index.js +4 -1
  253. package/build-module/components/editor-snackbars/index.js.map +1 -1
  254. package/build-module/components/entities-saved-states/entity-record-item.js +1 -1
  255. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  256. package/build-module/components/entities-saved-states/entity-type-list.js +8 -8
  257. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  258. package/build-module/components/entities-saved-states/index.js +6 -3
  259. package/build-module/components/entities-saved-states/index.js.map +1 -1
  260. package/build-module/components/list-view-sidebar/index.js +44 -37
  261. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  262. package/build-module/components/post-author/combobox.js +8 -61
  263. package/build-module/components/post-author/combobox.js.map +1 -1
  264. package/build-module/components/post-author/constants.js +5 -2
  265. package/build-module/components/post-author/constants.js.map +1 -1
  266. package/build-module/components/post-author/hook.js +65 -0
  267. package/build-module/components/post-author/hook.js.map +1 -0
  268. package/build-module/components/post-author/select.js +7 -24
  269. package/build-module/components/post-author/select.js.map +1 -1
  270. package/build-module/components/post-last-revision/index.js +6 -4
  271. package/build-module/components/post-last-revision/index.js.map +1 -1
  272. package/build-module/components/post-publish-panel/maybe-tags-panel.js +24 -27
  273. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  274. package/build-module/components/post-schedule/index.js +0 -1
  275. package/build-module/components/post-schedule/index.js.map +1 -1
  276. package/build-module/components/post-schedule/label.js +1 -1
  277. package/build-module/components/post-schedule/label.js.map +1 -1
  278. package/build-module/components/post-schedule/panel.js +1 -0
  279. package/build-module/components/post-schedule/panel.js.map +1 -1
  280. package/build-module/components/post-switch-to-draft-button/index.js +1 -0
  281. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  282. package/build-module/components/post-sync-status/index.js +1 -1
  283. package/build-module/components/post-sync-status/index.js.map +1 -1
  284. package/build-module/components/post-taxonomies/check.js +9 -14
  285. package/build-module/components/post-taxonomies/check.js.map +1 -1
  286. package/build-module/components/post-taxonomies/index.js +15 -15
  287. package/build-module/components/post-taxonomies/index.js.map +1 -1
  288. package/build-module/components/post-template/block-theme.js +24 -11
  289. package/build-module/components/post-template/block-theme.js.map +1 -1
  290. package/build-module/components/post-template/classic-theme.js +16 -11
  291. package/build-module/components/post-template/classic-theme.js.map +1 -1
  292. package/build-module/components/post-template/create-new-template-modal.js +20 -5
  293. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  294. package/build-module/components/post-template/panel.js +5 -1
  295. package/build-module/components/post-template/panel.js.map +1 -1
  296. package/build-module/components/post-title/index.js +1 -2
  297. package/build-module/components/post-title/index.js.map +1 -1
  298. package/build-module/components/post-trash/index.js +1 -0
  299. package/build-module/components/post-trash/index.js.map +1 -1
  300. package/build-module/components/post-url/panel.js +1 -0
  301. package/build-module/components/post-url/panel.js.map +1 -1
  302. package/build-module/components/preferences-modal/index.js +0 -1
  303. package/build-module/components/preferences-modal/index.js.map +1 -1
  304. package/build-module/components/provider/index.js +11 -3
  305. package/build-module/components/provider/index.js.map +1 -1
  306. package/build-module/components/provider/use-block-editor-settings.js +1 -1
  307. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  308. package/build-module/components/table-of-contents/panel.js +0 -1
  309. package/build-module/components/table-of-contents/panel.js.map +1 -1
  310. package/build-module/hooks/pattern-partial-syncing.js +9 -2
  311. package/build-module/hooks/pattern-partial-syncing.js.map +1 -1
  312. package/build-module/store/actions.js +7 -3
  313. package/build-module/store/actions.js.map +1 -1
  314. package/build-module/store/private-actions.js +1 -0
  315. package/build-module/store/private-actions.js.map +1 -1
  316. package/build-module/store/selectors.js +10 -0
  317. package/build-module/store/selectors.js.map +1 -1
  318. package/build-style/style-rtl.css +28 -22
  319. package/build-style/style.css +28 -22
  320. package/package.json +32 -32
  321. package/src/bindings/post-meta.js +2 -2
  322. package/src/components/document-bar/index.js +24 -38
  323. package/src/components/editor-canvas/edit-template-blocks-notification.js +31 -14
  324. package/src/components/editor-canvas/index.js +16 -6
  325. package/src/components/editor-snackbars/index.js +6 -3
  326. package/src/components/entities-saved-states/entity-record-item.js +1 -4
  327. package/src/components/entities-saved-states/entity-type-list.js +8 -8
  328. package/src/components/entities-saved-states/index.js +17 -4
  329. package/src/components/entities-saved-states/style.scss +5 -0
  330. package/src/components/list-view-sidebar/index.js +60 -47
  331. package/src/components/list-view-sidebar/style.scss +20 -20
  332. package/src/components/post-author/combobox.js +5 -61
  333. package/src/components/post-author/constants.js +6 -2
  334. package/src/components/post-author/hook.js +63 -0
  335. package/src/components/post-author/select.js +5 -25
  336. package/src/components/post-last-revision/index.js +6 -6
  337. package/src/components/post-last-revision/style.scss +3 -6
  338. package/src/components/post-panel-row/style.scss +3 -3
  339. package/src/components/post-publish-panel/maybe-tags-panel.js +27 -37
  340. package/src/components/post-publish-panel/style.scss +3 -1
  341. package/src/components/post-schedule/label.js +1 -1
  342. package/src/components/post-schedule/panel.js +1 -0
  343. package/src/components/post-schedule/test/label.js +19 -7
  344. package/src/components/post-switch-to-draft-button/index.js +1 -0
  345. package/src/components/post-sync-status/index.js +8 -2
  346. package/src/components/post-taxonomies/check.js +11 -15
  347. package/src/components/post-taxonomies/index.js +15 -22
  348. package/src/components/post-taxonomies/test/index.js +37 -51
  349. package/src/components/post-template/block-theme.js +33 -14
  350. package/src/components/post-template/classic-theme.js +17 -10
  351. package/src/components/post-template/create-new-template-modal.js +17 -9
  352. package/src/components/post-template/panel.js +5 -1
  353. package/src/components/post-trash/index.js +1 -0
  354. package/src/components/post-url/panel.js +1 -0
  355. package/src/components/provider/index.js +18 -6
  356. package/src/components/provider/use-block-editor-settings.js +1 -1
  357. package/src/hooks/pattern-partial-syncing.js +23 -4
  358. package/src/store/actions.js +8 -3
  359. package/src/store/private-actions.js +1 -0
  360. package/src/store/selectors.js +12 -0
@@ -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","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","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","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","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';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\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\trootLevelPost.type !== 'wp_template' ||\n\t\t\t\t( shouldRenderTemplate && mode !== 'template-only' )\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\tmode,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost?.slug,\n\t\t\tshouldRenderTemplate,\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);\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 ] );\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\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<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\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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"}
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","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","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';\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);\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\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<PatternsMenuItems />\n\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\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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"}
@@ -16,7 +16,7 @@ import inserterMediaCategories from '../media-categories';
16
16
  import { mediaUpload } from '../../utils';
17
17
  import { store as editorStore } from '../../store';
18
18
  const EMPTY_BLOCKS_LIST = [];
19
- const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__unstableGalleryWithImageBlocks', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'getPostLinkProps', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
19
+ const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__unstableGalleryWithImageBlocks', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
20
20
 
21
21
  /**
22
22
  * React hook used to compute the block editor settings to use for the post editor.
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","fetchBlockPatterns","__","preferencesStore","useViewportMatch","blocksStore","inserterMediaCategories","mediaUpload","editorStore","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","postType","postId","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","reusableBlocks","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","select","_canUser","isWeb","OS","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getEntityRecords","getBlockPatternCategories","get","getBlockTypes","siteSettings","undefined","_links","hasOwnProperty","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","name","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","Object","fromEntries","entries","key","__experimentalFetchBlockPatterns","__experimentalReusableBlocks","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tfetchBlockPatterns,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'getPostLinkProps',\n\t'hasInlineToolbar',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\treusableBlocks: isWeb\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalFetchBlockPatterns: async () => {\n\t\t\t\treturn ( await fetchBlockPatterns() ).filter(\n\t\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\t\tpostTypes.includes( postType ) )\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\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t} ),\n\t\t[\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode,\n\t\t\tforceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tpostType,\n\t\t\tsetIsInserterOpened,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","fetchBlockPatterns","__","preferencesStore","useViewportMatch","blocksStore","inserterMediaCategories","mediaUpload","editorStore","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","postType","postId","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","reusableBlocks","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","select","_canUser","isWeb","OS","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getEntityRecords","getBlockPatternCategories","get","getBlockTypes","siteSettings","undefined","_links","hasOwnProperty","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","name","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","Object","fromEntries","entries","key","__experimentalFetchBlockPatterns","__experimentalReusableBlocks","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tfetchBlockPatterns,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'hasInlineToolbar',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\treusableBlocks: isWeb\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalFetchBlockPatterns: async () => {\n\t\t\t\treturn ( await fetchBlockPatterns() ).filter(\n\t\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\t\tpostTypes.includes( postType ) )\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\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t} ),\n\t\t[\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode,\n\t\t\tforceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tpostType,\n\t\t\tsetIsInserterOpened,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAQ,oBAAoB;AACnE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,KAAK,IAAIC,SAAS,EAClBC,kCAAkC,IAAIC,oBAAoB,EAC1DC,0BAA0B,IAAIC,YAAY,EAC1CC,kBAAkB,QACZ,sBAAsB;AAC7B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASP,KAAK,IAAIQ,gBAAgB,QAAQ,wBAAwB;AAClE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAAST,KAAK,IAAIU,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,qBAAqB;AACzD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASZ,KAAK,IAAIa,WAAW,QAAQ,aAAa;AAElD,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,MAAMC,qBAAqB,GAAG,CAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,wBAAwB,EACxB,sCAAsC,EACtC,wCAAwC,EACxC,kCAAkC,EAClC,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,wCAAwC,EACxC,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,qCAAqC,EACrC,qCAAqC,CACrC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAG;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC7D,MAAMC,eAAe,GAAGb,gBAAgB,CAAE,QAAS,CAAC;EACpD,MAAM;IACLc,wBAAwB;IACxBC,UAAU;IACVC,SAAS;IACTC,eAAe;IACfC,iBAAiB;IACjBC,oBAAoB;IACpBC,cAAc;IACdC,oBAAoB;IACpBC,gBAAgB;IAChBC,oBAAoB;IACpBC,kBAAkB;IAClBC,WAAW;IACXC,YAAY;IACZC,qBAAqB;IACrBC;EACD,CAAC,GAAGtC,SAAS,CACVuC,MAAM,IAAM;IAAA,IAAAC,QAAA;IACb,MAAMC,KAAK,GAAG7C,QAAQ,CAAC8C,EAAE,KAAK,KAAK;IACnC,MAAM;MACLC,OAAO;MACPC,kBAAkB;MAClBC,eAAe;MACfC,wBAAwB;MACxBC,gBAAgB;MAChBC;IACD,CAAC,GAAGT,MAAM,CAAErC,SAAU,CAAC;IACvB,MAAM;MAAE+C;IAAI,CAAC,GAAGV,MAAM,CAAE9B,gBAAiB,CAAC;IAC1C,MAAM;MAAEyC;IAAc,CAAC,GAAGX,MAAM,CAAE5B,WAAY,CAAC;IAC/C,MAAMwC,YAAY,GAAGR,OAAO,CAAE,MAAM,EAAE,UAAW,CAAC,GAC/CE,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,GACjCO,SAAS;IAEZ,OAAO;MACN5B,wBAAwB,EAAEyB,GAAG,CAC5B,MAAM,EACN,0BACD,CAAC;MACDxB,UAAU,EAAEyB,aAAa,CAAC,CAAC;MAC3BjB,oBAAoB,EAAEW,kBAAkB,CACvC,UAAU,EACVzB,QAAQ,EACRC,MACD,CAAC,EAAEiC,MAAM,EAAEC,cAAc,CAAE,2BAA4B,CAAC;MACxD5B,SAAS,EAAEuB,GAAG,CAAE,MAAM,EAAE,WAAY,CAAC;MACrCtB,eAAe,EACdsB,GAAG,CAAE,MAAM,EAAE,cAAe,CAAC,IAAI,CAAE1B,eAAe;MACnDS,gBAAgB,EAAEiB,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC;MACnDrB,iBAAiB,EAAEqB,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDpB,oBAAoB,EAAEoB,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3DnB,cAAc,EAAEW,KAAK,GAClBM,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;QAC1CQ,QAAQ,EAAE,CAAC;MACX,CAAE,CAAC,GACHxC,iBAAiB;MAAE;MACtBgB,oBAAoB,GAAAS,QAAA,GAAEG,OAAO,CAAE,QAAQ,EAAE,OAAQ,CAAC,cAAAH,QAAA,cAAAA,QAAA,GAAI,IAAI;MAC1DN,kBAAkB,EAAES,OAAO,CAAE,QAAQ,EAAE,OAAQ,CAAC;MAChDR,WAAW,EAAEgB,YAAY,EAAEK,aAAa;MACxCpB,YAAY,EAAEe,YAAY,EAAEM,cAAc;MAC1CpB,qBAAqB,EAAES,wBAAwB,CAAC,CAAC;MACjDR,0BAA0B,EAAEU,yBAAyB,CAAC;IACvD,CAAC;EACF,CAAC,EACD,CAAE7B,QAAQ,EAAEC,MAAM,EAAEG,eAAe,CACpC,CAAC;EAED,MAAMmC,qBAAqB,IAAArC,qBAAA,GAC1BH,QAAQ,CAACyC,qCAAqC,cAAAtC,qBAAA,cAAAA,qBAAA;EAAI;EAClDH,QAAQ,CAAC0C,2BAA2B,CAAC,CAAC;EACvC,MAAMC,8BAA8B,IAAAvC,sBAAA,GACnCJ,QAAQ,CAAC4C,8CAA8C,cAAAxC,sBAAA,cAAAA,sBAAA;EAAI;EAC3DJ,QAAQ,CAAC6C,oCAAoC,CAAC,CAAC;;EAEhD,MAAMC,aAAa,GAAGnE,OAAO,CAC5B,MACC,CAAE,IAAK6D,qBAAqB,IAAI,EAAE,CAAE,CAAE,CAACO,MAAM,CAC5C,CAAE;IAAEC;EAAU,CAAC,KAAM;IACpB,OACC,CAAEA,SAAS,IACTC,KAAK,CAACC,OAAO,CAAEF,SAAU,CAAC,IAC3BA,SAAS,CAACG,QAAQ,CAAElD,QAAS,CAAG;EAEnC,CACD,CAAC,EACF,CAAEuC,qBAAqB,EAAEvC,QAAQ,CAClC,CAAC;EAED,MAAMmD,sBAAsB,GAAGzE,OAAO,CACrC,MACC,CACC,IAAKgE,8BAA8B,IAAI,EAAE,CAAE,EAC3C,IAAKvB,0BAA0B,IAAI,EAAE,CAAE,CACvC,CAAC2B,MAAM,CACP,CAAEM,CAAC,EAAEC,KAAK,EAAEC,GAAG,KACdD,KAAK,KAAKC,GAAG,CAACC,SAAS,CAAIC,CAAC,IAAMJ,CAAC,CAACK,IAAI,KAAKD,CAAC,CAACC,IAAK,CACtD,CAAC,EACF,CAAEf,8BAA8B,EAAEvB,0BAA0B,CAC7D,CAAC;EAED,MAAM;IAAEuC,IAAI;IAAEC;EAAoB,CAAC,GAAG/E,WAAW,CAAEe,WAAY,CAAC;EAEhE,MAAM;IAAEiE;EAAiB,CAAC,GAAGhF,WAAW,CAAEG,SAAU,CAAC;;EAErD;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAM8E,gBAAgB,GAAGlF,WAAW,CACjCmF,OAAO,IAAM;IACd,IAAK,CAAE/C,kBAAkB,EAAG;MAC3B,OAAOgD,OAAO,CAACC,MAAM,CAAE;QACtBC,OAAO,EAAE5E,EAAE,CACV,6CACD;MACD,CAAE,CAAC;IACJ;IACA,OAAOuE,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAEE,OAAQ,CAAC;EACvD,CAAC,EACD,CAAEF,gBAAgB,EAAE7C,kBAAkB,CACvC,CAAC;EAED,MAAMmD,iBAAiB,GAAGxF,OAAO,CAAE,MAAM;IACxC;IACA,IAAKmC,gBAAgB,IAAIA,gBAAgB,CAACsD,MAAM,GAAG,CAAC,EAAG;MACtD;MACA;MACA;MACA,MAAMC,wBAAwB,GAC7B,IAAI,KAAKrE,QAAQ,CAACmE,iBAAiB,GAChC5D,UAAU,CAAC+D,GAAG,CAAE,CAAE;QAAEZ;MAAK,CAAC,KAAMA,IAAK,CAAC,GACtC1D,QAAQ,CAACmE,iBAAiB,IAAI,EAAE;MAEpC,OAAOE,wBAAwB,CAACtB,MAAM,CACnCwB,IAAI,IAAM,CAAEzD,gBAAgB,CAACqC,QAAQ,CAAEoB,IAAK,CAC/C,CAAC;IACF;IAEA,OAAOvE,QAAQ,CAACmE,iBAAiB;EAClC,CAAC,EAAE,CAAEnE,QAAQ,CAACmE,iBAAiB,EAAErD,gBAAgB,EAAEP,UAAU,CAAG,CAAC;EAEjE,MAAMiE,qBAAqB,GAAGxE,QAAQ,CAACQ,SAAS,KAAK,KAAK;EAE1D,OAAO7B,OAAO,CACb,OAAQ;IACP,GAAG8F,MAAM,CAACC,WAAW,CACpBD,MAAM,CAACE,OAAO,CAAE3E,QAAS,CAAC,CAAC+C,MAAM,CAAE,CAAE,CAAE6B,GAAG,CAAE,KAC3C9E,qBAAqB,CAACqD,QAAQ,CAAEyB,GAAI,CACrC,CACD,CAAC;IACDT,iBAAiB;IACjB7D,wBAAwB;IACxBE,SAAS,EAAEA,SAAS,IAAI,CAAEgE,qBAAqB;IAC/C/D,eAAe;IACfC,iBAAiB;IACjBC,oBAAoB;IACpBhB,WAAW,EAAEkB,oBAAoB,GAAGlB,WAAW,GAAGuC,SAAS;IAC3DQ,2BAA2B,EAAEI,aAAa;IAC1C+B,gCAAgC,EAAE,MAAAA,CAAA,KAAY;MAC7C,OAAO,CAAE,MAAMxF,kBAAkB,CAAC,CAAC,EAAG0D,MAAM,CAC3C,CAAE;QAAEC;MAAU,CAAC,KAAM;QACpB,OACC,CAAEA,SAAS,IACTC,KAAK,CAACC,OAAO,CAAEF,SAAU,CAAC,IAC3BA,SAAS,CAACG,QAAQ,CAAElD,QAAS,CAAG;MAEnC,CACD,CAAC;IACF,CAAC;IACD6E,4BAA4B,EAAElE,cAAc;IAC5CiC,oCAAoC,EAAEO,sBAAsB;IAC5D2B,mCAAmC,EAAE5D,qBAAqB;IAC1DlC,kCAAkC,EAAEA,CAAE+F,MAAM,EAAEC,aAAa,KAC1D/F,oBAAoB,CAAE8F,MAAM,EAAEC,aAAa,EAAEjF,QAAS,CAAC;IACxDN,uBAAuB;IACvBwF,8BAA8B,EAAE9F,YAAY;IAC5C;IACA;IACA+F,sCAAsC,EAAEpE,oBAAoB;IAC5D;IACAqE,kBAAkB,EAAEzB,IAAI;IACxB;IACA;IACA0B,WAAW,EAAEpF,QAAQ,KAAK,aAAa;IACvC;IACAqF,8BAA8B,EAAExB,gBAAgB;IAChDyB,gCAAgC,EAAEvE,kBAAkB;IACpDC,WAAW;IACXC,YAAY;IACZsE,kCAAkC,EAAEvF,QAAQ,KAAK,aAAa;IAC9DwF,YAAY,EACXxF,QAAQ,KAAK,eAAe,GAAG,QAAQ,GAAGD,QAAQ,CAACyF,YAAY;IAChEC,QAAQ,EACPzF,QAAQ,KAAK,eAAe,GACzB,CAAE,CAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,CAAE,GACjCD,QAAQ,CAAC0F,QAAQ;IACrBC,iCAAiC,EAAE/B;EACpC,CAAC,CAAE,EACH,CACCO,iBAAiB,EACjB7D,wBAAwB,EACxBE,SAAS,EACTgE,qBAAqB,EACrB/D,eAAe,EACfC,iBAAiB,EACjBC,oBAAoB,EACpBX,QAAQ,EACRa,oBAAoB,EACpBD,cAAc,EACdO,qBAAqB,EACrB2B,aAAa,EACbM,sBAAsB,EACtBrC,oBAAoB,EACpB4C,IAAI,EACJG,gBAAgB,EAChB9C,kBAAkB,EAClBC,WAAW,EACXC,YAAY,EACZjB,QAAQ,EACR2D,mBAAmB,CAErB,CAAC;AACF;AAEA,eAAe7D,sBAAsB"}
@@ -74,6 +74,5 @@ function TableOfContentsPanel({
74
74
  /* eslint-enable jsx-a11y/no-redundant-roles */
75
75
  );
76
76
  }
77
-
78
77
  export default TableOfContentsPanel;
79
78
  //# sourceMappingURL=panel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","useSelect","store","blockEditorStore","WordCount","TimeToRead","DocumentOutline","CharacterCount","TableOfContentsPanel","hasOutlineItemsDisabled","onRequestClose","headingCount","paragraphCount","numberOfBlocks","select","getGlobalBlockCount","createElement","Fragment","className","role","tabIndex","onSelect"],"sources":["@wordpress/editor/src/components/table-of-contents/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WordCount from '../word-count';\nimport TimeToRead from '../time-to-read';\nimport DocumentOutline from '../document-outline';\nimport CharacterCount from '../character-count';\n\nfunction TableOfContentsPanel( { hasOutlineItemsDisabled, onRequestClose } ) {\n\tconst { headingCount, paragraphCount, numberOfBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\theadingCount: getGlobalBlockCount( 'core/heading' ),\n\t\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t\t\tnumberOfBlocks: getGlobalBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn (\n\t\t/*\n\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t */\n\t\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"table-of-contents__wrapper\"\n\t\t\t\trole=\"note\"\n\t\t\t\taria-label={ __( 'Document Statistics' ) }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<ul role=\"list\" className=\"table-of-contents__counts\">\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Words' ) }\n\t\t\t\t\t\t<WordCount />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Characters' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t<CharacterCount />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Time to read' ) }\n\t\t\t\t\t\t<TimeToRead />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Headings' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ headingCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Paragraphs' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ paragraphCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Blocks' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ numberOfBlocks }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t{ headingCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<hr />\n\t\t\t\t\t<h2 className=\"table-of-contents__title\">\n\t\t\t\t\t\t{ __( 'Document Outline' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<DocumentOutline\n\t\t\t\t\t\tonSelect={ onRequestClose }\n\t\t\t\t\t\thasOutlineItemsDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default TableOfContentsPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;;AAEnE;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,iBAAiB;AACxC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,cAAc,MAAM,oBAAoB;AAE/C,SAASC,oBAAoBA,CAAE;EAAEC,uBAAuB;EAAEC;AAAe,CAAC,EAAG;EAC5E,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAe,CAAC,GAAGZ,SAAS,CAC/Da,MAAM,IAAM;IACb,MAAM;MAAEC;IAAoB,CAAC,GAAGD,MAAM,CAAEX,gBAAiB,CAAC;IAC1D,OAAO;MACNQ,YAAY,EAAEI,mBAAmB,CAAE,cAAe,CAAC;MACnDH,cAAc,EAAEG,mBAAmB,CAAE,gBAAiB,CAAC;MACvDF,cAAc,EAAEE,mBAAmB,CAAC;IACrC,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD;IACC;AACF;AACA;AACA;IACE;IACAC,aAAA,CAAAC,QAAA,QACCD,aAAA;MACCE,SAAS,EAAC,4BAA4B;MACtCC,IAAI,EAAC,MAAM;MACX,cAAanB,EAAE,CAAE,qBAAsB,CAAG;MAC1CoB,QAAQ,EAAC;IAAG,GAEZJ,aAAA;MAAIG,IAAI,EAAC,MAAM;MAACD,SAAS,EAAC;IAA2B,GACpDF,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,OAAQ,CAAC,EACfgB,aAAA,CAACZ,SAAS,MAAE,CACT,CAAC,EACLY,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,YAAa,CAAC,EACpBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GAC1CF,aAAA,CAACT,cAAc,MAAE,CACZ,CACH,CAAC,EACLS,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,cAAe,CAAC,EACtBgB,aAAA,CAACX,UAAU,MAAE,CACV,CAAC,EACLW,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,UAAW,CAAC,EAClBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCP,YACG,CACH,CAAC,EACLK,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,YAAa,CAAC,EACpBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCN,cACG,CACH,CAAC,EACLI,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,QAAS,CAAC,EAChBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCL,cACG,CACH,CACD,CACA,CAAC,EACJF,YAAY,GAAG,CAAC,IACjBK,aAAA,CAAAC,QAAA,QACCD,aAAA,WAAK,CAAC,EACNA,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,kBAAmB,CACtB,CAAC,EACLgB,aAAA,CAACV,eAAe;MACfe,QAAQ,EAAGX,cAAgB;MAC3BD,uBAAuB,EAAGA;IAAyB,CACnD,CACA,CAEF;IACF;EAAA;AAEF;;AAEA,eAAeD,oBAAoB"}
1
+ {"version":3,"names":["__","useSelect","store","blockEditorStore","WordCount","TimeToRead","DocumentOutline","CharacterCount","TableOfContentsPanel","hasOutlineItemsDisabled","onRequestClose","headingCount","paragraphCount","numberOfBlocks","select","getGlobalBlockCount","createElement","Fragment","className","role","tabIndex","onSelect"],"sources":["@wordpress/editor/src/components/table-of-contents/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WordCount from '../word-count';\nimport TimeToRead from '../time-to-read';\nimport DocumentOutline from '../document-outline';\nimport CharacterCount from '../character-count';\n\nfunction TableOfContentsPanel( { hasOutlineItemsDisabled, onRequestClose } ) {\n\tconst { headingCount, paragraphCount, numberOfBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\theadingCount: getGlobalBlockCount( 'core/heading' ),\n\t\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t\t\tnumberOfBlocks: getGlobalBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn (\n\t\t/*\n\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t */\n\t\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"table-of-contents__wrapper\"\n\t\t\t\trole=\"note\"\n\t\t\t\taria-label={ __( 'Document Statistics' ) }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<ul role=\"list\" className=\"table-of-contents__counts\">\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Words' ) }\n\t\t\t\t\t\t<WordCount />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Characters' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t<CharacterCount />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Time to read' ) }\n\t\t\t\t\t\t<TimeToRead />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Headings' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ headingCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Paragraphs' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ paragraphCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li className=\"table-of-contents__count\">\n\t\t\t\t\t\t{ __( 'Blocks' ) }\n\t\t\t\t\t\t<span className=\"table-of-contents__number\">\n\t\t\t\t\t\t\t{ numberOfBlocks }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t{ headingCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<hr />\n\t\t\t\t\t<h2 className=\"table-of-contents__title\">\n\t\t\t\t\t\t{ __( 'Document Outline' ) }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<DocumentOutline\n\t\t\t\t\t\tonSelect={ onRequestClose }\n\t\t\t\t\t\thasOutlineItemsDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default TableOfContentsPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;;AAEnE;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,iBAAiB;AACxC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,cAAc,MAAM,oBAAoB;AAE/C,SAASC,oBAAoBA,CAAE;EAAEC,uBAAuB;EAAEC;AAAe,CAAC,EAAG;EAC5E,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAe,CAAC,GAAGZ,SAAS,CAC/Da,MAAM,IAAM;IACb,MAAM;MAAEC;IAAoB,CAAC,GAAGD,MAAM,CAAEX,gBAAiB,CAAC;IAC1D,OAAO;MACNQ,YAAY,EAAEI,mBAAmB,CAAE,cAAe,CAAC;MACnDH,cAAc,EAAEG,mBAAmB,CAAE,gBAAiB,CAAC;MACvDF,cAAc,EAAEE,mBAAmB,CAAC;IACrC,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD;IACC;AACF;AACA;AACA;IACE;IACAC,aAAA,CAAAC,QAAA,QACCD,aAAA;MACCE,SAAS,EAAC,4BAA4B;MACtCC,IAAI,EAAC,MAAM;MACX,cAAanB,EAAE,CAAE,qBAAsB,CAAG;MAC1CoB,QAAQ,EAAC;IAAG,GAEZJ,aAAA;MAAIG,IAAI,EAAC,MAAM;MAACD,SAAS,EAAC;IAA2B,GACpDF,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,OAAQ,CAAC,EACfgB,aAAA,CAACZ,SAAS,MAAE,CACT,CAAC,EACLY,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,YAAa,CAAC,EACpBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GAC1CF,aAAA,CAACT,cAAc,MAAE,CACZ,CACH,CAAC,EACLS,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,cAAe,CAAC,EACtBgB,aAAA,CAACX,UAAU,MAAE,CACV,CAAC,EACLW,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,UAAW,CAAC,EAClBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCP,YACG,CACH,CAAC,EACLK,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,YAAa,CAAC,EACpBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCN,cACG,CACH,CAAC,EACLI,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,QAAS,CAAC,EAChBgB,aAAA;MAAME,SAAS,EAAC;IAA2B,GACxCL,cACG,CACH,CACD,CACA,CAAC,EACJF,YAAY,GAAG,CAAC,IACjBK,aAAA,CAAAC,QAAA,QACCD,aAAA,WAAK,CAAC,EACNA,aAAA;MAAIE,SAAS,EAAC;IAA0B,GACrClB,EAAE,CAAE,kBAAmB,CACtB,CAAC,EACLgB,aAAA,CAACV,eAAe;MACfe,QAAQ,EAAGX,cAAgB;MAC3BD,uBAAuB,EAAGA;IAAyB,CACnD,CACA,CAEF;IACF;EAAA;AAEF;AAEA,eAAeD,oBAAoB"}
@@ -15,6 +15,7 @@ import { store as editorStore } from '../store';
15
15
  import { unlock } from '../lock-unlock';
16
16
  const {
17
17
  PartialSyncingControls,
18
+ ResetOverridesControl,
18
19
  PATTERN_TYPES,
19
20
  PARTIAL_SYNCING_SUPPORTED_BLOCKS
20
21
  } = unlock(patternsPrivateApis);
@@ -42,9 +43,15 @@ const withPartialSyncingControls = createHigherOrderComponent(BlockEdit => props
42
43
  function ControlsWithStoreSubscription(props) {
43
44
  const blockEditingMode = useBlockEditingMode();
44
45
  const isEditingPattern = useSelect(select => select(editorStore).getCurrentPostType() === PATTERN_TYPES.user, []);
45
- return isEditingPattern && blockEditingMode === 'default' && createElement(PartialSyncingControls, {
46
+ const bindings = props.attributes.metadata?.bindings;
47
+ const hasPatternBindings = !!bindings && Object.values(bindings).some(binding => binding.source === 'core/pattern-overrides');
48
+ const shouldShowPartialSyncingControls = isEditingPattern && blockEditingMode === 'default';
49
+ const shouldShowResetOverridesControl = !isEditingPattern && !!props.attributes.metadata?.id && blockEditingMode !== 'disabled' && hasPatternBindings;
50
+ return createElement(Fragment, null, shouldShowPartialSyncingControls && createElement(PartialSyncingControls, {
46
51
  ...props
47
- });
52
+ }), shouldShowResetOverridesControl && createElement(ResetOverridesControl, {
53
+ ...props
54
+ }));
48
55
  }
49
56
  addFilter('editor.BlockEdit', 'core/editor/with-partial-syncing-controls', withPartialSyncingControls);
50
57
  //# sourceMappingURL=pattern-partial-syncing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["addFilter","privateApis","patternsPrivateApis","createHigherOrderComponent","useBlockEditingMode","useSelect","store","editorStore","unlock","PartialSyncingControls","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","withPartialSyncingControls","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","createElement","Fragment","isSelected","ControlsWithStoreSubscription","blockEditingMode","isEditingPattern","select","getCurrentPostType","user"],"sources":["@wordpress/editor/src/hooks/pattern-partial-syncing.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPartialSyncingControls,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPartialSyncingControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isEditingPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === PATTERN_TYPES.user,\n\t\t[]\n\t);\n\n\treturn (\n\t\tisEditingPattern &&\n\t\tblockEditingMode === 'default' && (\n\t\t\t<PartialSyncingControls { ...props } />\n\t\t)\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-partial-syncing-controls',\n\twithPartialSyncingControls\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,0BAA0B,QAAQ,oBAAoB;AAC/D,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,UAAU;AAC/C,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EACLC,sBAAsB;EACtBC,aAAa;EACbC;AACD,CAAC,GAAGH,MAAM,CAAEN,mBAAoB,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMU,0BAA0B,GAAGT,0BAA0B,CAC1DU,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CACnCN,gCACD,CAAC,CAACO,QAAQ,CAAEJ,KAAK,CAACK,IAAK,CAAC;EAExB,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACP,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBA,KAAK,CAACQ,UAAU,IAAIP,gBAAgB,IACrCK,aAAA,CAACG,6BAA6B;IAAA,GAAMT;EAAK,CAAI,CAE7C,CAAC;AAEL,CACD,CAAC;;AAED;AACA;AACA,SAASS,6BAA6BA,CAAET,KAAK,EAAG;EAC/C,MAAMU,gBAAgB,GAAGpB,mBAAmB,CAAC,CAAC;EAC9C,MAAMqB,gBAAgB,GAAGpB,SAAS,CAC/BqB,MAAM,IACPA,MAAM,CAAEnB,WAAY,CAAC,CAACoB,kBAAkB,CAAC,CAAC,KAAKjB,aAAa,CAACkB,IAAI,EAClE,EACD,CAAC;EAED,OACCH,gBAAgB,IAChBD,gBAAgB,KAAK,SAAS,IAC7BJ,aAAA,CAACX,sBAAsB;IAAA,GAAMK;EAAK,CAAI,CACtC;AAEH;AAEAd,SAAS,CACR,kBAAkB,EAClB,2CAA2C,EAC3CY,0BACD,CAAC"}
1
+ {"version":3,"names":["addFilter","privateApis","patternsPrivateApis","createHigherOrderComponent","useBlockEditingMode","useSelect","store","editorStore","unlock","PartialSyncingControls","ResetOverridesControl","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","withPartialSyncingControls","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","createElement","Fragment","isSelected","ControlsWithStoreSubscription","blockEditingMode","isEditingPattern","select","getCurrentPostType","user","bindings","attributes","metadata","hasPatternBindings","values","some","binding","source","shouldShowPartialSyncingControls","shouldShowResetOverridesControl","id"],"sources":["@wordpress/editor/src/hooks/pattern-partial-syncing.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPartialSyncingControls,\n\tResetOverridesControl,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPartialSyncingControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isEditingPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === PATTERN_TYPES.user,\n\t\t[]\n\t);\n\tconst bindings = props.attributes.metadata?.bindings;\n\tconst hasPatternBindings =\n\t\t!! bindings &&\n\t\tObject.values( bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst shouldShowPartialSyncingControls =\n\t\tisEditingPattern && blockEditingMode === 'default';\n\tconst shouldShowResetOverridesControl =\n\t\t! isEditingPattern &&\n\t\t!! props.attributes.metadata?.id &&\n\t\tblockEditingMode !== 'disabled' &&\n\t\thasPatternBindings;\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldShowPartialSyncingControls && (\n\t\t\t\t<PartialSyncingControls { ...props } />\n\t\t\t) }\n\t\t\t{ shouldShowResetOverridesControl && (\n\t\t\t\t<ResetOverridesControl { ...props } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-partial-syncing-controls',\n\twithPartialSyncingControls\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,0BAA0B,QAAQ,oBAAoB;AAC/D,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,UAAU;AAC/C,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EACLC,sBAAsB;EACtBC,qBAAqB;EACrBC,aAAa;EACbC;AACD,CAAC,GAAGJ,MAAM,CAAEN,mBAAoB,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMW,0BAA0B,GAAGV,0BAA0B,CAC1DW,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CACnCN,gCACD,CAAC,CAACO,QAAQ,CAAEJ,KAAK,CAACK,IAAK,CAAC;EAExB,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACP,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBA,KAAK,CAACQ,UAAU,IAAIP,gBAAgB,IACrCK,aAAA,CAACG,6BAA6B;IAAA,GAAMT;EAAK,CAAI,CAE7C,CAAC;AAEL,CACD,CAAC;;AAED;AACA;AACA,SAASS,6BAA6BA,CAAET,KAAK,EAAG;EAC/C,MAAMU,gBAAgB,GAAGrB,mBAAmB,CAAC,CAAC;EAC9C,MAAMsB,gBAAgB,GAAGrB,SAAS,CAC/BsB,MAAM,IACPA,MAAM,CAAEpB,WAAY,CAAC,CAACqB,kBAAkB,CAAC,CAAC,KAAKjB,aAAa,CAACkB,IAAI,EAClE,EACD,CAAC;EACD,MAAMC,QAAQ,GAAGf,KAAK,CAACgB,UAAU,CAACC,QAAQ,EAAEF,QAAQ;EACpD,MAAMG,kBAAkB,GACvB,CAAC,CAAEH,QAAQ,IACXb,MAAM,CAACiB,MAAM,CAAEJ,QAAS,CAAC,CAACK,IAAI,CAC3BC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;EAEF,MAAMC,gCAAgC,GACrCZ,gBAAgB,IAAID,gBAAgB,KAAK,SAAS;EACnD,MAAMc,+BAA+B,GACpC,CAAEb,gBAAgB,IAClB,CAAC,CAAEX,KAAK,CAACgB,UAAU,CAACC,QAAQ,EAAEQ,EAAE,IAChCf,gBAAgB,KAAK,UAAU,IAC/BQ,kBAAkB;EAEnB,OACCZ,aAAA,CAAAC,QAAA,QACGgB,gCAAgC,IACjCjB,aAAA,CAACZ,sBAAsB;IAAA,GAAMM;EAAK,CAAI,CACtC,EACCwB,+BAA+B,IAChClB,aAAA,CAACX,qBAAqB;IAAA,GAAMK;EAAK,CAAI,CAErC,CAAC;AAEL;AAEAf,SAAS,CACR,kBAAkB,EAClB,2CAA2C,EAC3Ca,0BACD,CAAC"}
@@ -291,8 +291,13 @@ export const autosave = ({
291
291
  select,
292
292
  dispatch
293
293
  }) => {
294
+ const post = select.getCurrentPost();
295
+
296
+ // Currently template autosaving is not supported.
297
+ if (post.type === 'wp_template') {
298
+ return;
299
+ }
294
300
  if (local) {
295
- const post = select.getCurrentPost();
296
301
  const isPostNew = select.isEditedPostNew();
297
302
  const title = select.getEditedPostAttribute('title');
298
303
  const content = select.getEditedPostAttribute('content');
@@ -559,11 +564,10 @@ export function updateEditorSettings(settings) {
559
564
  * Returns an action used to set the rendering mode of the post editor. We support multiple rendering modes:
560
565
  *
561
566
  * - `all`: This is the default mode. It renders the post editor with all the features available. If a template is provided, it's preferred over the post.
562
- * - `template-only`: This mode renders the editor with only the template blocks visible.
563
567
  * - `post-only`: This mode extracts the post blocks from the template and renders only those. The idea is to allow the user to edit the post/page in isolation without the wrapping template.
564
568
  * - `template-locked`: This mode renders both the template and the post blocks but the template blocks are locked and can't be edited. The post blocks are editable.
565
569
  *
566
- * @param {string} mode Mode (one of 'template-only', 'post-only', 'template-locked' or 'all').
570
+ * @param {string} mode Mode (one of 'post-only', 'template-locked' or 'all').
567
571
  */
568
572
  export const setRenderingMode = mode => ({
569
573
  dispatch,
@@ -1 +1 @@
1
- {"version":3,"names":["apiFetch","deprecated","parse","synchronizeBlocksWithTemplate","__unstableSerializeAndClean","store","noticesStore","coreStore","blockEditorStore","applyFilters","preferencesStore","TRASH_POST_NOTICE_ID","localAutosaveSet","getNotificationArgumentsForSaveSuccess","getNotificationArgumentsForSaveFail","getNotificationArgumentsForTrashFail","setupEditor","post","edits","template","dispatch","setEditedPost","type","id","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","values","some","key","edit","_post$key$raw","editPost","__experimentalTearDownEditor","since","resetPost","version","alternative","updatePost","setupEditorState","postType","postId","options","select","registry","getCurrentPost","editEntityRecord","savePost","isEditedPostSaveable","getEditedPostContent","isAutosave","undoIgnore","previousRecord","getEntityRecordNonTransientEdits","saveEntityRecord","error","getLastEntitySaveError","Promise","resolve","catch","err","args","length","createErrorNotice","updatedRecord","previousPost","resolveSelect","getPostType","createSuccessNotice","__unstableMarkLastChangeAsPersistent","refreshPost","trashPost","postTypeSlug","getCurrentPostType","removeNotice","rest_base","restBase","rest_namespace","restNamespace","path","method","autosave","local","isPostNew","isEditedPostNew","title","getEditedPostAttribute","excerpt","__unstableSaveForPreview","forceIsAutosaveable","isEditedPostAutosaveable","isPostLocked","isDraft","includes","isPreview","getEditedPostPreviewLink","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","set","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","getEditedEntityRecord","__unstableCreateUndoLevel","blocksForSerialization","updateEditorSettings","settings","setRenderingMode","mode","__unstableIsEditorReady","clearSelectedBlock","undefined","setDeviceType","deviceType","toggleEditorPanelEnabled","panelName","_registry$select$get","inactivePanels","get","isPanelInactive","updatedInactivePanels","filter","invactivePanelName","toggleEditorPanelOpened","_registry$select$get2","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","setIsInserterOpened","value","setIsListViewOpened","isOpen","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"sources":["@wordpress/editor/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { TRASH_POST_NOTICE_ID } from './constants';\nimport { localAutosaveSet } from './local-autosave';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport const setupEditor =\n\t( post, edits, template ) =>\n\t( { dispatch } ) => {\n\t\tdispatch.setEditedPost( post.type, post.id );\n\t\t// Apply a template for new posts only, if exists.\n\t\tconst isNewPost = post.status === 'auto-draft';\n\t\tif ( isNewPost && template ) {\n\t\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t\t// included as part of editor setup action. Assume edited content as\n\t\t\t// canonical if provided, falling back to post.\n\t\t\tlet content;\n\t\t\tif ( 'content' in edits ) {\n\t\t\t\tcontent = edits.content;\n\t\t\t} else {\n\t\t\t\tcontent = post.content.raw;\n\t\t\t}\n\t\t\tlet blocks = parse( content );\n\t\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\t\tdispatch.resetEditorBlocks( blocks, {\n\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tedits &&\n\t\t\tObject.values( edits ).some(\n\t\t\t\t( [ key, edit ] ) =>\n\t\t\t\t\tedit !== ( post[ key ]?.raw ?? post[ key ] )\n\t\t\t)\n\t\t) {\n\t\t\tdispatch.editPost( edits );\n\t\t}\n\t};\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\tdeprecated(\n\t\t\"wp.data.dispatch( 'core/editor' ).__experimentalTearDownEditor\",\n\t\t{\n\t\t\tsince: '6.5',\n\t\t}\n\t);\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function resetPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).resetPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Initialize the editor with the setupEditorState action',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Setup the editor state.\n *\n * @deprecated\n *\n * @param {Object} post Post object.\n */\nexport function setupEditorState( post ) {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).setupEditorState\", {\n\t\tsince: '6.5',\n\t\talternative: \"wp.data.dispatch( 'core/editor' ).setEditedPost\",\n\t} );\n\treturn setEditedPost( post.type, post.id );\n}\n\n/**\n * Returns an action that sets the current post Type and post ID.\n *\n * @param {string} postType Post Type.\n * @param {string} postId Post ID.\n *\n * @return {Object} Action object.\n */\nexport function setEditedPost( postType, postId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType,\n\t\tpostId,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n */\nexport const editPost =\n\t( edits, options ) =>\n\t( { select, registry } ) => {\n\t\tconst { id, type } = select.getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', type, id, edits, options );\n\t};\n\n/**\n * Action for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport const savePost =\n\t( options = {} ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tif ( ! select.isEditedPostSaveable() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = select.getEditedPostContent();\n\n\t\tif ( ! options.isAutosave ) {\n\t\t\tdispatch.editPost( { content }, { undoIgnore: true } );\n\t\t}\n\n\t\tconst previousRecord = select.getCurrentPost();\n\t\tconst edits = {\n\t\t\tid: previousRecord.id,\n\t\t\t...registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordNonTransientEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpreviousRecord.type,\n\t\t\t\t\tpreviousRecord.id\n\t\t\t\t),\n\t\t\tcontent,\n\t\t};\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_START', options } );\n\t\tawait registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tedits,\n\t\t\t\toptions\n\t\t\t);\n\n\t\tlet error = registry\n\t\t\t.select( coreStore )\n\t\t\t.getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tpreviousRecord.id\n\t\t\t);\n\n\t\tif ( ! error ) {\n\t\t\tawait applyFilters(\n\t\t\t\t'editor.__unstableSavePost',\n\t\t\t\tPromise.resolve(),\n\t\t\t\toptions\n\t\t\t).catch( ( err ) => {\n\t\t\t\terror = err;\n\t\t\t} );\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_FINISH', options } );\n\n\t\tif ( error ) {\n\t\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\t\tpost: previousRecord,\n\t\t\t\tedits,\n\t\t\t\terror,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( ...args );\n\t\t\t}\n\t\t} else {\n\t\t\tconst updatedRecord = select.getCurrentPost();\n\t\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\t\tpreviousPost: previousRecord,\n\t\t\t\tpost: updatedRecord,\n\t\t\t\tpostType: await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getPostType( updatedRecord.type ),\n\t\t\t\toptions,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( ...args );\n\t\t\t}\n\t\t\t// Make sure that any edits after saving create an undo level and are\n\t\t\t// considered for change detection.\n\t\t\tif ( ! options.isAutosave ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action for trashing the current post in the editor.\n */\nexport const trashPost =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst postTypeSlug = select.getCurrentPostType();\n\t\tconst postType = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postTypeSlug );\n\t\tregistry.dispatch( noticesStore ).removeNotice( TRASH_POST_NOTICE_ID );\n\t\tconst { rest_base: restBase, rest_namespace: restNamespace = 'wp/v2' } =\n\t\t\tpostType;\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_START' } );\n\t\ttry {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: `/${ restNamespace }/${ restBase }/${ post.id }`,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\tawait dispatch.savePost();\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t\t\t);\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_FINISH' } );\n\t};\n\n/**\n * Action that autosaves the current post. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport const autosave =\n\t( { local = false, ...options } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif ( local ) {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tconst isPostNew = select.isEditedPostNew();\n\t\t\tconst title = select.getEditedPostAttribute( 'title' );\n\t\t\tconst content = select.getEditedPostAttribute( 'content' );\n\t\t\tconst excerpt = select.getEditedPostAttribute( 'excerpt' );\n\t\t\tlocalAutosaveSet( post.id, isPostNew, title, content, excerpt );\n\t\t} else {\n\t\t\tawait dispatch.savePost( { isAutosave: true, ...options } );\n\t\t}\n\t};\n\nexport const __unstableSaveForPreview =\n\t( { forceIsAutosaveable } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif (\n\t\t\t( forceIsAutosaveable || select.isEditedPostAutosaveable() ) &&\n\t\t\t! select.isPostLocked()\n\t\t) {\n\t\t\tconst isDraft = [ 'draft', 'auto-draft' ].includes(\n\t\t\t\tselect.getEditedPostAttribute( 'status' )\n\t\t\t);\n\t\t\tif ( isDraft ) {\n\t\t\t\tawait dispatch.savePost( { isPreview: true } );\n\t\t\t} else {\n\t\t\t\tawait dispatch.autosave( { isPreview: true } );\n\t\t\t}\n\t\t}\n\n\t\treturn select.getEditedPostPreviewLink();\n\t};\n\n/**\n * Action that restores last popped state in undo history.\n */\nexport const redo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).redo();\n\t};\n\n/**\n * Action that pops a record from undo history and undoes the edit.\n */\nexport const undo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).undo();\n\t};\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action that locks the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Enable the publish sidebar.\n */\nexport const enablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', true );\n\t};\n\n/**\n * Disables the publish sidebar.\n */\nexport const disablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', false );\n\t};\n\n/**\n * Action that locks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that locks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n */\nexport const resetEditorBlocks =\n\t( blocks, options = {} ) =>\n\t( { select, dispatch, registry } ) => {\n\t\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\t\tconst edits = { blocks, selection };\n\n\t\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\t\tconst { id, type } = select.getCurrentPost();\n\t\t\tconst noChange =\n\t\t\t\tregistry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.getEditedEntityRecord( 'postType', type, id ).blocks ===\n\t\t\t\tedits.blocks;\n\t\t\tif ( noChange ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__unstableCreateUndoLevel( 'postType', type, id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We create a new function here on every persistent edit\n\t\t\t// to make sure the edit makes the post dirty and creates\n\t\t\t// a new undo level.\n\t\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\t}\n\n\t\tdispatch.editPost( edits );\n\t};\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Returns an action used to set the rendering mode of the post editor. We support multiple rendering modes:\n *\n * - `all`: This is the default mode. It renders the post editor with all the features available. If a template is provided, it's preferred over the post.\n * - `template-only`: This mode renders the editor with only the template blocks visible.\n * - `post-only`: This mode extracts the post blocks from the template and renders only those. The idea is to allow the user to edit the post/page in isolation without the wrapping template.\n * - `template-locked`: This mode renders both the template and the post blocks but the template blocks are locked and can't be edited. The post blocks are editable.\n *\n * @param {string} mode Mode (one of 'template-only', 'post-only', 'template-locked' or 'all').\n */\nexport const setRenderingMode =\n\t( mode ) =>\n\t( { dispatch, registry, select } ) => {\n\t\tif ( select.__unstableIsEditorReady() ) {\n\t\t\t// We clear the block selection but we also need to clear the selection from the core store.\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t\tdispatch.editPost( { selection: undefined }, { undoIgnore: true } );\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_RENDERING_MODE',\n\t\t\tmode,\n\t\t} );\n\t};\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function setDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport const toggleEditorPanelEnabled =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst inactivePanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'inactivePanels' ) ?? [];\n\n\t\tconst isPanelInactive = !! inactivePanels?.includes( panelName );\n\n\t\t// If the panel is inactive, remove it to enable it, else add it to\n\t\t// make it inactive.\n\t\tlet updatedInactivePanels;\n\t\tif ( isPanelInactive ) {\n\t\t\tupdatedInactivePanels = inactivePanels.filter(\n\t\t\t\t( invactivePanelName ) => invactivePanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedInactivePanels = [ ...inactivePanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'inactivePanels', updatedInactivePanels );\n\t};\n\n/**\n * Opens a closed panel and closes an open panel.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n */\nexport const toggleEditorPanelOpened =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst openPanels =\n\t\t\tregistry.select( preferencesStore ).get( 'core', 'openPanels' ) ??\n\t\t\t[];\n\n\t\tconst isPanelOpen = !! openPanels?.includes( panelName );\n\n\t\t// If the panel is open, remove it to close it, else add it to\n\t\t// make it open.\n\t\tlet updatedOpenPanels;\n\t\tif ( isPanelOpen ) {\n\t\t\tupdatedOpenPanels = openPanels.filter(\n\t\t\t\t( openPanelName ) => openPanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedOpenPanels = [ ...openPanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'openPanels', updatedOpenPanels );\n\t};\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction =\n\t( name ) =>\n\t( ...args ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\t\tsince: '5.3',\n\t\t\talternative:\n\t\t\t\t\"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\t\tversion: '6.2',\n\t\t} );\n\t\tregistry.dispatch( blockEditorStore )[ name ]( ...args );\n\t};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["apiFetch","deprecated","parse","synchronizeBlocksWithTemplate","__unstableSerializeAndClean","store","noticesStore","coreStore","blockEditorStore","applyFilters","preferencesStore","TRASH_POST_NOTICE_ID","localAutosaveSet","getNotificationArgumentsForSaveSuccess","getNotificationArgumentsForSaveFail","getNotificationArgumentsForTrashFail","setupEditor","post","edits","template","dispatch","setEditedPost","type","id","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","values","some","key","edit","_post$key$raw","editPost","__experimentalTearDownEditor","since","resetPost","version","alternative","updatePost","setupEditorState","postType","postId","options","select","registry","getCurrentPost","editEntityRecord","savePost","isEditedPostSaveable","getEditedPostContent","isAutosave","undoIgnore","previousRecord","getEntityRecordNonTransientEdits","saveEntityRecord","error","getLastEntitySaveError","Promise","resolve","catch","err","args","length","createErrorNotice","updatedRecord","previousPost","resolveSelect","getPostType","createSuccessNotice","__unstableMarkLastChangeAsPersistent","refreshPost","trashPost","postTypeSlug","getCurrentPostType","removeNotice","rest_base","restBase","rest_namespace","restNamespace","path","method","autosave","local","isPostNew","isEditedPostNew","title","getEditedPostAttribute","excerpt","__unstableSaveForPreview","forceIsAutosaveable","isEditedPostAutosaveable","isPostLocked","isDraft","includes","isPreview","getEditedPostPreviewLink","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","set","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","getEditedEntityRecord","__unstableCreateUndoLevel","blocksForSerialization","updateEditorSettings","settings","setRenderingMode","mode","__unstableIsEditorReady","clearSelectedBlock","undefined","setDeviceType","deviceType","toggleEditorPanelEnabled","panelName","_registry$select$get","inactivePanels","get","isPanelInactive","updatedInactivePanels","filter","invactivePanelName","toggleEditorPanelOpened","_registry$select$get2","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","setIsInserterOpened","value","setIsListViewOpened","isOpen","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"sources":["@wordpress/editor/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { TRASH_POST_NOTICE_ID } from './constants';\nimport { localAutosaveSet } from './local-autosave';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport const setupEditor =\n\t( post, edits, template ) =>\n\t( { dispatch } ) => {\n\t\tdispatch.setEditedPost( post.type, post.id );\n\t\t// Apply a template for new posts only, if exists.\n\t\tconst isNewPost = post.status === 'auto-draft';\n\t\tif ( isNewPost && template ) {\n\t\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t\t// included as part of editor setup action. Assume edited content as\n\t\t\t// canonical if provided, falling back to post.\n\t\t\tlet content;\n\t\t\tif ( 'content' in edits ) {\n\t\t\t\tcontent = edits.content;\n\t\t\t} else {\n\t\t\t\tcontent = post.content.raw;\n\t\t\t}\n\t\t\tlet blocks = parse( content );\n\t\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\t\tdispatch.resetEditorBlocks( blocks, {\n\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tedits &&\n\t\t\tObject.values( edits ).some(\n\t\t\t\t( [ key, edit ] ) =>\n\t\t\t\t\tedit !== ( post[ key ]?.raw ?? post[ key ] )\n\t\t\t)\n\t\t) {\n\t\t\tdispatch.editPost( edits );\n\t\t}\n\t};\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\tdeprecated(\n\t\t\"wp.data.dispatch( 'core/editor' ).__experimentalTearDownEditor\",\n\t\t{\n\t\t\tsince: '6.5',\n\t\t}\n\t);\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function resetPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).resetPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Initialize the editor with the setupEditorState action',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Setup the editor state.\n *\n * @deprecated\n *\n * @param {Object} post Post object.\n */\nexport function setupEditorState( post ) {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).setupEditorState\", {\n\t\tsince: '6.5',\n\t\talternative: \"wp.data.dispatch( 'core/editor' ).setEditedPost\",\n\t} );\n\treturn setEditedPost( post.type, post.id );\n}\n\n/**\n * Returns an action that sets the current post Type and post ID.\n *\n * @param {string} postType Post Type.\n * @param {string} postId Post ID.\n *\n * @return {Object} Action object.\n */\nexport function setEditedPost( postType, postId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType,\n\t\tpostId,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n */\nexport const editPost =\n\t( edits, options ) =>\n\t( { select, registry } ) => {\n\t\tconst { id, type } = select.getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', type, id, edits, options );\n\t};\n\n/**\n * Action for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport const savePost =\n\t( options = {} ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tif ( ! select.isEditedPostSaveable() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = select.getEditedPostContent();\n\n\t\tif ( ! options.isAutosave ) {\n\t\t\tdispatch.editPost( { content }, { undoIgnore: true } );\n\t\t}\n\n\t\tconst previousRecord = select.getCurrentPost();\n\t\tconst edits = {\n\t\t\tid: previousRecord.id,\n\t\t\t...registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordNonTransientEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpreviousRecord.type,\n\t\t\t\t\tpreviousRecord.id\n\t\t\t\t),\n\t\t\tcontent,\n\t\t};\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_START', options } );\n\t\tawait registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tedits,\n\t\t\t\toptions\n\t\t\t);\n\n\t\tlet error = registry\n\t\t\t.select( coreStore )\n\t\t\t.getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tpreviousRecord.id\n\t\t\t);\n\n\t\tif ( ! error ) {\n\t\t\tawait applyFilters(\n\t\t\t\t'editor.__unstableSavePost',\n\t\t\t\tPromise.resolve(),\n\t\t\t\toptions\n\t\t\t).catch( ( err ) => {\n\t\t\t\terror = err;\n\t\t\t} );\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_UPDATE_FINISH', options } );\n\n\t\tif ( error ) {\n\t\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\t\tpost: previousRecord,\n\t\t\t\tedits,\n\t\t\t\terror,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( ...args );\n\t\t\t}\n\t\t} else {\n\t\t\tconst updatedRecord = select.getCurrentPost();\n\t\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\t\tpreviousPost: previousRecord,\n\t\t\t\tpost: updatedRecord,\n\t\t\t\tpostType: await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getPostType( updatedRecord.type ),\n\t\t\t\toptions,\n\t\t\t} );\n\t\t\tif ( args.length ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( ...args );\n\t\t\t}\n\t\t\t// Make sure that any edits after saving create an undo level and are\n\t\t\t// considered for change detection.\n\t\t\tif ( ! options.isAutosave ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action for trashing the current post in the editor.\n */\nexport const trashPost =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst postTypeSlug = select.getCurrentPostType();\n\t\tconst postType = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postTypeSlug );\n\t\tregistry.dispatch( noticesStore ).removeNotice( TRASH_POST_NOTICE_ID );\n\t\tconst { rest_base: restBase, rest_namespace: restNamespace = 'wp/v2' } =\n\t\t\tpostType;\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_START' } );\n\t\ttry {\n\t\t\tconst post = select.getCurrentPost();\n\t\t\tawait apiFetch( {\n\t\t\t\tpath: `/${ restNamespace }/${ restBase }/${ post.id }`,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t} );\n\n\t\t\tawait dispatch.savePost();\n\t\t} catch ( error ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice(\n\t\t\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t\t\t);\n\t\t}\n\t\tdispatch( { type: 'REQUEST_POST_DELETE_FINISH' } );\n\t};\n\n/**\n * Action that autosaves the current post. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport const autosave =\n\t( { local = false, ...options } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tconst post = select.getCurrentPost();\n\n\t\t// Currently template autosaving is not supported.\n\t\tif ( post.type === 'wp_template' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( local ) {\n\t\t\tconst isPostNew = select.isEditedPostNew();\n\t\t\tconst title = select.getEditedPostAttribute( 'title' );\n\t\t\tconst content = select.getEditedPostAttribute( 'content' );\n\t\t\tconst excerpt = select.getEditedPostAttribute( 'excerpt' );\n\t\t\tlocalAutosaveSet( post.id, isPostNew, title, content, excerpt );\n\t\t} else {\n\t\t\tawait dispatch.savePost( { isAutosave: true, ...options } );\n\t\t}\n\t};\n\nexport const __unstableSaveForPreview =\n\t( { forceIsAutosaveable } = {} ) =>\n\tasync ( { select, dispatch } ) => {\n\t\tif (\n\t\t\t( forceIsAutosaveable || select.isEditedPostAutosaveable() ) &&\n\t\t\t! select.isPostLocked()\n\t\t) {\n\t\t\tconst isDraft = [ 'draft', 'auto-draft' ].includes(\n\t\t\t\tselect.getEditedPostAttribute( 'status' )\n\t\t\t);\n\t\t\tif ( isDraft ) {\n\t\t\t\tawait dispatch.savePost( { isPreview: true } );\n\t\t\t} else {\n\t\t\t\tawait dispatch.autosave( { isPreview: true } );\n\t\t\t}\n\t\t}\n\n\t\treturn select.getEditedPostPreviewLink();\n\t};\n\n/**\n * Action that restores last popped state in undo history.\n */\nexport const redo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).redo();\n\t};\n\n/**\n * Action that pops a record from undo history and undoes the edit.\n */\nexport const undo =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry.dispatch( coreStore ).undo();\n\t};\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action that locks the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Enable the publish sidebar.\n */\nexport const enablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', true );\n\t};\n\n/**\n * Disables the publish sidebar.\n */\nexport const disablePublishSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'isPublishSidebarEnabled', false );\n\t};\n\n/**\n * Action that locks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that locks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n */\nexport const resetEditorBlocks =\n\t( blocks, options = {} ) =>\n\t( { select, dispatch, registry } ) => {\n\t\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\t\tconst edits = { blocks, selection };\n\n\t\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\t\tconst { id, type } = select.getCurrentPost();\n\t\t\tconst noChange =\n\t\t\t\tregistry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.getEditedEntityRecord( 'postType', type, id ).blocks ===\n\t\t\t\tedits.blocks;\n\t\t\tif ( noChange ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__unstableCreateUndoLevel( 'postType', type, id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We create a new function here on every persistent edit\n\t\t\t// to make sure the edit makes the post dirty and creates\n\t\t\t// a new undo level.\n\t\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\t}\n\n\t\tdispatch.editPost( edits );\n\t};\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Returns an action used to set the rendering mode of the post editor. We support multiple rendering modes:\n *\n * - `all`: This is the default mode. It renders the post editor with all the features available. If a template is provided, it's preferred over the post.\n * - `post-only`: This mode extracts the post blocks from the template and renders only those. The idea is to allow the user to edit the post/page in isolation without the wrapping template.\n * - `template-locked`: This mode renders both the template and the post blocks but the template blocks are locked and can't be edited. The post blocks are editable.\n *\n * @param {string} mode Mode (one of 'post-only', 'template-locked' or 'all').\n */\nexport const setRenderingMode =\n\t( mode ) =>\n\t( { dispatch, registry, select } ) => {\n\t\tif ( select.__unstableIsEditorReady() ) {\n\t\t\t// We clear the block selection but we also need to clear the selection from the core store.\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t\tdispatch.editPost( { selection: undefined }, { undoIgnore: true } );\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_RENDERING_MODE',\n\t\t\tmode,\n\t\t} );\n\t};\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function setDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport const toggleEditorPanelEnabled =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst inactivePanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'inactivePanels' ) ?? [];\n\n\t\tconst isPanelInactive = !! inactivePanels?.includes( panelName );\n\n\t\t// If the panel is inactive, remove it to enable it, else add it to\n\t\t// make it inactive.\n\t\tlet updatedInactivePanels;\n\t\tif ( isPanelInactive ) {\n\t\t\tupdatedInactivePanels = inactivePanels.filter(\n\t\t\t\t( invactivePanelName ) => invactivePanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedInactivePanels = [ ...inactivePanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'inactivePanels', updatedInactivePanels );\n\t};\n\n/**\n * Opens a closed panel and closes an open panel.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n */\nexport const toggleEditorPanelOpened =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst openPanels =\n\t\t\tregistry.select( preferencesStore ).get( 'core', 'openPanels' ) ??\n\t\t\t[];\n\n\t\tconst isPanelOpen = !! openPanels?.includes( panelName );\n\n\t\t// If the panel is open, remove it to close it, else add it to\n\t\t// make it open.\n\t\tlet updatedOpenPanels;\n\t\tif ( isPanelOpen ) {\n\t\t\tupdatedOpenPanels = openPanels.filter(\n\t\t\t\t( openPanelName ) => openPanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedOpenPanels = [ ...openPanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'openPanels', updatedOpenPanels );\n\t};\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction =\n\t( name ) =>\n\t( ...args ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\t\tsince: '5.3',\n\t\t\talternative:\n\t\t\t\t\"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\t\tversion: '6.2',\n\t\t} );\n\t\tregistry.dispatch( blockEditorStore )[ name ]( ...args );\n\t};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"],"mappings":"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"}
@@ -41,6 +41,7 @@ export const createTemplate = template => async ({
41
41
  onClick: () => dispatch.setRenderingMode(select.getEditorSettings().defaultRenderingMode)
42
42
  }]
43
43
  });
44
+ return savedTemplate;
44
45
  };
45
46
 
46
47
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","__","noticesStore","preferencesStore","setCurrentTemplateId","id","type","createTemplate","template","select","dispatch","registry","savedTemplate","saveEntityRecord","editEntityRecord","getCurrentPostType","getCurrentPostId","slug","createSuccessNotice","actions","label","onClick","setRenderingMode","getEditorSettings","defaultRenderingMode","showBlockTypes","blockNames","_registry$select$get","existingBlockNames","get","newBlockNames","filter","Array","isArray","includes","set","hideBlockTypes","_registry$select$get2","mergedBlockNames","Set"],"sources":["@wordpress/editor/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Returns an action object used to set which template is currently being used/edited.\n *\n * @param {string} id Template Id.\n *\n * @return {Object} Action object.\n */\nexport function setCurrentTemplateId( id ) {\n\treturn {\n\t\ttype: 'SET_CURRENT_TEMPLATE_ID',\n\t\tid,\n\t};\n}\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const createTemplate =\n\t( template ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tselect.getCurrentPostType(),\n\t\t\t\tselect.getCurrentPostId(),\n\t\t\t\t{\n\t\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t\t}\n\t\t\t);\n\t\tregistry\n\t\t\t.dispatch( noticesStore )\n\t\t\t.createSuccessNotice(\n\t\t\t\t__( \"Custom template created. You're in template mode now.\" ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\tdispatch.setRenderingMode(\n\t\t\t\t\t\t\t\t\tselect.getEditorSettings()\n\t\t\t\t\t\t\t\t\t\t.defaultRenderingMode\n\t\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};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n\t};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASF,KAAK,IAAIG,YAAY,QAAQ,oBAAoB;AAC1D,SAASH,KAAK,IAAII,gBAAgB,QAAQ,wBAAwB;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAEC,EAAE,EAAG;EAC1C,OAAO;IACNC,IAAI,EAAE,yBAAyB;IAC/BD;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GACxBC,QAAQ,IACV,OAAQ;EAAEC,MAAM;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAM;EAC3C,MAAMC,aAAa,GAAG,MAAMD,QAAQ,CAClCD,QAAQ,CAAEV,SAAU,CAAC,CACrBa,gBAAgB,CAAE,UAAU,EAAE,aAAa,EAAEL,QAAS,CAAC;EACzDG,QAAQ,CACND,QAAQ,CAAEV,SAAU,CAAC,CACrBc,gBAAgB,CAChB,UAAU,EACVL,MAAM,CAACM,kBAAkB,CAAC,CAAC,EAC3BN,MAAM,CAACO,gBAAgB,CAAC,CAAC,EACzB;IACCR,QAAQ,EAAEI,aAAa,CAACK;EACzB,CACD,CAAC;EACFN,QAAQ,CACND,QAAQ,CAAER,YAAa,CAAC,CACxBgB,mBAAmB,CACnBjB,EAAE,CAAE,uDAAwD,CAAC,EAC7D;IACCK,IAAI,EAAE,UAAU;IAChBa,OAAO,EAAE,CACR;MACCC,KAAK,EAAEnB,EAAE,CAAE,SAAU,CAAC;MACtBoB,OAAO,EAAEA,CAAA,KACRX,QAAQ,CAACY,gBAAgB,CACxBb,MAAM,CAACc,iBAAiB,CAAC,CAAC,CACxBC,oBACH;IACF,CAAC;EAEH,CACD,CAAC;AACH,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GACxBC,UAAU,IACZ,CAAE;EAAEf;AAAS,CAAC,KAAM;EAAA,IAAAgB,oBAAA;EACnB,MAAMC,kBAAkB,IAAAD,oBAAA,GACvBhB,QAAQ,CACNF,MAAM,CAAEN,gBAAiB,CAAC,CAC1B0B,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC,cAAAF,oBAAA,cAAAA,oBAAA,GAAI,EAAE;EAE1C,MAAMG,aAAa,GAAGF,kBAAkB,CAACG,MAAM,CAC5CzB,IAAI,IACL,CAAE,CACD0B,KAAK,CAACC,OAAO,CAAEP,UAAW,CAAC,GAAGA,UAAU,GAAG,CAAEA,UAAU,CAAE,EACxDQ,QAAQ,CAAE5B,IAAK,CACnB,CAAC;EAEDK,QAAQ,CACND,QAAQ,CAAEP,gBAAiB,CAAC,CAC5BgC,GAAG,CAAE,MAAM,EAAE,kBAAkB,EAAEL,aAAc,CAAC;AACnD,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,cAAc,GACxBV,UAAU,IACZ,CAAE;EAAEf;AAAS,CAAC,KAAM;EAAA,IAAA0B,qBAAA;EACnB,MAAMT,kBAAkB,IAAAS,qBAAA,GACvB1B,QAAQ,CACNF,MAAM,CAAEN,gBAAiB,CAAC,CAC1B0B,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC,cAAAQ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAE1C,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAE,CACjC,GAAGX,kBAAkB,EACrB,IAAKI,KAAK,CAACC,OAAO,CAAEP,UAAW,CAAC,GAAGA,UAAU,GAAG,CAAEA,UAAU,CAAE,CAAE,CAC/D,CAAC;EAEHf,QAAQ,CACND,QAAQ,CAAEP,gBAAiB,CAAC,CAC5BgC,GAAG,CAAE,MAAM,EAAE,kBAAkB,EAAE,CAAE,GAAGG,gBAAgB,CAAG,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"names":["store","coreStore","__","noticesStore","preferencesStore","setCurrentTemplateId","id","type","createTemplate","template","select","dispatch","registry","savedTemplate","saveEntityRecord","editEntityRecord","getCurrentPostType","getCurrentPostId","slug","createSuccessNotice","actions","label","onClick","setRenderingMode","getEditorSettings","defaultRenderingMode","showBlockTypes","blockNames","_registry$select$get","existingBlockNames","get","newBlockNames","filter","Array","isArray","includes","set","hideBlockTypes","_registry$select$get2","mergedBlockNames","Set"],"sources":["@wordpress/editor/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Returns an action object used to set which template is currently being used/edited.\n *\n * @param {string} id Template Id.\n *\n * @return {Object} Action object.\n */\nexport function setCurrentTemplateId( id ) {\n\treturn {\n\t\ttype: 'SET_CURRENT_TEMPLATE_ID',\n\t\tid,\n\t};\n}\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const createTemplate =\n\t( template ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tselect.getCurrentPostType(),\n\t\t\t\tselect.getCurrentPostId(),\n\t\t\t\t{\n\t\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t\t}\n\t\t\t);\n\t\tregistry\n\t\t\t.dispatch( noticesStore )\n\t\t\t.createSuccessNotice(\n\t\t\t\t__( \"Custom template created. You're in template mode now.\" ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\tdispatch.setRenderingMode(\n\t\t\t\t\t\t\t\t\tselect.getEditorSettings()\n\t\t\t\t\t\t\t\t\t\t.defaultRenderingMode\n\t\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\treturn savedTemplate;\n\t};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n\t};\n"],"mappings":"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"}