@wordpress/editor 14.1.0 → 14.3.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 (772) hide show
  1. package/CHANGELOG.md +16 -12
  2. package/README.md +28 -7
  3. package/build/bindings/pattern-overrides.js +8 -5
  4. package/build/bindings/pattern-overrides.js.map +1 -1
  5. package/build/bindings/post-meta.js +4 -0
  6. package/build/bindings/post-meta.js.map +1 -1
  7. package/build/components/create-template-part-modal/index.js +2 -0
  8. package/build/components/create-template-part-modal/index.js.map +1 -1
  9. package/build/components/document-bar/index.js +11 -4
  10. package/build/components/document-bar/index.js.map +1 -1
  11. package/build/components/editor-interface/index.js +6 -3
  12. package/build/components/editor-interface/index.js.map +1 -1
  13. package/build/components/entities-saved-states/entity-record-item.js +4 -12
  14. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  15. package/build/components/entities-saved-states/index.js +1 -1
  16. package/build/components/entities-saved-states/index.js.map +1 -1
  17. package/build/components/global-keyboard-shortcuts/index.js +1 -1
  18. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  19. package/build/components/global-styles-provider/index.js +6 -65
  20. package/build/components/global-styles-provider/index.js.map +1 -1
  21. package/build/components/header/index.js +6 -2
  22. package/build/components/header/index.js.map +1 -1
  23. package/build/components/index.js +10 -2
  24. package/build/components/index.js.map +1 -1
  25. package/build/components/inserter-sidebar/index.js +10 -21
  26. package/build/components/inserter-sidebar/index.js.map +1 -1
  27. package/build/components/list-view-sidebar/index.js +19 -47
  28. package/build/components/list-view-sidebar/index.js.map +1 -1
  29. package/build/components/page-attributes/parent.js +2 -1
  30. package/build/components/page-attributes/parent.js.map +1 -1
  31. package/build/components/post-actions/actions.js +371 -452
  32. package/build/components/post-actions/actions.js.map +1 -1
  33. package/build/components/post-actions/index.js +7 -2
  34. package/build/components/post-actions/index.js.map +1 -1
  35. package/build/components/post-excerpt/index.js +2 -1
  36. package/build/components/post-excerpt/index.js.map +1 -1
  37. package/build/components/post-excerpt/panel.js +3 -2
  38. package/build/components/post-excerpt/panel.js.map +1 -1
  39. package/build/components/post-preview-button/index.js +1 -1
  40. package/build/components/post-preview-button/index.js.map +1 -1
  41. package/build/components/post-publish-panel/index.js +1 -1
  42. package/build/components/post-publish-panel/index.js.map +1 -1
  43. package/build/components/post-saved-state/index.js +11 -1
  44. package/build/components/post-saved-state/index.js.map +1 -1
  45. package/build/components/post-schedule/index.js +3 -0
  46. package/build/components/post-schedule/index.js.map +1 -1
  47. package/build/components/post-slug/check.js +8 -1
  48. package/build/components/post-slug/check.js.map +1 -1
  49. package/build/components/post-slug/index.js +6 -0
  50. package/build/components/post-slug/index.js.map +1 -1
  51. package/build/components/post-status/index.js +4 -2
  52. package/build/components/post-status/index.js.map +1 -1
  53. package/build/components/post-sticky/index.js +9 -13
  54. package/build/components/post-sticky/index.js.map +1 -1
  55. package/build/components/post-template/create-new-template-modal.js +2 -0
  56. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  57. package/build/components/post-title/index.js +5 -13
  58. package/build/components/post-title/index.js.map +1 -1
  59. package/build/components/preview-dropdown/index.js +1 -1
  60. package/build/components/preview-dropdown/index.js.map +1 -1
  61. package/build/components/provider/index.native.js +0 -4
  62. package/build/components/provider/index.native.js.map +1 -1
  63. package/build/components/provider/use-block-editor-settings.js +7 -4
  64. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  65. package/build/components/save-publish-panels/index.js +30 -16
  66. package/build/components/save-publish-panels/index.js.map +1 -1
  67. package/build/components/sidebar/index.js +4 -1
  68. package/build/components/sidebar/index.js.map +1 -1
  69. package/build/components/sidebar/post-summary.js +2 -4
  70. package/build/components/sidebar/post-summary.js.map +1 -1
  71. package/build/components/template-content-panel/index.js +29 -4
  72. package/build/components/template-content-panel/index.js.map +1 -1
  73. package/build/components/template-part-content-panel/index.js +70 -0
  74. package/build/components/template-part-content-panel/index.js.map +1 -0
  75. package/build/components/visual-editor/index.js +1 -1
  76. package/build/components/visual-editor/index.js.map +1 -1
  77. package/build/dataviews/actions/delete-post.js +96 -0
  78. package/build/dataviews/actions/delete-post.js.map +1 -0
  79. package/build/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +11 -20
  80. package/build/dataviews/actions/export-pattern.js.map +1 -0
  81. package/build/dataviews/actions/index.js +32 -0
  82. package/build/dataviews/actions/index.js.map +1 -0
  83. package/build/dataviews/actions/reset-post.js +111 -0
  84. package/build/dataviews/actions/reset-post.js.map +1 -0
  85. package/build/dataviews/actions/utils.js +50 -0
  86. package/build/dataviews/actions/utils.js.map +1 -0
  87. package/build/dataviews/store/private-actions.js.map +1 -1
  88. package/build/dataviews/store/private-selectors.js +6 -6
  89. package/build/dataviews/store/private-selectors.js.map +1 -1
  90. package/build/dataviews/store/reducer.js +6 -2
  91. package/build/dataviews/store/reducer.js.map +1 -1
  92. package/build/dataviews/types.js +6 -0
  93. package/build/dataviews/types.js.map +1 -0
  94. package/build/hooks/pattern-overrides.js +3 -3
  95. package/build/hooks/pattern-overrides.js.map +1 -1
  96. package/build/lock-unlock.js +1 -1
  97. package/build/lock-unlock.js.map +1 -1
  98. package/build/private-apis.js +2 -0
  99. package/build/private-apis.js.map +1 -1
  100. package/build/private-apis.native.js +0 -2
  101. package/build/private-apis.native.js.map +1 -1
  102. package/build/store/constants.js.map +1 -1
  103. package/build/store/private-actions.js +9 -5
  104. package/build/store/private-actions.js.map +1 -1
  105. package/build/store/private-selectors.js +0 -18
  106. package/build/store/private-selectors.js.map +1 -1
  107. package/build/store/utils/is-template-revertable.js +6 -8
  108. package/build/store/utils/is-template-revertable.js.map +1 -1
  109. package/build-module/bindings/pattern-overrides.js +8 -5
  110. package/build-module/bindings/pattern-overrides.js.map +1 -1
  111. package/build-module/bindings/post-meta.js +4 -0
  112. package/build-module/bindings/post-meta.js.map +1 -1
  113. package/build-module/components/create-template-part-modal/index.js +2 -0
  114. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  115. package/build-module/components/document-bar/index.js +11 -4
  116. package/build-module/components/document-bar/index.js.map +1 -1
  117. package/build-module/components/editor-interface/index.js +6 -3
  118. package/build-module/components/editor-interface/index.js.map +1 -1
  119. package/build-module/components/entities-saved-states/entity-record-item.js +6 -14
  120. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  121. package/build-module/components/entities-saved-states/index.js +1 -1
  122. package/build-module/components/entities-saved-states/index.js.map +1 -1
  123. package/build-module/components/global-keyboard-shortcuts/index.js +1 -1
  124. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  125. package/build-module/components/global-styles-provider/index.js +7 -66
  126. package/build-module/components/global-styles-provider/index.js.map +1 -1
  127. package/build-module/components/header/index.js +6 -2
  128. package/build-module/components/header/index.js.map +1 -1
  129. package/build-module/components/index.js +11 -2
  130. package/build-module/components/index.js.map +1 -1
  131. package/build-module/components/inserter-sidebar/index.js +11 -22
  132. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  133. package/build-module/components/list-view-sidebar/index.js +20 -49
  134. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  135. package/build-module/components/page-attributes/parent.js +2 -1
  136. package/build-module/components/page-attributes/parent.js.map +1 -1
  137. package/build-module/components/post-actions/actions.js +370 -450
  138. package/build-module/components/post-actions/actions.js.map +1 -1
  139. package/build-module/components/post-actions/index.js +7 -2
  140. package/build-module/components/post-actions/index.js.map +1 -1
  141. package/build-module/components/post-excerpt/index.js +2 -1
  142. package/build-module/components/post-excerpt/index.js.map +1 -1
  143. package/build-module/components/post-excerpt/panel.js +3 -2
  144. package/build-module/components/post-excerpt/panel.js.map +1 -1
  145. package/build-module/components/post-preview-button/index.js +1 -1
  146. package/build-module/components/post-preview-button/index.js.map +1 -1
  147. package/build-module/components/post-publish-panel/index.js +1 -1
  148. package/build-module/components/post-publish-panel/index.js.map +1 -1
  149. package/build-module/components/post-saved-state/index.js +11 -1
  150. package/build-module/components/post-saved-state/index.js.map +1 -1
  151. package/build-module/components/post-schedule/index.js +3 -0
  152. package/build-module/components/post-schedule/index.js.map +1 -1
  153. package/build-module/components/post-slug/check.js +9 -0
  154. package/build-module/components/post-slug/check.js.map +1 -1
  155. package/build-module/components/post-slug/index.js +6 -0
  156. package/build-module/components/post-slug/index.js.map +1 -1
  157. package/build-module/components/post-status/index.js +3 -2
  158. package/build-module/components/post-status/index.js.map +1 -1
  159. package/build-module/components/post-sticky/index.js +10 -14
  160. package/build-module/components/post-sticky/index.js.map +1 -1
  161. package/build-module/components/post-template/create-new-template-modal.js +2 -0
  162. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  163. package/build-module/components/post-title/index.js +5 -13
  164. package/build-module/components/post-title/index.js.map +1 -1
  165. package/build-module/components/preview-dropdown/index.js +1 -1
  166. package/build-module/components/preview-dropdown/index.js.map +1 -1
  167. package/build-module/components/provider/index.native.js +0 -4
  168. package/build-module/components/provider/index.native.js.map +1 -1
  169. package/build-module/components/provider/use-block-editor-settings.js +7 -4
  170. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  171. package/build-module/components/save-publish-panels/index.js +30 -16
  172. package/build-module/components/save-publish-panels/index.js.map +1 -1
  173. package/build-module/components/sidebar/index.js +4 -1
  174. package/build-module/components/sidebar/index.js.map +1 -1
  175. package/build-module/components/sidebar/post-summary.js +2 -4
  176. package/build-module/components/sidebar/post-summary.js.map +1 -1
  177. package/build-module/components/template-content-panel/index.js +30 -5
  178. package/build-module/components/template-content-panel/index.js.map +1 -1
  179. package/build-module/components/template-part-content-panel/index.js +63 -0
  180. package/build-module/components/template-part-content-panel/index.js.map +1 -0
  181. package/build-module/components/visual-editor/index.js +1 -1
  182. package/build-module/components/visual-editor/index.js.map +1 -1
  183. package/build-module/dataviews/actions/delete-post.js +87 -0
  184. package/build-module/dataviews/actions/delete-post.js.map +1 -0
  185. package/build-module/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +10 -19
  186. package/build-module/dataviews/actions/export-pattern.js.map +1 -0
  187. package/build-module/dataviews/actions/index.js +24 -0
  188. package/build-module/dataviews/actions/index.js.map +1 -0
  189. package/build-module/dataviews/actions/reset-post.js +104 -0
  190. package/build-module/dataviews/actions/reset-post.js.map +1 -0
  191. package/build-module/dataviews/actions/utils.js +41 -0
  192. package/build-module/dataviews/actions/utils.js.map +1 -0
  193. package/build-module/dataviews/store/private-actions.js.map +1 -1
  194. package/build-module/dataviews/store/private-selectors.js +5 -5
  195. package/build-module/dataviews/store/private-selectors.js.map +1 -1
  196. package/build-module/dataviews/store/reducer.js +6 -2
  197. package/build-module/dataviews/store/reducer.js.map +1 -1
  198. package/build-module/dataviews/types.js +2 -0
  199. package/build-module/dataviews/types.js.map +1 -0
  200. package/build-module/hooks/pattern-overrides.js +4 -2
  201. package/build-module/hooks/pattern-overrides.js.map +1 -1
  202. package/build-module/lock-unlock.js +1 -1
  203. package/build-module/lock-unlock.js.map +1 -1
  204. package/build-module/private-apis.js +2 -0
  205. package/build-module/private-apis.js.map +1 -1
  206. package/build-module/private-apis.native.js +0 -2
  207. package/build-module/private-apis.native.js.map +1 -1
  208. package/build-module/store/constants.js.map +1 -1
  209. package/build-module/store/private-actions.js +9 -5
  210. package/build-module/store/private-actions.js.map +1 -1
  211. package/build-module/store/private-selectors.js +0 -17
  212. package/build-module/store/private-selectors.js.map +1 -1
  213. package/build-module/store/utils/is-template-revertable.js +6 -8
  214. package/build-module/store/utils/is-template-revertable.js.map +1 -1
  215. package/build-style/style-rtl.css +26 -76
  216. package/build-style/style.css +26 -76
  217. package/build-types/bindings/index.d.ts +2 -0
  218. package/build-types/bindings/index.d.ts.map +1 -0
  219. package/build-types/bindings/pattern-overrides.d.ts +18 -0
  220. package/build-types/bindings/pattern-overrides.d.ts.map +1 -0
  221. package/build-types/bindings/post-meta.d.ts +25 -0
  222. package/build-types/bindings/post-meta.d.ts.map +1 -0
  223. package/build-types/components/autocompleters/index.d.ts +2 -0
  224. package/build-types/components/autocompleters/index.d.ts.map +1 -0
  225. package/build-types/components/autocompleters/user.d.ts +6 -0
  226. package/build-types/components/autocompleters/user.d.ts.map +1 -0
  227. package/build-types/components/autosave-monitor/index.d.ts +15 -0
  228. package/build-types/components/autosave-monitor/index.d.ts.map +1 -0
  229. package/build-types/components/block-manager/category.d.ts +6 -0
  230. package/build-types/components/block-manager/category.d.ts.map +1 -0
  231. package/build-types/components/block-manager/checklist.d.ts +7 -0
  232. package/build-types/components/block-manager/checklist.d.ts.map +1 -0
  233. package/build-types/components/block-manager/index.d.ts +3 -0
  234. package/build-types/components/block-manager/index.d.ts.map +1 -0
  235. package/build-types/components/block-removal-warnings/index.d.ts +2 -0
  236. package/build-types/components/block-removal-warnings/index.d.ts.map +1 -0
  237. package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts +2 -0
  238. package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts.map +1 -0
  239. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts +65 -0
  240. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -0
  241. package/build-types/components/blog-title/index.d.ts +2 -0
  242. package/build-types/components/blog-title/index.d.ts.map +1 -0
  243. package/build-types/components/character-count/index.d.ts +7 -0
  244. package/build-types/components/character-count/index.d.ts.map +1 -0
  245. package/build-types/components/collapsible-block-toolbar/index.d.ts +6 -0
  246. package/build-types/components/collapsible-block-toolbar/index.d.ts.map +1 -0
  247. package/build-types/components/commands/index.d.ts +2 -0
  248. package/build-types/components/commands/index.d.ts.map +1 -0
  249. package/build-types/components/create-template-part-modal/index.d.ts +14 -0
  250. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -0
  251. package/build-types/components/create-template-part-modal/utils.d.ts +4 -0
  252. package/build-types/components/create-template-part-modal/utils.d.ts.map +1 -0
  253. package/build-types/components/deprecated.d.ts +182 -0
  254. package/build-types/components/deprecated.d.ts.map +1 -0
  255. package/build-types/components/document-bar/index.d.ts +22 -0
  256. package/build-types/components/document-bar/index.d.ts.map +1 -0
  257. package/build-types/components/document-outline/check.d.ts +12 -0
  258. package/build-types/components/document-outline/check.d.ts.map +1 -0
  259. package/build-types/components/document-outline/index.d.ts +16 -0
  260. package/build-types/components/document-outline/index.d.ts.map +1 -0
  261. package/build-types/components/document-outline/item.d.ts +9 -0
  262. package/build-types/components/document-outline/item.d.ts.map +1 -0
  263. package/build-types/components/document-tools/index.d.ts +6 -0
  264. package/build-types/components/document-tools/index.d.ts.map +1 -0
  265. package/build-types/components/editor/index.d.ts +14 -0
  266. package/build-types/components/editor/index.d.ts.map +1 -0
  267. package/build-types/components/editor-history/redo.d.ts +4 -0
  268. package/build-types/components/editor-history/redo.d.ts.map +1 -0
  269. package/build-types/components/editor-history/undo.d.ts +4 -0
  270. package/build-types/components/editor-history/undo.d.ts.map +1 -0
  271. package/build-types/components/editor-interface/content-slot-fill.d.ts +3 -0
  272. package/build-types/components/editor-interface/content-slot-fill.d.ts.map +1 -0
  273. package/build-types/components/editor-interface/index.d.ts +17 -0
  274. package/build-types/components/editor-interface/index.d.ts.map +1 -0
  275. package/build-types/components/editor-notices/index.d.ts +13 -0
  276. package/build-types/components/editor-notices/index.d.ts.map +1 -0
  277. package/build-types/components/editor-snackbars/index.d.ts +7 -0
  278. package/build-types/components/editor-snackbars/index.d.ts.map +1 -0
  279. package/build-types/components/entities-saved-states/entity-record-item.d.ts +6 -0
  280. package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -0
  281. package/build-types/components/entities-saved-states/entity-type-list.d.ts +6 -0
  282. package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -0
  283. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts +2 -0
  284. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts.map +1 -0
  285. package/build-types/components/entities-saved-states/index.d.ts +43 -0
  286. package/build-types/components/entities-saved-states/index.d.ts.map +1 -0
  287. package/build-types/components/error-boundary/index.d.ts +14 -0
  288. package/build-types/components/error-boundary/index.d.ts.map +1 -0
  289. package/build-types/components/global-keyboard-shortcuts/index.d.ts +9 -0
  290. package/build-types/components/global-keyboard-shortcuts/index.d.ts.map +1 -0
  291. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts +8 -0
  292. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts.map +1 -0
  293. package/build-types/components/global-styles-provider/index.d.ts +20 -0
  294. package/build-types/components/global-styles-provider/index.d.ts.map +1 -0
  295. package/build-types/components/header/back-button.d.ts +6 -0
  296. package/build-types/components/header/back-button.d.ts.map +1 -0
  297. package/build-types/components/header/index.d.ts +10 -0
  298. package/build-types/components/header/index.d.ts.map +1 -0
  299. package/build-types/components/index.d.ts +108 -0
  300. package/build-types/components/index.d.ts.map +1 -0
  301. package/build-types/components/inserter-sidebar/index.d.ts +2 -0
  302. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -0
  303. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +26 -0
  304. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts.map +1 -0
  305. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts +5 -0
  306. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts.map +1 -0
  307. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts +3 -0
  308. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts.map +1 -0
  309. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +8 -0
  310. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts.map +1 -0
  311. package/build-types/components/list-view-sidebar/index.d.ts +2 -0
  312. package/build-types/components/list-view-sidebar/index.d.ts.map +1 -0
  313. package/build-types/components/list-view-sidebar/list-view-outline.d.ts +2 -0
  314. package/build-types/components/list-view-sidebar/list-view-outline.d.ts.map +1 -0
  315. package/build-types/components/local-autosave-monitor/index.d.ts +3 -0
  316. package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -0
  317. package/build-types/components/media-categories/index.d.ts +7 -0
  318. package/build-types/components/media-categories/index.d.ts.map +1 -0
  319. package/build-types/components/mode-switcher/index.d.ts +3 -0
  320. package/build-types/components/mode-switcher/index.d.ts.map +1 -0
  321. package/build-types/components/more-menu/copy-content-menu-item.d.ts +2 -0
  322. package/build-types/components/more-menu/copy-content-menu-item.d.ts.map +1 -0
  323. package/build-types/components/more-menu/index.d.ts +2 -0
  324. package/build-types/components/more-menu/index.d.ts.map +1 -0
  325. package/build-types/components/more-menu/tools-more-menu-group.d.ts +6 -0
  326. package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -0
  327. package/build-types/components/more-menu/view-more-menu-group.d.ts +6 -0
  328. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -0
  329. package/build-types/components/page-attributes/check.d.ts +13 -0
  330. package/build-types/components/page-attributes/check.d.ts.map +1 -0
  331. package/build-types/components/page-attributes/order.d.ts +9 -0
  332. package/build-types/components/page-attributes/order.d.ts.map +1 -0
  333. package/build-types/components/page-attributes/panel.d.ts +7 -0
  334. package/build-types/components/page-attributes/panel.d.ts.map +1 -0
  335. package/build-types/components/page-attributes/parent.d.ts +11 -0
  336. package/build-types/components/page-attributes/parent.d.ts.map +1 -0
  337. package/build-types/components/pattern-duplicate-modal/index.d.ts +3 -0
  338. package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -0
  339. package/build-types/components/pattern-overrides-panel/index.d.ts +2 -0
  340. package/build-types/components/pattern-overrides-panel/index.d.ts.map +1 -0
  341. package/build-types/components/pattern-rename-modal/index.d.ts +3 -0
  342. package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -0
  343. package/build-types/components/plugin-document-setting-panel/index.d.ts +69 -0
  344. package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -0
  345. package/build-types/components/plugin-more-menu-item/index.d.ts +3 -0
  346. package/build-types/components/plugin-more-menu-item/index.d.ts.map +1 -0
  347. package/build-types/components/plugin-post-publish-panel/index.d.ts +47 -0
  348. package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -0
  349. package/build-types/components/plugin-post-status-info/index.d.ts +57 -0
  350. package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -0
  351. package/build-types/components/plugin-pre-publish-panel/index.d.ts +50 -0
  352. package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -0
  353. package/build-types/components/plugin-sidebar/index.d.ts +73 -0
  354. package/build-types/components/plugin-sidebar/index.d.ts.map +1 -0
  355. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts +52 -0
  356. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -0
  357. package/build-types/components/post-actions/actions.d.ts +31 -0
  358. package/build-types/components/post-actions/actions.d.ts.map +1 -0
  359. package/build-types/components/post-actions/index.d.ts +5 -0
  360. package/build-types/components/post-actions/index.d.ts.map +1 -0
  361. package/build-types/components/post-author/check.d.ts +13 -0
  362. package/build-types/components/post-author/check.d.ts.map +1 -0
  363. package/build-types/components/post-author/combobox.d.ts +2 -0
  364. package/build-types/components/post-author/combobox.d.ts.map +1 -0
  365. package/build-types/components/post-author/constants.d.ts +9 -0
  366. package/build-types/components/post-author/constants.d.ts.map +1 -0
  367. package/build-types/components/post-author/hook.d.ts +6 -0
  368. package/build-types/components/post-author/hook.d.ts.map +1 -0
  369. package/build-types/components/post-author/index.d.ts +8 -0
  370. package/build-types/components/post-author/index.d.ts.map +1 -0
  371. package/build-types/components/post-author/panel.d.ts +8 -0
  372. package/build-types/components/post-author/panel.d.ts.map +1 -0
  373. package/build-types/components/post-author/select.d.ts +2 -0
  374. package/build-types/components/post-author/select.d.ts.map +1 -0
  375. package/build-types/components/post-card-panel/index.d.ts +4 -0
  376. package/build-types/components/post-card-panel/index.d.ts.map +1 -0
  377. package/build-types/components/post-comments/index.d.ts +3 -0
  378. package/build-types/components/post-comments/index.d.ts.map +1 -0
  379. package/build-types/components/post-content-information/index.d.ts +2 -0
  380. package/build-types/components/post-content-information/index.d.ts.map +1 -0
  381. package/build-types/components/post-discussion/panel.d.ts +10 -0
  382. package/build-types/components/post-discussion/panel.d.ts.map +1 -0
  383. package/build-types/components/post-excerpt/check.d.ts +13 -0
  384. package/build-types/components/post-excerpt/check.d.ts.map +1 -0
  385. package/build-types/components/post-excerpt/index.d.ts +15 -0
  386. package/build-types/components/post-excerpt/index.d.ts.map +1 -0
  387. package/build-types/components/post-excerpt/panel.d.ts +8 -0
  388. package/build-types/components/post-excerpt/panel.d.ts.map +1 -0
  389. package/build-types/components/post-excerpt/plugin.d.ts +53 -0
  390. package/build-types/components/post-excerpt/plugin.d.ts.map +1 -0
  391. package/build-types/components/post-featured-image/check.d.ts +14 -0
  392. package/build-types/components/post-featured-image/check.d.ts.map +1 -0
  393. package/build-types/components/post-featured-image/index.d.ts +3 -0
  394. package/build-types/components/post-featured-image/index.d.ts.map +1 -0
  395. package/build-types/components/post-featured-image/panel.d.ts +13 -0
  396. package/build-types/components/post-featured-image/panel.d.ts.map +1 -0
  397. package/build-types/components/post-format/check.d.ts +5 -0
  398. package/build-types/components/post-format/check.d.ts.map +1 -0
  399. package/build-types/components/post-format/index.d.ts +16 -0
  400. package/build-types/components/post-format/index.d.ts.map +1 -0
  401. package/build-types/components/post-format/panel.d.ts +8 -0
  402. package/build-types/components/post-format/panel.d.ts.map +1 -0
  403. package/build-types/components/post-last-edited-panel/index.d.ts +2 -0
  404. package/build-types/components/post-last-edited-panel/index.d.ts.map +1 -0
  405. package/build-types/components/post-last-revision/check.d.ts +13 -0
  406. package/build-types/components/post-last-revision/check.d.ts.map +1 -0
  407. package/build-types/components/post-last-revision/index.d.ts +9 -0
  408. package/build-types/components/post-last-revision/index.d.ts.map +1 -0
  409. package/build-types/components/post-last-revision/panel.d.ts +8 -0
  410. package/build-types/components/post-last-revision/panel.d.ts.map +1 -0
  411. package/build-types/components/post-locked-modal/index.d.ts +8 -0
  412. package/build-types/components/post-locked-modal/index.d.ts.map +1 -0
  413. package/build-types/components/post-panel-row/index.d.ts +3 -0
  414. package/build-types/components/post-panel-row/index.d.ts.map +1 -0
  415. package/build-types/components/post-panel-section/index.d.ts +6 -0
  416. package/build-types/components/post-panel-section/index.d.ts.map +1 -0
  417. package/build-types/components/post-pending-status/check.d.ts +15 -0
  418. package/build-types/components/post-pending-status/check.d.ts.map +1 -0
  419. package/build-types/components/post-pending-status/index.d.ts +8 -0
  420. package/build-types/components/post-pending-status/index.d.ts.map +1 -0
  421. package/build-types/components/post-pingbacks/index.d.ts +3 -0
  422. package/build-types/components/post-pingbacks/index.d.ts.map +1 -0
  423. package/build-types/components/post-preview-button/index.d.ts +23 -0
  424. package/build-types/components/post-preview-button/index.d.ts.map +1 -0
  425. package/build-types/components/post-publish-button/index.d.ts +17 -0
  426. package/build-types/components/post-publish-button/index.d.ts.map +1 -0
  427. package/build-types/components/post-publish-button/label.d.ts +7 -0
  428. package/build-types/components/post-publish-button/label.d.ts.map +1 -0
  429. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts +17 -0
  430. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -0
  431. package/build-types/components/post-publish-panel/index.d.ts +10 -0
  432. package/build-types/components/post-publish-panel/index.d.ts.map +1 -0
  433. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts +3 -0
  434. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -0
  435. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts +2 -0
  436. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -0
  437. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts +3 -0
  438. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts.map +1 -0
  439. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts +2 -0
  440. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -0
  441. package/build-types/components/post-publish-panel/postpublish.d.ts +3 -0
  442. package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -0
  443. package/build-types/components/post-publish-panel/prepublish.d.ts +5 -0
  444. package/build-types/components/post-publish-panel/prepublish.d.ts.map +1 -0
  445. package/build-types/components/post-saved-state/index.d.ts +13 -0
  446. package/build-types/components/post-saved-state/index.d.ts.map +1 -0
  447. package/build-types/components/post-schedule/check.d.ts +12 -0
  448. package/build-types/components/post-schedule/check.d.ts.map +1 -0
  449. package/build-types/components/post-schedule/index.d.ts +17 -0
  450. package/build-types/components/post-schedule/index.d.ts.map +1 -0
  451. package/build-types/components/post-schedule/label.d.ts +25 -0
  452. package/build-types/components/post-schedule/label.d.ts.map +1 -0
  453. package/build-types/components/post-schedule/panel.d.ts +7 -0
  454. package/build-types/components/post-schedule/panel.d.ts.map +1 -0
  455. package/build-types/components/post-slug/check.d.ts +12 -0
  456. package/build-types/components/post-slug/check.d.ts.map +1 -0
  457. package/build-types/components/post-slug/index.d.ts +7 -0
  458. package/build-types/components/post-slug/index.d.ts.map +1 -0
  459. package/build-types/components/post-slug/panel.d.ts +3 -0
  460. package/build-types/components/post-slug/panel.d.ts.map +1 -0
  461. package/build-types/components/post-status/index.d.ts +6 -0
  462. package/build-types/components/post-status/index.d.ts.map +1 -0
  463. package/build-types/components/post-sticky/check.d.ts +12 -0
  464. package/build-types/components/post-sticky/check.d.ts.map +1 -0
  465. package/build-types/components/post-sticky/index.d.ts +7 -0
  466. package/build-types/components/post-sticky/index.d.ts.map +1 -0
  467. package/build-types/components/post-sticky/panel.d.ts +3 -0
  468. package/build-types/components/post-sticky/panel.d.ts.map +1 -0
  469. package/build-types/components/post-switch-to-draft-button/index.d.ts +7 -0
  470. package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -0
  471. package/build-types/components/post-sync-status/index.d.ts +7 -0
  472. package/build-types/components/post-sync-status/index.d.ts.map +1 -0
  473. package/build-types/components/post-taxonomies/check.d.ts +12 -0
  474. package/build-types/components/post-taxonomies/check.d.ts.map +1 -0
  475. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +64 -0
  476. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -0
  477. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +102 -0
  478. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -0
  479. package/build-types/components/post-taxonomies/index.d.ts +5 -0
  480. package/build-types/components/post-taxonomies/index.d.ts.map +1 -0
  481. package/build-types/components/post-taxonomies/most-used-terms.d.ts +5 -0
  482. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -0
  483. package/build-types/components/post-taxonomies/panel.d.ts +3 -0
  484. package/build-types/components/post-taxonomies/panel.d.ts.map +1 -0
  485. package/build-types/components/post-template/block-theme.d.ts +4 -0
  486. package/build-types/components/post-template/block-theme.d.ts.map +1 -0
  487. package/build-types/components/post-template/classic-theme.d.ts +3 -0
  488. package/build-types/components/post-template/classic-theme.d.ts.map +1 -0
  489. package/build-types/components/post-template/create-new-template-modal.d.ts +4 -0
  490. package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -0
  491. package/build-types/components/post-template/create-new-template.d.ts +4 -0
  492. package/build-types/components/post-template/create-new-template.d.ts.map +1 -0
  493. package/build-types/components/post-template/hooks.d.ts +8 -0
  494. package/build-types/components/post-template/hooks.d.ts.map +1 -0
  495. package/build-types/components/post-template/panel.d.ts +7 -0
  496. package/build-types/components/post-template/panel.d.ts.map +1 -0
  497. package/build-types/components/post-template/reset-default-template.d.ts +4 -0
  498. package/build-types/components/post-template/reset-default-template.d.ts.map +1 -0
  499. package/build-types/components/post-template/swap-template-button.d.ts +4 -0
  500. package/build-types/components/post-template/swap-template-button.d.ts.map +1 -0
  501. package/build-types/components/post-text-editor/index.d.ts +7 -0
  502. package/build-types/components/post-text-editor/index.d.ts.map +1 -0
  503. package/build-types/components/post-title/constants.d.ts +3 -0
  504. package/build-types/components/post-title/constants.d.ts.map +1 -0
  505. package/build-types/components/post-title/index.d.ts +3 -0
  506. package/build-types/components/post-title/index.d.ts.map +1 -0
  507. package/build-types/components/post-title/post-title-raw.d.ts +3 -0
  508. package/build-types/components/post-title/post-title-raw.d.ts.map +1 -0
  509. package/build-types/components/post-title/use-post-title-focus.d.ts +9 -0
  510. package/build-types/components/post-title/use-post-title-focus.d.ts.map +1 -0
  511. package/build-types/components/post-title/use-post-title.d.ts +7 -0
  512. package/build-types/components/post-title/use-post-title.d.ts.map +1 -0
  513. package/build-types/components/post-transform-panel/hooks.d.ts +2 -0
  514. package/build-types/components/post-transform-panel/hooks.d.ts.map +1 -0
  515. package/build-types/components/post-transform-panel/index.d.ts +2 -0
  516. package/build-types/components/post-transform-panel/index.d.ts.map +1 -0
  517. package/build-types/components/post-trash/check.d.ts +12 -0
  518. package/build-types/components/post-trash/check.d.ts.map +1 -0
  519. package/build-types/components/post-trash/index.d.ts +7 -0
  520. package/build-types/components/post-trash/index.d.ts.map +1 -0
  521. package/build-types/components/post-type-support-check/index.d.ts +18 -0
  522. package/build-types/components/post-type-support-check/index.d.ts.map +1 -0
  523. package/build-types/components/post-url/check.d.ts +12 -0
  524. package/build-types/components/post-url/check.d.ts.map +1 -0
  525. package/build-types/components/post-url/index.d.ts +14 -0
  526. package/build-types/components/post-url/index.d.ts.map +1 -0
  527. package/build-types/components/post-url/label.d.ts +13 -0
  528. package/build-types/components/post-url/label.d.ts.map +1 -0
  529. package/build-types/components/post-url/panel.d.ts +7 -0
  530. package/build-types/components/post-url/panel.d.ts.map +1 -0
  531. package/build-types/components/post-view-link/index.d.ts +2 -0
  532. package/build-types/components/post-view-link/index.d.ts.map +1 -0
  533. package/build-types/components/post-visibility/check.d.ts +13 -0
  534. package/build-types/components/post-visibility/check.d.ts.map +1 -0
  535. package/build-types/components/post-visibility/index.d.ts +11 -0
  536. package/build-types/components/post-visibility/index.d.ts.map +1 -0
  537. package/build-types/components/post-visibility/label.d.ts +13 -0
  538. package/build-types/components/post-visibility/label.d.ts.map +1 -0
  539. package/build-types/components/post-visibility/utils.d.ts +21 -0
  540. package/build-types/components/post-visibility/utils.d.ts.map +1 -0
  541. package/build-types/components/posts-per-page/index.d.ts +2 -0
  542. package/build-types/components/posts-per-page/index.d.ts.map +1 -0
  543. package/build-types/components/preferences-modal/enable-panel.d.ts +3 -0
  544. package/build-types/components/preferences-modal/enable-panel.d.ts.map +1 -0
  545. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts +14 -0
  546. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -0
  547. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts +3 -0
  548. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts.map +1 -0
  549. package/build-types/components/preferences-modal/index.d.ts +4 -0
  550. package/build-types/components/preferences-modal/index.d.ts.map +1 -0
  551. package/build-types/components/preview-dropdown/index.d.ts +5 -0
  552. package/build-types/components/preview-dropdown/index.d.ts.map +1 -0
  553. package/build-types/components/provider/disable-non-page-content-blocks.d.ts +6 -0
  554. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -0
  555. package/build-types/components/provider/index.d.ts +65 -0
  556. package/build-types/components/provider/index.d.ts.map +1 -0
  557. package/build-types/components/provider/navigation-block-editing-mode.d.ts +9 -0
  558. package/build-types/components/provider/navigation-block-editing-mode.d.ts.map +1 -0
  559. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts +7 -0
  560. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts.map +1 -0
  561. package/build-types/components/provider/use-block-editor-settings.d.ts +13 -0
  562. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -0
  563. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts +9 -0
  564. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts.map +1 -0
  565. package/build-types/components/provider/with-registry-provider.d.ts +3 -0
  566. package/build-types/components/provider/with-registry-provider.d.ts.map +1 -0
  567. package/build-types/components/resizable-editor/index.d.ts +8 -0
  568. package/build-types/components/resizable-editor/index.d.ts.map +1 -0
  569. package/build-types/components/resizable-editor/resize-handle.d.ts +5 -0
  570. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -0
  571. package/build-types/components/save-publish-panels/index.d.ts +11 -0
  572. package/build-types/components/save-publish-panels/index.d.ts.map +1 -0
  573. package/build-types/components/sidebar/constants.d.ts +5 -0
  574. package/build-types/components/sidebar/constants.d.ts.map +1 -0
  575. package/build-types/components/sidebar/header.d.ts +3 -0
  576. package/build-types/components/sidebar/header.d.ts.map +1 -0
  577. package/build-types/components/sidebar/index.d.ts +6 -0
  578. package/build-types/components/sidebar/index.d.ts.map +1 -0
  579. package/build-types/components/sidebar/post-summary.d.ts +4 -0
  580. package/build-types/components/sidebar/post-summary.d.ts.map +1 -0
  581. package/build-types/components/site-discussion/index.d.ts +2 -0
  582. package/build-types/components/site-discussion/index.d.ts.map +1 -0
  583. package/build-types/components/start-page-options/index.d.ts +2 -0
  584. package/build-types/components/start-page-options/index.d.ts.map +1 -0
  585. package/build-types/components/start-template-options/index.d.ts +2 -0
  586. package/build-types/components/start-template-options/index.d.ts.map +1 -0
  587. package/build-types/components/table-of-contents/index.d.ts +7 -0
  588. package/build-types/components/table-of-contents/index.d.ts.map +1 -0
  589. package/build-types/components/table-of-contents/panel.d.ts +6 -0
  590. package/build-types/components/table-of-contents/panel.d.ts.map +1 -0
  591. package/build-types/components/template-content-panel/index.d.ts +4 -0
  592. package/build-types/components/template-content-panel/index.d.ts.map +1 -0
  593. package/build-types/components/template-part-content-panel/index.d.ts +2 -0
  594. package/build-types/components/template-part-content-panel/index.d.ts.map +1 -0
  595. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts +5 -0
  596. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts.map +1 -0
  597. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts +5 -0
  598. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts.map +1 -0
  599. package/build-types/components/template-part-menu-items/index.d.ts +2 -0
  600. package/build-types/components/template-part-menu-items/index.d.ts.map +1 -0
  601. package/build-types/components/template-validation-notice/index.d.ts +2 -0
  602. package/build-types/components/template-validation-notice/index.d.ts.map +1 -0
  603. package/build-types/components/text-editor/index.d.ts +4 -0
  604. package/build-types/components/text-editor/index.d.ts.map +1 -0
  605. package/build-types/components/theme-support-check/index.d.ts +14 -0
  606. package/build-types/components/theme-support-check/index.d.ts.map +1 -0
  607. package/build-types/components/time-to-read/index.d.ts +7 -0
  608. package/build-types/components/time-to-read/index.d.ts.map +1 -0
  609. package/build-types/components/unsaved-changes-warning/index.d.ts +8 -0
  610. package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -0
  611. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts +18 -0
  612. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -0
  613. package/build-types/components/visual-editor/index.d.ts +10 -0
  614. package/build-types/components/visual-editor/index.d.ts.map +1 -0
  615. package/build-types/components/word-count/index.d.ts +7 -0
  616. package/build-types/components/word-count/index.d.ts.map +1 -0
  617. package/build-types/dataviews/actions/delete-post.d.ts +5 -0
  618. package/build-types/dataviews/actions/delete-post.d.ts.map +1 -0
  619. package/build-types/dataviews/actions/export-pattern.d.ts +8 -0
  620. package/build-types/dataviews/actions/export-pattern.d.ts.map +1 -0
  621. package/build-types/dataviews/actions/index.d.ts +2 -0
  622. package/build-types/dataviews/actions/index.d.ts.map +1 -0
  623. package/build-types/dataviews/actions/reset-post.d.ts +5 -0
  624. package/build-types/dataviews/actions/reset-post.d.ts.map +1 -0
  625. package/build-types/dataviews/actions/utils.d.ts +11 -0
  626. package/build-types/dataviews/actions/utils.d.ts.map +1 -0
  627. package/build-types/dataviews/api.d.ts +27 -0
  628. package/build-types/dataviews/api.d.ts.map +1 -0
  629. package/build-types/dataviews/store/private-actions.d.ts +2 -2
  630. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  631. package/build-types/dataviews/store/private-selectors.d.ts +2 -5
  632. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
  633. package/build-types/dataviews/store/reducer.d.ts +5 -1
  634. package/build-types/dataviews/store/reducer.d.ts.map +1 -1
  635. package/build-types/dataviews/types.d.ts +34 -0
  636. package/build-types/dataviews/types.d.ts.map +1 -0
  637. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +10 -0
  638. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -0
  639. package/build-types/hooks/default-autocompleters.d.ts +2 -0
  640. package/build-types/hooks/default-autocompleters.d.ts.map +1 -0
  641. package/build-types/hooks/index.d.ts +2 -0
  642. package/build-types/hooks/index.d.ts.map +1 -0
  643. package/build-types/hooks/media-upload.d.ts +2 -0
  644. package/build-types/hooks/media-upload.d.ts.map +1 -0
  645. package/build-types/hooks/pattern-overrides.d.ts +2 -0
  646. package/build-types/hooks/pattern-overrides.d.ts.map +1 -0
  647. package/build-types/hooks/use-select-nearest-editable-block.d.ts +4 -0
  648. package/build-types/hooks/use-select-nearest-editable-block.d.ts.map +1 -0
  649. package/build-types/index.d.ts +6 -0
  650. package/build-types/index.d.ts.map +1 -0
  651. package/build-types/lock-unlock.d.ts +3 -0
  652. package/build-types/lock-unlock.d.ts.map +1 -0
  653. package/build-types/private-apis.d.ts +2 -0
  654. package/build-types/private-apis.d.ts.map +1 -0
  655. package/build-types/store/actions.d.ts +367 -0
  656. package/build-types/store/actions.d.ts.map +1 -0
  657. package/build-types/store/constants.d.ts +31 -0
  658. package/build-types/store/constants.d.ts.map +1 -0
  659. package/build-types/store/defaults.d.ts +21 -0
  660. package/build-types/store/defaults.d.ts.map +1 -0
  661. package/build-types/store/index.d.ts +17 -0
  662. package/build-types/store/index.d.ts.map +1 -0
  663. package/build-types/store/local-autosave.d.ts +4 -0
  664. package/build-types/store/local-autosave.d.ts.map +1 -0
  665. package/build-types/store/private-actions.d.ts +37 -0
  666. package/build-types/store/private-actions.d.ts.map +1 -0
  667. package/build-types/store/private-selectors.d.ts +24 -0
  668. package/build-types/store/private-selectors.d.ts.map +1 -0
  669. package/build-types/store/reducer.d.ts +228 -0
  670. package/build-types/store/reducer.d.ts.map +1 -0
  671. package/build-types/store/selectors.d.ts +854 -0
  672. package/build-types/store/selectors.d.ts.map +1 -0
  673. package/build-types/store/utils/get-filtered-template-parts.d.ts +3 -0
  674. package/build-types/store/utils/get-filtered-template-parts.d.ts.map +1 -0
  675. package/build-types/store/utils/is-template-revertable.d.ts +8 -0
  676. package/build-types/store/utils/is-template-revertable.d.ts.map +1 -0
  677. package/build-types/store/utils/notice-builder.d.ts +27 -0
  678. package/build-types/store/utils/notice-builder.d.ts.map +1 -0
  679. package/build-types/utils/get-template-part-icon.d.ts +9 -0
  680. package/build-types/utils/get-template-part-icon.d.ts.map +1 -0
  681. package/build-types/utils/index.d.ts +5 -0
  682. package/build-types/utils/index.d.ts.map +1 -0
  683. package/build-types/utils/media-upload/index.d.ts +21 -0
  684. package/build-types/utils/media-upload/index.d.ts.map +1 -0
  685. package/build-types/utils/set-nested-value.d.ts +20 -0
  686. package/build-types/utils/set-nested-value.d.ts.map +1 -0
  687. package/build-types/utils/terms.d.ts +12 -0
  688. package/build-types/utils/terms.d.ts.map +1 -0
  689. package/build-types/utils/url.d.ts +18 -0
  690. package/build-types/utils/url.d.ts.map +1 -0
  691. package/package.json +36 -35
  692. package/src/bindings/pattern-overrides.js +9 -10
  693. package/src/bindings/post-meta.js +5 -0
  694. package/src/components/create-template-part-modal/index.js +2 -0
  695. package/src/components/create-template-part-modal/style.scss +0 -6
  696. package/src/components/document-bar/index.js +11 -4
  697. package/src/components/editor-interface/index.js +19 -8
  698. package/src/components/entities-saved-states/entity-record-item.js +4 -14
  699. package/src/components/entities-saved-states/index.js +1 -1
  700. package/src/components/entities-saved-states/style.scss +0 -13
  701. package/src/components/global-keyboard-shortcuts/index.js +1 -1
  702. package/src/components/global-styles-provider/index.js +7 -90
  703. package/src/components/header/index.js +2 -1
  704. package/src/components/index.js +11 -2
  705. package/src/components/inserter-sidebar/index.js +4 -24
  706. package/src/components/list-view-sidebar/index.js +34 -62
  707. package/src/components/list-view-sidebar/style.scss +0 -34
  708. package/src/components/page-attributes/parent.js +6 -3
  709. package/src/components/post-actions/actions.js +495 -621
  710. package/src/components/post-actions/index.js +4 -2
  711. package/src/components/post-card-panel/style.scss +1 -0
  712. package/src/components/post-excerpt/index.js +4 -1
  713. package/src/components/post-excerpt/panel.js +3 -2
  714. package/src/components/post-featured-image/style.scss +15 -0
  715. package/src/components/post-panel-row/style.scss +1 -0
  716. package/src/components/post-preview-button/index.js +1 -1
  717. package/src/components/post-publish-panel/index.js +1 -1
  718. package/src/components/post-publish-panel/style.scss +1 -1
  719. package/src/components/post-saved-state/index.js +11 -1
  720. package/src/components/post-schedule/index.js +5 -0
  721. package/src/components/post-slug/check.js +8 -0
  722. package/src/components/post-slug/index.js +5 -0
  723. package/src/components/post-status/index.js +3 -1
  724. package/src/components/post-sticky/index.js +10 -13
  725. package/src/components/post-sticky/style.scss +3 -2
  726. package/src/components/post-taxonomies/README.md +1 -1
  727. package/src/components/post-template/create-new-template-modal.js +2 -0
  728. package/src/components/post-title/index.js +5 -12
  729. package/src/components/post-url/style.scss +4 -0
  730. package/src/components/preview-dropdown/index.js +1 -1
  731. package/src/components/provider/index.native.js +3 -11
  732. package/src/components/provider/use-block-editor-settings.js +10 -5
  733. package/src/components/save-publish-panels/index.js +33 -23
  734. package/src/components/sidebar/index.js +3 -3
  735. package/src/components/sidebar/post-summary.js +0 -4
  736. package/src/components/template-content-panel/index.js +29 -5
  737. package/src/components/template-part-content-panel/index.js +62 -0
  738. package/src/components/visual-editor/index.js +1 -1
  739. package/src/components/visual-editor/style.scss +3 -1
  740. package/src/dataviews/actions/delete-post.tsx +107 -0
  741. package/src/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.tsx} +19 -19
  742. package/src/dataviews/actions/index.ts +25 -0
  743. package/src/dataviews/actions/reset-post.tsx +144 -0
  744. package/src/dataviews/actions/utils.ts +54 -0
  745. package/src/dataviews/store/private-actions.ts +2 -2
  746. package/src/dataviews/store/private-selectors.ts +13 -6
  747. package/src/dataviews/store/reducer.ts +12 -5
  748. package/src/dataviews/types.ts +33 -0
  749. package/src/hooks/pattern-overrides.js +6 -4
  750. package/src/lock-unlock.js +1 -1
  751. package/src/private-apis.js +2 -0
  752. package/src/private-apis.native.js +0 -2
  753. package/src/store/private-actions.js +49 -21
  754. package/src/store/private-selectors.js +0 -25
  755. package/src/store/utils/is-template-revertable.js +8 -8
  756. package/src/style.scss +0 -1
  757. package/tsconfig.json +3 -2
  758. package/tsconfig.tsbuildinfo +1 -1
  759. package/build/components/post-actions/export-pattern-action.js.map +0 -1
  760. package/build/components/post-actions/export-pattern-action.native.js +0 -11
  761. package/build/components/post-actions/export-pattern-action.native.js.map +0 -1
  762. package/build/components/template-areas/index.js +0 -84
  763. package/build/components/template-areas/index.js.map +0 -1
  764. package/build-module/components/post-actions/export-pattern-action.js.map +0 -1
  765. package/build-module/components/post-actions/export-pattern-action.native.js +0 -5
  766. package/build-module/components/post-actions/export-pattern-action.native.js.map +0 -1
  767. package/build-module/components/template-areas/index.js +0 -78
  768. package/build-module/components/template-areas/index.js.map +0 -1
  769. package/src/components/post-actions/export-pattern-action.native.js +0 -4
  770. package/src/components/template-areas/index.js +0 -94
  771. package/src/components/template-areas/style.scss +0 -22
  772. /package/src/store/{constants.js → constants.ts} +0 -0
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -15,13 +14,14 @@ var _i18n = require("@wordpress/i18n");
15
14
  var _notices = require("@wordpress/notices");
