@wordpress/block-library 7.5.0 → 7.6.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 (527) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +10 -9
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/index.js +1 -0
  9. package/build/button/index.js.map +1 -1
  10. package/build/categories/edit.js +1 -1
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +1 -1
  13. package/build/comment-author-avatar/index.js +1 -0
  14. package/build/comment-author-avatar/index.js.map +1 -1
  15. package/build/comments-title/deprecated.js +110 -0
  16. package/build/comments-title/deprecated.js.map +1 -0
  17. package/build/comments-title/edit.js +35 -37
  18. package/build/comments-title/edit.js.map +1 -1
  19. package/build/comments-title/index.js +5 -8
  20. package/build/comments-title/index.js.map +1 -1
  21. package/build/cover/controls.native.js +2 -3
  22. package/build/cover/controls.native.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +115 -0
  24. package/build/cover/edit/block-controls.js.map +1 -0
  25. package/build/cover/edit/cover-placeholder.js +49 -0
  26. package/build/cover/edit/cover-placeholder.js.map +1 -0
  27. package/build/cover/edit/index.js +333 -0
  28. package/build/cover/edit/index.js.map +1 -0
  29. package/build/cover/edit/inspector-controls.js +224 -0
  30. package/build/cover/edit/inspector-controls.js.map +1 -0
  31. package/build/cover/edit/resizable-cover.js +67 -0
  32. package/build/cover/edit/resizable-cover.js.map +1 -0
  33. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  34. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  35. package/build/cover/edit.native.js +0 -1
  36. package/build/cover/edit.native.js.map +1 -1
  37. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  38. package/build/cover/shared.js +9 -0
  39. package/build/cover/shared.js.map +1 -1
  40. package/build/embed/embed-preview.js +1 -1
  41. package/build/embed/embed-preview.js.map +1 -1
  42. package/build/file/edit.native.js +0 -1
  43. package/build/file/edit.native.js.map +1 -1
  44. package/build/gallery/edit.js +2 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/gallery.js +1 -1
  47. package/build/gallery/gallery.js.map +1 -1
  48. package/build/gallery/shared.js +2 -2
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-get-media.js +2 -1
  51. package/build/gallery/use-get-media.js.map +1 -1
  52. package/build/gallery/use-short-code-transform.js +19 -18
  53. package/build/gallery/use-short-code-transform.js.map +1 -1
  54. package/build/gallery/v1/gallery.js +1 -1
  55. package/build/gallery/v1/gallery.js.map +1 -1
  56. package/build/heading/edit.js +6 -2
  57. package/build/heading/edit.js.map +1 -1
  58. package/build/heading/index.js +1 -0
  59. package/build/heading/index.js.map +1 -1
  60. package/build/heading/transforms.js +1 -0
  61. package/build/heading/transforms.js.map +1 -1
  62. package/build/image/edit.js +5 -2
  63. package/build/image/edit.js.map +1 -1
  64. package/build/image/edit.native.js +0 -1
  65. package/build/image/edit.native.js.map +1 -1
  66. package/build/image/image.js +1 -1
  67. package/build/image/image.js.map +1 -1
  68. package/build/index.js +46 -10
  69. package/build/index.js.map +1 -1
  70. package/build/is-block-metadata-experimental.js +18 -0
  71. package/build/is-block-metadata-experimental.js.map +1 -0
  72. package/build/latest-posts/edit.js +30 -4
  73. package/build/latest-posts/edit.js.map +1 -1
  74. package/build/list/transforms.js +6 -0
  75. package/build/list/transforms.js.map +1 -1
  76. package/build/list/v2/edit.js +2 -1
  77. package/build/list/v2/edit.js.map +1 -1
  78. package/build/list/v2/migrate.js +1 -0
  79. package/build/list/v2/migrate.js.map +1 -1
  80. package/build/list/v2/transforms.js +46 -9
  81. package/build/list/v2/transforms.js.map +1 -1
  82. package/build/list-item/edit.js +7 -9
  83. package/build/list-item/edit.js.map +1 -1
  84. package/build/list-item/hooks/index.js +24 -0
  85. package/build/list-item/hooks/index.js.map +1 -1
  86. package/build/list-item/hooks/use-backspace.js +59 -0
  87. package/build/list-item/hooks/use-backspace.js.map +1 -0
  88. package/build/list-item/hooks/use-enter.js +6 -9
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  91. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  92. package/build/list-item/hooks/use-space.js +54 -0
  93. package/build/list-item/hooks/use-space.js.map +1 -0
  94. package/build/list-item/hooks/use-split.js +30 -0
  95. package/build/list-item/hooks/use-split.js.map +1 -0
  96. package/build/list-item/index.js +1 -0
  97. package/build/list-item/index.js.map +1 -1
  98. package/build/list-item/utils.js +1 -1
  99. package/build/list-item/utils.js.map +1 -1
  100. package/build/media-text/edit.native.js +2 -1
  101. package/build/media-text/edit.native.js.map +1 -1
  102. package/build/media-text/media-container.native.js +2 -4
  103. package/build/media-text/media-container.native.js.map +1 -1
  104. package/build/media-text/transforms.js +137 -8
  105. package/build/media-text/transforms.js.map +1 -1
  106. package/build/navigation/edit/index.js +86 -81
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/edit/inner-blocks.js +1 -5
  109. package/build/navigation/edit/inner-blocks.js.map +1 -1
  110. package/build/navigation/use-navigation-entities.js +3 -3
  111. package/build/navigation/use-navigation-entities.js.map +1 -1
  112. package/build/navigation-link/fallback-variations.js +1 -1
  113. package/build/navigation-link/fallback-variations.js.map +1 -1
  114. package/build/navigation-link/hooks.js +1 -1
  115. package/build/navigation-link/hooks.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +1 -1
  117. package/build/page-list/convert-to-links-modal.js.map +1 -1
  118. package/build/page-list/edit.js +1 -1
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/post-author/edit.js +1 -1
  121. package/build/post-author/edit.js.map +1 -1
  122. package/build/post-author-name/index.js +1 -0
  123. package/build/post-author-name/index.js.map +1 -1
  124. package/build/post-comment/index.js +1 -0
  125. package/build/post-comment/index.js.map +1 -1
  126. package/build/post-comments/edit.js +34 -16
  127. package/build/post-comments/edit.js.map +1 -1
  128. package/build/post-comments-count/index.js +1 -0
  129. package/build/post-comments-count/index.js.map +1 -1
  130. package/build/post-comments-form/form.js +1 -1
  131. package/build/post-comments-form/form.js.map +1 -1
  132. package/build/post-comments-link/index.js +1 -0
  133. package/build/post-comments-link/index.js.map +1 -1
  134. package/build/post-featured-image/edit.js +1 -1
  135. package/build/post-featured-image/edit.js.map +1 -1
  136. package/build/post-template/edit.js +7 -2
  137. package/build/post-template/edit.js.map +1 -1
  138. package/build/post-terms/edit.js +11 -2
  139. package/build/post-terms/edit.js.map +1 -1
  140. package/build/post-terms/hooks.js +33 -0
  141. package/build/post-terms/hooks.js.map +1 -0
  142. package/build/post-terms/index.js +12 -5
  143. package/build/post-terms/index.js.map +1 -1
  144. package/build/post-title/index.js +1 -1
  145. package/build/post-title/index.js.map +1 -1
  146. package/build/pullquote/edit.js +1 -1
  147. package/build/pullquote/edit.js.map +1 -1
  148. package/build/pullquote/edit.native.js +1 -1
  149. package/build/pullquote/edit.native.js.map +1 -1
  150. package/build/query/edit/inspector-controls/index.js +26 -17
  151. package/build/query/edit/inspector-controls/index.js.map +1 -1
  152. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  153. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  154. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  155. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  156. package/build/query/index.js +2 -1
  157. package/build/query/index.js.map +1 -1
  158. package/build/query/utils.js +28 -2
  159. package/build/query/utils.js.map +1 -1
  160. package/build/query-title/index.js +1 -1
  161. package/build/query-title/index.js.map +1 -1
  162. package/build/query-title/variations.js +1 -1
  163. package/build/query-title/variations.js.map +1 -1
  164. package/build/quote/edit.js +3 -2
  165. package/build/quote/edit.js.map +1 -1
  166. package/build/quote/v2/edit.js +1 -1
  167. package/build/quote/v2/edit.js.map +1 -1
  168. package/build/search/edit.js +1 -0
  169. package/build/search/edit.js.map +1 -1
  170. package/build/site-logo/edit.js +1 -1
  171. package/build/site-logo/edit.js.map +1 -1
  172. package/build/table/edit.js +15 -2
  173. package/build/table/edit.js.map +1 -1
  174. package/build/table-of-contents/edit.js +138 -66
  175. package/build/table-of-contents/edit.js.map +1 -1
  176. package/build/table-of-contents/index.js +13 -3
  177. package/build/table-of-contents/index.js.map +1 -1
  178. package/build/table-of-contents/list.js +16 -9
  179. package/build/table-of-contents/list.js.map +1 -1
  180. package/build/table-of-contents/save.js +40 -0
  181. package/build/table-of-contents/save.js.map +1 -0
  182. package/build/table-of-contents/utils.js +11 -77
  183. package/build/table-of-contents/utils.js.map +1 -1
  184. package/build/template-part/edit/index.js +7 -3
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/inner-blocks.js +3 -8
  187. package/build/template-part/edit/inner-blocks.js.map +1 -1
  188. package/build/video/edit.js +1 -1
  189. package/build/video/edit.js.map +1 -1
  190. package/build-module/audio/edit.js +2 -2
  191. package/build-module/audio/edit.js.map +1 -1
  192. package/build-module/block/edit.js +11 -10
  193. package/build-module/block/edit.js.map +1 -1
  194. package/build-module/button/index.js +1 -0
  195. package/build-module/button/index.js.map +1 -1
  196. package/build-module/categories/edit.js +1 -1
  197. package/build-module/categories/edit.js.map +1 -1
  198. package/build-module/categories/index.js +1 -1
  199. package/build-module/comment-author-avatar/index.js +1 -0
  200. package/build-module/comment-author-avatar/index.js.map +1 -1
  201. package/build-module/comments-title/deprecated.js +102 -0
  202. package/build-module/comments-title/deprecated.js.map +1 -0
  203. package/build-module/comments-title/edit.js +38 -40
  204. package/build-module/comments-title/edit.js.map +1 -1
  205. package/build-module/comments-title/index.js +4 -8
  206. package/build-module/comments-title/index.js.map +1 -1
  207. package/build-module/cover/controls.native.js +2 -3
  208. package/build-module/cover/controls.native.js.map +1 -1
  209. package/build-module/cover/edit/block-controls.js +104 -0
  210. package/build-module/cover/edit/block-controls.js.map +1 -0
  211. package/build-module/cover/edit/cover-placeholder.js +38 -0
  212. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  213. package/build-module/cover/edit/index.js +307 -0
  214. package/build-module/cover/edit/index.js.map +1 -0
  215. package/build-module/cover/edit/inspector-controls.js +215 -0
  216. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  217. package/build-module/cover/edit/resizable-cover.js +55 -0
  218. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  219. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  220. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  221. package/build-module/cover/edit.native.js +0 -1
  222. package/build-module/cover/edit.native.js.map +1 -1
  223. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  224. package/build-module/cover/shared.js +7 -0
  225. package/build-module/cover/shared.js.map +1 -1
  226. package/build-module/embed/embed-preview.js +2 -2
  227. package/build-module/embed/embed-preview.js.map +1 -1
  228. package/build-module/file/edit.native.js +0 -1
  229. package/build-module/file/edit.native.js.map +1 -1
  230. package/build-module/gallery/edit.js +2 -1
  231. package/build-module/gallery/edit.js.map +1 -1
  232. package/build-module/gallery/gallery.js +2 -2
  233. package/build-module/gallery/gallery.js.map +1 -1
  234. package/build-module/gallery/shared.js +2 -2
  235. package/build-module/gallery/shared.js.map +1 -1
  236. package/build-module/gallery/use-get-media.js +2 -1
  237. package/build-module/gallery/use-get-media.js.map +1 -1
  238. package/build-module/gallery/use-short-code-transform.js +19 -18
  239. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  240. package/build-module/gallery/v1/gallery.js +2 -2
  241. package/build-module/gallery/v1/gallery.js.map +1 -1
  242. package/build-module/heading/edit.js +6 -2
  243. package/build-module/heading/edit.js.map +1 -1
  244. package/build-module/heading/index.js +1 -0
  245. package/build-module/heading/index.js.map +1 -1
  246. package/build-module/heading/transforms.js +1 -0
  247. package/build-module/heading/transforms.js.map +1 -1
  248. package/build-module/image/edit.js +6 -3
  249. package/build-module/image/edit.js.map +1 -1
  250. package/build-module/image/edit.native.js +0 -1
  251. package/build-module/image/edit.native.js.map +1 -1
  252. package/build-module/image/image.js +2 -2
  253. package/build-module/image/image.js.map +1 -1
  254. package/build-module/index.js +42 -10
  255. package/build-module/index.js.map +1 -1
  256. package/build-module/is-block-metadata-experimental.js +16 -0
  257. package/build-module/is-block-metadata-experimental.js.map +1 -0
  258. package/build-module/latest-posts/edit.js +29 -5
  259. package/build-module/latest-posts/edit.js.map +1 -1
  260. package/build-module/list/transforms.js +6 -0
  261. package/build-module/list/transforms.js.map +1 -1
  262. package/build-module/list/v2/edit.js +2 -1
  263. package/build-module/list/v2/edit.js.map +1 -1
  264. package/build-module/list/v2/migrate.js +1 -3
  265. package/build-module/list/v2/migrate.js.map +1 -1
  266. package/build-module/list/v2/transforms.js +46 -9
  267. package/build-module/list/v2/transforms.js.map +1 -1
  268. package/build-module/list-item/edit.js +8 -9
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/index.js +3 -0
  271. package/build-module/list-item/hooks/index.js.map +1 -1
  272. package/build-module/list-item/hooks/use-backspace.js +44 -0
  273. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  274. package/build-module/list-item/hooks/use-enter.js +6 -9
  275. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  276. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  277. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  278. package/build-module/list-item/hooks/use-space.js +40 -0
  279. package/build-module/list-item/hooks/use-space.js.map +1 -0
  280. package/build-module/list-item/hooks/use-split.js +19 -0
  281. package/build-module/list-item/hooks/use-split.js.map +1 -0
  282. package/build-module/list-item/index.js +1 -0
  283. package/build-module/list-item/index.js.map +1 -1
  284. package/build-module/list-item/utils.js +1 -1
  285. package/build-module/list-item/utils.js.map +1 -1
  286. package/build-module/media-text/edit.native.js +2 -1
  287. package/build-module/media-text/edit.native.js.map +1 -1
  288. package/build-module/media-text/media-container.native.js +2 -4
  289. package/build-module/media-text/media-container.native.js.map +1 -1
  290. package/build-module/media-text/transforms.js +137 -8
  291. package/build-module/media-text/transforms.js.map +1 -1
  292. package/build-module/navigation/edit/index.js +87 -82
  293. package/build-module/navigation/edit/index.js.map +1 -1
  294. package/build-module/navigation/edit/inner-blocks.js +2 -6
  295. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  296. package/build-module/navigation/use-navigation-entities.js +1 -1
  297. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  298. package/build-module/navigation-link/fallback-variations.js +1 -1
  299. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  300. package/build-module/navigation-link/hooks.js +2 -2
  301. package/build-module/navigation-link/hooks.js.map +1 -1
  302. package/build-module/page-list/convert-to-links-modal.js +1 -1
  303. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  304. package/build-module/page-list/edit.js +1 -1
  305. package/build-module/page-list/edit.js.map +1 -1
  306. package/build-module/post-author/edit.js +1 -1
  307. package/build-module/post-author/edit.js.map +1 -1
  308. package/build-module/post-author-name/index.js +1 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-comment/index.js +1 -0
  311. package/build-module/post-comment/index.js.map +1 -1
  312. package/build-module/post-comments/edit.js +35 -16
  313. package/build-module/post-comments/edit.js.map +1 -1
  314. package/build-module/post-comments-count/index.js +1 -0
  315. package/build-module/post-comments-count/index.js.map +1 -1
  316. package/build-module/post-comments-form/form.js +1 -1
  317. package/build-module/post-comments-form/form.js.map +1 -1
  318. package/build-module/post-comments-link/index.js +1 -0
  319. package/build-module/post-comments-link/index.js.map +1 -1
  320. package/build-module/post-featured-image/edit.js +1 -1
  321. package/build-module/post-featured-image/edit.js.map +1 -1
  322. package/build-module/post-template/edit.js +7 -2
  323. package/build-module/post-template/edit.js.map +1 -1
  324. package/build-module/post-terms/edit.js +10 -3
  325. package/build-module/post-terms/edit.js.map +1 -1
  326. package/build-module/post-terms/hooks.js +25 -0
  327. package/build-module/post-terms/hooks.js.map +1 -0
  328. package/build-module/post-terms/index.js +10 -8
  329. package/build-module/post-terms/index.js.map +1 -1
  330. package/build-module/post-title/index.js +1 -1
  331. package/build-module/post-title/index.js.map +1 -1
  332. package/build-module/pullquote/edit.js +2 -2
  333. package/build-module/pullquote/edit.js.map +1 -1
  334. package/build-module/pullquote/edit.native.js +2 -2
  335. package/build-module/pullquote/edit.native.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/index.js +24 -17
  337. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  339. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  340. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  341. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  342. package/build-module/query/index.js +2 -1
  343. package/build-module/query/index.js.map +1 -1
  344. package/build-module/query/utils.js +21 -0
  345. package/build-module/query/utils.js.map +1 -1
  346. package/build-module/query-title/index.js +1 -1
  347. package/build-module/query-title/index.js.map +1 -1
  348. package/build-module/query-title/variations.js +2 -2
  349. package/build-module/query-title/variations.js.map +1 -1
  350. package/build-module/quote/edit.js +4 -3
  351. package/build-module/quote/edit.js.map +1 -1
  352. package/build-module/quote/v2/edit.js +2 -2
  353. package/build-module/quote/v2/edit.js.map +1 -1
  354. package/build-module/search/edit.js +1 -0
  355. package/build-module/search/edit.js.map +1 -1
  356. package/build-module/site-logo/edit.js +1 -1
  357. package/build-module/site-logo/edit.js.map +1 -1
  358. package/build-module/table/edit.js +17 -4
  359. package/build-module/table/edit.js.map +1 -1
  360. package/build-module/table-of-contents/edit.js +136 -68
  361. package/build-module/table-of-contents/edit.js.map +1 -1
  362. package/build-module/table-of-contents/index.js +12 -3
  363. package/build-module/table-of-contents/index.js.map +1 -1
  364. package/build-module/table-of-contents/list.js +18 -10
  365. package/build-module/table-of-contents/list.js.map +1 -1
  366. package/build-module/table-of-contents/save.js +28 -0
  367. package/build-module/table-of-contents/save.js.map +1 -0
  368. package/build-module/table-of-contents/utils.js +11 -73
  369. package/build-module/table-of-contents/utils.js.map +1 -1
  370. package/build-module/template-part/edit/index.js +8 -4
  371. package/build-module/template-part/edit/index.js.map +1 -1
  372. package/build-module/template-part/edit/inner-blocks.js +4 -9
  373. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  374. package/build-module/video/edit.js +2 -2
  375. package/build-module/video/edit.js.map +1 -1
  376. package/build-style/editor-rtl.css +4 -6
  377. package/build-style/editor.css +4 -6
  378. package/build-style/image/editor-rtl.css +1 -1
  379. package/build-style/image/editor.css +1 -1
  380. package/build-style/post-comments/style-rtl.css +22 -0
  381. package/build-style/post-comments/style.css +22 -0
  382. package/build-style/post-comments-form/style-rtl.css +1 -3
  383. package/build-style/post-comments-form/style.css +1 -3
  384. package/build-style/separator/editor-rtl.css +1 -0
  385. package/build-style/separator/editor.css +1 -0
  386. package/build-style/style-rtl.css +23 -3
  387. package/build-style/style.css +23 -3
  388. package/build-style/video/editor-rtl.css +2 -5
  389. package/build-style/video/editor.css +2 -5
  390. package/build-types/table-of-contents/list.d.ts +12 -0
  391. package/build-types/table-of-contents/list.d.ts.map +1 -0
  392. package/build-types/table-of-contents/utils.d.ts +24 -0
  393. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  394. package/package.json +30 -29
  395. package/src/audio/edit.js +4 -2
  396. package/src/avatar/block.json +0 -1
  397. package/src/avatar/index.php +2 -2
  398. package/src/block/edit.js +39 -42
  399. package/src/block/test/edit.native.js +1 -1
  400. package/src/button/block.json +1 -0
  401. package/src/categories/block.json +1 -1
  402. package/src/categories/edit.js +1 -1
  403. package/src/comment-author-avatar/block.json +1 -0
  404. package/src/comments-title/block.json +0 -6
  405. package/src/comments-title/deprecated.js +34 -0
  406. package/src/comments-title/edit.js +44 -100
  407. package/src/comments-title/index.js +3 -1
  408. package/src/comments-title/index.php +41 -23
  409. package/src/cover/controls.native.js +1 -2
  410. package/src/cover/edit/block-controls.js +119 -0
  411. package/src/cover/edit/cover-placeholder.js +39 -0
  412. package/src/cover/edit/index.js +381 -0
  413. package/src/cover/edit/inspector-controls.js +286 -0
  414. package/src/cover/edit/resizable-cover.js +55 -0
  415. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  416. package/src/cover/edit.native.js +0 -1
  417. package/src/cover/editor.scss +1 -1
  418. package/src/cover/focal-point-settings-button.native.js +1 -1
  419. package/src/cover/index.php +20 -37
  420. package/src/cover/shared.js +4 -0
  421. package/src/cover/test/block-controls.js +62 -0
  422. package/src/embed/embed-preview.js +4 -2
  423. package/src/file/edit.native.js +0 -1
  424. package/src/gallery/edit.js +2 -1
  425. package/src/gallery/gallery.js +2 -2
  426. package/src/gallery/shared.js +3 -2
  427. package/src/gallery/use-get-media.js +2 -1
  428. package/src/gallery/use-short-code-transform.js +19 -16
  429. package/src/gallery/v1/gallery.js +2 -2
  430. package/src/heading/block.json +1 -0
  431. package/src/heading/edit.js +5 -2
  432. package/src/image/edit.js +9 -1
  433. package/src/image/edit.native.js +0 -1
  434. package/src/image/editor.scss +1 -1
  435. package/src/image/image.js +8 -2
  436. package/src/image/test/edit.native.js +7 -7
  437. package/src/index.js +50 -27
  438. package/src/is-block-metadata-experimental.js +19 -0
  439. package/src/latest-posts/edit.js +27 -2
  440. package/src/latest-posts/index.php +12 -6
  441. package/src/list/transforms.js +7 -0
  442. package/src/list/v2/edit.js +1 -0
  443. package/src/list/v2/migrate.js +1 -1
  444. package/src/list/v2/transforms.js +35 -0
  445. package/src/list-item/block.json +2 -1
  446. package/src/list-item/edit.js +17 -10
  447. package/src/list-item/hooks/index.js +3 -0
  448. package/src/list-item/hooks/use-backspace.js +52 -0
  449. package/src/list-item/hooks/use-enter.js +9 -16
  450. package/src/list-item/hooks/use-indent-list-item.js +50 -63
  451. package/src/list-item/hooks/use-space.js +48 -0
  452. package/src/list-item/hooks/use-split.js +24 -0
  453. package/src/list-item/utils.js +1 -1
  454. package/src/media-text/edit.native.js +3 -1
  455. package/src/media-text/media-container.native.js +2 -4
  456. package/src/media-text/transforms.js +154 -0
  457. package/src/navigation/edit/index.js +175 -169
  458. package/src/navigation/edit/inner-blocks.js +1 -8
  459. package/src/navigation/index.php +40 -0
  460. package/src/navigation/use-navigation-entities.js +1 -1
  461. package/src/navigation-link/fallback-variations.js +1 -1
  462. package/src/navigation-link/hooks.js +2 -2
  463. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  464. package/src/page-list/convert-to-links-modal.js +1 -1
  465. package/src/page-list/edit.js +1 -4
  466. package/src/post-author/edit.js +24 -22
  467. package/src/post-author-name/block.json +1 -0
  468. package/src/post-comment/block.json +1 -0
  469. package/src/post-comments/edit.js +54 -22
  470. package/src/post-comments/style.scss +26 -0
  471. package/src/post-comments-count/block.json +1 -0
  472. package/src/post-comments-form/form.js +1 -4
  473. package/src/post-comments-form/style.scss +1 -4
  474. package/src/post-comments-link/block.json +1 -0
  475. package/src/post-featured-image/edit.js +1 -1
  476. package/src/post-template/edit.js +5 -0
  477. package/src/post-template/index.php +30 -0
  478. package/src/post-terms/edit.js +19 -0
  479. package/src/post-terms/hooks.js +27 -0
  480. package/src/post-terms/index.js +14 -7
  481. package/src/post-terms/index.php +40 -2
  482. package/src/post-title/index.js +1 -1
  483. package/src/pullquote/edit.js +2 -2
  484. package/src/pullquote/edit.native.js +2 -2
  485. package/src/query/block.json +2 -1
  486. package/src/query/edit/inspector-controls/index.js +25 -11
  487. package/src/query/edit/inspector-controls/parent-control.js +133 -0
  488. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  489. package/src/query/utils.js +22 -0
  490. package/src/query-title/index.js +1 -1
  491. package/src/query-title/variations.js +2 -2
  492. package/src/quote/edit.js +5 -2
  493. package/src/quote/v2/edit.js +4 -2
  494. package/src/search/edit.js +1 -0
  495. package/src/search/index.php +1 -1
  496. package/src/separator/editor.scss +1 -0
  497. package/src/site-logo/edit.js +1 -1
  498. package/src/table/edit.js +19 -4
  499. package/src/table-of-contents/block.json +9 -2
  500. package/src/table-of-contents/edit.js +155 -75
  501. package/src/table-of-contents/index.js +2 -0
  502. package/src/table-of-contents/list.tsx +46 -0
  503. package/src/table-of-contents/save.js +25 -0
  504. package/src/table-of-contents/utils.ts +71 -0
  505. package/src/tag-cloud/block.json +1 -1
  506. package/src/template-part/edit/index.js +25 -15
  507. package/src/template-part/edit/inner-blocks.js +2 -10
  508. package/src/video/edit.js +4 -2
  509. package/src/video/editor.scss +3 -6
  510. package/test/babel-plugin.js +67 -0
  511. package/tsconfig.json +11 -0
  512. package/tsconfig.tsbuildinfo +1 -0
  513. package/build/cover/edit.js +0 -598
  514. package/build/cover/edit.js.map +0 -1
  515. package/build/cover/use-cover-is-dark.js.map +0 -1
  516. package/build/post-terms/variations.js +0 -37
  517. package/build/post-terms/variations.js.map +0 -1
  518. package/build-module/cover/edit.js +0 -575
  519. package/build-module/cover/edit.js.map +0 -1
  520. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  521. package/build-module/post-terms/variations.js +0 -27
  522. package/build-module/post-terms/variations.js.map +0 -1
  523. package/src/cover/edit.js +0 -757
  524. package/src/post-terms/variations.js +0 -28
  525. package/src/table-of-contents/index.php +0 -346
  526. package/src/table-of-contents/list.js +0 -28
  527. package/src/table-of-contents/utils.js +0 -126
