@wordpress/editor 14.12.0 → 14.13.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 (742) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +120 -99
  3. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -1
  4. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  5. package/build/components/collab-sidebar/add-comment.js +17 -65
  6. package/build/components/collab-sidebar/add-comment.js.map +1 -1
  7. package/build/components/collab-sidebar/comment-author-info.js +76 -0
  8. package/build/components/collab-sidebar/comment-author-info.js.map +1 -0
  9. package/build/components/collab-sidebar/comment-button-toolbar.js +2 -2
  10. package/build/components/collab-sidebar/comment-button-toolbar.js.map +1 -1
  11. package/build/components/collab-sidebar/comment-button.js +2 -2
  12. package/build/components/collab-sidebar/comment-button.js.map +1 -1
  13. package/build/components/collab-sidebar/comment-form.js +64 -0
  14. package/build/components/collab-sidebar/comment-form.js.map +1 -0
  15. package/build/components/collab-sidebar/comments.js +33 -91
  16. package/build/components/collab-sidebar/comments.js.map +1 -1
  17. package/build/components/create-template-part-modal/index.js +1 -2
  18. package/build/components/create-template-part-modal/index.js.map +1 -1
  19. package/build/components/document-bar/index.js +10 -3
  20. package/build/components/document-bar/index.js.map +1 -1
  21. package/build/components/document-outline/check.js +4 -4
  22. package/build/components/document-outline/check.js.map +1 -1
  23. package/build/components/document-outline/index.js +8 -8
  24. package/build/components/document-outline/index.js.map +1 -1
  25. package/build/components/document-tools/index.js +1 -1
  26. package/build/components/document-tools/index.js.map +1 -1
  27. package/build/components/editor-history/redo.js +1 -1
  28. package/build/components/editor-history/redo.js.map +1 -1
  29. package/build/components/editor-history/undo.js +1 -1
  30. package/build/components/editor-history/undo.js.map +1 -1
  31. package/build/components/editor-interface/content-slot-fill.js +1 -10
  32. package/build/components/editor-interface/content-slot-fill.js.map +1 -1
  33. package/build/components/editor-interface/index.js +3 -9
  34. package/build/components/editor-interface/index.js.map +1 -1
  35. package/build/components/editor-notices/index.js +1 -1
  36. package/build/components/editor-notices/index.js.map +1 -1
  37. package/build/components/editor-snackbars/index.js +1 -1
  38. package/build/components/editor-snackbars/index.js.map +1 -1
  39. package/build/components/entities-saved-states/entity-record-item.js +9 -1
  40. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  41. package/build/components/entities-saved-states/index.js +2 -2
  42. package/build/components/entities-saved-states/index.js.map +1 -1
  43. package/build/components/page-attributes/check.js +3 -3
  44. package/build/components/page-attributes/check.js.map +1 -1
  45. package/build/components/page-attributes/order.js +1 -1
  46. package/build/components/page-attributes/order.js.map +1 -1
  47. package/build/components/page-attributes/panel.js +1 -1
  48. package/build/components/page-attributes/panel.js.map +1 -1
  49. package/build/components/page-attributes/parent.js +1 -1
  50. package/build/components/page-attributes/parent.js.map +1 -1
  51. package/build/components/plugin-document-setting-panel/index.js +2 -2
  52. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  53. package/build/components/plugin-more-menu-item/index.js +2 -1
  54. package/build/components/plugin-more-menu-item/index.js.map +1 -1
  55. package/build/components/plugin-post-publish-panel/index.js +2 -2
  56. package/build/components/plugin-post-publish-panel/index.js.map +1 -1
  57. package/build/components/plugin-post-status-info/index.js +4 -4
  58. package/build/components/plugin-post-status-info/index.js.map +1 -1
  59. package/build/components/plugin-pre-publish-panel/index.js +2 -2
  60. package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
  61. package/build/components/plugin-preview-menu-item/index.js +2 -1
  62. package/build/components/plugin-preview-menu-item/index.js.map +1 -1
  63. package/build/components/plugin-sidebar/index.js +1 -0
  64. package/build/components/plugin-sidebar/index.js.map +1 -1
  65. package/build/components/plugin-sidebar-more-menu-item/index.js +2 -1
  66. package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
  67. package/build/components/post-actions/actions.js +3 -3
  68. package/build/components/post-actions/actions.js.map +1 -1
  69. package/build/components/post-author/check.js +3 -3
  70. package/build/components/post-author/check.js.map +1 -1
  71. package/build/components/post-author/index.js +1 -1
  72. package/build/components/post-author/index.js.map +1 -1
  73. package/build/components/post-author/panel.js +1 -1
  74. package/build/components/post-author/panel.js.map +1 -1
  75. package/build/components/post-card-panel/index.js +9 -4
  76. package/build/components/post-card-panel/index.js.map +1 -1
  77. package/build/components/post-comments/index.js +1 -1
  78. package/build/components/post-comments/index.js.map +1 -1
  79. package/build/components/post-discussion/panel.js +1 -1
  80. package/build/components/post-discussion/panel.js.map +1 -1
  81. package/build/components/post-excerpt/check.js +3 -3
  82. package/build/components/post-excerpt/check.js.map +1 -1
  83. package/build/components/post-excerpt/panel.js +1 -1
  84. package/build/components/post-excerpt/panel.js.map +1 -1
  85. package/build/components/post-excerpt/plugin.js +4 -4
  86. package/build/components/post-excerpt/plugin.js.map +1 -1
  87. package/build/components/post-featured-image/check.js +3 -3
  88. package/build/components/post-featured-image/check.js.map +1 -1
  89. package/build/components/post-featured-image/index.js +39 -9
  90. package/build/components/post-featured-image/index.js.map +1 -1
  91. package/build/components/post-featured-image/panel.js +1 -1
  92. package/build/components/post-featured-image/panel.js.map +1 -1
  93. package/build/components/post-fields/index.js +70 -0
  94. package/build/components/post-fields/index.js.map +1 -0
  95. package/build/components/post-format/check.js +9 -12
  96. package/build/components/post-format/check.js.map +1 -1
  97. package/build/components/post-format/index.js +1 -1
  98. package/build/components/post-format/index.js.map +1 -1
  99. package/build/components/post-format/panel.js +1 -1
  100. package/build/components/post-format/panel.js.map +1 -1
  101. package/build/components/post-last-revision/check.js +3 -3
  102. package/build/components/post-last-revision/check.js.map +1 -1
  103. package/build/components/post-last-revision/index.js +1 -1
  104. package/build/components/post-last-revision/index.js.map +1 -1
  105. package/build/components/post-last-revision/panel.js +1 -1
  106. package/build/components/post-last-revision/panel.js.map +1 -1
  107. package/build/components/post-locked-modal/index.js +1 -1
  108. package/build/components/post-locked-modal/index.js.map +1 -1
  109. package/build/components/post-pending-status/check.js +3 -3
  110. package/build/components/post-pending-status/check.js.map +1 -1
  111. package/build/components/post-pending-status/index.js +1 -1
  112. package/build/components/post-pending-status/index.js.map +1 -1
  113. package/build/components/post-preview-button/index.js +1 -1
  114. package/build/components/post-preview-button/index.js.map +1 -1
  115. package/build/components/post-publish-panel/index.js +5 -2
  116. package/build/components/post-publish-panel/index.js.map +1 -1
  117. package/build/components/post-schedule/check.js +3 -3
  118. package/build/components/post-schedule/check.js.map +1 -1
  119. package/build/components/post-schedule/index.js +1 -1
  120. package/build/components/post-schedule/index.js.map +1 -1
  121. package/build/components/post-schedule/label.js +1 -1
  122. package/build/components/post-schedule/label.js.map +1 -1
  123. package/build/components/post-schedule/panel.js +1 -1
  124. package/build/components/post-schedule/panel.js.map +1 -1
  125. package/build/components/post-slug/check.js +3 -3
  126. package/build/components/post-slug/check.js.map +1 -1
  127. package/build/components/post-slug/index.js +1 -1
  128. package/build/components/post-slug/index.js.map +1 -1
  129. package/build/components/post-sticky/check.js +3 -3
  130. package/build/components/post-sticky/check.js.map +1 -1
  131. package/build/components/post-sticky/index.js +1 -1
  132. package/build/components/post-sticky/index.js.map +1 -1
  133. package/build/components/post-switch-to-draft-button/index.js +1 -1
  134. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  135. package/build/components/post-sync-status/index.js +1 -1
  136. package/build/components/post-sync-status/index.js.map +1 -1
  137. package/build/components/post-taxonomies/check.js +3 -3
  138. package/build/components/post-taxonomies/check.js.map +1 -1
  139. package/build/components/post-taxonomies/flat-term-selector.js +1 -1
  140. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  141. package/build/components/post-taxonomies/panel.js +16 -13
  142. package/build/components/post-taxonomies/panel.js.map +1 -1
  143. package/build/components/post-template/classic-theme.js +2 -2
  144. package/build/components/post-template/classic-theme.js.map +1 -1
  145. package/build/components/post-template/panel.js +1 -1
  146. package/build/components/post-template/panel.js.map +1 -1
  147. package/build/components/post-text-editor/index.js +1 -1
  148. package/build/components/post-text-editor/index.js.map +1 -1
  149. package/build/components/post-title/index.js +20 -18
  150. package/build/components/post-title/index.js.map +1 -1
  151. package/build/components/post-title/post-title-raw.js +1 -1
  152. package/build/components/post-title/post-title-raw.js.map +1 -1
  153. package/build/components/post-trash/check.js +3 -3
  154. package/build/components/post-trash/check.js.map +1 -1
  155. package/build/components/post-trash/index.js +1 -1
  156. package/build/components/post-trash/index.js.map +1 -1
  157. package/build/components/post-type-support-check/index.js +6 -6
  158. package/build/components/post-type-support-check/index.js.map +1 -1
  159. package/build/components/post-url/check.js +3 -3
  160. package/build/components/post-url/check.js.map +1 -1
  161. package/build/components/post-url/index.js +1 -1
  162. package/build/components/post-url/index.js.map +1 -1
  163. package/build/components/post-url/label.js +1 -1
  164. package/build/components/post-url/label.js.map +1 -1
  165. package/build/components/post-url/panel.js +1 -1
  166. package/build/components/post-url/panel.js.map +1 -1
  167. package/build/components/post-visibility/check.js +1 -1
  168. package/build/components/post-visibility/check.js.map +1 -1
  169. package/build/components/post-visibility/index.js +1 -1
  170. package/build/components/post-visibility/index.js.map +1 -1
  171. package/build/components/preferences-modal/block-visibility.js +87 -0
  172. package/build/components/preferences-modal/block-visibility.js.map +1 -0
  173. package/build/components/preferences-modal/enable-panel.js +27 -19
  174. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  175. package/build/components/preferences-modal/enable-publish-sidebar.js +13 -10
  176. package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -1
  177. package/build/components/preferences-modal/index.js +2 -2
  178. package/build/components/preferences-modal/index.js.map +1 -1
  179. package/build/components/provider/index.js +14 -8
  180. package/build/components/provider/index.js.map +1 -1
  181. package/build/components/table-of-contents/index.js +1 -1
  182. package/build/components/table-of-contents/index.js.map +1 -1
  183. package/build/components/theme-support-check/index.js +4 -4
  184. package/build/components/theme-support-check/index.js.map +1 -1
  185. package/build/components/time-to-read/index.js +1 -1
  186. package/build/components/time-to-read/index.js.map +1 -1
  187. package/build/components/unsaved-changes-warning/index.js +1 -1
  188. package/build/components/unsaved-changes-warning/index.js.map +1 -1
  189. package/build/components/word-count/index.js +1 -1
  190. package/build/components/word-count/index.js.map +1 -1
  191. package/build/components/zoom-out-toggle/index.js +8 -3
  192. package/build/components/zoom-out-toggle/index.js.map +1 -1
  193. package/build/dataviews/api.js +41 -0
  194. package/build/dataviews/api.js.map +1 -1
  195. package/build/dataviews/store/private-actions.js +26 -4
  196. package/build/dataviews/store/private-actions.js.map +1 -1
  197. package/build/dataviews/store/private-selectors.js +5 -0
  198. package/build/dataviews/store/private-selectors.js.map +1 -1
  199. package/build/dataviews/store/reducer.js +23 -0
  200. package/build/dataviews/store/reducer.js.map +1 -1
  201. package/build/private-apis.js +4 -0
  202. package/build/private-apis.js.map +1 -1
  203. package/build/store/actions.js +11 -9
  204. package/build/store/actions.js.map +1 -1
  205. package/build/store/private-selectors.js +5 -1
  206. package/build/store/private-selectors.js.map +1 -1
  207. package/build/store/reducer.native.js +1 -0
  208. package/build/store/reducer.native.js.map +1 -1
  209. package/build/store/selectors.js +34 -42
  210. package/build/store/selectors.js.map +1 -1
  211. package/build/utils/get-template-info.js +60 -0
  212. package/build/utils/get-template-info.js.map +1 -0
  213. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -1
  214. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  215. package/build-module/components/collab-sidebar/add-comment.js +18 -67
  216. package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
  217. package/build-module/components/collab-sidebar/comment-author-info.js +71 -0
  218. package/build-module/components/collab-sidebar/comment-author-info.js.map +1 -0
  219. package/build-module/components/collab-sidebar/comment-button-toolbar.js +2 -2
  220. package/build-module/components/collab-sidebar/comment-button-toolbar.js.map +1 -1
  221. package/build-module/components/collab-sidebar/comment-button.js +2 -2
  222. package/build-module/components/collab-sidebar/comment-button.js.map +1 -1
  223. package/build-module/components/collab-sidebar/comment-form.js +59 -0
  224. package/build-module/components/collab-sidebar/comment-form.js.map +1 -0
  225. package/build-module/components/collab-sidebar/comments.js +33 -91
  226. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  227. package/build-module/components/create-template-part-modal/index.js +1 -2
  228. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  229. package/build-module/components/document-bar/index.js +10 -3
  230. package/build-module/components/document-bar/index.js.map +1 -1
  231. package/build-module/components/document-outline/check.js +4 -4
  232. package/build-module/components/document-outline/check.js.map +1 -1
  233. package/build-module/components/document-outline/index.js +8 -8
  234. package/build-module/components/document-outline/index.js.map +1 -1
  235. package/build-module/components/document-tools/index.js +1 -1
  236. package/build-module/components/document-tools/index.js.map +1 -1
  237. package/build-module/components/editor-history/redo.js +1 -1
  238. package/build-module/components/editor-history/redo.js.map +1 -1
  239. package/build-module/components/editor-history/undo.js +1 -1
  240. package/build-module/components/editor-history/undo.js.map +1 -1
  241. package/build-module/components/editor-interface/content-slot-fill.js +2 -11
  242. package/build-module/components/editor-interface/content-slot-fill.js.map +1 -1
  243. package/build-module/components/editor-interface/index.js +4 -10
  244. package/build-module/components/editor-interface/index.js.map +1 -1
  245. package/build-module/components/editor-notices/index.js +1 -1
  246. package/build-module/components/editor-notices/index.js.map +1 -1
  247. package/build-module/components/editor-snackbars/index.js +1 -1
  248. package/build-module/components/editor-snackbars/index.js.map +1 -1
  249. package/build-module/components/entities-saved-states/entity-record-item.js +9 -1
  250. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  251. package/build-module/components/entities-saved-states/index.js +2 -2
  252. package/build-module/components/entities-saved-states/index.js.map +1 -1
  253. package/build-module/components/page-attributes/check.js +3 -3
  254. package/build-module/components/page-attributes/check.js.map +1 -1
  255. package/build-module/components/page-attributes/order.js +1 -1
  256. package/build-module/components/page-attributes/order.js.map +1 -1
  257. package/build-module/components/page-attributes/panel.js +1 -1
  258. package/build-module/components/page-attributes/panel.js.map +1 -1
  259. package/build-module/components/page-attributes/parent.js +1 -1
  260. package/build-module/components/page-attributes/parent.js.map +1 -1
  261. package/build-module/components/plugin-document-setting-panel/index.js +2 -2
  262. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  263. package/build-module/components/plugin-more-menu-item/index.js +2 -1
  264. package/build-module/components/plugin-more-menu-item/index.js.map +1 -1
  265. package/build-module/components/plugin-post-publish-panel/index.js +2 -2
  266. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
  267. package/build-module/components/plugin-post-status-info/index.js +4 -4
  268. package/build-module/components/plugin-post-status-info/index.js.map +1 -1
  269. package/build-module/components/plugin-pre-publish-panel/index.js +2 -2
  270. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
  271. package/build-module/components/plugin-preview-menu-item/index.js +2 -1
  272. package/build-module/components/plugin-preview-menu-item/index.js.map +1 -1
  273. package/build-module/components/plugin-sidebar/index.js +1 -0
  274. package/build-module/components/plugin-sidebar/index.js.map +1 -1
  275. package/build-module/components/plugin-sidebar-more-menu-item/index.js +2 -1
  276. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -1
  277. package/build-module/components/post-actions/actions.js +3 -3
  278. package/build-module/components/post-actions/actions.js.map +1 -1
  279. package/build-module/components/post-author/check.js +3 -3
  280. package/build-module/components/post-author/check.js.map +1 -1
  281. package/build-module/components/post-author/index.js +1 -1
  282. package/build-module/components/post-author/index.js.map +1 -1
  283. package/build-module/components/post-author/panel.js +1 -1
  284. package/build-module/components/post-author/panel.js.map +1 -1
  285. package/build-module/components/post-card-panel/index.js +9 -4
  286. package/build-module/components/post-card-panel/index.js.map +1 -1
  287. package/build-module/components/post-comments/index.js +1 -1
  288. package/build-module/components/post-comments/index.js.map +1 -1
  289. package/build-module/components/post-discussion/panel.js +1 -1
  290. package/build-module/components/post-discussion/panel.js.map +1 -1
  291. package/build-module/components/post-excerpt/check.js +3 -3
  292. package/build-module/components/post-excerpt/check.js.map +1 -1
  293. package/build-module/components/post-excerpt/panel.js +1 -1
  294. package/build-module/components/post-excerpt/panel.js.map +1 -1
  295. package/build-module/components/post-excerpt/plugin.js +4 -4
  296. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  297. package/build-module/components/post-featured-image/check.js +3 -3
  298. package/build-module/components/post-featured-image/check.js.map +1 -1
  299. package/build-module/components/post-featured-image/index.js +40 -10
  300. package/build-module/components/post-featured-image/index.js.map +1 -1
  301. package/build-module/components/post-featured-image/panel.js +1 -1
  302. package/build-module/components/post-featured-image/panel.js.map +1 -1
  303. package/build-module/components/post-fields/index.js +62 -0
  304. package/build-module/components/post-fields/index.js.map +1 -0
  305. package/build-module/components/post-format/check.js +10 -11
  306. package/build-module/components/post-format/check.js.map +1 -1
  307. package/build-module/components/post-format/index.js +1 -1
  308. package/build-module/components/post-format/index.js.map +1 -1
  309. package/build-module/components/post-format/panel.js +1 -1
  310. package/build-module/components/post-format/panel.js.map +1 -1
  311. package/build-module/components/post-last-revision/check.js +3 -3
  312. package/build-module/components/post-last-revision/check.js.map +1 -1
  313. package/build-module/components/post-last-revision/index.js +1 -1
  314. package/build-module/components/post-last-revision/index.js.map +1 -1
  315. package/build-module/components/post-last-revision/panel.js +1 -1
  316. package/build-module/components/post-last-revision/panel.js.map +1 -1
  317. package/build-module/components/post-locked-modal/index.js +1 -1
  318. package/build-module/components/post-locked-modal/index.js.map +1 -1
  319. package/build-module/components/post-pending-status/check.js +3 -3
  320. package/build-module/components/post-pending-status/check.js.map +1 -1
  321. package/build-module/components/post-pending-status/index.js +1 -1
  322. package/build-module/components/post-pending-status/index.js.map +1 -1
  323. package/build-module/components/post-preview-button/index.js +1 -1
  324. package/build-module/components/post-preview-button/index.js.map +1 -1
  325. package/build-module/components/post-publish-panel/index.js +5 -2
  326. package/build-module/components/post-publish-panel/index.js.map +1 -1
  327. package/build-module/components/post-schedule/check.js +3 -3
  328. package/build-module/components/post-schedule/check.js.map +1 -1
  329. package/build-module/components/post-schedule/index.js +1 -1
  330. package/build-module/components/post-schedule/index.js.map +1 -1
  331. package/build-module/components/post-schedule/label.js +1 -1
  332. package/build-module/components/post-schedule/label.js.map +1 -1
  333. package/build-module/components/post-schedule/panel.js +1 -1
  334. package/build-module/components/post-schedule/panel.js.map +1 -1
  335. package/build-module/components/post-slug/check.js +3 -3
  336. package/build-module/components/post-slug/check.js.map +1 -1
  337. package/build-module/components/post-slug/index.js +1 -1
  338. package/build-module/components/post-slug/index.js.map +1 -1
  339. package/build-module/components/post-sticky/check.js +3 -3
  340. package/build-module/components/post-sticky/check.js.map +1 -1
  341. package/build-module/components/post-sticky/index.js +1 -1
  342. package/build-module/components/post-sticky/index.js.map +1 -1
  343. package/build-module/components/post-switch-to-draft-button/index.js +1 -1
  344. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  345. package/build-module/components/post-sync-status/index.js +1 -1
  346. package/build-module/components/post-sync-status/index.js.map +1 -1
  347. package/build-module/components/post-taxonomies/check.js +3 -3
  348. package/build-module/components/post-taxonomies/check.js.map +1 -1
  349. package/build-module/components/post-taxonomies/flat-term-selector.js +1 -1
  350. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  351. package/build-module/components/post-taxonomies/panel.js +17 -12
  352. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  353. package/build-module/components/post-template/classic-theme.js +2 -2
  354. package/build-module/components/post-template/classic-theme.js.map +1 -1
  355. package/build-module/components/post-template/panel.js +1 -1
  356. package/build-module/components/post-template/panel.js.map +1 -1
  357. package/build-module/components/post-text-editor/index.js +1 -1
  358. package/build-module/components/post-text-editor/index.js.map +1 -1
  359. package/build-module/components/post-title/index.js +20 -18
  360. package/build-module/components/post-title/index.js.map +1 -1
  361. package/build-module/components/post-title/post-title-raw.js +1 -1
  362. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  363. package/build-module/components/post-trash/check.js +3 -3
  364. package/build-module/components/post-trash/check.js.map +1 -1
  365. package/build-module/components/post-trash/index.js +1 -1
  366. package/build-module/components/post-trash/index.js.map +1 -1
  367. package/build-module/components/post-type-support-check/index.js +6 -6
  368. package/build-module/components/post-type-support-check/index.js.map +1 -1
  369. package/build-module/components/post-url/check.js +3 -3
  370. package/build-module/components/post-url/check.js.map +1 -1
  371. package/build-module/components/post-url/index.js +1 -1
  372. package/build-module/components/post-url/index.js.map +1 -1
  373. package/build-module/components/post-url/label.js +1 -1
  374. package/build-module/components/post-url/label.js.map +1 -1
  375. package/build-module/components/post-url/panel.js +1 -1
  376. package/build-module/components/post-url/panel.js.map +1 -1
  377. package/build-module/components/post-visibility/check.js +1 -1
  378. package/build-module/components/post-visibility/check.js.map +1 -1
  379. package/build-module/components/post-visibility/index.js +1 -1
  380. package/build-module/components/post-visibility/index.js.map +1 -1
  381. package/build-module/components/preferences-modal/block-visibility.js +80 -0
  382. package/build-module/components/preferences-modal/block-visibility.js.map +1 -0
  383. package/build-module/components/preferences-modal/enable-panel.js +27 -19
  384. package/build-module/components/preferences-modal/enable-panel.js.map +1 -1
  385. package/build-module/components/preferences-modal/enable-publish-sidebar.js +13 -10
  386. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +1 -1
  387. package/build-module/components/preferences-modal/index.js +2 -2
  388. package/build-module/components/preferences-modal/index.js.map +1 -1
  389. package/build-module/components/provider/index.js +14 -8
  390. package/build-module/components/provider/index.js.map +1 -1
  391. package/build-module/components/table-of-contents/index.js +1 -1
  392. package/build-module/components/table-of-contents/index.js.map +1 -1
  393. package/build-module/components/theme-support-check/index.js +4 -4
  394. package/build-module/components/theme-support-check/index.js.map +1 -1
  395. package/build-module/components/time-to-read/index.js +1 -1
  396. package/build-module/components/time-to-read/index.js.map +1 -1
  397. package/build-module/components/unsaved-changes-warning/index.js +1 -1
  398. package/build-module/components/unsaved-changes-warning/index.js.map +1 -1
  399. package/build-module/components/word-count/index.js +1 -1
  400. package/build-module/components/word-count/index.js.map +1 -1
  401. package/build-module/components/zoom-out-toggle/index.js +8 -3
  402. package/build-module/components/zoom-out-toggle/index.js.map +1 -1
  403. package/build-module/dataviews/api.js +39 -0
  404. package/build-module/dataviews/api.js.map +1 -1
  405. package/build-module/dataviews/store/private-actions.js +23 -3
  406. package/build-module/dataviews/store/private-actions.js.map +1 -1
  407. package/build-module/dataviews/store/private-selectors.js +4 -0
  408. package/build-module/dataviews/store/private-selectors.js.map +1 -1
  409. package/build-module/dataviews/store/reducer.js +23 -0
  410. package/build-module/dataviews/store/reducer.js.map +1 -1
  411. package/build-module/private-apis.js +4 -0
  412. package/build-module/private-apis.js.map +1 -1
  413. package/build-module/store/actions.js +11 -9
  414. package/build-module/store/actions.js.map +1 -1
  415. package/build-module/store/private-selectors.js +6 -3
  416. package/build-module/store/private-selectors.js.map +1 -1
  417. package/build-module/store/reducer.native.js +2 -1
  418. package/build-module/store/reducer.native.js.map +1 -1
  419. package/build-module/store/selectors.js +33 -39
  420. package/build-module/store/selectors.js.map +1 -1
  421. package/build-module/utils/get-template-info.js +51 -0
  422. package/build-module/utils/get-template-info.js.map +1 -0
  423. package/build-style/style-rtl.css +11 -81
  424. package/build-style/style.css +11 -81
  425. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts +2 -2
  426. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -1
  427. package/build-types/components/collab-sidebar/add-comment.d.ts +2 -2
  428. package/build-types/components/collab-sidebar/add-comment.d.ts.map +1 -1
  429. package/build-types/components/collab-sidebar/comment-author-info.d.ts +17 -0
  430. package/build-types/components/collab-sidebar/comment-author-info.d.ts.map +1 -0
  431. package/build-types/components/collab-sidebar/comment-form.d.ts +18 -0
  432. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -0
  433. package/build-types/components/collab-sidebar/comments.d.ts +2 -2
  434. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  435. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  436. package/build-types/components/document-bar/index.d.ts +2 -2
  437. package/build-types/components/document-bar/index.d.ts.map +1 -1
  438. package/build-types/components/document-outline/check.d.ts +5 -5
  439. package/build-types/components/document-outline/check.d.ts.map +1 -1
  440. package/build-types/components/document-outline/index.d.ts +4 -6
  441. package/build-types/components/document-outline/index.d.ts.map +1 -1
  442. package/build-types/components/document-tools/index.d.ts.map +1 -1
  443. package/build-types/components/editor-interface/content-slot-fill.d.ts +12 -1
  444. package/build-types/components/editor-interface/content-slot-fill.d.ts.map +1 -1
  445. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  446. package/build-types/components/editor-notices/index.d.ts +2 -2
  447. package/build-types/components/editor-notices/index.d.ts.map +1 -1
  448. package/build-types/components/editor-snackbars/index.d.ts +2 -2
  449. package/build-types/components/editor-snackbars/index.d.ts.map +1 -1
  450. package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -1
  451. package/build-types/components/entities-saved-states/index.d.ts +4 -4
  452. package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
  453. package/build-types/components/header/back-button.d.ts.map +1 -1
  454. package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -1
  455. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
  456. package/build-types/components/page-attributes/check.d.ts +5 -5
  457. package/build-types/components/page-attributes/check.d.ts.map +1 -1
  458. package/build-types/components/page-attributes/order.d.ts +2 -2
  459. package/build-types/components/page-attributes/order.d.ts.map +1 -1
  460. package/build-types/components/page-attributes/panel.d.ts +2 -2
  461. package/build-types/components/page-attributes/panel.d.ts.map +1 -1
  462. package/build-types/components/page-attributes/parent.d.ts +2 -2
  463. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  464. package/build-types/components/plugin-document-setting-panel/index.d.ts +4 -4
  465. package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -1
  466. package/build-types/components/plugin-more-menu-item/index.d.ts +4 -2
  467. package/build-types/components/plugin-more-menu-item/index.d.ts.map +1 -1
  468. package/build-types/components/plugin-post-publish-panel/index.d.ts +4 -4
  469. package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -1
  470. package/build-types/components/plugin-post-status-info/index.d.ts +6 -6
  471. package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -1
  472. package/build-types/components/plugin-pre-publish-panel/index.d.ts +4 -4
  473. package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -1
  474. package/build-types/components/plugin-preview-menu-item/index.d.ts +4 -2
  475. package/build-types/components/plugin-preview-menu-item/index.d.ts.map +1 -1
  476. package/build-types/components/plugin-sidebar/index.d.ts +2 -0
  477. package/build-types/components/plugin-sidebar/index.d.ts.map +1 -1
  478. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts +4 -2
  479. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -1
  480. package/build-types/components/post-author/check.d.ts +5 -5
  481. package/build-types/components/post-author/check.d.ts.map +1 -1
  482. package/build-types/components/post-author/index.d.ts +2 -2
  483. package/build-types/components/post-author/index.d.ts.map +1 -1
  484. package/build-types/components/post-author/panel.d.ts +2 -2
  485. package/build-types/components/post-author/panel.d.ts.map +1 -1
  486. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  487. package/build-types/components/post-discussion/panel.d.ts +2 -2
  488. package/build-types/components/post-discussion/panel.d.ts.map +1 -1
  489. package/build-types/components/post-excerpt/check.d.ts +5 -5
  490. package/build-types/components/post-excerpt/check.d.ts.map +1 -1
  491. package/build-types/components/post-excerpt/panel.d.ts +2 -2
  492. package/build-types/components/post-excerpt/panel.d.ts.map +1 -1
  493. package/build-types/components/post-excerpt/plugin.d.ts +6 -6
  494. package/build-types/components/post-excerpt/plugin.d.ts.map +1 -1
  495. package/build-types/components/post-featured-image/check.d.ts +5 -5
  496. package/build-types/components/post-featured-image/check.d.ts.map +1 -1
  497. package/build-types/components/post-featured-image/panel.d.ts +2 -2
  498. package/build-types/components/post-featured-image/panel.d.ts.map +1 -1
  499. package/build-types/components/post-fields/index.d.ts +12 -0
  500. package/build-types/components/post-fields/index.d.ts.map +1 -0
  501. package/build-types/components/post-format/check.d.ts +11 -4
  502. package/build-types/components/post-format/check.d.ts.map +1 -1
  503. package/build-types/components/post-format/index.d.ts +2 -2
  504. package/build-types/components/post-format/index.d.ts.map +1 -1
  505. package/build-types/components/post-format/panel.d.ts +2 -2
  506. package/build-types/components/post-format/panel.d.ts.map +1 -1
  507. package/build-types/components/post-last-revision/check.d.ts +5 -5
  508. package/build-types/components/post-last-revision/check.d.ts.map +1 -1
  509. package/build-types/components/post-last-revision/index.d.ts +2 -2
  510. package/build-types/components/post-last-revision/index.d.ts.map +1 -1
  511. package/build-types/components/post-last-revision/panel.d.ts +2 -2
  512. package/build-types/components/post-last-revision/panel.d.ts.map +1 -1
  513. package/build-types/components/post-locked-modal/index.d.ts +2 -2
  514. package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
  515. package/build-types/components/post-pending-status/check.d.ts +5 -5
  516. package/build-types/components/post-pending-status/check.d.ts.map +1 -1
  517. package/build-types/components/post-pending-status/index.d.ts +2 -2
  518. package/build-types/components/post-pending-status/index.d.ts.map +1 -1
  519. package/build-types/components/post-preview-button/index.d.ts +2 -2
  520. package/build-types/components/post-preview-button/index.d.ts.map +1 -1
  521. package/build-types/components/post-publish-panel/index.d.ts.map +1 -1
  522. package/build-types/components/post-schedule/check.d.ts +5 -5
  523. package/build-types/components/post-schedule/check.d.ts.map +1 -1
  524. package/build-types/components/post-schedule/index.d.ts +2 -2
  525. package/build-types/components/post-schedule/index.d.ts.map +1 -1
  526. package/build-types/components/post-schedule/label.d.ts +2 -2
  527. package/build-types/components/post-schedule/label.d.ts.map +1 -1
  528. package/build-types/components/post-schedule/panel.d.ts +2 -2
  529. package/build-types/components/post-schedule/panel.d.ts.map +1 -1
  530. package/build-types/components/post-slug/check.d.ts +5 -5
  531. package/build-types/components/post-slug/check.d.ts.map +1 -1
  532. package/build-types/components/post-slug/index.d.ts +2 -2
  533. package/build-types/components/post-slug/index.d.ts.map +1 -1
  534. package/build-types/components/post-sticky/check.d.ts +5 -5
  535. package/build-types/components/post-sticky/check.d.ts.map +1 -1
  536. package/build-types/components/post-sticky/index.d.ts +2 -2
  537. package/build-types/components/post-sticky/index.d.ts.map +1 -1
  538. package/build-types/components/post-switch-to-draft-button/index.d.ts +2 -2
  539. package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -1
  540. package/build-types/components/post-sync-status/index.d.ts +2 -2
  541. package/build-types/components/post-sync-status/index.d.ts.map +1 -1
  542. package/build-types/components/post-taxonomies/check.d.ts +5 -5
  543. package/build-types/components/post-taxonomies/check.d.ts.map +1 -1
  544. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +2 -2
  545. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  546. package/build-types/components/post-taxonomies/panel.d.ts +6 -2
  547. package/build-types/components/post-taxonomies/panel.d.ts.map +1 -1
  548. package/build-types/components/post-template/panel.d.ts +2 -2
  549. package/build-types/components/post-template/panel.d.ts.map +1 -1
  550. package/build-types/components/post-text-editor/index.d.ts +2 -2
  551. package/build-types/components/post-text-editor/index.d.ts.map +1 -1
  552. package/build-types/components/post-title/index.d.ts +1 -1
  553. package/build-types/components/post-trash/check.d.ts +5 -5
  554. package/build-types/components/post-trash/check.d.ts.map +1 -1
  555. package/build-types/components/post-trash/index.d.ts +2 -2
  556. package/build-types/components/post-trash/index.d.ts.map +1 -1
  557. package/build-types/components/post-type-support-check/index.d.ts +8 -8
  558. package/build-types/components/post-type-support-check/index.d.ts.map +1 -1
  559. package/build-types/components/post-url/check.d.ts +5 -5
  560. package/build-types/components/post-url/check.d.ts.map +1 -1
  561. package/build-types/components/post-url/index.d.ts +2 -2
  562. package/build-types/components/post-url/index.d.ts.map +1 -1
  563. package/build-types/components/post-url/label.d.ts +2 -2
  564. package/build-types/components/post-url/label.d.ts.map +1 -1
  565. package/build-types/components/post-url/panel.d.ts +2 -2
  566. package/build-types/components/post-url/panel.d.ts.map +1 -1
  567. package/build-types/components/post-visibility/check.d.ts +2 -2
  568. package/build-types/components/post-visibility/check.d.ts.map +1 -1
  569. package/build-types/components/post-visibility/index.d.ts +2 -2
  570. package/build-types/components/post-visibility/index.d.ts.map +1 -1
  571. package/build-types/components/preferences-modal/block-visibility.d.ts +2 -0
  572. package/build-types/components/preferences-modal/block-visibility.d.ts.map +1 -0
  573. package/build-types/components/preferences-modal/enable-panel.d.ts +1 -2
  574. package/build-types/components/preferences-modal/enable-panel.d.ts.map +1 -1
  575. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -1
  576. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts +1 -2
  577. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts.map +1 -1
  578. package/build-types/components/provider/index.d.ts +2 -2
  579. package/build-types/components/provider/index.d.ts.map +1 -1
  580. package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
  581. package/build-types/components/theme-support-check/index.d.ts +6 -6
  582. package/build-types/components/theme-support-check/index.d.ts.map +1 -1
  583. package/build-types/components/time-to-read/index.d.ts +2 -2
  584. package/build-types/components/time-to-read/index.d.ts.map +1 -1
  585. package/build-types/components/unsaved-changes-warning/index.d.ts +2 -2
  586. package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -1
  587. package/build-types/components/word-count/index.d.ts +2 -2
  588. package/build-types/components/word-count/index.d.ts.map +1 -1
  589. package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -1
  590. package/build-types/dataviews/api.d.ts +24 -0
  591. package/build-types/dataviews/api.d.ts.map +1 -1
  592. package/build-types/dataviews/store/private-actions.d.ts +14 -2
  593. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  594. package/build-types/dataviews/store/private-selectors.d.ts +1 -0
  595. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
  596. package/build-types/dataviews/store/reducer.d.ts +10 -2
  597. package/build-types/dataviews/store/reducer.d.ts.map +1 -1
  598. package/build-types/private-apis.d.ts.map +1 -1
  599. package/build-types/store/actions.d.ts +7 -5
  600. package/build-types/store/actions.d.ts.map +1 -1
  601. package/build-types/store/private-selectors.d.ts +1 -0
  602. package/build-types/store/private-selectors.d.ts.map +1 -1
  603. package/build-types/store/reducer.d.ts +5 -0
  604. package/build-types/store/reducer.d.ts.map +1 -1
  605. package/build-types/store/selectors.d.ts +4 -11
  606. package/build-types/store/selectors.d.ts.map +1 -1
  607. package/build-types/utils/get-template-info.d.ts +6 -0
  608. package/build-types/utils/get-template-info.d.ts.map +1 -0
  609. package/package.json +2 -2
  610. package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -1
  611. package/src/components/collab-sidebar/add-comment.js +21 -78
  612. package/src/components/collab-sidebar/comment-author-info.js +68 -0
  613. package/src/components/collab-sidebar/comment-button-toolbar.js +3 -3
  614. package/src/components/collab-sidebar/comment-button.js +3 -3
  615. package/src/components/collab-sidebar/comment-form.js +62 -0
  616. package/src/components/collab-sidebar/comments.js +39 -101
  617. package/src/components/create-template-part-modal/index.js +3 -2
  618. package/src/components/document-bar/index.js +12 -3
  619. package/src/components/document-outline/check.js +4 -4
  620. package/src/components/document-outline/index.js +9 -9
  621. package/src/components/document-tools/index.js +3 -2
  622. package/src/components/editor-history/redo.js +1 -1
  623. package/src/components/editor-history/undo.js +1 -1
  624. package/src/components/editor-interface/content-slot-fill.js +4 -9
  625. package/src/components/editor-interface/index.js +1 -11
  626. package/src/components/editor-notices/index.js +1 -1
  627. package/src/components/editor-snackbars/index.js +1 -1
  628. package/src/components/entities-saved-states/entity-record-item.js +12 -4
  629. package/src/components/entities-saved-states/index.js +2 -2
  630. package/src/components/header/style.scss +2 -1
  631. package/src/components/page-attributes/check.js +3 -3
  632. package/src/components/page-attributes/order.js +1 -1
  633. package/src/components/page-attributes/panel.js +1 -1
  634. package/src/components/page-attributes/parent.js +1 -1
  635. package/src/components/plugin-document-setting-panel/index.js +2 -2
  636. package/src/components/plugin-more-menu-item/index.js +2 -1
  637. package/src/components/plugin-post-publish-panel/index.js +2 -2
  638. package/src/components/plugin-post-status-info/index.js +4 -4
  639. package/src/components/plugin-pre-publish-panel/index.js +2 -2
  640. package/src/components/plugin-preview-menu-item/index.js +2 -1
  641. package/src/components/plugin-sidebar/index.js +1 -0
  642. package/src/components/plugin-sidebar-more-menu-item/index.js +2 -2
  643. package/src/components/post-actions/actions.js +3 -3
  644. package/src/components/post-author/check.js +3 -3
  645. package/src/components/post-author/index.js +1 -1
  646. package/src/components/post-author/panel.js +1 -1
  647. package/src/components/post-card-panel/index.js +18 -5
  648. package/src/components/post-comments/index.js +1 -1
  649. package/src/components/post-discussion/panel.js +1 -1
  650. package/src/components/post-excerpt/check.js +3 -3
  651. package/src/components/post-excerpt/panel.js +1 -1
  652. package/src/components/post-excerpt/plugin.js +4 -4
  653. package/src/components/post-featured-image/check.js +3 -3
  654. package/src/components/post-featured-image/index.js +107 -43
  655. package/src/components/post-featured-image/panel.js +1 -1
  656. package/src/components/post-featured-image/style.scss +23 -13
  657. package/src/components/post-fields/index.ts +76 -0
  658. package/src/components/post-format/check.js +9 -11
  659. package/src/components/post-format/index.js +1 -1
  660. package/src/components/post-format/panel.js +1 -1
  661. package/src/components/post-last-revision/check.js +3 -3
  662. package/src/components/post-last-revision/index.js +1 -1
  663. package/src/components/post-last-revision/panel.js +1 -1
  664. package/src/components/post-locked-modal/index.js +1 -1
  665. package/src/components/post-pending-status/check.js +3 -3
  666. package/src/components/post-pending-status/index.js +1 -1
  667. package/src/components/post-preview-button/index.js +1 -1
  668. package/src/components/post-publish-panel/index.js +7 -3
  669. package/src/components/post-schedule/check.js +3 -3
  670. package/src/components/post-schedule/index.js +1 -1
  671. package/src/components/post-schedule/label.js +1 -1
  672. package/src/components/post-schedule/panel.js +1 -1
  673. package/src/components/post-slug/check.js +3 -3
  674. package/src/components/post-slug/index.js +1 -1
  675. package/src/components/post-sticky/check.js +3 -3
  676. package/src/components/post-sticky/index.js +1 -1
  677. package/src/components/post-switch-to-draft-button/index.js +1 -1
  678. package/src/components/post-sync-status/index.js +1 -1
  679. package/src/components/post-taxonomies/check.js +3 -3
  680. package/src/components/post-taxonomies/flat-term-selector.js +1 -1
  681. package/src/components/post-taxonomies/panel.js +15 -12
  682. package/src/components/post-template/classic-theme.js +2 -2
  683. package/src/components/post-template/panel.js +1 -1
  684. package/src/components/post-text-editor/index.js +1 -1
  685. package/src/components/post-title/index.js +20 -18
  686. package/src/components/post-title/post-title-raw.js +1 -1
  687. package/src/components/post-trash/check.js +3 -3
  688. package/src/components/post-trash/index.js +1 -1
  689. package/src/components/post-type-support-check/index.js +6 -6
  690. package/src/components/post-url/check.js +3 -3
  691. package/src/components/post-url/index.js +1 -1
  692. package/src/components/post-url/label.js +1 -1
  693. package/src/components/post-url/panel.js +1 -1
  694. package/src/components/post-visibility/check.js +1 -1
  695. package/src/components/post-visibility/index.js +1 -1
  696. package/src/components/preferences-modal/block-visibility.js +96 -0
  697. package/src/components/preferences-modal/enable-panel.js +27 -17
  698. package/src/components/preferences-modal/enable-publish-sidebar.js +18 -15
  699. package/src/components/preferences-modal/index.js +2 -2
  700. package/src/components/provider/index.js +55 -30
  701. package/src/components/table-of-contents/index.js +1 -1
  702. package/src/components/theme-support-check/index.js +4 -4
  703. package/src/components/time-to-read/index.js +1 -1
  704. package/src/components/unsaved-changes-warning/index.js +1 -1
  705. package/src/components/word-count/index.js +1 -1
  706. package/src/components/zoom-out-toggle/index.js +26 -13
  707. package/src/dataviews/api.js +41 -0
  708. package/src/dataviews/store/private-actions.ts +57 -3
  709. package/src/dataviews/store/private-selectors.ts +4 -0
  710. package/src/dataviews/store/reducer.ts +38 -1
  711. package/src/private-apis.js +4 -1
  712. package/src/store/actions.js +13 -9
  713. package/src/store/private-selectors.js +13 -8
  714. package/src/store/reducer.native.js +2 -0
  715. package/src/store/selectors.js +80 -62
  716. package/src/store/test/selectors.js +0 -255
  717. package/src/style.scss +0 -1
  718. package/src/utils/get-template-info.js +52 -0
  719. package/src/utils/test/get-template-info.js +224 -0
  720. package/tsconfig.tsbuildinfo +1 -1
  721. package/build/components/block-manager/category.js +0 -107
  722. package/build/components/block-manager/category.js.map +0 -1
  723. package/build/components/block-manager/checklist.js +0 -35
  724. package/build/components/block-manager/checklist.js.map +0 -1
  725. package/build/components/block-manager/index.js +0 -115
  726. package/build/components/block-manager/index.js.map +0 -1
  727. package/build-module/components/block-manager/category.js +0 -99
  728. package/build-module/components/block-manager/category.js.map +0 -1
  729. package/build-module/components/block-manager/checklist.js +0 -28
  730. package/build-module/components/block-manager/checklist.js.map +0 -1
  731. package/build-module/components/block-manager/index.js +0 -107
  732. package/build-module/components/block-manager/index.js.map +0 -1
  733. package/build-types/components/block-manager/category.d.ts +0 -6
  734. package/build-types/components/block-manager/category.d.ts.map +0 -1
  735. package/build-types/components/block-manager/checklist.d.ts +0 -7
  736. package/build-types/components/block-manager/checklist.d.ts.map +0 -1
  737. package/build-types/components/block-manager/index.d.ts +0 -2
  738. package/build-types/components/block-manager/index.d.ts.map +0 -1
  739. package/src/components/block-manager/category.js +0 -96
  740. package/src/components/block-manager/checklist.js +0 -30
  741. package/src/components/block-manager/index.js +0 -145
  742. package/src/components/block-manager/style.scss +0 -82