16
15
  var _element = require("@wordpress/element");
17
16
  var _patterns = require("@wordpress/patterns");
17
+ var _blocks = require("@wordpress/blocks");
18
+ var _dataviews = require("@wordpress/dataviews");
18
19
  var _components = require("@wordpress/components");
19
20
  var _constants = require("../../store/constants");
20
21
  var _store = require("../../store");
21
22
  var _lockUnlock = require("../../lock-unlock");
22
- var _isTemplateRevertable = _interopRequireDefault(require("../../store/utils/is-template-revertable"));
23
- var _exportPatternAction = require("./export-pattern-action");
24
23
  var _createTemplatePartModal = require("../create-template-part-modal");
24
+ var _utils = require("../../dataviews/actions/utils");
25
25
  var _jsxRuntime = require("react/jsx-runtime");
26
26
  /**
27
27
  * WordPress dependencies
@@ -38,6 +38,20 @@ const {
38
38
  useDuplicatePatternProps
39
39
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
40
40
 
41
+ // TODO: this should be shared with other components (page-pages).
42
+ const fields = [{
43
+ type: 'text',
44
+ header: (0, _i18n.__)('Title'),
45
+ id: 'title',
46
+ placeholder: (0, _i18n.__)('No title'),
47
+ getValue: ({
48
+ item
49
+ }) => item.title
50
+ }];
51
+ const form = {
52
+ visibleFields: ['title']
53
+ };
54
+
41
55
  /**
42
56
  * Check if a template is removable.
43
57
  *
@@ -51,86 +65,8 @@ function isTemplateRemovable(template) {
51
65
  // In patterns list page we map the templates parts to a different object
52
66
  // than the one returned from the endpoint. This is why we need to check for
53
67
  // two props whether is custom or has a theme file.
54
- return [template.source, template.templatePart?.source].includes(_constants.TEMPLATE_ORIGINS.custom) && !template.has_theme_file && !template.templatePart?.has_theme_file;
55
- }
56
- const canDeleteOrReset = item => {
57
- const isTemplatePart = item.type === _constants.TEMPLATE_PART_POST_TYPE;
58
- const isUserPattern = item.type === PATTERN_TYPES.user;
59
- return isUserPattern || isTemplatePart && item.isCustom;
60
- };
61
- function getItemTitle(item) {
62
- if (typeof item.title === 'string') {
63
- return (0, _htmlEntities.decodeEntities)(item.title);
64
- }
65
- return (0, _htmlEntities.decodeEntities)(item.title?.rendered || '');
68
+ return template?.source === _constants.TEMPLATE_ORIGINS.custom && !template?.has_theme_file;
66
69
  }
67
-
68
- // This action is used for templates, patterns and template parts.
69
- // Every other post type uses the similar `trashPostAction` which
70
- // moves the post to trash.
71
- const deletePostAction = {
72
- id: 'delete-post',
73
- label: (0, _i18n.__)('Delete'),
74
- isPrimary: true,
75
- icon: _icons.trash,
76
- isEligible(post) {
77
- if ([_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE].includes(post.type)) {
78
- return isTemplateRemovable(post);
79
- }
80
- // We can only remove user patterns.
81
- return post.type === PATTERN_TYPES.user;
82
- },
83
- supportsBulk: true,
84
- hideModalHeader: true,
85
- RenderModal: ({
86
- items,
87
- closeModal,
88
- onActionStart,
89
- onActionPerformed
90
- }) => {
91
- const [isBusy, setIsBusy] = (0, _element.useState)(false);
92
- const {
93
- removeTemplates
94
- } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
95
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
96
- spacing: "5",
97
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
98
- children: items.length > 1 ? (0, _i18n.sprintf)(
99
- // translators: %d: number of items to delete.
100
- (0, _i18n._n)('Delete %d item?', 'Delete %d items?', items.length), items.length) : (0, _i18n.sprintf)(
101
- // translators: %s: The template or template part's titles
102
- (0, _i18n.__)('Delete "%s"?'), getItemTitle(items[0]))
103
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
104
- justify: "right",
105
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
106
- variant: "tertiary",
107
- onClick: closeModal,
108
- disabled: isBusy,
109
- __experimentalIsFocusable: true,
110
- children: (0, _i18n.__)('Cancel')
111
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
112
- variant: "primary",
113
- onClick: async () => {
114
- setIsBusy(true);
115
- if (onActionStart) {
116
- onActionStart(items);
117
- }
118
- await removeTemplates(items, {
119
- allowUndo: false
120
- });
121
- onActionPerformed?.(items);
122
- setIsBusy(false);
123
- closeModal();
124
- },
125
- isBusy: isBusy,
126
- disabled: isBusy,
127
- __experimentalIsFocusable: true,
128
- children: (0, _i18n.__)('Delete')
129
- })]
130
- })]
131
- });
132
- }
133
- };
134
70
  const trashPostAction = {
135
71
  id: 'move-to-trash',
136
72
  label: (0, _i18n.__)('Move to Trash'),
@@ -144,7 +80,6 @@ const trashPostAction = {
144
80
  RenderModal: ({
145
81
  items,
146
82
  closeModal,
147
- onActionStart,
148
83
  onActionPerformed
149
84
  }) => {
150
85
  const [isBusy, setIsBusy] = (0, _element.useState)(false);
@@ -160,7 +95,7 @@ const trashPostAction = {
160
95
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
161
96
  children: items.length === 1 ? (0, _i18n.sprintf)(
162
97
  // translators: %s: The item's title.
163
- (0, _i18n.__)('Are you sure you want to move to trash "%s"?'), getItemTitle(items[0])) : (0, _i18n.sprintf)(
98
+ (0, _i18n.__)('Are you sure you want to move to trash "%s"?'), (0, _utils.getItemTitle)(items[0])) : (0, _i18n.sprintf)(
164
99
  // translators: %d: The number of items (2 or more).
165
100
  (0, _i18n._n)('Are you sure you want to move to trash %d item?', 'Are you sure you want to move to trash %d items?', items.length), items.length)
166
101
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
@@ -169,15 +104,12 @@ const trashPostAction = {
169
104
  variant: "tertiary",
170
105
  onClick: closeModal,
171
106
  disabled: isBusy,
172
- __experimentalIsFocusable: true,
107
+ accessibleWhenDisabled: true,
173
108
  children: (0, _i18n.__)('Cancel')
174
109
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
175
110
  variant: "primary",
176
111
  onClick: async () => {
177
112
  setIsBusy(true);
178
- if (onActionStart) {
179
- onActionStart(items);
180
- }
181
113
  const promiseResult = await Promise.allSettled(items.map(item => deleteEntityRecord('postType', item.type, item.id, {}, {
182
114
  throwOnError: true
183
115
  })));
@@ -188,13 +120,10 @@ const trashPostAction = {
188
120
  let successMessage;
189
121
  if (promiseResult.length === 1) {
190
122
  successMessage = (0, _i18n.sprintf)( /* translators: The item's title. */