@@ -103,10 +103,6 @@
103
103
  z-index: 159990;
104
104
  }
105
105
 
106
- .block-library-video-tracks-editor > .components-popover__content {
107
- width: 360px;
108
- }
109
-
110
106
  .block-library-video-tracks-editor__track-list-track {
111
107
  display: flex;
112
108
  place-content: space-between;
@@ -145,7 +141,8 @@
145
141
  display: block;
146
142
  }
147
143
 
148
- .block-library-video-tracks-editor > .components-popover__content > div {
144
+ .block-library-video-tracks-editor > .components-popover__content {
145
+ width: 360px;
149
146
  padding: 0;
150
147
  }
151
148
 
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { WPElement } from '@wordpress/element';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import type { NestedHeadingData } from './utils';
9
+ export default function TableOfContentsList({ nestedHeadingList, }: {
10
+ nestedHeadingList: NestedHeadingData[];
11
+ }): WPElement;
12
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/table-of-contents/list.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAE,EAC5C,iBAAiB,GACjB,EAAE;IACF,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;CACvC,GAAI,SAAS,CA6Bb"}
@@ -0,0 +1,24 @@
1
+ export interface HeadingData {
2
+ /** The plain text content of the heading. */
3
+ content: string;
4
+ /** The heading level. */
5
+ level: number;
6
+ /** Link to the heading. */
7
+ link: string;
8
+ }
9
+ export interface NestedHeadingData {
10
+ /** The heading content, level, and link. */
11
+ heading: HeadingData;
12
+ /** The sub-headings of this heading, if any. */
13
+ children: NestedHeadingData[] | null;
14
+ }
15
+ /**
16
+ * Takes a flat list of heading parameters and nests them based on each header's
17
+ * immediate parent's level.
18
+ *
19
+ * @param headingList The flat list of headings to nest.
20
+ *
21
+ * @return The nested list of headings.
22
+ */
23
+ export declare function linearToNestedHeadingList(headingList: HeadingData[]): NestedHeadingData[];
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/table-of-contents/utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,4CAA4C;IAC5C,OAAO,EAAE,WAAW,CAAC;IACrB,gDAAgD;IAChD,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,WAAW,EAAE,GACxB,iBAAiB,EAAE,CA4CrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-library",
3
- "version": "7.5.0",
3
+ "version": "7.6.0",
4
4
  "description": "Block library for the WordPress editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,36 +29,37 @@
29
29
  "src/**/*.scss",
30
30
  "src/navigation-link/index.js",
31
31
  "src/template-part/index.js",
32
- "src/query/index.js"
32
+ "src/query/index.js",
33
+ "src/post-terms/index.js"
33
34
  ],
