@wordpress/block-library 9.13.1-next.cd6172eb0.0 → 9.14.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 (544) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/user-control.js +1 -0
  3. package/build/avatar/user-control.js.map +1 -1
  4. package/build/block/deprecated.js +1 -0
  5. package/build/block/deprecated.js.map +1 -1
  6. package/build/block/edit.js +1 -0
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/deprecated.js +1 -0
  9. package/build/button/deprecated.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/transforms.js +1 -0
  13. package/build/buttons/transforms.js.map +1 -1
  14. package/build/categories/edit.js +1 -0
  15. package/build/categories/edit.js.map +1 -1
  16. package/build/column/column-preview.native.js +1 -0
  17. package/build/column/column-preview.native.js.map +1 -1
  18. package/build/columns/columnCalculations.native.js +1 -0
  19. package/build/columns/columnCalculations.native.js.map +1 -1
  20. package/build/columns/deprecated.js +1 -0
  21. package/build/columns/deprecated.js.map +1 -1
  22. package/build/columns/edit.js +1 -0
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/edit.native.js +1 -0
  25. package/build/columns/edit.native.js.map +1 -1
  26. package/build/columns/transforms.js +1 -0
  27. package/build/columns/transforms.js.map +1 -1
  28. package/build/columns/utils.js +1 -0
  29. package/build/columns/utils.js.map +1 -1
  30. package/build/comment-template/edit.js +1 -0
  31. package/build/comment-template/edit.js.map +1 -1
  32. package/build/comment-template/hooks.js +1 -0
  33. package/build/comment-template/hooks.js.map +1 -1
  34. package/build/comment-template/util.js +1 -0
  35. package/build/comment-template/util.js.map +1 -1
  36. package/build/details/transforms.js +1 -0
  37. package/build/details/transforms.js.map +1 -1
  38. package/build/embed/embed-placeholder.native.js +1 -0
  39. package/build/embed/embed-placeholder.native.js.map +1 -1
  40. package/build/embed/util.js +1 -0
  41. package/build/embed/util.js.map +1 -1
  42. package/build/embed/variations.js +1 -0
  43. package/build/embed/variations.js.map +1 -1
  44. package/build/embed/wp-embed-preview.js +1 -0
  45. package/build/embed/wp-embed-preview.js.map +1 -1
  46. package/build/file/transforms.js +1 -0
  47. package/build/file/transforms.js.map +1 -1
  48. package/build/footnotes/edit.js +1 -0
  49. package/build/footnotes/edit.js.map +1 -1
  50. package/build/form/index.js +1 -2
  51. package/build/form/index.js.map +1 -1
  52. package/build/form/view.js +10 -5
  53. package/build/form/view.js.map +1 -1
  54. package/build/freeform/modal.js +1 -0
  55. package/build/freeform/modal.js.map +1 -1
  56. package/build/gallery/deprecated.js +1 -0
  57. package/build/gallery/deprecated.js.map +1 -1
  58. package/build/gallery/edit.js +1 -0
  59. package/build/gallery/edit.js.map +1 -1
  60. package/build/gallery/shared.js +1 -0
  61. package/build/gallery/shared.js.map +1 -1
  62. package/build/gallery/transforms.js +1 -0
  63. package/build/gallery/transforms.js.map +1 -1
  64. package/build/gallery/use-get-media.js +1 -0
  65. package/build/gallery/use-get-media.js.map +1 -1
  66. package/build/gallery/use-get-media.native.js +1 -0
  67. package/build/gallery/use-get-media.native.js.map +1 -1
  68. package/build/gallery/use-get-new-images.js +1 -0
  69. package/build/gallery/use-get-new-images.js.map +1 -1
  70. package/build/gallery/use-image-sizes.js +1 -0
  71. package/build/gallery/use-image-sizes.js.map +1 -1
  72. package/build/group/placeholder.js +1 -0
  73. package/build/group/placeholder.js.map +1 -1
  74. package/build/group/transforms.js +1 -0
  75. package/build/group/transforms.js.map +1 -1
  76. package/build/heading/transforms.js +1 -0
  77. package/build/heading/transforms.js.map +1 -1
  78. package/build/html/preview.js +1 -0
  79. package/build/html/preview.js.map +1 -1
  80. package/build/image/edit.js +1 -0
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +1 -0
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +2 -1
  85. package/build/image/image.js.map +1 -1
  86. package/build/image/transforms.js +1 -0
  87. package/build/image/transforms.js.map +1 -1
  88. package/build/image/utils.js +1 -0
  89. package/build/image/utils.js.map +1 -1
  90. package/build/image/view.js +1 -3
  91. package/build/image/view.js.map +1 -1
  92. package/build/index.js +2 -1
  93. package/build/index.js.map +1 -1
  94. package/build/index.native.js +1 -0
  95. package/build/index.native.js.map +1 -1
  96. package/build/latest-posts/edit.js +1 -0
  97. package/build/latest-posts/edit.js.map +1 -1
  98. package/build/list/transforms.js +1 -0
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +1 -0
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  103. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  104. package/build/list-item/transforms.js +1 -0
  105. package/build/list-item/transforms.js.map +1 -1
  106. package/build/media-text/edit.js +1 -0
  107. package/build/media-text/edit.js.map +1 -1
  108. package/build/more/save.js +1 -0
  109. package/build/more/save.js.map +1 -1
  110. package/build/navigation/deprecated.js +1 -0
  111. package/build/navigation/deprecated.js.map +1 -1
  112. package/build/navigation/edit/index.js +1 -0
  113. package/build/navigation/edit/index.js.map +1 -1
  114. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
  115. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  116. package/build/navigation/menu-items-to-blocks.js +1 -0
  117. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  118. package/build/navigation/use-template-part-area-label.js +1 -0
  119. package/build/navigation/use-template-part-area-label.js.map +1 -1
  120. package/build/navigation/view.js +1 -0
  121. package/build/navigation/view.js.map +1 -1
  122. package/build/navigation-link/edit.js +1 -2
  123. package/build/navigation-link/edit.js.map +1 -1
  124. package/build/navigation-link/hooks.js +1 -0
  125. package/build/navigation-link/hooks.js.map +1 -1
  126. package/build/navigation-link/link-ui.js +3 -3
  127. package/build/navigation-link/link-ui.js.map +1 -1
  128. package/build/navigation-submenu/edit.js +0 -1
  129. package/build/navigation-submenu/edit.js.map +1 -1
  130. package/build/page-list/edit.js +1 -0
  131. package/build/page-list/edit.js.map +1 -1
  132. package/build/page-list/use-convert-to-navigation-links.js +1 -0
  133. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  134. package/build/paragraph/edit.js +8 -2
  135. package/build/paragraph/edit.js.map +1 -1
  136. package/build/pattern/edit.js +1 -0
  137. package/build/pattern/edit.js.map +1 -1
  138. package/build/post-author/edit.js +1 -0
  139. package/build/post-author/edit.js.map +1 -1
  140. package/build/post-featured-image/dimension-controls.js +1 -0
  141. package/build/post-featured-image/dimension-controls.js.map +1 -1
  142. package/build/post-navigation-link/edit.js +1 -0
  143. package/build/post-navigation-link/edit.js.map +1 -1
  144. package/build/post-navigation-link/variations.js +1 -0
  145. package/build/post-navigation-link/variations.js.map +1 -1
  146. package/build/post-template/edit.js +1 -0
  147. package/build/post-template/edit.js.map +1 -1
  148. package/build/post-template/index.js +1 -1
  149. package/build/post-template/index.js.map +1 -1
  150. package/build/post-terms/edit.js +1 -0
  151. package/build/post-terms/edit.js.map +1 -1
  152. package/build/post-terms/hooks.js +1 -0
  153. package/build/post-terms/hooks.js.map +1 -1
  154. package/build/pullquote/blockquote.native.js +1 -0
  155. package/build/pullquote/blockquote.native.js.map +1 -1
  156. package/build/pullquote/transforms.js +1 -0
  157. package/build/pullquote/transforms.js.map +1 -1
  158. package/build/query/deprecated.js +1 -0
  159. package/build/query/deprecated.js.map +1 -1
  160. package/build/query/edit/inspector-controls/author-control.js +1 -0
  161. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  162. package/build/query/edit/inspector-controls/format-controls.js +1 -0
  163. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  164. package/build/query/edit/inspector-controls/index.js +1 -0
  165. package/build/query/edit/inspector-controls/index.js.map +1 -1
  166. package/build/query/edit/inspector-controls/parent-control.js +1 -0
  167. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  168. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  169. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  170. package/build/query/utils.js +1 -0
  171. package/build/query/utils.js.map +1 -1
  172. package/build/query-no-results/index.js +1 -1
  173. package/build/query-no-results/index.js.map +1 -1
  174. package/build/query-title/variations.js +1 -0
  175. package/build/query-title/variations.js.map +1 -1
  176. package/build/query-total/edit.js +92 -0
  177. package/build/query-total/edit.js.map +1 -0
  178. package/build/query-total/icons.js +46 -0
  179. package/build/query-total/icons.js.map +1 -0
  180. package/build/query-total/index.js +74 -0
  181. package/build/query-total/index.js.map +1 -0
  182. package/build/query-total/init.js +12 -0
  183. package/build/query-total/init.js.map +1 -0
  184. package/build/quote/deprecated.js +1 -0
  185. package/build/quote/deprecated.js.map +1 -1
  186. package/build/quote/transforms.js +1 -0
  187. package/build/quote/transforms.js.map +1 -1
  188. package/build/social-link/social-list.js +1 -0
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/social-link/variations.js +1 -0
  191. package/build/social-link/variations.js.map +1 -1
  192. package/build/social-links/edit.js +1 -0
  193. package/build/social-links/edit.js.map +1 -1
  194. package/build/social-links/edit.native.js +1 -0
  195. package/build/social-links/edit.native.js.map +1 -1
  196. package/build/spacer/controls.js +1 -0
  197. package/build/spacer/controls.js.map +1 -1
  198. package/build/table/deprecated.js +1 -0
  199. package/build/table/deprecated.js.map +1 -1
  200. package/build/table/edit.js +1 -0
  201. package/build/table/edit.js.map +1 -1
  202. package/build/table/save.js +1 -0
  203. package/build/table/save.js.map +1 -1
  204. package/build/table/state.js +1 -0
  205. package/build/table/state.js.map +1 -1
  206. package/build/table/transforms.js +1 -0
  207. package/build/table/transforms.js.map +1 -1
  208. package/build/table-of-contents/list.js +1 -0
  209. package/build/table-of-contents/list.js.map +1 -1
  210. package/build/table-of-contents/utils.js +1 -0
  211. package/build/table-of-contents/utils.js.map +1 -1
  212. package/build/tag-cloud/edit.js +1 -0
  213. package/build/tag-cloud/edit.js.map +1 -1
  214. package/build/template-part/edit/advanced-controls.js +1 -0
  215. package/build/template-part/edit/advanced-controls.js.map +1 -1
  216. package/build/template-part/edit/import-controls.js +1 -0
  217. package/build/template-part/edit/import-controls.js.map +1 -1
  218. package/build/template-part/edit/selection-modal.js +1 -0
  219. package/build/template-part/edit/selection-modal.js.map +1 -1
  220. package/build/template-part/edit/utils/hooks.js +1 -0
  221. package/build/template-part/edit/utils/hooks.js.map +1 -1
  222. package/build/template-part/edit/utils/transformers.js +1 -0
  223. package/build/template-part/edit/utils/transformers.js.map +1 -1
  224. package/build/template-part/variations.js +1 -0
  225. package/build/template-part/variations.js.map +1 -1
  226. package/build/text-columns/edit.js +1 -0
  227. package/build/text-columns/edit.js.map +1 -1
  228. package/build/text-columns/save.js +1 -0
  229. package/build/text-columns/save.js.map +1 -1
  230. package/build/text-columns/transforms.js +1 -0
  231. package/build/text-columns/transforms.js.map +1 -1
  232. package/build/utils/get-transformed-metadata.js +1 -0
  233. package/build/utils/get-transformed-metadata.js.map +1 -1
  234. package/build/utils/search-patterns.js +1 -0
  235. package/build/utils/search-patterns.js.map +1 -1
  236. package/build/utils/transformation-categories.native.js +1 -0
  237. package/build/utils/transformation-categories.native.js.map +1 -1
  238. package/build/video/tracks-editor.js +1 -0
  239. package/build/video/tracks-editor.js.map +1 -1
  240. package/build/video/tracks.js +1 -0
  241. package/build/video/tracks.js.map +1 -1
  242. package/build-module/avatar/user-control.js +1 -0
  243. package/build-module/avatar/user-control.js.map +1 -1
  244. package/build-module/block/deprecated.js +1 -0
  245. package/build-module/block/deprecated.js.map +1 -1
  246. package/build-module/block/edit.js +1 -0
  247. package/build-module/block/edit.js.map +1 -1
  248. package/build-module/button/deprecated.js +1 -0
  249. package/build-module/button/deprecated.js.map +1 -1
  250. package/build-module/button/edit.js +1 -1
  251. package/build-module/button/edit.js.map +1 -1
  252. package/build-module/buttons/transforms.js +1 -0
  253. package/build-module/buttons/transforms.js.map +1 -1
  254. package/build-module/categories/edit.js +1 -0
  255. package/build-module/categories/edit.js.map +1 -1
  256. package/build-module/column/column-preview.native.js +1 -0
  257. package/build-module/column/column-preview.native.js.map +1 -1
  258. package/build-module/columns/columnCalculations.native.js +1 -0
  259. package/build-module/columns/columnCalculations.native.js.map +1 -1
  260. package/build-module/columns/deprecated.js +1 -0
  261. package/build-module/columns/deprecated.js.map +1 -1
  262. package/build-module/columns/edit.js +1 -0
  263. package/build-module/columns/edit.js.map +1 -1
  264. package/build-module/columns/edit.native.js +1 -0
  265. package/build-module/columns/edit.native.js.map +1 -1
  266. package/build-module/columns/transforms.js +1 -0
  267. package/build-module/columns/transforms.js.map +1 -1
  268. package/build-module/columns/utils.js +1 -0
  269. package/build-module/columns/utils.js.map +1 -1
  270. package/build-module/comment-template/edit.js +1 -0
  271. package/build-module/comment-template/edit.js.map +1 -1
  272. package/build-module/comment-template/hooks.js +1 -0
  273. package/build-module/comment-template/hooks.js.map +1 -1
  274. package/build-module/comment-template/util.js +1 -0
  275. package/build-module/comment-template/util.js.map +1 -1
  276. package/build-module/details/transforms.js +1 -0
  277. package/build-module/details/transforms.js.map +1 -1
  278. package/build-module/embed/embed-placeholder.native.js +1 -0
  279. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  280. package/build-module/embed/util.js +1 -0
  281. package/build-module/embed/util.js.map +1 -1
  282. package/build-module/embed/variations.js +1 -0
  283. package/build-module/embed/variations.js.map +1 -1
  284. package/build-module/embed/wp-embed-preview.js +1 -0
  285. package/build-module/embed/wp-embed-preview.js.map +1 -1
  286. package/build-module/file/transforms.js +1 -0
  287. package/build-module/file/transforms.js.map +1 -1
  288. package/build-module/footnotes/edit.js +1 -0
  289. package/build-module/footnotes/edit.js.map +1 -1
  290. package/build-module/form/index.js +1 -2
  291. package/build-module/form/index.js.map +1 -1
  292. package/build-module/form/view.js +10 -5
  293. package/build-module/form/view.js.map +1 -1
  294. package/build-module/freeform/modal.js +1 -0
  295. package/build-module/freeform/modal.js.map +1 -1
  296. package/build-module/gallery/deprecated.js +1 -0
  297. package/build-module/gallery/deprecated.js.map +1 -1
  298. package/build-module/gallery/edit.js +1 -0
  299. package/build-module/gallery/edit.js.map +1 -1
  300. package/build-module/gallery/shared.js +1 -0
  301. package/build-module/gallery/shared.js.map +1 -1
  302. package/build-module/gallery/transforms.js +1 -0
  303. package/build-module/gallery/transforms.js.map +1 -1
  304. package/build-module/gallery/use-get-media.js +1 -0
  305. package/build-module/gallery/use-get-media.js.map +1 -1
  306. package/build-module/gallery/use-get-media.native.js +1 -0
  307. package/build-module/gallery/use-get-media.native.js.map +1 -1
  308. package/build-module/gallery/use-get-new-images.js +1 -0
  309. package/build-module/gallery/use-get-new-images.js.map +1 -1
  310. package/build-module/gallery/use-image-sizes.js +1 -0
  311. package/build-module/gallery/use-image-sizes.js.map +1 -1
  312. package/build-module/group/placeholder.js +1 -0
  313. package/build-module/group/placeholder.js.map +1 -1
  314. package/build-module/group/transforms.js +1 -0
  315. package/build-module/group/transforms.js.map +1 -1
  316. package/build-module/heading/transforms.js +1 -0
  317. package/build-module/heading/transforms.js.map +1 -1
  318. package/build-module/html/preview.js +1 -0
  319. package/build-module/html/preview.js.map +1 -1
  320. package/build-module/image/edit.js +1 -0
  321. package/build-module/image/edit.js.map +1 -1
  322. package/build-module/image/edit.native.js +1 -0
  323. package/build-module/image/edit.native.js.map +1 -1
  324. package/build-module/image/image.js +2 -1
  325. package/build-module/image/image.js.map +1 -1
  326. package/build-module/image/transforms.js +1 -0
  327. package/build-module/image/transforms.js.map +1 -1
  328. package/build-module/image/utils.js +1 -0
  329. package/build-module/image/utils.js.map +1 -1
  330. package/build-module/image/view.js +1 -3
  331. package/build-module/image/view.js.map +1 -1
  332. package/build-module/index.js +2 -1
  333. package/build-module/index.js.map +1 -1
  334. package/build-module/index.native.js +1 -0
  335. package/build-module/index.native.js.map +1 -1
  336. package/build-module/latest-posts/edit.js +1 -0
  337. package/build-module/latest-posts/edit.js.map +1 -1
  338. package/build-module/list/transforms.js +1 -0
  339. package/build-module/list/transforms.js.map +1 -1
  340. package/build-module/list/utils.js +1 -0
  341. package/build-module/list/utils.js.map +1 -1
  342. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  343. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  344. package/build-module/list-item/transforms.js +1 -0
  345. package/build-module/list-item/transforms.js.map +1 -1
  346. package/build-module/media-text/edit.js +1 -0
  347. package/build-module/media-text/edit.js.map +1 -1
  348. package/build-module/more/save.js +1 -0
  349. package/build-module/more/save.js.map +1 -1
  350. package/build-module/navigation/deprecated.js +1 -0
  351. package/build-module/navigation/deprecated.js.map +1 -1
  352. package/build-module/navigation/edit/index.js +1 -0
  353. package/build-module/navigation/edit/index.js.map +1 -1
  354. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
  355. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  356. package/build-module/navigation/menu-items-to-blocks.js +1 -0
  357. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  358. package/build-module/navigation/use-template-part-area-label.js +1 -0
  359. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  360. package/build-module/navigation/view.js +1 -0
  361. package/build-module/navigation/view.js.map +1 -1
  362. package/build-module/navigation-link/edit.js +1 -2
  363. package/build-module/navigation-link/edit.js.map +1 -1
  364. package/build-module/navigation-link/hooks.js +1 -0
  365. package/build-module/navigation-link/hooks.js.map +1 -1
  366. package/build-module/navigation-link/link-ui.js +1 -1
  367. package/build-module/navigation-link/link-ui.js.map +1 -1
  368. package/build-module/navigation-submenu/edit.js +0 -1
  369. package/build-module/navigation-submenu/edit.js.map +1 -1
  370. package/build-module/page-list/edit.js +1 -0
  371. package/build-module/page-list/edit.js.map +1 -1
  372. package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
  373. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  374. package/build-module/paragraph/edit.js +8 -2
  375. package/build-module/paragraph/edit.js.map +1 -1
  376. package/build-module/pattern/edit.js +1 -0
  377. package/build-module/pattern/edit.js.map +1 -1
  378. package/build-module/post-author/edit.js +1 -0
  379. package/build-module/post-author/edit.js.map +1 -1
  380. package/build-module/post-featured-image/dimension-controls.js +1 -0
  381. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  382. package/build-module/post-navigation-link/edit.js +1 -0
  383. package/build-module/post-navigation-link/edit.js.map +1 -1
  384. package/build-module/post-navigation-link/variations.js +1 -0
  385. package/build-module/post-navigation-link/variations.js.map +1 -1
  386. package/build-module/post-template/edit.js +1 -0
  387. package/build-module/post-template/edit.js.map +1 -1
  388. package/build-module/post-template/index.js +1 -1
  389. package/build-module/post-template/index.js.map +1 -1
  390. package/build-module/post-terms/edit.js +1 -0
  391. package/build-module/post-terms/edit.js.map +1 -1
  392. package/build-module/post-terms/hooks.js +1 -0
  393. package/build-module/post-terms/hooks.js.map +1 -1
  394. package/build-module/pullquote/blockquote.native.js +1 -0
  395. package/build-module/pullquote/blockquote.native.js.map +1 -1
  396. package/build-module/pullquote/transforms.js +1 -0
  397. package/build-module/pullquote/transforms.js.map +1 -1
  398. package/build-module/query/deprecated.js +1 -0
  399. package/build-module/query/deprecated.js.map +1 -1
  400. package/build-module/query/edit/inspector-controls/author-control.js +1 -0
  401. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  402. package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
  403. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  404. package/build-module/query/edit/inspector-controls/index.js +1 -0
  405. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  406. package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
  407. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  408. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  409. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  410. package/build-module/query/utils.js +1 -0
  411. package/build-module/query/utils.js.map +1 -1
  412. package/build-module/query-no-results/index.js +1 -1
  413. package/build-module/query-no-results/index.js.map +1 -1
  414. package/build-module/query-title/variations.js +1 -0
  415. package/build-module/query-title/variations.js.map +1 -1
  416. package/build-module/query-total/edit.js +85 -0
  417. package/build-module/query-total/edit.js.map +1 -0
  418. package/build-module/query-total/icons.js +39 -0
  419. package/build-module/query-total/icons.js.map +1 -0
  420. package/build-module/query-total/index.js +67 -0
  421. package/build-module/query-total/index.js.map +1 -0
  422. package/build-module/query-total/init.js +6 -0
  423. package/build-module/query-total/init.js.map +1 -0
  424. package/build-module/quote/deprecated.js +1 -0
  425. package/build-module/quote/deprecated.js.map +1 -1
  426. package/build-module/quote/transforms.js +1 -0
  427. package/build-module/quote/transforms.js.map +1 -1
  428. package/build-module/social-link/social-list.js +1 -0
  429. package/build-module/social-link/social-list.js.map +1 -1
  430. package/build-module/social-link/variations.js +1 -0
  431. package/build-module/social-link/variations.js.map +1 -1
  432. package/build-module/social-links/edit.js +1 -0
  433. package/build-module/social-links/edit.js.map +1 -1
  434. package/build-module/social-links/edit.native.js +1 -0
  435. package/build-module/social-links/edit.native.js.map +1 -1
  436. package/build-module/spacer/controls.js +1 -0
  437. package/build-module/spacer/controls.js.map +1 -1
  438. package/build-module/table/deprecated.js +1 -0
  439. package/build-module/table/deprecated.js.map +1 -1
  440. package/build-module/table/edit.js +1 -0
  441. package/build-module/table/edit.js.map +1 -1
  442. package/build-module/table/save.js +1 -0
  443. package/build-module/table/save.js.map +1 -1
  444. package/build-module/table/state.js +1 -0
  445. package/build-module/table/state.js.map +1 -1
  446. package/build-module/table/transforms.js +1 -0
  447. package/build-module/table/transforms.js.map +1 -1
  448. package/build-module/table-of-contents/list.js +1 -0
  449. package/build-module/table-of-contents/list.js.map +1 -1
  450. package/build-module/table-of-contents/utils.js +1 -0
  451. package/build-module/table-of-contents/utils.js.map +1 -1
  452. package/build-module/tag-cloud/edit.js +1 -0
  453. package/build-module/tag-cloud/edit.js.map +1 -1
  454. package/build-module/template-part/edit/advanced-controls.js +1 -0
  455. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  456. package/build-module/template-part/edit/import-controls.js +1 -0
  457. package/build-module/template-part/edit/import-controls.js.map +1 -1
  458. package/build-module/template-part/edit/selection-modal.js +1 -0
  459. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  460. package/build-module/template-part/edit/utils/hooks.js +1 -0
  461. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  462. package/build-module/template-part/edit/utils/transformers.js +1 -0
  463. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  464. package/build-module/template-part/variations.js +1 -0
  465. package/build-module/template-part/variations.js.map +1 -1
  466. package/build-module/text-columns/edit.js +1 -0
  467. package/build-module/text-columns/edit.js.map +1 -1
  468. package/build-module/text-columns/save.js +1 -0
  469. package/build-module/text-columns/save.js.map +1 -1
  470. package/build-module/text-columns/transforms.js +1 -0
  471. package/build-module/text-columns/transforms.js.map +1 -1
  472. package/build-module/utils/get-transformed-metadata.js +1 -0
  473. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  474. package/build-module/utils/search-patterns.js +1 -0
  475. package/build-module/utils/search-patterns.js.map +1 -1
  476. package/build-module/utils/transformation-categories.native.js +1 -0
  477. package/build-module/utils/transformation-categories.native.js.map +1 -1
  478. package/build-module/video/tracks-editor.js +1 -0
  479. package/build-module/video/tracks-editor.js.map +1 -1
  480. package/build-module/video/tracks.js +1 -0
  481. package/build-module/video/tracks.js.map +1 -1
  482. package/build-style/button/style-rtl.css +3 -3
  483. package/build-style/button/style.css +3 -3
  484. package/build-style/comments/editor-rtl.css +1 -1
  485. package/build-style/comments/editor.css +1 -1
  486. package/build-style/comments/style-rtl.css +1 -1
  487. package/build-style/comments/style.css +1 -1
  488. package/build-style/common-rtl.css +17 -17
  489. package/build-style/common.css +17 -17
  490. package/build-style/editor-rtl.css +41 -41
  491. package/build-style/editor.css +41 -41
  492. package/build-style/gallery/style-rtl.css +2 -2
  493. package/build-style/gallery/style.css +2 -2
  494. package/build-style/heading/style-rtl.css +11 -11
  495. package/build-style/heading/style.css +11 -11
  496. package/build-style/image/style-rtl.css +1 -1
  497. package/build-style/image/style.css +1 -1
  498. package/build-style/latest-comments/style-rtl.css +4 -4
  499. package/build-style/latest-comments/style.css +4 -4
  500. package/build-style/latest-posts/style-rtl.css +2 -1
  501. package/build-style/latest-posts/style.css +2 -1
  502. package/build-style/more/editor-rtl.css +1 -1
  503. package/build-style/more/editor.css +1 -1
  504. package/build-style/nextpage/editor-rtl.css +1 -1
  505. package/build-style/nextpage/editor.css +1 -1
  506. package/build-style/post-comments-form/style-rtl.css +2 -2
  507. package/build-style/post-comments-form/style.css +2 -2
  508. package/build-style/post-featured-image/editor-rtl.css +27 -27
  509. package/build-style/post-featured-image/editor.css +27 -27
  510. package/build-style/read-more/style-rtl.css +2 -2
  511. package/build-style/read-more/style.css +2 -2
  512. package/build-style/social-link/editor-rtl.css +2 -2
  513. package/build-style/social-link/editor.css +2 -2
  514. package/build-style/social-links/editor-rtl.css +2 -2
  515. package/build-style/social-links/editor.css +2 -2
  516. package/build-style/social-links/style-rtl.css +2 -2
  517. package/build-style/social-links/style.css +2 -2
  518. package/build-style/style-rtl.css +50 -49
  519. package/build-style/style.css +50 -49
  520. package/build-style/text-columns/style-rtl.css +3 -3
  521. package/build-style/text-columns/style.css +3 -3
  522. package/package.json +35 -34
  523. package/src/button/edit.js +1 -1
  524. package/src/form/block.json +1 -2
  525. package/src/form/index.php +1 -20
  526. package/src/form/view.js +18 -5
  527. package/src/image/image.js +1 -1
  528. package/src/image/index.php +1 -1
  529. package/src/image/view.js +1 -3
  530. package/src/index.js +2 -0
  531. package/src/latest-posts/style.scss +2 -1
  532. package/src/navigation-link/edit.js +0 -6
  533. package/src/navigation-link/link-ui.js +1 -1
  534. package/src/navigation-submenu/edit.js +0 -6
  535. package/src/paragraph/edit.js +11 -1
  536. package/src/post-template/block.json +1 -1
  537. package/src/query-no-results/block.json +1 -1
  538. package/src/query-total/block.json +45 -0
  539. package/src/query-total/edit.js +83 -0
  540. package/src/query-total/icons.js +43 -0
  541. package/src/query-total/index.js +18 -0
  542. package/src/query-total/index.php +92 -0
  543. package/src/query-total/init.js +6 -0
  544. package/tsconfig.tsbuildinfo +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-library",
