@wordpress/block-library 6.0.25 → 6.1.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 (1031) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/audio/edit.js +19 -4
  6. package/build/audio/edit.js.map +1 -1
  7. package/build/audio/index.js +1 -0
  8. package/build/audio/index.js.map +1 -1
  9. package/build/block/index.js +1 -0
  10. package/build/block/index.js.map +1 -1
  11. package/build/button/edit.native.js +1 -1
  12. package/build/button/edit.native.js.map +1 -1
  13. package/build/button/index.js +5 -1
  14. package/build/button/index.js.map +1 -1
  15. package/build/buttons/edit.js +6 -0
  16. package/build/buttons/edit.js.map +1 -1
  17. package/build/buttons/edit.native.js +16 -6
  18. package/build/buttons/edit.native.js.map +1 -1
  19. package/build/buttons/index.js +1 -0
  20. package/build/buttons/index.js.map +1 -1
  21. package/build/buttons/transforms.js +1 -0
  22. package/build/buttons/transforms.js.map +1 -1
  23. package/build/calendar/index.js +1 -0
  24. package/build/calendar/index.js.map +1 -1
  25. package/build/categories/index.js +1 -0
  26. package/build/categories/index.js.map +1 -1
  27. package/build/code/index.js +6 -1
  28. package/build/code/index.js.map +1 -1
  29. package/build/column/index.js +1 -0
  30. package/build/column/index.js.map +1 -1
  31. package/build/columns/index.js +11 -0
  32. package/build/columns/index.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +5 -2
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/comment-author-avatar/index.js +7 -2
  36. package/build/comment-author-avatar/index.js.map +1 -1
  37. package/build/comment-author-name/index.js +1 -0
  38. package/build/comment-author-name/index.js.map +1 -1
  39. package/build/comment-content/index.js +1 -0
  40. package/build/comment-content/index.js.map +1 -1
  41. package/build/comment-date/index.js +1 -0
  42. package/build/comment-date/index.js.map +1 -1
  43. package/build/comment-edit-link/index.js +2 -1
  44. package/build/comment-edit-link/index.js.map +1 -1
  45. package/build/comment-reply-link/index.js +1 -0
  46. package/build/comment-reply-link/index.js.map +1 -1
  47. package/build/comment-template/edit.js +117 -26
  48. package/build/comment-template/edit.js.map +1 -1
  49. package/build/comment-template/index.js +4 -2
  50. package/build/comment-template/index.js.map +1 -1
  51. package/build/comment-template/util.js +68 -0
  52. package/build/comment-template/util.js.map +1 -0
  53. package/build/comments-pagination/comments-pagination-arrow-controls.js +39 -0
  54. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  55. package/build/comments-pagination/edit.js +79 -0
  56. package/build/comments-pagination/edit.js.map +1 -0
  57. package/build/comments-pagination/index.js +71 -0
  58. package/build/comments-pagination/index.js.map +1 -0
  59. package/build/comments-pagination/save.js +18 -0
  60. package/build/comments-pagination/save.js.map +1 -0
  61. package/build/comments-pagination-next/edit.js +54 -0
  62. package/build/comments-pagination-next/edit.js.map +1 -0
  63. package/build/comments-pagination-next/index.js +66 -0
  64. package/build/comments-pagination-next/index.js.map +1 -0
  65. package/build/comments-pagination-numbers/edit.js +47 -0
  66. package/build/comments-pagination-numbers/edit.js.map +1 -0
  67. package/build/comments-pagination-numbers/index.js +46 -0
  68. package/build/comments-pagination-numbers/index.js.map +1 -0
  69. package/build/comments-pagination-previous/edit.js +54 -0
  70. package/build/comments-pagination-previous/edit.js.map +1 -0
  71. package/build/comments-pagination-previous/index.js +66 -0
  72. package/build/comments-pagination-previous/index.js.map +1 -0
  73. package/build/comments-query-loop/edit/comments-inspector-controls.js +102 -0
  74. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  75. package/build/comments-query-loop/edit.js +23 -28
  76. package/build/comments-query-loop/edit.js.map +1 -1
  77. package/build/comments-query-loop/index.js +15 -7
  78. package/build/comments-query-loop/index.js.map +1 -1
  79. package/build/cover/edit.js +2 -1
  80. package/build/cover/edit.js.map +1 -1
  81. package/build/cover/edit.native.js +40 -32
  82. package/build/cover/edit.native.js.map +1 -1
  83. package/build/cover/index.js +1 -0
  84. package/build/cover/index.js.map +1 -1
  85. package/build/cover/overlay-color-settings.native.js +11 -1
  86. package/build/cover/overlay-color-settings.native.js.map +1 -1
  87. package/build/embed/deprecated.js +1 -0
  88. package/build/embed/deprecated.js.map +1 -1
  89. package/build/embed/edit.native.js +23 -20
  90. package/build/embed/edit.native.js.map +1 -1
  91. package/build/embed/embed-controls.native.js +69 -0
  92. package/build/embed/embed-controls.native.js.map +1 -0
  93. package/build/embed/embed-link-settings.native.js +101 -0
  94. package/build/embed/embed-link-settings.native.js.map +1 -0
  95. package/build/embed/embed-loading.js +1 -3
  96. package/build/embed/embed-loading.js.map +1 -1
  97. package/build/embed/embed-placeholder.native.js +9 -2
  98. package/build/embed/embed-placeholder.native.js.map +1 -1
  99. package/build/embed/index.js +1 -0
  100. package/build/embed/index.js.map +1 -1
  101. package/build/embed/transforms.js +1 -0
  102. package/build/embed/transforms.js.map +1 -1
  103. package/build/embed/util.js +1 -0
  104. package/build/embed/util.js.map +1 -1
  105. package/build/file/edit.native.js +5 -2
  106. package/build/file/edit.native.js.map +1 -1
  107. package/build/file/index.js +1 -0
  108. package/build/file/index.js.map +1 -1
  109. package/build/freeform/index.js +1 -0
  110. package/build/freeform/index.js.map +1 -1
  111. package/build/gallery/deprecated.js +4 -0
  112. package/build/gallery/deprecated.js.map +1 -1
  113. package/build/gallery/edit.js +31 -12
  114. package/build/gallery/edit.js.map +1 -1
  115. package/build/gallery/gallery.native.js +1 -1
  116. package/build/gallery/gallery.native.js.map +1 -1
  117. package/build/gallery/index.js +1 -0
  118. package/build/gallery/index.js.map +1 -1
  119. package/build/group/index.js +19 -1
  120. package/build/group/index.js.map +1 -1
  121. package/build/heading/edit.js +2 -0
  122. package/build/heading/edit.js.map +1 -1
  123. package/build/heading/index.js +1 -0
  124. package/build/heading/index.js.map +1 -1
  125. package/build/heading/transforms.js +1 -0
  126. package/build/heading/transforms.js.map +1 -1
  127. package/build/home-link/index.js +1 -0
  128. package/build/home-link/index.js.map +1 -1
  129. package/build/html/index.js +1 -0
  130. package/build/html/index.js.map +1 -1
  131. package/build/image/edit.js +56 -5
  132. package/build/image/edit.js.map +1 -1
  133. package/build/image/edit.native.js +4 -4
  134. package/build/image/edit.native.js.map +1 -1
  135. package/build/image/image.js +15 -4
  136. package/build/image/image.js.map +1 -1
  137. package/build/image/index.js +5 -1
  138. package/build/image/index.js.map +1 -1
  139. package/build/index.js +12 -2
  140. package/build/index.js.map +1 -1
  141. package/build/latest-comments/index.js +1 -0
  142. package/build/latest-comments/index.js.map +1 -1
  143. package/build/latest-posts/deprecated.js +1 -0
  144. package/build/latest-posts/deprecated.js.map +1 -1
  145. package/build/latest-posts/edit.js +1 -1
  146. package/build/latest-posts/edit.js.map +1 -1
  147. package/build/latest-posts/index.js +1 -0
  148. package/build/latest-posts/index.js.map +1 -1
  149. package/build/list/index.js +1 -0
  150. package/build/list/index.js.map +1 -1
  151. package/build/loginout/index.js +1 -0
  152. package/build/loginout/index.js.map +1 -1
  153. package/build/media-text/index.js +1 -0
  154. package/build/media-text/index.js.map +1 -1
  155. package/build/missing/index.js +1 -0
  156. package/build/missing/index.js.map +1 -1
  157. package/build/more/index.js +1 -0
  158. package/build/more/index.js.map +1 -1
  159. package/build/navigation/edit/index.js +37 -9
  160. package/build/navigation/edit/index.js.map +1 -1
  161. package/build/navigation/edit/inner-blocks.js +3 -1
  162. package/build/navigation/edit/inner-blocks.js.map +1 -1
  163. package/build/navigation/edit/overlay-menu-icon.js +36 -0
  164. package/build/navigation/edit/overlay-menu-icon.js.map +1 -0
  165. package/build/navigation/edit/placeholder/index.js +11 -7
  166. package/build/navigation/edit/placeholder/index.js.map +1 -1
  167. package/build/navigation/edit/responsive-wrapper.js +11 -22
  168. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  169. package/build/navigation/index.js +10 -1
  170. package/build/navigation/index.js.map +1 -1
  171. package/build/navigation/menu-items-to-blocks.js +4 -1
  172. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  173. package/build/navigation/use-navigation-entities.js +6 -3
  174. package/build/navigation/use-navigation-entities.js.map +1 -1
  175. package/build/navigation-area/edit.js +2 -1
  176. package/build/navigation-area/edit.js.map +1 -1
  177. package/build/navigation-area/index.js +2 -1
  178. package/build/navigation-area/index.js.map +1 -1
  179. package/build/navigation-link/edit.js +7 -0
  180. package/build/navigation-link/edit.js.map +1 -1
  181. package/build/navigation-link/index.js +1 -0
  182. package/build/navigation-link/index.js.map +1 -1
  183. package/build/navigation-submenu/edit.js +4 -1
  184. package/build/navigation-submenu/edit.js.map +1 -1
  185. package/build/navigation-submenu/index.js +1 -0
  186. package/build/navigation-submenu/index.js.map +1 -1
  187. package/build/nextpage/index.js +1 -0
  188. package/build/nextpage/index.js.map +1 -1
  189. package/build/page-list/edit.js +37 -10
  190. package/build/page-list/edit.js.map +1 -1
  191. package/build/page-list/index.js +6 -1
  192. package/build/page-list/index.js.map +1 -1
  193. package/build/paragraph/edit.js +12 -2
  194. package/build/paragraph/edit.js.map +1 -1
  195. package/build/paragraph/index.js +2 -1
  196. package/build/paragraph/index.js.map +1 -1
  197. package/build/paragraph/transforms.js +2 -1
  198. package/build/paragraph/transforms.js.map +1 -1
  199. package/build/pattern/index.js +1 -0
  200. package/build/pattern/index.js.map +1 -1
  201. package/build/post-author/index.js +2 -1
  202. package/build/post-author/index.js.map +1 -1
  203. package/build/post-author-name/edit.js +98 -0
  204. package/build/post-author-name/edit.js.map +1 -0
  205. package/build/post-author-name/index.js +70 -0
  206. package/build/post-author-name/index.js.map +1 -0
  207. package/build/post-comment/index.js +1 -0
  208. package/build/post-comment/index.js.map +1 -1
  209. package/build/post-comments/index.js +1 -0
  210. package/build/post-comments/index.js.map +1 -1
  211. package/build/post-comments-count/index.js +1 -0
  212. package/build/post-comments-count/index.js.map +1 -1
  213. package/build/post-comments-form/index.js +1 -0
  214. package/build/post-comments-form/index.js.map +1 -1
  215. package/build/post-comments-link/index.js +1 -0
  216. package/build/post-comments-link/index.js.map +1 -1
  217. package/build/post-content/index.js +1 -0
  218. package/build/post-content/index.js.map +1 -1
  219. package/build/post-date/index.js +1 -0
  220. package/build/post-date/index.js.map +1 -1
  221. package/build/post-excerpt/edit.js +2 -1
  222. package/build/post-excerpt/edit.js.map +1 -1
  223. package/build/post-excerpt/index.js +4 -0
  224. package/build/post-excerpt/index.js.map +1 -1
  225. package/build/post-excerpt/transforms.js +27 -0
  226. package/build/post-excerpt/transforms.js.map +1 -0
  227. package/build/post-featured-image/dimension-controls.js +74 -32
  228. package/build/post-featured-image/dimension-controls.js.map +1 -1
  229. package/build/post-featured-image/edit.js +52 -20
  230. package/build/post-featured-image/edit.js.map +1 -1
  231. package/build/post-featured-image/index.js +4 -0
  232. package/build/post-featured-image/index.js.map +1 -1
  233. package/build/post-navigation-link/index.js +1 -0
  234. package/build/post-navigation-link/index.js.map +1 -1
  235. package/build/post-template/edit.js +34 -7
  236. package/build/post-template/edit.js.map +1 -1
  237. package/build/post-template/index.js +2 -1
  238. package/build/post-template/index.js.map +1 -1
  239. package/build/post-terms/index.js +1 -0
  240. package/build/post-terms/index.js.map +1 -1
  241. package/build/post-title/index.js +1 -0
  242. package/build/post-title/index.js.map +1 -1
  243. package/build/preformatted/edit.native.js +3 -6
  244. package/build/preformatted/edit.native.js.map +1 -1
  245. package/build/preformatted/index.js +1 -0
  246. package/build/preformatted/index.js.map +1 -1
  247. package/build/pullquote/index.js +8 -1
  248. package/build/pullquote/index.js.map +1 -1
  249. package/build/query/deprecated.js +96 -3
  250. package/build/query/deprecated.js.map +1 -1
  251. package/build/query/edit/index.js +4 -4
  252. package/build/query/edit/index.js.map +1 -1
  253. package/build/query/edit/inspector-controls/author-control.js +102 -0
  254. package/build/query/edit/inspector-controls/author-control.js.map +1 -0
  255. package/build/query/edit/inspector-controls/index.js +166 -0
  256. package/build/query/edit/inspector-controls/index.js.map +1 -0
  257. package/build/query/edit/inspector-controls/order-control.js +55 -0
  258. package/build/query/edit/inspector-controls/order-control.js.map +1 -0
  259. package/build/query/edit/inspector-controls/taxonomy-controls.js +158 -0
  260. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  261. package/build/query/index.js +3 -3
  262. package/build/query/utils.js +49 -38
  263. package/build/query/utils.js.map +1 -1
  264. package/build/query/variations.js +0 -4
  265. package/build/query/variations.js.map +1 -1
  266. package/build/query-pagination/index.js +2 -1
  267. package/build/query-pagination/index.js.map +1 -1
  268. package/build/query-pagination-next/index.js +2 -1
  269. package/build/query-pagination-next/index.js.map +1 -1
  270. package/build/query-pagination-numbers/index.js +2 -1
  271. package/build/query-pagination-numbers/index.js.map +1 -1
  272. package/build/query-pagination-previous/index.js +2 -1
  273. package/build/query-pagination-previous/index.js.map +1 -1
  274. package/build/query-title/index.js +1 -0
  275. package/build/query-title/index.js.map +1 -1
  276. package/build/quote/index.js +1 -0
  277. package/build/quote/index.js.map +1 -1
  278. package/build/rss/index.js +1 -0
  279. package/build/rss/index.js.map +1 -1
  280. package/build/search/edit.js +5 -3
  281. package/build/search/edit.js.map +1 -1
  282. package/build/search/edit.native.js +2 -2
  283. package/build/search/edit.native.js.map +1 -1
  284. package/build/search/index.js +8 -1
  285. package/build/search/index.js.map +1 -1
  286. package/build/separator/index.js +1 -0
  287. package/build/separator/index.js.map +1 -1
  288. package/build/shortcode/index.js +1 -0
  289. package/build/shortcode/index.js.map +1 -1
  290. package/build/site-logo/edit.js +0 -25
  291. package/build/site-logo/edit.js.map +1 -1
  292. package/build/site-logo/index.js +5 -1
  293. package/build/site-logo/index.js.map +1 -1
  294. package/build/site-logo/transforms.js +31 -0
  295. package/build/site-logo/transforms.js.map +1 -0
  296. package/build/site-tagline/index.js +2 -1
  297. package/build/site-tagline/index.js.map +1 -1
  298. package/build/site-title/index.js +4 -0
  299. package/build/site-title/index.js.map +1 -1
  300. package/build/site-title/transforms.js +31 -0
  301. package/build/site-title/transforms.js.map +1 -0
  302. package/build/social-link/index.js +2 -1
  303. package/build/social-link/index.js.map +1 -1
  304. package/build/social-links/edit.js +29 -23
  305. package/build/social-links/edit.js.map +1 -1
  306. package/build/social-links/index.js +2 -1
  307. package/build/social-links/index.js.map +1 -1
  308. package/build/spacer/controls.js +111 -0
  309. package/build/spacer/controls.js.map +1 -0
  310. package/build/spacer/controls.native.js +95 -0
  311. package/build/spacer/controls.native.js.map +1 -0
  312. package/build/spacer/deprecated.js +53 -0
  313. package/build/spacer/deprecated.js.map +1 -0
  314. package/build/spacer/edit.js +117 -98
  315. package/build/spacer/edit.js.map +1 -1
  316. package/build/spacer/edit.native.js +76 -0
  317. package/build/spacer/edit.native.js.map +1 -0
  318. package/build/spacer/index.js +8 -4
  319. package/build/spacer/index.js.map +1 -1
  320. package/build/spacer/save.js +6 -3
  321. package/build/spacer/save.js.map +1 -1
  322. package/build/table/index.js +7 -1
  323. package/build/table/index.js.map +1 -1
  324. package/build/table-of-contents/index.js +1 -0
  325. package/build/table-of-contents/index.js.map +1 -1
  326. package/build/tag-cloud/index.js +1 -0
  327. package/build/tag-cloud/index.js.map +1 -1
  328. package/build/template-part/index.js +1 -0
  329. package/build/template-part/index.js.map +1 -1
  330. package/build/term-description/index.js +1 -0
  331. package/build/term-description/index.js.map +1 -1
  332. package/build/text-columns/index.js +1 -0
  333. package/build/text-columns/index.js.map +1 -1
  334. package/build/verse/index.js +1 -0
  335. package/build/verse/index.js.map +1 -1
  336. package/build/video/index.js +1 -0
  337. package/build/video/index.js.map +1 -1
  338. package/build-module/archives/index.js +1 -0
  339. package/build-module/archives/index.js.map +1 -1
  340. package/build-module/audio/edit.js +17 -5
  341. package/build-module/audio/edit.js.map +1 -1
  342. package/build-module/audio/index.js +1 -0
  343. package/build-module/audio/index.js.map +1 -1
  344. package/build-module/block/index.js +1 -0
  345. package/build-module/block/index.js.map +1 -1
  346. package/build-module/button/edit.native.js +1 -1
  347. package/build-module/button/edit.native.js.map +1 -1
  348. package/build-module/button/index.js +5 -1
  349. package/build-module/button/index.js.map +1 -1
  350. package/build-module/buttons/edit.js +6 -0
  351. package/build-module/buttons/edit.js.map +1 -1
  352. package/build-module/buttons/edit.native.js +17 -7
  353. package/build-module/buttons/edit.native.js.map +1 -1
  354. package/build-module/buttons/index.js +1 -0
  355. package/build-module/buttons/index.js.map +1 -1
  356. package/build-module/buttons/transforms.js +1 -0
  357. package/build-module/buttons/transforms.js.map +1 -1
  358. package/build-module/calendar/index.js +1 -0
  359. package/build-module/calendar/index.js.map +1 -1
  360. package/build-module/categories/index.js +1 -0
  361. package/build-module/categories/index.js.map +1 -1
  362. package/build-module/code/index.js +6 -1
  363. package/build-module/code/index.js.map +1 -1
  364. package/build-module/column/index.js +1 -0
  365. package/build-module/column/index.js.map +1 -1
  366. package/build-module/columns/index.js +11 -0
  367. package/build-module/columns/index.js.map +1 -1
  368. package/build-module/comment-author-avatar/edit.js +6 -3
  369. package/build-module/comment-author-avatar/edit.js.map +1 -1
  370. package/build-module/comment-author-avatar/index.js +7 -2
  371. package/build-module/comment-author-avatar/index.js.map +1 -1
  372. package/build-module/comment-author-name/index.js +1 -0
  373. package/build-module/comment-author-name/index.js.map +1 -1
  374. package/build-module/comment-content/index.js +1 -0
  375. package/build-module/comment-content/index.js.map +1 -1
  376. package/build-module/comment-date/index.js +1 -0
  377. package/build-module/comment-date/index.js.map +1 -1
  378. package/build-module/comment-edit-link/index.js +2 -1
  379. package/build-module/comment-edit-link/index.js.map +1 -1
  380. package/build-module/comment-reply-link/index.js +1 -0
  381. package/build-module/comment-reply-link/index.js.map +1 -1
  382. package/build-module/comment-template/edit.js +116 -26
  383. package/build-module/comment-template/edit.js.map +1 -1
  384. package/build-module/comment-template/index.js +4 -2
  385. package/build-module/comment-template/index.js.map +1 -1
  386. package/build-module/comment-template/util.js +59 -0
  387. package/build-module/comment-template/util.js.map +1 -0
  388. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +30 -0
  389. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  390. package/build-module/comments-pagination/edit.js +66 -0
  391. package/build-module/comments-pagination/edit.js.map +1 -0
  392. package/build-module/comments-pagination/index.js +57 -0
  393. package/build-module/comments-pagination/index.js.map +1 -0
  394. package/build-module/comments-pagination/save.js +10 -0
  395. package/build-module/comments-pagination/save.js.map +1 -0
  396. package/build-module/comments-pagination-next/edit.js +41 -0
  397. package/build-module/comments-pagination-next/edit.js.map +1 -0
  398. package/build-module/comments-pagination-next/index.js +53 -0
  399. package/build-module/comments-pagination-next/index.js.map +1 -0
  400. package/build-module/comments-pagination-numbers/edit.js +40 -0
  401. package/build-module/comments-pagination-numbers/edit.js.map +1 -0
  402. package/build-module/comments-pagination-numbers/index.js +33 -0
  403. package/build-module/comments-pagination-numbers/index.js.map +1 -0
  404. package/build-module/comments-pagination-previous/edit.js +41 -0
  405. package/build-module/comments-pagination-previous/edit.js.map +1 -0
  406. package/build-module/comments-pagination-previous/index.js +53 -0
  407. package/build-module/comments-pagination-previous/index.js.map +1 -0
  408. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +91 -0
  409. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  410. package/build-module/comments-query-loop/edit.js +24 -28
  411. package/build-module/comments-query-loop/edit.js.map +1 -1
  412. package/build-module/comments-query-loop/index.js +15 -7
  413. package/build-module/comments-query-loop/index.js.map +1 -1
  414. package/build-module/cover/edit.js +2 -1
  415. package/build-module/cover/edit.js.map +1 -1
  416. package/build-module/cover/edit.native.js +41 -34
  417. package/build-module/cover/edit.native.js.map +1 -1
  418. package/build-module/cover/index.js +1 -0
  419. package/build-module/cover/index.js.map +1 -1
  420. package/build-module/cover/overlay-color-settings.native.js +11 -1
  421. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  422. package/build-module/embed/deprecated.js +1 -0
  423. package/build-module/embed/deprecated.js.map +1 -1
  424. package/build-module/embed/edit.native.js +24 -21
  425. package/build-module/embed/edit.native.js.map +1 -1
  426. package/build-module/embed/embed-controls.native.js +54 -0
  427. package/build-module/embed/embed-controls.native.js.map +1 -0
  428. package/build-module/embed/embed-link-settings.native.js +90 -0
  429. package/build-module/embed/embed-link-settings.native.js.map +1 -0
  430. package/build-module/embed/embed-loading.js +1 -2
  431. package/build-module/embed/embed-loading.js.map +1 -1
  432. package/build-module/embed/embed-placeholder.native.js +9 -2
  433. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  434. package/build-module/embed/index.js +1 -0
  435. package/build-module/embed/index.js.map +1 -1
  436. package/build-module/embed/transforms.js +1 -0
  437. package/build-module/embed/transforms.js.map +1 -1
  438. package/build-module/embed/util.js +1 -0
  439. package/build-module/embed/util.js.map +1 -1
  440. package/build-module/file/edit.native.js +4 -2
  441. package/build-module/file/edit.native.js.map +1 -1
  442. package/build-module/file/index.js +1 -0
  443. package/build-module/file/index.js.map +1 -1
  444. package/build-module/freeform/index.js +1 -0
  445. package/build-module/freeform/index.js.map +1 -1
  446. package/build-module/gallery/deprecated.js +4 -0
  447. package/build-module/gallery/deprecated.js.map +1 -1
  448. package/build-module/gallery/edit.js +32 -13
  449. package/build-module/gallery/edit.js.map +1 -1
  450. package/build-module/gallery/gallery.native.js +1 -1
  451. package/build-module/gallery/gallery.native.js.map +1 -1
  452. package/build-module/gallery/index.js +1 -0
  453. package/build-module/gallery/index.js.map +1 -1
  454. package/build-module/group/index.js +19 -1
  455. package/build-module/group/index.js.map +1 -1
  456. package/build-module/heading/edit.js +3 -1
  457. package/build-module/heading/edit.js.map +1 -1
  458. package/build-module/heading/index.js +1 -0
  459. package/build-module/heading/index.js.map +1 -1
  460. package/build-module/heading/transforms.js +1 -0
  461. package/build-module/heading/transforms.js.map +1 -1
  462. package/build-module/home-link/index.js +1 -0
  463. package/build-module/home-link/index.js.map +1 -1
  464. package/build-module/html/index.js +1 -0
  465. package/build-module/html/index.js.map +1 -1
  466. package/build-module/image/edit.js +52 -4
  467. package/build-module/image/edit.js.map +1 -1
  468. package/build-module/image/edit.native.js +4 -4
  469. package/build-module/image/edit.native.js.map +1 -1
  470. package/build-module/image/image.js +16 -5
  471. package/build-module/image/image.js.map +1 -1
  472. package/build-module/image/index.js +5 -1
  473. package/build-module/image/index.js.map +1 -1
  474. package/build-module/index.js +7 -2
  475. package/build-module/index.js.map +1 -1
  476. package/build-module/latest-comments/index.js +1 -0
  477. package/build-module/latest-comments/index.js.map +1 -1
  478. package/build-module/latest-posts/deprecated.js +1 -0
  479. package/build-module/latest-posts/deprecated.js.map +1 -1
  480. package/build-module/latest-posts/edit.js +1 -1
  481. package/build-module/latest-posts/edit.js.map +1 -1
  482. package/build-module/latest-posts/index.js +1 -0
  483. package/build-module/latest-posts/index.js.map +1 -1
  484. package/build-module/list/index.js +1 -0
  485. package/build-module/list/index.js.map +1 -1
  486. package/build-module/loginout/index.js +1 -0
  487. package/build-module/loginout/index.js.map +1 -1
  488. package/build-module/media-text/index.js +1 -0
  489. package/build-module/media-text/index.js.map +1 -1
  490. package/build-module/missing/index.js +1 -0
  491. package/build-module/missing/index.js.map +1 -1
  492. package/build-module/more/index.js +1 -0
  493. package/build-module/more/index.js.map +1 -1
  494. package/build-module/navigation/edit/index.js +36 -9
  495. package/build-module/navigation/edit/index.js.map +1 -1
  496. package/build-module/navigation/edit/inner-blocks.js +3 -1
  497. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  498. package/build-module/navigation/edit/overlay-menu-icon.js +28 -0
  499. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -0
  500. package/build-module/navigation/edit/placeholder/index.js +11 -7
  501. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  502. package/build-module/navigation/edit/responsive-wrapper.js +10 -21
  503. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  504. package/build-module/navigation/index.js +10 -1
  505. package/build-module/navigation/index.js.map +1 -1
  506. package/build-module/navigation/menu-items-to-blocks.js +4 -1
  507. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  508. package/build-module/navigation/use-navigation-entities.js +6 -3
  509. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  510. package/build-module/navigation-area/edit.js +2 -1
  511. package/build-module/navigation-area/edit.js.map +1 -1
  512. package/build-module/navigation-area/index.js +2 -1
  513. package/build-module/navigation-area/index.js.map +1 -1
  514. package/build-module/navigation-link/edit.js +7 -0
  515. package/build-module/navigation-link/edit.js.map +1 -1
  516. package/build-module/navigation-link/index.js +1 -0
  517. package/build-module/navigation-link/index.js.map +1 -1
  518. package/build-module/navigation-submenu/edit.js +4 -1
  519. package/build-module/navigation-submenu/edit.js.map +1 -1
  520. package/build-module/navigation-submenu/index.js +1 -0
  521. package/build-module/navigation-submenu/index.js.map +1 -1
  522. package/build-module/nextpage/index.js +1 -0
  523. package/build-module/nextpage/index.js.map +1 -1
  524. package/build-module/page-list/edit.js +38 -11
  525. package/build-module/page-list/edit.js.map +1 -1
  526. package/build-module/page-list/index.js +6 -1
  527. package/build-module/page-list/index.js.map +1 -1
  528. package/build-module/paragraph/edit.js +13 -3
  529. package/build-module/paragraph/edit.js.map +1 -1
  530. package/build-module/paragraph/index.js +2 -1
  531. package/build-module/paragraph/index.js.map +1 -1
  532. package/build-module/paragraph/transforms.js +2 -1
  533. package/build-module/paragraph/transforms.js.map +1 -1
  534. package/build-module/pattern/index.js +1 -0
  535. package/build-module/pattern/index.js.map +1 -1
  536. package/build-module/post-author/index.js +2 -1
  537. package/build-module/post-author/index.js.map +1 -1
  538. package/build-module/post-author-name/edit.js +85 -0
  539. package/build-module/post-author-name/edit.js.map +1 -0
  540. package/build-module/post-author-name/index.js +61 -0
  541. package/build-module/post-author-name/index.js.map +1 -0
  542. package/build-module/post-comment/index.js +1 -0
  543. package/build-module/post-comment/index.js.map +1 -1
  544. package/build-module/post-comments/index.js +1 -0
  545. package/build-module/post-comments/index.js.map +1 -1
  546. package/build-module/post-comments-count/index.js +1 -0
  547. package/build-module/post-comments-count/index.js.map +1 -1
  548. package/build-module/post-comments-form/index.js +1 -0
  549. package/build-module/post-comments-form/index.js.map +1 -1
  550. package/build-module/post-comments-link/index.js +1 -0
  551. package/build-module/post-comments-link/index.js.map +1 -1
  552. package/build-module/post-content/index.js +1 -0
  553. package/build-module/post-content/index.js.map +1 -1
  554. package/build-module/post-date/index.js +1 -0
  555. package/build-module/post-date/index.js.map +1 -1
  556. package/build-module/post-excerpt/edit.js +2 -1
  557. package/build-module/post-excerpt/edit.js.map +1 -1
  558. package/build-module/post-excerpt/index.js +3 -0
  559. package/build-module/post-excerpt/index.js.map +1 -1
  560. package/build-module/post-excerpt/transforms.js +18 -0
  561. package/build-module/post-excerpt/transforms.js.map +1 -0
  562. package/build-module/post-featured-image/dimension-controls.js +76 -31
  563. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  564. package/build-module/post-featured-image/edit.js +54 -22
  565. package/build-module/post-featured-image/edit.js.map +1 -1
  566. package/build-module/post-featured-image/index.js +4 -0
  567. package/build-module/post-featured-image/index.js.map +1 -1
  568. package/build-module/post-navigation-link/index.js +1 -0
  569. package/build-module/post-navigation-link/index.js.map +1 -1
  570. package/build-module/post-template/edit.js +34 -7
  571. package/build-module/post-template/edit.js.map +1 -1
  572. package/build-module/post-template/index.js +2 -1
  573. package/build-module/post-template/index.js.map +1 -1
  574. package/build-module/post-terms/index.js +1 -0
  575. package/build-module/post-terms/index.js.map +1 -1
  576. package/build-module/post-title/index.js +1 -0
  577. package/build-module/post-title/index.js.map +1 -1
  578. package/build-module/preformatted/edit.native.js +3 -3
  579. package/build-module/preformatted/edit.native.js.map +1 -1
  580. package/build-module/preformatted/index.js +1 -0
  581. package/build-module/preformatted/index.js.map +1 -1
  582. package/build-module/pullquote/index.js +8 -1
  583. package/build-module/pullquote/index.js.map +1 -1
  584. package/build-module/query/deprecated.js +95 -4
  585. package/build-module/query/deprecated.js.map +1 -1
  586. package/build-module/query/edit/index.js +3 -3
  587. package/build-module/query/edit/index.js.map +1 -1
  588. package/build-module/query/edit/inspector-controls/author-control.js +89 -0
  589. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -0
  590. package/build-module/query/edit/inspector-controls/index.js +149 -0
  591. package/build-module/query/edit/inspector-controls/index.js.map +1 -0
  592. package/build-module/query/edit/inspector-controls/order-control.js +45 -0
  593. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -0
  594. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +145 -0
  595. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  596. package/build-module/query/index.js +3 -3
  597. package/build-module/query/utils.js +43 -35
  598. package/build-module/query/utils.js.map +1 -1
  599. package/build-module/query/variations.js +0 -4
  600. package/build-module/query/variations.js.map +1 -1
  601. package/build-module/query-pagination/index.js +2 -1
  602. package/build-module/query-pagination/index.js.map +1 -1
  603. package/build-module/query-pagination-next/index.js +2 -1
  604. package/build-module/query-pagination-next/index.js.map +1 -1
  605. package/build-module/query-pagination-numbers/index.js +2 -1
  606. package/build-module/query-pagination-numbers/index.js.map +1 -1
  607. package/build-module/query-pagination-previous/index.js +2 -1
  608. package/build-module/query-pagination-previous/index.js.map +1 -1
  609. package/build-module/query-title/index.js +1 -0
  610. package/build-module/query-title/index.js.map +1 -1
  611. package/build-module/quote/index.js +1 -0
  612. package/build-module/quote/index.js.map +1 -1
  613. package/build-module/rss/index.js +1 -0
  614. package/build-module/rss/index.js.map +1 -1
  615. package/build-module/search/edit.js +5 -3
  616. package/build-module/search/edit.js.map +1 -1
  617. package/build-module/search/edit.native.js +2 -2
  618. package/build-module/search/edit.native.js.map +1 -1
  619. package/build-module/search/index.js +8 -1
  620. package/build-module/search/index.js.map +1 -1
  621. package/build-module/separator/index.js +1 -0
  622. package/build-module/separator/index.js.map +1 -1
  623. package/build-module/shortcode/index.js +1 -0
  624. package/build-module/shortcode/index.js.map +1 -1
  625. package/build-module/site-logo/edit.js +0 -25
  626. package/build-module/site-logo/edit.js.map +1 -1
  627. package/build-module/site-logo/index.js +4 -1
  628. package/build-module/site-logo/index.js.map +1 -1
  629. package/build-module/site-logo/transforms.js +22 -0
  630. package/build-module/site-logo/transforms.js.map +1 -0
  631. package/build-module/site-tagline/index.js +2 -1
  632. package/build-module/site-tagline/index.js.map +1 -1
  633. package/build-module/site-title/index.js +3 -0
  634. package/build-module/site-title/index.js.map +1 -1
  635. package/build-module/site-title/transforms.js +22 -0
  636. package/build-module/site-title/transforms.js.map +1 -0
  637. package/build-module/social-link/index.js +2 -1
  638. package/build-module/social-link/index.js.map +1 -1
  639. package/build-module/social-links/edit.js +29 -23
  640. package/build-module/social-links/edit.js.map +1 -1
  641. package/build-module/social-links/index.js +2 -1
  642. package/build-module/social-links/index.js.map +1 -1
  643. package/build-module/spacer/controls.js +101 -0
  644. package/build-module/spacer/controls.js.map +1 -0
  645. package/build-module/spacer/controls.native.js +82 -0
  646. package/build-module/spacer/controls.native.js.map +1 -0
  647. package/build-module/spacer/deprecated.js +44 -0
  648. package/build-module/spacer/deprecated.js.map +1 -0
  649. package/build-module/spacer/edit.js +114 -95
  650. package/build-module/spacer/edit.js.map +1 -1
  651. package/build-module/spacer/edit.native.js +61 -0
  652. package/build-module/spacer/edit.native.js.map +1 -0
  653. package/build-module/spacer/index.js +7 -4
  654. package/build-module/spacer/index.js.map +1 -1
  655. package/build-module/spacer/save.js +6 -3
  656. package/build-module/spacer/save.js.map +1 -1
  657. package/build-module/table/index.js +7 -1
  658. package/build-module/table/index.js.map +1 -1
  659. package/build-module/table-of-contents/index.js +1 -0
  660. package/build-module/table-of-contents/index.js.map +1 -1
  661. package/build-module/tag-cloud/index.js +1 -0
  662. package/build-module/tag-cloud/index.js.map +1 -1
  663. package/build-module/template-part/index.js +1 -0
  664. package/build-module/template-part/index.js.map +1 -1
  665. package/build-module/term-description/index.js +1 -0
  666. package/build-module/term-description/index.js.map +1 -1
  667. package/build-module/text-columns/index.js +1 -0
  668. package/build-module/text-columns/index.js.map +1 -1
  669. package/build-module/verse/index.js +1 -0
  670. package/build-module/verse/index.js.map +1 -1
  671. package/build-module/video/index.js +1 -0
  672. package/build-module/video/index.js.map +1 -1
  673. package/build-style/audio/editor-rtl.css +11 -0
  674. package/build-style/audio/editor.css +11 -0
  675. package/build-style/code/theme-rtl.css +5 -3
  676. package/build-style/code/theme.css +5 -3
  677. package/build-style/columns/editor-rtl.css +0 -10
  678. package/build-style/columns/editor.css +0 -10
  679. package/build-style/columns/style-rtl.css +8 -21
  680. package/build-style/columns/style.css +8 -21
  681. package/build-style/comment-template/style-rtl.css +91 -0
  682. package/build-style/comment-template/style.css +91 -0
  683. package/build-style/{home-link/style.css → comments-pagination/editor-rtl.css} +18 -22
  684. package/build-style/comments-pagination/editor.css +102 -0
  685. package/build-style/{home-link → comments-pagination}/style-rtl.css +21 -21
  686. package/build-style/comments-pagination/style.css +106 -0
  687. package/build-style/comments-pagination-numbers/editor-rtl.css +85 -0
  688. package/build-style/comments-pagination-numbers/editor.css +86 -0
  689. package/build-style/comments-query-loop/editor-rtl.css +79 -0
  690. package/build-style/comments-query-loop/editor.css +79 -0
  691. package/build-style/common-rtl.css +19 -0
  692. package/build-style/common.css +19 -0
  693. package/build-style/cover/style-rtl.css +4 -0
  694. package/build-style/cover/style.css +4 -0
  695. package/build-style/editor-rtl.css +96 -58
  696. package/build-style/editor.css +99 -58
  697. package/build-style/embed/editor-rtl.css +0 -12
  698. package/build-style/embed/editor.css +0 -12
  699. package/build-style/gallery/editor-rtl.css +7 -18
  700. package/build-style/gallery/editor.css +7 -18
  701. package/build-style/gallery/style-rtl.css +3 -0
  702. package/build-style/gallery/style.css +3 -0
  703. package/build-style/group/theme-rtl.css +1 -1
  704. package/build-style/group/theme.css +1 -1
  705. package/build-style/latest-posts/editor-rtl.css +7 -0
  706. package/build-style/latest-posts/editor.css +7 -0
  707. package/build-style/latest-posts/style-rtl.css +0 -9
  708. package/build-style/latest-posts/style.css +0 -9
  709. package/build-style/navigation/editor-rtl.css +16 -2
  710. package/build-style/navigation/editor.css +16 -2
  711. package/build-style/navigation/style-rtl.css +18 -7
  712. package/build-style/navigation/style.css +18 -7
  713. package/build-style/page-list/editor-rtl.css +9 -5
  714. package/build-style/page-list/editor.css +9 -5
  715. package/build-style/post-comments/style-rtl.css +9 -4
  716. package/build-style/post-comments/style.css +9 -4
  717. package/build-style/post-featured-image/editor-rtl.css +0 -7
  718. package/build-style/post-featured-image/editor.css +0 -7
  719. package/build-style/post-featured-image/style-rtl.css +1 -1
  720. package/build-style/post-featured-image/style.css +1 -1
  721. package/build-style/post-template/style-rtl.css +4 -0
  722. package/build-style/post-template/style.css +4 -0
  723. package/build-style/post-title/style-rtl.css +3 -0
  724. package/build-style/post-title/style.css +3 -0
  725. package/build-style/pullquote/style-rtl.css +1 -0
  726. package/build-style/pullquote/style.css +1 -0
  727. package/build-style/query-pagination/editor-rtl.css +0 -4
  728. package/build-style/query-pagination/editor.css +0 -4
  729. package/build-style/social-links/editor-rtl.css +3 -0
  730. package/build-style/social-links/editor.css +3 -0
  731. package/build-style/social-links/style-rtl.css +1 -0
  732. package/build-style/social-links/style.css +1 -0
  733. package/build-style/spacer/editor-rtl.css +4 -0
  734. package/build-style/spacer/editor.css +4 -0
  735. package/build-style/style-rtl.css +141 -87
  736. package/build-style/style.css +143 -87
  737. package/build-style/table/style-rtl.css +1 -0
  738. package/build-style/table/style.css +1 -0
  739. package/build-style/tag-cloud/style-rtl.css +8 -0
  740. package/build-style/tag-cloud/style.css +8 -0
  741. package/build-style/theme-rtl.css +6 -4
  742. package/build-style/theme.css +6 -4
  743. package/package.json +30 -30
  744. package/src/archives/block.json +1 -0
  745. package/src/archives/index.php +5 -9
  746. package/src/audio/block.json +1 -0
  747. package/src/audio/edit.js +18 -2
  748. package/src/audio/editor.scss +14 -0
  749. package/src/audio/test/__snapshots__/edit.native.js.snap +22 -0
  750. package/src/audio/test/edit.native.js +24 -11
  751. package/src/block/block.json +1 -0
  752. package/src/block/index.php +7 -2
  753. package/src/block/test/edit.native.js +10 -12
  754. package/src/button/block.json +5 -1
  755. package/src/button/edit.native.js +1 -1
  756. package/src/buttons/block.json +2 -1
  757. package/src/buttons/edit.js +17 -0
  758. package/src/buttons/edit.native.js +17 -5
  759. package/src/buttons/test/__snapshots__/edit.native.js.snap +27 -0
  760. package/src/buttons/test/edit.native.js +75 -45
  761. package/src/calendar/block.json +1 -0
  762. package/src/calendar/index.php +35 -39
  763. package/src/categories/block.json +1 -0
  764. package/src/categories/index.php +1 -1
  765. package/src/code/block.json +6 -1
  766. package/src/code/theme.scss +6 -4
  767. package/src/column/block.json +1 -0
  768. package/src/columns/block.json +11 -0
  769. package/src/columns/editor.scss +0 -15
  770. package/src/columns/style.scss +15 -36
  771. package/src/comment-author-avatar/block.json +7 -2
  772. package/src/comment-author-avatar/edit.js +9 -2
  773. package/src/comment-author-avatar/index.php +25 -6
  774. package/src/comment-author-name/block.json +1 -0
  775. package/src/comment-content/block.json +1 -0
  776. package/src/comment-date/block.json +1 -0
  777. package/src/comment-date/index.php +2 -2
  778. package/src/comment-edit-link/block.json +1 -0
  779. package/src/comment-edit-link/index.js +1 -1
  780. package/src/comment-reply-link/block.json +1 -0
  781. package/src/comment-template/block.json +4 -2
  782. package/src/comment-template/edit.js +127 -42
  783. package/src/comment-template/index.php +46 -19
  784. package/src/comment-template/style.scss +17 -0
  785. package/src/comment-template/test/index.js +45 -0
  786. package/src/comment-template/util.js +56 -0
  787. package/src/comments-pagination/block.json +37 -0
  788. package/src/comments-pagination/comments-pagination-arrow-controls.js +44 -0
  789. package/src/comments-pagination/edit.js +83 -0
  790. package/src/comments-pagination/editor.scss +34 -0
  791. package/src/comments-pagination/index.js +20 -0
  792. package/src/comments-pagination/index.php +39 -0
  793. package/src/comments-pagination/save.js +8 -0
  794. package/src/comments-pagination/style.scss +38 -0
  795. package/src/comments-pagination-next/block.json +35 -0
  796. package/src/comments-pagination-next/edit.js +44 -0
  797. package/src/comments-pagination-next/index.js +18 -0
  798. package/src/comments-pagination-next/index.php +62 -0
  799. package/src/comments-pagination-numbers/block.json +15 -0
  800. package/src/comments-pagination-numbers/edit.js +22 -0
  801. package/src/comments-pagination-numbers/editor.scss +12 -0
  802. package/src/comments-pagination-numbers/index.js +18 -0
  803. package/src/comments-pagination-numbers/index.php +69 -0
  804. package/src/comments-pagination-previous/block.json +35 -0
  805. package/src/comments-pagination-previous/edit.js +44 -0
  806. package/src/comments-pagination-previous/index.js +18 -0
  807. package/src/comments-pagination-previous/index.php +52 -0
  808. package/src/comments-query-loop/block.json +15 -7
  809. package/src/comments-query-loop/edit/comments-inspector-controls.js +93 -0
  810. package/src/comments-query-loop/edit.js +22 -27
  811. package/src/comments-query-loop/editor.scss +3 -0
  812. package/src/common.scss +19 -0
  813. package/src/cover/block.json +1 -0
  814. package/src/cover/edit.js +1 -0
  815. package/src/cover/edit.native.js +35 -19
  816. package/src/cover/overlay-color-settings.native.js +10 -0
  817. package/src/cover/style.scss +4 -0
  818. package/src/cover/test/__snapshots__/edit.native.js.snap +33 -0
  819. package/src/cover/test/edit.native.js +280 -17
  820. package/src/editor.scss +3 -0
  821. package/src/embed/block.json +1 -0
  822. package/src/embed/edit.native.js +23 -18
  823. package/src/embed/editor.scss +0 -15
  824. package/src/embed/embed-controls.native.js +65 -0
  825. package/src/embed/embed-link-settings.native.js +100 -0
  826. package/src/embed/embed-loading.js +0 -2
  827. package/src/embed/embed-placeholder.native.js +8 -0
  828. package/src/embed/test/__snapshots__/index.native.js.snap +10 -0
  829. package/src/embed/test/index.native.js +236 -95
  830. package/src/file/block.json +1 -0
  831. package/src/file/edit.native.js +6 -2
  832. package/src/file/index.php +2 -2
  833. package/src/file/test/__snapshots__/edit.native.js.snap +18 -5
  834. package/src/file/test/edit.native.js +30 -12
  835. package/src/freeform/block.json +1 -0
  836. package/src/gallery/block.json +1 -0
  837. package/src/gallery/deprecated.js +4 -0
  838. package/src/gallery/edit.js +42 -11
  839. package/src/gallery/editor.scss +8 -22
  840. package/src/gallery/gallery.native.js +1 -1
  841. package/src/gallery/style.scss +4 -0
  842. package/src/gallery/test/use-get-new-images.js +93 -0
  843. package/src/group/block.json +19 -1
  844. package/src/group/theme.scss +4 -5
  845. package/src/heading/block.json +1 -0
  846. package/src/heading/edit.js +2 -1
  847. package/src/home-link/block.json +1 -0
  848. package/src/home-link/index.php +3 -3
  849. package/src/html/block.json +1 -0
  850. package/src/image/block.json +5 -1
  851. package/src/image/edit.js +44 -0
  852. package/src/image/edit.native.js +4 -4
  853. package/src/image/image.js +14 -3
  854. package/src/image/index.php +2 -2
  855. package/src/image/test/edit.native.js +27 -7
  856. package/src/index.js +10 -0
  857. package/src/latest-comments/block.json +1 -0
  858. package/src/latest-comments/index.php +5 -5
  859. package/src/latest-posts/block.json +1 -0
  860. package/src/latest-posts/edit.js +1 -1
  861. package/src/latest-posts/editor.scss +10 -0
  862. package/src/latest-posts/index.php +14 -12
  863. package/src/latest-posts/style.scss +0 -12
  864. package/src/list/block.json +1 -0
  865. package/src/list/test/edit.native.js +3 -3
  866. package/src/loginout/block.json +1 -0
  867. package/src/media-text/block.json +1 -0
  868. package/src/missing/block.json +1 -0
  869. package/src/missing/test/__snapshots__/edit.native.js.snap +5 -0
  870. package/src/missing/test/edit-integration.native.js +2 -2
  871. package/src/missing/test/edit.native.js +26 -30
  872. package/src/more/block.json +1 -0
  873. package/src/navigation/README.md +13 -0
  874. package/src/navigation/block.json +12 -10
  875. package/src/navigation/edit/index.js +71 -21
  876. package/src/navigation/edit/inner-blocks.js +3 -1
  877. package/src/navigation/edit/overlay-menu-icon.js +21 -0
  878. package/src/navigation/edit/placeholder/index.js +20 -9
  879. package/src/navigation/edit/responsive-wrapper.js +12 -13
  880. package/src/navigation/editor.scss +18 -3
  881. package/src/navigation/index.php +17 -10
  882. package/src/navigation/menu-items-to-blocks.js +2 -1
  883. package/src/navigation/style.scss +24 -7
  884. package/src/navigation/use-navigation-entities.js +3 -1
  885. package/src/navigation-area/block.json +3 -7
  886. package/src/navigation-area/edit.js +2 -1
  887. package/src/navigation-link/block.json +2 -3
  888. package/src/navigation-link/edit.js +5 -0
  889. package/src/navigation-link/index.php +3 -3
  890. package/src/navigation-submenu/block.json +2 -3
  891. package/src/navigation-submenu/edit.js +3 -1
  892. package/src/navigation-submenu/index.php +7 -7
  893. package/src/nextpage/block.json +1 -0
  894. package/src/page-list/block.json +4 -0
  895. package/src/page-list/edit.js +47 -9
  896. package/src/page-list/editor.scss +8 -5
  897. package/src/page-list/index.php +15 -10
  898. package/src/paragraph/block.json +2 -1
  899. package/src/paragraph/edit.js +12 -4
  900. package/src/paragraph/test/edit.native.js +4 -13
  901. package/src/pattern/block.json +1 -0
  902. package/src/post-author/block.json +2 -1
  903. package/src/post-author/index.php +1 -1
  904. package/src/post-author-name/block.json +43 -0
  905. package/src/post-author-name/edit.js +95 -0
  906. package/src/post-author-name/index.js +18 -0
  907. package/src/post-author-name/index.php +49 -0
  908. package/src/post-comment/block.json +1 -0
  909. package/src/post-comments/block.json +1 -0
  910. package/src/post-comments/style.scss +10 -4
  911. package/src/post-comments-count/block.json +1 -0
  912. package/src/post-comments-form/block.json +6 -1
  913. package/src/post-comments-link/block.json +1 -0
  914. package/src/post-comments-link/index.php +7 -7
  915. package/src/post-content/block.json +1 -0
  916. package/src/post-content/index.php +1 -1
  917. package/src/post-date/block.json +1 -0
  918. package/src/post-date/index.php +2 -2
  919. package/src/post-excerpt/block.json +1 -0
  920. package/src/post-excerpt/edit.js +1 -0
  921. package/src/post-excerpt/index.js +2 -0
  922. package/src/post-excerpt/index.php +1 -1
  923. package/src/post-excerpt/transforms.js +23 -0
  924. package/src/post-featured-image/block.json +4 -0
  925. package/src/post-featured-image/dimension-controls.js +103 -51
  926. package/src/post-featured-image/edit.js +61 -22
  927. package/src/post-featured-image/editor.scss +0 -8
  928. package/src/post-featured-image/index.php +3 -2
  929. package/src/post-featured-image/style.scss +1 -1
  930. package/src/post-navigation-link/block.json +1 -0
  931. package/src/post-navigation-link/index.php +4 -4
  932. package/src/post-template/block.json +2 -1
  933. package/src/post-template/edit.js +27 -7
  934. package/src/post-template/index.php +2 -2
  935. package/src/post-template/style.scss +5 -0
  936. package/src/post-terms/block.json +1 -0
  937. package/src/post-terms/index.php +1 -1
  938. package/src/post-title/block.json +1 -0
  939. package/src/post-title/index.php +1 -1
  940. package/src/post-title/style.scss +6 -2
  941. package/src/preformatted/block.json +1 -0
  942. package/src/preformatted/edit.native.js +4 -4
  943. package/src/preformatted/test/__snapshots__/edit.native.js.snap +53 -14
  944. package/src/preformatted/test/edit.native.js +11 -10
  945. package/src/pullquote/block.json +8 -1
  946. package/src/pullquote/style.scss +1 -0
  947. package/src/query/block.json +3 -3
  948. package/src/query/deprecated.js +80 -3
  949. package/src/query/edit/index.js +3 -3
  950. package/src/query/edit/inspector-controls/author-control.js +78 -0
  951. package/src/query/edit/inspector-controls/index.js +163 -0
  952. package/src/query/edit/inspector-controls/order-control.js +41 -0
  953. package/src/query/edit/inspector-controls/taxonomy-controls.js +118 -0
  954. package/src/query/test/utils.js +6 -4
  955. package/src/query/utils.js +45 -35
  956. package/src/query/variations.js +0 -4
  957. package/src/query-pagination/block.json +2 -1
  958. package/src/query-pagination/editor.scss +0 -4
  959. package/src/query-pagination-next/block.json +2 -1
  960. package/src/query-pagination-next/index.php +2 -1
  961. package/src/query-pagination-numbers/block.json +2 -1
  962. package/src/query-pagination-previous/block.json +2 -1
  963. package/src/query-pagination-previous/index.php +2 -1
  964. package/src/query-title/block.json +1 -0
  965. package/src/quote/block.json +1 -0
  966. package/src/rss/block.json +1 -0
  967. package/src/search/block.json +8 -1
  968. package/src/search/edit.js +2 -1
  969. package/src/search/edit.native.js +2 -5
  970. package/src/search/index.php +21 -11
  971. package/src/search/test/__snapshots__/edit.native.js.snap +7 -15
  972. package/src/search/test/edit.native.js +32 -24
  973. package/src/separator/block.json +1 -0
  974. package/src/shortcode/block.json +1 -0
  975. package/src/site-logo/block.json +1 -0
  976. package/src/site-logo/edit.js +1 -32
  977. package/src/site-logo/index.js +2 -0
  978. package/src/site-logo/index.php +1 -1
  979. package/src/site-logo/transforms.js +21 -0
  980. package/src/site-tagline/block.json +2 -1
  981. package/src/site-tagline/index.php +1 -1
  982. package/src/site-title/block.json +1 -0
  983. package/src/site-title/index.js +2 -0
  984. package/src/site-title/index.php +4 -4
  985. package/src/site-title/transforms.js +21 -0
  986. package/src/social-link/block.json +2 -1
  987. package/src/social-link/index.php +3 -3
  988. package/src/social-links/block.json +3 -8
  989. package/src/social-links/edit.js +29 -26
  990. package/src/social-links/editor.scss +7 -0
  991. package/src/social-links/style.scss +3 -0
  992. package/src/spacer/block.json +4 -3
  993. package/src/spacer/controls.js +108 -0
  994. package/src/spacer/controls.native.js +82 -0
  995. package/src/spacer/deprecated.js +41 -0
  996. package/src/spacer/edit.js +133 -132
  997. package/src/spacer/edit.native.js +68 -0
  998. package/src/spacer/editor.scss +6 -0
  999. package/src/spacer/index.js +2 -0
  1000. package/src/spacer/save.js +5 -2
  1001. package/src/style.scss +3 -2
  1002. package/src/table/block.json +7 -1
  1003. package/src/table/style.scss +1 -0
  1004. package/src/table-of-contents/block.json +1 -0
  1005. package/src/table-of-contents/index.php +3 -3
  1006. package/src/tag-cloud/block.json +1 -0
  1007. package/src/tag-cloud/index.php +9 -0
  1008. package/src/tag-cloud/style.scss +9 -0
  1009. package/src/template-part/block.json +1 -0
  1010. package/src/template-part/index.php +6 -6
  1011. package/src/term-description/block.json +1 -0
  1012. package/src/text-columns/block.json +1 -0
  1013. package/src/verse/block.json +1 -0
  1014. package/src/verse/test/edit.native.js +7 -10
  1015. package/src/video/block.json +1 -0
  1016. package/build/comments-query-loop/toolbar.js +0 -58
  1017. package/build/comments-query-loop/toolbar.js.map +0 -1
  1018. package/build/embed/embed-bottom-sheet.native.js +0 -85
  1019. package/build/embed/embed-bottom-sheet.native.js.map +0 -1
  1020. package/build/query/edit/query-inspector-controls.js +0 -275
  1021. package/build/query/edit/query-inspector-controls.js.map +0 -1
  1022. package/build-module/comments-query-loop/toolbar.js +0 -48
  1023. package/build-module/comments-query-loop/toolbar.js.map +0 -1
  1024. package/build-module/embed/embed-bottom-sheet.native.js +0 -74
  1025. package/build-module/embed/embed-bottom-sheet.native.js.map +0 -1
  1026. package/build-module/query/edit/query-inspector-controls.js +0 -261
  1027. package/build-module/query/edit/query-inspector-controls.js.map +0 -1
  1028. package/src/comments-query-loop/toolbar.js +0 -57
  1029. package/src/embed/embed-bottom-sheet.native.js +0 -78
  1030. package/src/home-link/style.scss +0 -51
  1031. package/src/query/edit/query-inspector-controls.js +0 -281
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/author-control.js"],"names":["__","FormTokenField","useSelect","store","coreStore","getEntitiesInfo","AUTHORS_QUERY","who","per_page","_fields","context","AuthorControl","value","onChange","authorsList","select","getUsers","authorsInfo","normalizedValue","toString","split","sanitizedValue","reduce","accumulator","authorId","author","mapById","push","id","name","getIdByValue","entitiesMappedByName","authorValue","onAuthorChange","newValue","ids","Array","from","mapByName","add","Set","join","names"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,aAAhC;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,GAAG,EAAE,SADgB;AAErBC,EAAAA,QAAQ,EAAE,CAAC,CAFU;AAGrBC,EAAAA,OAAO,EAAE,SAHY;AAIrBC,EAAAA,OAAO,EAAE;AAJY,CAAtB;;AAOA,SAASC,aAAT,OAA8C;AAAA,MAAtB;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAsB;AAC7C,QAAMC,WAAW,GAAGZ,SAAS,CAAIa,MAAF,IAAc;AAC5C,UAAM;AAAEC,MAAAA;AAAF,QAAeD,MAAM,CAAEX,SAAF,CAA3B;AACA,WAAOY,QAAQ,CAAEV,aAAF,CAAf;AACA,GAH4B,EAG1B,EAH0B,CAA7B;;AAKA,MAAK,CAAEQ,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AACD,QAAMG,WAAW,GAAGZ,eAAe,CAAES,WAAF,CAAnC;AACA;AACD;AACA;AACA;AACA;;AACC,QAAMI,eAAe,GAAG,CAAEN,KAAF,GAAU,EAAV,GAAeA,KAAK,CAACO,QAAN,GAAiBC,KAAjB,CAAwB,GAAxB,CAAvC,CAf6C,CAgB7C;AACA;;AACA,QAAMC,cAAc,GAAGH,eAAe,CAACI,MAAhB,CACtB,CAAEC,WAAF,EAAeC,QAAf,KAA6B;AAC5B,UAAMC,MAAM,GAAGR,WAAW,CAACS,OAAZ,CAAqBF,QAArB,CAAf;;AACA,QAAKC,MAAL,EAAc;AACbF,MAAAA,WAAW,CAACI,IAAZ,CAAkB;AACjBC,QAAAA,EAAE,EAAEJ,QADa;AAEjBZ,QAAAA,KAAK,EAAEa,MAAM,CAACI;AAFG,OAAlB;AAIA;;AACD,WAAON,WAAP;AACA,GAVqB,EAWtB,EAXsB,CAAvB;;AAcA,QAAMO,YAAY,GAAG,CAAEC,oBAAF,EAAwBC,WAAxB,KAAyC;AAAA;;AAC7D,UAAMJ,EAAE,GAAG,CAAAI,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEJ,EAAb,+BAAmBG,oBAAoB,CAAEC,WAAF,CAAvC,0DAAmB,sBAAqCJ,EAAxD,CAAX;AACA,QAAKA,EAAL,EAAU,OAAOA,EAAP;AACV,GAHD;;AAIA,QAAMK,cAAc,GAAKC,QAAF,IAAgB;AACtC,UAAMC,GAAG,GAAGC,KAAK,CAACC,IAAN,CACXH,QAAQ,CAACZ,MAAT,CAAiB,CAAEC,WAAF,EAAeE,MAAf,KAA2B;AAC3C;AACA,YAAMG,EAAE,GAAGE,YAAY,CAAEb,WAAW,CAACqB,SAAd,EAAyBb,MAAzB,CAAvB;AACA,UAAKG,EAAL,EAAUL,WAAW,CAACgB,GAAZ,CAAiBX,EAAjB;AACV,aAAOL,WAAP;AACA,KALD,EAKG,IAAIiB,GAAJ,EALH,CADW,CAAZ;AAQA3B,IAAAA,QAAQ,CAAE;AAAEY,MAAAA,MAAM,EAAEU,GAAG,CAACM,IAAJ,CAAU,GAAV;AAAV,KAAF,CAAR;AACA,GAVD;;AAWA,SACC,cAAC,cAAD;AACC,IAAA,KAAK,EAAGzC,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGqB,cAFT;AAGC,IAAA,WAAW,EAAGJ,WAAW,CAACyB,KAH3B;AAIC,IAAA,QAAQ,EAAGT;AAJZ,IADD;AAQA;;AAED,eAAetB,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo } from '../../utils';\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorControl( { value, onChange } ) {\n\tconst authorsList = useSelect( ( select ) => {\n\t\tconst { getUsers } = select( coreStore );\n\t\treturn getUsers( AUTHORS_QUERY );\n\t}, [] );\n\n\tif ( ! authorsList ) {\n\t\treturn null;\n\t}\n\tconst authorsInfo = getEntitiesInfo( authorsList );\n\t/**\n\t * We need to normalize the value because the block operates on a\n\t * comma(`,`) separated string value and `FormTokenFiels` needs an\n\t * array.\n\t */\n\tconst normalizedValue = ! value ? [] : value.toString().split( ',' );\n\t// Returns only the existing authors ids. This prevents the component\n\t// from crashing in the editor, when non existing ids are provided.\n\tconst sanitizedValue = normalizedValue.reduce(\n\t\t( accumulator, authorId ) => {\n\t\t\tconst author = authorsInfo.mapById[ authorId ];\n\t\t\tif ( author ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid: authorId,\n\t\t\t\t\tvalue: author.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\n\tconst getIdByValue = ( entitiesMappedByName, authorValue ) => {\n\t\tconst id = authorValue?.id || entitiesMappedByName[ authorValue ]?.id;\n\t\tif ( id ) return id;\n\t};\n\tconst onAuthorChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, author ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( authorsInfo.mapByName, author );\n\t\t\t\tif ( id ) accumulator.add( id );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tonChange( { author: ids.join( ',' ) } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\tlabel={ __( 'Authors' ) }\n\t\t\tvalue={ sanitizedValue }\n\t\t\tsuggestions={ authorsInfo.names }\n\t\t\tonChange={ onAuthorChange }\n\t\t/>\n\t);\n}\n\nexport default AuthorControl;\n"]}
@@ -0,0 +1,149 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import { debounce } from 'lodash';
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+
11
+ import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Notice } from '@wordpress/components';
12
+ import { __ } from '@wordpress/i18n';
13
+ import { InspectorControls } from '@wordpress/block-editor';
14
+ import { useEffect, useState, useCallback } from '@wordpress/element';
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+
19
+ import OrderControl from './order-control';
20
+ import AuthorControl from './author-control';
21
+ import TaxonomyControls from './taxonomy-controls';
22
+ import { usePostTypes } from '../../utils';
23
+ const stickyOptions = [{
24
+ label: __('Include'),
25
+ value: ''
26
+ }, {
27
+ label: __('Exclude'),
28
+ value: 'exclude'
29
+ }, {
30
+ label: __('Only'),
31
+ value: 'only'
32
+ }];
33
+ export default function QueryInspectorControls(_ref) {
34
+ let {
35
+ attributes: {
36
+ query,
37
+ displayLayout
38
+ },
39
+ setQuery,
40
+ setDisplayLayout
41
+ } = _ref;
42
+ const {
43
+ order,
44
+ orderBy,
45
+ author: authorIds,
46
+ postType,
47
+ sticky,
48
+ inherit,
49
+ taxQuery
50
+ } = query;
51
+ const [showSticky, setShowSticky] = useState(postType === 'post');
52
+ const {
53
+ postTypesTaxonomiesMap,
54
+ postTypesSelectOptions
55
+ } = usePostTypes();
56
+ useEffect(() => {
57
+ setShowSticky(postType === 'post');
58
+ }, [postType]);
59
+
60
+ const onPostTypeChange = newValue => {
61
+ const updateQuery = {
62
+ postType: newValue
63
+ }; // We need to dynamically update the `taxQuery` property,
64
+ // by removing any not supported taxonomy from the query.
65
+
66
+ const supportedTaxonomies = postTypesTaxonomiesMap[newValue];
67
+ const updatedTaxQuery = Object.entries(taxQuery || {}).reduce((accumulator, _ref2) => {
68
+ let [taxonomySlug, terms] = _ref2;
69
+
70
+ if (supportedTaxonomies.includes(taxonomySlug)) {
71
+ accumulator[taxonomySlug] = terms;
72
+ }
73
+
74
+ return accumulator;
75
+ }, {});
76
+ updateQuery.taxQuery = !!Object.keys(updatedTaxQuery).length ? updatedTaxQuery : undefined;
77
+
78
+ if (newValue !== 'post') {
79
+ updateQuery.sticky = '';
80
+ }
81
+
82
+ setQuery(updateQuery);
83
+ };
84
+
85
+ const [querySearch, setQuerySearch] = useState(query.search);
86
+ const onChangeDebounced = useCallback(debounce(() => {
87
+ if (query.search !== querySearch) {
88
+ setQuery({
89
+ search: querySearch
90
+ });
91
+ }
92
+ }, 250), [querySearch, query.search]);
93
+ useEffect(() => {
94
+ onChangeDebounced();
95
+ return onChangeDebounced.cancel;
96
+ }, [querySearch, onChangeDebounced]);
97
+ return createElement(InspectorControls, null, createElement(PanelBody, {
98
+ title: __('Settings')
99
+ }, createElement(ToggleControl, {
100
+ label: __('Inherit query from template'),
101
+ help: __('Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'),
102
+ checked: !!inherit,
103
+ onChange: value => setQuery({
104
+ inherit: !!value
105
+ })
106
+ }), !inherit && createElement(SelectControl, {
107
+ options: postTypesSelectOptions,
108
+ value: postType,
109
+ label: __('Post type'),
110
+ onChange: onPostTypeChange,
111
+ help: __('WordPress contains different types of content and they are divided into collections called "Post types". By default there are a few different ones such as blog posts and pages, but plugins could add more.')
112
+ }), (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.type) === 'flex' && createElement(Fragment, null, createElement(RangeControl, {
113
+ label: __('Columns'),
114
+ value: displayLayout.columns,
115
+ onChange: value => setDisplayLayout({
116
+ columns: value
117
+ }),
118
+ min: 2,
119
+ max: Math.max(6, displayLayout.columns)
120
+ }), displayLayout.columns > 6 && createElement(Notice, {
121
+ status: "warning",
122
+ isDismissible: false
123
+ }, __('This column count exceeds the recommended amount and may cause visual breakage.'))), !inherit && createElement(OrderControl, {
124
+ order,
125
+ orderBy,
126
+ onChange: setQuery
127
+ }), showSticky && createElement(SelectControl, {
128
+ label: __('Sticky posts'),
129
+ options: stickyOptions,
130
+ value: sticky,
131
+ onChange: value => setQuery({
132
+ sticky: value
133
+ }),
134
+ help: __('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.')
135
+ })), !inherit && createElement(PanelBody, {
136
+ title: __('Filters')
137
+ }, createElement(TaxonomyControls, {
138
+ onChange: setQuery,
139
+ query: query
140
+ }), createElement(AuthorControl, {
141
+ value: authorIds,
142
+ onChange: setQuery
143
+ }), createElement(TextControl, {
144
+ label: __('Keyword'),
145
+ value: querySearch,
146
+ onChange: setQuerySearch
147
+ })));
148
+ }
149
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__","InspectorControls","useEffect","useState","useCallback","OrderControl","AuthorControl","TaxonomyControls","usePostTypes","stickyOptions","label","value","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","type","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport { usePostTypes } from '../../utils';\n\nconst stickyOptions = [\n\t{ label: __( 'Include' ), value: '' },\n\t{ label: __( 'Exclude' ), value: 'exclude' },\n\t{ label: __( 'Only' ), value: 'only' },\n];\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showSticky && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\t\t\t\toptions={ stickyOptions }\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Blog posts can be \"stickied\", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
@@ -0,0 +1,45 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { SelectControl } from '@wordpress/components';
7
+ import { __ } from '@wordpress/i18n';
8
+ const orderOptions = [{
9
+ label: __('Newest to oldest'),
10
+ value: 'date/desc'
11
+ }, {
12
+ label: __('Oldest to newest'),
13
+ value: 'date/asc'
14
+ }, {
15
+ /* translators: label for ordering posts by title in ascending order */
16
+ label: __('A → Z'),
17
+ value: 'title/asc'
18
+ }, {
19
+ /* translators: label for ordering posts by title in descending order */
20
+ label: __('Z → A'),
21
+ value: 'title/desc'
22
+ }];
23
+
24
+ function OrderControl(_ref) {
25
+ let {
26
+ order,
27
+ orderBy,
28
+ onChange
29
+ } = _ref;
30
+ return createElement(SelectControl, {
31
+ label: __('Order by'),
32
+ value: `${orderBy}/${order}`,
33
+ options: orderOptions,
34
+ onChange: value => {
35
+ const [newOrderBy, newOrder] = value.split('/');
36
+ onChange({
37
+ order: newOrder,
38
+ orderBy: newOrderBy
39
+ });
40
+ }
41
+ });
42
+ }
43
+
44
+ export default OrderControl;
45
+ //# sourceMappingURL=order-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/order-control.js"],"names":["SelectControl","__","orderOptions","label","value","OrderControl","order","orderBy","onChange","newOrderBy","newOrder","split"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,YAAY,GAAG,CACpB;AACCC,EAAAA,KAAK,EAAEF,EAAE,CAAE,kBAAF,CADV;AAECG,EAAAA,KAAK,EAAE;AAFR,CADoB,EAKpB;AACCD,EAAAA,KAAK,EAAEF,EAAE,CAAE,kBAAF,CADV;AAECG,EAAAA,KAAK,EAAE;AAFR,CALoB,EASpB;AACC;AACAD,EAAAA,KAAK,EAAEF,EAAE,CAAE,OAAF,CAFV;AAGCG,EAAAA,KAAK,EAAE;AAHR,CAToB,EAcpB;AACC;AACAD,EAAAA,KAAK,EAAEF,EAAE,CAAE,OAAF,CAFV;AAGCG,EAAAA,KAAK,EAAE;AAHR,CAdoB,CAArB;;AAoBA,SAASC,YAAT,OAAsD;AAAA,MAA/B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,OAAT;AAAkBC,IAAAA;AAAlB,GAA+B;AACrD,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGP,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,KAAK,EAAI,GAAGM,OAAS,IAAID,KAAO,EAFjC;AAGC,IAAA,OAAO,EAAGJ,YAHX;AAIC,IAAA,QAAQ,EAAKE,KAAF,IAAa;AACvB,YAAM,CAAEK,UAAF,EAAcC,QAAd,IAA2BN,KAAK,CAACO,KAAN,CAAa,GAAb,CAAjC;AACAH,MAAAA,QAAQ,CAAE;AAAEF,QAAAA,KAAK,EAAEI,QAAT;AAAmBH,QAAAA,OAAO,EAAEE;AAA5B,OAAF,CAAR;AACA;AAPF,IADD;AAWA;;AAED,eAAeJ,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst orderOptions = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: label for ordering posts by title in ascending order */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: label for ordering posts by title in descending order */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\nfunction OrderControl( { order, orderBy, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Order by' ) }\n\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( { order: newOrder, orderBy: newOrderBy } );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default OrderControl;\n"]}
@@ -0,0 +1,145 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { FormTokenField } from '@wordpress/components';
7
+ import { useSelect } from '@wordpress/data';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+
13
+ import { getEntitiesInfo, useTaxonomies } from '../../utils';
14
+ import { MAX_FETCHED_TERMS } from '../../constants'; // Helper function to get the term id based on user input in terms `FormTokenField`.
15
+
16
+ const getTermIdByTermValue = (termsMappedByName, termValue) => {
17
+ var _termsMappedByName$te;
18
+
19
+ // First we check for exact match by `term.id` or case sensitive `term.name` match.
20
+ const termId = (termValue === null || termValue === void 0 ? void 0 : termValue.id) || ((_termsMappedByName$te = termsMappedByName[termValue]) === null || _termsMappedByName$te === void 0 ? void 0 : _termsMappedByName$te.id);
21
+ if (termId) return termId;
22
+ /**
23
+ * Here we make an extra check for entered terms in a non case sensitive way,
24
+ * to match user expectations, due to `FormTokenField` behaviour that shows
25
+ * suggestions which are case insensitive.
26
+ *
27
+ * Although WP tries to discourage users to add terms with the same name (case insensitive),
28
+ * it's still possible if you manually change the name, as long as the terms have different slugs.
29
+ * In this edge case we always apply the first match from the terms list.
30
+ */
31
+
32
+ const termValueLower = termValue.toLocaleLowerCase();
33
+
34
+ for (const term in termsMappedByName) {
35
+ if (term.toLocaleLowerCase() === termValueLower) {
36
+ return termsMappedByName[term].id;
37
+ }
38
+ }
39
+ };
40
+
41
+ function TaxonomyControls(_ref) {
42
+ let {
43
+ onChange,
44
+ query
45
+ } = _ref;
46
+ const taxonomies = useTaxonomies(query.postType);
47
+ const taxonomiesInfo = useSelect(select => {
48
+ const {
49
+ getEntityRecords
50
+ } = select(coreStore);
51
+ const termsQuery = {
52
+ per_page: MAX_FETCHED_TERMS
53
+ };
54
+
55
+ const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(_ref2 => {
56
+ let {
57
+ slug,
58
+ name
59
+ } = _ref2;
60
+
61
+ const _terms = getEntityRecords('taxonomy', slug, termsQuery);
62
+
63
+ return {
64
+ slug,
65
+ name,
66
+ terms: getEntitiesInfo(_terms)
67
+ };
68
+ });
69
+
70
+ return _taxonomiesInfo;
71
+ }, [taxonomies]);
72
+
73
+ const onTermsChange = taxonomySlug => newTermValues => {
74
+ const taxonomyInfo = taxonomiesInfo.find(_ref3 => {
75
+ let {
76
+ slug
77
+ } = _ref3;
78
+ return slug === taxonomySlug;
79
+ });
80
+ if (!taxonomyInfo) return;
81
+ const termIds = Array.from(newTermValues.reduce((accumulator, termValue) => {
82
+ const termId = getTermIdByTermValue(taxonomyInfo.terms.mapByName, termValue);
83
+ if (termId) accumulator.add(termId);
84
+ return accumulator;
85
+ }, new Set()));
86
+ const newTaxQuery = { ...query.taxQuery,
87
+ [taxonomySlug]: termIds
88
+ };
89
+ onChange({
90
+ taxQuery: newTaxQuery
91
+ });
92
+ }; // Returns only the existing term ids in proper format to be
93
+ // used in `FormTokenField`. This prevents the component from
94
+ // crashing in the editor, when non existing term ids were provided.
95
+
96
+
97
+ const getExistingTaxQueryValue = taxonomySlug => {
98
+ var _query$taxQuery;
99
+
100
+ const taxonomyInfo = taxonomiesInfo.find(_ref4 => {
101
+ let {
102
+ slug
103
+ } = _ref4;
104
+ return slug === taxonomySlug;
105
+ });
106
+ if (!taxonomyInfo) return [];
107
+ return (((_query$taxQuery = query.taxQuery) === null || _query$taxQuery === void 0 ? void 0 : _query$taxQuery[taxonomySlug]) || []).reduce((accumulator, termId) => {
108
+ const term = taxonomyInfo.terms.mapById[termId];
109
+
110
+ if (term) {
111
+ accumulator.push({
112
+ id: termId,
113
+ value: term.name
114
+ });
115
+ }
116
+
117
+ return accumulator;
118
+ }, []);
119
+ };
120
+
121
+ return createElement(Fragment, null, !!(taxonomiesInfo !== null && taxonomiesInfo !== void 0 && taxonomiesInfo.length) && taxonomiesInfo.map(_ref5 => {
122
+ var _terms$names;
123
+
124
+ let {
125
+ slug,
126
+ name,
127
+ terms
128
+ } = _ref5;
129
+
130
+ if (!(terms !== null && terms !== void 0 && (_terms$names = terms.names) !== null && _terms$names !== void 0 && _terms$names.length)) {
131
+ return null;
132
+ }
133
+
134
+ return createElement(FormTokenField, {
135
+ key: slug,
136
+ label: name,
137
+ value: getExistingTaxQueryValue(slug),
138
+ suggestions: terms.names,
139
+ onChange: onTermsChange(slug)
140
+ });
141
+ }));
142
+ }
143
+
144
+ export default TaxonomyControls;
145
+ //# sourceMappingURL=taxonomy-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["FormTokenField","useSelect","store","coreStore","getEntitiesInfo","useTaxonomies","MAX_FETCHED_TERMS","getTermIdByTermValue","termsMappedByName","termValue","termId","id","termValueLower","toLocaleLowerCase","term","TaxonomyControls","onChange","query","taxonomies","postType","taxonomiesInfo","select","getEntityRecords","termsQuery","per_page","_taxonomiesInfo","map","slug","name","_terms","terms","onTermsChange","taxonomySlug","newTermValues","taxonomyInfo","find","termIds","Array","from","reduce","accumulator","mapByName","add","Set","newTaxQuery","taxQuery","getExistingTaxQueryValue","mapById","push","value","length","names"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, useTaxonomies } from '../../utils';\nimport { MAX_FETCHED_TERMS } from '../../constants';\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( termsMappedByName, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId = termValue?.id || termsMappedByName[ termValue ]?.id;\n\tif ( termId ) return termId;\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\tfor ( const term in termsMappedByName ) {\n\t\tif ( term.toLocaleLowerCase() === termValueLower ) {\n\t\t\treturn termsMappedByName[ term ].id;\n\t\t}\n\t}\n};\n\nfunction TaxonomyControls( { onChange, query } ) {\n\tconst taxonomies = useTaxonomies( query.postType );\n\tconst taxonomiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst termsQuery = { per_page: MAX_FETCHED_TERMS };\n\t\t\tconst _taxonomiesInfo = taxonomies?.map( ( { slug, name } ) => {\n\t\t\t\tconst _terms = getEntityRecords( 'taxonomy', slug, termsQuery );\n\t\t\t\treturn {\n\t\t\t\t\tslug,\n\t\t\t\t\tname,\n\t\t\t\t\tterms: getEntitiesInfo( _terms ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn _taxonomiesInfo;\n\t\t},\n\t\t[ taxonomies ]\n\t);\n\tconst onTermsChange = ( taxonomySlug ) => ( newTermValues ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return;\n\t\tconst termIds = Array.from(\n\t\t\tnewTermValues.reduce( ( accumulator, termValue ) => {\n\t\t\t\tconst termId = getTermIdByTermValue(\n\t\t\t\t\ttaxonomyInfo.terms.mapByName,\n\t\t\t\t\ttermValue\n\t\t\t\t);\n\t\t\t\tif ( termId ) accumulator.add( termId );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tconst newTaxQuery = {\n\t\t\t...query.taxQuery,\n\t\t\t[ taxonomySlug ]: termIds,\n\t\t};\n\t\tonChange( { taxQuery: newTaxQuery } );\n\t};\n\t// Returns only the existing term ids in proper format to be\n\t// used in `FormTokenField`. This prevents the component from\n\t// crashing in the editor, when non existing term ids were provided.\n\tconst getExistingTaxQueryValue = ( taxonomySlug ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return [];\n\t\treturn ( query.taxQuery?.[ taxonomySlug ] || [] ).reduce(\n\t\t\t( accumulator, termId ) => {\n\t\t\t\tconst term = taxonomyInfo.terms.mapById[ termId ];\n\t\t\t\tif ( term ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\tid: termId,\n\t\t\t\t\t\tvalue: term.name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t};\n\treturn (\n\t\t<>\n\t\t\t{ !! taxonomiesInfo?.length &&\n\t\t\t\ttaxonomiesInfo.map( ( { slug, name, terms } ) => {\n\t\t\t\t\tif ( ! terms?.names?.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\tlabel={ name }\n\t\t\t\t\t\t\tvalue={ getExistingTaxQueryValue( slug ) }\n\t\t\t\t\t\t\tsuggestions={ terms.names }\n\t\t\t\t\t\t\tonChange={ onTermsChange( slug ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default TaxonomyControls;\n"]}
@@ -8,6 +8,7 @@ import { addFilter } from '@wordpress/hooks';
8
8
  */
