@wordpress/block-library 9.4.0 → 9.5.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 (585) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/avatar/edit.js +1 -0
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/categories/index.js +12 -0
  5. package/build/categories/index.js.map +1 -1
  6. package/build/column/edit.js +2 -2
  7. package/build/column/edit.js.map +1 -1
  8. package/build/column/index.js +2 -0
  9. package/build/column/index.js.map +1 -1
  10. package/build/comment-template/index.js +12 -0
  11. package/build/comment-template/index.js.map +1 -1
  12. package/build/comments-title/deprecated.js +3 -0
  13. package/build/comments-title/deprecated.js.map +1 -1
  14. package/build/comments-title/edit.js +3 -1
  15. package/build/comments-title/edit.js.map +1 -1
  16. package/build/comments-title/index.js +3 -0
  17. package/build/comments-title/index.js.map +1 -1
  18. package/build/details/edit.js +1 -0
  19. package/build/details/edit.js.map +1 -1
  20. package/build/form/edit.js +4 -4
  21. package/build/form/edit.js.map +1 -1
  22. package/build/form-input/edit.js +1 -0
  23. package/build/form-input/edit.js.map +1 -1
  24. package/build/gallery/edit.js +42 -8
  25. package/build/gallery/edit.js.map +1 -1
  26. package/build/gallery/gap-styles.js +1 -9
  27. package/build/gallery/gap-styles.js.map +1 -1
  28. package/build/gallery/use-image-sizes.js +2 -2
  29. package/build/gallery/use-image-sizes.js.map +1 -1
  30. package/build/group/index.js +27 -30
  31. package/build/group/index.js.map +1 -1
  32. package/build/group/variations.js +51 -3
  33. package/build/group/variations.js.map +1 -1
  34. package/build/heading/edit.js +2 -0
  35. package/build/heading/edit.js.map +1 -1
  36. package/build/heading/index.js +3 -0
  37. package/build/heading/index.js.map +1 -1
  38. package/build/image/view.js +1 -1
  39. package/build/image/view.js.map +1 -1
  40. package/build/latest-posts/edit.js +1 -0
  41. package/build/latest-posts/edit.js.map +1 -1
  42. package/build/list/index.js +1 -1
  43. package/build/list/ordered-list-settings.js +19 -17
  44. package/build/list/ordered-list-settings.js.map +1 -1
  45. package/build/list-item/index.js +3 -2
  46. package/build/list-item/index.js.map +1 -1
  47. package/build/loginout/index.js +14 -1
  48. package/build/loginout/index.js.map +1 -1
  49. package/build/navigation/edit/index.js +5 -4
  50. package/build/navigation/edit/index.js.map +1 -1
  51. package/build/post-comments-form/index.js +12 -0
  52. package/build/post-comments-form/index.js.map +1 -1
  53. package/build/post-content/index.js +1 -0
  54. package/build/post-content/index.js.map +1 -1
  55. package/build/post-date/index.js +12 -0
  56. package/build/post-date/index.js.map +1 -1
  57. package/build/post-excerpt/index.js +12 -0
  58. package/build/post-excerpt/index.js.map +1 -1
  59. package/build/post-navigation-link/edit.js +2 -0
  60. package/build/post-navigation-link/edit.js.map +1 -1
  61. package/build/post-terms/index.js +12 -0
  62. package/build/post-terms/index.js.map +1 -1
  63. package/build/post-time-to-read/index.js +6 -0
  64. package/build/post-time-to-read/index.js.map +1 -1
  65. package/build/post-title/edit.js +4 -2
  66. package/build/post-title/edit.js.map +1 -1
  67. package/build/post-title/index.js +15 -0
  68. package/build/post-title/index.js.map +1 -1
  69. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  70. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  71. package/build/query/edit/inspector-controls/index.js +69 -9
  72. package/build/query/edit/inspector-controls/index.js.map +1 -1
  73. package/build/query/edit/inspector-controls/offset-controls.js +37 -0
  74. package/build/query/edit/inspector-controls/offset-controls.js.map +1 -0
  75. package/build/query/edit/inspector-controls/pages-control.js +36 -0
  76. package/build/query/edit/inspector-controls/pages-control.js.map +1 -0
  77. package/build/query/edit/inspector-controls/per-page-control.js +40 -0
  78. package/build/query/edit/inspector-controls/per-page-control.js.map +1 -0
  79. package/build/query/edit/inspector-controls/sticky-control.js +1 -1
  80. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  81. package/build/query/edit/query-toolbar.js +3 -76
  82. package/build/query/edit/query-toolbar.js.map +1 -1
  83. package/build/query/utils.js +10 -5
  84. package/build/query/utils.js.map +1 -1
  85. package/build/query-title/edit.js +2 -0
  86. package/build/query-title/edit.js.map +1 -1
  87. package/build/query-title/index.js +3 -0
  88. package/build/query-title/index.js.map +1 -1
  89. package/build/site-logo/edit.js +15 -8
  90. package/build/site-logo/edit.js.map +1 -1
  91. package/build/site-tagline/edit.js +3 -3
  92. package/build/site-tagline/edit.js.map +1 -1
  93. package/build/site-tagline/index.js +12 -1
  94. package/build/site-tagline/index.js.map +1 -1
  95. package/build/site-title/edit.js +2 -2
  96. package/build/site-title/edit.js.map +1 -1
  97. package/build/site-title/index.js +10 -0
  98. package/build/site-title/index.js.map +1 -1
  99. package/build/social-link/edit.js +0 -1
  100. package/build/social-link/edit.js.map +1 -1
  101. package/build/spacer/controls.js +8 -13
  102. package/build/spacer/controls.js.map +1 -1
  103. package/build/table-of-contents/index.js +14 -1
  104. package/build/table-of-contents/index.js.map +1 -1
  105. package/build/tag-cloud/edit.js +38 -32
  106. package/build/tag-cloud/edit.js.map +1 -1
  107. package/build/tag-cloud/index.js +1 -1
  108. package/build/template-part/edit/index.js +7 -6
  109. package/build/template-part/edit/index.js.map +1 -1
  110. package/build/template-part/edit/inner-blocks.js +6 -4
  111. package/build/template-part/edit/inner-blocks.js.map +1 -1
  112. package/build-module/avatar/edit.js +1 -0
  113. package/build-module/avatar/edit.js.map +1 -1
  114. package/build-module/categories/index.js +12 -0
  115. package/build-module/categories/index.js.map +1 -1
  116. package/build-module/column/edit.js +2 -2
  117. package/build-module/column/edit.js.map +1 -1
  118. package/build-module/column/index.js +2 -0
  119. package/build-module/column/index.js.map +1 -1
  120. package/build-module/comment-template/index.js +12 -0
  121. package/build-module/comment-template/index.js.map +1 -1
  122. package/build-module/comments-title/deprecated.js +3 -0
  123. package/build-module/comments-title/deprecated.js.map +1 -1
  124. package/build-module/comments-title/edit.js +3 -1
  125. package/build-module/comments-title/edit.js.map +1 -1
  126. package/build-module/comments-title/index.js +3 -0
  127. package/build-module/comments-title/index.js.map +1 -1
  128. package/build-module/details/edit.js +1 -0
  129. package/build-module/details/edit.js.map +1 -1
  130. package/build-module/form/edit.js +4 -4
  131. package/build-module/form/edit.js.map +1 -1
  132. package/build-module/form-input/edit.js +1 -0
  133. package/build-module/form-input/edit.js.map +1 -1
  134. package/build-module/gallery/edit.js +43 -9
  135. package/build-module/gallery/edit.js.map +1 -1
  136. package/build-module/gallery/gap-styles.js +1 -9
  137. package/build-module/gallery/gap-styles.js.map +1 -1
  138. package/build-module/gallery/use-image-sizes.js +2 -2
  139. package/build-module/gallery/use-image-sizes.js.map +1 -1
  140. package/build-module/group/index.js +27 -30
  141. package/build-module/group/index.js.map +1 -1
  142. package/build-module/group/variations.js +51 -3
  143. package/build-module/group/variations.js.map +1 -1
  144. package/build-module/heading/edit.js +2 -0
  145. package/build-module/heading/edit.js.map +1 -1
  146. package/build-module/heading/index.js +3 -0
  147. package/build-module/heading/index.js.map +1 -1
  148. package/build-module/image/view.js +1 -1
  149. package/build-module/image/view.js.map +1 -1
  150. package/build-module/latest-posts/edit.js +1 -0
  151. package/build-module/latest-posts/edit.js.map +1 -1
  152. package/build-module/list/index.js +1 -1
  153. package/build-module/list/ordered-list-settings.js +19 -17
  154. package/build-module/list/ordered-list-settings.js.map +1 -1
  155. package/build-module/list-item/index.js +3 -2
  156. package/build-module/list-item/index.js.map +1 -1
  157. package/build-module/loginout/index.js +14 -1
  158. package/build-module/loginout/index.js.map +1 -1
  159. package/build-module/navigation/edit/index.js +5 -4
  160. package/build-module/navigation/edit/index.js.map +1 -1
  161. package/build-module/post-comments-form/index.js +12 -0
  162. package/build-module/post-comments-form/index.js.map +1 -1
  163. package/build-module/post-content/index.js +1 -0
  164. package/build-module/post-content/index.js.map +1 -1
  165. package/build-module/post-date/index.js +12 -0
  166. package/build-module/post-date/index.js.map +1 -1
  167. package/build-module/post-excerpt/index.js +12 -0
  168. package/build-module/post-excerpt/index.js.map +1 -1
  169. package/build-module/post-navigation-link/edit.js +2 -0
  170. package/build-module/post-navigation-link/edit.js.map +1 -1
  171. package/build-module/post-terms/index.js +12 -0
  172. package/build-module/post-terms/index.js.map +1 -1
  173. package/build-module/post-time-to-read/index.js +6 -0
  174. package/build-module/post-time-to-read/index.js.map +1 -1
  175. package/build-module/post-title/edit.js +4 -2
  176. package/build-module/post-title/edit.js.map +1 -1
  177. package/build-module/post-title/index.js +15 -0
  178. package/build-module/post-title/index.js.map +1 -1
  179. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  180. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  181. package/build-module/query/edit/inspector-controls/index.js +71 -11
  182. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  183. package/build-module/query/edit/inspector-controls/offset-controls.js +29 -0
  184. package/build-module/query/edit/inspector-controls/offset-controls.js.map +1 -0
  185. package/build-module/query/edit/inspector-controls/pages-control.js +28 -0
  186. package/build-module/query/edit/inspector-controls/pages-control.js.map +1 -0
  187. package/build-module/query/edit/inspector-controls/per-page-control.js +33 -0
  188. package/build-module/query/edit/inspector-controls/per-page-control.js.map +1 -0
  189. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -1
  190. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  191. package/build-module/query/edit/query-toolbar.js +4 -78
  192. package/build-module/query/edit/query-toolbar.js.map +1 -1
  193. package/build-module/query/utils.js +10 -5
  194. package/build-module/query/utils.js.map +1 -1
  195. package/build-module/query-title/edit.js +2 -0
  196. package/build-module/query-title/edit.js.map +1 -1
  197. package/build-module/query-title/index.js +3 -0
  198. package/build-module/query-title/index.js.map +1 -1
  199. package/build-module/site-logo/edit.js +15 -8
  200. package/build-module/site-logo/edit.js.map +1 -1
  201. package/build-module/site-tagline/edit.js +3 -3
  202. package/build-module/site-tagline/edit.js.map +1 -1
  203. package/build-module/site-tagline/index.js +12 -1
  204. package/build-module/site-tagline/index.js.map +1 -1
  205. package/build-module/site-title/edit.js +2 -2
  206. package/build-module/site-title/edit.js.map +1 -1
  207. package/build-module/site-title/index.js +10 -0
  208. package/build-module/site-title/index.js.map +1 -1
  209. package/build-module/social-link/edit.js +0 -1
  210. package/build-module/social-link/edit.js.map +1 -1
  211. package/build-module/spacer/controls.js +9 -14
  212. package/build-module/spacer/controls.js.map +1 -1
  213. package/build-module/table-of-contents/index.js +14 -1
  214. package/build-module/table-of-contents/index.js.map +1 -1
  215. package/build-module/tag-cloud/edit.js +39 -33
  216. package/build-module/tag-cloud/edit.js.map +1 -1
  217. package/build-module/tag-cloud/index.js +1 -1
  218. package/build-module/template-part/edit/index.js +7 -6
  219. package/build-module/template-part/edit/index.js.map +1 -1
  220. package/build-module/template-part/edit/inner-blocks.js +6 -4
  221. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  222. package/build-style/archives/editor-rtl.css +3 -0
  223. package/build-style/archives/editor.css +3 -0
  224. package/build-style/archives/style-rtl.css +3 -0
  225. package/build-style/archives/style.css +3 -0
  226. package/build-style/audio/editor-rtl.css +3 -0
  227. package/build-style/audio/editor.css +3 -0
  228. package/build-style/audio/style-rtl.css +3 -0
  229. package/build-style/audio/style.css +3 -0
  230. package/build-style/audio/theme-rtl.css +3 -0
  231. package/build-style/audio/theme.css +3 -0
  232. package/build-style/avatar/editor-rtl.css +3 -0
  233. package/build-style/avatar/editor.css +3 -0
  234. package/build-style/avatar/style-rtl.css +3 -0
  235. package/build-style/avatar/style.css +3 -0
  236. package/build-style/button/editor-rtl.css +3 -0
  237. package/build-style/button/editor.css +3 -0
  238. package/build-style/button/style-rtl.css +3 -0
  239. package/build-style/button/style.css +3 -0
  240. package/build-style/buttons/editor-rtl.css +3 -0
  241. package/build-style/buttons/editor.css +3 -0
  242. package/build-style/buttons/style-rtl.css +3 -0
  243. package/build-style/buttons/style.css +3 -0
  244. package/build-style/calendar/style-rtl.css +3 -0
  245. package/build-style/calendar/style.css +3 -0
  246. package/build-style/categories/editor-rtl.css +3 -0
  247. package/build-style/categories/editor.css +3 -0
  248. package/build-style/categories/style-rtl.css +3 -0
  249. package/build-style/categories/style.css +3 -0
  250. package/build-style/classic-rtl.css +3 -0
  251. package/build-style/classic.css +3 -0
  252. package/build-style/code/editor-rtl.css +3 -0
  253. package/build-style/code/editor.css +3 -0
  254. package/build-style/code/style-rtl.css +3 -0
  255. package/build-style/code/style.css +3 -0
  256. package/build-style/code/theme-rtl.css +3 -0
  257. package/build-style/code/theme.css +3 -0
  258. package/build-style/columns/editor-rtl.css +3 -0
  259. package/build-style/columns/editor.css +3 -0
  260. package/build-style/columns/style-rtl.css +3 -0
  261. package/build-style/columns/style.css +3 -0
  262. package/build-style/comment-author-avatar/editor-rtl.css +3 -0
  263. package/build-style/comment-author-avatar/editor.css +3 -0
  264. package/build-style/comment-content/style-rtl.css +3 -0
  265. package/build-style/comment-content/style.css +3 -0
  266. package/build-style/comment-template/style-rtl.css +3 -0
  267. package/build-style/comment-template/style.css +3 -0
  268. package/build-style/comments/editor-rtl.css +3 -0
  269. package/build-style/comments/editor.css +3 -0
  270. package/build-style/comments/style-rtl.css +3 -0
  271. package/build-style/comments/style.css +3 -0
  272. package/build-style/comments-pagination/editor-rtl.css +3 -0
  273. package/build-style/comments-pagination/editor.css +3 -0
  274. package/build-style/comments-pagination/style-rtl.css +3 -0
  275. package/build-style/comments-pagination/style.css +3 -0
  276. package/build-style/comments-pagination-numbers/editor-rtl.css +3 -0
  277. package/build-style/comments-pagination-numbers/editor.css +3 -0
  278. package/build-style/comments-title/editor-rtl.css +3 -0
  279. package/build-style/comments-title/editor.css +3 -0
  280. package/build-style/common-rtl.css +3 -0
  281. package/build-style/common.css +3 -0
  282. package/build-style/cover/editor-rtl.css +3 -0
  283. package/build-style/cover/editor.css +3 -0
  284. package/build-style/cover/style-rtl.css +3 -0
  285. package/build-style/cover/style.css +3 -0
  286. package/build-style/details/editor-rtl.css +3 -0
  287. package/build-style/details/editor.css +3 -0
  288. package/build-style/details/style-rtl.css +3 -0
  289. package/build-style/details/style.css +3 -0
  290. package/build-style/editor-elements-rtl.css +3 -0
  291. package/build-style/editor-elements.css +3 -0
  292. package/build-style/editor-rtl.css +16 -30
  293. package/build-style/editor.css +16 -30
  294. package/build-style/elements-rtl.css +3 -0
  295. package/build-style/elements.css +3 -0
  296. package/build-style/embed/editor-rtl.css +3 -0
  297. package/build-style/embed/editor.css +3 -0
  298. package/build-style/embed/style-rtl.css +3 -0
  299. package/build-style/embed/style.css +3 -0
  300. package/build-style/embed/theme-rtl.css +3 -0
  301. package/build-style/embed/theme.css +3 -0
  302. package/build-style/file/editor-rtl.css +3 -0
  303. package/build-style/file/editor.css +3 -0
  304. package/build-style/file/style-rtl.css +3 -0
  305. package/build-style/file/style.css +3 -0
  306. package/build-style/footnotes/style-rtl.css +3 -0
  307. package/build-style/footnotes/style.css +3 -0
  308. package/build-style/form-input/editor-rtl.css +3 -0
  309. package/build-style/form-input/editor.css +3 -0
  310. package/build-style/form-input/style-rtl.css +4 -0
  311. package/build-style/form-input/style.css +4 -0
  312. package/build-style/form-submission-notification/editor-rtl.css +3 -0
  313. package/build-style/form-submission-notification/editor.css +3 -0
  314. package/build-style/form-submit-button/style-rtl.css +3 -0
  315. package/build-style/form-submit-button/style.css +3 -0
  316. package/build-style/freeform/editor-rtl.css +3 -0
  317. package/build-style/freeform/editor.css +3 -0
  318. package/build-style/gallery/editor-rtl.css +3 -1
  319. package/build-style/gallery/editor.css +3 -1
  320. package/build-style/gallery/style-rtl.css +3 -0
  321. package/build-style/gallery/style.css +3 -0
  322. package/build-style/gallery/theme-rtl.css +3 -0
  323. package/build-style/gallery/theme.css +3 -0
  324. package/build-style/group/editor-rtl.css +3 -11
  325. package/build-style/group/editor.css +3 -11
  326. package/build-style/group/style-rtl.css +3 -0
  327. package/build-style/group/style.css +3 -0
  328. package/build-style/group/theme-rtl.css +3 -0
  329. package/build-style/group/theme.css +3 -0
  330. package/build-style/heading/style-rtl.css +3 -0
  331. package/build-style/heading/style.css +3 -0
  332. package/build-style/html/editor-rtl.css +3 -0
  333. package/build-style/html/editor.css +3 -0
  334. package/build-style/image/editor-rtl.css +11 -0
  335. package/build-style/image/editor.css +11 -0
  336. package/build-style/image/style-rtl.css +3 -0
  337. package/build-style/image/style.css +3 -0
  338. package/build-style/image/theme-rtl.css +3 -0
  339. package/build-style/image/theme.css +3 -0
  340. package/build-style/latest-comments/style-rtl.css +3 -0
  341. package/build-style/latest-comments/style.css +3 -0
  342. package/build-style/latest-posts/editor-rtl.css +3 -3
  343. package/build-style/latest-posts/editor.css +3 -3
  344. package/build-style/latest-posts/style-rtl.css +3 -0
  345. package/build-style/latest-posts/style.css +3 -0
  346. package/build-style/list/style-rtl.css +3 -0
  347. package/build-style/list/style.css +3 -0
  348. package/build-style/loginout/style-rtl.css +94 -0
  349. package/build-style/loginout/style.css +94 -0
  350. package/build-style/media-text/editor-rtl.css +3 -0
  351. package/build-style/media-text/editor.css +3 -0
  352. package/build-style/media-text/style-rtl.css +3 -0
  353. package/build-style/media-text/style.css +3 -0
  354. package/build-style/more/editor-rtl.css +3 -0
  355. package/build-style/more/editor.css +3 -0
  356. package/build-style/navigation/editor-rtl.css +3 -12
  357. package/build-style/navigation/editor.css +3 -12
  358. package/build-style/navigation/style-rtl.css +3 -0
  359. package/build-style/navigation/style.css +3 -0
  360. package/build-style/navigation-link/editor-rtl.css +3 -0
  361. package/build-style/navigation-link/editor.css +3 -0
  362. package/build-style/navigation-link/style-rtl.css +3 -0
  363. package/build-style/navigation-link/style.css +3 -0
  364. package/build-style/navigation-submenu/editor-rtl.css +3 -0
  365. package/build-style/navigation-submenu/editor.css +3 -0
  366. package/build-style/nextpage/editor-rtl.css +3 -0
  367. package/build-style/nextpage/editor.css +3 -0
  368. package/build-style/page-list/editor-rtl.css +3 -0
  369. package/build-style/page-list/editor.css +3 -0
  370. package/build-style/page-list/style-rtl.css +3 -0
  371. package/build-style/page-list/style.css +3 -0
  372. package/build-style/paragraph/editor-rtl.css +3 -0
  373. package/build-style/paragraph/editor.css +3 -0
  374. package/build-style/paragraph/style-rtl.css +3 -0
  375. package/build-style/paragraph/style.css +3 -0
  376. package/build-style/post-author/style-rtl.css +3 -0
  377. package/build-style/post-author/style.css +3 -0
  378. package/build-style/post-comments-form/editor-rtl.css +3 -0
  379. package/build-style/post-comments-form/editor.css +3 -0
  380. package/build-style/post-comments-form/style-rtl.css +3 -0
  381. package/build-style/post-comments-form/style.css +3 -0
  382. package/build-style/post-content/editor-rtl.css +3 -0
  383. package/build-style/post-content/editor.css +3 -0
  384. package/build-style/post-content/style-rtl.css +96 -0
  385. package/build-style/post-content/style.css +96 -0
  386. package/build-style/post-date/style-rtl.css +3 -0
  387. package/build-style/post-date/style.css +3 -0
  388. package/build-style/post-excerpt/editor-rtl.css +3 -0
  389. package/build-style/post-excerpt/editor.css +3 -0
  390. package/build-style/post-excerpt/style-rtl.css +4 -0
  391. package/build-style/post-excerpt/style.css +4 -0
  392. package/build-style/post-featured-image/editor-rtl.css +3 -0
  393. package/build-style/post-featured-image/editor.css +3 -0
  394. package/build-style/post-featured-image/style-rtl.css +3 -0
  395. package/build-style/post-featured-image/style.css +3 -0
  396. package/build-style/post-navigation-link/style-rtl.css +3 -0
  397. package/build-style/post-navigation-link/style.css +3 -0
  398. package/build-style/post-template/editor-rtl.css +3 -0
  399. package/build-style/post-template/editor.css +3 -0
  400. package/build-style/post-template/style-rtl.css +3 -0
  401. package/build-style/post-template/style.css +3 -0
  402. package/build-style/post-terms/style-rtl.css +3 -0
  403. package/build-style/post-terms/style.css +3 -0
  404. package/build-style/post-time-to-read/style-rtl.css +3 -0
  405. package/build-style/post-time-to-read/style.css +3 -0
  406. package/build-style/post-title/style-rtl.css +3 -0
  407. package/build-style/post-title/style.css +3 -0
  408. package/build-style/preformatted/style-rtl.css +3 -0
  409. package/build-style/preformatted/style.css +3 -0
  410. package/build-style/pullquote/editor-rtl.css +3 -0
  411. package/build-style/pullquote/editor.css +3 -0
  412. package/build-style/pullquote/style-rtl.css +3 -0
  413. package/build-style/pullquote/style.css +3 -0
  414. package/build-style/pullquote/theme-rtl.css +3 -0
  415. package/build-style/pullquote/theme.css +3 -0
  416. package/build-style/query/editor-rtl.css +3 -0
  417. package/build-style/query/editor.css +3 -0
  418. package/build-style/query-pagination/editor-rtl.css +3 -0
  419. package/build-style/query-pagination/editor.css +3 -0
  420. package/build-style/query-pagination/style-rtl.css +3 -0
  421. package/build-style/query-pagination/style.css +3 -0
  422. package/build-style/query-pagination-numbers/editor-rtl.css +3 -0
  423. package/build-style/query-pagination-numbers/editor.css +3 -0
  424. package/build-style/query-title/style-rtl.css +3 -0
  425. package/build-style/query-title/style.css +3 -0
  426. package/build-style/quote/style-rtl.css +3 -0
  427. package/build-style/quote/style.css +3 -0
  428. package/build-style/quote/theme-rtl.css +6 -3
  429. package/build-style/quote/theme.css +6 -3
  430. package/build-style/read-more/style-rtl.css +3 -0
  431. package/build-style/read-more/style.css +3 -0
  432. package/build-style/reset-rtl.css +3 -0
  433. package/build-style/reset.css +3 -0
  434. package/build-style/rss/editor-rtl.css +3 -0
  435. package/build-style/rss/editor.css +3 -0
  436. package/build-style/rss/style-rtl.css +3 -0
  437. package/build-style/rss/style.css +3 -0
  438. package/build-style/search/editor-rtl.css +3 -0
  439. package/build-style/search/editor.css +3 -0
  440. package/build-style/search/style-rtl.css +3 -0
  441. package/build-style/search/style.css +3 -0
  442. package/build-style/search/theme-rtl.css +3 -0
  443. package/build-style/search/theme.css +3 -0
  444. package/build-style/separator/editor-rtl.css +3 -0
  445. package/build-style/separator/editor.css +3 -0
  446. package/build-style/separator/style-rtl.css +3 -0
  447. package/build-style/separator/style.css +3 -0
  448. package/build-style/separator/theme-rtl.css +3 -0
  449. package/build-style/separator/theme.css +3 -0
  450. package/build-style/shortcode/editor-rtl.css +3 -0
  451. package/build-style/shortcode/editor.css +3 -0
  452. package/build-style/site-logo/editor-rtl.css +3 -0
  453. package/build-style/site-logo/editor.css +3 -0
  454. package/build-style/site-logo/style-rtl.css +3 -0
  455. package/build-style/site-logo/style.css +3 -0
  456. package/build-style/site-tagline/editor-rtl.css +3 -0
  457. package/build-style/site-tagline/editor.css +3 -0
  458. package/build-style/site-tagline/style-rtl.css +94 -0
  459. package/build-style/site-tagline/style.css +94 -0
  460. package/build-style/site-title/editor-rtl.css +3 -0
  461. package/build-style/site-title/editor.css +3 -0
  462. package/build-style/site-title/style-rtl.css +7 -1
  463. package/build-style/site-title/style.css +7 -1
  464. package/build-style/social-link/editor-rtl.css +3 -0
  465. package/build-style/social-link/editor.css +3 -0
  466. package/build-style/social-links/editor-rtl.css +3 -0
  467. package/build-style/social-links/editor.css +3 -0
  468. package/build-style/social-links/style-rtl.css +3 -0
  469. package/build-style/social-links/style.css +3 -0
  470. package/build-style/spacer/editor-rtl.css +3 -0
  471. package/build-style/spacer/editor.css +3 -0
  472. package/build-style/spacer/style-rtl.css +3 -0
  473. package/build-style/spacer/style.css +3 -0
  474. package/build-style/style-rtl.css +27 -1
  475. package/build-style/style.css +27 -1
  476. package/build-style/table/editor-rtl.css +3 -0
  477. package/build-style/table/editor.css +3 -0
  478. package/build-style/table/style-rtl.css +3 -0
  479. package/build-style/table/style.css +3 -0
  480. package/build-style/table/theme-rtl.css +3 -0
  481. package/build-style/table/theme.css +3 -0
  482. package/build-style/table-of-contents/style-rtl.css +94 -0
  483. package/build-style/table-of-contents/style.css +94 -0
  484. package/build-style/tag-cloud/editor-rtl.css +95 -0
  485. package/build-style/tag-cloud/editor.css +95 -0
  486. package/build-style/tag-cloud/style-rtl.css +3 -0
  487. package/build-style/tag-cloud/style.css +3 -0
  488. package/build-style/template-part/editor-rtl.css +3 -0
  489. package/build-style/template-part/editor.css +3 -0
  490. package/build-style/template-part/theme-rtl.css +3 -0
  491. package/build-style/template-part/theme.css +3 -0
  492. package/build-style/term-description/style-rtl.css +3 -0
  493. package/build-style/term-description/style.css +3 -0
  494. package/build-style/text-columns/editor-rtl.css +3 -0
  495. package/build-style/text-columns/editor.css +3 -0
  496. package/build-style/text-columns/style-rtl.css +3 -0
  497. package/build-style/text-columns/style.css +3 -0
  498. package/build-style/theme-rtl.css +6 -3
  499. package/build-style/theme.css +6 -3
  500. package/build-style/verse/style-rtl.css +3 -0
  501. package/build-style/verse/style.css +3 -0
  502. package/build-style/video/editor-rtl.css +3 -3
  503. package/build-style/video/editor.css +3 -3
  504. package/build-style/video/style-rtl.css +3 -0
  505. package/build-style/video/style.css +3 -0
  506. package/build-style/video/theme-rtl.css +3 -0
  507. package/build-style/video/theme.css +3 -0
  508. package/package.json +35 -35
  509. package/src/avatar/edit.js +1 -0
  510. package/src/button/index.php +1 -14
  511. package/src/categories/block.json +12 -0
  512. package/src/column/block.json +2 -0
  513. package/src/column/edit.js +2 -2
  514. package/src/comment-template/block.json +12 -0
  515. package/src/comments-title/block.json +3 -0
  516. package/src/comments-title/edit.js +8 -1
  517. package/src/details/edit.js +1 -0
  518. package/src/editor.scss +1 -0
  519. package/src/form/edit.js +3 -2
  520. package/src/form-input/edit.js +1 -0
  521. package/src/form-input/style.scss +1 -0
  522. package/src/gallery/edit.js +75 -13
  523. package/src/gallery/editor.scss +0 -1
  524. package/src/gallery/gap-styles.js +1 -8
  525. package/src/gallery/test/__snapshots__/index.native.js.snap +1 -1
  526. package/src/gallery/test/index.native.js +5 -5
  527. package/src/gallery/use-image-sizes.js +2 -2
  528. package/src/group/editor.scss +1 -1
  529. package/src/group/index.js +26 -29
  530. package/src/group/variations.js +56 -0
  531. package/src/heading/block.json +3 -0
  532. package/src/heading/edit.js +3 -1
  533. package/src/image/editor.scss +12 -0
  534. package/src/image/view.js +1 -1
  535. package/src/latest-posts/edit.js +1 -0
  536. package/src/latest-posts/editor.scss +0 -4
  537. package/src/list/block.json +1 -1
  538. package/src/list/ordered-list-settings.js +20 -18
  539. package/src/list/test/edit.native.js +1 -3
  540. package/src/list-item/block.json +3 -2
  541. package/src/loginout/block.json +14 -1
  542. package/src/loginout/style.scss +4 -0
  543. package/src/media-text/style.native.scss +2 -0
  544. package/src/navigation/edit/index.js +5 -5
  545. package/src/navigation/editor.scss +0 -1
  546. package/src/post-comments-form/block.json +12 -0
  547. package/src/post-content/block.json +1 -0
  548. package/src/post-content/style.scss +5 -0
  549. package/src/post-date/block.json +12 -0
  550. package/src/post-excerpt/block.json +12 -0
  551. package/src/post-excerpt/style.scss +3 -0
  552. package/src/post-navigation-link/edit.js +2 -0
  553. package/src/post-terms/block.json +12 -0
  554. package/src/post-time-to-read/block.json +6 -0
  555. package/src/post-title/block.json +15 -0
  556. package/src/post-title/edit.js +4 -3
  557. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  558. package/src/query/edit/inspector-controls/index.js +85 -12
  559. package/src/query/edit/inspector-controls/offset-controls.js +31 -0
  560. package/src/query/edit/inspector-controls/pages-control.js +27 -0
  561. package/src/query/edit/inspector-controls/per-page-control.js +33 -0
  562. package/src/query/edit/inspector-controls/sticky-control.js +1 -1
  563. package/src/query/edit/query-toolbar.js +1 -90
  564. package/src/query/utils.js +9 -5
  565. package/src/query-title/block.json +3 -0
  566. package/src/query-title/edit.js +9 -1
  567. package/src/quote/theme.scss +5 -3
  568. package/src/site-logo/edit.js +23 -9
  569. package/src/site-tagline/block.json +12 -1
  570. package/src/site-tagline/edit.js +2 -4
  571. package/src/site-tagline/style.scss +4 -0
  572. package/src/site-title/block.json +10 -0
  573. package/src/site-title/edit.js +2 -4
  574. package/src/site-title/style.scss +7 -2
  575. package/src/social-link/edit.js +0 -1
  576. package/src/spacer/controls.js +10 -13
  577. package/src/style.scss +4 -0
  578. package/src/table-of-contents/block.json +14 -1
  579. package/src/table-of-contents/style.scss +4 -0
  580. package/src/tag-cloud/block.json +1 -1
  581. package/src/tag-cloud/edit.js +46 -34
  582. package/src/tag-cloud/editor.scss +9 -0
  583. package/src/template-part/edit/index.js +10 -7
  584. package/src/template-part/edit/inner-blocks.js +6 -4
  585. package/src/video/editor.scss +0 -4
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { ToolbarGroup, Dropdown, ToolbarButton, __experimentalNumberControl as NumberControl } from '@wordpress/components';
4
+ import { ToolbarGroup, ToolbarButton } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { settings } from '@wordpress/icons';
7
6
 