3
- "version": "9.13.1-next.cd6172eb0.0",
3
+ "version": "9.14.0",
4
4
  "description": "Block library for the WordPress editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,6 +28,7 @@
28
28
  "wpScript": true,
29
29
  "wpScriptModuleExports": {
30
30
  "./file/view": "./build-module/file/view.js",
31
+ "./form/view": "./build-module/form/view.js",
31
32
  "./image/view": "./build-module/image/view.js",
32
33
  "./navigation/view": "./build-module/navigation/view.js",
33
34
  "./query/view": "./build-module/query/view.js",
@@ -40,39 +41,39 @@
40
41
  ],
41
42
  "dependencies": {
42
43
  "@babel/runtime": "7.25.7",
43
- "@wordpress/a11y": "^4.13.1-next.cd6172eb0.0",
44
- "@wordpress/api-fetch": "^7.13.1-next.cd6172eb0.0",
45
- "@wordpress/autop": "^4.13.1-next.cd6172eb0.0",
46
- "@wordpress/blob": "^4.13.1-next.cd6172eb0.0",
47
- "@wordpress/block-editor": "^14.8.1-next.cd6172eb0.0",
48
- "@wordpress/blocks": "^14.2.1-next.cd6172eb0.0",
44
+ "@wordpress/a11y": "*",
45
+ "@wordpress/api-fetch": "*",
46
+ "@wordpress/autop": "*",
47
+ "@wordpress/blob": "*",
48
+ "@wordpress/block-editor": "*",
49
+ "@wordpress/blocks": "*",
49
50
  "@wordpress/components": "*",
50
- "@wordpress/compose": "^7.13.1-next.cd6172eb0.0",
51
- "@wordpress/core-data": "^7.13.1-next.cd6172eb0.0",
52
- "@wordpress/data": "^10.13.1-next.cd6172eb0.0",
53
- "@wordpress/date": "^5.13.1-next.cd6172eb0.0",
54
- "@wordpress/deprecated": "^4.13.1-next.cd6172eb0.0",
55
- "@wordpress/dom": "^4.13.1-next.cd6172eb0.0",
56
- "@wordpress/element": "^6.13.1-next.cd6172eb0.0",
57
- "@wordpress/escape-html": "^3.13.1-next.cd6172eb0.0",
58
- "@wordpress/hooks": "^4.13.1-next.cd6172eb0.0",
59
- "@wordpress/html-entities": "^4.13.1-next.cd6172eb0.0",
60
- "@wordpress/i18n": "^5.13.1-next.cd6172eb0.0",
61
- "@wordpress/icons": "^10.13.1-next.cd6172eb0.0",
62
- "@wordpress/interactivity": "^6.13.1-next.cd6172eb0.0",
63
- "@wordpress/interactivity-router": "^2.13.1-next.cd6172eb0.0",
64
- "@wordpress/keyboard-shortcuts": "^5.13.1-next.cd6172eb0.0",
65
- "@wordpress/keycodes": "^4.13.1-next.cd6172eb0.0",
66
- "@wordpress/notices": "^5.13.1-next.cd6172eb0.0",
67
- "@wordpress/patterns": "^2.13.1-next.cd6172eb0.0",
68
- "@wordpress/primitives": "^4.13.1-next.cd6172eb0.0",
69
- "@wordpress/private-apis": "^1.13.1-next.cd6172eb0.0",
70
- "@wordpress/reusable-blocks": "^5.13.1-next.cd6172eb0.0",
71
- "@wordpress/rich-text": "^7.13.1-next.cd6172eb0.0",
72
- "@wordpress/server-side-render": "^5.13.1-next.cd6172eb0.0",
73
- "@wordpress/url": "^4.13.1-next.cd6172eb0.0",
74
- "@wordpress/viewport": "^6.13.1-next.cd6172eb0.0",
75
- "@wordpress/wordcount": "^4.13.1-next.cd6172eb0.0",
51
+ "@wordpress/compose": "*",
52
+ "@wordpress/core-data": "*",
53
+ "@wordpress/data": "*",
54
+ "@wordpress/date": "*",
55
+ "@wordpress/deprecated": "*",
56
+ "@wordpress/dom": "*",
57
+ "@wordpress/element": "*",
58
+ "@wordpress/escape-html": "*",
59
+ "@wordpress/hooks": "*",
60
+ "@wordpress/html-entities": "*",
61
+ "@wordpress/i18n": "*",
62
+ "@wordpress/icons": "*",
63
+ "@wordpress/interactivity": "*",
64
+ "@wordpress/interactivity-router": "*",
65
+ "@wordpress/keyboard-shortcuts": "*",
66
+ "@wordpress/keycodes": "*",
67
+ "@wordpress/notices": "*",
68
+ "@wordpress/patterns": "*",
69
+ "@wordpress/primitives": "*",
70
+ "@wordpress/private-apis": "*",
71
+ "@wordpress/reusable-blocks": "*",
72
+ "@wordpress/rich-text": "*",
73
+ "@wordpress/server-side-render": "*",
74
+ "@wordpress/url": "*",
75
+ "@wordpress/viewport": "*",
76
+ "@wordpress/wordcount": "*",
76
77
  "change-case": "^4.1.2",
77
78
  "clsx": "^2.1.1",
78
79
  "colord": "^2.7.0",
@@ -90,5 +91,5 @@
90
91
  "publishConfig": {
91
92
  "access": "public"
92
93
  },
93
- "gitHead": "4cc93dc1781d8a7bc2bbde265913917920e2bd45"
94
+ "gitHead": "b432c18934c9db866b6dba7d37517a4e97d642e3"
94
95
  }