191
- (0, _i18n.__)('"%s" moved to trash.'), getItemTitle(items[0]));
192
- } else if (items[0].type === 'page') {
193
- successMessage = (0, _i18n.sprintf)( /* translators: The number of items. */
194
- (0, _i18n.__)('%s items moved to trash.'), items.length);
123
+ (0, _i18n.__)('"%s" moved to trash.'), (0, _utils.getItemTitle)(items[0]));
195
124
  } else {
196
- successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
197
- (0, _i18n.__)('%s items move to trash.'), items.length);
125
+ successMessage = (0, _i18n.sprintf)( /* translators: The number of items. */
126
+ (0, _i18n._n)('%s item moved to trash.', '%s items moved to trash.', items.length), items.length);
198
127
  }
199
128
  createSuccessNotice(successMessage, {
200
129
  type: 'snackbar',
@@ -243,183 +172,201 @@ const trashPostAction = {
243
172
  },
244
173
  isBusy: isBusy,
245
174
  disabled: isBusy,
246
- __experimentalIsFocusable: true,
175
+ accessibleWhenDisabled: true,
247
176
  children: (0, _i18n.__)('Trash')
248
177
  })]
249
178
  })]
250
179
  });
251
180
  }
252
181
  };
253
- function usePermanentlyDeletePostAction() {
254
- const {
255
- createSuccessNotice,
256
- createErrorNotice
257
- } = (0, _data.useDispatch)(_notices.store);
258
- const {
259
- deleteEntityRecord
260
- } = (0, _data.useDispatch)(_coreData.store);
182
+ function useCanUserEligibilityCheckPostType(capability, resource, action) {
183
+ const registry = (0, _data.useRegistry)();
261
184
  return (0, _element.useMemo)(() => ({
262
- id: 'permanently-delete',
263
- label: (0, _i18n.__)('Permanently delete'),
264
- supportsBulk: true,
265
- isEligible({
185
+ ...action,
186
+ isEligible(item) {
187
+ return action.isEligible(item) && registry.select(_coreData.store).canUser(capability, resource, item.id);
188
+ }
189
+ }), [action, registry, capability, resource]);
190
+ }
191
+ function useTrashPostAction(resource) {
192
+ return useCanUserEligibilityCheckPostType('delete', resource, trashPostAction);
193
+ }
194
+ const permanentlyDeletePostAction = {
195
+ id: 'permanently-delete',
196
+ label: (0, _i18n.__)('Permanently delete'),
197
+ supportsBulk: true,
198
+ isEligible({
199
+ status
200
+ }) {
201
+ return status === 'trash';
202
+ },
203
+ async callback(posts, {
204
+ registry,
205
+ onActionPerformed
206
+ }) {
207
+ const {
208
+ createSuccessNotice,
209
+ createErrorNotice
210
+ } = registry.dispatch(_notices.store);
211
+ const {
212
+ deleteEntityRecord
213
+ } = registry.dispatch(_coreData.store);
214
+ const promiseResult = await Promise.allSettled(posts.map(post => {
215
+ return deleteEntityRecord('postType', post.type, post.id, {
216
+ force: true
217
+ }, {
218
+ throwOnError: true
219
+ });
220
+ }));
221
+ // If all the promises were fulfilled with success.
222
+ if (promiseResult.every(({
266
223
  status
267
- }) {
268
- return status === 'trash';
269
- },
270
- async callback(posts, onActionPerformed) {
271
- const promiseResult = await Promise.allSettled(posts.map(post => {
272
- return deleteEntityRecord('postType', post.type, post.id, {
273
- force: true
274
- }, {
275
- throwOnError: true
276
- });
277
- }));
278
- // If all the promises were fulfilled with success.
279
- if (promiseResult.every(({
280
- status
281
- }) => status === 'fulfilled')) {
282
- let successMessage;
283
- if (promiseResult.length === 1) {
284
- successMessage = (0, _i18n.sprintf)( /* translators: The posts's title. */
285
- (0, _i18n.__)('"%s" permanently deleted.'), getItemTitle(posts[0]));
224
+ }) => status === 'fulfilled')) {
225
+ let successMessage;
226
+ if (promiseResult.length === 1) {
227
+ successMessage = (0, _i18n.sprintf)( /* translators: The posts's title. */
228
+ (0, _i18n.__)('"%s" permanently deleted.'), (0, _utils.getItemTitle)(posts[0]));
229
+ } else {
230
+ successMessage = (0, _i18n.__)('The posts were permanently deleted.');
231
+ }
232
+ createSuccessNotice(successMessage, {
233
+ type: 'snackbar',
234
+ id: 'permanently-delete-post-action'
235
+ });
236
+ onActionPerformed?.(posts);
237
+ } else {
238
+ // If there was at lease one failure.
239
+ let errorMessage;
240
+ // If we were trying to permanently delete a single post.
241
+ if (promiseResult.length === 1) {
242
+ if (promiseResult[0].reason?.message) {
243
+ errorMessage = promiseResult[0].reason.message;
286
244
  } else {
287
- successMessage = (0, _i18n.__)('The posts were permanently deleted.');
288
- }
289
- createSuccessNotice(successMessage, {
290
- type: 'snackbar',
291
- id: 'permanently-delete-post-action'
292
- });
293
- if (onActionPerformed) {
294
- onActionPerformed(posts);
245
+ errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the post.');
295
246
  }
247
+ // If we were trying to permanently delete multiple posts
296
248
  } else {
297
- // If there was at lease one failure.
298
- let errorMessage;
299
- // If we were trying to permanently delete a single post.
300
- if (promiseResult.length === 1) {
301
- if (promiseResult[0].reason?.message) {
302
- errorMessage = promiseResult[0].reason.message;
303
- } else {
304
- errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the post.');
249
+ const errorMessages = new Set();
250
+ const failedPromises = promiseResult.filter(({
251
+ status
252
+ }) => status === 'rejected');
253
+ for (const failedPromise of failedPromises) {
254
+ if (failedPromise.reason?.message) {
255
+ errorMessages.add(failedPromise.reason.message);
305
256
  }
306
- // If we were trying to permanently delete multiple posts
257
+ }
258
+ if (errorMessages.size === 0) {
259
+ errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the posts.');
260
+ } else if (errorMessages.size === 1) {
261
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
262
+ (0, _i18n.__)('An error occurred while permanently deleting the posts: %s'), [...errorMessages][0]);
307
263
  } else {
308
- const errorMessages = new Set();
309
- const failedPromises = promiseResult.filter(({
310
- status
311
- }) => status === 'rejected');
312
- for (const failedPromise of failedPromises) {
313
- if (failedPromise.reason?.message) {
314
- errorMessages.add(failedPromise.reason.message);
315
- }
316
- }
317
- if (errorMessages.size === 0) {
318
- errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the posts.');
319
- } else if (errorMessages.size === 1) {
320
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
321
- (0, _i18n.__)('An error occurred while permanently deleting the posts: %s'), [...errorMessages][0]);
322
- } else {
323
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
324
- (0, _i18n.__)('Some errors occurred while permanently deleting the posts: %s'), [...errorMessages].join(','));
325
- }
264
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
265
+ (0, _i18n.__)('Some errors occurred while permanently deleting the posts: %s'), [...errorMessages].join(','));
326
266
  }
327
- createErrorNotice(errorMessage, {
328
- type: 'snackbar'
329
- });
330
267
  }
268
+ createErrorNotice(errorMessage, {
269
+ type: 'snackbar'
270
+ });
331
271
  }
332
- }), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
272
+ }
273
+ };
274
+ function usePermanentlyDeletePostAction(resource) {
275
+ return useCanUserEligibilityCheckPostType('delete', resource, permanentlyDeletePostAction);
333
276
  }
