@wordpress/edit-post 7.15.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 (442) hide show
  1. package/CHANGELOG.md +4 -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-title → document-actions}/index.js +11 -28
  20. package/build/components/header/document-actions/index.js.map +1 -0
  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 +4 -25
  26. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  27. package/build/components/header/index.js +6 -23
  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 +23 -19
  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 +50 -52
  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 +34 -46
  92. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  93. package/build/components/sidebar/discussion-panel/index.js +19 -30
  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 +9 -68
  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 +65 -22
  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 +16 -48
  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-title → document-actions}/index.js +11 -21
  226. package/build-module/components/header/document-actions/index.js.map +1 -0
  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 +5 -12
  232. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  233. package/build-module/components/header/index.js +6 -8
  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 +25 -14
  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 +53 -28
  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 +35 -33
  296. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  297. package/build-module/components/sidebar/discussion-panel/index.js +22 -25
  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 +9 -52
  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 +66 -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 +18 -26
  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 +40 -27
  411. package/build-style/style.css +40 -27
  412. package/package.json +32 -32
  413. package/src/components/header/{document-title → document-actions}/index.js +22 -23
  414. package/src/components/header/{document-title → document-actions}/style.scss +25 -22
  415. package/src/components/header/header-toolbar/index.native.js +1 -0
  416. package/src/components/header/header-toolbar/style.scss +4 -0
  417. package/src/components/header/index.js +3 -3
  418. package/src/components/header/mode-switcher/index.js +23 -4
  419. package/src/components/header/style.scss +1 -1
  420. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +29 -0
  421. package/src/components/keyboard-shortcuts/index.js +2 -2
  422. package/src/components/layout/index.js +64 -3
  423. package/src/components/preferences-modal/options/enable-custom-fields.js +15 -4
  424. package/src/components/preferences-modal/options/test/enable-custom-fields.js +6 -1
  425. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +5 -2
  426. package/src/components/preferences-modal/test/index.js +4 -4
  427. package/src/components/secondary-sidebar/list-view-sidebar.js +3 -3
  428. package/src/components/sidebar/discussion-panel/index.js +15 -20
  429. package/src/components/sidebar/plugin-document-setting-panel/index.js +54 -65
  430. package/src/components/sidebar/plugin-post-publish-panel/index.js +23 -27
  431. package/src/components/sidebar/plugin-pre-publish-panel/index.js +25 -28
  432. package/src/components/sidebar/post-schedule/style.scss +2 -0
  433. package/src/components/visual-editor/index.js +9 -8
  434. package/src/components/visual-editor/style.scss +5 -1
  435. package/src/editor.js +2 -47
  436. package/src/hooks/commands/use-common-commands.js +84 -22
  437. package/src/index.js +5 -1
  438. package/src/store/selectors.js +10 -3
  439. package/src/style.scss +1 -1
  440. package/src/test/editor.native.js +4 -3
  441. package/build/components/header/document-title/index.js.map +0 -1
  442. package/build-module/components/header/document-title/index.js.map +0 -1