9
9
 
10
10
  const metadata = {
11
+ $schema: "https://schemas.wp.org/trunk/block.json",
11
12
  apiVersion: 2,
12
13
  name: "core/query",
13
14
  title: "Query Loop",
@@ -25,15 +26,14 @@ const metadata = {
25
26
  pages: 0,
26
27
  offset: 0,
27
28
  postType: "post",
28
- categoryIds: [],
29
- tagIds: [],
30
29
  order: "desc",
31
30
  orderBy: "date",
32
31
  author: "",
33
32
  search: "",
34
33
  exclude: [],
35
34
  sticky: "",
36
- inherit: true
35
+ inherit: true,
36
+ taxQuery: null
37
37
  }
38
38
  },
39
39
  tagName: {
@@ -5,50 +5,41 @@ import { useSelect } from '@wordpress/data';
5
5
  import { useMemo } from '@wordpress/element';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
7
  /**
8
- * WordPress term object from REST API.
9
- * Categories ref: https://developer.wordpress.org/rest-api/reference/categories/
10
- * Tags ref: https://developer.wordpress.org/rest-api/reference/tags/
11
- *
12
- * @typedef {Object} WPTerm
13
- * @property {number} id Unique identifier for the term.
14
- * @property {number} count Number of published posts for the term.
15
- * @property {string} description HTML description of the term.
16
- * @property {string} link URL of the term.
17
- * @property {string} name HTML title for the term.
18
- * @property {string} slug An alphanumeric identifier for the term unique to its type.
19
- * @property {string} taxonomy Type attribution for the term.
20
- * @property {Object} meta Meta fields
21
- * @property {number} [parent] The parent term ID.
8
+ * @typedef IHasNameAndId
9
+ * @property {string|number} id The entity's id.
10
+ * @property {string} name The entity's name.
22
11
  */
23
12
 
24
13
  /**
25
14
  * The object used in Query block that contains info and helper mappings
26
- * from an array of WPTerm.
15
+ * from an array of IHasNameAndId objects.
27
16
  *
28
- * @typedef {Object} QueryTermsInfo
29
- * @property {WPTerm[]} terms The array of terms.
30
- * @property {Object<string, WPTerm>} mapById Object mapping with the term id as key and the term as value.
31
- * @property {Object<string, WPTerm>} mapByName Object mapping with the term name as key and the term as value.
32
- * @property {string[]} names Array with the terms' names.
17
+ * @typedef {Object} QueryEntitiesInfo
18
+ * @property {IHasNameAndId[]} entities The array of entities.
19
+ * @property {Object<string, IHasNameAndId>} mapById Object mapping with the id as key and the entity as value.
20
+ * @property {Object<string, IHasNameAndId>} mapByName Object mapping with the name as key and the entity as value.
21
+ * @property {string[]} names Array with the entities' names.
33
22
  */
34
23
 
35
24
  /**
36
- * Returns a helper object with mapping from WPTerms.
25
+ * Returns a helper object with mapping from Objects that implement
26
+ * the `IHasNameAndId` interface. The returned object is used for
27
+ * integration with `FormTokenField` component.
37
28
  *
38
- * @param {WPTerm[]} terms The terms to extract of helper object.
39
- * @return {QueryTermsInfo} The object with the terms information.
29
+ * @param {IHasNameAndId[]} entities The entities to extract of helper object.
30
+ * @return {QueryEntitiesInfo} The object with the entities information.
40
31
  */
41
32
 
42
- export const getTermsInfo = terms => {
43
- const mapping = terms === null || terms === void 0 ? void 0 : terms.reduce((accumulator, term) => {
33
+ export const getEntitiesInfo = entities => {
34
+ const mapping = entities === null || entities === void 0 ? void 0 : entities.reduce((accumulator, entity) => {
44
35
  const {
45
36
  mapById,
46
37
  mapByName,
47
38
  names
48
39
  } = accumulator;
49
- mapById[term.id] = term;
50
- mapByName[term.name] = term;
51
- names.push(term.name);
40
+ mapById[entity.id] = entity;
41
+ mapByName[entity.name] = entity;
42
+ names.push(entity.name);
52
43
  return accumulator;
53
44
  }, {
54
45
  mapById: {},
@@ -56,7 +47,7 @@ export const getTermsInfo = terms => {
56
47
  names: []
57
48
  });
58
49
  return {
59
- terms,
50
+ entities,
60
51
  ...mapping
61
52
  };
62
53
  };
@@ -69,9 +60,7 @@ export const getTermsInfo = terms => {
69
60
  */
70
61
 
71
62
  export const usePostTypes = () => {
72
- const {
73
- postTypes
74
- } = useSelect(select => {
63
+ const postTypes = useSelect(select => {
75
64
  var _getPostTypes;
76
65
 
77
66
  const {
@@ -87,9 +76,7 @@ export const usePostTypes = () => {
87
76
  } = _ref;
88
77
  return viewable && !excludedPostTypes.includes(slug);
89
78
  });
90
- return {
91
- postTypes: filteredPostTypes
92
- };
79
+ return filteredPostTypes;
93
80
  }, []);
94
81
  const postTypesTaxonomiesMap = useMemo(() => {
95
82
  if (!(postTypes !== null && postTypes !== void 0 && postTypes.length)) return;
@@ -113,6 +100,27 @@ export const usePostTypes = () => {
113
100
  postTypesSelectOptions
114
101
  };
115
102
  };
103
+ /**
104
+ * Hook that returns the taxonomies associated with a specific post type.
105
+ *
106
+ * @param {string} postType The post type from which to retrieve the associated taxonomies.
107
+ * @return {Object[]} An array of the associated taxonomies.
108
+ */
109
+
110
+ export const useTaxonomies = postType => {
111
+ const taxonomies = useSelect(select => {
112
+ const {
113
+ getTaxonomies
114
+ } = select(coreStore);
115
+ const filteredTaxonomies = getTaxonomies({
116
+ type: postType,
117
+ per_page: -1,
118
+ context: 'view'
119
+ });
120
+ return filteredTaxonomies;
121
+ }, [postType]);
122
+ return taxonomies;
123
+ };
116
124
  /**
117
125
  * Recurses over a list of blocks and returns the first found
118
126
  * Query Loop block's clientId.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/utils.js"],"names":["useSelect","useMemo","store","coreStore","getTermsInfo","terms","mapping","reduce","accumulator","term","mapById","mapByName","names","id","name","push","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","map","labels","label","singular_name","value","getFirstQueryClientIdFromBlocks","blocks","blocksQueue","block","shift","clientId","innerBlocks","forEach","innerBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * WordPress term object from REST API.\n * Categories ref: https://developer.wordpress.org/rest-api/reference/categories/\n * Tags ref: https://developer.wordpress.org/rest-api/reference/tags/\n *\n * @typedef {Object} WPTerm\n * @property {number} id Unique identifier for the term.\n * @property {number} count Number of published posts for the term.\n * @property {string} description HTML description of the term.\n * @property {string} link URL of the term.\n * @property {string} name HTML title for the term.\n * @property {string} slug An alphanumeric identifier for the term unique to its type.\n * @property {string} taxonomy Type attribution for the term.\n * @property {Object} meta Meta fields\n * @property {number} [parent] The parent term ID.\n */\n\n/**\n * The object used in Query block that contains info and helper mappings\n * from an array of WPTerm.\n *\n * @typedef {Object} QueryTermsInfo\n * @property {WPTerm[]} terms The array of terms.\n * @property {Object<string, WPTerm>} mapById Object mapping with the term id as key and the term as value.\n * @property {Object<string, WPTerm>} mapByName Object mapping with the term name as key and the term as value.\n * @property {string[]} names Array with the terms' names.\n */\n\n/**\n * Returns a helper object with mapping from WPTerms.\n *\n * @param {WPTerm[]} terms The terms to extract of helper object.\n * @return {QueryTermsInfo} The object with the terms information.\n */\nexport const getTermsInfo = ( terms ) => {\n\tconst mapping = terms?.reduce(\n\t\t( accumulator, term ) => {\n\t\t\tconst { mapById, mapByName, names } = accumulator;\n\t\t\tmapById[ term.id ] = term;\n\t\t\tmapByName[ term.name ] = term;\n\t\t\tnames.push( term.name );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ mapById: {}, mapByName: {}, names: [] }\n\t);\n\n\treturn {\n\t\tterms,\n\t\t...mapping,\n\t};\n};\n\n/**\n * Returns a helper object that contains:\n * 1. An `options` object from the available post types, to be passed to a `SelectControl`.\n * 2. A helper map with available taxonomies per post type.\n *\n * @return {Object} The helper object related to post types.\n */\nexport const usePostTypes = () => {\n\tconst { postTypes } = useSelect( ( select ) => {\n\t\tconst { getPostTypes } = select( coreStore );\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\tconst filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t\treturn {\n\t\t\tpostTypes: filteredPostTypes,\n\t\t};\n\t}, [] );\n\tconst postTypesTaxonomiesMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) return;\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\treturn { postTypesTaxonomiesMap, postTypesSelectOptions };\n};\n\n/**\n * Recurses over a list of blocks and returns the first found\n * Query Loop block's clientId.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through.\n * @return {string=} The first found Query Loop's clientId.\n */\nexport const getFirstQueryClientIdFromBlocks = ( blocks ) => {\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\treturn block.clientId;\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/utils.js"],"names":["useSelect","useMemo","store","coreStore","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","map","labels","label","singular_name","value","useTaxonomies","postType","getTaxonomies","filteredTaxonomies","context","getFirstQueryClientIdFromBlocks","blocks","blocksQueue","block","shift","clientId","innerBlocks","forEach","innerBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * The object used in Query block that contains info and helper mappings\n * from an array of IHasNameAndId objects.\n *\n * @typedef {Object} QueryEntitiesInfo\n * @property {IHasNameAndId[]} entities The array of entities.\n * @property {Object<string, IHasNameAndId>} mapById Object mapping with the id as key and the entity as value.\n * @property {Object<string, IHasNameAndId>} mapByName Object mapping with the name as key and the entity as value.\n * @property {string[]} names Array with the entities' names.\n */\n\n/**\n * Returns a helper object with mapping from Objects that implement\n * the `IHasNameAndId` interface. The returned object is used for\n * integration with `FormTokenField` component.\n *\n * @param {IHasNameAndId[]} entities The entities to extract of helper object.\n * @return {QueryEntitiesInfo} The object with the entities information.\n */\nexport const getEntitiesInfo = ( entities ) => {\n\tconst mapping = entities?.reduce(\n\t\t( accumulator, entity ) => {\n\t\t\tconst { mapById, mapByName, names } = accumulator;\n\t\t\tmapById[ entity.id ] = entity;\n\t\t\tmapByName[ entity.name ] = entity;\n\t\t\tnames.push( entity.name );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ mapById: {}, mapByName: {}, names: [] }\n\t);\n\treturn {\n\t\tentities,\n\t\t...mapping,\n\t};\n};\n\n/**\n * Returns a helper object that contains:\n * 1. An `options` object from the available post types, to be passed to a `SelectControl`.\n * 2. A helper map with available taxonomies per post type.\n *\n * @return {Object} The helper object related to post types.\n */\nexport const usePostTypes = () => {\n\tconst postTypes = useSelect( ( select ) => {\n\t\tconst { getPostTypes } = select( coreStore );\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\tconst filteredPostTypes = getPostTypes( { per_page: -1 } )?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t\treturn filteredPostTypes;\n\t}, [] );\n\tconst postTypesTaxonomiesMap = useMemo( () => {\n\t\tif ( ! postTypes?.length ) return;\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\treturn { postTypesTaxonomiesMap, postTypesSelectOptions };\n};\n\n/**\n * Hook that returns the taxonomies associated with a specific post type.\n *\n * @param {string} postType The post type from which to retrieve the associated taxonomies.\n * @return {Object[]} An array of the associated taxonomies.\n */\nexport const useTaxonomies = ( postType ) => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn taxonomies;\n};\n\n/**\n * Recurses over a list of blocks and returns the first found\n * Query Loop block's clientId.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through.\n * @return {string=} The first found Query Loop's clientId.\n */\nexport const getFirstQueryClientIdFromBlocks = ( blocks ) => {\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\treturn block.clientId;\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n};\n"]}
@@ -14,8 +14,6 @@ const QUERY_DEFAULT_ATTRIBUTES = {
14
14
  pages: 0,
15
15
  offset: 0,
16
16
  postType: 'post',
17
- categoryIds: [],
18
- tagIds: [],
19
17
  order: 'desc',
20
18
  orderBy: 'date',
21
19
  author: '',
@@ -36,8 +34,6 @@ const variations = [{
36
34
  pages: 1,
37
35
  offset: 0,
38
36
  postType: 'post',
39
- categoryIds: [],
40
- tagIds: [],
41
37
  order: 'desc',
42
38
  orderBy: 'date',
43
39
  author: '',