@wordpress/edit-post 7.16.0 → 7.17.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 (425) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +6 -1
  3. package/build/components/block-manager/category.js +1 -14
  4. package/build/components/block-manager/category.js.map +1 -1
  5. package/build/components/block-manager/checklist.js +1 -5
  6. package/build/components/block-manager/checklist.js.map +1 -1
  7. package/build/components/block-manager/index.js +11 -23
  8. package/build/components/block-manager/index.js.map +1 -1
  9. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +3 -11
  10. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  11. package/build/components/browser-url/index.js +6 -23
  12. package/build/components/browser-url/index.js.map +1 -1
  13. package/build/components/device-preview/index.js +1 -11
  14. package/build/components/device-preview/index.js.map +1 -1
  15. package/build/components/editor-initialization/index.js +0 -2
  16. package/build/components/editor-initialization/index.js.map +1 -1
  17. package/build/components/editor-initialization/listener-hooks.js +1 -12
  18. package/build/components/editor-initialization/listener-hooks.js.map +1 -1
  19. package/build/components/header/document-actions/index.js +1 -17
  20. package/build/components/header/document-actions/index.js.map +1 -1
  21. package/build/components/header/fullscreen-mode-close/index.js +3 -22
  22. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  23. package/build/components/header/header-toolbar/index.js +5 -22
  24. package/build/components/header/header-toolbar/index.js.map +1 -1
  25. package/build/components/header/header-toolbar/index.native.js +2 -24
  26. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  27. package/build/components/header/index.js +3 -20
  28. package/build/components/header/index.js.map +1 -1
  29. package/build/components/header/index.native.js +1 -13
  30. package/build/components/header/index.native.js.map +1 -1
  31. package/build/components/header/main-dashboard-button/index.js +1 -7
  32. package/build/components/header/main-dashboard-button/index.js.map +1 -1
  33. package/build/components/header/mode-switcher/index.js +6 -21
  34. package/build/components/header/mode-switcher/index.js.map +1 -1
  35. package/build/components/header/more-menu/index.js +1 -12
  36. package/build/components/header/more-menu/index.js.map +1 -1
  37. package/build/components/header/plugin-more-menu-item/index.js +0 -8
  38. package/build/components/header/plugin-more-menu-item/index.js.map +1 -1
  39. package/build/components/header/plugin-sidebar-more-menu-item/index.js +3 -4
  40. package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
  41. package/build/components/header/post-publish-button-or-toggle.js +2 -11
  42. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  43. package/build/components/header/preferences-menu-item/index.js +1 -7
  44. package/build/components/header/preferences-menu-item/index.js.map +1 -1
  45. package/build/components/header/tools-more-menu-group/index.js +1 -6
  46. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  47. package/build/components/header/writing-menu/index.js +1 -15
  48. package/build/components/header/writing-menu/index.js.map +1 -1
  49. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  50. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  51. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -9
  52. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  53. package/build/components/keyboard-shortcut-help-modal/index.js +4 -25
  54. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  55. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -6
  56. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  57. package/build/components/keyboard-shortcuts/index.js +4 -23
  58. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  59. package/build/components/layout/actions-panel.js +7 -17
  60. package/build/components/layout/actions-panel.js.map +1 -1
  61. package/build/components/layout/index.js +47 -82
  62. package/build/components/layout/index.js.map +1 -1
  63. package/build/components/layout/index.native.js +5 -34
  64. package/build/components/layout/index.native.js.map +1 -1
  65. package/build/components/meta-boxes/index.js +4 -12
  66. package/build/components/meta-boxes/index.js.map +1 -1
  67. package/build/components/meta-boxes/meta-box-visibility.js +1 -12
  68. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  69. package/build/components/meta-boxes/meta-boxes-area/index.js +0 -10
  70. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  71. package/build/components/preferences-modal/index.js +1 -18
  72. package/build/components/preferences-modal/index.js.map +1 -1
  73. package/build/components/preferences-modal/meta-boxes-section.js +3 -13
  74. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  75. package/build/components/preferences-modal/options/enable-custom-fields.js +10 -11
  76. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  77. package/build/components/preferences-modal/options/enable-feature.js +0 -7
  78. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  79. package/build/components/preferences-modal/options/enable-panel.js +0 -7
  80. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  81. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js +1 -6
  82. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  83. package/build/components/preferences-modal/options/enable-publish-sidebar.js +2 -8
  84. package/build/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  85. package/build/components/preferences-modal/options/index.js +0 -6
  86. package/build/components/preferences-modal/options/index.js.map +1 -1
  87. package/build/components/secondary-sidebar/inserter-sidebar.js +1 -9
  88. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  89. package/build/components/secondary-sidebar/list-view-outline.js +1 -8
  90. package/build/components/secondary-sidebar/list-view-outline.js.map +1 -1
  91. package/build/components/secondary-sidebar/list-view-sidebar.js +32 -44
  92. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  93. package/build/components/sidebar/discussion-panel/index.js +0 -11
  94. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  95. package/build/components/sidebar/featured-image/index.js +0 -15
  96. package/build/components/sidebar/featured-image/index.js.map +1 -1
  97. package/build/components/sidebar/last-revision/index.js +1 -5
  98. package/build/components/sidebar/last-revision/index.js.map +1 -1
  99. package/build/components/sidebar/page-attributes/index.js +0 -14
  100. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  101. package/build/components/sidebar/plugin-document-setting-panel/index.js +44 -61
  102. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  103. package/build/components/sidebar/plugin-post-publish-panel/index.js +19 -25
  104. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  105. package/build/components/sidebar/plugin-post-status-info/index.js +2 -5
  106. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  107. package/build/components/sidebar/plugin-pre-publish-panel/index.js +19 -25
  108. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  109. package/build/components/sidebar/plugin-sidebar/index.js +0 -8
  110. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  111. package/build/components/sidebar/post-author/index.js +1 -5
  112. package/build/components/sidebar/post-author/index.js.map +1 -1
  113. package/build/components/sidebar/post-excerpt/index.js +0 -13
  114. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  115. package/build/components/sidebar/post-format/index.js +1 -5
  116. package/build/components/sidebar/post-format/index.js.map +1 -1
  117. package/build/components/sidebar/post-pending-status/index.js +1 -5
  118. package/build/components/sidebar/post-pending-status/index.js.map +1 -1
  119. package/build/components/sidebar/post-schedule/index.js +5 -9
  120. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  121. package/build/components/sidebar/post-slug/index.js +1 -5
  122. package/build/components/sidebar/post-slug/index.js.map +1 -1
  123. package/build/components/sidebar/post-status/index.js +0 -24
  124. package/build/components/sidebar/post-status/index.js.map +1 -1
  125. package/build/components/sidebar/post-sticky/index.js +1 -5
  126. package/build/components/sidebar/post-sticky/index.js.map +1 -1
  127. package/build/components/sidebar/post-taxonomies/index.js +1 -6
  128. package/build/components/sidebar/post-taxonomies/index.js.map +1 -1
  129. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +1 -11
  130. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  131. package/build/components/sidebar/post-template/create-modal.js +1 -16
  132. package/build/components/sidebar/post-template/create-modal.js.map +1 -1
  133. package/build/components/sidebar/post-template/form.js +3 -16
  134. package/build/components/sidebar/post-template/form.js.map +1 -1
  135. package/build/components/sidebar/post-template/index.js +5 -24
  136. package/build/components/sidebar/post-template/index.js.map +1 -1
  137. package/build/components/sidebar/post-trash/index.js +1 -3
  138. package/build/components/sidebar/post-trash/index.js.map +1 -1
  139. package/build/components/sidebar/post-url/index.js +5 -9
  140. package/build/components/sidebar/post-url/index.js.map +1 -1
  141. package/build/components/sidebar/post-visibility/index.js +5 -10
  142. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  143. package/build/components/sidebar/settings-header/index.js +12 -17
  144. package/build/components/sidebar/settings-header/index.js.map +1 -1
  145. package/build/components/sidebar/settings-sidebar/index.js +2 -29
  146. package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
  147. package/build/components/sidebar/template-summary/index.js +1 -9
  148. package/build/components/sidebar/template-summary/index.js.map +1 -1
  149. package/build/components/start-page-options/index.js +1 -15
  150. package/build/components/start-page-options/index.js.map +1 -1
  151. package/build/components/text-editor/index.js +1 -8
  152. package/build/components/text-editor/index.js.map +1 -1
  153. package/build/components/view-link/index.js +3 -10
  154. package/build/components/view-link/index.js.map +1 -1
  155. package/build/components/visual-editor/block-inspector-button.js +1 -11
  156. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  157. package/build/components/visual-editor/header.native.js +1 -12
  158. package/build/components/visual-editor/header.native.js.map +1 -1
  159. package/build/components/visual-editor/index.js +33 -53
  160. package/build/components/visual-editor/index.js.map +1 -1
  161. package/build/components/visual-editor/index.native.js +1 -9
  162. package/build/components/visual-editor/index.native.js.map +1 -1
  163. package/build/components/welcome-guide/default.js +1 -8
  164. package/build/components/welcome-guide/default.js.map +1 -1
  165. package/build/components/welcome-guide/image.js +0 -2
  166. package/build/components/welcome-guide/image.js.map +1 -1
  167. package/build/components/welcome-guide/index.js +1 -11
  168. package/build/components/welcome-guide/index.js.map +1 -1
  169. package/build/components/welcome-guide/template.js +1 -8
  170. package/build/components/welcome-guide/template.js.map +1 -1
  171. package/build/editor.js +7 -29
  172. package/build/editor.js.map +1 -1
  173. package/build/editor.native.js +10 -35
  174. package/build/editor.native.js.map +1 -1
  175. package/build/hooks/commands/use-common-commands.js +10 -24
  176. package/build/hooks/commands/use-common-commands.js.map +1 -1
  177. package/build/hooks/components/index.js +1 -3
  178. package/build/hooks/components/index.js.map +1 -1
  179. package/build/hooks/index.js +0 -1
  180. package/build/hooks/index.js.map +1 -1
  181. package/build/hooks/validate-multiple-use/index.js +10 -18
  182. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  183. package/build/index.js +14 -47
  184. package/build/index.js.map +1 -1
  185. package/build/index.native.js +0 -9
  186. package/build/index.native.js.map +1 -1
  187. package/build/lock-unlock.js +1 -2
  188. package/build/lock-unlock.js.map +1 -1
  189. package/build/plugins/copy-content-menu-item/index.js +1 -10
  190. package/build/plugins/copy-content-menu-item/index.js.map +1 -1
  191. package/build/plugins/index.js +5 -22
  192. package/build/plugins/index.js.map +1 -1
  193. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +1 -10
  194. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  195. package/build/plugins/welcome-guide-menu-item/index.js +1 -6
  196. package/build/plugins/welcome-guide-menu-item/index.js.map +1 -1
  197. package/build/store/actions.js +53 -120
  198. package/build/store/actions.js.map +1 -1
  199. package/build/store/constants.js +2 -3
  200. package/build/store/constants.js.map +1 -1
  201. package/build/store/index.js +0 -9
  202. package/build/store/index.js.map +1 -1
  203. package/build/store/reducer.js +9 -42
  204. package/build/store/reducer.js.map +1 -1
  205. package/build/store/selectors.js +63 -91
  206. package/build/store/selectors.js.map +1 -1
  207. package/build/utils/meta-boxes.js +0 -4
  208. package/build/utils/meta-boxes.js.map +1 -1
  209. package/build-module/components/block-manager/category.js +1 -8
  210. package/build-module/components/block-manager/category.js.map +1 -1
  211. package/build-module/components/block-manager/checklist.js +0 -3
  212. package/build-module/components/block-manager/checklist.js.map +1 -1
  213. package/build-module/components/block-manager/index.js +11 -14
  214. package/build-module/components/block-manager/index.js.map +1 -1
  215. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +2 -8
  216. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  217. package/build-module/components/browser-url/index.js +7 -14
  218. package/build-module/components/browser-url/index.js.map +1 -1
  219. package/build-module/components/device-preview/index.js +1 -3
  220. package/build-module/components/device-preview/index.js.map +1 -1
  221. package/build-module/components/editor-initialization/index.js +1 -1
  222. package/build-module/components/editor-initialization/index.js.map +1 -1
  223. package/build-module/components/editor-initialization/listener-hooks.js +3 -5
  224. package/build-module/components/editor-initialization/listener-hooks.js.map +1 -1
  225. package/build-module/components/header/document-actions/index.js +1 -10
  226. package/build-module/components/header/document-actions/index.js.map +1 -1
  227. package/build-module/components/header/fullscreen-mode-close/index.js +4 -13
  228. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  229. package/build-module/components/header/header-toolbar/index.js +5 -13
  230. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  231. package/build-module/components/header/header-toolbar/index.native.js +3 -11
  232. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  233. package/build-module/components/header/index.js +3 -5
  234. package/build-module/components/header/index.js.map +1 -1
  235. package/build-module/components/header/index.native.js +2 -9
  236. package/build-module/components/header/index.native.js.map +1 -1
  237. package/build-module/components/header/main-dashboard-button/index.js +0 -5
  238. package/build-module/components/header/main-dashboard-button/index.js.map +1 -1
  239. package/build-module/components/header/mode-switcher/index.js +8 -16
  240. package/build-module/components/header/mode-switcher/index.js.map +1 -1
  241. package/build-module/components/header/more-menu/index.js +1 -4
  242. package/build-module/components/header/more-menu/index.js.map +1 -1
  243. package/build-module/components/header/plugin-more-menu-item/index.js +1 -2
  244. package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -1
  245. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +3 -2
  246. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
  247. package/build-module/components/header/post-publish-button-or-toggle.js +2 -5
  248. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  249. package/build-module/components/header/preferences-menu-item/index.js +1 -2
  250. package/build-module/components/header/preferences-menu-item/index.js.map +1 -1
  251. package/build-module/components/header/tools-more-menu-group/index.js +0 -3
  252. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  253. package/build-module/components/header/writing-menu/index.js +1 -8
  254. package/build-module/components/header/writing-menu/index.js.map +1 -1
  255. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  256. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -6
  257. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  258. package/build-module/components/keyboard-shortcut-help-modal/index.js +5 -13
  259. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  260. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +0 -5
  261. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  262. package/build-module/components/keyboard-shortcuts/index.js +4 -14
  263. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  264. package/build-module/components/layout/actions-panel.js +6 -8
  265. package/build-module/components/layout/actions-panel.js.map +1 -1
  266. package/build-module/components/layout/index.js +50 -57
  267. package/build-module/components/layout/index.js.map +1 -1
  268. package/build-module/components/layout/index.native.js +6 -20
  269. package/build-module/components/layout/index.native.js.map +1 -1
  270. package/build-module/components/meta-boxes/index.js +4 -6
  271. package/build-module/components/meta-boxes/index.js.map +1 -1
  272. package/build-module/components/meta-boxes/meta-box-visibility.js +1 -9
  273. package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
  274. package/build-module/components/meta-boxes/meta-boxes-area/index.js +3 -7
  275. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  276. package/build-module/components/preferences-modal/index.js +2 -5
  277. package/build-module/components/preferences-modal/index.js.map +1 -1
  278. package/build-module/components/preferences-modal/meta-boxes-section.js +3 -5
  279. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  280. package/build-module/components/preferences-modal/options/enable-custom-fields.js +9 -2
  281. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  282. package/build-module/components/preferences-modal/options/enable-feature.js +1 -1
  283. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  284. package/build-module/components/preferences-modal/options/enable-panel.js +1 -1
  285. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  286. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js +1 -4
  287. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  288. package/build-module/components/preferences-modal/options/enable-publish-sidebar.js +2 -1
  289. package/build-module/components/preferences-modal/options/enable-publish-sidebar.js.map +1 -1
  290. package/build-module/components/preferences-modal/options/index.js.map +1 -1
  291. package/build-module/components/secondary-sidebar/inserter-sidebar.js +1 -2
  292. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  293. package/build-module/components/secondary-sidebar/list-view-outline.js +0 -3
  294. package/build-module/components/secondary-sidebar/list-view-outline.js.map +1 -1
  295. package/build-module/components/secondary-sidebar/list-view-sidebar.js +32 -30
  296. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  297. package/build-module/components/sidebar/discussion-panel/index.js +2 -7
  298. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  299. package/build-module/components/sidebar/featured-image/index.js +2 -7
  300. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  301. package/build-module/components/sidebar/last-revision/index.js +0 -3
  302. package/build-module/components/sidebar/last-revision/index.js.map +1 -1
  303. package/build-module/components/sidebar/page-attributes/index.js +2 -7
  304. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  305. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +46 -55
  306. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  307. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +19 -22
  308. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  309. package/build-module/components/sidebar/plugin-post-status-info/index.js +1 -3
  310. package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  311. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +19 -22
  312. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  313. package/build-module/components/sidebar/plugin-sidebar/index.js +2 -3
  314. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  315. package/build-module/components/sidebar/post-author/index.js +0 -1
  316. package/build-module/components/sidebar/post-author/index.js.map +1 -1
  317. package/build-module/components/sidebar/post-excerpt/index.js +2 -7
  318. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  319. package/build-module/components/sidebar/post-format/index.js +0 -1
  320. package/build-module/components/sidebar/post-format/index.js.map +1 -1
  321. package/build-module/components/sidebar/post-pending-status/index.js +0 -1
  322. package/build-module/components/sidebar/post-pending-status/index.js.map +1 -1
  323. package/build-module/components/sidebar/post-schedule/index.js +4 -5
  324. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  325. package/build-module/components/sidebar/post-slug/index.js +0 -1
  326. package/build-module/components/sidebar/post-slug/index.js.map +1 -1
  327. package/build-module/components/sidebar/post-status/index.js +2 -6
  328. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  329. package/build-module/components/sidebar/post-sticky/index.js +0 -1
  330. package/build-module/components/sidebar/post-sticky/index.js.map +1 -1
  331. package/build-module/components/sidebar/post-taxonomies/index.js +1 -4
  332. package/build-module/components/sidebar/post-taxonomies/index.js.map +1 -1
  333. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +1 -7
  334. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  335. package/build-module/components/sidebar/post-template/create-modal.js +1 -10
  336. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -1
  337. package/build-module/components/sidebar/post-template/form.js +3 -6
  338. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  339. package/build-module/components/sidebar/post-template/index.js +5 -16
  340. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  341. package/build-module/components/sidebar/post-trash/index.js +0 -1
  342. package/build-module/components/sidebar/post-trash/index.js.map +1 -1
  343. package/build-module/components/sidebar/post-url/index.js +4 -5
  344. package/build-module/components/sidebar/post-url/index.js.map +1 -1
  345. package/build-module/components/sidebar/post-visibility/index.js +4 -6
  346. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  347. package/build-module/components/sidebar/settings-header/index.js +12 -13
  348. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  349. package/build-module/components/sidebar/settings-sidebar/index.js +2 -9
  350. package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
  351. package/build-module/components/sidebar/template-summary/index.js +1 -6
  352. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  353. package/build-module/components/start-page-options/index.js +1 -8
  354. package/build-module/components/start-page-options/index.js.map +1 -1
  355. package/build-module/components/text-editor/index.js +1 -2
  356. package/build-module/components/text-editor/index.js.map +1 -1
  357. package/build-module/components/view-link/index.js +2 -3
  358. package/build-module/components/view-link/index.js.map +1 -1
  359. package/build-module/components/visual-editor/block-inspector-button.js +1 -5
  360. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  361. package/build-module/components/visual-editor/header.native.js +1 -4
  362. package/build-module/components/visual-editor/header.native.js.map +1 -1
  363. package/build-module/components/visual-editor/index.js +34 -43
  364. package/build-module/components/visual-editor/index.js.map +1 -1
  365. package/build-module/components/visual-editor/index.native.js +1 -5
  366. package/build-module/components/visual-editor/index.native.js.map +1 -1
  367. package/build-module/components/welcome-guide/default.js +1 -2
  368. package/build-module/components/welcome-guide/default.js.map +1 -1
  369. package/build-module/components/welcome-guide/image.js.map +1 -1
  370. package/build-module/components/welcome-guide/index.js +1 -6
  371. package/build-module/components/welcome-guide/index.js.map +1 -1
  372. package/build-module/components/welcome-guide/template.js +1 -2
  373. package/build-module/components/welcome-guide/template.js.map +1 -1
  374. package/build-module/editor.js +7 -14
  375. package/build-module/editor.js.map +1 -1
  376. package/build-module/editor.native.js +11 -23
  377. package/build-module/editor.native.js.map +1 -1
  378. package/build-module/hooks/commands/use-common-commands.js +11 -14
  379. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  380. package/build-module/hooks/components/index.js +0 -2
  381. package/build-module/hooks/components/index.js.map +1 -1
  382. package/build-module/hooks/index.js.map +1 -1
  383. package/build-module/hooks/validate-multiple-use/index.js +9 -11
  384. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  385. package/build-module/index.js +16 -25
  386. package/build-module/index.js.map +1 -1
  387. package/build-module/index.native.js +2 -3
  388. package/build-module/index.native.js.map +1 -1
  389. package/build-module/lock-unlock.js.map +1 -1
  390. package/build-module/plugins/copy-content-menu-item/index.js +0 -3
  391. package/build-module/plugins/copy-content-menu-item/index.js.map +1 -1
  392. package/build-module/plugins/index.js +5 -11
  393. package/build-module/plugins/index.js.map +1 -1
  394. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +1 -2
  395. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  396. package/build-module/plugins/welcome-guide-menu-item/index.js +1 -2
  397. package/build-module/plugins/welcome-guide-menu-item/index.js.map +1 -1
  398. package/build-module/store/actions.js +55 -66
  399. package/build-module/store/actions.js.map +1 -1
  400. package/build-module/store/constants.js +2 -2
  401. package/build-module/store/constants.js.map +1 -1
  402. package/build-module/store/index.js +2 -2
  403. package/build-module/store/index.js.map +1 -1
  404. package/build-module/store/reducer.js +10 -33
  405. package/build-module/store/reducer.js.map +1 -1
  406. package/build-module/store/selectors.js +63 -64
  407. package/build-module/store/selectors.js.map +1 -1
  408. package/build-module/utils/meta-boxes.js +0 -2
  409. package/build-module/utils/meta-boxes.js.map +1 -1
  410. package/build-style/style-rtl.css +19 -9
  411. package/build-style/style.css +19 -9
  412. package/package.json +32 -32
  413. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +29 -0
  414. package/src/components/keyboard-shortcuts/index.js +2 -2
  415. package/src/components/layout/index.js +56 -40
  416. package/src/components/preferences-modal/options/enable-custom-fields.js +15 -4
  417. package/src/components/preferences-modal/options/test/enable-custom-fields.js +6 -1
  418. package/src/components/sidebar/plugin-document-setting-panel/index.js +54 -65
  419. package/src/components/sidebar/plugin-post-publish-panel/index.js +23 -27
  420. package/src/components/sidebar/plugin-pre-publish-panel/index.js +25 -28
  421. package/src/components/sidebar/post-schedule/style.scss +2 -0
  422. package/src/components/visual-editor/index.js +9 -8
  423. package/src/components/visual-editor/style.scss +5 -1
  424. package/src/hooks/commands/use-common-commands.js +8 -12
  425. package/src/store/selectors.js +10 -3