@@ -227,8 +227,8 @@ function KeyboardShortcuts() {
227
227
  toggleFeature( 'distractionFree' );
228
228
  createInfoNotice(
229
229
  isFeatureActive( 'distractionFree' )
230
- ? __( 'Distraction free mode turned on.' )
231
- : __( 'Distraction free mode turned off.' ),
230
+ ? __( 'Distraction free on.' )
231
+ : __( 'Distraction free off.' ),
232
232
  {
233
233
  id: 'core/edit-post/distraction-free-mode/notice',
234
234
  type: 'snackbar',
@@ -18,7 +18,11 @@ import {
18
18
  store as editorStore,
19
19
  } from '@wordpress/editor';
20
20
  import { useSelect, useDispatch } from '@wordpress/data';
21
- import { BlockBreadcrumb } from '@wordpress/block-editor';
21
+ import {
22
+ useBlockCommands,
23
+ BlockBreadcrumb,
24
+ privateApis as blockEditorPrivateApis,
25
+ } from '@wordpress/block-editor';
22
26
  import { Button, ScrollLock, Popover } from '@wordpress/components';
23
27
  import { useViewportMatch } from '@wordpress/compose';
24
28
  import { PluginArea } from '@wordpress/plugins';
@@ -29,7 +33,7 @@ import {
29
33
  InterfaceSkeleton,
30
34
  store as interfaceStore,
31
35
  } from '@wordpress/interface';
32
- import { useState, useEffect, useCallback } from '@wordpress/element';
36
+ import { useState, useEffect, useCallback, useMemo } from '@wordpress/element';
33
37
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
34
38
  import { store as noticesStore } from '@wordpress/notices';
35
39
 
@@ -51,6 +55,9 @@ import WelcomeGuide from '../welcome-guide';
51
55
  import ActionsPanel from './actions-panel';
52
56
  import StartPageOptions from '../start-page-options';
53
57
  import { store as editPostStore } from '../../store';
58
+ import { unlock } from '../../lock-unlock';
59
+
60
+ const { getLayoutStyles } = unlock( blockEditorPrivateApis );
54
61
 
55
62
  const interfaceLabels = {
56
63
  /* translators: accessibility text for the editor top bar landmark region. */
@@ -65,7 +72,59 @@ const interfaceLabels = {
65
72
  footer: __( 'Editor footer' ),
66
73
  };
67
74
 
68
- function Layout( { styles } ) {
75
+ function useEditorStyles() {
76
+ const { hasThemeStyleSupport, editorSettings } = useSelect(
77
+ ( select ) => ( {
78
+ hasThemeStyleSupport:
79
+ select( editPostStore ).isFeatureActive( 'themeStyles' ),
80
+ editorSettings: select( editorStore ).getEditorSettings(),
81
+ } ),
82
+ []
83
+ );
84
+
85
+ // Compute the default styles.
86
+ return useMemo( () => {
87
+ const presetStyles =
88
+ editorSettings.styles?.filter(
89
+ ( style ) =>
90
+ style.__unstableType && style.__unstableType !== 'theme'
91
+ ) ?? [];
92
+
93
+ const defaultEditorStyles = [
94
+ ...editorSettings.defaultEditorStyles,
95
+ ...presetStyles,
96
+ ];
97
+
98
+ // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
99
+ const hasThemeStyles =
100
+ hasThemeStyleSupport &&
101
+ presetStyles.length !== ( editorSettings.styles?.length ?? 0 );
102
+
103
+ // If theme styles are not present or displayed, ensure that
104
+ // base layout styles are still present in the editor.
105
+ if ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {
106
+ defaultEditorStyles.push( {
107
+ css: getLayoutStyles( {
108
+ style: {},
109
+ selector: 'body',
110
+ hasBlockGapSupport: false,
111
+ hasFallbackGapSupport: true,
112
+ fallbackGapValue: '0.5em',
113
+ } ),
114
+ } );
115
+ }
116
+
117
+ return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
118
+ }, [
119
+ editorSettings.defaultEditorStyles,
120
+ editorSettings.disableLayoutStyles,
121
+ editorSettings.styles,
122
+ hasThemeStyleSupport,
123
+ ] );
124
+ }
125
+
126
+ function Layout() {
127
+ useBlockCommands();
69
128
  const isMobileViewport = useViewportMatch( 'medium', '<' );
70
129
  const isHugeViewport = useViewportMatch( 'huge', '>=' );
71
130
  const isLargeViewport = useViewportMatch( 'large' );
@@ -128,6 +187,8 @@ function Layout( { styles } ) {
128
187
  };
129
188
  }, [] );
130
189
 
190
+ const styles = useEditorStyles();
191
+
131
192
  const openSidebarPanel = () =>
132
193
  openGeneralSidebar(
133
194
  hasBlockSelected ? 'edit-post/block' : 'edit-post/document'
@@ -7,10 +7,23 @@ import { Button } from '@wordpress/components';
7
7
  import { withSelect } from '@wordpress/data';
8
8
  import { store as editorStore } from '@wordpress/editor';
9
9
  import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';
10
+ import { getPathAndQueryString } from '@wordpress/url';
11
+
12
+ function submitCustomFieldsForm() {
13
+ const customFieldsForm = document.getElementById(
14
+ 'toggle-custom-fields-form'
15
+ );
16
+
17
+ // Ensure the referrer values is up to update with any
18
+ customFieldsForm
19
+ .querySelector( '[name="_wp_http_referer"]' )
20
+ .setAttribute( 'value', getPathAndQueryString( window.location.href ) );
21
+
22
+ customFieldsForm.submit();
23
+ }
10
24
 
11
25
  export function CustomFieldsConfirmation( { willEnable } ) {
12
26
  const [ isReloading, setIsReloading ] = useState( false );
13
-
14
27
  return (
15
28
  <>
16
29
  <p className="edit-post-preferences-modal__custom-fields-confirmation-message">
@@ -25,9 +38,7 @@ export function CustomFieldsConfirmation( { willEnable } ) {
25
38
  disabled={ isReloading }
26
39
  onClick={ () => {
27
40
  setIsReloading( true );
28
- document
29
- .getElementById( 'toggle-custom-fields-form' )
30
- .submit();
41
+ submitCustomFieldsForm();
31
42
  } }
32
43
  >
33
44
  { willEnable
@@ -58,12 +58,13 @@ describe( 'CustomFieldsConfirmation', () => {
58
58
  it( 'submits the toggle-custom-fields-form', async () => {
59
59
  const user = userEvent.setup();
60
60
  const submit = jest.fn();
61
+ const setAttribute = jest.fn();
61
62
  const getElementById = jest
62
63
  .spyOn( document, 'getElementById' )
63
64
  .mockImplementation( () => ( {
64
65
  submit,
66
+ querySelector: () => ( { setAttribute } ),
65
67
  } ) );
66
-
67
68
  render( <CustomFieldsConfirmation /> );
68
69
 
69
70
  await user.click( screen.getByRole( 'button' ) );
@@ -71,6 +72,10 @@ describe( 'CustomFieldsConfirmation', () => {
71
72
  expect( getElementById ).toHaveBeenCalledWith(
72
73
  'toggle-custom-fields-form'
73
74
  );
75
+ expect( setAttribute ).toHaveBeenCalledWith(
76
+ 'value',
77
+ '/' // This is the path returned by getPathAndQueryString.
78
+ );
74
79
  expect( submit ).toHaveBeenCalled();
75
80
 
76
81
  getElementById.mockRestore();
@@ -115,6 +115,8 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
115
115
  aria-controls="tab-panel-0-general-view"
116
116
  aria-selected="true"
117
117
  class="components-button components-tab-panel__tabs-item is-active"
118
+ data-active-item=""
119
+ data-command=""
118
120
  id="tab-panel-0-general"
119
121
  role="tab"
120
122
  type="button"
@@ -125,9 +127,9 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
125
127
  aria-controls="tab-panel-0-blocks-view"
126
128
  aria-selected="false"
127
129
  class="components-button components-tab-panel__tabs-item"
130
+ data-command=""
128
131
  id="tab-panel-0-blocks"
129
132
  role="tab"
130
- tabindex="-1"
131
133
  type="button"
132
134
  >
133
135
  Blocks
@@ -136,9 +138,9 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
136
138
  aria-controls="tab-panel-0-panels-view"
137
139
  aria-selected="false"
138
140
  class="components-button components-tab-panel__tabs-item"
141
+ data-command=""
139
142
  id="tab-panel-0-panels"
140
143
  role="tab"
141
- tabindex="-1"
142
144
  type="button"
143
145
  >
144
146
  Panels
@@ -149,6 +151,7 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
149
151
  class="components-tab-panel__tab-content"
150
152
  id="tab-panel-0-general-view"
151
153
  role="tabpanel"
154
+ tabindex="0"
152
155
  >
153
156
  <fieldset
154
157
  class="interface-preferences-modal__section"
@@ -20,20 +20,20 @@ jest.mock( '@wordpress/compose/src/hooks/use-viewport-match', () => jest.fn() );
20
20
 
21
21
  describe( 'EditPostPreferencesModal', () => {
22
22
  describe( 'should match snapshot when the modal is active', () => {
23
- it( 'large viewports', () => {
23
+ it( 'large viewports', async () => {
24
24
  useSelect.mockImplementation( () => [ true, true, false ] );
25
25
  useViewportMatch.mockImplementation( () => true );
26
26
  render( <EditPostPreferencesModal /> );
27
27
  expect(
28
- screen.getByRole( 'dialog', { name: 'Preferences' } )
28
+ await screen.findByRole( 'dialog', { name: 'Preferences' } )
29
29
  ).toMatchSnapshot();
30
30
  } );
31
- it( 'small viewports', () => {
31
+ it( 'small viewports', async () => {
32
32
  useSelect.mockImplementation( () => [ true, true, false ] );
33
33
  useViewportMatch.mockImplementation( () => false );
34
34
  render( <EditPostPreferencesModal /> );
35
35
  expect(
36
- screen.getByRole( 'dialog', { name: 'Preferences' } )
36
+ await screen.findByRole( 'dialog', { name: 'Preferences' } )
37
37
  ).toMatchSnapshot();
38
38
  } );
39
39
  } );
@@ -11,7 +11,7 @@ import {
11
11
  import { useDispatch } from '@wordpress/data';
12
12
  import { focus } from '@wordpress/dom';
13
13
  import { useRef, useState } from '@wordpress/element';
14
- import { __ } from '@wordpress/i18n';
14
+ import { __, _x } from '@wordpress/i18n';
15
15
  import { closeSmall } from '@wordpress/icons';
16
16
  import { useShortcut } from '@wordpress/keyboard-shortcuts';
17
17
  import { ESCAPE } from '@wordpress/keycodes';
@@ -140,12 +140,12 @@ export default function ListViewSidebar() {
140
140
  tabs={ [
141
141
  {
142
142
  name: 'list-view',
143
- title: 'List View',
143
+ title: _x( 'List View', 'Post overview' ),
144
144
  className: 'edit-post-sidebar__panel-tab',
145
145
  },
146
146
  {
147
147
  name: 'outline',
148
- title: 'Outline',
148
+ title: _x( 'Outline', 'Post overview' ),
149
149
  className: 'edit-post-sidebar__panel-tab',
150
150
  },
151
151
  ] }
@@ -8,8 +8,7 @@ import {
8
8
  PostPingbacks,
9
9
  PostTypeSupportCheck,
10
10
  } from '@wordpress/editor';
11
- import { compose } from '@wordpress/compose';
12
- import { withSelect, withDispatch } from '@wordpress/data';
11
+ import { useDispatch, useSelect } from '@wordpress/data';
13
12
 
14
13
  /**
15
14
  * Internal dependencies
@@ -21,7 +20,18 @@ import { store as editPostStore } from '../../../store';
21
20
  */
22
21
  const PANEL_NAME = 'discussion-panel';
23
22
 
24
- function DiscussionPanel( { isEnabled, isOpened, onTogglePanel } ) {
23
+ function DiscussionPanel() {
24
+ const { isEnabled, isOpened } = useSelect( ( select ) => {
25
+ const { isEditorPanelEnabled, isEditorPanelOpened } =
26
+ select( editPostStore );
27
+ return {
28
+ isEnabled: isEditorPanelEnabled( PANEL_NAME ),
29
+ isOpened: isEditorPanelOpened( PANEL_NAME ),
30
+ };
31
+ }, [] );
32
+
33
+ const { toggleEditorPanelOpened } = useDispatch( editPostStore );
34
+
25
35
  if ( ! isEnabled ) {
26
36
  return null;
27
37
  }
@@ -31,7 +41,7 @@ function DiscussionPanel( { isEnabled, isOpened, onTogglePanel } ) {
31
41
  <PanelBody
32
42
  title={ __( 'Discussion' ) }
33
43
  opened={ isOpened }
34
- onToggle={ onTogglePanel }
44
+ onToggle={ () => toggleEditorPanelOpened( PANEL_NAME ) }
35
45
  >
36
46
  <PostTypeSupportCheck supportKeys="comments">
37
47
  <PanelRow>
@@ -49,19 +59,4 @@ function DiscussionPanel( { isEnabled, isOpened, onTogglePanel } ) {
49
59
  );
50
60
  }
51
61
 
52
- export default compose( [
53
- withSelect( ( select ) => {
54
- return {
55
- isEnabled:
56
- select( editPostStore ).isEditorPanelEnabled( PANEL_NAME ),
57
- isOpened: select( editPostStore ).isEditorPanelOpened( PANEL_NAME ),
58
- };
59
- } ),
60
- withDispatch( ( dispatch ) => ( {
61
- onTogglePanel() {
62
- return dispatch( editPostStore ).toggleEditorPanelOpened(
63
- PANEL_NAME
64
- );
65
- },
66
- } ) ),
67
- ] )( DiscussionPanel );
62
+ export default DiscussionPanel;
@@ -1,14 +1,9 @@
1
- /**
2
- * Defines as extensibility slot for the Settings sidebar
3
- */
4
-
5
1
  /**
6
2
  * WordPress dependencies
7
3
  */
8
4
  import { createSlotFill, PanelBody } from '@wordpress/components';
9
- import { compose } from '@wordpress/compose';
10
- import { withPluginContext } from '@wordpress/plugins';
11
- import { withDispatch, withSelect } from '@wordpress/data';
5
+ import { usePluginContext } from '@wordpress/plugins';
6
+ import { useDispatch, useSelect } from '@wordpress/data';
12
7
  import warning from '@wordpress/warning';
13
8
 
14
9
  /**
@@ -19,47 +14,15 @@ import { store as editPostStore } from '../../../store';
19
14
 
20
15
  const { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );
21
16
 
22
- const PluginDocumentSettingFill = ( {
23
- isEnabled,
24
- panelName,
25
- opened,
26
- onToggle,
27
- className,
28
- title,
29
- icon,
30
- children,
31
- } ) => {
32
- return (
33
- <>
34
- <EnablePluginDocumentSettingPanelOption
35
- label={ title }
36
- panelName={ panelName }
37
- />
38
- <Fill>
39
- { isEnabled && (
40
- <PanelBody
41
- className={ className }
42
- title={ title }
43
- icon={ icon }
44
- opened={ opened }
45
- onToggle={ onToggle }
46
- >
47
- { children }
48
- </PanelBody>
49
- ) }
50
- </Fill>
51
- </>
52
- );
53
- };
54
-
55
17
  /**
56
18
  * Renders items below the Status & Availability panel in the Document Sidebar.
57
19
  *
58
20
  * @param {Object} props Component properties.
59
- * @param {string} [props.name] The machine-friendly name for the panel.
21
+ * @param {string} props.name Required. A machine-friendly name for the panel.
60
22
  * @param {string} [props.className] An optional class name added to the row.
61
23
  * @param {string} [props.title] The title of the panel
62
24
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
25
+ * @param {WPElement} props.children Children to be rendered
63
26
  *
64
27
  * @example
65
28
  * ```js
@@ -75,6 +38,7 @@ const PluginDocumentSettingFill = ( {
75
38
  * {
76
39
  * className: 'my-document-setting-plugin',
77
40
  * title: 'My Panel',
41
+ * name: 'my-panel',
78
42
  * },
79
43
  * __( 'My Document Setting Panel' )
80
44
  * );
@@ -92,7 +56,7 @@ const PluginDocumentSettingFill = ( {
92
56
  * import { PluginDocumentSettingPanel } from '@wordpress/edit-post';
93
57
  *
94
58
  * const MyDocumentSettingTest = () => (
95
- * <PluginDocumentSettingPanel className="my-document-setting-plugin" title="My Panel">
59
+ * <PluginDocumentSettingPanel className="my-document-setting-plugin" title="My Panel" name="my-panel">
96
60
  * <p>My Document Setting Panel</p>
97
61
  * </PluginDocumentSettingPanel>
98
62
  * );
@@ -102,30 +66,55 @@ const PluginDocumentSettingFill = ( {
102
66
  *
103
67
  * @return {WPComponent} The component to be rendered.
104
68
  */
105
- const PluginDocumentSettingPanel = compose(
106
- withPluginContext( ( context, ownProps ) => {
107
- if ( undefined === ownProps.name ) {
108
- warning( 'PluginDocumentSettingPanel requires a name property.' );
109
- }
110
- return {
111
- panelName: `${ context.name }/${ ownProps.name }`,
112
- };
113
- } ),
114
- withSelect( ( select, { panelName } ) => {
115
- return {
116
- opened: select( editPostStore ).isEditorPanelOpened( panelName ),
117
- isEnabled:
118
- select( editPostStore ).isEditorPanelEnabled( panelName ),
119
- };
120
- } ),
121
- withDispatch( ( dispatch, { panelName } ) => ( {
122
- onToggle() {
123
- return dispatch( editPostStore ).toggleEditorPanelOpened(
124
- panelName
125
- );
69
+ const PluginDocumentSettingPanel = ( {
70
+ name,
71
+ className,
72
+ title,
73
+ icon,
74
+ children,
75
+ } ) => {
76
+ const { name: pluginName } = usePluginContext();
77
+ const panelName = `${ pluginName }/${ name }`;
78
+ const { opened, isEnabled } = useSelect(
79
+ ( select ) => {
80
+ const { isEditorPanelOpened, isEditorPanelEnabled } =
81
+ select( editPostStore );
82
+
83
+ return {
84
+ opened: isEditorPanelOpened( panelName ),
85
+ isEnabled: isEditorPanelEnabled( panelName ),
86
+ };
126
87
  },
127
- } ) )
128
- )( PluginDocumentSettingFill );
88
+ [ panelName ]
89
+ );
90
+ const { toggleEditorPanelOpened } = useDispatch( editPostStore );
91
+
92
+ if ( undefined === name ) {
93
+ warning( 'PluginDocumentSettingPanel requires a name property.' );
94
+ }
95
+
96
+ return (
97
+ <>
98
+ <EnablePluginDocumentSettingPanelOption
99
+ label={ title }
100
+ panelName={ panelName }
101
+ />
102
+ <Fill>
103
+ { isEnabled && (
104
+ <PanelBody
105
+ className={ className }
106
+ title={ title }
107
+ icon={ icon }
108
+ opened={ opened }
109
+ onToggle={ () => toggleEditorPanelOpened( panelName ) }
110
+ >
111
+ { children }
112
+ </PanelBody>
113
+ ) }
114
+ </Fill>
115
+ </>
116
+ );
117
+ };
129
118
 
130
119
  PluginDocumentSettingPanel.Slot = Slot;
131
120
 
@@ -1,30 +1,11 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { compose } from '@wordpress/compose';
5
- import { withPluginContext } from '@wordpress/plugins';
4
+ import { usePluginContext } from '@wordpress/plugins';
6
5
  import { createSlotFill, PanelBody } from '@wordpress/components';
7
6
 
8
7
  const { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );
9
8
 
10
- const PluginPostPublishPanelFill = ( {
11
- children,
12
- className,
13
- title,
14
- initialOpen = false,
15
- icon,
16
- } ) => (
17
- <Fill>
18
- <PanelBody
19
- className={ className }
20
- initialOpen={ initialOpen || ! title }
21
- title={ title }
22
- icon={ icon }
23
- >
24
- { children }
25
- </PanelBody>
26
- </Fill>
27
- );
28
9
  /**
29
10
  * Renders provided content to the post-publish panel in the publish flow
30
11
  * (side panel that opens after a user publishes the post).
@@ -34,6 +15,7 @@ const PluginPostPublishPanelFill = ( {
34
15
  * @param {string} [props.title] Title displayed at the top of the panel.
35
16
  * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
36
17
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
18
+ * @param {WPElement} props.children Children to be rendered
37
19
  *
38
20
  * @example
39
21
  * ```js
@@ -73,14 +55,28 @@ const PluginPostPublishPanelFill = ( {
73
55
  *
74
56
  * @return {WPComponent} The component to be rendered.
75
57
  */
58
+ const PluginPostPublishPanel = ( {
59
+ children,
60
+ className,
61
+ title,
62
+ initialOpen = false,
63
+ icon,
64
+ } ) => {
65
+ const { icon: pluginIcon } = usePluginContext();
76
66
 
77
- const PluginPostPublishPanel = compose(
78
- withPluginContext( ( context, ownProps ) => {
79
- return {
80
- icon: ownProps.icon || context.icon,
81
- };
82
- } )
83
- )( PluginPostPublishPanelFill );
67
+ return (
68
+ <Fill>
69
+ <PanelBody
70
+ className={ className }
71
+ initialOpen={ initialOpen || ! title }
72
+ title={ title }
73
+ icon={ icon ?? pluginIcon }
74
+ >
75
+ { children }
76
+ </PanelBody>
77
+ </Fill>
78
+ );
79
+ };
84
80
 
85
81
  PluginPostPublishPanel.Slot = Slot;
86
82
 
@@ -2,28 +2,9 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { createSlotFill, PanelBody } from '@wordpress/components';
5
- import { compose } from '@wordpress/compose';
6
- import { withPluginContext } from '@wordpress/plugins';
7
- const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
5
+ import { usePluginContext } from '@wordpress/plugins';
8
6
 
9
- const PluginPrePublishPanelFill = ( {
10
- children,
11
- className,
12
- title,
13
- initialOpen = false,
14
- icon,
15
- } ) => (
16
- <Fill>
17
- <PanelBody
18
- className={ className }
19
- initialOpen={ initialOpen || ! title }
20
- title={ title }
21
- icon={ icon }
22
- >
23
- { children }
24
- </PanelBody>
25
- </Fill>
26
- );
7
+ const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
27
8
 
28
9
  /**
29
10
  * Renders provided content to the pre-publish side panel in the publish flow
@@ -37,6 +18,7 @@ const PluginPrePublishPanelFill = ( {
37
18
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)
38
19
  * icon slug string, or an SVG WP element, to be rendered when
39
20
  * the sidebar is pinned to toolbar.
21
+ * @param {WPElement} props.children Children to be rendered
40
22
  *
41
23
  * @example
42
24
  * ```js
@@ -76,13 +58,28 @@ const PluginPrePublishPanelFill = ( {
76
58
  *
77
59
  * @return {WPComponent} The component to be rendered.
78
60
  */
79
- const PluginPrePublishPanel = compose(
80
- withPluginContext( ( context, ownProps ) => {
81
- return {
82
- icon: ownProps.icon || context.icon,
83
- };
84
- } )
85
- )( PluginPrePublishPanelFill );
61
+ const PluginPrePublishPanel = ( {
62
+ children,
63
+ className,
64
+ title,
65
+ initialOpen = false,
66
+ icon,
67
+ } ) => {
68
+ const { icon: pluginIcon } = usePluginContext();
69
+
70
+ return (
71
+ <Fill>
72
+ <PanelBody
73
+ className={ className }
74
+ initialOpen={ initialOpen || ! title }
75
+ title={ title }
76
+ icon={ icon ?? pluginIcon }
77
+ >
78
+ { children }
79
+ </PanelBody>
80
+ </Fill>
81
+ );
82
+ };
86
83
 
87
84
  PluginPrePublishPanel.Slot = Slot;
88
85
 
@@ -2,6 +2,7 @@
2
2
  width: 100%;
3
3
  position: relative;
4
4
  justify-content: flex-start;
5
+ align-items: flex-start;
5
6
 
6
7
  span {
7
8
  display: block;
@@ -15,6 +16,7 @@
15
16
  .components-button.edit-post-post-schedule__toggle {
16
17
  text-align: left;
17
18
  white-space: normal;
19
+ height: auto;
18
20
 
19
21
  // This span is added by the Popover in Tooltip when no anchor is
20
22
  // provided. We set its width to 0 so that it does not cause the button text