334
- function useRestorePostAction() {
335
- const {
336
- createSuccessNotice,
337
- createErrorNotice
338
- } = (0, _data.useDispatch)(_notices.store);
339
- const {
340
- editEntityRecord,
341
- saveEditedEntityRecord
342
- } = (0, _data.useDispatch)(_coreData.store);
343
- return (0, _element.useMemo)(() => ({
344
- id: 'restore',
345
- label: (0, _i18n.__)('Restore'),
346
- isPrimary: true,
347
- icon: _icons.backup,
348
- supportsBulk: true,
349
- isEligible({
277
+ const restorePostAction = {
278
+ id: 'restore',
279
+ label: (0, _i18n.__)('Restore'),
280
+ isPrimary: true,
281
+ icon: _icons.backup,
282
+ supportsBulk: true,
283
+ isEligible({
284
+ status
285
+ }) {
286
+ return status === 'trash';
287
+ },
288
+ async callback(posts, {
289
+ registry,
290
+ onActionPerformed
291
+ }) {
292
+ const {
293
+ createSuccessNotice,
294
+ createErrorNotice
295
+ } = registry.dispatch(_notices.store);
296
+ const {
297
+ editEntityRecord,
298
+ saveEditedEntityRecord
299
+ } = registry.dispatch(_coreData.store);
300
+ await Promise.allSettled(posts.map(post => {
301
+ return editEntityRecord('postType', post.type, post.id, {
302
+ status: 'draft'
303
+ });
304
+ }));
305
+ const promiseResult = await Promise.allSettled(posts.map(post => {
306
+ return saveEditedEntityRecord('postType', post.type, post.id, {
307
+ throwOnError: true
308
+ });
309
+ }));
310
+ if (promiseResult.every(({
350
311
  status
351
- }) {
352
- return status === 'trash';
353
- },
354
- async callback(posts, onActionPerformed) {
355
- await Promise.allSettled(posts.map(post => {
356
- return editEntityRecord('postType', post.type, post.id, {
357
- status: 'draft'
358
- });
359
- }));
360
- const promiseResult = await Promise.allSettled(posts.map(post => {
361
- return saveEditedEntityRecord('postType', post.type, post.id, {
362
- throwOnError: true
363
- });
364
- }));
365
- if (promiseResult.every(({
366
- status
367
- }) => status === 'fulfilled')) {
368
- let successMessage;
369
- if (posts.length === 1) {
370
- successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
371
- (0, _i18n.__)('"%s" has been restored.'), getItemTitle(posts[0]));
372
- } else if (posts[0].type === 'page') {
373
- successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
374
- (0, _i18n.__)('%d pages have been restored.'), posts.length);
312
+ }) => status === 'fulfilled')) {
313
+ let successMessage;
314
+ if (posts.length === 1) {
315
+ successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
316
+ (0, _i18n.__)('"%s" has been restored.'), (0, _utils.getItemTitle)(posts[0]));
317
+ } else if (posts[0].type === 'page') {
318
+ successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
319
+ (0, _i18n.__)('%d pages have been restored.'), posts.length);
320
+ } else {
321
+ successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
322
+ (0, _i18n.__)('%d posts have been restored.'), posts.length);
323
+ }
324
+ createSuccessNotice(successMessage, {
325
+ type: 'snackbar',
326
+ id: 'restore-post-action'
327
+ });
328
+ if (onActionPerformed) {
329
+ onActionPerformed(posts);
330
+ }
331
+ } else {
332
+ // If there was at lease one failure.
333
+ let errorMessage;
334
+ // If we were trying to move a single post to the trash.
335
+ if (promiseResult.length === 1) {
336
+ if (promiseResult[0].reason?.message) {
337
+ errorMessage = promiseResult[0].reason.message;
375
338
  } else {
376
- successMessage = (0, _i18n.sprintf)( /* translators: The number of posts. */
377
- (0, _i18n.__)('%d posts have been restored.'), posts.length);
378
- }
379
- createSuccessNotice(successMessage, {
380
- type: 'snackbar',
381
- id: 'restore-post-action'
382
- });
383
- if (onActionPerformed) {
384
- onActionPerformed(posts);
339
+ errorMessage = (0, _i18n.__)('An error occurred while restoring the post.');
385
340
  }
341
+ // If we were trying to move multiple posts to the trash
386
342
  } else {
387
- // If there was at lease one failure.
388
- let errorMessage;
389
- // If we were trying to move a single post to the trash.
390
- if (promiseResult.length === 1) {
391
- if (promiseResult[0].reason?.message) {
392
- errorMessage = promiseResult[0].reason.message;
393
- } else {
394
- errorMessage = (0, _i18n.__)('An error occurred while restoring the post.');
343
+ const errorMessages = new Set();
344
+ const failedPromises = promiseResult.filter(({
345
+ status
346
+ }) => status === 'rejected');
347
+ for (const failedPromise of failedPromises) {
348
+ if (failedPromise.reason?.message) {
349
+ errorMessages.add(failedPromise.reason.message);
395
350
  }
396
- // If we were trying to move multiple posts to the trash
351
+ }
352
+ if (errorMessages.size === 0) {
353
+ errorMessage = (0, _i18n.__)('An error occurred while restoring the posts.');
354
+ } else if (errorMessages.size === 1) {
355
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
356
+ (0, _i18n.__)('An error occurred while restoring the posts: %s'), [...errorMessages][0]);
397
357
  } else {
398
- const errorMessages = new Set();
399
- const failedPromises = promiseResult.filter(({
400
- status
401
- }) => status === 'rejected');
402
- for (const failedPromise of failedPromises) {
403
- if (failedPromise.reason?.message) {
404
- errorMessages.add(failedPromise.reason.message);
405
- }
406
- }
407
- if (errorMessages.size === 0) {
408
- errorMessage = (0, _i18n.__)('An error occurred while restoring the posts.');
409
- } else if (errorMessages.size === 1) {
410
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
411
- (0, _i18n.__)('An error occurred while restoring the posts: %s'), [...errorMessages][0]);
412
- } else {
413
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
414
- (0, _i18n.__)('Some errors occurred while restoring the posts: %s'), [...errorMessages].join(','));
415
- }
358
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
359
+ (0, _i18n.__)('Some errors occurred while restoring the posts: %s'), [...errorMessages].join(','));
416
360
  }
417
- createErrorNotice(errorMessage, {
418
- type: 'snackbar'
419
- });
420
361
  }
362
+ createErrorNotice(errorMessage, {
363
+ type: 'snackbar'
364
+ });
421
365
  }
422
- }), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
366
+ }
367
+ };
368
+ function useRestorePostAction(resource) {
369
+ return useCanUserEligibilityCheckPostType('update', resource, restorePostAction);
423
370
  }