@@ -12,28 +12,29 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
12
12
  import { store as editorStore } from '@wordpress/editor';
13
13
  import deprecated from '@wordpress/deprecated';
14
14
  import { addFilter } from '@wordpress/hooks';
15
+
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
18
-
19
19
  import { getMetaBoxContainer } from '../utils/meta-boxes';
20
20
  import { store as editPostStore } from '.';
21
+
21
22
  /**
22
23
  * Returns an action object used in signalling that the user opened an editor sidebar.
23
24
  *
24
25
  * @param {?string} name Sidebar name to be opened.
25
26
  */
26
-
27
27
  export const openGeneralSidebar = name => ({
28
28
  registry
29
29
  }) => registry.dispatch(interfaceStore).enableComplementaryArea(editPostStore.name, name);
30
+
30
31
  /**
31
32
  * Returns an action object signalling that the user closed the sidebar.
32
33
  */
33
-
34
34
  export const closeGeneralSidebar = () => ({
35
35
  registry
36
36
  }) => registry.dispatch(interfaceStore).disableComplementaryArea(editPostStore.name);
37
+
37
38
  /**
38
39
  * Returns an action object used in signalling that the user opened a modal.
39
40
  *
@@ -44,7 +45,6 @@ export const closeGeneralSidebar = () => ({
44
45
  *
45
46
  * @return {Object} Action object.
46
47
  */