8
7
  /**
9
8
  * Internal dependencies
@@ -11,93 +10,20 @@ import { settings } from '@wordpress/icons';
11
10
  import { usePatterns } from '../utils';
12
11
  import { jsx as _jsx } from "react/jsx-runtime";
13
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
13
  export default function QueryToolbar({
16
- attributes: {
17
- query
18
- },
19
- setQuery,
20
14
  openPatternSelectionModal,
21
15
  name,
22
16
  clientId
23
17
  }) {
24
18
  const hasPatterns = !!usePatterns(clientId, name).length;
25
- return /*#__PURE__*/_jsxs(_Fragment, {
26
- children: [!query.inherit && /*#__PURE__*/_jsx(ToolbarGroup, {
27
- children: /*#__PURE__*/_jsx(Dropdown, {
28
- contentClassName: "block-library-query-toolbar__popover",
29
- renderToggle: ({
30
- onToggle
31
- }) => /*#__PURE__*/_jsx(ToolbarButton, {
32
- icon: settings,
33
- label: __('Display settings'),
34
- onClick: onToggle
35
- }),
36
- renderContent: () => /*#__PURE__*/_jsxs(_Fragment, {
37
- children: [/*#__PURE__*/_jsx(NumberControl, {
38
- __unstableInputWidth: "60px",
39
- className: "block-library-query-toolbar__popover-number-control",
40
- label: __('Items per Page'),
41
- labelPosition: "edge",
42
- min: 1,
43
- max: 100,
44
- onChange: value => {
45
- if (isNaN(value) || value < 1 || value > 100) {
46
- return;
47
- }
48
- setQuery({
49
- perPage: value
50
- });
51
- },
52
- step: "1",
53
- value: query.perPage,
54
- isDragEnabled: false
55
- }), /*#__PURE__*/_jsx(NumberControl, {
56
- __unstableInputWidth: "60px",
57
- className: "block-library-query-toolbar__popover-number-control",
58
- label: __('Offset'),
59
- labelPosition: "edge",
60
- min: 0,
61
- max: 100,
62
- onChange: value => {
63
- if (isNaN(value) || value < 0 || value > 100) {
64
- return;
65
- }
66
- setQuery({
67
- offset: value
68
- });
69
- },
70
- step: "1",
71
- value: query.offset,
72
- isDragEnabled: false
73
- }), /*#__PURE__*/_jsx(NumberControl, {
74
- __unstableInputWidth: "60px",
75
- className: "block-library-query-toolbar__popover-number-control",
76
- label: __('Max pages to show'),
77
- labelPosition: "edge",
78
- min: 0,
79
- onChange: value => {
80
- if (isNaN(value) || value < 0) {
81
- return;
82
- }
83
- setQuery({
84
- pages: value
85
- });
86
- },
87
- step: "1",
88
- value: query.pages,
89
- isDragEnabled: false,
90
- help: __('Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).')
91
- })]
92
- })
93
- })
94
- }), hasPatterns && /*#__PURE__*/_jsx(ToolbarGroup, {
19
+ return /*#__PURE__*/_jsx(_Fragment, {
20
+ children: hasPatterns && /*#__PURE__*/_jsx(ToolbarGroup, {
95
21
  className: "wp-block-template-part__block-control-group",
96
22
  children: /*#__PURE__*/_jsx(ToolbarButton, {
97
23
  onClick: openPatternSelectionModal,
98
24
  children: __('Replace')
99
25
  })
100
- })]
26
+ })
101
27
  });
102
28
  }
103
29
  //# sourceMappingURL=query-toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarGroup","Dropdown","ToolbarButton","__experimentalNumberControl","NumberControl","__","settings","usePatterns","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","QueryToolbar","attributes","query","setQuery","openPatternSelectionModal","name","clientId","hasPatterns","length","children","inherit","contentClassName","renderToggle","onToggle","icon","label","onClick","renderContent","__unstableInputWidth","className","labelPosition","min","max","onChange","value","isNaN","perPage","step","isDragEnabled","offset","pages","help"],"sources":["@wordpress/block-library/src/query/edit/query-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToolbarGroup,\n\tDropdown,\n\tToolbarButton,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { usePatterns } from '../utils';\n\nexport default function QueryToolbar( {\n\tattributes: { query },\n\tsetQuery,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst hasPatterns = !! usePatterns( clientId, name ).length;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! query.inherit && (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tcontentClassName=\"block-library-query-toolbar__popover\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\t\tlabel={ __( 'Display settings' ) }\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"60px\"\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-query-toolbar__popover-number-control\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Items per Page' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tisNaN( value ) ||\n\t\t\t\t\t\t\t\t\t\t\tvalue < 1 ||\n\t\t\t\t\t\t\t\t\t\t\tvalue > 100\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\t\t\tperPage: value,\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\tstep=\"1\"\n\t\t\t\t\t\t\t\t\tvalue={ query.perPage }\n\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"60px\"\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-query-toolbar__popover-number-control\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Offset' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tisNaN( value ) ||\n\t\t\t\t\t\t\t\t\t\t\tvalue < 0 ||\n\t\t\t\t\t\t\t\t\t\t\tvalue > 100\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetQuery( { offset: value } );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t\t\t\tvalue={ query.offset }\n\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"60px\"\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-query-toolbar__popover-number-control\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Max pages to show' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isNaN( value ) || value < 0 ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetQuery( { pages: value } );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t\t\t\tvalue={ query.pages }\n\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).'\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</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\t{ hasPatterns && (\n\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t<ToolbarButton onClick={ openPatternSelectionModal }>\n\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ToolbarGroup","ToolbarButton","__","usePatterns","jsx","_jsx","Fragment","_Fragment","QueryToolbar","openPatternSelectionModal","name","clientId","hasPatterns","length","children","className","onClick"],"sources":["@wordpress/block-library/src/query/edit/query-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { usePatterns } from '../utils';\n\nexport default function QueryToolbar( {\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst hasPatterns = !! usePatterns( clientId, name ).length;\n\n\treturn (\n\t\t<>\n\t\t\t{ hasPatterns && (\n\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t<ToolbarButton onClick={ openPatternSelectionModal }>\n\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,aAAa,QAAQ,uBAAuB;AACnE,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEvC,eAAe,SAASC,YAAYA,CAAE;EACrCC,yBAAyB;EACzBC,IAAI;EACJC;AACD,CAAC,EAAG;EACH,MAAMC,WAAW,GAAG,CAAC,CAAET,WAAW,CAAEQ,QAAQ,EAAED,IAAK,CAAC,CAACG,MAAM;EAE3D,oBACCR,IAAA,CAAAE,SAAA;IAAAO,QAAA,EACGF,WAAW,iBACZP,IAAA,CAACL,YAAY;MAACe,SAAS,EAAC,6CAA6C;MAAAD,QAAA,eACpET,IAAA,CAACJ,aAAa;QAACe,OAAO,EAAGP,yBAA2B;QAAAK,QAAA,EACjDZ,EAAE,CAAE,SAAU;MAAC,CACH;IAAC,CACH;EACd,CACA,CAAC;AAEL","ignoreList":[]}
@@ -143,12 +143,17 @@ export const usePostTypes = () => {
143
143
  export const useTaxonomies = postType => {
144
144
  const taxonomies = useSelect(select => {
145
145
  const {
146
- getTaxonomies
146
+ getTaxonomies,
147
+ getPostType
147
148
  } = select(coreStore);
148
- return getTaxonomies({
149
- type: postType,
150
- per_page: -1
151
- });
149
+ // Does the post type have taxonomies?
150
+ if (getPostType(postType)?.taxonomies?.length > 0) {
151
+ return getTaxonomies({
152
+ type: postType,
153
+ per_page: -1
154
+ });
155
+ }
156
+ return [];
152
157
  }, [postType]);
153
158
  return useMemo(() => {
154
159
  return taxonomies?.filter(({
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useMemo","store","coreStore","blockEditorStore","decodeEntities","cloneBlock","getBlockSupport","blocksStore","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","useTaxonomies","postType","getTaxonomies","visibility","publicly_queryable","useIsPostTypeHierarchical","getPostType","hierarchical","useAllowedControls","attributes","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","namespace","clonedBlocks","block","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","blockSupportsInteractivity","Object","is","blockSupportsInteractivityClientNavigation","blockInteractivity","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks"],"sources":["@wordpress/block-library/src/query/utils.js"],"sourcesContent":["/**\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 {\n\tcloneBlock,\n\tgetBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\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 return a value from a certain path of the object.\n * Path is specified as a string of properties, separated by dots,\n * for example: \"parent.child\".\n *\n * @param {Object} object Input object.\n * @param {string} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path ) => {\n\tconst normalizedPath = path.split( '.' );\n\tlet value = object;\n\tnormalizedPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\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( getValueFromObjectPath( 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 ) {\n\t\t\treturn;\n\t\t}\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\treturn getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => !! visibility?.publicly_queryable\n\t\t);\n\t}, [ 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\t'core/query',\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\tnamespace,\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\tif ( namespace ) {\n\t\t\t\tblock.attributes.namespace = namespace;\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\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.name,\n\t\t[ attributes ]\n\t);\n\tconst blockName = `core/query/${ activeVariationName }`;\n\tconst hasActiveVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst activePatterns = getPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\treturn activePatterns.length > 0;\n\t\t},\n\t\t[ clientId, activeVariationName, blockName ]\n\t);\n\treturn hasActiveVariationPatterns ? blockName : 'core/query';\n}\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific scoped `block` variations connected with\n * this variation.\n *\n * If there are, these variations are going to be the only ones suggested\n * to the user in setup flow when clicking to `start blank`, without including\n * the default ones for Query Loop.\n *\n * If there are no such scoped `block` variations, the default ones for Query\n * Loop are going to be suggested.\n *\n * The way we determine such variations is with the convention that they have the `namespace`\n * attribute defined as an array. This array should contain the names(`name` property) of any\n * variations they want to be connected to.\n * For example, if we have a `Query Loop` scoped `inserter` variation with the name `products`,\n * we can connect a scoped `block` variation by setting its `namespace` attribute to `['products']`.\n * If the user selects this variation, the `namespace` attribute will be overridden by the\n * main `inserter` variation.\n *\n * @param {Object} attributes The block's attributes.\n * @return {WPBlockVariation[]} The block variations to be suggested in setup flow, when clicking to `start blank`.\n */\nexport function useScopedBlockVariations( attributes ) {\n\tconst { activeVariationName, blockVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\treturn {\n\t\t\t\tactiveVariationName: getActiveBlockVariation(\n\t\t\t\t\t'core/query',\n\t\t\t\t\tattributes\n\t\t\t\t)?.name,\n\t\t\t\tblockVariations: getBlockVariations( 'core/query', 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ attributes ]\n\t);\n\tconst variations = useMemo( () => {\n\t\t// Filter out the variations that have defined a `namespace` attribute,\n\t\t// which means they are 'connected' to specific variations of the block.\n\t\tconst isNotConnected = ( variation ) =>\n\t\t\t! variation.attributes?.namespace;\n\t\tif ( ! activeVariationName ) {\n\t\t\treturn blockVariations.filter( isNotConnected );\n\t\t}\n\t\tconst connectedVariations = blockVariations.filter( ( variation ) =>\n\t\t\tvariation.attributes?.namespace?.includes( activeVariationName )\n\t\t);\n\t\tif ( !! connectedVariations.length ) {\n\t\t\treturn connectedVariations;\n\t\t}\n\t\treturn blockVariations.filter( isNotConnected );\n\t}, [ activeVariationName, blockVariations ] );\n\treturn variations;\n}\n\n/**\n * Hook that returns the block patterns for a specific block type.\n *\n * @param {string} clientId The block's client ID.\n * @param {string} name The block type name.\n * @return {Object[]} An array of valid block patterns.\n */\nexport const usePatterns = ( clientId, name ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( name, rootClientId );\n\t\t},\n\t\t[ name, clientId ]\n\t);\n};\n\n/**\n * The object returned by useUnsupportedBlocks with info about the type of\n * unsupported blocks present inside the Query block.\n *\n * @typedef {Object} UnsupportedBlocksInfo\n * @property {boolean} hasBlocksFromPlugins True if blocks from plugins are present.\n * @property {boolean} hasPostContentBlock True if a 'core/post-content' block is present.\n * @property {boolean} hasUnsupportedBlocks True if there are any unsupported blocks.\n */\n\n/**\n * Hook that returns an object with information about the unsupported blocks\n * present inside a Query Loop with the given `clientId`. The returned object\n * contains props that are true when a certain type of unsupported block is\n * present.\n *\n * @param {string} clientId The block's client ID.\n * @return {UnsupportedBlocksInfo} The object containing the information.\n */\nexport const useUnsupportedBlocks = ( clientId ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getClientIdsOfDescendants, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blocks = {};\n\t\t\tgetClientIdsOfDescendants( clientId ).forEach(\n\t\t\t\t( descendantClientId ) => {\n\t\t\t\t\tconst blockName = getBlockName( descendantClientId );\n\t\t\t\t\t/*\n\t\t\t\t\t * Client side navigation can be true in two states:\n\t\t\t\t\t * - supports.interactivity = true;\n\t\t\t\t\t * - supports.interactivity.clientNavigation = true;\n\t\t\t\t\t */\n\t\t\t\t\tconst blockSupportsInteractivity = Object.is(\n\t\t\t\t\t\tgetBlockSupport( blockName, 'interactivity' ),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tconst blockSupportsInteractivityClientNavigation =\n\t\t\t\t\t\tgetBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'interactivity.clientNavigation'\n\t\t\t\t\t\t);\n\t\t\t\t\tconst blockInteractivity =\n\t\t\t\t\t\tblockSupportsInteractivity ||\n\t\t\t\t\t\tblockSupportsInteractivityClientNavigation;\n\t\t\t\t\tif ( ! blockInteractivity ) {\n\t\t\t\t\t\tblocks.hasBlocksFromPlugins = true;\n\t\t\t\t\t} else if ( blockName === 'core/post-content' ) {\n\t\t\t\t\t\tblocks.hasPostContentBlock = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tblocks.hasUnsupportedBlocks =\n\t\t\t\tblocks.hasBlocksFromPlugins || blocks.hasPostContentBlock;\n\t\t\treturn blocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","blockEditorStore","decodeEntities","cloneBlock","getBlockSupport","blocksStore","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","usePostTypes","postTypes","select","getPostTypes","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","useTaxonomies","postType","getTaxonomies","getPostType","visibility","publicly_queryable","useIsPostTypeHierarchical","hierarchical","useAllowedControls","attributes","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","namespace","clonedBlocks","block","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","blockSupportsInteractivity","Object","is","blockSupportsInteractivityClientNavigation","blockInteractivity","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks"],"sources":["@wordpress/block-library/src/query/utils.js"],"sourcesContent":["/**\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 {\n\tcloneBlock,\n\tgetBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\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 return a value from a certain path of the object.\n * Path is specified as a string of properties, separated by dots,\n * for example: \"parent.child\".\n *\n * @param {Object} object Input object.\n * @param {string} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nexport const getValueFromObjectPath = ( object, path ) => {\n\tconst normalizedPath = path.split( '.' );\n\tlet value = object;\n\tnormalizedPath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\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( getValueFromObjectPath( 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 ) {\n\t\t\treturn;\n\t\t}\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, getPostType } = select( coreStore );\n\t\t\t// Does the post type have taxonomies?\n\t\t\tif ( getPostType( postType )?.taxonomies?.length > 0 ) {\n\t\t\t\treturn getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => !! visibility?.publicly_queryable\n\t\t);\n\t}, [ 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\t'core/query',\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\tnamespace,\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\tif ( namespace ) {\n\t\t\t\tblock.attributes.namespace = namespace;\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\t'core/query',\n\t\t\t\tattributes\n\t\t\t)?.name,\n\t\t[ attributes ]\n\t);\n\tconst blockName = `core/query/${ activeVariationName }`;\n\tconst hasActiveVariationPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! activeVariationName ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst activePatterns = getPatternsByBlockTypes(\n\t\t\t\tblockName,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\treturn activePatterns.length > 0;\n\t\t},\n\t\t[ clientId, activeVariationName, blockName ]\n\t);\n\treturn hasActiveVariationPatterns ? blockName : 'core/query';\n}\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific scoped `block` variations connected with\n * this variation.\n *\n * If there are, these variations are going to be the only ones suggested\n * to the user in setup flow when clicking to `start blank`, without including\n * the default ones for Query Loop.\n *\n * If there are no such scoped `block` variations, the default ones for Query\n * Loop are going to be suggested.\n *\n * The way we determine such variations is with the convention that they have the `namespace`\n * attribute defined as an array. This array should contain the names(`name` property) of any\n * variations they want to be connected to.\n * For example, if we have a `Query Loop` scoped `inserter` variation with the name `products`,\n * we can connect a scoped `block` variation by setting its `namespace` attribute to `['products']`.\n * If the user selects this variation, the `namespace` attribute will be overridden by the\n * main `inserter` variation.\n *\n * @param {Object} attributes The block's attributes.\n * @return {WPBlockVariation[]} The block variations to be suggested in setup flow, when clicking to `start blank`.\n */\nexport function useScopedBlockVariations( attributes ) {\n\tconst { activeVariationName, blockVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\treturn {\n\t\t\t\tactiveVariationName: getActiveBlockVariation(\n\t\t\t\t\t'core/query',\n\t\t\t\t\tattributes\n\t\t\t\t)?.name,\n\t\t\t\tblockVariations: getBlockVariations( 'core/query', 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ attributes ]\n\t);\n\tconst variations = useMemo( () => {\n\t\t// Filter out the variations that have defined a `namespace` attribute,\n\t\t// which means they are 'connected' to specific variations of the block.\n\t\tconst isNotConnected = ( variation ) =>\n\t\t\t! variation.attributes?.namespace;\n\t\tif ( ! activeVariationName ) {\n\t\t\treturn blockVariations.filter( isNotConnected );\n\t\t}\n\t\tconst connectedVariations = blockVariations.filter( ( variation ) =>\n\t\t\tvariation.attributes?.namespace?.includes( activeVariationName )\n\t\t);\n\t\tif ( !! connectedVariations.length ) {\n\t\t\treturn connectedVariations;\n\t\t}\n\t\treturn blockVariations.filter( isNotConnected );\n\t}, [ activeVariationName, blockVariations ] );\n\treturn variations;\n}\n\n/**\n * Hook that returns the block patterns for a specific block type.\n *\n * @param {string} clientId The block's client ID.\n * @param {string} name The block type name.\n * @return {Object[]} An array of valid block patterns.\n */\nexport const usePatterns = ( clientId, name ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( name, rootClientId );\n\t\t},\n\t\t[ name, clientId ]\n\t);\n};\n\n/**\n * The object returned by useUnsupportedBlocks with info about the type of\n * unsupported blocks present inside the Query block.\n *\n * @typedef {Object} UnsupportedBlocksInfo\n * @property {boolean} hasBlocksFromPlugins True if blocks from plugins are present.\n * @property {boolean} hasPostContentBlock True if a 'core/post-content' block is present.\n * @property {boolean} hasUnsupportedBlocks True if there are any unsupported blocks.\n */\n\n/**\n * Hook that returns an object with information about the unsupported blocks\n * present inside a Query Loop with the given `clientId`. The returned object\n * contains props that are true when a certain type of unsupported block is\n * present.\n *\n * @param {string} clientId The block's client ID.\n * @return {UnsupportedBlocksInfo} The object containing the information.\n */\nexport const useUnsupportedBlocks = ( clientId ) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getClientIdsOfDescendants, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blocks = {};\n\t\t\tgetClientIdsOfDescendants( clientId ).forEach(\n\t\t\t\t( descendantClientId ) => {\n\t\t\t\t\tconst blockName = getBlockName( descendantClientId );\n\t\t\t\t\t/*\n\t\t\t\t\t * Client side navigation can be true in two states:\n\t\t\t\t\t * - supports.interactivity = true;\n\t\t\t\t\t * - supports.interactivity.clientNavigation = true;\n\t\t\t\t\t */\n\t\t\t\t\tconst blockSupportsInteractivity = Object.is(\n\t\t\t\t\t\tgetBlockSupport( blockName, 'interactivity' ),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tconst blockSupportsInteractivityClientNavigation =\n\t\t\t\t\t\tgetBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'interactivity.clientNavigation'\n\t\t\t\t\t\t);\n\t\t\t\t\tconst blockInteractivity =\n\t\t\t\t\t\tblockSupportsInteractivity ||\n\t\t\t\t\t\tblockSupportsInteractivityClientNavigation;\n\t\t\t\t\tif ( ! blockInteractivity ) {\n\t\t\t\t\t\tblocks.hasBlocksFromPlugins = true;\n\t\t\t\t\t} else if ( blockName === 'core/post-content' ) {\n\t\t\t\t\t\tblocks.hasPostContentBlock = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tblocks.hasUnsupportedBlocks =\n\t\t\t\tblocks.hasBlocksFromPlugins || blocks.hasPostContentBlock;\n\t\t\treturn blocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,7 @@ export default function QueryTitleEdit({
22
22
  attributes: {
23
23
  type,
24
24
  level,
25
+ levelOptions,
25
26
  textAlign,
26
27
  showPrefix,
27
28
  showSearchTerm
@@ -111,6 +112,7 @@ export default function QueryTitleEdit({
111
112
  group: "block",
112
113
  children: [/*#__PURE__*/_jsx(HeadingLevelDropdown, {
113
114
  value: level,
115
+ options: levelOptions,
114
116
  onChange: newLevel => setAttributes({
115
117
  level: newLevel
116
118
  })
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","HeadingLevelDropdown","ToggleControl","PanelBody","__","sprintf","useArchiveLabel","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeLabel","archiveNameLabel","TagName","blockProps","className","includes","children","titleElement","title","__nextHasNoMarginBottom","label","onChange","checked","group","value","newLevel","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showPrefix, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","HeadingLevelDropdown","ToggleControl","PanelBody","__","sprintf","useArchiveLabel","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","levelOptions","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeLabel","archiveNameLabel","TagName","blockProps","className","includes","children","titleElement","title","__nextHasNoMarginBottom","label","onChange","checked","group","value","options","newLevel","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: {\n\t\ttype,\n\t\tlevel,\n\t\tlevelOptions,\n\t\ttextAlign,\n\t\tshowPrefix,\n\t\tshowSearchTerm,\n\t},\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,9 @@ const metadata = {
26
26
  type: "number",
27
27
  "default": 1
28
28
  },
29
+ levelOptions: {
30
+ type: "array"
31
+ },
29
32
  showPrefix: {
30
33
  type: "boolean",
31
34
  "default": true
@@ -1 +1 @@
1
- {"version":3,"names":["title","icon","initBlock","metadata","$schema","apiVersion","name","category","description","textdomain","attributes","type","textAlign","level","showPrefix","showSearchTerm","supports","align","html","color","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","interactivity","clientNavigation","style","edit","variations","deprecated","settings","init"],"sources":["@wordpress/block-library/src/query-title/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAN,KAAA;EAAAO,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAA,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,UAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,cAAA;MAAAJ,IAAA;MAAA;IAAA;EAAA;EAAAK,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEnC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMoC,QAAQ,GAAG;EACvBzC,IAAI;EACJsC,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMzC,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEuC;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["title","icon","initBlock","metadata","$schema","apiVersion","name","category","description","textdomain","attributes","type","textAlign","level","levelOptions","showPrefix","showSearchTerm","supports","align","html","color","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","interactivity","clientNavigation","style","edit","variations","deprecated","settings","init"],"sources":["@wordpress/block-library/src/query-title/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAN,KAAA;EAAAO,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAA,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;IAAA;IAAAI,UAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,cAAA;MAAAL,IAAA;MAAA;IAAA;EAAA;EAAAM,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEpC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMqC,QAAQ,GAAG;EACvB1C,IAAI;EACJuC,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAM1C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEwC;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -297,6 +297,7 @@ const SiteLogo = ({
297
297
  // This is a light wrapper around MediaReplaceFlow because the block has two
298
298
  // different MediaReplaceFlows, one for the inspector and one for the toolbar.
299
299
  function SiteLogoReplaceFlow({
300
+ mediaURL,
300
301
  onRemoveLogo,
301
302
  ...mediaReplaceProps
302
303
  }) {
@@ -304,8 +305,13 @@ function SiteLogoReplaceFlow({
304
305
  ...mediaReplaceProps,
305
306
  allowedTypes: ALLOWED_MEDIA_TYPES,
306
307
  accept: ACCEPT_MEDIA_STRING,
307
- children: /*#__PURE__*/_jsx(MenuItem, {
308
- onClick: onRemoveLogo,
308
+ children: ({
309
+ onClose
310
+ }) => mediaURL && /*#__PURE__*/_jsx(MenuItem, {
311
+ onClick: () => {
312
+ onRemoveLogo();
313
+ onClose();
314
+ },
309
315
  children: __('Reset')
310
316
  })
311
317
  });
@@ -467,16 +473,18 @@ export default function LogoEdit({
467
473
  }
468
474
  onInitialSelectLogo(image);
469
475
  },
470
- onError: onUploadError
476
+ onError: onUploadError,
477
+ onRemoveLogo
471
478
  });
472
479
  };
473
480
  const mediaReplaceFlowProps = {
474
481
  mediaURL: logoUrl,
482
+ name: !logoUrl ? __('Choose logo') : __('Replace'),
475
483
  onSelect: onSelectLogo,
476
484
  onError: onUploadError,
477
485
  onRemoveLogo
478
486
  };
479
- const controls = canUserEdit && logoUrl && !temporaryURL && /*#__PURE__*/_jsx(BlockControls, {
487
+ const controls = canUserEdit && /*#__PURE__*/_jsx(BlockControls, {
480
488
  group: "other",
481
489
  children: /*#__PURE__*/_jsx(SiteLogoReplaceFlow, {
482
490
  ...mediaReplaceFlowProps
@@ -531,7 +539,6 @@ export default function LogoEdit({
531
539
  const blockProps = useBlockProps({
532
540
  className: classes
533
541
  });
534
- const label = __('Add a site logo');
535
542
  const mediaInspectorPanel = (canUserEdit || logoUrl) && /*#__PURE__*/_jsx(InspectorControls, {
536
543
  children: /*#__PURE__*/_jsx(PanelBody, {
537
544
  title: __('Media'),
@@ -560,7 +567,7 @@ export default function LogoEdit({
560
567
  children: [/*#__PURE__*/_jsx(Button, {
561
568
  onClick: open,
562
569
  variant: "secondary",
563
- children: isLoading ? /*#__PURE__*/_jsx(Spinner, {}) : __('Add media')
570
+ children: isLoading ? /*#__PURE__*/_jsx(Spinner, {}) : __('Choose logo')
564
571
  }), /*#__PURE__*/_jsx(DropZone, {
565
572
  onFilesDrop: onFilesDrop
566
573
  })]
@@ -590,9 +597,9 @@ export default function LogoEdit({
590
597
  return /*#__PURE__*/_jsx(Button, {
591
598
  icon: upload,
592
599
  variant: "primary",
593
- label: label,
600
+ label: __('Choose logo'),
594
601
  showTooltip: true,
595
- tooltipPosition: "top center",
602
+ tooltipPosition: "middle right",
596
603
  onClick: () => {
597
604
  open();
598
605
  }