34
35
  "dependencies": {
35
36
  "@babel/runtime": "^7.16.0",
36
- "@wordpress/a11y": "^3.8.0",
37
- "@wordpress/api-fetch": "^6.5.0",
38
- "@wordpress/autop": "^3.8.0",
39
- "@wordpress/blob": "^3.8.0",
40
- "@wordpress/block-editor": "^9.0.0",
41
- "@wordpress/blocks": "^11.7.0",
42
- "@wordpress/components": "^19.10.0",
43
- "@wordpress/compose": "^5.6.0",
44
- "@wordpress/core-data": "^4.6.0",
45
- "@wordpress/data": "^6.8.0",
46
- "@wordpress/date": "^4.8.0",
47
- "@wordpress/deprecated": "^3.8.0",
48
- "@wordpress/dom": "^3.8.0",
49
- "@wordpress/element": "^4.6.0",
50
- "@wordpress/hooks": "^3.8.0",
51
- "@wordpress/html-entities": "^3.8.0",
52
- "@wordpress/i18n": "^4.8.0",
53
- "@wordpress/icons": "^8.4.0",
54
- "@wordpress/keycodes": "^3.8.0",
55
- "@wordpress/notices": "^3.8.0",
56
- "@wordpress/primitives": "^3.6.0",
57
- "@wordpress/reusable-blocks": "^3.6.0",
58
- "@wordpress/rich-text": "^5.6.0",
59
- "@wordpress/server-side-render": "^3.6.0",
60
- "@wordpress/url": "^3.9.0",
61
- "@wordpress/viewport": "^4.6.0",
37
+ "@wordpress/a11y": "^3.9.0",
38
+ "@wordpress/api-fetch": "^6.6.0",
39
+ "@wordpress/autop": "^3.9.0",
40
+ "@wordpress/blob": "^3.9.0",
41
+ "@wordpress/block-editor": "^9.1.0",
42
+ "@wordpress/blocks": "^11.8.0",
43
+ "@wordpress/components": "^19.11.0",
44
+ "@wordpress/compose": "^5.7.0",
45
+ "@wordpress/core-data": "^4.7.0",
46
+ "@wordpress/data": "^6.9.0",
47
+ "@wordpress/date": "^4.9.0",
48
+ "@wordpress/deprecated": "^3.9.0",
49
+ "@wordpress/dom": "^3.9.0",
50
+ "@wordpress/element": "^4.7.0",
51
+ "@wordpress/hooks": "^3.9.0",
52
+ "@wordpress/html-entities": "^3.9.0",
53
+ "@wordpress/i18n": "^4.9.0",
54
+ "@wordpress/icons": "^9.0.0",
55
+ "@wordpress/keycodes": "^3.9.0",
56
+ "@wordpress/notices": "^3.9.0",
57
+ "@wordpress/primitives": "^3.7.0",
58
+ "@wordpress/reusable-blocks": "^3.7.0",
59
+ "@wordpress/rich-text": "^5.7.0",
60
+ "@wordpress/server-side-render": "^3.7.0",
61
+ "@wordpress/url": "^3.10.0",
62
+ "@wordpress/viewport": "^4.7.0",
62
63
  "classnames": "^2.3.1",
63
64
  "colord": "^2.7.0",
64
65
  "fast-average-color": "4.3.0",
@@ -74,5 +75,5 @@
74
75
  "publishConfig": {
75
76
  "access": "public"
76
77
  },
77
- "gitHead": "4631d515033397fcfeda77e5755960253caef9bf"
78
+ "gitHead": "198fa129cf1af8dc615918987ea6795cd40ab7df"
78
79
  }