47
-
48
48
  export const openModal = name => ({
49
49
  registry
50
50
  }) => {
@@ -54,6 +54,7 @@ export const openModal = name => ({
54
54
  });
55
55
  return registry.dispatch(interfaceStore).openModal(name);
56
56
  };
57
+
57
58
  /**
58
59
  * Returns an action object signalling that the user closed a modal.
59
60
  *
@@ -61,7 +62,6 @@ export const openModal = name => ({
61
62
  *
62
63
  * @return {Object} Action object.
63
64
  */
64
-
65
65
  export const closeModal = () => ({
66
66
  registry
67
67
  }) => {
@@ -71,41 +71,42 @@ export const closeModal = () => ({
71
71
  });
72
72
  return registry.dispatch(interfaceStore).closeModal();
73
73
  };
74
+
74
75
  /**
75
76
  * Returns an action object used in signalling that the user opened the publish
76
77
  * sidebar.
77
78
  *
78
79
  * @return {Object} Action object
79
80
  */
80
-
81
81
  export function openPublishSidebar() {
82
82
  return {
83
83
  type: 'OPEN_PUBLISH_SIDEBAR'
84
84
  };
85
85
  }
86
+
86
87
  /**
87
88
  * Returns an action object used in signalling that the user closed the
88
89
  * publish sidebar.
89
90
  *
90
91
  * @return {Object} Action object.
91
92
  */
92
-
93
93
  export function closePublishSidebar() {
94
94
  return {
95
95
  type: 'CLOSE_PUBLISH_SIDEBAR'
96
96
  };
97
97
  }
98
+
98
99
  /**
99
100
  * Returns an action object used in signalling that the user toggles the publish sidebar.
100
101
  *
101
102
  * @return {Object} Action object
102
103
  */
103
-
104
104
  export function togglePublishSidebar() {
105
105
  return {
106
106
  type: 'TOGGLE_PUBLISH_SIDEBAR'
107
107
  };
108
108
  }
109
+
109
110
  /**
110
111
  * Returns an action object used to enable or disable a panel in the editor.
111
112
  *
@@ -113,51 +114,47 @@ export function togglePublishSidebar() {
113
114
  *
114
115
  * @return {Object} Action object.
115
116
  */
116
-
117
117
  export const toggleEditorPanelEnabled = panelName => ({
118
118
  registry
119
119
  }) => {
120
120
  var _registry$select$get;
121
-
122
121
  const inactivePanels = (_registry$select$get = registry.select(preferencesStore).get('core/edit-post', 'inactivePanels')) !== null && _registry$select$get !== void 0 ? _registry$select$get : [];
123
- const isPanelInactive = !!inactivePanels?.includes(panelName); // If the panel is inactive, remove it to enable it, else add it to
124
- // make it inactive.
122
+ const isPanelInactive = !!inactivePanels?.includes(panelName);
125
123
 
124
+ // If the panel is inactive, remove it to enable it, else add it to
125
+ // make it inactive.
126
126
  let updatedInactivePanels;
127
-
128
127
  if (isPanelInactive) {
129
128
  updatedInactivePanels = inactivePanels.filter(invactivePanelName => invactivePanelName !== panelName);
130
129
  } else {
131
130
  updatedInactivePanels = [...inactivePanels, panelName];
132
131
  }
133
-
134
132
  registry.dispatch(preferencesStore).set('core/edit-post', 'inactivePanels', updatedInactivePanels);
135
133
  };