@@ -12,6 +12,7 @@ import { decodeEntities } from '@wordpress/html-entities';
12
12
  */
13
13
  import { store as editorStore } from '../../store';
14
14
  import { unlock } from '../../lock-unlock';
15
+ import { getTemplateInfo } from '../../utils/get-template-info';
15
16
 
16
17
  export default function EntityRecordItem( { record, checked, onChange } ) {
17
18
  const { name, kind, title, key } = record;
@@ -33,11 +34,18 @@ export default function EntityRecordItem( { record, checked, onChange } ) {
33
34
  name,
34
35
  key
35
36
  );
37
+
38
+ const { default_template_types: templateTypes = [] } =
39
+ select( coreStore ).getEntityRecord(
40
+ 'root',
41
+ '__unstableBase'
42
+ ) ?? {};
43
+
36
44
  return {
37
- entityRecordTitle:
38
- select( editorStore ).__experimentalGetTemplateInfo(
39
- template
40
- ).title,
45
+ entityRecordTitle: getTemplateInfo( {
46
+ template,
47
+ templateTypes,
48
+ } ).title,
41
49
  hasPostMetaChanges: unlock(
42
50
  select( editorStore )
43
51
  ).hasPostMetaChanges( name, key ),
@@ -33,7 +33,7 @@ function identity( values ) {
33
33
  * @param {Function} props.close The function to close the dialog.
34
34
  * @param {Function} props.renderDialog The function to render the dialog.
35
35
  *
36
- * @return {JSX.Element} The rendered component.
36
+ * @return {React.ReactNode} The rendered component.
37
37
  */
38
38
  export default function EntitiesSavedStates( {
39
39
  close,
@@ -64,7 +64,7 @@ export default function EntitiesSavedStates( {
64
64
  * @param {Function} props.setUnselectedEntities Function to set unselected entities.
65
65
  * @param {Array} props.unselectedEntities Array of unselected entities.
66
66
  *
67
- * @return {JSX.Element} The rendered component.
67
+ * @return {React.ReactNode} The rendered component.
68
68
  */
69
69
  export function EntitiesSavedStatesExtensible( {
70
70
  additionalPrompt = undefined,
@@ -256,7 +256,8 @@
256
256
 
257
257
  & > .editor-header__toolbar .editor-document-tools__document-overview-toggle,
258
258
  & > .editor-header__settings > .editor-preview-dropdown,
259
- & > .editor-header__settings > .interface-pinned-items {
259
+ & > .editor-header__settings > .interface-pinned-items,
260
+ & > .editor-header__settings > .editor-zoom-out-toggle {
260
261
  display: none;
261
262
  }
262
263
 
@@ -12,10 +12,10 @@ import { store as editorStore } from '../../store';
12
12
  /**
13
13
  * Wrapper component that renders its children only if the post type supports page attributes.
14
14
  *
15
- * @param {Object} props - The component props.
16
- * @param {Element} props.children - The child components to render.
15
+ * @param {Object} props - The component props.
16
+ * @param {React.ReactElement} props.children - The child components to render.
17
17
  *
18
- * @return {Component|null} The rendered child components or null if page attributes are not supported.
18
+ * @return {React.ReactElement} The rendered child components or null if page attributes are not supported.
19
19
  */
20
20
  export function PageAttributesCheck( { children } ) {
21
21
  const supportsPageAttributes = useSelect( ( select ) => {
@@ -59,7 +59,7 @@ function PageAttributesOrder() {
59
59
  * for setting the order of a given page.
60
60
  * The component is now not used in core but was kept for backward compatibility.
61
61
  *
62
- * @return {Component} The component to be rendered.
62
+ * @return {React.ReactNode} The rendered component.
63
63
  */
64
64
  export default function PageAttributesOrderWithChecks() {
65
65
  return (
@@ -33,7 +33,7 @@ function AttributesPanel() {
33
33
  /**
34
34
  * Renders the Page Attributes Panel component.
35
35
  *
36
- * @return {Component} The component to be rendered.
36
+ * @return {React.ReactNode} The rendered component.
37
37
  */
38
38
  export default function PageAttributesPanel() {
39
39
  return (
@@ -56,7 +56,7 @@ export const getItemPriority = ( name, searchValue ) => {
56
56
  * Renders the Page Attributes Parent component. A dropdown menu in an editor interface
57
57
  * for selecting the parent page of a given page.
58
58
  *
59
- * @return {Component|null} The component to be rendered. Return null if post type is not hierarchical.
59
+ * @return {React.ReactNode} The component to be rendered. Return null if post type is not hierarchical.
60
60
  */
61
61
  export function PageAttributesParent() {
62
62
  const { editPost } = useDispatch( editorStore );
@@ -22,7 +22,7 @@ const { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );
22
22
  * @param {string} [props.className] An optional class name added to the row.
23
23
  * @param {string} [props.title] The title of the panel
24
24
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
25
- * @param {Element} props.children Children to be rendered
25
+ * @param {React.ReactNode} props.children Children to be rendered
26
26
  *
27
27
  * @example
28
28
  * ```js
@@ -64,7 +64,7 @@ const { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );
64
64
  * registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } );
65
65
  * ```
66
66
  *
67
- * @return {Component} The component to be rendered.
67
+ * @return {React.ReactNode} The component to be rendered.
68
68
  */
69
69
  const PluginDocumentSettingPanel = ( {
70
70
  name,
@@ -10,6 +10,7 @@ import { ActionItem } from '@wordpress/interface';
10
10
  * The text within the component appears as the menu item label.
11
11
  *
12
12
  * @param {Object} props Component properties.
13
+ * @param {React.ReactNode} [props.children] Children to be rendered.
13
14
  * @param {string} [props.href] When `href` is provided then the menu item is represented as an anchor rather than button. It corresponds to the `href` attribute of the anchor.
14
15
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
15
16
  * @param {Function} [props.onClick=noop] The callback function to be executed when the user clicks the menu item.
@@ -59,7 +60,7 @@ import { ActionItem } from '@wordpress/interface';
59
60
  * );
60
61
  * ```
61
62
  *
62
- * @return {Component} The component to be rendered.
63
+ * @return {React.ReactNode} The rendered component.
63
64
  */
64
65
  export default function PluginMoreMenuItem( props ) {
65
66
  const context = usePluginContext();
@@ -15,7 +15,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );
15
15
  * @param {string} [props.title] Title displayed at the top of the panel.
16
16
  * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
17
17
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
18
- * @param {Element} props.children Children to be rendered
18
+ * @param {React.ReactNode} props.children Children to be rendered
19
19
  *
20
20
  * @example
21
21
  * ```jsx
@@ -34,7 +34,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );
34
34
  * );
35
35
  * ```
36
36
  *
37
- * @return {Component} The component to be rendered.
37
+ * @return {React.ReactNode} The rendered component.
38
38
  */
39
39
  const PluginPostPublishPanel = ( {
40
40
  children,
@@ -14,9 +14,9 @@ const { Fill, Slot } = createSlotFill( 'PluginPostStatusInfo' );
14
14
  * It should be noted that this is named and implemented around the function it serves
15
15
  * and not its location, which may change in future iterations.
16
16
  *
17
- * @param {Object} props Component properties.
18
- * @param {string} [props.className] An optional class name added to the row.
19
- * @param {Element} props.children Children to be rendered.
17
+ * @param {Object} props Component properties.
18
+ * @param {string} [props.className] An optional class name added to the row.
19
+ * @param {React.ReactNode} props.children Children to be rendered.
20
20
  *
21
21
  * @example
22
22
  * ```js
@@ -50,7 +50,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPostStatusInfo' );
50
50
  * );
51
51
  * ```
52
52
  *
53
- * @return {Component} The component to be rendered.
53
+ * @return {React.ReactNode} The rendered component.
54
54
  */
55
55
  const PluginPostStatusInfo = ( { children, className } ) => (
56
56
  <Fill>
@@ -18,7 +18,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
18
18
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)
19
19
  * icon slug string, or an SVG WP element, to be rendered when
20
20
  * the sidebar is pinned to toolbar.
21
- * @param {Element} props.children Children to be rendered
21
+ * @param {React.ReactNode} props.children Children to be rendered
22
22
  *
23
23
  * @example
24
24
  * ```jsx
@@ -37,7 +37,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );
37
37
  * );
38
38
  * ```
39
39
  *
40
- * @return {Component} The component to be rendered.
40
+ * @return {React.ReactNode} The rendered component.
41
41
  */
42
42
  const PluginPrePublishPanel = ( {
43
43
  children,
@@ -10,6 +10,7 @@ import { ActionItem } from '@wordpress/interface';
10
10
  * The text within the component appears as the menu item label.
11
11
  *
12
12
  * @param {Object} props Component properties.
13
+ * @param {React.ReactNode} [props.children] Children to be rendered.
13
14
  * @param {string} [props.href] When `href` is provided, the menu item is rendered as an anchor instead of a button. It corresponds to the `href` attribute of the anchor.
14
15
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The icon to be rendered to the left of the menu item label. Can be a Dashicon slug or an SVG WP element.
15
16
  * @param {Function} [props.onClick] The callback function to be executed when the user clicks the menu item.
@@ -38,7 +39,7 @@ import { ActionItem } from '@wordpress/interface';
38
39
  * } );
39
40
  * ```
40
41
  *
41
- * @return {Component} The rendered menu item component.
42
+ * @return {React.ReactNode} The rendered menu item component.
42
43
  */
43
44
  export default function PluginPreviewMenuItem( props ) {
44
45
  const context = usePluginContext();
@@ -16,6 +16,7 @@ import { ComplementaryArea } from '@wordpress/interface';
16
16
  *
17
17
  * @param {Object} props Element props.
18
18
  * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.
19
+ * @param {React.ReactNode} [props.children] Children to be rendered.
19
20
  * @param {string} [props.className] An optional class name added to the sidebar body.
20
21
  * @param {string} props.title Title displayed at the top of the sidebar.
21
22
  * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.
@@ -10,6 +10,7 @@ import { ComplementaryAreaMoreMenuItem } from '@wordpress/interface';
10
10
  *
11
11
  * @param {Object} props Component props.
12
12
  * @param {string} props.target A string identifying the target sidebar you wish to be activated by this menu item. Must be the same as the `name` prop you have given to that sidebar.
13
+ * @param {React.ReactNode} [props.children] Children to be rendered.
13
14
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
14
15
  *
15
16
  * @example
@@ -48,9 +49,8 @@ import { ComplementaryAreaMoreMenuItem } from '@wordpress/interface';
48
49
  * );
49
50
  * ```
50
51
  *
51
- * @return {Component} The component to be rendered.
52
+ * @return {React.ReactNode} The rendered component.
52
53
  */
53
-
54
54
  export default function PluginSidebarMoreMenuItem( props ) {
55
55
  return (
56
56
  <ComplementaryAreaMoreMenuItem
@@ -21,10 +21,10 @@ export function usePostActions( { postType, onActionPerformed, context } ) {
21
21
  [ postType ]
22
22
  );
23
23
 
24
- const { registerPostTypeActions } = unlock( useDispatch( editorStore ) );
24
+ const { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );
25
25
  useEffect( () => {
26
- registerPostTypeActions( postType );
27
- }, [ registerPostTypeActions, postType ] );
26
+ registerPostTypeSchema( postType );
27
+ }, [ registerPostTypeSchema, postType ] );
28
28
 
29
29
  return useMemo( () => {
30
30
  // Filter actions based on provided context. If not provided
@@ -14,10 +14,10 @@ import { AUTHORS_QUERY } from './constants';
14
14
  /**
15
15
  * Wrapper component that renders its children only if the post type supports the author.
16
16
  *
17
- * @param {Object} props The component props.
18
- * @param {Element} props.children Children to be rendered.
17
+ * @param {Object} props The component props.
18
+ * @param {React.ReactNode} props.children Children to be rendered.
19
19
  *
20
- * @return {Component|null} The component to be rendered. Return `null` if the post type doesn't
20
+ * @return {React.ReactNode} The component to be rendered. Return `null` if the post type doesn't
21
21
  * supports the author or if there are no authors available.
22
22
  */
23
23
  export default function PostAuthorCheck( { children } ) {
@@ -16,7 +16,7 @@ const minimumUsersForCombobox = 25;
16
16
  /**
17
17
  * Renders the component for selecting the post author.
18
18
  *
19
- * @return {Component} The component to be rendered.
19
+ * @return {React.ReactNode} The rendered component.
20
20
  */
21
21
  function PostAuthor() {
22
22
  const showCombobox = useSelect( ( select ) => {
@@ -39,7 +39,7 @@ function PostAuthorToggle( { isOpen, onClick } ) {
39
39
  /**
40
40
  * Renders the Post Author Panel component.
41
41
  *
42
- * @return {Component} The component to be rendered.
42
+ * @return {React.ReactNode} The rendered component.
43
43
  */
44
44
  export function PostAuthor() {
45
45
  // Use internal state instead of a ref to make sure that the component
@@ -22,6 +22,7 @@ import {
22
22
  import { unlock } from '../../lock-unlock';
23
23
  import PostActions from '../post-actions';
24
24
  import usePageTypeBadge from '../../utils/pageTypeBadge';
25
+ import { getTemplateInfo } from '../../utils/get-template-info';
25
26
 
26
27
  export default function PostCardPanel( {
27
28
  postType,
@@ -30,17 +31,29 @@ export default function PostCardPanel( {
30
31
  } ) {
31
32
  const { title, icon } = useSelect(
32
33
  ( select ) => {
33
- const { __experimentalGetTemplateInfo } = select( editorStore );
34
34
  const { getEditedEntityRecord } = select( coreStore );
35
35
  const _record = getEditedEntityRecord(
36
36
  'postType',
37
37
  postType,
38
38
  postId
39
39
  );
40
- const _templateInfo =
41
- [ TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE ].includes(
42
- postType
43
- ) && __experimentalGetTemplateInfo( _record );
40
+
41
+ const { default_template_types: templateTypes = [] } =
42
+ select( coreStore ).getEntityRecord(
43
+ 'root',
44
+ '__unstableBase'
45
+ ) ?? {};
46
+
47
+ const _templateInfo = [
48
+ TEMPLATE_POST_TYPE,
49
+ TEMPLATE_PART_POST_TYPE,
50
+ ].includes( postType )
51
+ ? getTemplateInfo( {
52
+ template: _record,
53
+ templateTypes,
54
+ } )
55
+ : {};
56
+
44
57
  return {
45
58
  title: _templateInfo?.title || _record?.title,
46
59
  icon: unlock( select( editorStore ) ).getPostIcon( postType, {
@@ -61,6 +61,6 @@ function PostComments() {
61
61
  /**
62
62
  * A form for managing comment status.
63
63
  *
64
- * @return {JSX.Element} The rendered PostComments component.
64
+ * @return {React.ReactNode} The rendered PostComments component.
65
65
  */
66
66
  export default PostComments;
@@ -93,7 +93,7 @@ function PostDiscussionToggle( { isOpen, onClick } ) {
93
93
  * checks whether the current post has support for the
94
94
  * above and if the `discussion-panel` panel is enabled.
95
95
  *
96
- * @return {JSX.Element|null} The rendered PostDiscussionPanel component.
96
+ * @return {React.ReactNode} The rendered PostDiscussionPanel component.
97
97
  */
98
98
  export default function PostDiscussionPanel() {
99
99
  const { isEnabled } = useSelect( ( select ) => {
@@ -6,10 +6,10 @@ import PostTypeSupportCheck from '../post-type-support-check';
6
6
  /**
7
7
  * Component for checking if the post type supports the excerpt field.
8
8
  *
9
- * @param {Object} props Props.
10
- * @param {Element} props.children Children to be rendered.
9
+ * @param {Object} props Props.
10
+ * @param {React.ReactNode} props.children Children to be rendered.
11
11
  *
12
- * @return {Component} The component to be rendered.
12
+ * @return {React.ReactNode} The rendered component.
13
13
  */
14
14
  function PostExcerptCheck( { children } ) {
15
15
  return (
@@ -83,7 +83,7 @@ function ExcerptPanel() {
83
83
  /**
84
84
  * Is rendered if the post type supports excerpts and allows editing the excerpt.
85
85
  *
86
- * @return {JSX.Element} The rendered PostExcerptPanel component.
86
+ * @return {React.ReactNode} The rendered PostExcerptPanel component.
87
87
  */
88
88
  export default function PostExcerptPanel() {
89
89
  return (
@@ -12,9 +12,9 @@ const { Fill, Slot } = createSlotFill( 'PluginPostExcerpt' );
12
12
  /**
13
13
  * Renders a post excerpt panel in the post sidebar.
14
14
  *
15
- * @param {Object} props Component properties.
16
- * @param {string} [props.className] An optional class name added to the row.
17
- * @param {Element} props.children Children to be rendered.
15
+ * @param {Object} props Component properties.
16
+ * @param {string} [props.className] An optional class name added to the row.
17
+ * @param {React.ReactNode} props.children Children to be rendered.
18
18
  *
19
19
  * @example
20
20
  * ```js
@@ -46,7 +46,7 @@ const { Fill, Slot } = createSlotFill( 'PluginPostExcerpt' );
46
46
  * );
47
47
  * ```
48
48
  *
49
- * @return {Component} The component to be rendered.
49
+ * @return {React.ReactNode} The rendered component.
50
50
  */
51
51
  const PluginPostExcerpt = ( { children, className } ) => {
52
52
  return (
@@ -8,10 +8,10 @@ import ThemeSupportCheck from '../theme-support-check';
8
8
  * Wrapper component that renders its children only if the post type supports a featured image
9
9
  * and the theme supports post thumbnails.
10
10
  *
11
- * @param {Object} props Props.
12
- * @param {Element} props.children Children to be rendered.
11
+ * @param {Object} props Props.
12
+ * @param {React.ReactNode} props.children Children to be rendered.
13
13
  *
14
- * @return {Component} The component to be rendered.
14
+ * @return {React.ReactNode} The rendered component.
15
15
  */
16
16
  function PostFeaturedImageCheck( { children } ) {
17
17
  return (
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import clsx from 'clsx';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -10,6 +15,7 @@ import {
10
15
  withNotices,
11
16
  withFilters,
12
17
  __experimentalHStack as HStack,
18
+ Notice,
13
19
  } from '@wordpress/components';
14
20
  import { isBlobURL } from '@wordpress/blob';
15
21
  import { useState, useRef } from '@wordpress/element';
@@ -94,8 +100,9 @@ function PostFeaturedImage( {
94
100
  postType,
95
101
  noticeUI,
96
102
  noticeOperations,
103
+ isRequestingFeaturedImageMedia,
97
104
  } ) {
98
- const toggleRef = useRef();
105
+ const returnsFocusRef = useRef( false );
99
106
  const [ isLoading, setIsLoading ] = useState( false );
100
107
  const { getSettings } = useSelect( blockEditorStore );
101
108
  const { mediaSourceUrl } = getMediaDetails( media, currentPostId );
@@ -150,6 +157,16 @@ function PostFeaturedImage( {
150
157
  );
151
158
  }
152
159
 
160
+ function returnFocus( node ) {
161
+ if ( returnsFocusRef.current && node ) {
162
+ node.focus();
163
+ returnsFocusRef.current = false;
164
+ }
165
+ }
166
+
167
+ const isMissingMedia =
168
+ ! isRequestingFeaturedImageMedia && !! featuredImageId && ! media;
169
+
153
170
  return (
154
171
  <PostFeaturedImageCheck>
155
172
  { noticeUI }
@@ -174,52 +191,83 @@ function PostFeaturedImage( {
174
191
  modalClass="editor-post-featured-image__media-modal"
175
192
  render={ ( { open } ) => (
176
193
  <div className="editor-post-featured-image__container">
177
- <Button
178
- __next40pxDefaultSize
179
- ref={ toggleRef }
180
- className={
181
- ! featuredImageId
182
- ? 'editor-post-featured-image__toggle'
183
- : 'editor-post-featured-image__preview'
184
- }
185
- onClick={ open }
186
- aria-label={
187
- ! featuredImageId
188
- ? null
189
- : __(
190
- 'Edit or replace the featured image'
191
- )
192
- }
193
- aria-describedby={
194
- ! featuredImageId
195
- ? null
196
- : `editor-post-featured-image-${ featuredImageId }-describedby`
197
- }
198
- aria-haspopup="dialog"
199
- disabled={ isLoading }
200
- accessibleWhenDisabled
201
- >
202
- { !! featuredImageId && media && (
203
- <img
204
- className="editor-post-featured-image__preview-image"
205
- src={ mediaSourceUrl }
206
- alt={ getImageDescription( media ) }
207
- />
208
- ) }
209
- { isLoading && <Spinner /> }
210
- { ! featuredImageId &&
211
- ! isLoading &&
212
- ( postType?.labels
213
- ?.set_featured_image ||
214
- DEFAULT_SET_FEATURE_IMAGE_LABEL ) }
215
- </Button>
194
+ { isMissingMedia ? (
195
+ <Notice
196
+ status="warning"
197
+ isDismissible={ false }
198
+ >
199
+ { __(
200
+ 'Could not retrieve the featured image data.'
201
+ ) }
202
+ </Notice>
203
+ ) : (
204
+ <Button
205
+ __next40pxDefaultSize
206
+ ref={ returnFocus }
207
+ className={
208
+ ! featuredImageId
209
+ ? 'editor-post-featured-image__toggle'
210
+ : 'editor-post-featured-image__preview'
211
+ }
212
+ onClick={ open }
213
+ aria-label={
214
+ ! featuredImageId
215
+ ? null
216
+ : __(
217
+ 'Edit or replace the featured image'
218
+ )
219
+ }
220
+ aria-describedby={
221
+ ! featuredImageId
222
+ ? null
223
+ : `editor-post-featured-image-${ featuredImageId }-describedby`
224
+ }
225
+ aria-haspopup="dialog"
226
+ disabled={ isLoading }
227
+ accessibleWhenDisabled
228
+ >
229
+ { !! featuredImageId && media && (
230
+ <img
231
+ className="editor-post-featured-image__preview-image"
232
+ src={ mediaSourceUrl }
233
+ alt={ getImageDescription(
234
+ media
235
+ ) }
236
+ />
237
+ ) }
238
+ { ( isLoading ||
239
+ isRequestingFeaturedImageMedia ) && (
240
+ <Spinner />
241
+ ) }
242
+ { ! featuredImageId &&
243
+ ! isLoading &&
244
+ ( postType?.labels
245
+ ?.set_featured_image ||
246
+ DEFAULT_SET_FEATURE_IMAGE_LABEL ) }
247
+ </Button>
248
+ ) }
216
249
  { !! featuredImageId && (
217
- <HStack className="editor-post-featured-image__actions">
250
+ <HStack
251
+ className={ clsx(
252
+ 'editor-post-featured-image__actions',
253
+ {
254
+ 'editor-post-featured-image__actions-missing-image':
255
+ isMissingMedia,
256
+ 'editor-post-featured-image__actions-is-requesting-image':
257
+ isRequestingFeaturedImageMedia,
258
+ }
259
+ ) }
260
+ >
218
261
  <Button
219
262
  __next40pxDefaultSize
220
263
  className="editor-post-featured-image__action"
221
264
  onClick={ open }
222
265
  aria-haspopup="dialog"
266
+ variant={
267
+ isMissingMedia
268
+ ? 'secondary'
269
+ : undefined
270
+ }
223
271
  >
224
272
  { __( 'Replace' ) }
225
273
  </Button>
@@ -228,8 +276,17 @@ function PostFeaturedImage( {
228
276
  className="editor-post-featured-image__action"
229
277
  onClick={ () => {
230
278
  onRemoveImage();
231
- toggleRef.current.focus();
279
+ // Signal that the toggle button should be focused,
280
+ // when it is rendered. Can't focus it directly here
281
+ // because it's rendered conditionally.
282
+ returnsFocusRef.current = true;
232
283
  } }
284
+ variant={
285
+ isMissingMedia
286
+ ? 'secondary'
287
+ : undefined
288
+ }
289
+ isDestructive={ isMissingMedia }
233
290
  >
234
291
  { __( 'Remove' ) }
235
292
  </Button>
@@ -247,7 +304,8 @@ function PostFeaturedImage( {
247
304
  }
248
305
 
249
306
  const applyWithSelect = withSelect( ( select ) => {
250
- const { getMedia, getPostType } = select( coreStore );
307
+ const { getMedia, getPostType, hasFinishedResolution } =
308
+ select( coreStore );
251
309
  const { getCurrentPostId, getEditedPostAttribute } = select( editorStore );
252
310
  const featuredImageId = getEditedPostAttribute( 'featured_media' );
253
311
 
@@ -258,6 +316,12 @@ const applyWithSelect = withSelect( ( select ) => {
258
316
  currentPostId: getCurrentPostId(),
259
317
  postType: getPostType( getEditedPostAttribute( 'type' ) ),
260
318
  featuredImageId,
319
+ isRequestingFeaturedImageMedia:
320
+ !! featuredImageId &&
321
+ ! hasFinishedResolution( 'getMedia', [
322
+ featuredImageId,
323
+ { context: 'view' },
324
+ ] ),
261
325
  };
262
326
  } );
263
327
 
@@ -21,7 +21,7 @@ const PANEL_NAME = 'featured-image';
21
21
  * @param {Object} props Props.
22
22
  * @param {boolean} props.withPanelBody Whether to include the panel body. Default true.
23
23
  *
24
- * @return {Component|null} The component to be rendered.
24
+ * @return {React.ReactNode} The component to be rendered.
25
25
  * Return Null if the editor panel is disabled for featured image.
26
26
  */
27
27
  export default function PostFeaturedImagePanel( { withPanelBody = true } ) {