package/src/audio/edit.js CHANGED
@@ -29,7 +29,7 @@ import { useEffect } from '@wordpress/element';
29
29
  import { __, _x } from '@wordpress/i18n';
30
30
  import { useSelect } from '@wordpress/data';
31
31
  import { audio as icon } from '@wordpress/icons';
32
- import { createBlock } from '@wordpress/blocks';
32
+ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
33
33
 
34
34
  /**
35
35
  * Internal dependencies
@@ -208,7 +208,9 @@ function AudioEdit( {
208
208
  }
209
209
  inlineToolbar
210
210
  __unstableOnSplitAtEnd={ () =>
211
- insertBlocksAfter( createBlock( 'core/paragraph' ) )
211
+ insertBlocksAfter(
212
+ createBlock( getDefaultBlockName() )
213
+ )
212
214
  }
213
215
  />
214
216
  ) }
@@ -22,7 +22,6 @@
22
22
  "type": "string",
23
23
  "default": "_self"
24
24
  }
25
-
26
25
  },
27
26
  "usesContext": [ "postType", "postId", "commentId" ],
28
27
  "supports": {
@@ -105,11 +105,11 @@ function render_block_core_avatar( $attributes, $content, $block ) {
105
105
  return sprintf( '<div %1s>%2s</div>', $wrapper_attributes, $avatar_block );
106
106
  }
107
107
  $comment = get_comment( $block->context['commentId'] );
108
- /* translators: %s is the Comment Author name */
109
- $alt = sprintf( __( '%s Avatar' ), $comment->comment_author );
110
108
  if ( ! $comment ) {
111
109
  return '';
112
110
  }