134
+
136
135
  /**
137
136
  * Opens a closed panel and closes an open panel.
138
137
  *
139
138
  * @param {string} panelName A string that identifies the panel to open or close.
140
139
  */
141
-
142
140
  export const toggleEditorPanelOpened = panelName => ({
143
141
  registry
144
142
  }) => {
145
143
  var _registry$select$get2;
146
-
147
144
  const openPanels = (_registry$select$get2 = registry.select(preferencesStore).get('core/edit-post', 'openPanels')) !== null && _registry$select$get2 !== void 0 ? _registry$select$get2 : [];
148
- const isPanelOpen = !!openPanels?.includes(panelName); // If the panel is open, remove it to close it, else add it to
149
- // make it open.
145
+ const isPanelOpen = !!openPanels?.includes(panelName);
150
146
 
147
+ // If the panel is open, remove it to close it, else add it to
148
+ // make it open.
151
149
  let updatedOpenPanels;
152
-
153
150
  if (isPanelOpen) {
154
151
  updatedOpenPanels = openPanels.filter(openPanelName => openPanelName !== panelName);
155
152
  } else {
156
153
  updatedOpenPanels = [...openPanels, panelName];
157
154
  }
158
-
159
155
  registry.dispatch(preferencesStore).set('core/edit-post', 'openPanels', updatedOpenPanels);
160
156
  };
157
+
161
158
  /**
162
159
  * Returns an action object used to remove a panel from the editor.
163
160
  *
@@ -165,128 +162,126 @@ export const toggleEditorPanelOpened = panelName => ({
165
162
  *
166
163
  * @return {Object} Action object.
167
164
  */
168
-
169
165
  export function removeEditorPanel(panelName) {
170
166
  return {
171
167
  type: 'REMOVE_PANEL',
172
168
  panelName
173
169
  };
174
170
  }
171
+
175
172
  /**
176
173
  * Triggers an action used to toggle a feature flag.
177
174
  *
178
175
  * @param {string} feature Feature name.
179
176
  */
180
-
181
177
  export const toggleFeature = feature => ({
182
178
  registry
183
179
  }) => registry.dispatch(preferencesStore).toggle('core/edit-post', feature);
180
+
184
181
  /**
185
182
  * Triggers an action used to switch editor mode.
186
183
  *
187
184
  * @param {string} mode The editor mode.
188
185
  */
189
-
190
186
  export const switchEditorMode = mode => ({
191
187
  registry
192
188
  }) => {
193
- registry.dispatch(preferencesStore).set('core/edit-post', 'editorMode', mode); // Unselect blocks when we switch to the code editor.
189
+ registry.dispatch(preferencesStore).set('core/edit-post', 'editorMode', mode);
194
190
 
191
+ // Unselect blocks when we switch to the code editor.
195
192
  if (mode !== 'visual') {
196
193
  registry.dispatch(blockEditorStore).clearSelectedBlock();
197
194
  }
198
-
199
195
  const message = mode === 'visual' ? __('Visual editor selected') : __('Code editor selected');
200
196
  speak(message, 'assertive');
201
197
  };
198
+
202
199
  /**
203
200
  * Triggers an action object used to toggle a plugin name flag.
204
201
  *
205
202
  * @param {string} pluginName Plugin name.
206
203
  */
207
-
208
204
  export const togglePinnedPluginItem = pluginName => ({
209
205
  registry
210
206
  }) => {
211
207
  const isPinned = registry.select(interfaceStore).isItemPinned('core/edit-post', pluginName);
212
208
  registry.dispatch(interfaceStore)[isPinned ? 'unpinItem' : 'pinItem']('core/edit-post', pluginName);
213
209
  };
210
+
214
211
  /**
215
212
  * Returns an action object used in signaling that a style should be auto-applied when a block is created.
216
213
  *
217
214
  * @param {string} blockName Name of the block.
218
215
  * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the "auto apply" setting of the block is removed.
219
216
  */