@@ -29,11 +29,11 @@ import {
29
29
  InspectorControls,
30
30
  RichText,
31
31
  useBlockProps,
32
+ LinkControl,
32
33
  __experimentalUseBorderProps as useBorderProps,
33
34
  __experimentalUseColorProps as useColorProps,
34
35
  __experimentalGetSpacingClassesAndStyles as useSpacingProps,
35
36
  __experimentalGetShadowClassesAndStyles as useShadowProps,
36
- __experimentalLinkControl as LinkControl,
37
37
  __experimentalGetElementClassName,
38
38
  store as blockEditorStore,
39
39
  useBlockEditingMode,
@@ -64,6 +64,5 @@
64
64
  }
65
65
  },
66
66
  "__experimentalSelector": "form"
67
- },
68
- "viewScript": "file:./view.min.js"
67
+ }
69
68
  }
@@ -14,6 +14,7 @@
14
14
  * @return string The content of the block being rendered.
15
15
  */
16
16
  function render_block_core_form( $attributes, $content ) {
17
+ wp_enqueue_script_module( '@wordpress/block-library/form/view' );
17
18
 
18
19
  $processed_content = new WP_HTML_Tag_Processor( $content );
19
20
  $processed_content->next_tag( 'form' );
@@ -42,26 +43,6 @@ function render_block_core_form( $attributes, $content ) {
42
43
  );
43
44
  }