424
371
  const viewPostAction = {
425
372
  id: 'view-post',
@@ -429,7 +376,9 @@ const viewPostAction = {
429
376
  isEligible(post) {
430
377
  return post.status !== 'trash';
431
378
  },
432
- callback(posts, onActionPerformed) {
379
+ callback(posts, {
380
+ onActionPerformed
381
+ }) {
433
382
  const post = posts[0];
434
383
  window.open(post.link, '_blank');
435
384
  if (onActionPerformed) {
@@ -439,6 +388,7 @@ const viewPostAction = {
439
388
  };
440
389
  const postRevisionsAction = {
441
390
  id: 'view-post-revisions',
391
+ context: 'list',
442
392
  label(items) {
443
393
  var _items$0$_links$versi;
444
394
  const revisionsCount = (_items$0$_links$versi = items[0]._links?.['version-history']?.[0]?.count) !== null && _items$0$_links$versi !== void 0 ? _items$0$_links$versi : 0;
@@ -454,7 +404,9 @@ const postRevisionsAction = {
454
404
  const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
455
405
  return lastRevisionId && revisionsCount > 1;
456
406
  },
457
- callback(posts, onActionPerformed) {
407
+ callback(posts, {
408
+ onActionPerformed
409
+ }) {
458
410
  const post = posts[0];
459
411
  const href = (0, _url.addQueryArgs)('revision.php', {
460
412
  revision: post?._links?.['predecessor-version']?.[0]?.id
@@ -486,8 +438,8 @@ const renamePostAction = {
486
438
  // In patterns list page we map the templates parts to a different object
487
439
  // than the one returned from the endpoint. This is why we need to check for
488
440
  // two props whether is custom or has a theme file.
489
- const isCustomPattern = isUserPattern || isTemplatePart && (post.isCustom || post.source === _constants.TEMPLATE_ORIGINS.custom);
490
- const hasThemeFile = isTemplatePart && (post.templatePart?.has_theme_file || post.has_theme_file);
441
+ const isCustomPattern = isUserPattern || isTemplatePart && post.source === _constants.TEMPLATE_ORIGINS.custom;
442
+ const hasThemeFile = post?.has_theme_file;
491
443
  return isCustomPattern && !hasThemeFile;
492
444
  },
493
445
  RenderModal: ({
@@ -496,8 +448,7 @@ const renamePostAction = {
496
448
  onActionPerformed
497
449
  }) => {
498
450
  const [item] = items;
499
- const originalTitle = (0, _htmlEntities.decodeEntities)(typeof item.title === 'string' ? item.title : item.title.rendered);
500
- const [title, setTitle] = (0, _element.useState)(() => originalTitle);
451
+ const [title, setTitle] = (0, _element.useState)(() => (0, _utils.getItemTitle)(item));
501
452
  const {
502
453
  editEntityRecord,
503
454
  saveEditedEntityRecord
@@ -561,42 +512,57 @@ const renamePostAction = {
561
512
  });
562
513
  }
563
514
  };
564
- const duplicatePostAction = {
565
- id: 'duplicate-post',
566
- label: (0, _i18n._x)('Duplicate', 'action label'),
567
- isEligible({
568
- status
569
- }) {
570
- return status !== 'trash';
571
- },
572
- RenderModal: ({
573
- items,
574
- closeModal,
575
- onActionPerformed
576
- }) => {
577
- const [item] = items;
578
- const [isCreatingPage, setIsCreatingPage] = (0, _element.useState)(false);
579
- const [title, setTitle] = (0, _element.useState)((0, _i18n.sprintf)( /* translators: %s: Existing item title */
580
- (0, _i18n.__)('%s (Copy)'), getItemTitle(item)));
581
- const {
582
- saveEntityRecord
583
- } = (0, _data.useDispatch)(_coreData.store);
515
+ function useRenamePostAction(resource) {
516
+ return useCanUserEligibilityCheckPostType('update', resource, renamePostAction);
517
+ }
518
+ const useDuplicatePostAction = postType => {
519
+ const {
520
+ userCanCreatePost
521
+ } = (0, _data.useSelect)(select => {
584
522
  const {
585
- createSuccessNotice,
586
- createErrorNotice
587
- } = (0, _data.useDispatch)(_notices.store);
588
- async function createPage(event) {
589
- event.preventDefault();
590
- if (isCreatingPage) {
591
- return;
592
- }
593
- setIsCreatingPage(true);
594
- try {
595
- const newItem = await saveEntityRecord('postType', item.type, {
523
+ getPostType,
524
+ canUser
525
+ } = select(_coreData.store);
526
+ const resource = getPostType(postType)?.rest_base || '';
527
+ return {
528
+ userCanCreatePost: canUser('create', resource)
529
+ };
530
+ }, [postType]);
531
+ return (0, _element.useMemo)(() => userCanCreatePost && {
532
+ id: 'duplicate-post',
533
+ label: (0, _i18n._x)('Duplicate', 'action label'),
534
+ isEligible({
535
+ status
536
+ }) {
537
+ return status !== 'trash';
538
+ },
539
+ RenderModal: ({
540
+ items,
541
+ closeModal,
542
+ onActionPerformed
543
+ }) => {
544
+ const [item, setItem] = (0, _element.useState)({
545
+ ...items[0],
546
+ title: (0, _i18n.sprintf)( /* translators: %s: Existing template title */
547
+ (0, _i18n.__)('%s (Copy)'), (0, _utils.getItemTitle)(items[0]))
548
+ });
549
+ const [isCreatingPage, setIsCreatingPage] = (0, _element.useState)(false);
550
+ const {
551
+ saveEntityRecord
552
+ } = (0, _data.useDispatch)(_coreData.store);
553
+ const {
554
+ createSuccessNotice,
555
+ createErrorNotice
556
+ } = (0, _data.useDispatch)(_notices.store);
557
+ async function createPage(event) {
558
+ event.preventDefault();
559
+ if (isCreatingPage) {
560
+ return;
561
+ }
562
+ const newItemOject = {
596
563
  status: 'draft',
597
- title,
598
- slug: title || (0, _i18n.__)('No title'),
599
- author: item.author,
564
+ title: item.title,
565
+ slug: item.title || (0, _i18n.__)('No title'),
600
566
  comment_status: item.comment_status,
601
567
  content: typeof item.content === 'string' ? item.content : item.content.raw,
602
568
  excerpt: item.excerpt.raw,
@@ -607,158 +573,71 @@ const duplicatePostAction = {
607
573
  format: item.format,
608
574
  featured_media: item.featured_media,
609
575
  menu_order: item.menu_order,
610
- ping_status: item.ping_status,
611
- categories: item.categories,
612
- tags: item.tags
613
- }, {
614
- throwOnError: true
615
- });
616
- createSuccessNotice((0, _i18n.sprintf)(
617
- // translators: %s: Title of the created template e.g: "Category".
618
- (0, _i18n.__)('"%s" successfully created.'), (0, _htmlEntities.decodeEntities)(newItem.title?.rendered || title)), {
619
- id: 'duplicate-post-action',
620
- type: 'snackbar'
621
- });
622
- if (onActionPerformed) {
623
- onActionPerformed([newItem]);
624
- }
625
- } catch (error) {
626
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while duplicating the page.');
627
- createErrorNotice(errorMessage, {
628
- type: 'snackbar'
576
+ ping_status: item.ping_status
577
+ };
578
+ const assignablePropertiesPrefix = 'wp:action-assign-';
579
+ // Get all the properties that the current user is able to assign normally author, categories, tags,
580
+ // and custom taxonomies.
581
+ const assignableProperties = Object.keys(item?._links || {}).filter(property => property.startsWith(assignablePropertiesPrefix)).map(property => property.slice(assignablePropertiesPrefix.length));
582
+ assignableProperties.forEach(property => {
583
+ if (item[property]) {
584
+ newItemOject[property] = item[property];
585
+ }
629
586
  });
630
- } finally {
631
- setIsCreatingPage(false);
632
- closeModal();
633
- }
634
- }
635
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
636
- onSubmit: createPage,
637
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
638
- spacing: 3,
639
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
640
- label: (0, _i18n.__)('Title'),
641
- onChange: setTitle,
642
- placeholder: (0, _i18n.__)('No title'),
643
- value: title
644
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
645
- spacing: 2,
646
- justify: "end",
647
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
648
- variant: "tertiary",
649
- onClick: closeModal,
650
- children: (0, _i18n.__)('Cancel')
651
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
652
- variant: "primary",
653
- type: "submit",
654
- isBusy: isCreatingPage,
655
- "aria-disabled": isCreatingPage,
656
- children: (0, _i18n._x)('Duplicate', 'action label')
657
- })]
658
- })]
659
- })
660
- });
661
- }
662
- };
663
- const isTemplatePartRevertable = item => {
664
- if (!item) {
665
- return false;
666
- }
667
- const hasThemeFile = item.templatePart?.has_theme_file;
668
- return canDeleteOrReset(item) && hasThemeFile;
669
- };
670
- const resetTemplateAction = {
671
- id: 'reset-template',
672
- label: (0, _i18n.__)('Reset'),
673
- isEligible: item => {
674
- return item.type === _constants.TEMPLATE_PART_POST_TYPE ? isTemplatePartRevertable(item) : (0, _isTemplateRevertable.default)(item);
675
- },
676
- icon: _icons.backup,
677
- supportsBulk: true,
678
- hideModalHeader: true,
679
- RenderModal: ({
680
- items,
681
- closeModal,
682
- onActionStart,
683
- onActionPerformed
684
- }) => {
685
- const [isBusy, setIsBusy] = (0, _element.useState)(false);
686
- const {
687
- revertTemplate,
688
- removeTemplates
689
- } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
690
- const {
691
- saveEditedEntityRecord
692
- } = (0, _data.useDispatch)(_coreData.store);
693
- const {
694
- createSuccessNotice,
695
- createErrorNotice
696
- } = (0, _data.useDispatch)(_notices.store);
697
- const onConfirm = async () => {
698
- try {
699
- if (items[0].type === _constants.TEMPLATE_PART_POST_TYPE) {
700
- await removeTemplates(items);
701
- } else {
702
- for (const template of items) {
703
- if (template.type === _constants.TEMPLATE_POST_TYPE) {
704
- await revertTemplate(template, {
705
- allowUndo: false
706
- });
707
- await saveEditedEntityRecord('postType', template.type, template.id);
708
- }
587
+ setIsCreatingPage(true);
588
+ try {
589
+ const newItem = await saveEntityRecord('postType', item.type, newItemOject, {
590
+ throwOnError: true
591
+ });
592
+ createSuccessNotice((0, _i18n.sprintf)(
593
+ // translators: %s: Title of the created template e.g: "Category".
594
+ (0, _i18n.__)('"%s" successfully created.'), (0, _htmlEntities.decodeEntities)(newItem.title?.rendered || item.title)), {
595
+ id: 'duplicate-post-action',
596
+ type: 'snackbar'
597
+ });
598
+ if (onActionPerformed) {
599
+ onActionPerformed([newItem]);
709
600
  }
710
- createSuccessNotice(items.length > 1 ? (0, _i18n.sprintf)( /* translators: The number of items. */
711
- (0, _i18n.__)('%s items reset.'), items.length) : (0, _i18n.sprintf)( /* translators: The template/part's name. */
712
- (0, _i18n.__)('"%s" reset.'), (0, _htmlEntities.decodeEntities)(getItemTitle(items[0]))), {
713
- type: 'snackbar',
714
- id: 'revert-template-action'
601
+ } catch (error) {
602
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while duplicating the page.');
603
+ createErrorNotice(errorMessage, {
604
+ type: 'snackbar'
715
605
  });
606
+ } finally {
607
+ setIsCreatingPage(false);
608
+ closeModal();
716
609
  }
717
- } catch (error) {
718
- let fallbackErrorMessage;
719
- if (items[0].type === _constants.TEMPLATE_POST_TYPE) {
720
- fallbackErrorMessage = items.length === 1 ? (0, _i18n.__)('An error occurred while reverting the template.') : (0, _i18n.__)('An error occurred while reverting the templates.');
721
- } else {
722
- fallbackErrorMessage = items.length === 1 ? (0, _i18n.__)('An error occurred while reverting the template part.') : (0, _i18n.__)('An error occurred while reverting the template parts.');
723
- }
724
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
725
- createErrorNotice(errorMessage, {
726
- type: 'snackbar'
727
- });
728
610
  }
729
- };
730
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
731
- spacing: "5",
732
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
733
- children: (0, _i18n.__)('Reset to default and clear all customizations?')
734
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
735
- justify: "right",
736
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
737
- variant: "tertiary",
738
- onClick: closeModal,
739
- disabled: isBusy,
740
- __experimentalIsFocusable: true,
741
- children: (0, _i18n.__)('Cancel')
742
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
743
- variant: "primary",
744
- onClick: async () => {
745
- setIsBusy(true);
746
- if (onActionStart) {
747
- onActionStart(items);
748
- }
749
- await onConfirm(items);
750
- onActionPerformed?.(items);
751
- setIsBusy(false);
752
- closeModal();
753
- },
754
- isBusy: isBusy,
755
- disabled: isBusy,
756
- __experimentalIsFocusable: true,
757
- children: (0, _i18n.__)('Reset')
758
- })]
759
- })]
760
- });
761
- }
611
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
612
+ onSubmit: createPage,
613
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
614
+ spacing: 3,
615
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
616
+ data: item,
617
+ fields: fields,
618
+ form: form,
619
+ onChange: setItem
620
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
621
+ spacing: 2,
622
+ justify: "end",
623
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
624
+ variant: "tertiary",
625
+ onClick: closeModal,
626
+ __next40pxDefaultSize: true,
627
+ children: (0, _i18n.__)('Cancel')
628
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
629
+ variant: "primary",
630
+ type: "submit",
631
+ isBusy: isCreatingPage,
632
+ "aria-disabled": isCreatingPage,
633
+ __next40pxDefaultSize: true,
634
+ children: (0, _i18n._x)('Duplicate', 'action label')
635
+ })]
636
+ })]
637
+ })
638
+ });
639
+ }
640
+ }, [userCanCreatePost]);
762
641
  };