111
+ /* translators: %s is the Comment Author name */
112
+ $alt = sprintf( __( '%s Avatar' ), $comment->comment_author );
113
113
  $avatar_block = get_avatar(
114
114
  $comment,
115
115
  $size,
package/src/block/edit.js CHANGED
@@ -5,7 +5,7 @@ import { useDispatch, useSelect } from '@wordpress/data';
5
5
  import {
6
6
  useEntityBlockEditor,
7
7
  useEntityProp,
8
- __experimentalUseEntityRecord as useEntityRecord,
8
+ useEntityRecord,
9
9
  } from '@wordpress/core-data';
10
10
  import {
11
11
  Placeholder,
@@ -19,7 +19,7 @@ import { __ } from '@wordpress/i18n';
19
19
  import {
20
20
  useInnerBlocksProps,
21
21
  __experimentalUseNoRecursiveRenders as useNoRecursiveRenders,
22
- __experimentalBlockContentOverlay as BlockContentOverlay,
22
+ __experimentalUseBlockOverlayActive as useBlockOverlayActive,
23
23
  InnerBlocks,
24
24
  BlockControls,
25
25
  InspectorControls,
@@ -62,20 +62,25 @@ export default function ReusableBlockEdit( { attributes: { ref }, clientId } ) {
62
62
  ref
63
63
  );
64
64
 
65
- const blockProps = useBlockProps();
66
-
67
- const innerBlocksProps = useInnerBlocksProps(
68
- {},
65
+ const hasBlockOverlay = useBlockOverlayActive( clientId );
66
+ const blockProps = useBlockProps(
69
67
  {
70
- value: blocks,
71
- onInput,
72
- onChange,
73
- renderAppender: blocks?.length
74
- ? undefined
75
- : InnerBlocks.ButtonBlockAppender,
76
- }
68
+ className: hasBlockOverlay
69
+ ? 'block-library-block__reusable-block-container block-editor-block-content-overlay'
70
+ : 'block-library-block__reusable-block-container',
71
+ },
72
+ { __unstableIsDisabled: hasBlockOverlay }
77
73
  );
78
74
 
75
+ const innerBlocksProps = useInnerBlocksProps( blockProps, {
76
+ value: blocks,
77
+ onInput,
78
+ onChange,
79
+ renderAppender: blocks?.length
80
+ ? undefined
81
+ : InnerBlocks.ButtonBlockAppender,
82
+ } );
83
+
79
84
  if ( hasAlreadyRendered ) {
80
85
  return (
81
86
  <div { ...blockProps }>
@@ -108,36 +113,28 @@ export default function ReusableBlockEdit( { attributes: { ref }, clientId } ) {
108
113
 
109
114
  return (
110
115
  <RecursionProvider>
111
- <div { ...blockProps }>
112
- { canRemove && (
113
- <BlockControls>
114
- <ToolbarGroup>
115
- <ToolbarButton
116
- onClick={ () =>
117
- convertBlockToStatic( clientId )
118
- }
119
- label={ __( 'Convert to regular blocks' ) }
120
- icon={ ungroup }
121
- showTooltip
122
- />
123
- </ToolbarGroup>
124
- </BlockControls>
125
- ) }
126
- <InspectorControls>
127
- <PanelBody>
128
- <TextControl
129
- label={ __( 'Name' ) }
130
- value={ title }
131
- onChange={ setTitle }
116
+ { canRemove && (
117
+ <BlockControls>
118
+ <ToolbarGroup>
119
+ <ToolbarButton
120
+ onClick={ () => convertBlockToStatic( clientId ) }
121
+ label={ __( 'Convert to regular blocks' ) }
122
+ icon={ ungroup }
123
+ showTooltip
132
124
  />
133
- </PanelBody>
134
- </InspectorControls>
135
- <BlockContentOverlay
136
- clientId={ clientId }
137
- wrapperProps={ innerBlocksProps }
138
- className="block-library-block__reusable-block-container"
139
- />
140
- </div>
125
+ </ToolbarGroup>
126
+ </BlockControls>
127
+ ) }
128
+ <InspectorControls>
129
+ <PanelBody>
130
+ <TextControl
131
+ label={ __( 'Name' ) }
132
+ value={ title }
133
+ onChange={ setTitle }
134
+ />
135
+ </PanelBody>
136
+ </InspectorControls>
137
+ <div { ...innerBlocksProps } />
141
138
  </RecursionProvider>
142
139
  );
143
140
  }
@@ -146,7 +146,7 @@ describe( 'Reusable block', () => {
146
146
  } );
147
147
 
148
148
  // Skipped until `pointerEvents: 'none'` no longer erroneously prevents
149
- // triggering `onLayout*` on the element: https://git.io/JSHZt.
149
+ // triggering `onLayout*` on the element: https://github.com/callstack/react-native-testing-library/issues/897.
150
150
  it.skip( 'renders block content', async () => {
151
151
  // We have to use different ids because entities are cached in memory.
152
152
  const id = 4;
@@ -69,6 +69,7 @@
69
69
  "typography": {
70
70
  "fontSize": true,
71
71
  "__experimentalFontFamily": true,
72
+ "__experimentalTextTransform": true,
72
73
  "__experimentalDefaultControls": {
73
74
  "fontSize": true
74
75
  }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://schemas.wp.org/trunk/block.json",
3
3
  "apiVersion": 2,
4
4
  "name": "core/categories",
5
- "title": "Categories",
5
+ "title": "Categories List",
6
6
  "category": "widgets",
7
7
  "description": "Display a list of all categories.",
8
8
  "textdomain": "default",
@@ -17,7 +17,7 @@ import { useInstanceId } from '@wordpress/compose';
17
17
  import { InspectorControls, useBlockProps } from '@wordpress/block-editor';
18
18
  import { __ } from '@wordpress/i18n';
19
19
  import { pin } from '@wordpress/icons';
20
- import { __experimentalUseEntityRecords as useEntityRecords } from '@wordpress/core-data';
20
+ import { useEntityRecords } from '@wordpress/core-data';
21
21
 
22
22
  export default function CategoriesEdit( {
23
23
  attributes: {
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://schemas.wp.org/trunk/block.json",
3
3
  "apiVersion": 2,
4
+ "__experimental": "fse",
4
5
  "name": "core/comment-author-avatar",
5
6
  "title": "Comment Author Avatar (deprecated)",
6
7
  "category": "theme",
@@ -12,12 +12,6 @@
12
12
  "textAlign": {
13
13
  "type": "string"
14
14
  },
15
- "singleCommentLabel": {
16
- "type": "string"
17
- },
18
- "multipleCommentsLabel": {
19
- "type": "string"
20
- },
21
15
  "showPostTitle": {
22
16
  "type": "boolean",
23
17
  "default": true
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import metadata from './block.json';
5
+
6
+ const { attributes, supports } = metadata;
7
+
8
+ export default [
9
+ {
10
+ attributes: {
11
+ ...attributes,
12
+ singleCommentLabel: {
13
+ type: 'string',
14
+ },
15
+ multipleCommentsLabel: {
16
+ type: 'string',
17
+ },
18
+ },
19
+ supports,
20
+ migrate: ( oldAttributes ) => {
21
+ /* eslint-disable no-unused-vars */
22
+ const {
23
+ singleCommentLabel,
24
+ multipleCommentsLabel,
25
+ ...newAttributes
26
+ } = oldAttributes;
27
+ /* eslint-enable no-unused-vars */
28
+ return newAttributes;
29
+ },
30
+ isEligible: ( { multipleCommentsLabel, singleCommentLabel } ) =>
31
+ multipleCommentsLabel || singleCommentLabel,
32
+ save: () => null,
33
+ },
34
+ ];
@@ -10,17 +10,11 @@ import {
10
10
  AlignmentControl,
11
11
  BlockControls,
12
12
  useBlockProps,
13
- PlainText,
14
13
  InspectorControls,
15
14
  } from '@wordpress/block-editor';
16
- import { __ } from '@wordpress/i18n';
15
+ import { __, _n, sprintf } from '@wordpress/i18n';
17
16
  import { useEntityProp } from '@wordpress/core-data';
18
- import {
19
- PanelBody,
20
- ToggleControl,
21
- __experimentalToggleGroupControl as ToggleGroupControl,
22
- __experimentalToggleGroupControlOption as ToggleGroupControlOption,
23
- } from '@wordpress/components';
17
+ import { PanelBody, ToggleControl } from '@wordpress/components';
24
18
  import { useState, useEffect } from '@wordpress/element';
25
19
  import apiFetch from '@wordpress/api-fetch';
26
20
  import { addQueryArgs } from '@wordpress/url';
@@ -31,20 +25,12 @@ import { addQueryArgs } from '@wordpress/url';
31
25
  import HeadingLevelDropdown from '../heading/heading-level-dropdown';
32
26
 
33
27
  export default function Edit( {
34
- attributes: {
35
- textAlign,
36
- singleCommentLabel,
37
- multipleCommentsLabel,
38
- showPostTitle,
39
- showCommentsCount,
40
- level,
41
- },
28
+ attributes: { textAlign, showPostTitle, showCommentsCount, level },
42
29
  setAttributes,
43
30
  context: { postType, postId },
44
31
  } ) {
45
32
  const TagName = 'h' + level;
46
33
  const [ commentsCount, setCommentsCount ] = useState();
47
- const [ editingMode, setEditingMode ] = useState( 'plural' );
48
34
  const [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );
49
35
  const isSiteEditor = typeof postId === 'undefined';
50
36
  const blockProps = useBlockProps( {
@@ -100,22 +86,6 @@ export default function Edit( {
100
86
  const inspectorControls = (
101
87
  <InspectorControls>
102
88
  <PanelBody title={ __( 'Settings' ) }>
103
- { isSiteEditor && (
104
- <ToggleGroupControl
105
- label={ __( 'Editing mode' ) }
106
- onChange={ setEditingMode }
107
- value={ editingMode }
108
- >
109
- <ToggleGroupControlOption
110
- label={ __( 'Singular' ) }
111
- value="singular"
112
- />
113
- <ToggleGroupControlOption
114
- label={ __( 'Plural' ) }
115
- value="plural"
116
- />
117
- </ToggleGroupControl>
118
- ) }
119
89
  <ToggleControl
120
90
  label={ __( 'Show post title' ) }
121
91
  checked={ showPostTitle }
@@ -136,78 +106,52 @@ export default function Edit( {
136
106
 
137
107
  const postTitle = isSiteEditor ? __( '"Post Title"' ) : `"${ rawTitle }"`;
138
108
 
139
- const singlePlaceholder = showPostTitle
140
- ? __( 'One response to ' )
141
- : __( 'One response' );
142
-
143
- const singlePlaceholderNoCount = showPostTitle
144
- ? __( 'Response to ' )
145
- : __( 'Response' );
146
-
147
- const multiplePlaceholder = showPostTitle
148
- ? __( 'responses to ' )
149
- : __( 'responses' );
150
-
151
- const multiplePlaceholderNoCount = showPostTitle
152
- ? __( 'Responses to ' )
153
- : __( 'Responses' );
109
+ let placeholder;
110
+ if ( showCommentsCount && commentsCount !== undefined ) {
111
+ if ( showPostTitle ) {
112
+ if ( commentsCount === 1 ) {
113
+ /* translators: %s: Post title. */
114
+ placeholder = sprintf( __( 'One response to %s' ), postTitle );
115
+ } else {
116
+ placeholder = sprintf(
117
+ /* translators: 1: Number of comments, 2: Post title. */
118
+ _n(
119
+ '%1$s response to %2$s',
120
+ '%1$s responses to %2$s',
121
+ commentsCount
122
+ ),
123
+ commentsCount,
124
+ postTitle
125
+ );
126
+ }
127
+ } else if ( commentsCount === 1 ) {
128
+ placeholder = __( 'One response' );
129
+ } else {
130
+ placeholder = sprintf(
131
+ /* translators: %s: Number of comments. */
132
+ _n( '%s responses', '%s responses', commentsCount ),
133
+ commentsCount
134
+ );
135
+ }
136
+ } else if ( showPostTitle ) {
137
+ if ( commentsCount === 1 ) {
138
+ /* translators: %s: Post title. */
139
+ placeholder = sprintf( __( 'Response to %s' ), postTitle );
140
+ } else {
141
+ /* translators: %s: Post title. */
142
+ placeholder = sprintf( __( 'Responses to %s' ), postTitle );
143
+ }
144
+ } else if ( commentsCount === 1 ) {
145
+ placeholder = __( 'Response' );
146
+ } else {
147
+ placeholder = __( 'Responses' );
148
+ }
154
149
 
155
150
  return (
156
151
  <>
157
152
  { blockControls }
158
153
  { inspectorControls }
159
- <TagName { ...blockProps }>
160
- { editingMode === 'singular' || commentsCount === 1 ? (
161
- <>
162
- <PlainText
163
- __experimentalVersion={ 2 }
164
- tagName="span"
165
- aria-label={
166
- showCommentsCount
167
- ? singlePlaceholder
168
- : singlePlaceholderNoCount
169
- }
170
- placeholder={
171
- showCommentsCount
172
- ? singlePlaceholder
173
- : singlePlaceholderNoCount
174
- }
175
- value={ singleCommentLabel }
176
- onChange={ ( newLabel ) =>
177
- setAttributes( {
178
- singleCommentLabel: newLabel,
179
- } )
180
- }
181
- />
182
- { showPostTitle ? postTitle : null }
183
- </>
184
- ) : (
185
- <>
186
- { showCommentsCount ? commentsCount : null }
187
- <PlainText
188
- __experimentalVersion={ 2 }
189
- tagName="span"
190
- aria-label={
191
- showCommentsCount
192
- ? ` ${ multiplePlaceholder }`
193
- : multiplePlaceholderNoCount
194
- }
195
- placeholder={
196
- showCommentsCount
197
- ? ` ${ multiplePlaceholder }`
198
- : multiplePlaceholderNoCount
199
- }
200
- value={ multipleCommentsLabel }
201
- onChange={ ( newLabel ) =>
202
- setAttributes( {
203
- multipleCommentsLabel: newLabel,
204
- } )
205
- }
206
- />
207
- { showPostTitle ? postTitle : null }
208
- </>
209
- ) }
210
- </TagName>
154
+ <TagName { ...blockProps }>{ placeholder }</TagName>
211
155
  </>
212
156
  );
213
157
  }
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { commentTitle as icon } from '@wordpress/icons';
4
+ import { title as icon } from '@wordpress/icons';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
9
  import metadata from './block.json';
10
10
  import edit from './edit';
11
+ import deprecated from './deprecated';
11
12
 
12
13
  const { name } = metadata;
13
14
  export { metadata, name };
@@ -15,4 +16,5 @@ export { metadata, name };
15
16
  export const settings = {
16
17
  icon,
17
18
  edit,
19
+ deprecated,
18
20
  };