44
45
 
45
- /**
46
- * Additional data to add to the view.js script for this block.
47
- */
48
- function block_core_form_view_script() {
49
- if ( ! gutenberg_is_experiment_enabled( 'gutenberg-form-blocks' ) ) {
50
- return;
51
- }
52
-
53
- wp_localize_script(
54
- 'wp-block-form-view',
55
- 'wpBlockFormSettings',
56
- array(
57
- 'nonce' => wp_create_nonce( 'wp-block-form' ),
58
- 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
59
- 'action' => 'wp_block_form_email_submit',
60
- )
61
- );
62
- }
63
- add_action( 'wp_enqueue_scripts', 'block_core_form_view_script' );
64
-
65
46
  /**
66
47
  * Adds extra fields to the form.
67
48
  *
package/src/form/view.js CHANGED
@@ -1,8 +1,21 @@
1
+ let formSettings;
2
+ try {
3
+ formSettings = JSON.parse(
4
+ document.getElementById(
5
+ 'wp-script-module-data-@wordpress/block-library/form/view'
6
+ )?.textContent
7
+ );
8
+ } catch {}
9
+
1
10
  // eslint-disable-next-line eslint-comments/disable-enable-pair
2
11
  /* eslint-disable no-undef */
3
12
  document.querySelectorAll( 'form.wp-block-form' ).forEach( function ( form ) {
4
- // Bail If the form is not using the mailto: action.
5
- if ( ! form.action || ! form.action.startsWith( 'mailto:' ) ) {
13
+ // Bail If the form settings not provided or the form is not using the mailto: action.
14
+ if (
15
+ ! formSettings ||
16
+ ! form.action ||
17
+ ! form.action.startsWith( 'mailto:' )
18
+ ) {
6
19
  return;
7
20
  }
8
21
 
@@ -18,13 +31,13 @@ document.querySelectorAll( 'form.wp-block-form' ).forEach( function ( form ) {
18
31
  // Get the form data and merge it with the form action and nonce.
19
32
  const formData = Object.fromEntries( new FormData( form ).entries() );
20
33
  formData.formAction = form.action;
21
- formData._ajax_nonce = wpBlockFormSettings.nonce;
22
- formData.action = wpBlockFormSettings.action;
34
+ formData._ajax_nonce = formSettings.nonce;
35
+ formData.action = formSettings.action;
23
36
  formData._wp_http_referer = window.location.href;
24
37
  formData.formAction = form.action;
25
38
 
26
39
  try {
27
- const response = await fetch( wpBlockFormSettings.ajaxUrl, {
40
+ const response = await fetch( formSettings.ajaxUrl, {
28
41
  method: 'POST',
29
42
  headers: {
30
43
  'Content-Type': 'application/x-www-form-urlencoded',
@@ -1126,7 +1126,7 @@ export default function Image( {
1126
1126
  id &&
1127
1127
  clientId === selectedClientIds[ 0 ] && (
1128
1128
  <MenuItem onClick={ setPostFeatureImage }>
1129
- { __( 'Set featured image' ) }
1129
+ { __( 'Set as featured image' ) }
1130
1130
  </MenuItem>
1131
1131
  )
1132
1132
  }
@@ -290,6 +290,7 @@ function block_core_image_print_lightbox_overlay() {
290
290
  data-wp-on-async--click="actions.hideLightbox"
291
291
  data-wp-on-async-window--resize="callbacks.setOverlayStyles"
292
292
  data-wp-on-async-window--scroll="actions.handleScroll"
293
+ data-wp-bind--style="state.overlayStyles"
293
294
  tabindex="-1"
294
295
  >
295
296
  <button type="button" aria-label="$close_button_label" style="fill: $close_button_color" class="close-button">
@@ -306,7 +307,6 @@ function block_core_image_print_lightbox_overlay() {
306
307
  </figure>
307
308
  </div>
308
309
  <div class="scrim" style="background-color: $background_color" aria-hidden="true"></div>
309
- <style data-wp-text="state.overlayStyles"></style>
310
310
  </div>
311
311
  HTML;
312
312
  }
package/src/image/view.js CHANGED
@@ -341,7 +341,6 @@ const { state, actions, callbacks } = store(
341
341
  // adding 1 pixel to the container width and height solves the problem,
342
342
  // though this can be removed if the issue is fixed in the future.
343
343
  state.overlayStyles = `
344
- :root {
345
344
  --wp--lightbox-initial-top-position: ${ screenPosY }px;
346
345
  --wp--lightbox-initial-left-position: ${ screenPosX }px;
347
346
  --wp--lightbox-container-width: ${ containerWidth + 1 }px;
@@ -352,8 +351,7 @@ const { state, actions, callbacks } = store(
352
351
  --wp--lightbox-scrollbar-width: ${
353
352
  window.innerWidth - document.documentElement.clientWidth
354
353
  }px;
355
- }
356
- `;
354
+ `;
357
355
  },
358
356
  setButtonStyles() {
359
357
  const { imageId } = getContext();
package/src/index.js CHANGED
@@ -99,6 +99,7 @@ import * as queryPaginationNext from './query-pagination-next';
99
99
  import * as queryPaginationNumbers from './query-pagination-numbers';
100
100
  import * as queryPaginationPrevious from './query-pagination-previous';
101
101
  import * as queryTitle from './query-title';
102
+ import * as queryTotal from './query-total';
102
103
  import * as quote from './quote';
103
104
  import * as reusableBlock from './block';
104
105
  import * as readMore from './read-more';
@@ -211,6 +212,7 @@ const getAllBlocks = () => {
211
212
  queryPaginationNumbers,
212
213
  queryPaginationPrevious,
213
214
  queryNoResults,
215
+ queryTotal,
214
216
  readMore,
215
217
  comments,
216
218
  commentAuthorName,
@@ -57,7 +57,8 @@
57
57
  font-size: 0.8125em;
58
58
  }
59
59
 
60
- .wp-block-latest-posts__post-excerpt {
60
+ .wp-block-latest-posts__post-excerpt,
61
+ .wp-block-latest-posts__post-full-content {
61
62
  margin-top: 0.5em;
62
63
  margin-bottom: 1em;
63
64
  }
@@ -527,12 +527,6 @@ export default function NavigationLinkEdit( {
527
527
  ) }
528
528
  placeholder={ itemLabelPlaceholder }
529
529
  withoutInteractiveFormatting
530
- allowedFormats={ [
531
- 'core/bold',
532
- 'core/italic',
533
- 'core/image',
534
- 'core/strikethrough',
535
- ] }
536
530
  />
537
531
  { description && (
538
532
  <span className="wp-block-navigation-item__description">
@@ -10,7 +10,7 @@ import {
10
10
  } from '@wordpress/components';
11
11
  import { __, sprintf, isRTL } from '@wordpress/i18n';
12
12
  import {
13
- __experimentalLinkControl as LinkControl,
13
+ LinkControl,
14
14
  store as blockEditorStore,
15
15
  privateApis as blockEditorPrivateApis,
16
16
  } from '@wordpress/block-editor';
@@ -461,12 +461,6 @@ export default function NavigationSubmenuEdit( {
461
461
  aria-label={ __( 'Navigation link text' ) }
462
462
  placeholder={ itemLabelPlaceholder }
463
463
  withoutInteractiveFormatting
464
- allowedFormats={ [
465
- 'core/bold',
466
- 'core/italic',
467
- 'core/image',
468
- 'core/strikethrough',
469
- ] }
470
464
  onClick={ () => {
471
465
  if ( ! openSubmenusOnClick && ! url ) {
472
466
  setIsLinkOpen( true );
@@ -21,6 +21,7 @@ import {
21
21
  useSettings,
22
22
  useBlockEditingMode,
23
23
  } from '@wordpress/block-editor';
24
+ import { getBlockSupport } from '@wordpress/blocks';
24
25
  import { formatLtr } from '@wordpress/icons';
25
26
 
26
27
  /**
@@ -47,7 +48,7 @@ function hasDropCapDisabled( align ) {
47
48
  return align === ( isRTL() ? 'left' : 'right' ) || align === 'center';
48
49
  }
49
50
 
50
- function DropCapControl( { clientId, attributes, setAttributes } ) {
51
+ function DropCapControl( { clientId, attributes, setAttributes, name } ) {
51
52
  // Please do not add a useSelect call to the paragraph block unconditionally.
52
53
  // Every useSelect added to a (frequently used) block will degrade load
53
54
  // and type performance. By moving it within InspectorControls, the subscription is
@@ -69,11 +70,18 @@ function DropCapControl( { clientId, attributes, setAttributes } ) {
69
70
  helpText = __( 'Show a large initial letter.' );
70
71
  }
71
72
 
73
+ const isDropCapControlEnabledByDefault = getBlockSupport(
74
+ name,
75
+ 'typography.defaultControls.dropCap',
76
+ false
77
+ );
78
+
72
79
  return (
73
80
  <InspectorControls group="typography">
74
81
  <ToolsPanelItem
75
82
  hasValue={ () => !! dropCap }
76
83
  label={ __( 'Drop cap' ) }
84
+ isShownByDefault={ isDropCapControlEnabledByDefault }
77
85
  onDeselect={ () => setAttributes( { dropCap: undefined } ) }
78
86
  resetAllFilter={ () => ( { dropCap: undefined } ) }
79
87
  panelId={ clientId }
@@ -99,6 +107,7 @@ function ParagraphBlock( {
99
107
  setAttributes,
100
108
  clientId,
101
109
  isSelected: isSingleSelected,
110
+ name,
102
111
  } ) {
103
112
  const { align, content, direction, dropCap, placeholder } = attributes;
104
113
  const blockProps = useBlockProps( {
@@ -136,6 +145,7 @@ function ParagraphBlock( {
136
145
  ) }
137
146
  { isSingleSelected && (
138
147
  <DropCapControl
148
+ name={ name }
139
149
  clientId={ clientId }
140
150
  attributes={ attributes }
141
151
  setAttributes={ setAttributes }
@@ -4,7 +4,7 @@
4
4
  "name": "core/post-template",
5
5
  "title": "Post Template",
6
6
  "category": "theme",
7
- "parent": [ "core/query" ],
7
+ "ancestor": [ "core/query" ],
8
8
  "description": "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
9
9
  "textdomain": "default",
10
10
  "usesContext": [
@@ -5,7 +5,7 @@
5
5
  "title": "No results",
6
6
  "category": "theme",
7
7
  "description": "Contains the block elements used to render content when no query results are found.",
8
- "parent": [ "core/query" ],
8
+ "ancestor": [ "core/query" ],
9
9
  "textdomain": "default",
10
10
  "usesContext": [ "queryId", "query" ],
11
11
  "example": {
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "apiVersion": 3,
4
+ "name": "core/query-total",
5
+ "title": "Query Total",
6
+ "category": "theme",
7
+ "ancestor": [ "core/query" ],
8
+ "description": "Display the total number of results in a query.",
9
+ "textdomain": "default",
10
+ "attributes": {
11
+ "displayType": {
12
+ "type": "string",
13
+ "default": "total-results"
14
+ }
15
+ },
16
+ "usesContext": [ "queryId", "query" ],
17
+ "supports": {
18
+ "align": [ "wide", "full" ],
19
+ "html": false,
20
+ "spacing": {
21
+ "margin": true,
22
+ "padding": true
23
+ },
24
+ "color": {
25
+ "gradients": true,
26
+ "text": true,
27
+ "__experimentalDefaultControls": {
28
+ "background": true
29
+ }
30
+ },
31
+ "typography": {
32
+ "fontSize": true,
33
+ "lineHeight": true,
34
+ "__experimentalFontFamily": true,
35
+ "__experimentalFontWeight": true,
36
+ "__experimentalFontStyle": true,
37
+ "__experimentalTextTransform": true,
38
+ "__experimentalTextDecoration": true,
39
+ "__experimentalLetterSpacing": true,
40
+ "__experimentalDefaultControls": {
41
+ "fontSize": true
42
+ }
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useBlockProps, BlockControls } from '@wordpress/block-editor';
5
+ import { ToolbarGroup, ToolbarDropdownMenu } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { resultsFound, displayingResults } from './icons';
12
+
13
+ export default function QueryTotalEdit( { attributes, setAttributes } ) {
14
+ const { displayType } = attributes;
15
+
16
+ // Block properties and classes.
17
+ const blockProps = useBlockProps();
18
+
19
+ const getButtonPositionIcon = () => {
20
+ switch ( displayType ) {
21
+ case 'total-results':
22
+ return resultsFound;
23
+ case 'range-display':
24
+ return displayingResults;
25
+ }
26
+ };
27
+
28
+ const buttonPositionControls = [
29
+ {
30
+ role: 'menuitemradio',
31
+ title: __( 'Total results' ),
32
+ isActive: displayType === 'total-results',
33
+ icon: resultsFound,
34
+ onClick: () => {
35
+ setAttributes( { displayType: 'total-results' } );
36
+ },
37
+ },
38
+ {
39
+ role: 'menuitemradio',
40
+ title: __( 'Range display' ),
41
+ isActive: displayType === 'range-display',
42
+ icon: displayingResults,
43
+ onClick: () => {
44
+ setAttributes( { displayType: 'range-display' } );
45
+ },
46
+ },
47
+ ];
48
+
49
+ // Controls for the block.
50
+ const controls = (
51
+ <>
52
+ <BlockControls>
53
+ <ToolbarGroup>
54
+ <ToolbarDropdownMenu
55
+ icon={ getButtonPositionIcon() }
56
+ label={ __( 'Change display type' ) }
57
+ controls={ buttonPositionControls }
58
+ />
59
+ </ToolbarGroup>
60
+ </BlockControls>
61
+ </>
62
+ );
63
+
64
+ // Render output based on the selected display type.
65
+ const renderDisplay = () => {
66
+ if ( displayType === 'total-results' ) {
67
+ return <div>{ __( '12 results found' ) }</div>;
68
+ }
69
+
70
+ if ( displayType === 'range-display' ) {
71
+ return <div>{ __( 'Displaying 1 – 10 of 12' ) }</div>;
72
+ }
73
+
74
+ return null;
75
+ };
76
+
77
+ return (
78
+ <div { ...blockProps }>
79
+ { controls }
80
+ { renderDisplay() }
81
+ </div>
82
+ );
83
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/components';
5
+
6
+ export const resultsFound = (
7
+ <SVG
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ viewBox="0 0 24 24"
10
+ width="24"
11
+ height="24"
12
+ aria-hidden="true"
13
+ focusable="false"
14
+ >
15
+ <Path d="M4 11h4v2H4v-2zm6 0h6v2h-6v-2zm8 0h2v2h-2v-2z" />
16
+ </SVG>
17
+ );
18
+
19
+ export const displayingResults = (
20
+ <SVG
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ viewBox="0 0 24 24"
23
+ width="24"
24
+ height="24"
25
+ aria-hidden="true"
26
+ focusable="false"
27
+ >
28
+ <Path d="M4 13h2v-2H4v2zm4 0h10v-2H8v2zm12 0h2v-2h-2v2z" />
29
+ </SVG>
30
+ );
31
+
32
+ export const queryTotal = (
33
+ <SVG
34
+ xmlns="http://www.w3.org/2000/svg"
35
+ viewBox="0 0 24 24"
36
+ width="24"
37
+ height="24"
38
+ aria-hidden="true"
39
+ focusable="false"
40
+ >
41
+ <Path d="M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12Zm-7-6-4.1 5h8.8v-3h-1.5v1.5h-4.2l2.9-3.5-2.9-3.5h4.2V10h1.5V7H7.4l4.1 5Z" />
42
+ </SVG>
43
+ );
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import metadata from './block.json';
5
+ import edit from './edit';
6
+ import initBlock from '../utils/init-block';
7
+ import { queryTotal } from './icons';
8
+
9
+ /* Block settings */
10
+ const { name } = metadata;
11
+ export { metadata, name };
12
+
13
+ export const settings = {
14
+ icon: queryTotal,
15
+ edit,
16
+ };
17
+
18
+ export const init = () => initBlock( { name, metadata, settings } );
@@ -0,0 +1,92 @@
1
+ <?php
2
+ /**
3
+ * Server-side rendering of the `core/query-total` block.
4
+ *
5
+ * @package WordPress
6
+ */
7
+
8
+ /**
9
+ * Renders the `query-total` block on the server.
10
+ *
11
+ * @since 6.8.0
12
+ *
13
+ * @param array $attributes Block attributes.
14
+ * @param string $content Block default content.
15
+ * @param WP_Block $block Block instance.
16
+ *
17
+ * @return string The rendered block content.
18
+ */
19
+ function render_block_core_query_total( $attributes, $content, $block ) {
20
+ global $wp_query;
21
+ $wrapper_attributes = get_block_wrapper_attributes();
22
+ if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) {
23
+ $query_to_use = $wp_query;
24
+ $current_page = max( 1, get_query_var( 'paged', 1 ) );
25
+ } else {
26
+ $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
27
+ $current_page = isset( $_GET[ $page_key ] ) ? (int) $_GET[ $page_key ] : 1;
28
+ $query_to_use = new WP_Query( build_query_vars_from_query_block( $block, $current_page ) );
29
+ }
30
+
31
+ $max_rows = $query_to_use->found_posts;
32
+ $posts_per_page = $query_to_use->get( 'posts_per_page' );
33
+
34
+ // Calculate the range of posts being displayed.
35
+ $start = ( $current_page - 1 ) * $posts_per_page + 1;
36
+ $end = min( $start + $posts_per_page - 1, $max_rows );
37
+
38
+ // Prepare the display based on the `displayType` attribute.
39
+ $output = '';
40
+ switch ( $attributes['displayType'] ) {
41
+ case 'range-display':
42
+ if ( $start === $end ) {
43
+ $range_text = sprintf(
44
+ /* translators: 1: Start index of posts, 2: Total number of posts */
45
+ __( 'Displaying %1$s of %2$s' ),
46
+ '<strong>' . $start . '</strong>',
47
+ '<strong>' . $max_rows . '</strong>'
48
+ );
49
+ } else {
50
+ $range_text = sprintf(
51
+ /* translators: 1: Start index of posts, 2: End index of posts, 3: Total number of posts */
52
+ __( 'Displaying %1$s – %2$s of %3$s' ),
53
+ '<strong>' . $start . '</strong>',
54
+ '<strong>' . $end . '</strong>',
55
+ '<strong>' . $max_rows . '</strong>'
56
+ );
57
+ }
58
+
59
+ $output = sprintf( '<p>%s</p>', $range_text );
60
+ break;
61
+
62
+ case 'total-results':
63
+ default:
64
+ $output = sprintf(
65
+ '<p><strong>%d</strong> %s</p>',
66
+ $max_rows,
67
+ _n( 'result found', 'results found', $max_rows )
68
+ );
69
+ break;
70
+ }
71
+
72
+ return sprintf(
73
+ '<div %1$s>%2$s</div>',
74
+ $wrapper_attributes,
75
+ $output
76
+ );
77
+ }
78
+
79
+ /**
80
+ * Registers the `query-total` block.
81
+ *
82
+ * @since 6.8.0
83
+ */
84
+ function register_block_core_query_total() {
85
+ register_block_type_from_metadata(
86
+ __DIR__ . '/query-total',
87
+ array(
88
+ 'render_callback' => 'render_block_core_query_total',
89
+ )
90
+ );
91
+ }
92
+ add_action( 'init', 'register_block_core_query_total' );
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { init } from './';
5
+
6
+ export default init();