763
642
  const duplicatePatternAction = exports.duplicatePatternAction = {
764
643
  id: 'duplicate-pattern',
@@ -770,9 +649,8 @@ const duplicatePatternAction = exports.duplicatePatternAction = {
770
649
  closeModal
771
650
  }) => {
772
651
  const [item] = items;
773
- const isThemePattern = item.type === PATTERN_TYPES.theme;
774
652
  const duplicatedProps = useDuplicatePatternProps({
775
- pattern: isThemePattern || !item.patternPost ? item : item.patternPost,
653
+ pattern: item,
776
654
  onSuccess: () => closeModal()
777
655
  });
778
656
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(CreatePatternModalContents, {
@@ -792,47 +670,70 @@ const duplicateTemplatePartAction = exports.duplicateTemplatePartAction = {
792
670
  closeModal
793
671
  }) => {
794
672
  const [item] = items;
673
+ const blocks = (0, _element.useMemo)(() => {
674
+ var _item$blocks;
675
+ return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : (0, _blocks.parse)(item.content.raw, {
676
+ __unstableSkipMigrationLogs: true
677
+ });
678
+ }, [item?.content?.raw, item.blocks]);
795
679
  const {
796
680
  createSuccessNotice
797
681
  } = (0, _data.useDispatch)(_notices.store);
798
682
  function onTemplatePartSuccess() {
799
683
  createSuccessNotice((0, _i18n.sprintf)(
800
684
  // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
801
- (0, _i18n.__)('"%s" duplicated.'), item.title), {
685
+ (0, _i18n.__)('"%s" duplicated.'), (0, _utils.getItemTitle)(item)), {
802
686
  type: 'snackbar',
803
687
  id: 'edit-site-patterns-success'
804
688
  });
805
689
  closeModal();
806
690
  }
807
691
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_createTemplatePartModal.CreateTemplatePartModalContents, {
808
- blocks: item.blocks,
809
- defaultArea: item.templatePart?.area || item.area,
692
+ blocks: blocks,
693
+ defaultArea: item.area,
810
694
  defaultTitle: (0, _i18n.sprintf)( /* translators: %s: Existing template part title */
811
- (0, _i18n.__)('%s (Copy)'), item.title),
695
+ (0, _i18n.__)('%s (Copy)'), (0, _utils.getItemTitle)(item)),
812
696
  onCreate: onTemplatePartSuccess,
813
697
  onError: closeModal,
814
698
  confirmLabel: (0, _i18n._x)('Duplicate', 'action label')
815
699
  });
816
700
  }
