@wordpress/block-library 7.18.0 → 8.0.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 (851) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/deprecated.js +16 -2
  17. package/build/button/deprecated.js.map +1 -1
  18. package/build/button/edit.js +13 -7
  19. package/build/button/edit.js.map +1 -1
  20. package/build/button/edit.native.js.map +1 -1
  21. package/build/button/index.js +4 -1
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/save.js +2 -0
  24. package/build/button/save.js.map +1 -1
  25. package/build/code/transforms.js +1 -1
  26. package/build/code/transforms.js.map +1 -1
  27. package/build/columns/edit.js +1 -0
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +13 -30
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/transforms.js +5 -0
  32. package/build/columns/transforms.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +1 -0
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/cover/edit/index.js +3 -1
  36. package/build/cover/edit/index.js.map +1 -1
  37. package/build/cover/edit/inspector-controls.js +2 -0
  38. package/build/cover/edit/inspector-controls.js.map +1 -1
  39. package/build/cover/edit.native.js +24 -16
  40. package/build/cover/edit.native.js.map +1 -1
  41. package/build/embed/embed-controls.native.js +1 -0
  42. package/build/embed/embed-controls.native.js.map +1 -1
  43. package/build/embed/embed-preview.native.js +1 -3
  44. package/build/embed/embed-preview.native.js.map +1 -1
  45. package/build/file/inspector.js +1 -0
  46. package/build/file/inspector.js.map +1 -1
  47. package/build/gallery/edit.js +25 -13
  48. package/build/gallery/edit.js.map +1 -1
  49. package/build/gallery/gallery.native.js +1 -3
  50. package/build/gallery/gallery.native.js.map +1 -1
  51. package/build/gallery/shared.js +4 -10
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +1 -7
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/use-get-media.js +1 -1
  56. package/build/gallery/use-get-media.js.map +1 -1
  57. package/build/gallery/use-get-media.native.js +3 -1
  58. package/build/gallery/use-get-media.native.js.map +1 -1
  59. package/build/gallery/v1/edit.js +26 -17
  60. package/build/gallery/v1/edit.js.map +1 -1
  61. package/build/gallery/v1/gallery.native.js +1 -3
  62. package/build/gallery/v1/gallery.native.js.map +1 -1
  63. package/build/gallery/v1/shared.js +4 -1
  64. package/build/gallery/v1/shared.js.map +1 -1
  65. package/build/group/edit.js +97 -45
  66. package/build/group/edit.js.map +1 -1
  67. package/build/group/index.js +6 -1
  68. package/build/group/index.js.map +1 -1
  69. package/build/group/placeholder.js +147 -0
  70. package/build/group/placeholder.js.map +1 -0
  71. package/build/group/variations.js +3 -3
  72. package/build/group/variations.js.map +1 -1
  73. package/build/heading/deprecated.js +152 -69
  74. package/build/heading/deprecated.js.map +1 -1
  75. package/build/heading/index.js +1 -2
  76. package/build/heading/index.js.map +1 -1
  77. package/build/heading/transforms.js +1 -2
  78. package/build/heading/transforms.js.map +1 -1
  79. package/build/html/index.js +1 -1
  80. package/build/image/edit.js +8 -5
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +3 -2
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +12 -8
  85. package/build/image/image.js.map +1 -1
  86. package/build/index.js +3 -1
  87. package/build/index.js.map +1 -1
  88. package/build/latest-comments/edit.js +3 -1
  89. package/build/latest-comments/edit.js.map +1 -1
  90. package/build/latest-comments/index.js +5 -1
  91. package/build/latest-comments/index.js.map +1 -1
  92. package/build/latest-posts/deprecated.js +13 -0
  93. package/build/latest-posts/deprecated.js.map +1 -1
  94. package/build/latest-posts/edit.js +2 -0
  95. package/build/latest-posts/edit.js.map +1 -1
  96. package/build/latest-posts/index.js +13 -0
  97. package/build/latest-posts/index.js.map +1 -1
  98. package/build/list/transforms.js +1 -9
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +5 -2
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/edit.js +2 -1
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/index.js +4 -1
  105. package/build/list-item/index.js.map +1 -1
  106. package/build/list-item/transforms.js +22 -0
  107. package/build/list-item/transforms.js.map +1 -0
  108. package/build/list-item/utils.js +77 -1
  109. package/build/list-item/utils.js.map +1 -1
  110. package/build/media-text/edit.js +4 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  113. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  114. package/build/navigation/edit/index.js +112 -143
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/manage-menus-button.js +36 -0
  117. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  118. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  119. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -1
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/responsive-wrapper.js +2 -6
  123. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  124. package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
  125. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build/navigation/view-modal.js +6 -2
  127. package/build/navigation/view-modal.js.map +1 -1
  128. package/build/navigation-link/edit.js +52 -299
  129. package/build/navigation-link/edit.js.map +1 -1
  130. package/build/navigation-link/link-ui.js +222 -0
  131. package/build/navigation-link/link-ui.js.map +1 -0
  132. package/build/navigation-link/transforms.js +12 -0
  133. package/build/navigation-link/transforms.js.map +1 -1
  134. package/build/navigation-link/update-attributes.js +108 -0
  135. package/build/navigation-link/update-attributes.js.map +1 -0
  136. package/build/navigation-submenu/edit.js +42 -173
  137. package/build/navigation-submenu/edit.js.map +1 -1
  138. package/build/page-list/constants.js +15 -0
  139. package/build/page-list/constants.js.map +1 -0
  140. package/build/page-list/convert-to-links-modal.js +22 -86
  141. package/build/page-list/convert-to-links-modal.js.map +1 -1
  142. package/build/page-list/convert-to-navigation-links.js +76 -0
  143. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  144. package/build/page-list/edit.js +142 -78
  145. package/build/page-list/edit.js.map +1 -1
  146. package/build/page-list/index.js +6 -1
  147. package/build/page-list/index.js.map +1 -1
  148. package/build/page-list-item/edit.js +87 -0
  149. package/build/page-list-item/edit.js.map +1 -0
  150. package/build/page-list-item/index.js +85 -0
  151. package/build/page-list-item/index.js.map +1 -0
  152. package/build/page-list-item/init.js +16 -0
  153. package/build/page-list-item/init.js.map +1 -0
  154. package/build/paragraph/index.js +1 -7
  155. package/build/paragraph/index.js.map +1 -1
  156. package/build/post-author/edit.js +38 -22
  157. package/build/post-author/edit.js.map +1 -1
  158. package/build/post-content/index.js +3 -0
  159. package/build/post-content/index.js.map +1 -1
  160. package/build/post-featured-image/overlay.js +1 -0
  161. package/build/post-featured-image/overlay.js.map +1 -1
  162. package/build/post-template/index.js +8 -0
  163. package/build/post-template/index.js.map +1 -1
  164. package/build/preformatted/transforms.js +3 -1
  165. package/build/preformatted/transforms.js.map +1 -1
  166. package/build/query/deprecated.js +192 -21
  167. package/build/query/deprecated.js.map +1 -1
  168. package/build/query/edit/inspector-controls/index.js +1 -0
  169. package/build/query/edit/inspector-controls/index.js.map +1 -1
  170. package/build/query/edit/query-placeholder.js +3 -19
  171. package/build/query/edit/query-placeholder.js.map +1 -1
  172. package/build/query/index.js +0 -8
  173. package/build/query/index.js.map +1 -1
  174. package/build/query/utils.js +0 -8
  175. package/build/query/utils.js.map +1 -1
  176. package/build/rss/edit.js +3 -0
  177. package/build/rss/edit.js.map +1 -1
  178. package/build/search/edit.native.js +22 -22
  179. package/build/search/edit.native.js.map +1 -1
  180. package/build/search/index.js +9 -1
  181. package/build/search/index.js.map +1 -1
  182. package/build/site-logo/edit.js +18 -10
  183. package/build/site-logo/edit.js.map +1 -1
  184. package/build/site-logo/index.js +1 -0
  185. package/build/site-logo/index.js.map +1 -1
  186. package/build/site-title/index.js +1 -0
  187. package/build/site-title/index.js.map +1 -1
  188. package/build/social-link/social-list.js +4 -12
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/table/edit.js +3 -1
  191. package/build/table/edit.js.map +1 -1
  192. package/build/table/index.js +17 -1
  193. package/build/table/index.js.map +1 -1
  194. package/build/table/save.js +4 -2
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +24 -12
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +3 -2
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/edit.js +2 -2
  201. package/build/table-of-contents/edit.js.map +1 -1
  202. package/build/tag-cloud/edit.js +2 -1
  203. package/build/tag-cloud/edit.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +5 -2
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +2 -6
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/variations.js +5 -0
  209. package/build/template-part/variations.js.map +1 -1
  210. package/build/text-columns/edit.js +1 -0
  211. package/build/text-columns/edit.js.map +1 -1
  212. package/build/utils/transformation-categories.native.js +1 -1
  213. package/build/utils/transformation-categories.native.js.map +1 -1
  214. package/build/video/edit.js +1 -1
  215. package/build/video/edit.js.map +1 -1
  216. package/build/video/edit.native.js +1 -3
  217. package/build/video/edit.native.js.map +1 -1
  218. package/build-module/audio/edit.native.js +1 -2
  219. package/build-module/audio/edit.native.js.map +1 -1
  220. package/build-module/audio/index.js +2 -1
  221. package/build-module/audio/index.js.map +1 -1
  222. package/build-module/avatar/edit.js +1 -0
  223. package/build-module/avatar/edit.js.map +1 -1
  224. package/build-module/avatar/user-control.js +1 -0
  225. package/build-module/avatar/user-control.js.map +1 -1
  226. package/build-module/block/edit.js +14 -2
  227. package/build-module/block/edit.js.map +1 -1
  228. package/build-module/block/edit.native.js +14 -6
  229. package/build-module/block/edit.native.js.map +1 -1
  230. package/build-module/block/index.js +1 -2
  231. package/build-module/block/index.js.map +1 -1
  232. package/build-module/button/deprecated.js +16 -2
  233. package/build-module/button/deprecated.js.map +1 -1
  234. package/build-module/button/edit.js +15 -9
  235. package/build-module/button/edit.js.map +1 -1
  236. package/build-module/button/edit.native.js +2 -1
  237. package/build-module/button/edit.native.js.map +1 -1
  238. package/build-module/button/index.js +4 -1
  239. package/build-module/button/index.js.map +1 -1
  240. package/build-module/button/save.js +2 -0
  241. package/build-module/button/save.js.map +1 -1
  242. package/build-module/code/transforms.js +1 -1
  243. package/build-module/code/transforms.js.map +1 -1
  244. package/build-module/columns/edit.js +1 -0
  245. package/build-module/columns/edit.js.map +1 -1
  246. package/build-module/columns/edit.native.js +13 -29
  247. package/build-module/columns/edit.native.js.map +1 -1
  248. package/build-module/columns/transforms.js +5 -0
  249. package/build-module/columns/transforms.js.map +1 -1
  250. package/build-module/comment-author-avatar/edit.js +1 -0
  251. package/build-module/comment-author-avatar/edit.js.map +1 -1
  252. package/build-module/cover/edit/index.js +3 -1
  253. package/build-module/cover/edit/index.js.map +1 -1
  254. package/build-module/cover/edit/inspector-controls.js +2 -0
  255. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  256. package/build-module/cover/edit.native.js +22 -14
  257. package/build-module/cover/edit.native.js.map +1 -1
  258. package/build-module/embed/embed-controls.native.js +2 -1
  259. package/build-module/embed/embed-controls.native.js.map +1 -1
  260. package/build-module/embed/embed-preview.native.js +1 -2
  261. package/build-module/embed/embed-preview.native.js.map +1 -1
  262. package/build-module/file/inspector.js +1 -0
  263. package/build-module/file/inspector.js.map +1 -1
  264. package/build-module/gallery/edit.js +25 -12
  265. package/build-module/gallery/edit.js.map +1 -1
  266. package/build-module/gallery/gallery.native.js +1 -2
  267. package/build-module/gallery/gallery.native.js.map +1 -1
  268. package/build-module/gallery/shared.js +5 -11
  269. package/build-module/gallery/shared.js.map +1 -1
  270. package/build-module/gallery/transforms.js +1 -6
  271. package/build-module/gallery/transforms.js.map +1 -1
  272. package/build-module/gallery/use-get-media.js +1 -1
  273. package/build-module/gallery/use-get-media.js.map +1 -1
  274. package/build-module/gallery/use-get-media.native.js +3 -1
  275. package/build-module/gallery/use-get-media.native.js.map +1 -1
  276. package/build-module/gallery/v1/edit.js +27 -18
  277. package/build-module/gallery/v1/edit.js.map +1 -1
  278. package/build-module/gallery/v1/gallery.native.js +1 -2
  279. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  280. package/build-module/gallery/v1/shared.js +5 -2
  281. package/build-module/gallery/v1/shared.js.map +1 -1
  282. package/build-module/group/edit.js +92 -45
  283. package/build-module/group/edit.js.map +1 -1
  284. package/build-module/group/index.js +6 -1
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/placeholder.js +133 -0
  287. package/build-module/group/placeholder.js.map +1 -0
  288. package/build-module/group/variations.js +3 -3
  289. package/build-module/group/variations.js.map +1 -1
  290. package/build-module/heading/deprecated.js +152 -69
  291. package/build-module/heading/deprecated.js.map +1 -1
  292. package/build-module/heading/index.js +1 -2
  293. package/build-module/heading/index.js.map +1 -1
  294. package/build-module/heading/transforms.js +1 -2
  295. package/build-module/heading/transforms.js.map +1 -1
  296. package/build-module/html/index.js +1 -1
  297. package/build-module/image/edit.js +9 -6
  298. package/build-module/image/edit.js.map +1 -1
  299. package/build-module/image/edit.native.js +2 -1
  300. package/build-module/image/edit.native.js.map +1 -1
  301. package/build-module/image/image.js +13 -9
  302. package/build-module/image/image.js.map +1 -1
  303. package/build-module/index.js +2 -1
  304. package/build-module/index.js.map +1 -1
  305. package/build-module/latest-comments/edit.js +3 -1
  306. package/build-module/latest-comments/edit.js.map +1 -1
  307. package/build-module/latest-comments/index.js +5 -1
  308. package/build-module/latest-comments/index.js.map +1 -1
  309. package/build-module/latest-posts/deprecated.js +13 -0
  310. package/build-module/latest-posts/deprecated.js.map +1 -1
  311. package/build-module/latest-posts/edit.js +2 -0
  312. package/build-module/latest-posts/edit.js.map +1 -1
  313. package/build-module/latest-posts/index.js +13 -0
  314. package/build-module/latest-posts/index.js.map +1 -1
  315. package/build-module/list/transforms.js +1 -9
  316. package/build-module/list/transforms.js.map +1 -1
  317. package/build-module/list/utils.js +5 -2
  318. package/build-module/list/utils.js.map +1 -1
  319. package/build-module/list-item/edit.js +2 -1
  320. package/build-module/list-item/edit.js.map +1 -1
  321. package/build-module/list-item/index.js +3 -1
  322. package/build-module/list-item/index.js.map +1 -1
  323. package/build-module/list-item/transforms.js +13 -0
  324. package/build-module/list-item/transforms.js.map +1 -0
  325. package/build-module/list-item/utils.js +78 -1
  326. package/build-module/list-item/utils.js.map +1 -1
  327. package/build-module/media-text/edit.js +5 -3
  328. package/build-module/media-text/edit.js.map +1 -1
  329. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  330. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  331. package/build-module/navigation/edit/index.js +111 -143
  332. package/build-module/navigation/edit/index.js.map +1 -1
  333. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  334. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  335. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  336. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  337. package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
  338. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  339. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  340. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  341. package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
  342. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  343. package/build-module/navigation/view-modal.js +6 -2
  344. package/build-module/navigation/view-modal.js.map +1 -1
  345. package/build-module/navigation-link/edit.js +56 -300
  346. package/build-module/navigation-link/edit.js.map +1 -1
  347. package/build-module/navigation-link/link-ui.js +206 -0
  348. package/build-module/navigation-link/link-ui.js.map +1 -0
  349. package/build-module/navigation-link/transforms.js +12 -0
  350. package/build-module/navigation-link/transforms.js.map +1 -1
  351. package/build-module/navigation-link/update-attributes.js +97 -0
  352. package/build-module/navigation-link/update-attributes.js.map +1 -0
  353. package/build-module/navigation-submenu/edit.js +47 -175
  354. package/build-module/navigation-submenu/edit.js.map +1 -1
  355. package/build-module/page-list/constants.js +6 -0
  356. package/build-module/page-list/constants.js.map +1 -0
  357. package/build-module/page-list/convert-to-links-modal.js +20 -81
  358. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  359. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  360. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  361. package/build-module/page-list/edit.js +144 -82
  362. package/build-module/page-list/edit.js.map +1 -1
  363. package/build-module/page-list/index.js +6 -1
  364. package/build-module/page-list/index.js.map +1 -1
  365. package/build-module/page-list-item/edit.js +74 -0
  366. package/build-module/page-list-item/edit.js.map +1 -0
  367. package/build-module/page-list-item/index.js +68 -0
  368. package/build-module/page-list-item/index.js.map +1 -0
  369. package/build-module/page-list-item/init.js +6 -0
  370. package/build-module/page-list-item/init.js.map +1 -0
  371. package/build-module/paragraph/index.js +1 -7
  372. package/build-module/paragraph/index.js.map +1 -1
  373. package/build-module/post-author/edit.js +38 -23
  374. package/build-module/post-author/edit.js.map +1 -1
  375. package/build-module/post-content/index.js +3 -0
  376. package/build-module/post-content/index.js.map +1 -1
  377. package/build-module/post-featured-image/overlay.js +1 -0
  378. package/build-module/post-featured-image/overlay.js.map +1 -1
  379. package/build-module/post-template/index.js +8 -0
  380. package/build-module/post-template/index.js.map +1 -1
  381. package/build-module/preformatted/transforms.js +3 -1
  382. package/build-module/preformatted/transforms.js.map +1 -1
  383. package/build-module/query/deprecated.js +185 -21
  384. package/build-module/query/deprecated.js.map +1 -1
  385. package/build-module/query/edit/inspector-controls/index.js +1 -0
  386. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  387. package/build-module/query/edit/query-placeholder.js +3 -19
  388. package/build-module/query/edit/query-placeholder.js.map +1 -1
  389. package/build-module/query/index.js +0 -8
  390. package/build-module/query/index.js.map +1 -1
  391. package/build-module/query/utils.js +0 -8
  392. package/build-module/query/utils.js.map +1 -1
  393. package/build-module/rss/edit.js +3 -0
  394. package/build-module/rss/edit.js.map +1 -1
  395. package/build-module/search/edit.native.js +20 -20
  396. package/build-module/search/edit.native.js.map +1 -1
  397. package/build-module/search/index.js +8 -1
  398. package/build-module/search/index.js.map +1 -1
  399. package/build-module/site-logo/edit.js +18 -9
  400. package/build-module/site-logo/edit.js.map +1 -1
  401. package/build-module/site-logo/index.js +1 -0
  402. package/build-module/site-logo/index.js.map +1 -1
  403. package/build-module/site-title/index.js +1 -0
  404. package/build-module/site-title/index.js.map +1 -1
  405. package/build-module/social-link/social-list.js +2 -11
  406. package/build-module/social-link/social-list.js.map +1 -1
  407. package/build-module/table/edit.js +3 -1
  408. package/build-module/table/edit.js.map +1 -1
  409. package/build-module/table/index.js +17 -1
  410. package/build-module/table/index.js.map +1 -1
  411. package/build-module/table/save.js +4 -2
  412. package/build-module/table/save.js.map +1 -1
  413. package/build-module/table/state.js +25 -13
  414. package/build-module/table/state.js.map +1 -1
  415. package/build-module/table/transforms.js +3 -2
  416. package/build-module/table/transforms.js.map +1 -1
  417. package/build-module/table-of-contents/edit.js +2 -2
  418. package/build-module/table-of-contents/edit.js.map +1 -1
  419. package/build-module/tag-cloud/edit.js +3 -2
  420. package/build-module/tag-cloud/edit.js.map +1 -1
  421. package/build-module/template-part/edit/selection-modal.js +6 -3
  422. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  423. package/build-module/template-part/edit/utils/hooks.js +3 -7
  424. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  425. package/build-module/template-part/variations.js +5 -0
  426. package/build-module/template-part/variations.js.map +1 -1
  427. package/build-module/text-columns/edit.js +1 -0
  428. package/build-module/text-columns/edit.js.map +1 -1
  429. package/build-module/utils/transformation-categories.native.js +1 -1
  430. package/build-module/utils/transformation-categories.native.js.map +1 -1
  431. package/build-module/video/edit.js +1 -1
  432. package/build-module/video/edit.js.map +1 -1
  433. package/build-module/video/edit.native.js +1 -2
  434. package/build-module/video/edit.native.js.map +1 -1
  435. package/build-style/archives/editor-rtl.css +12 -0
  436. package/build-style/archives/editor.css +12 -0
  437. package/build-style/archives/style-rtl.css +12 -0
  438. package/build-style/archives/style.css +12 -0
  439. package/build-style/audio/editor-rtl.css +12 -0
  440. package/build-style/audio/editor.css +12 -0
  441. package/build-style/audio/style-rtl.css +12 -0
  442. package/build-style/audio/style.css +12 -0
  443. package/build-style/audio/theme-rtl.css +12 -0
  444. package/build-style/audio/theme.css +12 -0
  445. package/build-style/avatar/editor-rtl.css +12 -0
  446. package/build-style/avatar/editor.css +12 -0
  447. package/build-style/avatar/style-rtl.css +12 -0
  448. package/build-style/avatar/style.css +12 -0
  449. package/build-style/block/editor-rtl.css +22 -0
  450. package/build-style/block/editor.css +22 -0
  451. package/build-style/button/editor-rtl.css +12 -0
  452. package/build-style/button/editor.css +12 -0
  453. package/build-style/button/style-rtl.css +12 -0
  454. package/build-style/button/style.css +12 -0
  455. package/build-style/buttons/editor-rtl.css +12 -0
  456. package/build-style/buttons/editor.css +12 -0
  457. package/build-style/buttons/style-rtl.css +12 -0
  458. package/build-style/buttons/style.css +12 -0
  459. package/build-style/calendar/style-rtl.css +12 -0
  460. package/build-style/calendar/style.css +12 -0
  461. package/build-style/categories/editor-rtl.css +12 -0
  462. package/build-style/categories/editor.css +12 -0
  463. package/build-style/categories/style-rtl.css +12 -0
  464. package/build-style/categories/style.css +12 -0
  465. package/build-style/classic-rtl.css +12 -0
  466. package/build-style/classic.css +12 -0
  467. package/build-style/code/editor-rtl.css +12 -0
  468. package/build-style/code/editor.css +12 -0
  469. package/build-style/code/style-rtl.css +12 -0
  470. package/build-style/code/style.css +12 -0
  471. package/build-style/code/theme-rtl.css +12 -0
  472. package/build-style/code/theme.css +12 -0
  473. package/build-style/columns/editor-rtl.css +12 -0
  474. package/build-style/columns/editor.css +12 -0
  475. package/build-style/columns/style-rtl.css +12 -0
  476. package/build-style/columns/style.css +12 -0
  477. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  478. package/build-style/comment-author-avatar/editor.css +12 -0
  479. package/build-style/comment-content/style-rtl.css +12 -0
  480. package/build-style/comment-content/style.css +12 -0
  481. package/build-style/comment-template/style-rtl.css +12 -0
  482. package/build-style/comment-template/style.css +12 -0
  483. package/build-style/comments/editor-rtl.css +12 -0
  484. package/build-style/comments/editor.css +12 -0
  485. package/build-style/comments/style-rtl.css +12 -0
  486. package/build-style/comments/style.css +12 -0
  487. package/build-style/comments-pagination/editor-rtl.css +12 -0
  488. package/build-style/comments-pagination/editor.css +12 -0
  489. package/build-style/comments-pagination/style-rtl.css +12 -0
  490. package/build-style/comments-pagination/style.css +12 -0
  491. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  492. package/build-style/comments-pagination-numbers/editor.css +12 -0
  493. package/build-style/comments-title/editor-rtl.css +12 -0
  494. package/build-style/comments-title/editor.css +12 -0
  495. package/build-style/common-rtl.css +17 -1
  496. package/build-style/common.css +17 -1
  497. package/build-style/cover/editor-rtl.css +12 -0
  498. package/build-style/cover/editor.css +12 -0
  499. package/build-style/cover/style-rtl.css +14 -1
  500. package/build-style/cover/style.css +14 -1
  501. package/build-style/editor-elements-rtl.css +12 -0
  502. package/build-style/editor-elements.css +12 -0
  503. package/build-style/editor-rtl.css +115 -21
  504. package/build-style/editor.css +115 -21
  505. package/build-style/elements-rtl.css +12 -0
  506. package/build-style/elements.css +12 -0
  507. package/build-style/embed/editor-rtl.css +12 -0
  508. package/build-style/embed/editor.css +12 -0
  509. package/build-style/embed/style-rtl.css +12 -0
  510. package/build-style/embed/style.css +12 -0
  511. package/build-style/embed/theme-rtl.css +12 -0
  512. package/build-style/embed/theme.css +12 -0
  513. package/build-style/file/editor-rtl.css +12 -0
  514. package/build-style/file/editor.css +12 -0
  515. package/build-style/file/style-rtl.css +12 -0
  516. package/build-style/file/style.css +12 -0
  517. package/build-style/freeform/editor-rtl.css +12 -0
  518. package/build-style/freeform/editor.css +12 -0
  519. package/build-style/gallery/editor-rtl.css +13 -1
  520. package/build-style/gallery/editor.css +13 -1
  521. package/build-style/gallery/style-rtl.css +16 -2
  522. package/build-style/gallery/style.css +16 -2
  523. package/build-style/gallery/theme-rtl.css +12 -0
  524. package/build-style/gallery/theme.css +12 -0
  525. package/build-style/group/editor-rtl.css +56 -0
  526. package/build-style/group/editor.css +56 -0
  527. package/build-style/group/style-rtl.css +12 -0
  528. package/build-style/group/style.css +12 -0
  529. package/build-style/group/theme-rtl.css +12 -0
  530. package/build-style/group/theme.css +12 -0
  531. package/build-style/heading/style-rtl.css +12 -0
  532. package/build-style/heading/style.css +12 -0
  533. package/build-style/html/editor-rtl.css +12 -0
  534. package/build-style/html/editor.css +12 -0
  535. package/build-style/image/editor-rtl.css +12 -9
  536. package/build-style/image/editor.css +12 -9
  537. package/build-style/image/style-rtl.css +12 -0
  538. package/build-style/image/style.css +12 -0
  539. package/build-style/image/theme-rtl.css +12 -0
  540. package/build-style/image/theme.css +12 -0
  541. package/build-style/latest-comments/style-rtl.css +13 -0
  542. package/build-style/latest-comments/style.css +13 -0
  543. package/build-style/latest-posts/editor-rtl.css +12 -0
  544. package/build-style/latest-posts/editor.css +12 -0
  545. package/build-style/latest-posts/style-rtl.css +15 -0
  546. package/build-style/latest-posts/style.css +15 -0
  547. package/build-style/list/style-rtl.css +12 -0
  548. package/build-style/list/style.css +12 -0
  549. package/build-style/media-text/editor-rtl.css +12 -0
  550. package/build-style/media-text/editor.css +12 -0
  551. package/build-style/media-text/style-rtl.css +12 -0
  552. package/build-style/media-text/style.css +12 -0
  553. package/build-style/more/editor-rtl.css +12 -0
  554. package/build-style/more/editor.css +12 -0
  555. package/build-style/navigation/editor-rtl.css +35 -0
  556. package/build-style/navigation/editor.css +35 -0
  557. package/build-style/navigation/style-rtl.css +22 -0
  558. package/build-style/navigation/style.css +22 -0
  559. package/build-style/navigation-link/editor-rtl.css +20 -1
  560. package/build-style/navigation-link/editor.css +20 -1
  561. package/build-style/navigation-link/style-rtl.css +12 -0
  562. package/build-style/navigation-link/style.css +12 -0
  563. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  564. package/build-style/navigation-submenu/editor.css +12 -0
  565. package/build-style/nextpage/editor-rtl.css +12 -0
  566. package/build-style/nextpage/editor.css +12 -0
  567. package/build-style/page-list/editor-rtl.css +12 -0
  568. package/build-style/page-list/editor.css +12 -0
  569. package/build-style/page-list/style-rtl.css +12 -0
  570. package/build-style/page-list/style.css +12 -0
  571. package/build-style/paragraph/editor-rtl.css +12 -0
  572. package/build-style/paragraph/editor.css +12 -0
  573. package/build-style/paragraph/style-rtl.css +12 -0
  574. package/build-style/paragraph/style.css +12 -0
  575. package/build-style/post-author/style-rtl.css +12 -0
  576. package/build-style/post-author/style.css +12 -0
  577. package/build-style/post-comments-form/editor-rtl.css +12 -0
  578. package/build-style/post-comments-form/editor.css +12 -0
  579. package/build-style/post-comments-form/style-rtl.css +12 -0
  580. package/build-style/post-comments-form/style.css +12 -0
  581. package/build-style/post-date/style-rtl.css +12 -0
  582. package/build-style/post-date/style.css +12 -0
  583. package/build-style/post-excerpt/editor-rtl.css +12 -0
  584. package/build-style/post-excerpt/editor.css +12 -0
  585. package/build-style/post-excerpt/style-rtl.css +12 -0
  586. package/build-style/post-excerpt/style.css +12 -0
  587. package/build-style/post-featured-image/editor-rtl.css +12 -0
  588. package/build-style/post-featured-image/editor.css +12 -0
  589. package/build-style/post-featured-image/style-rtl.css +12 -0
  590. package/build-style/post-featured-image/style.css +12 -0
  591. package/build-style/post-navigation-link/style-rtl.css +12 -0
  592. package/build-style/post-navigation-link/style.css +12 -0
  593. package/build-style/post-template/editor-rtl.css +12 -0
  594. package/build-style/post-template/editor.css +12 -0
  595. package/build-style/post-template/style-rtl.css +12 -0
  596. package/build-style/post-template/style.css +12 -0
  597. package/build-style/post-terms/style-rtl.css +12 -0
  598. package/build-style/post-terms/style.css +12 -0
  599. package/build-style/post-title/style-rtl.css +12 -0
  600. package/build-style/post-title/style.css +12 -0
  601. package/build-style/preformatted/style-rtl.css +12 -0
  602. package/build-style/preformatted/style.css +12 -0
  603. package/build-style/pullquote/editor-rtl.css +12 -0
  604. package/build-style/pullquote/editor.css +12 -0
  605. package/build-style/pullquote/style-rtl.css +12 -0
  606. package/build-style/pullquote/style.css +12 -0
  607. package/build-style/pullquote/theme-rtl.css +12 -0
  608. package/build-style/pullquote/theme.css +12 -0
  609. package/build-style/query/editor-rtl.css +13 -1
  610. package/build-style/query/editor.css +13 -1
  611. package/build-style/query-pagination/editor-rtl.css +12 -0
  612. package/build-style/query-pagination/editor.css +12 -0
  613. package/build-style/query-pagination/style-rtl.css +13 -1
  614. package/build-style/query-pagination/style.css +13 -1
  615. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  616. package/build-style/query-pagination-numbers/editor.css +12 -0
  617. package/build-style/query-title/style-rtl.css +12 -0
  618. package/build-style/query-title/style.css +12 -0
  619. package/build-style/quote/style-rtl.css +12 -0
  620. package/build-style/quote/style.css +12 -0
  621. package/build-style/quote/theme-rtl.css +12 -0
  622. package/build-style/quote/theme.css +12 -0
  623. package/build-style/read-more/style-rtl.css +12 -0
  624. package/build-style/read-more/style.css +12 -0
  625. package/build-style/reset-rtl.css +12 -0
  626. package/build-style/reset.css +12 -0
  627. package/build-style/rss/editor-rtl.css +12 -0
  628. package/build-style/rss/editor.css +12 -0
  629. package/build-style/rss/style-rtl.css +12 -0
  630. package/build-style/rss/style.css +12 -0
  631. package/build-style/search/editor-rtl.css +12 -0
  632. package/build-style/search/editor.css +12 -0
  633. package/build-style/search/style-rtl.css +12 -0
  634. package/build-style/search/style.css +12 -0
  635. package/build-style/search/theme-rtl.css +12 -0
  636. package/build-style/search/theme.css +12 -0
  637. package/build-style/separator/editor-rtl.css +12 -0
  638. package/build-style/separator/editor.css +12 -0
  639. package/build-style/separator/style-rtl.css +12 -0
  640. package/build-style/separator/style.css +12 -0
  641. package/build-style/separator/theme-rtl.css +12 -0
  642. package/build-style/separator/theme.css +12 -0
  643. package/build-style/shortcode/editor-rtl.css +13 -1
  644. package/build-style/shortcode/editor.css +13 -1
  645. package/build-style/site-logo/editor-rtl.css +12 -0
  646. package/build-style/site-logo/editor.css +12 -0
  647. package/build-style/site-logo/style-rtl.css +12 -0
  648. package/build-style/site-logo/style.css +12 -0
  649. package/build-style/site-tagline/editor-rtl.css +12 -0
  650. package/build-style/site-tagline/editor.css +12 -0
  651. package/build-style/site-title/editor-rtl.css +12 -0
  652. package/build-style/site-title/editor.css +12 -0
  653. package/build-style/site-title/style-rtl.css +12 -0
  654. package/build-style/site-title/style.css +12 -0
  655. package/build-style/social-link/editor-rtl.css +12 -0
  656. package/build-style/social-link/editor.css +12 -0
  657. package/build-style/social-links/editor-rtl.css +12 -0
  658. package/build-style/social-links/editor.css +12 -0
  659. package/build-style/social-links/style-rtl.css +12 -0
  660. package/build-style/social-links/style.css +12 -0
  661. package/build-style/spacer/editor-rtl.css +12 -0
  662. package/build-style/spacer/editor.css +12 -0
  663. package/build-style/spacer/style-rtl.css +12 -0
  664. package/build-style/spacer/style.css +12 -0
  665. package/build-style/style-rtl.css +43 -6
  666. package/build-style/style.css +43 -6
  667. package/build-style/table/editor-rtl.css +13 -8
  668. package/build-style/table/editor.css +13 -8
  669. package/build-style/table/style-rtl.css +17 -0
  670. package/build-style/table/style.css +17 -0
  671. package/build-style/table/theme-rtl.css +13 -3
  672. package/build-style/table/theme.css +13 -3
  673. package/build-style/tag-cloud/style-rtl.css +12 -0
  674. package/build-style/tag-cloud/style.css +12 -0
  675. package/build-style/template-part/editor-rtl.css +27 -1
  676. package/build-style/template-part/editor.css +27 -1
  677. package/build-style/template-part/theme-rtl.css +12 -0
  678. package/build-style/template-part/theme.css +12 -0
  679. package/build-style/text-columns/editor-rtl.css +12 -0
  680. package/build-style/text-columns/editor.css +12 -0
  681. package/build-style/text-columns/style-rtl.css +12 -0
  682. package/build-style/text-columns/style.css +12 -0
  683. package/build-style/theme-rtl.css +13 -3
  684. package/build-style/theme.css +13 -3
  685. package/build-style/verse/style-rtl.css +12 -0
  686. package/build-style/verse/style.css +12 -0
  687. package/build-style/video/editor-rtl.css +12 -0
  688. package/build-style/video/editor.css +12 -0
  689. package/build-style/video/style-rtl.css +14 -1
  690. package/build-style/video/style.css +14 -1
  691. package/build-style/video/theme-rtl.css +12 -0
  692. package/build-style/video/theme.css +12 -0
  693. package/package.json +32 -30
  694. package/src/audio/edit.native.js +1 -2
  695. package/src/audio/index.js +1 -0
  696. package/src/avatar/edit.js +1 -0
  697. package/src/avatar/index.php +1 -1
  698. package/src/avatar/user-control.js +1 -0
  699. package/src/block/block.json +1 -2
  700. package/src/block/edit.js +14 -3
  701. package/src/block/edit.native.js +24 -12
  702. package/src/block/editor.scss +17 -0
  703. package/src/block/index.php +1 -2
  704. package/src/block/test/edit.native.js +28 -32
  705. package/src/button/block.json +4 -1
  706. package/src/button/deprecated.js +18 -2
  707. package/src/button/edit.js +11 -9
  708. package/src/button/edit.native.js +1 -0
  709. package/src/button/save.js +12 -2
  710. package/src/buttons/test/edit.native.js +41 -52
  711. package/src/code/transforms.js +3 -1
  712. package/src/columns/edit.js +1 -0
  713. package/src/columns/edit.native.js +18 -26
  714. package/src/columns/test/edit.native.js +32 -32
  715. package/src/columns/transforms.js +8 -0
  716. package/src/comment-author-avatar/edit.js +1 -0
  717. package/src/cover/edit/index.js +3 -1
  718. package/src/cover/edit/inspector-controls.js +2 -0
  719. package/src/cover/edit.native.js +32 -19
  720. package/src/cover/test/edit.native.js +77 -130
  721. package/src/embed/embed-controls.native.js +1 -0
  722. package/src/embed/embed-preview.native.js +1 -2
  723. package/src/embed/test/index.native.js +251 -245
  724. package/src/file/inspector.js +1 -0
  725. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  726. package/src/gallery/edit.js +15 -5
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/test/index.native.js +11 -11
  730. package/src/gallery/transforms.js +1 -6
  731. package/src/gallery/use-get-media.js +1 -1
  732. package/src/gallery/use-get-media.native.js +2 -1
  733. package/src/gallery/v1/edit.js +26 -30
  734. package/src/gallery/v1/gallery.native.js +1 -2
  735. package/src/gallery/v1/shared.js +7 -2
  736. package/src/group/block.json +6 -1
  737. package/src/group/edit.js +91 -44
  738. package/src/group/editor.scss +48 -0
  739. package/src/group/placeholder.js +168 -0
  740. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  741. package/src/group/test/edit.native.js +3 -3
  742. package/src/group/test/placeholder.js +78 -0
  743. package/src/group/variations.js +3 -3
  744. package/src/heading/block.json +1 -2
  745. package/src/heading/deprecated.js +209 -136
  746. package/src/heading/index.php +52 -0
  747. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  748. package/src/heading/test/index.native.js +44 -0
  749. package/src/home-link/index.php +1 -1
  750. package/src/html/block.json +1 -1
  751. package/src/image/edit.js +7 -2
  752. package/src/image/edit.native.js +2 -1
  753. package/src/image/editor.scss +0 -11
  754. package/src/image/image.js +13 -8
  755. package/src/image/test/edit.native.js +24 -20
  756. package/src/index.js +2 -0
  757. package/src/latest-comments/block.json +5 -1
  758. package/src/latest-comments/edit.js +2 -0
  759. package/src/latest-comments/style.scss +3 -0
  760. package/src/latest-posts/block.json +13 -0
  761. package/src/latest-posts/edit.js +2 -0
  762. package/src/latest-posts/style.scss +3 -0
  763. package/src/list/test/edit.native.js +55 -47
  764. package/src/list/transforms.js +0 -11
  765. package/src/list/utils.js +6 -2
  766. package/src/list-item/edit.js +1 -0
  767. package/src/list-item/index.js +2 -0
  768. package/src/list-item/transforms.js +17 -0
  769. package/src/list-item/utils.js +10 -1
  770. package/src/media-text/edit.js +5 -3
  771. package/src/missing/test/edit-integration.native.js +10 -12
  772. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  773. package/src/navigation/edit/index.js +269 -310
  774. package/src/navigation/edit/manage-menus-button.js +21 -0
  775. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  776. package/src/navigation/edit/navigation-menu-selector.js +5 -1
  777. package/src/navigation/edit/responsive-wrapper.js +2 -10
  778. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  779. package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
  780. package/src/navigation/editor.scss +25 -0
  781. package/src/navigation/index.php +57 -10
  782. package/src/navigation/style.scss +16 -0
  783. package/src/navigation/view-modal.js +11 -1
  784. package/src/navigation-link/edit.js +66 -329
  785. package/src/navigation-link/editor.scss +8 -0
  786. package/src/navigation-link/index.php +32 -0
  787. package/src/navigation-link/link-ui.js +213 -0
  788. package/src/navigation-link/test/edit.js +23 -82
  789. package/src/navigation-link/transforms.js +14 -0
  790. package/src/navigation-link/update-attributes.js +99 -0
  791. package/src/navigation-submenu/edit.js +57 -177
  792. package/src/navigation-submenu/index.php +40 -0
  793. package/src/page-list/block.json +6 -1
  794. package/src/page-list/constants.js +8 -0
  795. package/src/page-list/convert-to-links-modal.js +19 -76
  796. package/src/page-list/convert-to-navigation-links.js +60 -0
  797. package/src/page-list/edit.js +179 -118
  798. package/src/page-list/index.php +9 -0
  799. package/src/page-list/test/convert-to-links-modal.js +28 -34
  800. package/src/page-list-item/block.json +51 -0
  801. package/src/page-list-item/edit.js +94 -0
  802. package/src/page-list-item/index.js +24 -0
  803. package/src/page-list-item/init.js +6 -0
  804. package/src/paragraph/index.js +0 -6
  805. package/src/post-author/edit.js +47 -22
  806. package/src/post-content/block.json +3 -0
  807. package/src/post-content/index.php +1 -2
  808. package/src/post-featured-image/index.php +7 -2
  809. package/src/post-featured-image/overlay.js +1 -0
  810. package/src/post-template/block.json +8 -0
  811. package/src/preformatted/transforms.js +4 -1
  812. package/src/query/block.json +0 -8
  813. package/src/query/deprecated.js +257 -86
  814. package/src/query/edit/inspector-controls/index.js +1 -0
  815. package/src/query/edit/query-placeholder.js +4 -16
  816. package/src/query/editor.scss +1 -1
  817. package/src/query-pagination/style.scss +1 -1
  818. package/src/read-more/index.php +9 -2
  819. package/src/rss/edit.js +3 -0
  820. package/src/search/edit.native.js +31 -27
  821. package/src/search/index.js +5 -1
  822. package/src/shortcode/test/edit.native.js +15 -18
  823. package/src/site-logo/edit.js +14 -6
  824. package/src/site-logo/index.js +1 -0
  825. package/src/site-title/index.js +1 -0
  826. package/src/social-link/social-list.js +2 -7
  827. package/src/social-link/test/index.native.js +16 -22
  828. package/src/social-links/test/edit.native.js +8 -7
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +1 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +7 -0
  837. package/src/table/theme.scss +1 -3
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +2 -2
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/selection-modal.js +4 -3
  842. package/src/template-part/edit/utils/hooks.js +7 -3
  843. package/src/template-part/editor.scss +20 -2
  844. package/src/template-part/index.php +6 -2
  845. package/src/template-part/variations.js +4 -0
  846. package/src/text-columns/edit.js +1 -0
  847. package/src/utils/transformation-categories.native.js +1 -0
  848. package/src/video/edit.js +1 -1
  849. package/src/video/edit.native.js +1 -2
  850. package/test/babel-plugin.js +35 -35
  851. package/tsconfig.tsbuildinfo +1 -1