220
-
221
217
  export const updatePreferredStyleVariations = (blockName, blockStyle) => ({
222
218
  registry
223
219
  }) => {
224
220
  var _registry$select$get3;
225
-
226
221
  if (!blockName) {
227
222
  return;
228
223
  }
224
+ const existingVariations = (_registry$select$get3 = registry.select(preferencesStore).get('core/edit-post', 'preferredStyleVariations')) !== null && _registry$select$get3 !== void 0 ? _registry$select$get3 : {};
229
225
 
230
- const existingVariations = (_registry$select$get3 = registry.select(preferencesStore).get('core/edit-post', 'preferredStyleVariations')) !== null && _registry$select$get3 !== void 0 ? _registry$select$get3 : {}; // When the blockStyle is omitted, remove the block's preferred variation.
231
-
226
+ // When the blockStyle is omitted, remove the block's preferred variation.
232
227
  if (!blockStyle) {
233
- const updatedVariations = { ...existingVariations
228
+ const updatedVariations = {
229
+ ...existingVariations
234
230
  };
235
231
  delete updatedVariations[blockName];
236
232
  registry.dispatch(preferencesStore).set('core/edit-post', 'preferredStyleVariations', updatedVariations);
237
233
  } else {
238
234
  // Else add the variation.
239
- registry.dispatch(preferencesStore).set('core/edit-post', 'preferredStyleVariations', { ...existingVariations,
235
+ registry.dispatch(preferencesStore).set('core/edit-post', 'preferredStyleVariations', {
236
+ ...existingVariations,
240
237
  [blockName]: blockStyle
241
238
  });
242
239
  }
243
240
  };
241
+
244
242
  /**
245
243
  * Update the provided block types to be visible.
246
244
  *
247
245
  * @param {string[]} blockNames Names of block types to show.
248
246
  */
249
-
250
247
  export const showBlockTypes = blockNames => ({
251
248
  registry
252
249
  }) => {
253
250
  var _registry$select$get4;
254
-
255
251
  const existingBlockNames = (_registry$select$get4 = registry.select(preferencesStore).get('core/edit-post', 'hiddenBlockTypes')) !== null && _registry$select$get4 !== void 0 ? _registry$select$get4 : [];
256
252
  const newBlockNames = existingBlockNames.filter(type => !(Array.isArray(blockNames) ? blockNames : [blockNames]).includes(type));
257
253
  registry.dispatch(preferencesStore).set('core/edit-post', 'hiddenBlockTypes', newBlockNames);
258
254
  };
255
+
259
256
  /**
260
257
  * Update the provided block types to be hidden.
261
258
  *
262
259
  * @param {string[]} blockNames Names of block types to hide.
263
260
  */
264
-
265
261
  export const hideBlockTypes = blockNames => ({
266
262
  registry
267
263
  }) => {
268
264
  var _registry$select$get5;
269
-
270
265
  const existingBlockNames = (_registry$select$get5 = registry.select(preferencesStore).get('core/edit-post', 'hiddenBlockTypes')) !== null && _registry$select$get5 !== void 0 ? _registry$select$get5 : [];
271
266
  const mergedBlockNames = new Set([...existingBlockNames, ...(Array.isArray(blockNames) ? blockNames : [blockNames])]);
272
267
  registry.dispatch(preferencesStore).set('core/edit-post', 'hiddenBlockTypes', [...mergedBlockNames]);
273
268
  };
269
+
274
270
  /**
275
271
  * Stores info about which Meta boxes are available in which location.
276
272
  *
277
273
  * @param {Object} metaBoxesPerLocation Meta boxes per location.
278
274
  */
279
-
280
275
  export function setAvailableMetaBoxesPerLocation(metaBoxesPerLocation) {
281
276
  return {
282
277
  type: 'SET_META_BOXES_PER_LOCATIONS',
283
278
  metaBoxesPerLocation
284
279
  };
285
280
  }
281
+
286
282
  /**
287
283
  * Update a metabox.
288
284
  */
289
-
290
285
  export const requestMetaBoxUpdates = () => async ({
291
286
  registry,
292
287
  select,
@@ -294,30 +289,31 @@ export const requestMetaBoxUpdates = () => async ({
294
289
  }) => {
295
290
  dispatch({
296
291
  type: 'REQUEST_META_BOX_UPDATES'
297
- }); // Saves the wp_editor fields.
292
+ });
298
293
 
294
+ // Saves the wp_editor fields.
299
295
  if (window.tinyMCE) {
300
296
  window.tinyMCE.triggerSave();
301
- } // Additional data needed for backward compatibility.
302
- // If we do not provide this data, the post will be overridden with the default values.
303
-
297
+ }
304
298
 
299
+ // Additional data needed for backward compatibility.
300
+ // If we do not provide this data, the post will be overridden with the default values.
305
301
  const post = registry.select(editorStore).getCurrentPost();
306
- const additionalData = [post.comment_status ? ['comment_status', post.comment_status] : false, post.ping_status ? ['ping_status', post.ping_status] : false, post.sticky ? ['sticky', post.sticky] : false, post.author ? ['post_author', post.author] : false].filter(Boolean); // We gather all the metaboxes locations data and the base form data.
302
+ const additionalData = [post.comment_status ? ['comment_status', post.comment_status] : false, post.ping_status ? ['ping_status', post.ping_status] : false, post.sticky ? ['sticky', post.sticky] : false, post.author ? ['post_author', post.author] : false].filter(Boolean);
307
303
 
304
+ // We gather all the metaboxes locations data and the base form data.
308
305
  const baseFormData = new window.FormData(document.querySelector('.metabox-base-form'));
309
306
  const activeMetaBoxLocations = select.getActiveMetaBoxLocations();
310
- const formDataToMerge = [baseFormData, ...activeMetaBoxLocations.map(location => new window.FormData(getMetaBoxContainer(location)))]; // Merge all form data objects into a single one.
307
+ const formDataToMerge = [baseFormData, ...activeMetaBoxLocations.map(location => new window.FormData(getMetaBoxContainer(location)))];
311
308
 
309
+ // Merge all form data objects into a single one.
312
310
  const formData = formDataToMerge.reduce((memo, currentFormData) => {
313
311
  for (const [key, value] of currentFormData) {
314
312
  memo.append(key, value);
315
313
  }
316
-
317
314
  return memo;
318
315
  }, new window.FormData());
319
316
  additionalData.forEach(([key, value]) => formData.append(key, value));
320
-
321
317
  try {
322
318
  // Save the metaboxes.
323
319
  await apiFetch({
@@ -331,28 +327,29 @@ export const requestMetaBoxUpdates = () => async ({
331
327
  dispatch.metaBoxUpdatesFailure();
332
328
  }
333
329
  };
330
+
334
331
  /**
335
332
  * Returns an action object used to signal a successful meta box update.
336
333
  *
337
334
  * @return {Object} Action object.
338
335
  */
339
-
340
336
  export function metaBoxUpdatesSuccess() {
341
337
  return {
342
338
  type: 'META_BOX_UPDATES_SUCCESS'
343
339
  };
344
340
  }
341
+
345
342
  /**
346
343
  * Returns an action object used to signal a failed meta box update.
347
344
  *
348
345
  * @return {Object} Action object.
349
346
  */
350
-
351
347
  export function metaBoxUpdatesFailure() {
352
348
  return {
353
349
  type: 'META_BOX_UPDATES_FAILURE'
354
350
  };
355
351
  }
352
+
356
353
  /**
357
354
  * Returns an action object used to toggle the width of the editing canvas.
358
355
  *
@@ -360,13 +357,13 @@ export function metaBoxUpdatesFailure() {
360
357
  *
361
358
  * @return {Object} Action object.
362
359
  */
363
-
364
360
  export function __experimentalSetPreviewDeviceType(deviceType) {
365
361
  return {
366
362
  type: 'SET_PREVIEW_DEVICE_TYPE',
367
363
  deviceType
368
364
  };
369
365
  }
366
+
370
367
  /**
371
368
  * Returns an action object used to open/close the inserter.
372
369
  *
@@ -379,45 +376,44 @@ export function __experimentalSetPreviewDeviceType(deviceType) {
379
376
  *
380
377
  * @return {Object} Action object.
381
378
  */
382
-
383
379
  export function setIsInserterOpened(value) {
384
380
  return {
385
381
  type: 'SET_IS_INSERTER_OPENED',
386
382
  value
387
383
  };
388
384
  }
385
+
389
386
  /**
390
387
  * Returns an action object used to open/close the list view.
391
388
  *
392
389
  * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.
393
390
  * @return {Object} Action object.
394
391
  */
395
-
396
392
  export function setIsListViewOpened(isOpen) {
397
393
  return {
398
394
  type: 'SET_IS_LIST_VIEW_OPENED',
399
395
  isOpen
400
396
  };
401
397
  }
398
+
402
399
  /**
403
400
  * Returns an action object used to switch to template editing.
404
401
  *
405
402
  * @param {boolean} value Is editing template.
406
403
  * @return {Object} Action object.
407
404
  */
408
-
409
405
  export function setIsEditingTemplate(value) {
410
406
  return {
411
407
  type: 'SET_IS_EDITING_TEMPLATE',
412
408
  value
413
409
  };
414
410
  }
411
+
415
412
  /**
416
413
  * Switches to the template mode.
417
414
  *
418
415
  * @param {boolean} newTemplate Is new template.
419
416
  */
420
-
421
417
  export const __unstableSwitchToTemplateMode = (newTemplate = false) => ({
422
418
  registry,
423
419
  select,
@@ -425,7 +421,6 @@ export const __unstableSwitchToTemplateMode = (newTemplate = false) => ({
425
421
  }) => {
426
422
  dispatch(setIsEditingTemplate(true));
427
423
  const isWelcomeGuideActive = select.isFeatureActive('welcomeGuideTemplate');
428
-
429
424
  if (!isWelcomeGuideActive) {
430
425
  const message = newTemplate ? __("Custom template created. You're in template mode now.") : __('Editing template. Changes made here affect all posts and pages that use the template.');
431
426
  registry.dispatch(noticesStore).createSuccessNotice(message, {
@@ -433,12 +428,12 @@ export const __unstableSwitchToTemplateMode = (newTemplate = false) => ({
433
428
  });
434
429
  }
435
430
  };
431
+
436
432
  /**
437
433
  * Create a block based template.
438
434
  *
439
435
  * @param {Object?} template Template to create and assign.
440
436
  */
441
-
442
437
  export const __unstableCreateTemplate = template => async ({
443
438
  registry
444
439
  }) => {
@@ -449,43 +444,37 @@ export const __unstableCreateTemplate = template => async ({
449
444
  });
450
445
  };
451
446
  let metaBoxesInitialized = false;
447
+
452
448
  /**
453
449
  * Initializes WordPress `postboxes` script and the logic for saving meta boxes.
454
450
  */
455
-
456
451
  export const initializeMetaBoxes = () => ({
457
452
  registry,
458
453
  select,
459
454
  dispatch
460
455
  }) => {
461
456
  const isEditorReady = registry.select(editorStore).__unstableIsEditorReady();
462
-
463
457
  if (!isEditorReady) {
464
458
  return;
465
- } // Only initialize once.
466
-
467
-
459
+ }
460
+ // Only initialize once.
468
461
  if (metaBoxesInitialized) {
469
462
  return;
470
463
  }
471
-
472
464
  const postType = registry.select(editorStore).getCurrentPostType();
473
-
474
465
  if (window.postboxes.page !== postType) {
475
466
  window.postboxes.add_postbox_toggles(postType);
476
467
  }
468
+ metaBoxesInitialized = true;
477
469
 
478
- metaBoxesInitialized = true; // Save metaboxes on save completion, except for autosaves.
479
-
470
+ // Save metaboxes on save completion, except for autosaves.
480
471
  addFilter('editor.__unstableSavePost', 'core/edit-post/save-metaboxes', (previous, options) => previous.then(() => {
481
472
  if (options.isAutosave) {
482
473
  return;
483
474
  }
484
-
485
475
  if (!select.hasMetaBoxes()) {
486
476
  return;
487
477
  }
488
-
489
478
  return dispatch.requestMetaBoxUpdates();
490
479
  }));
491
480
  dispatch({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/store/actions.js"],"names":["__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","deprecated","addFilter","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","registry","dispatch","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","since","alternative","closeModal","openPublishSidebar","type","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","inactivePanels","select","get","isPanelInactive","includes","updatedInactivePanels","filter","invactivePanelName","set","toggleEditorPanelOpened","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","existingVariations","updatedVariations","showBlockTypes","blockNames","existingBlockNames","newBlockNames","Array","isArray","hideBlockTypes","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","reduce","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","previous","options","then","isAutosave","hasMetaBoxes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AACA,SAASC,KAAK,IAAIC,cAAlB,QAAwC,sBAAxC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,wBAA1C;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASH,KAAK,IAAII,YAAlB,QAAsC,oBAAtC;AACA,SAASJ,KAAK,IAAIK,SAAlB,QAAmC,sBAAnC;AACA,SAASL,KAAK,IAAIM,gBAAlB,QAA0C,yBAA1C;AACA,SAASN,KAAK,IAAIO,WAAlB,QAAqC,mBAArC;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,qBAApC;AACA,SAASV,KAAK,IAAIW,aAAlB,QAAuC,GAAvC;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,kBAAkB,GAC5BC,IAAF,IACA,CAAE;AAAEC,EAAAA;AAAF,CAAF,KACCA,QAAQ,CACNC,QADF,CACYd,cADZ,EAEEe,uBAFF,CAE2BL,aAAa,CAACE,IAFzC,EAE+CA,IAF/C,CAHK;AAOP;AACA;AACA;;AACA,OAAO,MAAMI,mBAAmB,GAC/B,MACA,CAAE;AAAEH,EAAAA;AAAF,CAAF,KACCA,QAAQ,CACNC,QADF,CACYd,cADZ,EAEEiB,wBAFF,CAE4BP,aAAa,CAACE,IAF1C,CAHK;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMM,SAAS,GACnBN,IAAF,IACA,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAoB;AACnBN,EAAAA,UAAU,CAAE,8CAAF,EAAkD;AAC3DY,IAAAA,KAAK,EAAE,KADoD;AAE3DC,IAAAA,WAAW,EAAE;AAF8C,GAAlD,CAAV;AAIA,SAAOP,QAAQ,CAACC,QAAT,CAAmBd,cAAnB,EAAoCkB,SAApC,CAA+CN,IAA/C,CAAP;AACA,CARK;AAUP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMS,UAAU,GACtB,MACA,CAAE;AAAER,EAAAA;AAAF,CAAF,KAAoB;AACnBN,EAAAA,UAAU,CAAE,yCAAF,EAA6C;AACtDY,IAAAA,KAAK,EAAE,KAD+C;AAEtDC,IAAAA,WAAW,EAAE;AAFyC,GAA7C,CAAV;AAIA,SAAOP,QAAQ,CAACC,QAAT,CAAmBd,cAAnB,EAAoCqB,UAApC,EAAP;AACA,CARK;AAUP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,kBAAT,GAA8B;AACpC,SAAO;AACNC,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,GAA+B;AACrC,SAAO;AACND,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,oBAAT,GAAgC;AACtC,SAAO;AACNF,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMG,wBAAwB,GAClCC,SAAF,IACA,CAAE;AAAEd,EAAAA;AAAF,CAAF,KAAoB;AAAA;;AACnB,QAAMe,cAAc,2BACnBf,QAAQ,CACNgB,MADF,CACU5B,gBADV,EAEE6B,GAFF,CAEO,gBAFP,EAEyB,gBAFzB,CADmB,uEAG4B,EAHhD;AAKA,QAAMC,eAAe,GAAG,CAAC,CAAEH,cAAc,EAAEI,QAAhB,CAA0BL,SAA1B,CAA3B,CANmB,CAQnB;AACA;;AACA,MAAIM,qBAAJ;;AACA,MAAKF,eAAL,EAAuB;AACtBE,IAAAA,qBAAqB,GAAGL,cAAc,CAACM,MAAf,CACrBC,kBAAF,IAA0BA,kBAAkB,KAAKR,SAD1B,CAAxB;AAGA,GAJD,MAIO;AACNM,IAAAA,qBAAqB,GAAG,CAAE,GAAGL,cAAL,EAAqBD,SAArB,CAAxB;AACA;;AAEDd,EAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,gBAFzB,EAE2CH,qBAF3C;AAGA,CAxBK;AA0BP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMI,uBAAuB,GACjCV,SAAF,IACA,CAAE;AAAEd,EAAAA;AAAF,CAAF,KAAoB;AAAA;;AACnB,QAAMyB,UAAU,4BACfzB,QAAQ,CACNgB,MADF,CACU5B,gBADV,EAEE6B,GAFF,CAEO,gBAFP,EAEyB,YAFzB,CADe,yEAG4B,EAH5C;AAKA,QAAMS,WAAW,GAAG,CAAC,CAAED,UAAU,EAAEN,QAAZ,CAAsBL,SAAtB,CAAvB,CANmB,CAQnB;AACA;;AACA,MAAIa,iBAAJ;;AACA,MAAKD,WAAL,EAAmB;AAClBC,IAAAA,iBAAiB,GAAGF,UAAU,CAACJ,MAAX,CACjBO,aAAF,IAAqBA,aAAa,KAAKd,SADpB,CAApB;AAGA,GAJD,MAIO;AACNa,IAAAA,iBAAiB,GAAG,CAAE,GAAGF,UAAL,EAAiBX,SAAjB,CAApB;AACA;;AAEDd,EAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,YAFzB,EAEuCI,iBAFvC;AAGA,CAxBK;AA0BP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,iBAAT,CAA4Bf,SAA5B,EAAwC;AAC9C,SAAO;AACNJ,IAAAA,IAAI,EAAE,cADA;AAENI,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMgB,aAAa,GACvBC,OAAF,IACA,CAAE;AAAE/B,EAAAA;AAAF,CAAF,KACCA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEE4C,MAFF,CAEU,gBAFV,EAE4BD,OAF5B,CAHK;AAOP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAME,gBAAgB,GAC1BC,IAAF,IACA,CAAE;AAAElC,EAAAA;AAAF,CAAF,KAAoB;AACnBA,EAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,YAFzB,EAEuCW,IAFvC,EADmB,CAKnB;;AACA,MAAKA,IAAI,KAAK,QAAd,EAAyB;AACxBlC,IAAAA,QAAQ,CAACC,QAAT,CAAmBT,gBAAnB,EAAsC2C,kBAAtC;AACA;;AAED,QAAMC,OAAO,GACZF,IAAI,KAAK,QAAT,GACGlD,EAAE,CAAE,wBAAF,CADL,GAEGA,EAAE,CAAE,sBAAF,CAHN;AAIAK,EAAAA,KAAK,CAAE+C,OAAF,EAAW,WAAX,CAAL;AACA,CAjBK;AAmBP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,sBAAsB,GAChCC,UAAF,IACA,CAAE;AAAEtC,EAAAA;AAAF,CAAF,KAAoB;AACnB,QAAMuC,QAAQ,GAAGvC,QAAQ,CACvBgB,MADe,CACP7B,cADO,EAEfqD,YAFe,CAED,gBAFC,EAEiBF,UAFjB,CAAjB;AAIAtC,EAAAA,QAAQ,CACNC,QADF,CACYd,cADZ,EAEGoD,QAAQ,GAAG,WAAH,GAAiB,SAF5B,EAGE,gBAHF,EAIED,UAJF;AAMA,CAbK;AAeP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMG,8BAA8B,GAC1C,CAAEC,SAAF,EAAaC,UAAb,KACA,CAAE;AAAE3C,EAAAA;AAAF,CAAF,KAAoB;AAAA;;AACnB,MAAK,CAAE0C,SAAP,EAAmB;AAClB;AACA;;AAED,QAAME,kBAAkB,4BACvB5C,QAAQ,CACNgB,MADF,CACU5B,gBADV,EAEE6B,GAFF,CAEO,gBAFP,EAEyB,0BAFzB,CADuB,yEAGkC,EAH1D,CALmB,CAUnB;;AACA,MAAK,CAAE0B,UAAP,EAAoB;AACnB,UAAME,iBAAiB,GAAG,EACzB,GAAGD;AADsB,KAA1B;AAIA,WAAOC,iBAAiB,CAAEH,SAAF,CAAxB;AAEA1C,IAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAGE,gBAHF,EAIE,0BAJF,EAKEsB,iBALF;AAOA,GAdD,MAcO;AACN;AACA7C,IAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,0BAFzB,EAEqD,EACnD,GAAGqB,kBADgD;AAEnD,OAAEF,SAAF,GAAeC;AAFoC,KAFrD;AAMA;AACD,CApCK;AAsCP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMG,cAAc,GACxBC,UAAF,IACA,CAAE;AAAE/C,EAAAA;AAAF,CAAF,KAAoB;AAAA;;AACnB,QAAMgD,kBAAkB,4BACvBhD,QAAQ,CACNgB,MADF,CACU5B,gBADV,EAEE6B,GAFF,CAEO,gBAFP,EAEyB,kBAFzB,CADuB,yEAG0B,EAHlD;AAKA,QAAMgC,aAAa,GAAGD,kBAAkB,CAAC3B,MAAnB,CACnBX,IAAF,IACC,CAAE,CACDwC,KAAK,CAACC,OAAN,CAAeJ,UAAf,IAA8BA,UAA9B,GAA2C,CAAEA,UAAF,CAD1C,EAEA5B,QAFA,CAEUT,IAFV,CAFkB,CAAtB;AAOAV,EAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,kBAFzB,EAE6C0B,aAF7C;AAGA,CAlBK;AAoBP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMG,cAAc,GACxBL,UAAF,IACA,CAAE;AAAE/C,EAAAA;AAAF,CAAF,KAAoB;AAAA;;AACnB,QAAMgD,kBAAkB,4BACvBhD,QAAQ,CACNgB,MADF,CACU5B,gBADV,EAEE6B,GAFF,CAEO,gBAFP,EAEyB,kBAFzB,CADuB,yEAG0B,EAHlD;AAKA,QAAMoC,gBAAgB,GAAG,IAAIC,GAAJ,CAAS,CACjC,GAAGN,kBAD8B,EAEjC,IAAKE,KAAK,CAACC,OAAN,CAAeJ,UAAf,IAA8BA,UAA9B,GAA2C,CAAEA,UAAF,CAAhD,CAFiC,CAAT,CAAzB;AAKA/C,EAAAA,QAAQ,CACNC,QADF,CACYb,gBADZ,EAEEmC,GAFF,CAEO,gBAFP,EAEyB,kBAFzB,EAE6C,CAC3C,GAAG8B,gBADwC,CAF7C;AAKA,CAlBK;AAoBP;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,gCAAT,CAA2CC,oBAA3C,EAAkE;AACxE,SAAO;AACN9C,IAAAA,IAAI,EAAE,8BADA;AAEN8C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;;AACA,OAAO,MAAMC,qBAAqB,GACjC,MACA,OAAQ;AAAEzD,EAAAA,QAAF;AAAYgB,EAAAA,MAAZ;AAAoBf,EAAAA;AAApB,CAAR,KAA4C;AAC3CA,EAAAA,QAAQ,CAAE;AACTS,IAAAA,IAAI,EAAE;AADG,GAAF,CAAR,CAD2C,CAK3C;;AACA,MAAKgD,MAAM,CAACC,OAAZ,EAAsB;AACrBD,IAAAA,MAAM,CAACC,OAAP,CAAeC,WAAf;AACA,GAR0C,CAU3C;AACA;;;AACA,QAAMC,IAAI,GAAG7D,QAAQ,CAACgB,MAAT,CAAiBvB,WAAjB,EAA+BqE,cAA/B,EAAb;AACA,QAAMC,cAAc,GAAG,CACtBF,IAAI,CAACG,cAAL,GACG,CAAE,gBAAF,EAAoBH,IAAI,CAACG,cAAzB,CADH,GAEG,KAHmB,EAItBH,IAAI,CAACI,WAAL,GAAmB,CAAE,aAAF,EAAiBJ,IAAI,CAACI,WAAtB,CAAnB,GAAyD,KAJnC,EAKtBJ,IAAI,CAACK,MAAL,GAAc,CAAE,QAAF,EAAYL,IAAI,CAACK,MAAjB,CAAd,GAA0C,KALpB,EAMtBL,IAAI,CAACM,MAAL,GAAc,CAAE,aAAF,EAAiBN,IAAI,CAACM,MAAtB,CAAd,GAA+C,KANzB,EAOrB9C,MAPqB,CAOb+C,OAPa,CAAvB,CAb2C,CAsB3C;;AACA,QAAMC,YAAY,GAAG,IAAIX,MAAM,CAACY,QAAX,CACpBC,QAAQ,CAACC,aAAT,CAAwB,oBAAxB,CADoB,CAArB;AAGA,QAAMC,sBAAsB,GAAGzD,MAAM,CAAC0D,yBAAP,EAA/B;AACA,QAAMC,eAAe,GAAG,CACvBN,YADuB,EAEvB,GAAGI,sBAAsB,CAACG,GAAvB,CACAC,QAAF,IACC,IAAInB,MAAM,CAACY,QAAX,CAAqB1E,mBAAmB,CAAEiF,QAAF,CAAxC,CAFC,CAFoB,CAAxB,CA3B2C,CAmC3C;;AACA,QAAMC,QAAQ,GAAGH,eAAe,CAACI,MAAhB,CAAwB,CAAEC,IAAF,EAAQC,eAAR,KAA6B;AACrE,SAAM,MAAM,CAAEC,GAAF,EAAOC,KAAP,CAAZ,IAA8BF,eAA9B,EAAgD;AAC/CD,MAAAA,IAAI,CAACI,MAAL,CAAaF,GAAb,EAAkBC,KAAlB;AACA;;AACD,WAAOH,IAAP;AACA,GALgB,EAKd,IAAItB,MAAM,CAACY,QAAX,EALc,CAAjB;AAMAP,EAAAA,cAAc,CAACsB,OAAf,CAAwB,CAAE,CAAEH,GAAF,EAAOC,KAAP,CAAF,KACvBL,QAAQ,CAACM,MAAT,CAAiBF,GAAjB,EAAsBC,KAAtB,CADD;;AAIA,MAAI;AACH;AACA,UAAMlG,QAAQ,CAAE;AACfqG,MAAAA,GAAG,EAAE5B,MAAM,CAAC6B,aADG;AAEfC,MAAAA,MAAM,EAAE,MAFO;AAGfC,MAAAA,IAAI,EAAEX,QAHS;AAIfY,MAAAA,KAAK,EAAE;AAJQ,KAAF,CAAd;AAMAzF,IAAAA,QAAQ,CAAC0F,qBAAT;AACA,GATD,CASE,MAAM;AACP1F,IAAAA,QAAQ,CAAC2F,qBAAT;AACA;AACD,CA5DK;AA8DP;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASD,qBAAT,GAAiC;AACvC,SAAO;AACNjF,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASkF,qBAAT,GAAiC;AACvC,SAAO;AACNlF,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASmF,kCAAT,CAA6CC,UAA7C,EAA0D;AAChE,SAAO;AACNpF,IAAAA,IAAI,EAAE,yBADA;AAENoF,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CAA8BZ,KAA9B,EAAsC;AAC5C,SAAO;AACNzE,IAAAA,IAAI,EAAE,wBADA;AAENyE,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASa,mBAAT,CAA8BC,MAA9B,EAAuC;AAC7C,SAAO;AACNvF,IAAAA,IAAI,EAAE,yBADA;AAENuF,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,oBAAT,CAA+Bf,KAA/B,EAAuC;AAC7C,SAAO;AACNzE,IAAAA,IAAI,EAAE,yBADA;AAENyE,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMgB,8BAA8B,GAC1C,CAAEC,WAAW,GAAG,KAAhB,KACA,CAAE;AAAEpG,EAAAA,QAAF;AAAYgB,EAAAA,MAAZ;AAAoBf,EAAAA;AAApB,CAAF,KAAsC;AACrCA,EAAAA,QAAQ,CAAEiG,oBAAoB,CAAE,IAAF,CAAtB,CAAR;AACA,QAAMG,oBAAoB,GAAGrF,MAAM,CAACsF,eAAP,CAC5B,sBAD4B,CAA7B;;AAGA,MAAK,CAAED,oBAAP,EAA8B;AAC7B,UAAMjE,OAAO,GAAGgE,WAAW,GACxBpH,EAAE,CAAE,uDAAF,CADsB,GAExBA,EAAE,CACF,uFADE,CAFL;AAKAgB,IAAAA,QAAQ,CAACC,QAAT,CAAmBX,YAAnB,EAAkCiH,mBAAlC,CAAuDnE,OAAvD,EAAgE;AAC/D1B,MAAAA,IAAI,EAAE;AADyD,KAAhE;AAGA;AACD,CAjBK;AAmBP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAM8F,wBAAwB,GAClCC,QAAF,IACA,OAAQ;AAAEzG,EAAAA;AAAF,CAAR,KAA0B;AACzB,QAAM0G,aAAa,GAAG,MAAM1G,QAAQ,CAClCC,QAD0B,CAChBV,SADgB,EAE1BoH,gBAF0B,CAER,UAFQ,EAEI,aAFJ,EAEmBF,QAFnB,CAA5B;AAGA,QAAM5C,IAAI,GAAG7D,QAAQ,CAACgB,MAAT,CAAiBvB,WAAjB,EAA+BqE,cAA/B,EAAb;AACA9D,EAAAA,QAAQ,CACNC,QADF,CACYV,SADZ,EAEEqH,gBAFF,CAEoB,UAFpB,EAEgC/C,IAAI,CAACnD,IAFrC,EAE2CmD,IAAI,CAACgD,EAFhD,EAEoD;AAClDJ,IAAAA,QAAQ,EAAEC,aAAa,CAACI;AAD0B,GAFpD;AAKA,CAZK;AAcP,IAAIC,oBAAoB,GAAG,KAA3B;AAEA;AACA;AACA;;AACA,OAAO,MAAMC,mBAAmB,GAC/B,MACA,CAAE;AAAEhH,EAAAA,QAAF;AAAYgB,EAAAA,MAAZ;AAAoBf,EAAAA;AAApB,CAAF,KAAsC;AACrC,QAAMgH,aAAa,GAAGjH,QAAQ,CAC5BgB,MADoB,CACZvB,WADY,EAEpByH,uBAFoB,EAAtB;;AAIA,MAAK,CAAED,aAAP,EAAuB;AACtB;AACA,GAPoC,CAQrC;;;AACA,MAAKF,oBAAL,EAA4B;AAC3B;AACA;;AACD,QAAMI,QAAQ,GAAGnH,QAAQ,CAACgB,MAAT,CAAiBvB,WAAjB,EAA+B2H,kBAA/B,EAAjB;;AACA,MAAK1D,MAAM,CAAC2D,SAAP,CAAiBC,IAAjB,KAA0BH,QAA/B,EAA0C;AACzCzD,IAAAA,MAAM,CAAC2D,SAAP,CAAiBE,mBAAjB,CAAsCJ,QAAtC;AACA;;AAEDJ,EAAAA,oBAAoB,GAAG,IAAvB,CAjBqC,CAmBrC;;AACApH,EAAAA,SAAS,CACR,2BADQ,EAER,+BAFQ,EAGR,CAAE6H,QAAF,EAAYC,OAAZ,KACCD,QAAQ,CAACE,IAAT,CAAe,MAAM;AACpB,QAAKD,OAAO,CAACE,UAAb,EAA0B;AACzB;AACA;;AAED,QAAK,CAAE3G,MAAM,CAAC4G,YAAP,EAAP,EAA+B;AAC9B;AACA;;AAED,WAAO3H,QAAQ,CAACwD,qBAAT,EAAP;AACA,GAVD,CAJO,CAAT;AAiBAxD,EAAAA,QAAQ,CAAE;AACTS,IAAAA,IAAI,EAAE;AADG,GAAF,CAAR;AAGA,CA1CK","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editPostStore.name, name );\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport const openModal =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).openModal( name )\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').openModal( name )\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).openModal( name );\n\t};\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n * @return {Object} Action object.\n */\nexport const closeModal =\n\t() =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).closeModal()\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').closeModal()\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).closeModal();\n\t};\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\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/edit-post', '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/edit-post', '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\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'openPanels' ) ?? [];\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/edit-post', '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 * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature =\n\t( feature ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to the code editor.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tconst message =\n\t\t\tmode === 'visual'\n\t\t\t\t? __( 'Visual editor selected' )\n\t\t\t\t: __( 'Code editor selected' );\n\t\tspeak( message, 'assertive' );\n\t};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem =\n\t( pluginName ) =>\n\t( { registry } ) => {\n\t\tconst isPinned = registry\n\t\t\t.select( interfaceStore )\n\t\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t[ isPinned ? 'unpinItem' : 'pinItem' ](\n\t\t\t\t'core/edit-post',\n\t\t\t\tpluginName\n\t\t\t);\n\t};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations =\n\t( blockName, blockStyle ) =>\n\t( { registry } ) => {\n\t\tif ( ! blockName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst existingVariations =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t\t// When the blockStyle is omitted, remove the block's preferred variation.\n\t\tif ( ! blockStyle ) {\n\t\t\tconst updatedVariations = {\n\t\t\t\t...existingVariations,\n\t\t\t};\n\n\t\t\tdelete updatedVariations[ blockName ];\n\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations',\n\t\t\t\t\tupdatedVariations\n\t\t\t\t);\n\t\t} else {\n\t\t\t// Else add the variation.\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t\t...existingVariations,\n\t\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t\t} );\n\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/edit-post', '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/edit-post', '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/edit-post', '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/edit-post', 'hiddenBlockTypes', [\n\t\t\t\t...mergedBlockNames,\n\t\t\t] );\n\t};\n\n/**\n * Stores info about which Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport function setAvailableMetaBoxesPerLocation( metaBoxesPerLocation ) {\n\treturn {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t};\n}\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates =\n\t() =>\n\tasync ( { registry, select, dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t\t} );\n\n\t\t// Saves the wp_editor fields.\n\t\tif ( window.tinyMCE ) {\n\t\t\twindow.tinyMCE.triggerSave();\n\t\t}\n\n\t\t// Additional data needed for backward compatibility.\n\t\t// If we do not provide this data, the post will be overridden with the default values.\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tconst additionalData = [\n\t\t\tpost.comment_status\n\t\t\t\t? [ 'comment_status', post.comment_status ]\n\t\t\t\t: false,\n\t\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t\t].filter( Boolean );\n\n\t\t// We gather all the metaboxes locations data and the base form data.\n\t\tconst baseFormData = new window.FormData(\n\t\t\tdocument.querySelector( '.metabox-base-form' )\n\t\t);\n\t\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\t\tconst formDataToMerge = [\n\t\t\tbaseFormData,\n\t\t\t...activeMetaBoxLocations.map(\n\t\t\t\t( location ) =>\n\t\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t\t),\n\t\t];\n\n\t\t// Merge all form data objects into a single one.\n\t\tconst formData = formDataToMerge.reduce( ( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t}, new window.FormData() );\n\t\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\t\tformData.append( key, value )\n\t\t);\n\n\t\ttry {\n\t\t\t// Save the metaboxes.\n\t\t\tawait apiFetch( {\n\t\t\t\turl: window._wpMetaBoxUrl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tdispatch.metaBoxUpdatesSuccess();\n\t\t} catch {\n\t\t\tdispatch.metaBoxUpdatesFailure();\n\t\t}\n\t};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\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 * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode =\n\t( newTemplate = false ) =>\n\t( { registry, select, dispatch } ) => {\n\t\tdispatch( setIsEditingTemplate( true ) );\n\t\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tif ( ! isWelcomeGuideActive ) {\n\t\t\tconst message = newTemplate\n\t\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t );\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t} );\n\t};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes =\n\t() =>\n\t( { registry, select, dispatch } ) => {\n\t\tconst isEditorReady = registry\n\t\t\t.select( editorStore )\n\t\t\t.__unstableIsEditorReady();\n\n\t\tif ( ! isEditorReady ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only initialize once.\n\t\tif ( metaBoxesInitialized ) {\n\t\t\treturn;\n\t\t}\n\t\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\t\tif ( window.postboxes.page !== postType ) {\n\t\t\twindow.postboxes.add_postbox_toggles( postType );\n\t\t}\n\n\t\tmetaBoxesInitialized = true;\n\n\t\t// Save metaboxes on save completion, except for autosaves.\n\t\taddFilter(\n\t\t\t'editor.__unstableSavePost',\n\t\t\t'core/edit-post/save-metaboxes',\n\t\t\t( previous, options ) =>\n\t\t\t\tprevious.then( () => {\n\t\t\t\t\tif ( options.isAutosave ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! select.hasMetaBoxes() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn dispatch.requestMetaBoxUpdates();\n\t\t\t\t} )\n\t\t);\n\n\t\tdispatch( {\n\t\t\ttype: 'META_BOXES_INITIALIZED',\n\t\t} );\n\t};\n"]}
1
+ {"version":3,"names":["__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","deprecated","addFilter","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","registry","dispatch","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","since","alternative","closeModal","openPublishSidebar","type","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","_registry$select$get","inactivePanels","select","get","isPanelInactive","includes","updatedInactivePanels","filter","invactivePanelName","set","toggleEditorPanelOpened","_registry$select$get2","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","_registry$select$get3","existingVariations","updatedVariations","showBlockTypes","blockNames","_registry$select$get4","existingBlockNames","newBlockNames","Array","isArray","hideBlockTypes","_registry$select$get5","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","reduce","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","previous","options","then","isAutosave","hasMetaBoxes"],"sources":["@wordpress/edit-post/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editPostStore.name, name );\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport const openModal =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).openModal( name )\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').openModal( name )\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).openModal( name );\n\t};\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n * @return {Object} Action object.\n */\nexport const closeModal =\n\t() =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).closeModal()\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').closeModal()\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).closeModal();\n\t};\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\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/edit-post', '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/edit-post', '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\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'openPanels' ) ?? [];\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/edit-post', '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 * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature =\n\t( feature ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to the code editor.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tconst message =\n\t\t\tmode === 'visual'\n\t\t\t\t? __( 'Visual editor selected' )\n\t\t\t\t: __( 'Code editor selected' );\n\t\tspeak( message, 'assertive' );\n\t};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem =\n\t( pluginName ) =>\n\t( { registry } ) => {\n\t\tconst isPinned = registry\n\t\t\t.select( interfaceStore )\n\t\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t[ isPinned ? 'unpinItem' : 'pinItem' ](\n\t\t\t\t'core/edit-post',\n\t\t\t\tpluginName\n\t\t\t);\n\t};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations =\n\t( blockName, blockStyle ) =>\n\t( { registry } ) => {\n\t\tif ( ! blockName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst existingVariations =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t\t// When the blockStyle is omitted, remove the block's preferred variation.\n\t\tif ( ! blockStyle ) {\n\t\t\tconst updatedVariations = {\n\t\t\t\t...existingVariations,\n\t\t\t};\n\n\t\t\tdelete updatedVariations[ blockName ];\n\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations',\n\t\t\t\t\tupdatedVariations\n\t\t\t\t);\n\t\t} else {\n\t\t\t// Else add the variation.\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t\t...existingVariations,\n\t\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t\t} );\n\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/edit-post', '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/edit-post', '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/edit-post', '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/edit-post', 'hiddenBlockTypes', [\n\t\t\t\t...mergedBlockNames,\n\t\t\t] );\n\t};\n\n/**\n * Stores info about which Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport function setAvailableMetaBoxesPerLocation( metaBoxesPerLocation ) {\n\treturn {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t};\n}\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates =\n\t() =>\n\tasync ( { registry, select, dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t\t} );\n\n\t\t// Saves the wp_editor fields.\n\t\tif ( window.tinyMCE ) {\n\t\t\twindow.tinyMCE.triggerSave();\n\t\t}\n\n\t\t// Additional data needed for backward compatibility.\n\t\t// If we do not provide this data, the post will be overridden with the default values.\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tconst additionalData = [\n\t\t\tpost.comment_status\n\t\t\t\t? [ 'comment_status', post.comment_status ]\n\t\t\t\t: false,\n\t\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t\t].filter( Boolean );\n\n\t\t// We gather all the metaboxes locations data and the base form data.\n\t\tconst baseFormData = new window.FormData(\n\t\t\tdocument.querySelector( '.metabox-base-form' )\n\t\t);\n\t\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\t\tconst formDataToMerge = [\n\t\t\tbaseFormData,\n\t\t\t...activeMetaBoxLocations.map(\n\t\t\t\t( location ) =>\n\t\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t\t),\n\t\t];\n\n\t\t// Merge all form data objects into a single one.\n\t\tconst formData = formDataToMerge.reduce( ( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t}, new window.FormData() );\n\t\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\t\tformData.append( key, value )\n\t\t);\n\n\t\ttry {\n\t\t\t// Save the metaboxes.\n\t\t\tawait apiFetch( {\n\t\t\t\turl: window._wpMetaBoxUrl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tdispatch.metaBoxUpdatesSuccess();\n\t\t} catch {\n\t\t\tdispatch.metaBoxUpdatesFailure();\n\t\t}\n\t};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\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 * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode =\n\t( newTemplate = false ) =>\n\t( { registry, select, dispatch } ) => {\n\t\tdispatch( setIsEditingTemplate( true ) );\n\t\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tif ( ! isWelcomeGuideActive ) {\n\t\t\tconst message = newTemplate\n\t\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t );\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t} );\n\t};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes =\n\t() =>\n\t( { registry, select, dispatch } ) => {\n\t\tconst isEditorReady = registry\n\t\t\t.select( editorStore )\n\t\t\t.__unstableIsEditorReady();\n\n\t\tif ( ! isEditorReady ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only initialize once.\n\t\tif ( metaBoxesInitialized ) {\n\t\t\treturn;\n\t\t}\n\t\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\t\tif ( window.postboxes.page !== postType ) {\n\t\t\twindow.postboxes.add_postbox_toggles( postType );\n\t\t}\n\n\t\tmetaBoxesInitialized = true;\n\n\t\t// Save metaboxes on save completion, except for autosaves.\n\t\taddFilter(\n\t\t\t'editor.__unstableSavePost',\n\t\t\t'core/edit-post/save-metaboxes',\n\t\t\t( previous, options ) =>\n\t\t\t\tprevious.then( () => {\n\t\t\t\t\tif ( options.isAutosave ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! select.hasMetaBoxes() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn dispatch.requestMetaBoxUpdates();\n\t\t\t\t} )\n\t\t);\n\n\t\tdispatch( {\n\t\t\ttype: 'META_BOXES_INITIALIZED',\n\t\t} );\n\t};\n"],"mappings":"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"}