817
701
  };
818
- function usePostActions(postType, onActionPerformed) {
702
+ function usePostActions({
703
+ postType,
704
+ onActionPerformed,
705
+ context
706
+ }) {
819
707
  const {
820
708
  defaultActions,
821
- postTypeObject
709
+ postTypeObject,
710
+ userCanCreatePostType,
711
+ resource,
712
+ cachedCanUserResolvers
822
713
  } = (0, _data.useSelect)(select => {
823
714
  const {
824
- getPostType
715
+ getPostType,
716
+ canUser,
717
+ getCachedResolvers
825
718
  } = select(_coreData.store);
826
719
  const {
827
720
  getEntityActions
828
721
  } = (0, _lockUnlock.unlock)(select(_store.store));
722
+ const _postTypeObject = getPostType(postType);
723
+ const _resource = _postTypeObject?.rest_base || '';
829
724
  return {
830
- postTypeObject: getPostType(postType),
831
- defaultActions: getEntityActions('postType', postType)
725
+ postTypeObject: _postTypeObject,
726
+ defaultActions: getEntityActions('postType', postType),
727
+ userCanCreatePostType: canUser('create', _resource),
728
+ resource: _resource,
729
+ cachedCanUserResolvers: getCachedResolvers()?.canUser
832
730
  };
833
731
  }, [postType]);
834
- const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
835
- const restorePostAction = useRestorePostAction();
732
+ const duplicatePostAction = useDuplicatePostAction(postType);
733
+ const trashPostActionForPostType = useTrashPostAction(resource);
734
+ const permanentlyDeletePostActionForPostType = usePermanentlyDeletePostAction(resource);
735
+ const renamePostActionForPostType = useRenamePostAction(resource);
736
+ const restorePostActionForPostType = useRestorePostAction(resource);
836
737
  const isTemplateOrTemplatePart = [_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE].includes(postType);
837
738
  const isPattern = postType === _constants.PATTERN_POST_TYPE;
838
739
  const isLoaded = !!postTypeObject;
@@ -842,19 +743,34 @@ function usePostActions(postType, onActionPerformed) {
842
743
  if (!isLoaded) {
843
744
  return [];
844
745
  }
845
- const actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && duplicateTemplatePartAction, isPattern && duplicatePatternAction, supportsTitle && renamePostAction, isPattern && _exportPatternAction.exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostAction, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostAction, !isTemplateOrTemplatePart && permanentlyDeletePostAction, ...defaultActions].filter(Boolean);
746
+ let actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && userCanCreatePostType && duplicateTemplatePartAction, isPattern && userCanCreatePostType && duplicatePatternAction, supportsTitle && renamePostActionForPostType, !isTemplateOrTemplatePart && restorePostActionForPostType, !isTemplateOrTemplatePart && !isPattern && trashPostActionForPostType, !isTemplateOrTemplatePart && permanentlyDeletePostActionForPostType, ...defaultActions].filter(Boolean);
747
+ // Filter actions based on provided context. If not provided
748
+ // all actions are returned. We'll have a single entry for getting the actions
749
+ // and the consumer should provide the context to filter the actions, if needed.
750
+ // Actions should also provide the `context` they support, if it's specific, to
751
+ // compare with the provided context to get all the actions.
752
+ // Right now the only supported context is `list`.
753
+ actions = actions.filter(action => {
754
+ if (!action.context) {
755
+ return true;
756
+ }
757
+ return action.context === context;
758
+ });
846
759
  if (onActionPerformed) {
847
760
  for (let i = 0; i < actions.length; ++i) {
848
761
  if (actions[i].callback) {
849
762
  const existingCallback = actions[i].callback;
850
763
  actions[i] = {
851
764
  ...actions[i],
852
- callback: (items, _onActionPerformed) => {
853
- existingCallback(items, _items => {
854
- if (_onActionPerformed) {
855
- _onActionPerformed(_items);
765
+ callback: (items, argsObject) => {
766
+ existingCallback(items, {
767
+ ...argsObject,
768
+ onActionPerformed: _items => {
769
+ if (argsObject.onActionPerformed) {
770
+ argsObject.onActionPerformed(_items);
771
+ }
772
+ onActionPerformed(actions[i].id, _items);
856
773
  }
857
- onActionPerformed(actions[i].id, _items);
858
774
  });
859
775
  }
860
776
  };
@@ -879,6 +795,9 @@ function usePostActions(postType, onActionPerformed) {
879
795
  }
880
796
  }
881
797
  return actions;
882
- }, [defaultActions, isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostAction, restorePostAction, onActionPerformed, isLoaded, supportsRevisions, supportsTitle]);
798
+ // We are making this use memo depend on cachedCanUserResolvers as a way to make the component using this hook re-render
799
+ // when user capabilities are resolved. This makes sure the isEligible functions of actions dependent on capabilities are re-evaluated.
800
+ // eslint-disable-next-line react-hooks/exhaustive-deps
801
+ }, [defaultActions, userCanCreatePostType, isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, duplicatePostAction, trashPostActionForPostType, restorePostActionForPostType, renamePostActionForPostType, permanentlyDeletePostActionForPostType, onActionPerformed, isLoaded, supportsRevisions, supportsTitle, context, cachedCanUserResolvers]);
883
802
  }
884
803
  //# sourceMappingURL=actions.js.map