@@ -3,7 +3,13 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
+ import { createBlock } from '@wordpress/blocks';
6
7
  import { InnerBlocks, useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+
12
+ import cleanEmptyObject from '../utils/clean-empty-object';
7
13
 
8
14
  const migrateToTaxQuery = attributes => {
9
15
  var _query$categoryIds, _query$tagIds;
@@ -31,8 +37,133 @@ const migrateToTaxQuery = attributes => {
31
37
  };
32
38
  };
33
39
 
34
- const deprecated = [// Version with `categoryIds and tagIds`.
35
- {
40
+ const migrateColors = (attributes, innerBlocks) => {
41
+ var _style$elements, _style$elements5, _style$elements6;
42
+
43
+ // Remove color style attributes from the Query block.
44
+ const {
45
+ style,
46
+ backgroundColor,
47
+ gradient,
48
+ textColor,
49
+ ...newAttributes
50
+ } = attributes;
51
+ const hasColorStyles = backgroundColor || gradient || textColor || (style === null || style === void 0 ? void 0 : style.color) || (style === null || style === void 0 ? void 0 : (_style$elements = style.elements) === null || _style$elements === void 0 ? void 0 : _style$elements.link); // If the query block doesn't currently have any color styles,
52
+ // nothing needs migrating.
53
+
54
+ if (!hasColorStyles) {
55
+ return [attributes, innerBlocks];
56
+ } // Clean color values from style attribute object.
57
+
58
+
59
+ if (style) {
60
+ newAttributes.style = cleanEmptyObject({ ...style,
61
+ color: undefined,
62
+ elements: { ...style.elements,
63
+ link: undefined
64
+ }
65
+ });
66
+ } // If the inner blocks are already wrapped in a single group
67
+ // block, add the color support styles to that group block.
68
+
69
+
70
+ if (hasSingleInnerGroupBlock(innerBlocks)) {
71
+ var _style$elements2, _style$elements3, _style$elements4;
72
+
73
+ const groupBlock = innerBlocks[0]; // Create new styles for the group block.
74
+
75
+ const hasStyles = (style === null || style === void 0 ? void 0 : style.color) || (style === null || style === void 0 ? void 0 : (_style$elements2 = style.elements) === null || _style$elements2 === void 0 ? void 0 : _style$elements2.link) || groupBlock.attributes.style;
76
+ const newStyles = hasStyles ? cleanEmptyObject({ ...groupBlock.attributes.style,
77
+ color: style === null || style === void 0 ? void 0 : style.color,
78
+ elements: style !== null && style !== void 0 && (_style$elements3 = style.elements) !== null && _style$elements3 !== void 0 && _style$elements3.link ? {
79
+ link: style === null || style === void 0 ? void 0 : (_style$elements4 = style.elements) === null || _style$elements4 === void 0 ? void 0 : _style$elements4.link
80
+ } : undefined
81
+ }) : undefined; // Create a new Group block from the original.
82
+
83
+ const updatedGroupBlock = createBlock('core/group', { ...groupBlock.attributes,
84
+ backgroundColor,
85
+ gradient,
86
+ textColor,
87
+ style: newStyles
88
+ }, groupBlock.innerBlocks);
89
+ return [newAttributes, [updatedGroupBlock]];
90
+ } // When we don't have a single wrapping group block for the inner
91
+ // blocks, wrap the current inner blocks in a group applying the
92
+ // color styles to that.
93
+
94
+
95
+ const newGroupBlock = createBlock('core/group', {
96
+ backgroundColor,
97
+ gradient,
98
+ textColor,
99
+ style: cleanEmptyObject({
100
+ color: style === null || style === void 0 ? void 0 : style.color,
101
+ elements: style !== null && style !== void 0 && (_style$elements5 = style.elements) !== null && _style$elements5 !== void 0 && _style$elements5.link ? {
102
+ link: style === null || style === void 0 ? void 0 : (_style$elements6 = style.elements) === null || _style$elements6 === void 0 ? void 0 : _style$elements6.link
103
+ } : undefined
104
+ })
105
+ }, innerBlocks);
106
+ return [newAttributes, [newGroupBlock]];
107
+ };
108
+
109
+ const hasSingleInnerGroupBlock = function () {
110
+ let innerBlocks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
111
+ return innerBlocks.length === 1 && innerBlocks[0].name === 'core/group';
112
+ }; // Version with NO wrapper `div` element.
113
+
114
+
115
+ const v1 = {
116
+ attributes: {
117
+ queryId: {
118
+ type: 'number'
119
+ },
120
+ query: {
121
+ type: 'object',
122
+ default: {
123
+ perPage: null,
124
+ pages: 0,
125
+ offset: 0,
126
+ postType: 'post',
127
+ categoryIds: [],
128
+ tagIds: [],
129
+ order: 'desc',
130
+ orderBy: 'date',
131
+ author: '',
132
+ search: '',
133
+ exclude: [],
134
+ sticky: '',
135
+ inherit: true
136
+ }
137
+ },
138
+ layout: {
139
+ type: 'object',
140
+ default: {
141
+ type: 'list'
142
+ }
143
+ }
144
+ },
145
+ supports: {
146
+ html: false
147
+ },
148
+
149
+ migrate(attributes) {
150
+ const withTaxQuery = migrateToTaxQuery(attributes);
151
+ const {
152
+ layout,
153
+ ...restWithTaxQuery
154
+ } = withTaxQuery;
155
+ return { ...restWithTaxQuery,
156
+ displayLayout: withTaxQuery.layout
157
+ };
158
+ },
159
+
160
+ save() {
161
+ return createElement(InnerBlocks.Content, null);
162
+ }
163
+
164
+ }; // Version with `categoryIds and tagIds`.
165
+
166
+ const v2 = {
36
167
  attributes: {
37
168
  queryId: {
38
169
  type: 'number'
@@ -84,7 +215,11 @@ const deprecated = [// Version with `categoryIds and tagIds`.
84
215
  } = _ref;
85
216
  return categoryIds || tagIds;
86
217
  },
87
- migrate: migrateToTaxQuery,
218
+
219
+ migrate(attributes, innerBlocks) {
220
+ const withTaxQuery = migrateToTaxQuery(attributes);
221
+ return migrateColors(withTaxQuery, innerBlocks);
222
+ },
88
223
 
89
224
  save(_ref2) {
90
225
  let {
@@ -97,8 +232,9 @@ const deprecated = [// Version with `categoryIds and tagIds`.
97
232
  return createElement(Tag, innerBlocksProps);
98
233
  }
99
234
 
100
- }, // Version with NO wrapper `div` element.
101
- {
235
+ }; // Version with color support prior to moving it to the PostTemplate block.
236
+
237
+ const v3 = {
102
238
  attributes: {
103
239
  queryId: {
104
240
  type: 'number'
@@ -110,43 +246,71 @@ const deprecated = [// Version with `categoryIds and tagIds`.
110
246
  pages: 0,
111
247
  offset: 0,
112
248
  postType: 'post',
113
- categoryIds: [],
114
- tagIds: [],
115
249
  order: 'desc',
116
250
  orderBy: 'date',
117
251
  author: '',
118
252
  search: '',
119
253
  exclude: [],
120
254
  sticky: '',
121
- inherit: true
255
+ inherit: true,
256
+ taxQuery: null,
257
+ parents: []
122
258
  }
123
259
  },
124
- layout: {
260
+ tagName: {
261
+ type: 'string',
262
+ default: 'div'
263
+ },
264
+ displayLayout: {
125
265
  type: 'object',
126
266
  default: {
127
267
  type: 'list'
128
268
  }
269
+ },
270
+ namespace: {
271
+ type: 'string'
129
272
  }
130
273
  },
131
274
  supports: {
132
- html: false
275
+ align: ['wide', 'full'],
276
+ html: false,
277
+ color: {
278
+ gradients: true,
279
+ link: true,
280
+ __experimentalDefaultControls: {
281
+ background: true,
282
+ text: true
283
+ }
284
+ },
285
+ __experimentalLayout: true
133
286
  },
134
287
 
135
- migrate(attributes) {
136
- const withTaxQuery = migrateToTaxQuery(attributes);
288
+ isEligible(attributes) {
289
+ var _style$elements7;
290
+
137
291
  const {
138
- layout,
139
- ...restWithTaxQuery
140
- } = withTaxQuery;
141
- return { ...restWithTaxQuery,
142
- displayLayout: withTaxQuery.layout
143
- };
292
+ style,
293
+ backgroundColor,
294
+ gradient,
295
+ textColor
296
+ } = attributes;
297
+ return backgroundColor || gradient || textColor || (style === null || style === void 0 ? void 0 : style.color) || (style === null || style === void 0 ? void 0 : (_style$elements7 = style.elements) === null || _style$elements7 === void 0 ? void 0 : _style$elements7.link);
144
298
  },
145
299
 
146
- save() {
147
- return createElement(InnerBlocks.Content, null);
300
+ migrate: migrateColors,
301
+
302
+ save(_ref3) {
303
+ let {
304
+ attributes: {
305
+ tagName: Tag = 'div'
306
+ }
307
+ } = _ref3;
308
+ const blockProps = useBlockProps.save();
309
+ const innerBlocksProps = useInnerBlocksProps.save(blockProps);
310
+ return createElement(Tag, innerBlocksProps);
148
311
  }
149
312
 
150
- }];
313
+ };
314
+ const deprecated = [v3, v2, v1];
151
315
  export default deprecated;
152
316
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/deprecated.js"],"names":["InnerBlocks","useInnerBlocksProps","useBlockProps","migrateToTaxQuery","attributes","query","categoryIds","tagIds","newQuery","length","taxQuery","category","undefined","post_tag","deprecated","queryId","type","default","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","tagName","displayLayout","supports","align","html","color","gradients","link","__experimentalLayout","isEligible","migrate","save","Tag","blockProps","innerBlocksProps","layout","withTaxQuery","restWithTaxQuery"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst migrateToTaxQuery = ( attributes ) => {\n\tconst { query } = attributes;\n\tconst { categoryIds, tagIds, ...newQuery } = query;\n\n\tif ( query.categoryIds?.length || query.tagIds?.length ) {\n\t\tnewQuery.taxQuery = {\n\t\t\tcategory: !! query.categoryIds?.length\n\t\t\t\t? query.categoryIds\n\t\t\t\t: undefined,\n\t\t\tpost_tag: !! query.tagIds?.length ? query.tagIds : undefined,\n\t\t};\n\t}\n\treturn {\n\t\t...attributes,\n\t\tquery: newQuery,\n\t};\n};\n\nconst deprecated = [\n\t// Version with `categoryIds and tagIds`.\n\t{\n\t\tattributes: {\n\t\t\tqueryId: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {\n\t\t\t\t\tperPage: null,\n\t\t\t\t\tpages: 0,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tpostType: 'post',\n\t\t\t\t\tcategoryIds: [],\n\t\t\t\t\ttagIds: [],\n\t\t\t\t\torder: 'desc',\n\t\t\t\t\torderBy: 'date',\n\t\t\t\t\tauthor: '',\n\t\t\t\t\tsearch: '',\n\t\t\t\t\texclude: [],\n\t\t\t\t\tsticky: '',\n\t\t\t\t\tinherit: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttagName: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'div',\n\t\t\t},\n\t\t\tdisplayLayout: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {\n\t\t\t\t\ttype: 'list',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\thtml: false,\n\t\t\tcolor: {\n\t\t\t\tgradients: true,\n\t\t\t\tlink: true,\n\t\t\t},\n\t\t\t__experimentalLayout: true,\n\t\t},\n\t\tisEligible: ( { query: { categoryIds, tagIds } = {} } ) =>\n\t\t\tcategoryIds || tagIds,\n\t\tmigrate: migrateToTaxQuery,\n\t\tsave( { attributes: { tagName: Tag = 'div' } } ) {\n\t\t\tconst blockProps = useBlockProps.save();\n\t\t\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\t\t\treturn <Tag { ...innerBlocksProps } />;\n\t\t},\n\t},\n\t// Version with NO wrapper `div` element.\n\t{\n\t\tattributes: {\n\t\t\tqueryId: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {\n\t\t\t\t\tperPage: null,\n\t\t\t\t\tpages: 0,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tpostType: 'post',\n\t\t\t\t\tcategoryIds: [],\n\t\t\t\t\ttagIds: [],\n\t\t\t\t\torder: 'desc',\n\t\t\t\t\torderBy: 'date',\n\t\t\t\t\tauthor: '',\n\t\t\t\t\tsearch: '',\n\t\t\t\t\texclude: [],\n\t\t\t\t\tsticky: '',\n\t\t\t\t\tinherit: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t\tdefault: {\n\t\t\t\t\ttype: 'list',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\tconst withTaxQuery = migrateToTaxQuery( attributes );\n\t\t\tconst { layout, ...restWithTaxQuery } = withTaxQuery;\n\t\t\treturn {\n\t\t\t\t...restWithTaxQuery,\n\t\t\t\tdisplayLayout: withTaxQuery.layout,\n\t\t\t};\n\t\t},\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/deprecated.js"],"names":["createBlock","InnerBlocks","useInnerBlocksProps","useBlockProps","cleanEmptyObject","migrateToTaxQuery","attributes","query","categoryIds","tagIds","newQuery","length","taxQuery","category","undefined","post_tag","migrateColors","innerBlocks","style","backgroundColor","gradient","textColor","newAttributes","hasColorStyles","color","elements","link","hasSingleInnerGroupBlock","groupBlock","hasStyles","newStyles","updatedGroupBlock","newGroupBlock","name","v1","queryId","type","default","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","layout","supports","html","migrate","withTaxQuery","restWithTaxQuery","displayLayout","save","v2","tagName","align","gradients","__experimentalLayout","isEligible","Tag","blockProps","innerBlocksProps","v3","parents","namespace","__experimentalDefaultControls","background","text","deprecated"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport cleanEmptyObject from '../utils/clean-empty-object';\n\nconst migrateToTaxQuery = ( attributes ) => {\n\tconst { query } = attributes;\n\tconst { categoryIds, tagIds, ...newQuery } = query;\n\n\tif ( query.categoryIds?.length || query.tagIds?.length ) {\n\t\tnewQuery.taxQuery = {\n\t\t\tcategory: !! query.categoryIds?.length\n\t\t\t\t? query.categoryIds\n\t\t\t\t: undefined,\n\t\t\tpost_tag: !! query.tagIds?.length ? query.tagIds : undefined,\n\t\t};\n\t}\n\treturn {\n\t\t...attributes,\n\t\tquery: newQuery,\n\t};\n};\n\nconst migrateColors = ( attributes, innerBlocks ) => {\n\t// Remove color style attributes from the Query block.\n\tconst { style, backgroundColor, gradient, textColor, ...newAttributes } =\n\t\tattributes;\n\n\tconst hasColorStyles =\n\t\tbackgroundColor ||\n\t\tgradient ||\n\t\ttextColor ||\n\t\tstyle?.color ||\n\t\tstyle?.elements?.link;\n\n\t// If the query block doesn't currently have any color styles,\n\t// nothing needs migrating.\n\tif ( ! hasColorStyles ) {\n\t\treturn [ attributes, innerBlocks ];\n\t}\n\n\t// Clean color values from style attribute object.\n\tif ( style ) {\n\t\tnewAttributes.style = cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...style.elements,\n\t\t\t\tlink: undefined,\n\t\t\t},\n\t\t} );\n\t}\n\n\t// If the inner blocks are already wrapped in a single group\n\t// block, add the color support styles to that group block.\n\tif ( hasSingleInnerGroupBlock( innerBlocks ) ) {\n\t\tconst groupBlock = innerBlocks[ 0 ];\n\n\t\t// Create new styles for the group block.\n\t\tconst hasStyles =\n\t\t\tstyle?.color ||\n\t\t\tstyle?.elements?.link ||\n\t\t\tgroupBlock.attributes.style;\n\n\t\tconst newStyles = hasStyles\n\t\t\t? cleanEmptyObject( {\n\t\t\t\t\t...groupBlock.attributes.style,\n\t\t\t\t\tcolor: style?.color,\n\t\t\t\t\telements: style?.elements?.link\n\t\t\t\t\t\t? { link: style?.elements?.link }\n\t\t\t\t\t\t: undefined,\n\t\t\t } )\n\t\t\t: undefined;\n\n\t\t// Create a new Group block from the original.\n\t\tconst updatedGroupBlock = createBlock(\n\t\t\t'core/group',\n\t\t\t{\n\t\t\t\t...groupBlock.attributes,\n\t\t\t\tbackgroundColor,\n\t\t\t\tgradient,\n\t\t\t\ttextColor,\n\t\t\t\tstyle: newStyles,\n\t\t\t},\n\t\t\tgroupBlock.innerBlocks\n\t\t);\n\n\t\treturn [ newAttributes, [ updatedGroupBlock ] ];\n\t}\n\n\t// When we don't have a single wrapping group block for the inner\n\t// blocks, wrap the current inner blocks in a group applying the\n\t// color styles to that.\n\tconst newGroupBlock = createBlock(\n\t\t'core/group',\n\t\t{\n\t\t\tbackgroundColor,\n\t\t\tgradient,\n\t\t\ttextColor,\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\tcolor: style?.color,\n\t\t\t\telements: style?.elements?.link\n\t\t\t\t\t? { link: style?.elements?.link }\n\t\t\t\t\t: undefined,\n\t\t\t} ),\n\t\t},\n\t\tinnerBlocks\n\t);\n\n\treturn [ newAttributes, [ newGroupBlock ] ];\n};\n\nconst hasSingleInnerGroupBlock = ( innerBlocks = [] ) =>\n\tinnerBlocks.length === 1 && innerBlocks[ 0 ].name === 'core/group';\n\n// Version with NO wrapper `div` element.\nconst v1 = {\n\tattributes: {\n\t\tqueryId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tquery: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\tperPage: null,\n\t\t\t\tpages: 0,\n\t\t\t\toffset: 0,\n\t\t\t\tpostType: 'post',\n\t\t\t\tcategoryIds: [],\n\t\t\t\ttagIds: [],\n\t\t\t\torder: 'desc',\n\t\t\t\torderBy: 'date',\n\t\t\t\tauthor: '',\n\t\t\t\tsearch: '',\n\t\t\t\texclude: [],\n\t\t\t\tsticky: '',\n\t\t\t\tinherit: true,\n\t\t\t},\n\t\t},\n\t\tlayout: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\ttype: 'list',\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\thtml: false,\n\t},\n\tmigrate( attributes ) {\n\t\tconst withTaxQuery = migrateToTaxQuery( attributes );\n\t\tconst { layout, ...restWithTaxQuery } = withTaxQuery;\n\t\treturn {\n\t\t\t...restWithTaxQuery,\n\t\t\tdisplayLayout: withTaxQuery.layout,\n\t\t};\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n};\n\n// Version with `categoryIds and tagIds`.\nconst v2 = {\n\tattributes: {\n\t\tqueryId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tquery: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\tperPage: null,\n\t\t\t\tpages: 0,\n\t\t\t\toffset: 0,\n\t\t\t\tpostType: 'post',\n\t\t\t\tcategoryIds: [],\n\t\t\t\ttagIds: [],\n\t\t\t\torder: 'desc',\n\t\t\t\torderBy: 'date',\n\t\t\t\tauthor: '',\n\t\t\t\tsearch: '',\n\t\t\t\texclude: [],\n\t\t\t\tsticky: '',\n\t\t\t\tinherit: true,\n\t\t\t},\n\t\t},\n\t\ttagName: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'div',\n\t\t},\n\t\tdisplayLayout: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\ttype: 'list',\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\thtml: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t},\n\t\t__experimentalLayout: true,\n\t},\n\tisEligible: ( { query: { categoryIds, tagIds } = {} } ) =>\n\t\tcategoryIds || tagIds,\n\tmigrate( attributes, innerBlocks ) {\n\t\tconst withTaxQuery = migrateToTaxQuery( attributes );\n\t\treturn migrateColors( withTaxQuery, innerBlocks );\n\t},\n\tsave( { attributes: { tagName: Tag = 'div' } } ) {\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\t\treturn <Tag { ...innerBlocksProps } />;\n\t},\n};\n\n// Version with color support prior to moving it to the PostTemplate block.\nconst v3 = {\n\tattributes: {\n\t\tqueryId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tquery: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\tperPage: null,\n\t\t\t\tpages: 0,\n\t\t\t\toffset: 0,\n\t\t\t\tpostType: 'post',\n\t\t\t\torder: 'desc',\n\t\t\t\torderBy: 'date',\n\t\t\t\tauthor: '',\n\t\t\t\tsearch: '',\n\t\t\t\texclude: [],\n\t\t\t\tsticky: '',\n\t\t\t\tinherit: true,\n\t\t\t\ttaxQuery: null,\n\t\t\t\tparents: [],\n\t\t\t},\n\t\t},\n\t\ttagName: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'div',\n\t\t},\n\t\tdisplayLayout: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {\n\t\t\t\ttype: 'list',\n\t\t\t},\n\t\t},\n\t\tnamespace: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\thtml: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalLayout: true,\n\t},\n\tisEligible( attributes ) {\n\t\tconst { style, backgroundColor, gradient, textColor } = attributes;\n\t\treturn (\n\t\t\tbackgroundColor ||\n\t\t\tgradient ||\n\t\t\ttextColor ||\n\t\t\tstyle?.color ||\n\t\t\tstyle?.elements?.link\n\t\t);\n\t},\n\tmigrate: migrateColors,\n\tsave( { attributes: { tagName: Tag = 'div' } } ) {\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\t\treturn <Tag { ...innerBlocksProps } />;\n\t},\n};\n\nconst deprecated = [ v3, v2, v1 ];\n\nexport default deprecated;\n"]}
@@ -111,6 +111,7 @@ export default function QueryInspectorControls(_ref) {
111
111
  onChange: onPostTypeChange,
112
112
  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.')
113
113
  }), showColumnsControl && createElement(Fragment, null, createElement(RangeControl, {
114
+ __nextHasNoMarginBottom: true,
114
115
  label: __('Columns'),
115
116
  value: displayLayout.columns,
116
117
  onChange: value => setDisplayLayout({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\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\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\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\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\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\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\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\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomies?.length &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'taxQuery' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'author' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'search' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isPostTypeHierarchical &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'parents' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { parents: [] } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","value","columns","Math","max","values","some"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,WAFD,EAGCC,aAHD,EAICC,YAJD,EAKCC,aALD,EAMCC,MAND,EAOCC,wBAAwB,IAAIC,UAP7B,EAQCC,4BAA4B,IAAIC,cARjC,QASO,uBATP;AAUA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,QAAkC,yBAAlC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,SAAT,EAAoBC,QAApB,EAA8BC,WAA9B,QAAiD,oBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,SACCC,YADD,EAECC,yBAFD,EAGCC,kBAHD,EAICC,gBAJD,EAKCC,aALD,QAMO,aANP;AAQA,eAAe,SAASC,sBAAT,OAIX;AAAA,MAJ4C;AAC/CC,IAAAA,UAD+C;AAE/CC,IAAAA,QAF+C;AAG/CC,IAAAA;AAH+C,GAI5C;AACH,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAA2BJ,UAAjC;AACA,QAAM;AACLK,IAAAA,KADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,MAAM,EAAEC,SAHH;AAILC,IAAAA,QAJK;AAKLC,IAAAA,MALK;AAMLC,IAAAA,OANK;AAOLC,IAAAA,QAPK;AAQLC,IAAAA;AARK,MASFV,KATJ;AAUA,QAAMW,eAAe,GAAGlB,kBAAkB,CAAEI,UAAF,CAA1C;AACA,QAAM,CAAEe,UAAF,EAAcC,aAAd,IAAgC7B,QAAQ,CAAEsB,QAAQ,KAAK,MAAf,CAA9C;AACA,QAAM;AAAEQ,IAAAA,sBAAF;AAA0BC,IAAAA;AAA1B,MAAqDxB,YAAY,EAAvE;AACA,QAAMyB,UAAU,GAAGrB,aAAa,CAAEW,QAAF,CAAhC;AACA,QAAMW,sBAAsB,GAAGzB,yBAAyB,CAAEc,QAAF,CAAxD;AACAvB,EAAAA,SAAS,CAAE,MAAM;AAChB8B,IAAAA,aAAa,CAAEP,QAAQ,KAAK,MAAf,CAAb;AACA,GAFQ,EAEN,CAAEA,QAAF,CAFM,CAAT;;AAGA,QAAMY,gBAAgB,GAAKC,QAAF,IAAgB;AACxC,UAAMC,WAAW,GAAG;AAAEd,MAAAA,QAAQ,EAAEa;AAAZ,KAApB,CADwC,CAExC;AACA;;AACA,UAAME,mBAAmB,GAAGP,sBAAsB,CAAEK,QAAF,CAAlD;AACA,UAAMG,eAAe,GAAGC,MAAM,CAACC,OAAP,CAAgBf,QAAQ,IAAI,EAA5B,EAAiCgB,MAAjC,CACvB,CAAEC,WAAF,YAA4C;AAAA,UAA7B,CAAEC,YAAF,EAAgBC,KAAhB,CAA6B;;AAC3C,UAAKP,mBAAmB,CAACQ,QAApB,CAA8BF,YAA9B,CAAL,EAAoD;AACnDD,QAAAA,WAAW,CAAEC,YAAF,CAAX,GAA8BC,KAA9B;AACA;;AACD,aAAOF,WAAP;AACA,KANsB,EAOvB,EAPuB,CAAxB;AASAN,IAAAA,WAAW,CAACX,QAAZ,GAAuB,CAAC,CAAEc,MAAM,CAACO,IAAP,CAAaR,eAAb,EAA+BS,MAAlC,GACpBT,eADoB,GAEpBU,SAFH;;AAIA,QAAKb,QAAQ,KAAK,MAAlB,EAA2B;AAC1BC,MAAAA,WAAW,CAACb,MAAZ,GAAqB,EAArB;AACA,KApBuC,CAqBxC;;;AACAa,IAAAA,WAAW,CAACV,OAAZ,GAAsB,EAAtB;AACAZ,IAAAA,QAAQ,CAAEsB,WAAF,CAAR;AACA,GAxBD;;AAyBA,QAAM,CAAEa,WAAF,EAAeC,cAAf,IAAkClD,QAAQ,CAAEgB,KAAK,CAACmC,MAAR,CAAhD;AACA,QAAMC,iBAAiB,GAAGnD,WAAW,CACpCH,QAAQ,CAAE,MAAM;AACf,QAAKkB,KAAK,CAACmC,MAAN,KAAiBF,WAAtB,EAAoC;AACnCnC,MAAAA,QAAQ,CAAE;AAAEqC,QAAAA,MAAM,EAAEF;AAAV,OAAF,CAAR;AACA;AACD,GAJO,EAIL,GAJK,CAD4B,EAMpC,CAAEA,WAAF,EAAejC,KAAK,CAACmC,MAArB,CANoC,CAArC;AAQApD,EAAAA,SAAS,CAAE,MAAM;AAChBqD,IAAAA,iBAAiB;AACjB,WAAOA,iBAAiB,CAACC,MAAzB;AACA,GAHQ,EAGN,CAAEJ,WAAF,EAAeG,iBAAf,CAHM,CAAT;AAIA,QAAME,kBAAkB,GAAG5C,gBAAgB,CAAEiB,eAAF,EAAmB,SAAnB,CAA3C;AACA,QAAM4B,mBAAmB,GACxB,CAAE/B,OAAF,IAAad,gBAAgB,CAAEiB,eAAF,EAAmB,UAAnB,CAD9B;AAEA,QAAM6B,kBAAkB,GAAG,CAAAvC,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEwC,IAAf,MAAwB,MAAnD;AACA,QAAMC,gBAAgB,GACrB,CAAElC,OAAF,IAAad,gBAAgB,CAAEiB,eAAF,EAAmB,OAAnB,CAD9B;AAEA,QAAMgC,iBAAiB,GACtB,CAAEnC,OAAF,IACAI,UADA,IAEAlB,gBAAgB,CAAEiB,eAAF,EAAmB,QAAnB,CAHjB;AAIA,QAAMiC,iBAAiB,GACtBN,kBAAkB,IAClBC,mBADA,IAEAC,kBAFA,IAGAE,gBAHA,IAIAC,iBALD;AAMA,SACC,8BACGC,iBAAiB,IAClB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGhE,EAAE,CAAE,UAAF;AAArB,KACG0D,kBAAkB,IACnB,cAAC,aAAD;AACC,IAAA,KAAK,EAAG1D,EAAE,CAAE,6BAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,8JADQ,CAFV;AAKC,IAAA,OAAO,EAAG,CAAC,CAAE4B,OALd;AAMC,IAAA,QAAQ,EAAKqC,KAAF,IACV/C,QAAQ,CAAE;AAAEU,MAAAA,OAAO,EAAE,CAAC,CAAEqC;AAAd,KAAF;AAPV,IAFF,EAaGN,mBAAmB,IACpB,cAAC,aAAD;AACC,IAAA,OAAO,EAAGxB,sBADX;AAEC,IAAA,KAAK,EAAGT,QAFT;AAGC,IAAA,KAAK,EAAG1B,EAAE,CAAE,WAAF,CAHX;AAIC,IAAA,QAAQ,EAAGsC,gBAJZ;AAKC,IAAA,IAAI,EAAGtC,EAAE,CACR,8MADQ;AALV,IAdF,EAwBG4D,kBAAkB,IACnB,8BACC,cAAC,YAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG5D,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,KAAK,EAAGqB,aAAa,CAAC6C,OAHvB;AAIC,IAAA,QAAQ,EAAKD,KAAF,IACV9C,gBAAgB,CAAE;AAAE+C,MAAAA,OAAO,EAAED;AAAX,KAAF,CALlB;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EAAGE,IAAI,CAACC,GAAL,CAAU,CAAV,EAAa/C,aAAa,CAAC6C,OAA3B;AARP,IADD,EAWG7C,aAAa,CAAC6C,OAAd,GAAwB,CAAxB,IACD,cAAC,MAAD;AACC,IAAA,MAAM,EAAC,SADR;AAEC,IAAA,aAAa,EAAG;AAFjB,KAIGlE,EAAE,CACH,iFADG,CAJL,CAZF,CAzBF,EAgDG8D,gBAAgB,IACjB,cAAC,YAAD;AACQxC,IAAAA,KADR;AACeC,IAAAA,OADf;AAEC,IAAA,QAAQ,EAAGL;AAFZ,IAjDF,EAsDG6C,iBAAiB,IAClB,cAAC,aAAD;AACC,IAAA,KAAK,EAAGpC,MADT;AAEC,IAAA,QAAQ,EAAKsC,KAAF,IACV/C,QAAQ,CAAE;AAAES,MAAAA,MAAM,EAAEsC;AAAV,KAAF;AAHV,IAvDF,CADD,CAFF,EAoEG,CAAErC,OAAF,IACD,cAAC,iBAAD,QACC,cAAC,UAAD;AACC,IAAA,SAAS,EAAC,yCADX;AAEC,IAAA,KAAK,EAAG5B,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,QAAQ,EAAG,MAAM;AAChBkB,MAAAA,QAAQ,CAAE;AACTM,QAAAA,MAAM,EAAE,EADC;AAETM,QAAAA,OAAO,EAAE,EAFA;AAGTyB,QAAAA,MAAM,EAAE,EAHC;AAIT1B,QAAAA,QAAQ,EAAE;AAJD,OAAF,CAAR;AAMAyB,MAAAA,cAAc,CAAE,EAAF,CAAd;AACA;AAXF,KAaG,CAAC,EAAElB,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEe,MAAd,CAAD,IACDrC,gBAAgB,CAAEiB,eAAF,EAAmB,UAAnB,CADf,IAEA,cAAC,cAAD;AACC,IAAA,KAAK,EAAG/B,EAAE,CAAE,YAAF,CADX;AAEC,IAAA,QAAQ,EAAG,MACV2C,MAAM,CAAC0B,MAAP,CAAexC,QAAQ,IAAI,EAA3B,EAAgCyC,IAAhC,CACGtB,KAAF,IAAa,CAAC,CAAEA,KAAK,CAACG,MADvB,CAHF;AAOC,IAAA,UAAU,EAAG,MACZjC,QAAQ,CAAE;AAAEW,MAAAA,QAAQ,EAAE;AAAZ,KAAF;AARV,KAWC,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAGX,QADZ;AAEC,IAAA,KAAK,EAAGE;AAFT,IAXD,CAfH,EAgCGN,gBAAgB,CAAEiB,eAAF,EAAmB,QAAnB,CAAhB,IACD,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEN,SADrB;AAEC,IAAA,KAAK,EAAGzB,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,UAAU,EAAG,MAAMkB,QAAQ,CAAE;AAAEM,MAAAA,MAAM,EAAE;AAAV,KAAF;AAH5B,KAKC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGC,SADT;AAEC,IAAA,QAAQ,EAAGP;AAFZ,IALD,CAjCF,EA4CGJ,gBAAgB,CAAEiB,eAAF,EAAmB,QAAnB,CAAhB,IACD,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEsB,WADrB;AAEC,IAAA,KAAK,EAAGrD,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,UAAU,EAAG,MAAMsD,cAAc,CAAE,EAAF;AAHlC,KAKC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGtD,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGqD,WAFT;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IALD,CA7CF,EAyDGjB,sBAAsB,IACvBvB,gBAAgB,CAAEiB,eAAF,EAAmB,SAAnB,CADf,IAEA,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,EAAED,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAEqB,MAAX,CADnB;AAEC,IAAA,KAAK,EAAGnD,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,UAAU,EAAG,MACZkB,QAAQ,CAAE;AAAEY,MAAAA,OAAO,EAAE;AAAX,KAAF;AAJV,KAOC,cAAC,aAAD;AACC,IAAA,OAAO,EAAGA,OADX;AAEC,IAAA,QAAQ,EAAGJ,QAFZ;AAGC,IAAA,QAAQ,EAAGR;AAHZ,IAPD,CA3DH,CADD,CArEF,CADD;AAqJA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\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\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\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\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\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\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\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\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomies?.length &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'taxQuery' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'author' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'search' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isPostTypeHierarchical &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'parents' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { parents: [] } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -80,21 +80,7 @@ function QueryVariationPicker(_ref2) {
80
80
  icon,
81
81
  label
82
82
  } = _ref2;
83
- const {
84
- defaultVariation,
85
- scopeVariations
86
- } = useSelect(select => {
87
- const {
88
- getBlockVariations,
89
- getBlockType,
90
- getDefaultBlockVariation
91
- } = select(blocksStore);
92
- return {
93
- blockType: getBlockType(name),
94
- defaultVariation: getDefaultBlockVariation(name, 'block'),
95
- scopeVariations: getBlockVariations(name, 'block')
96
- };
97
- }, [name]);
83
+ const variations = useSelect(select => select(blocksStore).getBlockVariations(name, 'block'), [name]);
98
84
  const {
99
85
  replaceInnerBlocks
100
86
  } = useDispatch(blockEditorStore);
@@ -102,10 +88,8 @@ function QueryVariationPicker(_ref2) {
102
88
  return createElement("div", blockProps, createElement(__experimentalBlockVariationPicker, {
103
89
  icon: icon,
104
90
  label: label,
105
- variations: scopeVariations,
106
- onSelect: function () {
107
- let nextVariation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultVariation;
108
-
91
+ variations: variations,
92
+ onSelect: nextVariation => {
109
93
  if (nextVariation.attributes) {
110
94
  setAttributes({ ...nextVariation.attributes,
111
95
  query: { ...nextVariation.attributes.query,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/edit/query-placeholder.js"],"names":["useSelect","useDispatch","createBlocksFromInnerBlocksTemplate","store","blocksStore","useState","useBlockProps","blockEditorStore","__experimentalBlockVariationPicker","__experimentalGetMatchingVariation","getMatchingVariation","Button","Placeholder","__","QueryPlaceholder","attributes","clientId","name","openPatternSelectionModal","setAttributes","isStartingBlank","setIsStartingBlank","blockProps","blockType","allVariations","hasPatterns","select","getBlockVariations","getBlockType","getBlockRootClientId","__experimentalGetPatternsByBlockTypes","rootClientId","length","matchingVariation","icon","src","label","title","QueryVariationPicker","defaultVariation","scopeVariations","getDefaultBlockVariation","replaceInnerBlocks","nextVariation","query","postType","innerBlocks"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useState } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalBlockVariationPicker,\n\t__experimentalGetMatchingVariation as getMatchingVariation,\n} from '@wordpress/block-editor';\nimport { Button, Placeholder } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function QueryPlaceholder( {\n\tattributes,\n\tclientId,\n\tname,\n\topenPatternSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst [ isStartingBlank, setIsStartingBlank ] = useState( false );\n\tconst blockProps = useBlockProps();\n\n\tconst { blockType, allVariations, hasPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getBlockType } = select( blocksStore );\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetPatternsByBlockTypes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tallVariations: getBlockVariations( name ),\n\t\t\t\thasPatterns: !! __experimentalGetPatternsByBlockTypes(\n\t\t\t\t\tname,\n\t\t\t\t\trootClientId\n\t\t\t\t).length,\n\t\t\t};\n\t\t},\n\t\t[ name, clientId ]\n\t);\n\n\tconst matchingVariation = getMatchingVariation( attributes, allVariations );\n\tconst icon =\n\t\tmatchingVariation?.icon?.src ||\n\t\tmatchingVariation?.icon ||\n\t\tblockType?.icon?.src;\n\tconst label = matchingVariation?.title || blockType?.title;\n\tif ( isStartingBlank ) {\n\t\treturn (\n\t\t\t<QueryVariationPicker\n\t\t\t\tclientId={ clientId }\n\t\t\t\tname={ name }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Choose a pattern for the query loop or start blank.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ !! hasPatterns && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ openPatternSelectionModal }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsStartingBlank( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nfunction QueryVariationPicker( {\n\tclientId,\n\tname,\n\tattributes,\n\tsetAttributes,\n\ticon,\n\tlabel,\n} ) {\n\tconst { defaultVariation, scopeVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tscopeVariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tvariations={ scopeVariations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t...nextVariation.attributes,\n\t\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\t\t...nextVariation.attributes.query,\n\t\t\t\t\t\t\t\tpostType:\n\t\t\t\t\t\t\t\t\tattributes.query.postType ||\n\t\t\t\t\t\t\t\t\tnextVariation.attributes.query.postType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/query-placeholder.js"],"names":["useSelect","useDispatch","createBlocksFromInnerBlocksTemplate","store","blocksStore","useState","useBlockProps","blockEditorStore","__experimentalBlockVariationPicker","__experimentalGetMatchingVariation","getMatchingVariation","Button","Placeholder","__","QueryPlaceholder","attributes","clientId","name","openPatternSelectionModal","setAttributes","isStartingBlank","setIsStartingBlank","blockProps","blockType","allVariations","hasPatterns","select","getBlockVariations","getBlockType","getBlockRootClientId","__experimentalGetPatternsByBlockTypes","rootClientId","length","matchingVariation","icon","src","label","title","QueryVariationPicker","variations","replaceInnerBlocks","nextVariation","query","postType","innerBlocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,mCADD,EAECC,KAAK,IAAIC,WAFV,QAGO,mBAHP;AAIA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SACCC,aADD,EAECH,KAAK,IAAII,gBAFV,EAGCC,kCAHD,EAICC,kCAAkC,IAAIC,oBAJvC,QAKO,yBALP;AAMA,SAASC,MAAT,EAAiBC,WAAjB,QAAoC,uBAApC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,gBAAT,OAMX;AAAA;;AAAA,MANsC;AACzCC,IAAAA,UADyC;AAEzCC,IAAAA,QAFyC;AAGzCC,IAAAA,IAHyC;AAIzCC,IAAAA,yBAJyC;AAKzCC,IAAAA;AALyC,GAMtC;AACH,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0ChB,QAAQ,CAAE,KAAF,CAAxD;AACA,QAAMiB,UAAU,GAAGhB,aAAa,EAAhC;AAEA,QAAM;AAAEiB,IAAAA,SAAF;AAAaC,IAAAA,aAAb;AAA4BC,IAAAA;AAA5B,MAA4CzB,SAAS,CACxD0B,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,kBAAF;AAAsBC,MAAAA;AAAtB,QAAuCF,MAAM,CAAEtB,WAAF,CAAnD;AACA,UAAM;AACLyB,MAAAA,oBADK;AAELC,MAAAA;AAFK,QAGFJ,MAAM,CAAEnB,gBAAF,CAHV;AAIA,UAAMwB,YAAY,GAAGF,oBAAoB,CAAEb,QAAF,CAAzC;AAEA,WAAO;AACNO,MAAAA,SAAS,EAAEK,YAAY,CAAEX,IAAF,CADjB;AAENO,MAAAA,aAAa,EAAEG,kBAAkB,CAAEV,IAAF,CAF3B;AAGNQ,MAAAA,WAAW,EAAE,CAAC,CAAEK,qCAAqC,CACpDb,IADoD,EAEpDc,YAFoD,CAArC,CAGdC;AANI,KAAP;AAQA,GAjByD,EAkB1D,CAAEf,IAAF,EAAQD,QAAR,CAlB0D,CAA3D;AAqBA,QAAMiB,iBAAiB,GAAGvB,oBAAoB,CAAEK,UAAF,EAAcS,aAAd,CAA9C;AACA,QAAMU,IAAI,GACT,CAAAD,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,qCAAAA,iBAAiB,CAAEC,IAAnB,gFAAyBC,GAAzB,MACAF,iBADA,aACAA,iBADA,uBACAA,iBAAiB,CAAEC,IADnB,MAEAX,SAFA,aAEAA,SAFA,0CAEAA,SAAS,CAAEW,IAFX,oDAEA,gBAAiBC,GAFjB,CADD;AAIA,QAAMC,KAAK,GAAG,CAAAH,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,YAAAA,iBAAiB,CAAEI,KAAnB,MAA4Bd,SAA5B,aAA4BA,SAA5B,uBAA4BA,SAAS,CAAEc,KAAvC,CAAd;;AACA,MAAKjB,eAAL,EAAuB;AACtB,WACC,cAAC,oBAAD;AACC,MAAA,QAAQ,EAAGJ,QADZ;AAEC,MAAA,IAAI,EAAGC,IAFR;AAGC,MAAA,UAAU,EAAGF,UAHd;AAIC,MAAA,aAAa,EAAGI,aAJjB;AAKC,MAAA,IAAI,EAAGe,IALR;AAMC,MAAA,KAAK,EAAGE;AANT,MADD;AAUA;;AACD,SACC,qBAAUd,UAAV,EACC,cAAC,WAAD;AACC,IAAA,IAAI,EAAGY,IADR;AAEC,IAAA,KAAK,EAAGE,KAFT;AAGC,IAAA,YAAY,EAAGvB,EAAE,CAChB,qDADgB;AAHlB,KAOG,CAAC,CAAEY,WAAH,IACD,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,OAAO,EAAGP;AAFX,KAIGL,EAAE,CAAE,QAAF,CAJL,CARF,EAgBC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,WADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfQ,MAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;AAJF,KAMGR,EAAE,CAAE,aAAF,CANL,CAhBD,CADD,CADD;AA6BA;;AAED,SAASyB,oBAAT,QAOI;AAAA,MAP2B;AAC9BtB,IAAAA,QAD8B;AAE9BC,IAAAA,IAF8B;AAG9BF,IAAAA,UAH8B;AAI9BI,IAAAA,aAJ8B;AAK9Be,IAAAA,IAL8B;AAM9BE,IAAAA;AAN8B,GAO3B;AACH,QAAMG,UAAU,GAAGvC,SAAS,CACzB0B,MAAF,IAAcA,MAAM,CAAEtB,WAAF,CAAN,CAAsBuB,kBAAtB,CAA0CV,IAA1C,EAAgD,OAAhD,CADa,EAE3B,CAAEA,IAAF,CAF2B,CAA5B;AAIA,QAAM;AAAEuB,IAAAA;AAAF,MAAyBvC,WAAW,CAAEM,gBAAF,CAA1C;AACA,QAAMe,UAAU,GAAGhB,aAAa,EAAhC;AACA,SACC,qBAAUgB,UAAV,EACC,cAAC,kCAAD;AACC,IAAA,IAAI,EAAGY,IADR;AAEC,IAAA,KAAK,EAAGE,KAFT;AAGC,IAAA,UAAU,EAAGG,UAHd;AAIC,IAAA,QAAQ,EAAKE,aAAF,IAAqB;AAC/B,UAAKA,aAAa,CAAC1B,UAAnB,EAAgC;AAC/BI,QAAAA,aAAa,CAAE,EACd,GAAGsB,aAAa,CAAC1B,UADH;AAEd2B,UAAAA,KAAK,EAAE,EACN,GAAGD,aAAa,CAAC1B,UAAd,CAAyB2B,KADtB;AAENC,YAAAA,QAAQ,EACP5B,UAAU,CAAC2B,KAAX,CAAiBC,QAAjB,IACAF,aAAa,CAAC1B,UAAd,CAAyB2B,KAAzB,CAA+BC;AAJ1B;AAFO,SAAF,CAAb;AASA;;AACD,UAAKF,aAAa,CAACG,WAAnB,EAAiC;AAChCJ,QAAAA,kBAAkB,CACjBxB,QADiB,EAEjBd,mCAAmC,CAClCuC,aAAa,CAACG,WADoB,CAFlB,EAKjB,KALiB,CAAlB;AAOA;AACD;AAzBF,IADD,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useState } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalBlockVariationPicker,\n\t__experimentalGetMatchingVariation as getMatchingVariation,\n} from '@wordpress/block-editor';\nimport { Button, Placeholder } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function QueryPlaceholder( {\n\tattributes,\n\tclientId,\n\tname,\n\topenPatternSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst [ isStartingBlank, setIsStartingBlank ] = useState( false );\n\tconst blockProps = useBlockProps();\n\n\tconst { blockType, allVariations, hasPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getBlockType } = select( blocksStore );\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetPatternsByBlockTypes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tallVariations: getBlockVariations( name ),\n\t\t\t\thasPatterns: !! __experimentalGetPatternsByBlockTypes(\n\t\t\t\t\tname,\n\t\t\t\t\trootClientId\n\t\t\t\t).length,\n\t\t\t};\n\t\t},\n\t\t[ name, clientId ]\n\t);\n\n\tconst matchingVariation = getMatchingVariation( attributes, allVariations );\n\tconst icon =\n\t\tmatchingVariation?.icon?.src ||\n\t\tmatchingVariation?.icon ||\n\t\tblockType?.icon?.src;\n\tconst label = matchingVariation?.title || blockType?.title;\n\tif ( isStartingBlank ) {\n\t\treturn (\n\t\t\t<QueryVariationPicker\n\t\t\t\tclientId={ clientId }\n\t\t\t\tname={ name }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Choose a pattern for the query loop or start blank.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ !! hasPatterns && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ openPatternSelectionModal }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsStartingBlank( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nfunction QueryVariationPicker( {\n\tclientId,\n\tname,\n\tattributes,\n\tsetAttributes,\n\ticon,\n\tlabel,\n} ) {\n\tconst variations = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockVariations( name, 'block' ),\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t...nextVariation.attributes,\n\t\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\t\t...nextVariation.attributes.query,\n\t\t\t\t\t\t\t\tpostType:\n\t\t\t\t\t\t\t\t\tattributes.query.postType ||\n\t\t\t\t\t\t\t\t\tnextVariation.attributes.query.postType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -60,14 +60,6 @@ const metadata = {
60
60
  supports: {
61
61
  align: ["wide", "full"],
62
62
  html: false,
63
- color: {
64
- gradients: true,
65
- link: true,
66
- __experimentalDefaultControls: {
67
- background: true,
68
- text: true
69
- }
70
- },
71
63
  __experimentalLayout: true
72
64
  },
73
65
  editorStyle: "wp-block-query-editor"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/index.js"],"names":["loop","icon","addFilter","initBlock","edit","save","variations","deprecated","queryInspectorControls","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,sBAAP,MAAmC,SAAnC;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBV,EAAAA,IADuB;AAEvBG,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;AAIvBC,EAAAA,UAJuB;AAKvBC,EAAAA;AALuB,CAAjB;AAQP,OAAO,MAAMK,IAAI,GAAG,MAAM;AACzBV,EAAAA,SAAS,CAAE,kBAAF,EAAsB,YAAtB,EAAoCM,sBAApC,CAAT;AAEA,SAAOL,SAAS,CAAE;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,GAAF,CAAhB;AACA,CAJM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\nimport queryInspectorControls from './hooks';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => {\n\taddFilter( 'editor.BlockEdit', 'core/query', queryInspectorControls );\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/index.js"],"names":["loop","icon","addFilter","initBlock","edit","save","variations","deprecated","queryInspectorControls","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,sBAAP,MAAmC,SAAnC;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBV,EAAAA,IADuB;AAEvBG,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;AAIvBC,EAAAA,UAJuB;AAKvBC,EAAAA;AALuB,CAAjB;AAQP,OAAO,MAAMK,IAAI,GAAG,MAAM;AACzBV,EAAAA,SAAS,CAAE,kBAAF,EAAsB,YAAtB,EAAoCM,sBAApC,CAAT;AAEA,SAAOL,SAAS,CAAE;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,GAAF,CAAhB;AACA,CAJM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\nimport queryInspectorControls from './hooks';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => {\n\taddFilter( 'editor.BlockEdit', 'core/query', queryInspectorControls );\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"]}
@@ -70,14 +70,6 @@ const {
70
70
  supports: {
71
71
  align: ["wide", "full"],
72
72
  html: false,
73
- color: {
74
- gradients: true,
75
- link: true,
76
- __experimentalDefaultControls: {
77
- background: true,
78
- text: true
79
- }
80
- },
81
73
  __experimentalLayout: true
82
74
  },
83
75
  editorStyle: "wp-block-query-editor"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/utils.js"],"names":["get","useSelect","useMemo","store","coreStore","blockEditorStore","decodeEntities","cloneBlock","blocksStore","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","mapToIHasNameAndId","path","map","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","value","useTaxonomies","postType","getTaxonomies","filteredTaxonomies","context","useIsPostTypeHierarchical","getPostType","hierarchical","useAllowedControls","attributes","getActiveBlockVariation","queryLoopName","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","clonedBlocks","block","queryClientIds","blocksQueue","shift","clientId","innerBlocks","forEach","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","activeVariationPatterns","getBlockRootClientId","__experimentalGetPatternsByBlockTypes","rootClientId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { cloneBlock, store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as queryLoopName } from './block.json';\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 * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\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 * Hook that returns whether a specific post type is hierarchical.\n *\n * @param {string} postType The post type to check.\n * @return {boolean} Whether a specific post type is hierarchical.\n */\nexport function useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\n/**\n * Hook that returns the query properties' names defined by the active\n * block variation, to determine which block's filters to show.\n *\n * @param {Object} attributes Block attributes.\n * @return {string[]} An array of the query attributes.\n */\nexport function useAllowedControls( attributes ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\tqueryLoopName,\n\t\t\t\tattributes\n\t\t\t)?.allowedControls,\n\n\t\t[ attributes ]\n\t);\n}\nexport function isControlAllowed( allowedControls, key ) {\n\t// Every controls is allowed if the list is not defined.\n\tif ( ! allowedControls ) {\n\t\treturn true;\n\t}\n\treturn allowedControls.includes( key );\n}\n\n/**\n * Clones a pattern's blocks and then recurses over that list of blocks,\n * transforming them to retain some `query` attribute properties.\n * For now we retain the `postType` and `inherit` properties as they are\n * fundamental for the expected functionality of the block and don't affect\n * its design and presentation.\n *\n * Returns the cloned/transformed blocks and array of existing Query Loop\n * client ids for further manipulation, in order to avoid multiple recursions.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through and transform(mutate).\n * @param {Record<string,*>} queryBlockAttributes The existing Query Loop's attributes.\n * @return {{ newBlocks: WPBlock[], queryClientIds: string[] }} An object with the cloned/transformed blocks and all the Query Loop clients from these blocks.\n */\nexport const getTransformedBlocksFromPattern = (\n\tblocks,\n\tqueryBlockAttributes\n) => {\n\tconst {\n\t\tquery: { postType, inherit },\n\t} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\tqueryLoopName,\n\t\t\t\tattributes\n\t\t\t)?.name,\n\n\t\t[ attributes ]\n\t);\n\tconst blockName = `${ queryLoopName }/${ activeVariationName }`;\n\tconst activeVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetPatternsByBlockTypes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn __experimentalGetPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t},\n\t\t[ clientId, activeVariationName ]\n\t);\n\treturn activeVariationPatterns?.length ? blockName : queryLoopName;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/utils.js"],"names":["get","useSelect","useMemo","store","coreStore","blockEditorStore","decodeEntities","cloneBlock","blocksStore","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","mapToIHasNameAndId","path","map","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","value","useTaxonomies","postType","getTaxonomies","filteredTaxonomies","context","useIsPostTypeHierarchical","getPostType","hierarchical","useAllowedControls","attributes","getActiveBlockVariation","queryLoopName","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","clonedBlocks","block","queryClientIds","blocksQueue","shift","clientId","innerBlocks","forEach","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","activeVariationPatterns","getBlockRootClientId","__experimentalGetPatternsByBlockTypes","rootClientId"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,UAAT,EAAqBJ,KAAK,IAAIK,WAA9B,QAAiD,mBAAjD;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,eAAe,GAAKC,QAAF,IAAgB;AAC9C,QAAMC,OAAO,GAAGD,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAEE,MAAV,CACf,CAAEC,WAAF,EAAeC,MAAf,KAA2B;AAC1B,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA,SAAX;AAAsBC,MAAAA;AAAtB,QAAgCJ,WAAtC;AACAE,IAAAA,OAAO,CAAED,MAAM,CAACI,EAAT,CAAP,GAAuBJ,MAAvB;AACAE,IAAAA,SAAS,CAAEF,MAAM,CAACK,IAAT,CAAT,GAA2BL,MAA3B;AACAG,IAAAA,KAAK,CAACG,IAAN,CAAYN,MAAM,CAACK,IAAnB;AACA,WAAON,WAAP;AACA,GAPc,EAQf;AAAEE,IAAAA,OAAO,EAAE,EAAX;AAAeC,IAAAA,SAAS,EAAE,EAA1B;AAA8BC,IAAAA,KAAK,EAAE;AAArC,GARe,CAAhB;AAUA,SAAO;AACNP,IAAAA,QADM;AAEN,OAAGC;AAFG,GAAP;AAIA,CAfM;AAiBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMU,kBAAkB,GAAG,CAAEX,QAAF,EAAYY,IAAZ,KAAsB;AACvD,SAAO,CAAEZ,QAAQ,IAAI,EAAd,EAAmBa,GAAnB,CAA0BT,MAAF,KAAgB,EAC9C,GAAGA,MAD2C;AAE9CK,IAAAA,IAAI,EAAEb,cAAc,CAAEN,GAAG,CAAEc,MAAF,EAAUQ,IAAV,CAAL;AAF0B,GAAhB,CAAxB,CAAP;AAIA,CALM;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAME,YAAY,GAAG,MAAM;AACjC,QAAMC,SAAS,GAAGxB,SAAS,CAAIyB,MAAF,IAAc;AAAA;;AAC1C,UAAM;AAAEC,MAAAA;AAAF,QAAmBD,MAAM,CAAEtB,SAAF,CAA/B;AACA,UAAMwB,iBAAiB,GAAG,CAAE,YAAF,CAA1B;AACA,UAAMC,iBAAiB,oBAAGF,YAAY,CAAE;AAAEG,MAAAA,QAAQ,EAAE,CAAC;AAAb,KAAF,CAAf,kDAAG,cAAkCC,MAAlC,CACzB;AAAA,UAAE;AAAEC,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAAF;AAAA,aACCD,QAAQ,IAAI,CAAEJ,iBAAiB,CAACM,QAAlB,CAA4BD,IAA5B,CADf;AAAA,KADyB,CAA1B;AAIA,WAAOJ,iBAAP;AACA,GAR0B,EAQxB,EARwB,CAA3B;AASA,QAAMM,sBAAsB,GAAGjC,OAAO,CAAE,MAAM;AAC7C,QAAK,EAAEuB,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEW,MAAb,CAAL,EAA2B;AAC3B,WAAOX,SAAS,CAACb,MAAV,CAAkB,CAAEC,WAAF,EAAewB,IAAf,KAAyB;AACjDxB,MAAAA,WAAW,CAAEwB,IAAI,CAACJ,IAAP,CAAX,GAA2BI,IAAI,CAACC,UAAhC;AACA,aAAOzB,WAAP;AACA,KAHM,EAGJ,EAHI,CAAP;AAIA,GANqC,EAMnC,CAAEY,SAAF,CANmC,CAAtC;AAOA,QAAMc,sBAAsB,GAAGrC,OAAO,CACrC,MACC,CAAEuB,SAAS,IAAI,EAAf,EAAoBF,GAApB,CAAyB;AAAA,QAAE;AAAEiB,MAAAA,MAAF;AAAUP,MAAAA;AAAV,KAAF;AAAA,WAA0B;AAClDQ,MAAAA,KAAK,EAAED,MAAM,CAACE,aADoC;AAElDC,MAAAA,KAAK,EAAEV;AAF2C,KAA1B;AAAA,GAAzB,CAFoC,EAMrC,CAAER,SAAF,CANqC,CAAtC;AAQA,SAAO;AAAEU,IAAAA,sBAAF;AAA0BI,IAAAA;AAA1B,GAAP;AACA,CA1BM;AA4BP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMK,aAAa,GAAKC,QAAF,IAAgB;AAC5C,QAAMP,UAAU,GAAGrC,SAAS,CACzByB,MAAF,IAAc;AACb,UAAM;AAAEoB,MAAAA;AAAF,QAAoBpB,MAAM,CAAEtB,SAAF,CAAhC;AACA,UAAM2C,kBAAkB,GAAGD,aAAa,CAAE;AACzCT,MAAAA,IAAI,EAAEQ,QADmC;AAEzCf,MAAAA,QAAQ,EAAE,CAAC,CAF8B;AAGzCkB,MAAAA,OAAO,EAAE;AAHgC,KAAF,CAAxC;AAKA,WAAOD,kBAAP;AACA,GAT0B,EAU3B,CAAEF,QAAF,CAV2B,CAA5B;AAYA,SAAOP,UAAP;AACA,CAdM;AAgBP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASW,yBAAT,CAAoCJ,QAApC,EAA+C;AACrD,SAAO5C,SAAS,CACbyB,MAAF,IAAc;AACb,UAAMW,IAAI,GAAGX,MAAM,CAAEtB,SAAF,CAAN,CAAoB8C,WAApB,CAAiCL,QAAjC,CAAb;AACA,WAAO,CAAAR,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEL,QAAN,MAAkBK,IAAlB,aAAkBA,IAAlB,uBAAkBA,IAAI,CAAEc,YAAxB,CAAP;AACA,GAJc,EAKf,CAAEN,QAAF,CALe,CAAhB;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASO,kBAAT,CAA6BC,UAA7B,EAA0C;AAChD,SAAOpD,SAAS,CACbyB,MAAF;AAAA;;AAAA,oCACCA,MAAM,CAAElB,WAAF,CAAN,CAAsB8C,uBAAtB,CACCC,aADD,EAECF,UAFD,CADD,0DACC,sBAGGG,eAJJ;AAAA,GADe,EAOf,CAAEH,UAAF,CAPe,CAAhB;AASA;AACD,OAAO,SAASI,gBAAT,CAA2BD,eAA3B,EAA4CE,GAA5C,EAAkD;AACxD;AACA,MAAK,CAAEF,eAAP,EAAyB;AACxB,WAAO,IAAP;AACA;;AACD,SAAOA,eAAe,CAACtB,QAAhB,CAA0BwB,GAA1B,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,+BAA+B,GAAG,CAC9CC,MAD8C,EAE9CC,oBAF8C,KAG1C;AACJ,QAAM;AACLC,IAAAA,KAAK,EAAE;AAAEjB,MAAAA,QAAF;AAAYkB,MAAAA;AAAZ;AADF,MAEFF,oBAFJ;AAGA,QAAMG,YAAY,GAAGJ,MAAM,CAACrC,GAAP,CAAc0C,KAAF,IAAa1D,UAAU,CAAE0D,KAAF,CAAnC,CAArB;AACA,QAAMC,cAAc,GAAG,EAAvB;AACA,QAAMC,WAAW,GAAG,CAAE,GAAGH,YAAL,CAApB;;AACA,SAAQG,WAAW,CAAC/B,MAAZ,GAAqB,CAA7B,EAAiC;AAAA;;AAChC,UAAM6B,KAAK,GAAGE,WAAW,CAACC,KAAZ,EAAd;;AACA,QAAKH,KAAK,CAAC9C,IAAN,KAAe,YAApB,EAAmC;AAClC8C,MAAAA,KAAK,CAACZ,UAAN,CAAiBS,KAAjB,GAAyB,EACxB,GAAGG,KAAK,CAACZ,UAAN,CAAiBS,KADI;AAExBjB,QAAAA,QAFwB;AAGxBkB,QAAAA;AAHwB,OAAzB;AAKAG,MAAAA,cAAc,CAAC9C,IAAf,CAAqB6C,KAAK,CAACI,QAA3B;AACA;;AACD,0BAAAJ,KAAK,CAACK,WAAN,0EAAmBC,OAAnB,CAA8BC,UAAF,IAAkB;AAC7CL,MAAAA,WAAW,CAAC/C,IAAZ,CAAkBoD,UAAlB;AACA,KAFD;AAGA;;AACD,SAAO;AAAEC,IAAAA,SAAS,EAAET,YAAb;AAA2BE,IAAAA;AAA3B,GAAP;AACA,CAzBM;AA2BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASQ,uBAAT,CAAkCL,QAAlC,EAA4ChB,UAA5C,EAAyD;AAC/D,QAAMsB,mBAAmB,GAAG1E,SAAS,CAClCyB,MAAF;AAAA;;AAAA,qCACCA,MAAM,CAAElB,WAAF,CAAN,CAAsB8C,uBAAtB,CACCC,aADD,EAECF,UAFD,CADD,2DACC,uBAGGlC,IAJJ;AAAA,GADoC,EAOpC,CAAEkC,UAAF,CAPoC,CAArC;AASA,QAAMuB,SAAS,GAAI,GAAGrB,aAAe,IAAIoB,mBAAqB,EAA9D;AACA,QAAME,uBAAuB,GAAG5E,SAAS,CACtCyB,MAAF,IAAc;AACb,QAAK,CAAEiD,mBAAP,EAA6B;AAC5B;AACA;;AACD,UAAM;AACLG,MAAAA,oBADK;AAELC,MAAAA;AAFK,QAGFrD,MAAM,CAAErB,gBAAF,CAHV;AAIA,UAAM2E,YAAY,GAAGF,oBAAoB,CAAET,QAAF,CAAzC;AACA,WAAOU,qCAAqC,CAC3CH,SAD2C,EAE3CI,YAF2C,CAA5C;AAIA,GAduC,EAexC,CAAEX,QAAF,EAAYM,mBAAZ,CAfwC,CAAzC;AAiBA,SAAOE,uBAAuB,SAAvB,IAAAA,uBAAuB,WAAvB,IAAAA,uBAAuB,CAAEzC,MAAzB,GAAkCwC,SAAlC,GAA8CrB,aAArD;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { cloneBlock, store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as queryLoopName } from './block.json';\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 * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\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 * Hook that returns whether a specific post type is hierarchical.\n *\n * @param {string} postType The post type to check.\n * @return {boolean} Whether a specific post type is hierarchical.\n */\nexport function useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\n/**\n * Hook that returns the query properties' names defined by the active\n * block variation, to determine which block's filters to show.\n *\n * @param {Object} attributes Block attributes.\n * @return {string[]} An array of the query attributes.\n */\nexport function useAllowedControls( attributes ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\tqueryLoopName,\n\t\t\t\tattributes\n\t\t\t)?.allowedControls,\n\n\t\t[ attributes ]\n\t);\n}\nexport function isControlAllowed( allowedControls, key ) {\n\t// Every controls is allowed if the list is not defined.\n\tif ( ! allowedControls ) {\n\t\treturn true;\n\t}\n\treturn allowedControls.includes( key );\n}\n\n/**\n * Clones a pattern's blocks and then recurses over that list of blocks,\n * transforming them to retain some `query` attribute properties.\n * For now we retain the `postType` and `inherit` properties as they are\n * fundamental for the expected functionality of the block and don't affect\n * its design and presentation.\n *\n * Returns the cloned/transformed blocks and array of existing Query Loop\n * client ids for further manipulation, in order to avoid multiple recursions.\n *\n * @param {WPBlock[]} blocks The list of blocks to look through and transform(mutate).\n * @param {Record<string,*>} queryBlockAttributes The existing Query Loop's attributes.\n * @return {{ newBlocks: WPBlock[], queryClientIds: string[] }} An object with the cloned/transformed blocks and all the Query Loop clients from these blocks.\n */\nexport const getTransformedBlocksFromPattern = (\n\tblocks,\n\tqueryBlockAttributes\n) => {\n\tconst {\n\t\tquery: { postType, inherit },\n\t} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\tqueryLoopName,\n\t\t\t\tattributes\n\t\t\t)?.name,\n\n\t\t[ attributes ]\n\t);\n\tconst blockName = `${ queryLoopName }/${ activeVariationName }`;\n\tconst activeVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetPatternsByBlockTypes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn __experimentalGetPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t},\n\t\t[ clientId, activeVariationName ]\n\t);\n\treturn activeVariationPatterns?.length ? blockName : queryLoopName;\n}\n"]}