@wordpress/block-library 9.13.1-next.a9f418477.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 (481) 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/freeform/modal.js +1 -0
  51. package/build/freeform/modal.js.map +1 -1
  52. package/build/gallery/deprecated.js +1 -0
  53. package/build/gallery/deprecated.js.map +1 -1
  54. package/build/gallery/edit.js +1 -0
  55. package/build/gallery/edit.js.map +1 -1
  56. package/build/gallery/shared.js +1 -0
  57. package/build/gallery/shared.js.map +1 -1
  58. package/build/gallery/transforms.js +1 -0
  59. package/build/gallery/transforms.js.map +1 -1
  60. package/build/gallery/use-get-media.js +1 -0
  61. package/build/gallery/use-get-media.js.map +1 -1
  62. package/build/gallery/use-get-media.native.js +1 -0
  63. package/build/gallery/use-get-media.native.js.map +1 -1
  64. package/build/gallery/use-get-new-images.js +1 -0
  65. package/build/gallery/use-get-new-images.js.map +1 -1
  66. package/build/gallery/use-image-sizes.js +1 -0
  67. package/build/gallery/use-image-sizes.js.map +1 -1
  68. package/build/group/placeholder.js +1 -0
  69. package/build/group/placeholder.js.map +1 -1
  70. package/build/group/transforms.js +1 -0
  71. package/build/group/transforms.js.map +1 -1
  72. package/build/heading/transforms.js +1 -0
  73. package/build/heading/transforms.js.map +1 -1
  74. package/build/html/preview.js +1 -0
  75. package/build/html/preview.js.map +1 -1
  76. package/build/image/edit.js +1 -0
  77. package/build/image/edit.js.map +1 -1
  78. package/build/image/edit.native.js +1 -0
  79. package/build/image/edit.native.js.map +1 -1
  80. package/build/image/image.js +2 -1
  81. package/build/image/image.js.map +1 -1
  82. package/build/image/transforms.js +1 -0
  83. package/build/image/transforms.js.map +1 -1
  84. package/build/image/utils.js +1 -0
  85. package/build/image/utils.js.map +1 -1
  86. package/build/image/view.js +1 -3
  87. package/build/image/view.js.map +1 -1
  88. package/build/index.js +2 -1
  89. package/build/index.js.map +1 -1
  90. package/build/index.native.js +1 -0
  91. package/build/index.native.js.map +1 -1
  92. package/build/latest-posts/edit.js +1 -0
  93. package/build/latest-posts/edit.js.map +1 -1
  94. package/build/list/transforms.js +1 -0
  95. package/build/list/transforms.js.map +1 -1
  96. package/build/list/utils.js +1 -0
  97. package/build/list/utils.js.map +1 -1
  98. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  99. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  100. package/build/list-item/transforms.js +1 -0
  101. package/build/list-item/transforms.js.map +1 -1
  102. package/build/media-text/edit.js +1 -0
  103. package/build/media-text/edit.js.map +1 -1
  104. package/build/more/save.js +1 -0
  105. package/build/more/save.js.map +1 -1
  106. package/build/navigation/deprecated.js +1 -0
  107. package/build/navigation/deprecated.js.map +1 -1
  108. package/build/navigation/edit/index.js +1 -0
  109. package/build/navigation/edit/index.js.map +1 -1
  110. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
  111. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  112. package/build/navigation/menu-items-to-blocks.js +1 -0
  113. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  114. package/build/navigation/use-template-part-area-label.js +1 -0
  115. package/build/navigation/use-template-part-area-label.js.map +1 -1
  116. package/build/navigation/view.js +1 -0
  117. package/build/navigation/view.js.map +1 -1
  118. package/build/navigation-link/hooks.js +1 -0
  119. package/build/navigation-link/hooks.js.map +1 -1
  120. package/build/navigation-link/link-ui.js +3 -3
  121. package/build/navigation-link/link-ui.js.map +1 -1
  122. package/build/page-list/edit.js +1 -0
  123. package/build/page-list/edit.js.map +1 -1
  124. package/build/page-list/use-convert-to-navigation-links.js +1 -0
  125. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  126. package/build/paragraph/edit.js +8 -2
  127. package/build/paragraph/edit.js.map +1 -1
  128. package/build/pattern/edit.js +1 -0
  129. package/build/pattern/edit.js.map +1 -1
  130. package/build/post-author/edit.js +1 -0
  131. package/build/post-author/edit.js.map +1 -1
  132. package/build/post-featured-image/dimension-controls.js +1 -0
  133. package/build/post-featured-image/dimension-controls.js.map +1 -1
  134. package/build/post-navigation-link/edit.js +1 -0
  135. package/build/post-navigation-link/edit.js.map +1 -1
  136. package/build/post-navigation-link/variations.js +1 -0
  137. package/build/post-navigation-link/variations.js.map +1 -1
  138. package/build/post-template/edit.js +1 -0
  139. package/build/post-template/edit.js.map +1 -1
  140. package/build/post-template/index.js +1 -1
  141. package/build/post-template/index.js.map +1 -1
  142. package/build/post-terms/edit.js +1 -0
  143. package/build/post-terms/edit.js.map +1 -1
  144. package/build/post-terms/hooks.js +1 -0
  145. package/build/post-terms/hooks.js.map +1 -1
  146. package/build/pullquote/blockquote.native.js +1 -0
  147. package/build/pullquote/blockquote.native.js.map +1 -1
  148. package/build/pullquote/transforms.js +1 -0
  149. package/build/pullquote/transforms.js.map +1 -1
  150. package/build/query/deprecated.js +1 -0
  151. package/build/query/deprecated.js.map +1 -1
  152. package/build/query/edit/inspector-controls/author-control.js +1 -0
  153. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  154. package/build/query/edit/inspector-controls/format-controls.js +1 -0
  155. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  156. package/build/query/edit/inspector-controls/index.js +1 -0
  157. package/build/query/edit/inspector-controls/index.js.map +1 -1
  158. package/build/query/edit/inspector-controls/parent-control.js +1 -0
  159. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  160. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  161. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  162. package/build/query/utils.js +1 -0
  163. package/build/query/utils.js.map +1 -1
  164. package/build/query-no-results/index.js +1 -1
  165. package/build/query-no-results/index.js.map +1 -1
  166. package/build/query-title/variations.js +1 -0
  167. package/build/query-title/variations.js.map +1 -1
  168. package/build/query-total/edit.js +92 -0
  169. package/build/query-total/edit.js.map +1 -0
  170. package/build/query-total/icons.js +46 -0
  171. package/build/query-total/icons.js.map +1 -0
  172. package/build/query-total/index.js +74 -0
  173. package/build/query-total/index.js.map +1 -0
  174. package/build/query-total/init.js +12 -0
  175. package/build/query-total/init.js.map +1 -0
  176. package/build/quote/deprecated.js +1 -0
  177. package/build/quote/deprecated.js.map +1 -1
  178. package/build/quote/transforms.js +1 -0
  179. package/build/quote/transforms.js.map +1 -1
  180. package/build/social-link/social-list.js +1 -0
  181. package/build/social-link/social-list.js.map +1 -1
  182. package/build/social-link/variations.js +1 -0
  183. package/build/social-link/variations.js.map +1 -1
  184. package/build/social-links/edit.js +1 -0
  185. package/build/social-links/edit.js.map +1 -1
  186. package/build/social-links/edit.native.js +1 -0
  187. package/build/social-links/edit.native.js.map +1 -1
  188. package/build/spacer/controls.js +1 -0
  189. package/build/spacer/controls.js.map +1 -1
  190. package/build/table/deprecated.js +1 -0
  191. package/build/table/deprecated.js.map +1 -1
  192. package/build/table/edit.js +1 -0
  193. package/build/table/edit.js.map +1 -1
  194. package/build/table/save.js +1 -0
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +1 -0
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +1 -0
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/list.js +1 -0
  201. package/build/table-of-contents/list.js.map +1 -1
  202. package/build/table-of-contents/utils.js +1 -0
  203. package/build/table-of-contents/utils.js.map +1 -1
  204. package/build/tag-cloud/edit.js +1 -0
  205. package/build/tag-cloud/edit.js.map +1 -1
  206. package/build/template-part/edit/advanced-controls.js +1 -0
  207. package/build/template-part/edit/advanced-controls.js.map +1 -1
  208. package/build/template-part/edit/import-controls.js +1 -0
  209. package/build/template-part/edit/import-controls.js.map +1 -1
  210. package/build/template-part/edit/selection-modal.js +1 -0
  211. package/build/template-part/edit/selection-modal.js.map +1 -1
  212. package/build/template-part/edit/utils/hooks.js +1 -0
  213. package/build/template-part/edit/utils/hooks.js.map +1 -1
  214. package/build/template-part/edit/utils/transformers.js +1 -0
  215. package/build/template-part/edit/utils/transformers.js.map +1 -1
  216. package/build/template-part/variations.js +1 -0
  217. package/build/template-part/variations.js.map +1 -1
  218. package/build/text-columns/edit.js +1 -0
  219. package/build/text-columns/edit.js.map +1 -1
  220. package/build/text-columns/save.js +1 -0
  221. package/build/text-columns/save.js.map +1 -1
  222. package/build/text-columns/transforms.js +1 -0
  223. package/build/text-columns/transforms.js.map +1 -1
  224. package/build/utils/get-transformed-metadata.js +1 -0
  225. package/build/utils/get-transformed-metadata.js.map +1 -1
  226. package/build/utils/search-patterns.js +1 -0
  227. package/build/utils/search-patterns.js.map +1 -1
  228. package/build/utils/transformation-categories.native.js +1 -0
  229. package/build/utils/transformation-categories.native.js.map +1 -1
  230. package/build/video/tracks-editor.js +1 -0
  231. package/build/video/tracks-editor.js.map +1 -1
  232. package/build/video/tracks.js +1 -0
  233. package/build/video/tracks.js.map +1 -1
  234. package/build-module/avatar/user-control.js +1 -0
  235. package/build-module/avatar/user-control.js.map +1 -1
  236. package/build-module/block/deprecated.js +1 -0
  237. package/build-module/block/deprecated.js.map +1 -1
  238. package/build-module/block/edit.js +1 -0
  239. package/build-module/block/edit.js.map +1 -1
  240. package/build-module/button/deprecated.js +1 -0
  241. package/build-module/button/deprecated.js.map +1 -1
  242. package/build-module/button/edit.js +1 -1
  243. package/build-module/button/edit.js.map +1 -1
  244. package/build-module/buttons/transforms.js +1 -0
  245. package/build-module/buttons/transforms.js.map +1 -1
  246. package/build-module/categories/edit.js +1 -0
  247. package/build-module/categories/edit.js.map +1 -1
  248. package/build-module/column/column-preview.native.js +1 -0
  249. package/build-module/column/column-preview.native.js.map +1 -1
  250. package/build-module/columns/columnCalculations.native.js +1 -0
  251. package/build-module/columns/columnCalculations.native.js.map +1 -1
  252. package/build-module/columns/deprecated.js +1 -0
  253. package/build-module/columns/deprecated.js.map +1 -1
  254. package/build-module/columns/edit.js +1 -0
  255. package/build-module/columns/edit.js.map +1 -1
  256. package/build-module/columns/edit.native.js +1 -0
  257. package/build-module/columns/edit.native.js.map +1 -1
  258. package/build-module/columns/transforms.js +1 -0
  259. package/build-module/columns/transforms.js.map +1 -1
  260. package/build-module/columns/utils.js +1 -0
  261. package/build-module/columns/utils.js.map +1 -1
  262. package/build-module/comment-template/edit.js +1 -0
  263. package/build-module/comment-template/edit.js.map +1 -1
  264. package/build-module/comment-template/hooks.js +1 -0
  265. package/build-module/comment-template/hooks.js.map +1 -1
  266. package/build-module/comment-template/util.js +1 -0
  267. package/build-module/comment-template/util.js.map +1 -1
  268. package/build-module/details/transforms.js +1 -0
  269. package/build-module/details/transforms.js.map +1 -1
  270. package/build-module/embed/embed-placeholder.native.js +1 -0
  271. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  272. package/build-module/embed/util.js +1 -0
  273. package/build-module/embed/util.js.map +1 -1
  274. package/build-module/embed/variations.js +1 -0
  275. package/build-module/embed/variations.js.map +1 -1
  276. package/build-module/embed/wp-embed-preview.js +1 -0
  277. package/build-module/embed/wp-embed-preview.js.map +1 -1
  278. package/build-module/file/transforms.js +1 -0
  279. package/build-module/file/transforms.js.map +1 -1
  280. package/build-module/footnotes/edit.js +1 -0
  281. package/build-module/footnotes/edit.js.map +1 -1
  282. package/build-module/freeform/modal.js +1 -0
  283. package/build-module/freeform/modal.js.map +1 -1
  284. package/build-module/gallery/deprecated.js +1 -0
  285. package/build-module/gallery/deprecated.js.map +1 -1
  286. package/build-module/gallery/edit.js +1 -0
  287. package/build-module/gallery/edit.js.map +1 -1
  288. package/build-module/gallery/shared.js +1 -0
  289. package/build-module/gallery/shared.js.map +1 -1
  290. package/build-module/gallery/transforms.js +1 -0
  291. package/build-module/gallery/transforms.js.map +1 -1
  292. package/build-module/gallery/use-get-media.js +1 -0
  293. package/build-module/gallery/use-get-media.js.map +1 -1
  294. package/build-module/gallery/use-get-media.native.js +1 -0
  295. package/build-module/gallery/use-get-media.native.js.map +1 -1
  296. package/build-module/gallery/use-get-new-images.js +1 -0
  297. package/build-module/gallery/use-get-new-images.js.map +1 -1
  298. package/build-module/gallery/use-image-sizes.js +1 -0
  299. package/build-module/gallery/use-image-sizes.js.map +1 -1
  300. package/build-module/group/placeholder.js +1 -0
  301. package/build-module/group/placeholder.js.map +1 -1
  302. package/build-module/group/transforms.js +1 -0
  303. package/build-module/group/transforms.js.map +1 -1
  304. package/build-module/heading/transforms.js +1 -0
  305. package/build-module/heading/transforms.js.map +1 -1
  306. package/build-module/html/preview.js +1 -0
  307. package/build-module/html/preview.js.map +1 -1
  308. package/build-module/image/edit.js +1 -0
  309. package/build-module/image/edit.js.map +1 -1
  310. package/build-module/image/edit.native.js +1 -0
  311. package/build-module/image/edit.native.js.map +1 -1
  312. package/build-module/image/image.js +2 -1
  313. package/build-module/image/image.js.map +1 -1
  314. package/build-module/image/transforms.js +1 -0
  315. package/build-module/image/transforms.js.map +1 -1
  316. package/build-module/image/utils.js +1 -0
  317. package/build-module/image/utils.js.map +1 -1
  318. package/build-module/image/view.js +1 -3
  319. package/build-module/image/view.js.map +1 -1
  320. package/build-module/index.js +2 -1
  321. package/build-module/index.js.map +1 -1
  322. package/build-module/index.native.js +1 -0
  323. package/build-module/index.native.js.map +1 -1
  324. package/build-module/latest-posts/edit.js +1 -0
  325. package/build-module/latest-posts/edit.js.map +1 -1
  326. package/build-module/list/transforms.js +1 -0
  327. package/build-module/list/transforms.js.map +1 -1
  328. package/build-module/list/utils.js +1 -0
  329. package/build-module/list/utils.js.map +1 -1
  330. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  331. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  332. package/build-module/list-item/transforms.js +1 -0
  333. package/build-module/list-item/transforms.js.map +1 -1
  334. package/build-module/media-text/edit.js +1 -0
  335. package/build-module/media-text/edit.js.map +1 -1
  336. package/build-module/more/save.js +1 -0
  337. package/build-module/more/save.js.map +1 -1
  338. package/build-module/navigation/deprecated.js +1 -0
  339. package/build-module/navigation/deprecated.js.map +1 -1
  340. package/build-module/navigation/edit/index.js +1 -0
  341. package/build-module/navigation/edit/index.js.map +1 -1
  342. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
  343. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  344. package/build-module/navigation/menu-items-to-blocks.js +1 -0
  345. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  346. package/build-module/navigation/use-template-part-area-label.js +1 -0
  347. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  348. package/build-module/navigation/view.js +1 -0
  349. package/build-module/navigation/view.js.map +1 -1
  350. package/build-module/navigation-link/hooks.js +1 -0
  351. package/build-module/navigation-link/hooks.js.map +1 -1
  352. package/build-module/navigation-link/link-ui.js +1 -1
  353. package/build-module/navigation-link/link-ui.js.map +1 -1
  354. package/build-module/page-list/edit.js +1 -0
  355. package/build-module/page-list/edit.js.map +1 -1
  356. package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
  357. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  358. package/build-module/paragraph/edit.js +8 -2
  359. package/build-module/paragraph/edit.js.map +1 -1
  360. package/build-module/pattern/edit.js +1 -0
  361. package/build-module/pattern/edit.js.map +1 -1
  362. package/build-module/post-author/edit.js +1 -0
  363. package/build-module/post-author/edit.js.map +1 -1
  364. package/build-module/post-featured-image/dimension-controls.js +1 -0
  365. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  366. package/build-module/post-navigation-link/edit.js +1 -0
  367. package/build-module/post-navigation-link/edit.js.map +1 -1
  368. package/build-module/post-navigation-link/variations.js +1 -0
  369. package/build-module/post-navigation-link/variations.js.map +1 -1
  370. package/build-module/post-template/edit.js +1 -0
  371. package/build-module/post-template/edit.js.map +1 -1
  372. package/build-module/post-template/index.js +1 -1
  373. package/build-module/post-template/index.js.map +1 -1
  374. package/build-module/post-terms/edit.js +1 -0
  375. package/build-module/post-terms/edit.js.map +1 -1
  376. package/build-module/post-terms/hooks.js +1 -0
  377. package/build-module/post-terms/hooks.js.map +1 -1
  378. package/build-module/pullquote/blockquote.native.js +1 -0
  379. package/build-module/pullquote/blockquote.native.js.map +1 -1
  380. package/build-module/pullquote/transforms.js +1 -0
  381. package/build-module/pullquote/transforms.js.map +1 -1
  382. package/build-module/query/deprecated.js +1 -0
  383. package/build-module/query/deprecated.js.map +1 -1
  384. package/build-module/query/edit/inspector-controls/author-control.js +1 -0
  385. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  386. package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
  387. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  388. package/build-module/query/edit/inspector-controls/index.js +1 -0
  389. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  390. package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
  391. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  392. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  393. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  394. package/build-module/query/utils.js +1 -0
  395. package/build-module/query/utils.js.map +1 -1
  396. package/build-module/query-no-results/index.js +1 -1
  397. package/build-module/query-no-results/index.js.map +1 -1
  398. package/build-module/query-title/variations.js +1 -0
  399. package/build-module/query-title/variations.js.map +1 -1
  400. package/build-module/query-total/edit.js +85 -0
  401. package/build-module/query-total/edit.js.map +1 -0
  402. package/build-module/query-total/icons.js +39 -0
  403. package/build-module/query-total/icons.js.map +1 -0
  404. package/build-module/query-total/index.js +67 -0
  405. package/build-module/query-total/index.js.map +1 -0
  406. package/build-module/query-total/init.js +6 -0
  407. package/build-module/query-total/init.js.map +1 -0
  408. package/build-module/quote/deprecated.js +1 -0
  409. package/build-module/quote/deprecated.js.map +1 -1
  410. package/build-module/quote/transforms.js +1 -0
  411. package/build-module/quote/transforms.js.map +1 -1
  412. package/build-module/social-link/social-list.js +1 -0
  413. package/build-module/social-link/social-list.js.map +1 -1
  414. package/build-module/social-link/variations.js +1 -0
  415. package/build-module/social-link/variations.js.map +1 -1
  416. package/build-module/social-links/edit.js +1 -0
  417. package/build-module/social-links/edit.js.map +1 -1
  418. package/build-module/social-links/edit.native.js +1 -0
  419. package/build-module/social-links/edit.native.js.map +1 -1
  420. package/build-module/spacer/controls.js +1 -0
  421. package/build-module/spacer/controls.js.map +1 -1
  422. package/build-module/table/deprecated.js +1 -0
  423. package/build-module/table/deprecated.js.map +1 -1
  424. package/build-module/table/edit.js +1 -0
  425. package/build-module/table/edit.js.map +1 -1
  426. package/build-module/table/save.js +1 -0
  427. package/build-module/table/save.js.map +1 -1
  428. package/build-module/table/state.js +1 -0
  429. package/build-module/table/state.js.map +1 -1
  430. package/build-module/table/transforms.js +1 -0
  431. package/build-module/table/transforms.js.map +1 -1
  432. package/build-module/table-of-contents/list.js +1 -0
  433. package/build-module/table-of-contents/list.js.map +1 -1
  434. package/build-module/table-of-contents/utils.js +1 -0
  435. package/build-module/table-of-contents/utils.js.map +1 -1
  436. package/build-module/tag-cloud/edit.js +1 -0
  437. package/build-module/tag-cloud/edit.js.map +1 -1
  438. package/build-module/template-part/edit/advanced-controls.js +1 -0
  439. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  440. package/build-module/template-part/edit/import-controls.js +1 -0
  441. package/build-module/template-part/edit/import-controls.js.map +1 -1
  442. package/build-module/template-part/edit/selection-modal.js +1 -0
  443. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  444. package/build-module/template-part/edit/utils/hooks.js +1 -0
  445. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  446. package/build-module/template-part/edit/utils/transformers.js +1 -0
  447. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  448. package/build-module/template-part/variations.js +1 -0
  449. package/build-module/template-part/variations.js.map +1 -1
  450. package/build-module/text-columns/edit.js +1 -0
  451. package/build-module/text-columns/edit.js.map +1 -1
  452. package/build-module/text-columns/save.js +1 -0
  453. package/build-module/text-columns/save.js.map +1 -1
  454. package/build-module/text-columns/transforms.js +1 -0
  455. package/build-module/text-columns/transforms.js.map +1 -1
  456. package/build-module/utils/get-transformed-metadata.js +1 -0
  457. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  458. package/build-module/utils/search-patterns.js +1 -0
  459. package/build-module/utils/search-patterns.js.map +1 -1
  460. package/build-module/utils/transformation-categories.native.js +1 -0
  461. package/build-module/utils/transformation-categories.native.js.map +1 -1
  462. package/build-module/video/tracks-editor.js +1 -0
  463. package/build-module/video/tracks-editor.js.map +1 -1
  464. package/build-module/video/tracks.js +1 -0
  465. package/build-module/video/tracks.js.map +1 -1
  466. package/package.json +34 -34
  467. package/src/button/edit.js +1 -1
  468. package/src/image/image.js +1 -1
  469. package/src/image/index.php +1 -1
  470. package/src/image/view.js +1 -3
  471. package/src/index.js +2 -0
  472. package/src/navigation-link/link-ui.js +1 -1
  473. package/src/paragraph/edit.js +11 -1
  474. package/src/post-template/block.json +1 -1
  475. package/src/query-no-results/block.json +1 -1
  476. package/src/query-total/block.json +45 -0
  477. package/src/query-total/edit.js +83 -0
  478. package/src/query-total/icons.js +43 -0
  479. package/src/query-total/index.js +18 -0
  480. package/src/query-total/index.php +92 -0
  481. package/src/query-total/init.js +6 -0
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","length","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ index }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"8\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","length","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ index }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"8\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  export default function Tracks({
3
4
  tracks = []
@@ -1 +1 @@
1
- {"version":3,"names":["Tracks","tracks","map","track","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";AAAA,eAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,oBAAOC,IAAA;MAAA,GAA8BD;IAAK,GAAtBA,KAAK,CAACE,GAAoB,CAAC;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["Tracks","tracks","map","track","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";;AAAA,eAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,oBAAOC,IAAA;MAAA,GAA8BD;IAAK,GAAtBA,KAAK,CAACE,GAAoB,CAAC;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-library",
3
- "version": "9.13.1-next.a9f418477.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",
@@ -41,39 +41,39 @@
41
41
  ],
42
42
  "dependencies": {
43
43
  "@babel/runtime": "7.25.7",
44
- "@wordpress/a11y": "^4.13.1-next.a9f418477.0",
45
- "@wordpress/api-fetch": "^7.13.1-next.a9f418477.0",
46
- "@wordpress/autop": "^4.13.1-next.a9f418477.0",
47
- "@wordpress/blob": "^4.13.1-next.a9f418477.0",
48
- "@wordpress/block-editor": "^14.8.1-next.a9f418477.0",
49
- "@wordpress/blocks": "^14.2.1-next.a9f418477.0",
44
+ "@wordpress/a11y": "*",
45
+ "@wordpress/api-fetch": "*",
46
+ "@wordpress/autop": "*",
47
+ "@wordpress/blob": "*",
48
+ "@wordpress/block-editor": "*",
49
+ "@wordpress/blocks": "*",
50
50
  "@wordpress/components": "*",
51
- "@wordpress/compose": "^7.13.1-next.a9f418477.0",
52
- "@wordpress/core-data": "^7.13.1-next.a9f418477.0",
53
- "@wordpress/data": "^10.13.1-next.a9f418477.0",
54
- "@wordpress/date": "^5.13.1-next.a9f418477.0",
55
- "@wordpress/deprecated": "^4.13.1-next.a9f418477.0",
56
- "@wordpress/dom": "^4.13.1-next.a9f418477.0",
57
- "@wordpress/element": "^6.13.1-next.a9f418477.0",
58
- "@wordpress/escape-html": "^3.13.1-next.a9f418477.0",
59
- "@wordpress/hooks": "^4.13.1-next.a9f418477.0",
60
- "@wordpress/html-entities": "^4.13.1-next.a9f418477.0",
61
- "@wordpress/i18n": "^5.13.1-next.a9f418477.0",
62
- "@wordpress/icons": "^10.13.1-next.a9f418477.0",
63
- "@wordpress/interactivity": "^6.13.1-next.a9f418477.0",
64
- "@wordpress/interactivity-router": "^2.13.1-next.a9f418477.0",
65
- "@wordpress/keyboard-shortcuts": "^5.13.1-next.a9f418477.0",
66
- "@wordpress/keycodes": "^4.13.1-next.a9f418477.0",
67
- "@wordpress/notices": "^5.13.1-next.a9f418477.0",
68
- "@wordpress/patterns": "^2.13.1-next.a9f418477.0",
69
- "@wordpress/primitives": "^4.13.1-next.a9f418477.0",
70
- "@wordpress/private-apis": "^1.13.1-next.a9f418477.0",
71
- "@wordpress/reusable-blocks": "^5.13.1-next.a9f418477.0",
72
- "@wordpress/rich-text": "^7.13.1-next.a9f418477.0",
73
- "@wordpress/server-side-render": "^5.13.1-next.a9f418477.0",
74
- "@wordpress/url": "^4.13.1-next.a9f418477.0",
75
- "@wordpress/viewport": "^6.13.1-next.a9f418477.0",
76
- "@wordpress/wordcount": "^4.13.1-next.a9f418477.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": "*",
77
77
  "change-case": "^4.1.2",
78
78
  "clsx": "^2.1.1",
79
79
  "colord": "^2.7.0",
@@ -91,5 +91,5 @@
91
91
  "publishConfig": {
92
92
  "access": "public"
93
93
  },
94
- "gitHead": "c1a8f3e9cada3b7d8342d1d2595c2dac0433111d"
94
+ "gitHead": "b432c18934c9db866b6dba7d37517a4e97d642e3"
95
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,
@@ -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,
@@ -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';
@@ -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();