@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -105,7 +105,7 @@ function PostTitleEdit({
105
105
  }
106
106
  }));
107
107
  }
108
- return (0, _react.createElement)(_react.Fragment, null, blockEditingMode === 'default' && (0, _react.createElement)(_blockEditor.BlockControls, {
108
+ return (0, _react.createElement)(_react.Fragment, null, blockEditingMode === 'default' && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
109
109
  group: "block"
110
110
  }, (0, _react.createElement)(_blockEditor.HeadingLevelDropdown, {
111
111
  value: level,
@@ -142,6 +142,6 @@ function PostTitleEdit({
142
142
  onChange: newRel => setAttributes({
143
143
  rel: newRel
144
144
  })
145
- })))), titleElement);
145
+ }))))), titleElement);
146
146
  }
147
147
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_i18n","_blocks","_coreData","_hooks","PostTitleEdit","attributes","level","textAlign","isLink","rel","linkTarget","setAttributes","context","postType","postId","queryId","insertBlocksAfter","TagName","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawTitle","setTitle","fullTitle","useEntityProp","link","onSplitAtEnd","createBlock","getDefaultBlockName","blockProps","useBlockProps","className","classnames","blockEditingMode","useBlockEditingMode","titleElement","_react","createElement","__","PlainText","tagName","placeholder","value","onChange","__experimentalVersion","__unstableOnSplitAtEnd","dangerouslySetInnerHTML","__html","rendered","href","target","length","onClick","event","preventDefault","Fragment","BlockControls","group","HeadingLevelDropdown","newLevel","AlignmentControl","nextAlign","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","TextControl","newRel"],"sources":["@wordpress/block-library/src/post-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tPlainText,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { ToggleControl, TextControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, textAlign, isLink, rel, linkTarget },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n\tinsertBlocksAfter,\n} ) {\n\tconst TagName = 'h' + level;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\t/**\n\t * Hack: useCanEditEntity may trigger an OPTIONS request to the REST API via the canUser resolver.\n\t * However, when the Post Title is a descendant of a Query Loop block, the title cannot be edited.\n\t * In order to avoid these unnecessary requests, we call the hook without\n\t * the proper data, resulting in returning early without making them.\n\t */\n\tconst userCanEdit = useCanEditEntity(\n\t\t'postType',\n\t\t! isDescendentOfQueryLoop && postType,\n\t\tpostId\n\t);\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst onSplitAtEnd = () => {\n\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) );\n\t};\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tlet titleElement = <TagName { ...blockProps }>{ __( 'Title' ) }</TagName>;\n\n\tif ( postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<PlainText\n\t\t\t\ttagName={ TagName }\n\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\tvalue={ rawTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t) : (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tdangerouslySetInnerHTML={ { __html: fullTitle?.rendered } }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tplaceholder={ ! rawTitle.length ? __( 'No Title' ) : null }\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t) : (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t__html: fullTitle?.rendered,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_i18n","_blocks","_coreData","_hooks","PostTitleEdit","attributes","level","textAlign","isLink","rel","linkTarget","setAttributes","context","postType","postId","queryId","insertBlocksAfter","TagName","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawTitle","setTitle","fullTitle","useEntityProp","link","onSplitAtEnd","createBlock","getDefaultBlockName","blockProps","useBlockProps","className","classnames","blockEditingMode","useBlockEditingMode","titleElement","_react","createElement","__","PlainText","tagName","placeholder","value","onChange","__experimentalVersion","__unstableOnSplitAtEnd","dangerouslySetInnerHTML","__html","rendered","href","target","length","onClick","event","preventDefault","Fragment","BlockControls","group","HeadingLevelDropdown","newLevel","AlignmentControl","nextAlign","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","TextControl","newRel"],"sources":["@wordpress/block-library/src/post-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tPlainText,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { ToggleControl, TextControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, textAlign, isLink, rel, linkTarget },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n\tinsertBlocksAfter,\n} ) {\n\tconst TagName = 'h' + level;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\t/**\n\t * Hack: useCanEditEntity may trigger an OPTIONS request to the REST API via the canUser resolver.\n\t * However, when the Post Title is a descendant of a Query Loop block, the title cannot be edited.\n\t * In order to avoid these unnecessary requests, we call the hook without\n\t * the proper data, resulting in returning early without making them.\n\t */\n\tconst userCanEdit = useCanEditEntity(\n\t\t'postType',\n\t\t! isDescendentOfQueryLoop && postType,\n\t\tpostId\n\t);\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst onSplitAtEnd = () => {\n\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) );\n\t};\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tlet titleElement = <TagName { ...blockProps }>{ __( 'Title' ) }</TagName>;\n\n\tif ( postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<PlainText\n\t\t\t\ttagName={ TagName }\n\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\tvalue={ rawTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t) : (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tdangerouslySetInnerHTML={ { __html: fullTitle?.rendered } }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tplaceholder={ ! rawTitle.length ? __( 'No Title' ) : null }\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t) : (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t__html: fullTitle?.rendered,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_components","_compose","_blockEditor","_i18n","_utils","_searchPatterns","PatternSelectionModal","clientId","attributes","setIsPatternSelectionModalOpen","searchValue","setSearchValue","useState","replaceBlock","selectBlock","useDispatch","blockEditorStore","onBlockPatternSelect","pattern","blocks","newBlocks","queryClientIds","getTransformedBlocksFromPattern","blockPreviewContext","useMemo","previewPostType","query","postType","blockNameForPatterns","useBlockNameForPatterns","blockPatterns","usePatterns","filteredBlockPatterns","searchPatterns","shownBlockPatterns","useAsyncList","_react","createElement","Modal","overlayClassName","title","__","onRequestClose","isFullScreen","className","SearchControl","__nextHasNoMarginBottom","onChange","value","label","placeholder","BlockContextProvider","__experimentalBlockPatternsList","shownPatterns","onClickPattern"],"sources":["@wordpress/block-library/src/query/edit/pattern-selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { Modal, SearchControl } from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockNameForPatterns,\n\tgetTransformedBlocksFromPattern,\n\tusePatterns,\n} from '../utils';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function PatternSelectionModal( {\n\tclientId,\n\tattributes,\n\tsetIsPatternSelectionModalOpen,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst onBlockPatternSelect = ( pattern, blocks ) => {\n\t\tconst { newBlocks, queryClientIds } = getTransformedBlocksFromPattern(\n\t\t\tblocks,\n\t\t\tattributes\n\t\t);\n\t\treplaceBlock( clientId, newBlocks );\n\t\tif ( queryClientIds[ 0 ] ) {\n\t\t\tselectBlock( queryClientIds[ 0 ] );\n\t\t}\n\t};\n\t// When we preview Query Loop blocks we should prefer the current\n\t// block's postType, which is passed through block context.\n\tconst blockPreviewContext = useMemo(\n\t\t() => ( {\n\t\t\tpreviewPostType: attributes.query.postType,\n\t\t} ),\n\t\t[ attributes.query.postType ]\n\t);\n\tconst blockNameForPatterns = useBlockNameForPatterns(\n\t\tclientId,\n\t\tattributes\n\t);\n\tconst blockPatterns = usePatterns( clientId, blockNameForPatterns );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\treturn (\n\t\t<Modal\n\t\t\toverlayClassName=\"block-library-query-pattern__selection-modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tonRequestClose={ () => setIsPatternSelectionModalOpen( false ) }\n\t\t\tisFullScreen={ true }\n\t\t>\n\t\t\t<div className=\"block-library-query-pattern__selection-content\">\n\t\t\t\t<div className=\"block-library-query-pattern__selection-search\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\t\tlabel={ __( 'Search for patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<BlockContextProvider value={ blockPreviewContext }>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ onBlockPatternSelect }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAKA,IAAAO,eAAA,GAAAP,OAAA;AAtBA;AACA;AACA;;AAYA;AACA;AACA;;AAQe,SAASQ,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAM;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACrE,MAAMC,oBAAoB,GAAGA,CAAEC,OAAO,EAAEC,MAAM,KAAM;IACnD,MAAM;MAAEC,SAAS;MAAEC;IAAe,CAAC,GAAG,IAAAC,sCAA+B,EACpEH,MAAM,EACNX,UACD,CAAC;IACDK,YAAY,CAAEN,QAAQ,EAAEa,SAAU,CAAC;IACnC,IAAKC,cAAc,CAAE,CAAC,CAAE,EAAG;MAC1BP,WAAW,CAAEO,cAAc,CAAE,CAAC,CAAG,CAAC;IACnC;EACD,CAAC;EACD;EACA;EACA,MAAME,mBAAmB,GAAG,IAAAC,gBAAO,EAClC,OAAQ;IACPC,eAAe,EAAEjB,UAAU,CAACkB,KAAK,CAACC;EACnC,CAAC,CAAE,EACH,CAAEnB,UAAU,CAACkB,KAAK,CAACC,QAAQ,CAC5B,CAAC;EACD,MAAMC,oBAAoB,GAAG,IAAAC,8BAAuB,EACnDtB,QAAQ,EACRC,UACD,CAAC;EACD,MAAMsB,aAAa,GAAG,IAAAC,kBAAW,EAAExB,QAAQ,EAAEqB,oBAAqB,CAAC;EACnE,MAAMI,qBAAqB,GAAG,IAAAR,gBAAO,EAAE,MAAM;IAC5C,OAAO,IAAAS,8BAAc,EAAEH,aAAa,EAAEpB,WAAY,CAAC;EACpD,CAAC,EAAE,CAAEoB,aAAa,EAAEpB,WAAW,CAAG,CAAC;EACnC,MAAMwB,kBAAkB,GAAG,IAAAC,qBAAY,EAAEH,qBAAsB,CAAC;EAEhE,OACC,IAAAI,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAsC,KAAK;IACLC,gBAAgB,EAAC,8CAA8C;IAC/DC,KAAK,EAAG,IAAAC,QAAE,EAAE,kBAAmB,CAAG;IAClCC,cAAc,EAAGA,CAAA,KAAMjC,8BAA8B,CAAE,KAAM,CAAG;IAChEkC,YAAY,EAAG;EAAM,GAErB,IAAAP,MAAA,CAAAC,aAAA;IAAKO,SAAS,EAAC;EAAgD,GAC9D,IAAAR,MAAA,CAAAC,aAAA;IAAKO,SAAS,EAAC;EAA+C,GAC7D,IAAAR,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAA6C,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGpC,cAAgB;IAC3BqC,KAAK,EAAGtC,WAAa;IACrBuC,KAAK,EAAG,IAAAR,QAAE,EAAE,qBAAsB,CAAG;IACrCS,WAAW,EAAG,IAAAT,QAAE,EAAE,QAAS;EAAG,CAC9B,CACG,CAAC,EACN,IAAAL,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAiD,oBAAoB;IAACH,KAAK,EAAGzB;EAAqB,GAClD,IAAAa,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAkD,+BAAiB;IACjBtB,aAAa,EAAGE,qBAAuB;IACvCqB,aAAa,EAAGnB,kBAAoB;IACpCoB,cAAc,EAAGrC;EAAsB,CACvC,CACoB,CAClB,CACC,CAAC;AAEV"}
1
+ {"version":3,"names":["_element","require","_data","_components","_compose","_blockEditor","_i18n","_utils","_searchPatterns","PatternSelectionModal","clientId","attributes","setIsPatternSelectionModalOpen","searchValue","setSearchValue","useState","replaceBlock","selectBlock","useDispatch","blockEditorStore","onBlockPatternSelect","pattern","blocks","newBlocks","queryClientIds","getTransformedBlocksFromPattern","blockPreviewContext","useMemo","previewPostType","query","postType","blockNameForPatterns","useBlockNameForPatterns","blockPatterns","usePatterns","filteredBlockPatterns","searchPatterns","shownBlockPatterns","useAsyncList","_react","createElement","Modal","overlayClassName","title","__","onRequestClose","isFullScreen","className","SearchControl","__nextHasNoMarginBottom","onChange","value","label","placeholder","BlockContextProvider","__experimentalBlockPatternsList","shownPatterns","onClickPattern"],"sources":["@wordpress/block-library/src/query/edit/pattern-selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { Modal, SearchControl } from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockNameForPatterns,\n\tgetTransformedBlocksFromPattern,\n\tusePatterns,\n} from '../utils';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function PatternSelectionModal( {\n\tclientId,\n\tattributes,\n\tsetIsPatternSelectionModalOpen,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst onBlockPatternSelect = ( pattern, blocks ) => {\n\t\tconst { newBlocks, queryClientIds } = getTransformedBlocksFromPattern(\n\t\t\tblocks,\n\t\t\tattributes\n\t\t);\n\t\treplaceBlock( clientId, newBlocks );\n\t\tif ( queryClientIds[ 0 ] ) {\n\t\t\tselectBlock( queryClientIds[ 0 ] );\n\t\t}\n\t};\n\t// When we preview Query Loop blocks we should prefer the current\n\t// block's postType, which is passed through block context.\n\tconst blockPreviewContext = useMemo(\n\t\t() => ( {\n\t\t\tpreviewPostType: attributes.query.postType,\n\t\t} ),\n\t\t[ attributes.query.postType ]\n\t);\n\tconst blockNameForPatterns = useBlockNameForPatterns(\n\t\tclientId,\n\t\tattributes\n\t);\n\tconst blockPatterns = usePatterns( clientId, blockNameForPatterns );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\treturn (\n\t\t<Modal\n\t\t\toverlayClassName=\"block-library-query-pattern__selection-modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tonRequestClose={ () => setIsPatternSelectionModalOpen( false ) }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<div className=\"block-library-query-pattern__selection-content\">\n\t\t\t\t<div className=\"block-library-query-pattern__selection-search\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\t\tlabel={ __( 'Search for patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<BlockContextProvider value={ blockPreviewContext }>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ onBlockPatternSelect }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAKA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAKA,IAAAO,eAAA,GAAAP,OAAA;AAtBA;AACA;AACA;;AAYA;AACA;AACA;;AAQe,SAASQ,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EACtD,MAAM;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACrE,MAAMC,oBAAoB,GAAGA,CAAEC,OAAO,EAAEC,MAAM,KAAM;IACnD,MAAM;MAAEC,SAAS;MAAEC;IAAe,CAAC,GAAG,IAAAC,sCAA+B,EACpEH,MAAM,EACNX,UACD,CAAC;IACDK,YAAY,CAAEN,QAAQ,EAAEa,SAAU,CAAC;IACnC,IAAKC,cAAc,CAAE,CAAC,CAAE,EAAG;MAC1BP,WAAW,CAAEO,cAAc,CAAE,CAAC,CAAG,CAAC;IACnC;EACD,CAAC;EACD;EACA;EACA,MAAME,mBAAmB,GAAG,IAAAC,gBAAO,EAClC,OAAQ;IACPC,eAAe,EAAEjB,UAAU,CAACkB,KAAK,CAACC;EACnC,CAAC,CAAE,EACH,CAAEnB,UAAU,CAACkB,KAAK,CAACC,QAAQ,CAC5B,CAAC;EACD,MAAMC,oBAAoB,GAAG,IAAAC,8BAAuB,EACnDtB,QAAQ,EACRC,UACD,CAAC;EACD,MAAMsB,aAAa,GAAG,IAAAC,kBAAW,EAAExB,QAAQ,EAAEqB,oBAAqB,CAAC;EACnE,MAAMI,qBAAqB,GAAG,IAAAR,gBAAO,EAAE,MAAM;IAC5C,OAAO,IAAAS,8BAAc,EAAEH,aAAa,EAAEpB,WAAY,CAAC;EACpD,CAAC,EAAE,CAAEoB,aAAa,EAAEpB,WAAW,CAAG,CAAC;EACnC,MAAMwB,kBAAkB,GAAG,IAAAC,qBAAY,EAAEH,qBAAsB,CAAC;EAEhE,OACC,IAAAI,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAsC,KAAK;IACLC,gBAAgB,EAAC,8CAA8C;IAC/DC,KAAK,EAAG,IAAAC,QAAE,EAAE,kBAAmB,CAAG;IAClCC,cAAc,EAAGA,CAAA,KAAMjC,8BAA8B,CAAE,KAAM,CAAG;IAChEkC,YAAY;EAAA,GAEZ,IAAAP,MAAA,CAAAC,aAAA;IAAKO,SAAS,EAAC;EAAgD,GAC9D,IAAAR,MAAA,CAAAC,aAAA;IAAKO,SAAS,EAAC;EAA+C,GAC7D,IAAAR,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAA6C,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGpC,cAAgB;IAC3BqC,KAAK,EAAGtC,WAAa;IACrBuC,KAAK,EAAG,IAAAR,QAAE,EAAE,qBAAsB,CAAG;IACrCS,WAAW,EAAG,IAAAT,QAAE,EAAE,QAAS;EAAG,CAC9B,CACG,CAAC,EACN,IAAAL,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAiD,oBAAoB;IAACH,KAAK,EAAGzB;EAAqB,GAClD,IAAAa,MAAA,CAAAC,aAAA,EAACnC,YAAA,CAAAkD,+BAAiB;IACjBtB,aAAa,EAAGE,qBAAuB;IACvCqB,aAAa,EAAGnB,kBAAoB;IACpCoB,cAAc,EAAGrC;EAAsB,CACvC,CACoB,CAClB,CACC,CAAC;AAEV"}
@@ -161,14 +161,16 @@ const useTaxonomies = postType => {
161
161
  const {
162
162
  getTaxonomies
163
163
  } = select(_coreData.store);
164
- const filteredTaxonomies = getTaxonomies({
164
+ return getTaxonomies({
165
165
  type: postType,
166
- per_page: -1,
167
- context: 'view'
166
+ per_page: -1
168
167
  });
169
- return filteredTaxonomies;
170
168
  }, [postType]);
171
- return taxonomies;
169
+ return (0, _element.useMemo)(() => {
170
+ return taxonomies?.filter(({
171
+ visibility
172
+ }) => !!visibility?.publicly_queryable);
173
+ }, [taxonomies]);
172
174
  };
173
175
 
174
176
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_coreData","_blockEditor","_htmlEntities","_blocks","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","exports","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","decodeEntities","usePostTypes","postTypes","useSelect","select","getPostTypes","coreStore","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","useMemo","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","useTaxonomies","postType","getTaxonomies","filteredTaxonomies","context","useIsPostTypeHierarchical","getPostType","hierarchical","useAllowedControls","attributes","blocksStore","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","clonedBlocks","block","cloneBlock","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","namespace","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","startsWith","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 { cloneBlock, store as blocksStore } 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 ) return;\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\treturn { postTypesTaxonomiesMap, postTypesSelectOptions };\n};\n\n/**\n * Hook that returns the taxonomies associated with a specific post type.\n *\n * @param {string} postType The post type from which to retrieve the associated taxonomies.\n * @return {Object[]} An array of the associated taxonomies.\n */\nexport const useTaxonomies = ( postType ) => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\treturn taxonomies;\n};\n\n/**\n * Hook that returns whether a specific post type is hierarchical.\n *\n * @param {string} postType The post type to check.\n * @return {boolean} Whether a specific post type is hierarchical.\n */\nexport function useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\n/**\n * Hook that returns the query properties' names defined by the active\n * block variation, to determine which block's filters to show.\n *\n * @param {Object} attributes Block attributes.\n * @return {string[]} An array of the query attributes.\n */\nexport function useAllowedControls( attributes ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\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} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\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\tif ( ! blockName.startsWith( 'core/' ) ) {\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":";;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMM,eAAe,GAAKC,QAAQ,IAAM;EAC9C,MAAMC,OAAO,GAAGD,QAAQ,EAAEE,MAAM,CAC/B,CAAEC,WAAW,EAAEC,MAAM,KAAM;IAC1B,MAAM;MAAEC,OAAO;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGJ,WAAW;IACjDE,OAAO,CAAED,MAAM,CAACI,EAAE,CAAE,GAAGJ,MAAM;IAC7BE,SAAS,CAAEF,MAAM,CAACK,IAAI,CAAE,GAAGL,MAAM;IACjCG,KAAK,CAACG,IAAI,CAAEN,MAAM,CAACK,IAAK,CAAC;IACzB,OAAON,WAAW;EACnB,CAAC,EACD;IAAEE,OAAO,EAAE,CAAC,CAAC;IAAEC,SAAS,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE;EAAG,CACzC,CAAC;EACD,OAAO;IACNP,QAAQ;IACR,GAAGC;EACJ,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAU,OAAA,CAAAZ,eAAA,GAAAA,eAAA;AASO,MAAMa,sBAAsB,GAAGA,CAAEC,MAAM,EAAEC,IAAI,KAAM;EACzD,MAAMC,cAAc,GAAGD,IAAI,CAACE,KAAK,CAAE,GAAI,CAAC;EACxC,IAAIC,KAAK,GAAGJ,MAAM;EAClBE,cAAc,CAACG,OAAO,CAAIC,SAAS,IAAM;IACxCF,KAAK,GAAGA,KAAK,GAAIE,SAAS,CAAE;EAC7B,CAAE,CAAC;EACH,OAAOF,KAAK;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAN,OAAA,CAAAC,sBAAA,GAAAA,sBAAA;AASO,MAAMQ,kBAAkB,GAAGA,CAAEpB,QAAQ,EAAEc,IAAI,KAAM;EACvD,OAAO,CAAEd,QAAQ,IAAI,EAAE,EAAGqB,GAAG,CAAIjB,MAAM,KAAQ;IAC9C,GAAGA,MAAM;IACTK,IAAI,EAAE,IAAAa,4BAAc,EAAEV,sBAAsB,CAAER,MAAM,EAAEU,IAAK,CAAE;EAC9D,CAAC,CAAG,CAAC;AACN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAH,OAAA,CAAAS,kBAAA,GAAAA,kBAAA;AAOO,MAAMG,YAAY,GAAGA,CAAA,KAAM;EACjC,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEE,eAAU,CAAC;IAC5C,MAAMC,iBAAiB,GAAG,CAAE,YAAY,CAAE;IAC1C,MAAMC,iBAAiB,GAAGH,YAAY,CAAE;MAAEI,QAAQ,EAAE,CAAC;IAAE,CAAE,CAAC,EAAEC,MAAM,CACjE,CAAE;MAAEC,QAAQ;MAAEC;IAAK,CAAC,KACnBD,QAAQ,IAAI,CAAEJ,iBAAiB,CAACM,QAAQ,CAAED,IAAK,CACjD,CAAC;IACD,OAAOJ,iBAAiB;EACzB,CAAC,EAAE,EAAG,CAAC;EACP,MAAMM,sBAAsB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7C,IAAK,CAAEb,SAAS,EAAEc,MAAM,EAAG;IAC3B,OAAOd,SAAS,CAACtB,MAAM,CAAE,CAAEC,WAAW,EAAEoC,IAAI,KAAM;MACjDpC,WAAW,CAAEoC,IAAI,CAACL,IAAI,CAAE,GAAGK,IAAI,CAACC,UAAU;MAC1C,OAAOrC,WAAW;IACnB,CAAC,EAAE,CAAC,CAAE,CAAC;EACR,CAAC,EAAE,CAAEqB,SAAS,CAAG,CAAC;EAClB,MAAMiB,sBAAsB,GAAG,IAAAJ,gBAAO,EACrC,MACC,CAAEb,SAAS,IAAI,EAAE,EAAGH,GAAG,CAAE,CAAE;IAAEqB,MAAM;IAAER;EAAK,CAAC,MAAQ;IAClDS,KAAK,EAAED,MAAM,CAACE,aAAa;IAC3B3B,KAAK,EAAEiB;EACR,CAAC,CAAG,CAAC,EACN,CAAEV,SAAS,CACZ,CAAC;EACD,OAAO;IAAEY,sBAAsB;IAAEK;EAAuB,CAAC;AAC1D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA9B,OAAA,CAAAY,YAAA,GAAAA,YAAA;AAMO,MAAMsB,aAAa,GAAKC,QAAQ,IAAM;EAC5C,MAAMN,UAAU,GAAG,IAAAf,eAAS,EACzBC,MAAM,IAAM;IACb,MAAM;MAAEqB;IAAc,CAAC,GAAGrB,MAAM,CAAEE,eAAU,CAAC;IAC7C,MAAMoB,kBAAkB,GAAGD,aAAa,CAAE;MACzCR,IAAI,EAAEO,QAAQ;MACdf,QAAQ,EAAE,CAAC,CAAC;MACZkB,OAAO,EAAE;IACV,CAAE,CAAC;IACH,OAAOD,kBAAkB;EAC1B,CAAC,EACD,CAAEF,QAAQ,CACX,CAAC;EACD,OAAON,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA7B,OAAA,CAAAkC,aAAA,GAAAA,aAAA;AAMO,SAASK,yBAAyBA,CAAEJ,QAAQ,EAAG;EACrD,OAAO,IAAArB,eAAS,EACbC,MAAM,IAAM;IACb,MAAMa,IAAI,GAAGb,MAAM,CAAEE,eAAU,CAAC,CAACuB,WAAW,CAAEL,QAAS,CAAC;IACxD,OAAOP,IAAI,EAAEN,QAAQ,IAAIM,IAAI,EAAEa,YAAY;EAC5C,CAAC,EACD,CAAEN,QAAQ,CACX,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAEC,UAAU,EAAG;EAChD,OAAO,IAAA7B,eAAS,EACbC,MAAM,IACPA,MAAM,CAAE6B,aAAY,CAAC,CAACC,uBAAuB,CAC5C,YAAY,EACZF,UACD,CAAC,EAAEG,eAAe,EAEnB,CAAEH,UAAU,CACb,CAAC;AACF;AACO,SAASI,gBAAgBA,CAAED,eAAe,EAAEE,GAAG,EAAG;EACxD;EACA,IAAK,CAAEF,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EACA,OAAOA,eAAe,CAACtB,QAAQ,CAAEwB,GAAI,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,+BAA+B,GAAGA,CAC9CC,MAAM,EACNC,oBAAoB,KAChB;EACJ,MAAM;IACLC,KAAK,EAAE;MAAEjB,QAAQ;MAAEkB;IAAQ;EAC5B,CAAC,GAAGF,oBAAoB;EACxB,MAAMG,YAAY,GAAGJ,MAAM,CAACxC,GAAG,CAAI6C,KAAK,IAAM,IAAAC,kBAAU,EAAED,KAAM,CAAE,CAAC;EACnE,MAAME,cAAc,GAAG,EAAE;EACzB,MAAMC,WAAW,GAAG,CAAE,GAAGJ,YAAY,CAAE;EACvC,OAAQI,WAAW,CAAC/B,MAAM,GAAG,CAAC,EAAG;IAChC,MAAM4B,KAAK,GAAGG,WAAW,CAACC,KAAK,CAAC,CAAC;IACjC,IAAKJ,KAAK,CAACzD,IAAI,KAAK,YAAY,EAAG;MAClCyD,KAAK,CAACZ,UAAU,CAACS,KAAK,GAAG;QACxB,GAAGG,KAAK,CAACZ,UAAU,CAACS,KAAK;QACzBjB,QAAQ;QACRkB;MACD,CAAC;MACDI,cAAc,CAAC1D,IAAI,CAAEwD,KAAK,CAACK,QAAS,CAAC;IACtC;IACAL,KAAK,CAACM,WAAW,EAAEtD,OAAO,CAAIuD,UAAU,IAAM;MAC7CJ,WAAW,CAAC3D,IAAI,CAAE+D,UAAW,CAAC;IAC/B,CAAE,CAAC;EACJ;EACA,OAAO;IAAEC,SAAS,EAAET,YAAY;IAAEG;EAAe,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbAzD,OAAA,CAAAiD,+BAAA,GAAAA,+BAAA;AAcO,SAASe,uBAAuBA,CAAEJ,QAAQ,EAAEjB,UAAU,EAAG;EAC/D,MAAMsB,mBAAmB,GAAG,IAAAnD,eAAS,EAClCC,MAAM,IACPA,MAAM,CAAE6B,aAAY,CAAC,CAACC,uBAAuB,CAC5C,YAAY,EACZF,UACD,CAAC,EAAE7C,IAAI,EACR,CAAE6C,UAAU,CACb,CAAC;EACD,MAAMuB,SAAS,GAAI,cAAcD,mBAAqB,EAAC;EACvD,MAAME,0BAA0B,GAAG,IAAArD,eAAS,EACzCC,MAAM,IAAM;IACb,IAAK,CAAEkD,mBAAmB,EAAG;MAC5B,OAAO,KAAK;IACb;IACA,MAAM;MAAEG,oBAAoB;MAAEC;IAAwB,CAAC,GACtDtD,MAAM,CAAEuD,kBAAiB,CAAC;IAC3B,MAAMC,YAAY,GAAGH,oBAAoB,CAAER,QAAS,CAAC;IACrD,MAAMY,cAAc,GAAGH,uBAAuB,CAC7CH,SAAS,EACTK,YACD,CAAC;IACD,OAAOC,cAAc,CAAC7C,MAAM,GAAG,CAAC;EACjC,CAAC,EACD,CAAEiC,QAAQ,EAAEK,mBAAmB,EAAEC,SAAS,CAC3C,CAAC;EACD,OAAOC,0BAA0B,GAAGD,SAAS,GAAG,YAAY;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,wBAAwBA,CAAE9B,UAAU,EAAG;EACtD,MAAM;IAAEsB,mBAAmB;IAAES;EAAgB,CAAC,GAAG,IAAA5D,eAAS,EACvDC,MAAM,IAAM;IACb,MAAM;MAAE8B,uBAAuB;MAAE8B;IAAmB,CAAC,GACpD5D,MAAM,CAAE6B,aAAY,CAAC;IACtB,OAAO;MACNqB,mBAAmB,EAAEpB,uBAAuB,CAC3C,YAAY,EACZF,UACD,CAAC,EAAE7C,IAAI;MACP4E,eAAe,EAAEC,kBAAkB,CAAE,YAAY,EAAE,OAAQ;IAC5D,CAAC;EACF,CAAC,EACD,CAAEhC,UAAU,CACb,CAAC;EACD,MAAMiC,UAAU,GAAG,IAAAlD,gBAAO,EAAE,MAAM;IACjC;IACA;IACA,MAAMmD,cAAc,GAAKC,SAAS,IACjC,CAAEA,SAAS,CAACnC,UAAU,EAAEoC,SAAS;IAClC,IAAK,CAAEd,mBAAmB,EAAG;MAC5B,OAAOS,eAAe,CAACrD,MAAM,CAAEwD,cAAe,CAAC;IAChD;IACA,MAAMG,mBAAmB,GAAGN,eAAe,CAACrD,MAAM,CAAIyD,SAAS,IAC9DA,SAAS,CAACnC,UAAU,EAAEoC,SAAS,EAAEvD,QAAQ,CAAEyC,mBAAoB,CAChE,CAAC;IACD,IAAK,CAAC,CAAEe,mBAAmB,CAACrD,MAAM,EAAG;MACpC,OAAOqD,mBAAmB;IAC3B;IACA,OAAON,eAAe,CAACrD,MAAM,CAAEwD,cAAe,CAAC;EAChD,CAAC,EAAE,CAAEZ,mBAAmB,EAAES,eAAe,CAAG,CAAC;EAC7C,OAAOE,UAAU;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,WAAW,GAAGA,CAAErB,QAAQ,EAAE9D,IAAI,KAAM;EAChD,OAAO,IAAAgB,eAAS,EACbC,MAAM,IAAM;IACb,MAAM;MAAEqD,oBAAoB;MAAEC;IAAwB,CAAC,GACtDtD,MAAM,CAAEuD,kBAAiB,CAAC;IAC3B,MAAMC,YAAY,GAAGH,oBAAoB,CAAER,QAAS,CAAC;IACrD,OAAOS,uBAAuB,CAAEvE,IAAI,EAAEyE,YAAa,CAAC;EACrD,CAAC,EACD,CAAEzE,IAAI,EAAE8D,QAAQ,CACjB,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA5D,OAAA,CAAAiF,WAAA,GAAAA,WAAA;AASO,MAAMC,oBAAoB,GAAKtB,QAAQ,IAAM;EACnD,OAAO,IAAA9C,eAAS,EACbC,MAAM,IAAM;IACb,MAAM;MAAEoE,yBAAyB;MAAEC;IAAa,CAAC,GAChDrE,MAAM,CAAEuD,kBAAiB,CAAC;IAC3B,MAAMpB,MAAM,GAAG,CAAC,CAAC;IACjBiC,yBAAyB,CAAEvB,QAAS,CAAC,CAACrD,OAAO,CAC1C8E,kBAAkB,IAAM;MACzB,MAAMnB,SAAS,GAAGkB,YAAY,CAAEC,kBAAmB,CAAC;MACpD,IAAK,CAAEnB,SAAS,CAACoB,UAAU,CAAE,OAAQ,CAAC,EAAG;QACxCpC,MAAM,CAACqC,oBAAoB,GAAG,IAAI;MACnC,CAAC,MAAM,IAAKrB,SAAS,KAAK,mBAAmB,EAAG;QAC/ChB,MAAM,CAACsC,mBAAmB,GAAG,IAAI;MAClC;IACD,CACD,CAAC;IACDtC,MAAM,CAACuC,oBAAoB,GAC1BvC,MAAM,CAACqC,oBAAoB,IAAIrC,MAAM,CAACsC,mBAAmB;IAC1D,OAAOtC,MAAM;EACd,CAAC,EACD,CAAEU,QAAQ,CACX,CAAC;AACF,CAAC;AAAC5D,OAAA,CAAAkF,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["_data","require","_element","_coreData","_blockEditor","_htmlEntities","_blocks","getEntitiesInfo","entities","mapping","reduce","accumulator","entity","mapById","mapByName","names","id","name","push","exports","getValueFromObjectPath","object","path","normalizedPath","split","value","forEach","fieldName","mapToIHasNameAndId","map","decodeEntities","usePostTypes","postTypes","useSelect","select","getPostTypes","coreStore","excludedPostTypes","filteredPostTypes","per_page","filter","viewable","slug","includes","postTypesTaxonomiesMap","useMemo","length","type","taxonomies","postTypesSelectOptions","labels","label","singular_name","useTaxonomies","postType","getTaxonomies","visibility","publicly_queryable","useIsPostTypeHierarchical","getPostType","hierarchical","useAllowedControls","attributes","blocksStore","getActiveBlockVariation","allowedControls","isControlAllowed","key","getTransformedBlocksFromPattern","blocks","queryBlockAttributes","query","inherit","clonedBlocks","block","cloneBlock","queryClientIds","blocksQueue","shift","clientId","innerBlocks","innerBlock","newBlocks","useBlockNameForPatterns","activeVariationName","blockName","hasActiveVariationPatterns","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","activePatterns","useScopedBlockVariations","blockVariations","getBlockVariations","variations","isNotConnected","variation","namespace","connectedVariations","usePatterns","useUnsupportedBlocks","getClientIdsOfDescendants","getBlockName","descendantClientId","startsWith","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 { cloneBlock, store as blocksStore } 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 ) return;\n\t\treturn postTypes.reduce( ( accumulator, type ) => {\n\t\t\taccumulator[ type.slug ] = type.taxonomies;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [ postTypes ] );\n\tconst postTypesSelectOptions = useMemo(\n\t\t() =>\n\t\t\t( postTypes || [] ).map( ( { labels, slug } ) => ( {\n\t\t\t\tlabel: labels.singular_name,\n\t\t\t\tvalue: slug,\n\t\t\t} ) ),\n\t\t[ postTypes ]\n\t);\n\treturn { postTypesTaxonomiesMap, postTypesSelectOptions };\n};\n\n/**\n * Hook that returns the taxonomies associated with a specific post type.\n *\n * @param {string} postType The post type from which to retrieve the associated taxonomies.\n * @return {Object[]} An array of the associated taxonomies.\n */\nexport const useTaxonomies = ( postType ) => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\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} = queryBlockAttributes;\n\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\tconst queryClientIds = [];\n\tconst blocksQueue = [ ...clonedBlocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\t\tif ( block.name === 'core/query' ) {\n\t\t\tblock.attributes.query = {\n\t\t\t\t...block.attributes.query,\n\t\t\t\tpostType,\n\t\t\t\tinherit,\n\t\t\t};\n\t\t\tqueryClientIds.push( block.clientId );\n\t\t}\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\treturn { newBlocks: clonedBlocks, queryClientIds };\n};\n\n/**\n * Helper hook that determines if there is an active variation of the block\n * and if there are available specific patterns for this variation.\n * If there are, these patterns are going to be the only ones suggested to\n * the user in setup and replace flow, without including the default ones\n * for Query Loop.\n *\n * If there are no such patterns, the default ones for Query Loop are going\n * to be suggested.\n *\n * @param {string} clientId The block's client ID.\n * @param {Object} attributes The block's attributes.\n * @return {string} The block name to be used in the patterns suggestions.\n */\nexport function useBlockNameForPatterns( clientId, attributes ) {\n\tconst activeVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation(\n\t\t\t\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\tif ( ! blockName.startsWith( 'core/' ) ) {\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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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blockEditor","arrowMap","none","arrow","chevron","QueryPaginationNextEdit","attributes","label","setAttributes","context","paginationArrow","showLabel","displayArrow","_react","createElement","href","onClick","event","preventDefault","useBlockProps","PlainText","__experimentalVersion","tagName","__","placeholder","value","onChange","newLabel","className"],"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '→',\n\tchevron: '»',\n};\n\nexport default function QueryPaginationNextEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow, showLabel },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-next-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ showLabel && (\n\t\t\t\t<PlainText\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\taria-label={ __( 'Next page link' ) }\n\t\t\t\t\tplaceholder={ __( 'Next Page' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-next-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t\taria-hidden={ true }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,GAAG;EACVC,OAAO,EAAE;AACV,CAAC;AAEc,SAASC,uBAAuBA,CAAE;EAChDC,UAAU,EAAE;IAAEC;EAAM,CAAC;EACrBC,aAAa;EACbC,OAAO,EAAE;IAAEC,eAAe;IAAEC;EAAU;AACvC,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGX,QAAQ,CAAES,eAAe,CAAE;EAChD,OACC,IAAAG,MAAA,CAAAC,aAAA;IACCC,IAAI,EAAC,8BAA8B;IACnCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;IAAA,GAC1C,IAAAC,0BAAa,EAAC;EAAC,GAElBR,SAAS,IACV,IAAAE,MAAA,CAAAC,aAAA,EAACd,YAAA,CAAAoB,SAAS;IACTC,qBAAqB,EAAG,CAAG;IAC3BC,OAAO,EAAC,MAAM;IACd,cAAa,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IACrCC,WAAW,EAAG,IAAAD,QAAE,EAAE,WAAY,CAAG;IACjCE,KAAK,EAAGlB,KAAO;IACfmB,QAAQ,EAAKC,QAAQ,IACpBnB,aAAa,CAAE;MAAED,KAAK,EAAEoB;IAAS,CAAE;EACnC,CACD,CACD,EACCf,YAAY,IACb,IAAAC,MAAA,CAAAC,aAAA;IACCc,SAAS,EAAI,iDAAiDlB,eAAiB,EAAG;IAClF,eAAc;EAAM,GAElBE,YACG,CAEL,CAAC;AAEN"}
1
+ {"version":3,"names":["_i18n","require","_blockEditor","arrowMap","none","arrow","chevron","QueryPaginationNextEdit","attributes","label","setAttributes","context","paginationArrow","showLabel","displayArrow","_react","createElement","href","onClick","event","preventDefault","useBlockProps","PlainText","__experimentalVersion","tagName","__","placeholder","value","onChange","newLabel","className"],"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '→',\n\tchevron: '»',\n};\n\nexport default function QueryPaginationNextEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow, showLabel },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-next-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ showLabel && (\n\t\t\t\t<PlainText\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\taria-label={ __( 'Next page link' ) }\n\t\t\t\t\tplaceholder={ __( 'Next Page' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-next-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t\taria-hidden\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,GAAG;EACVC,OAAO,EAAE;AACV,CAAC;AAEc,SAASC,uBAAuBA,CAAE;EAChDC,UAAU,EAAE;IAAEC;EAAM,CAAC;EACrBC,aAAa;EACbC,OAAO,EAAE;IAAEC,eAAe;IAAEC;EAAU;AACvC,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGX,QAAQ,CAAES,eAAe,CAAE;EAChD,OACC,IAAAG,MAAA,CAAAC,aAAA;IACCC,IAAI,EAAC,8BAA8B;IACnCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;IAAA,GAC1C,IAAAC,0BAAa,EAAC;EAAC,GAElBR,SAAS,IACV,IAAAE,MAAA,CAAAC,aAAA,EAACd,YAAA,CAAAoB,SAAS;IACTC,qBAAqB,EAAG,CAAG;IAC3BC,OAAO,EAAC,MAAM;IACd,cAAa,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IACrCC,WAAW,EAAG,IAAAD,QAAE,EAAE,WAAY,CAAG;IACjCE,KAAK,EAAGlB,KAAO;IACfmB,QAAQ,EAAKC,QAAQ,IACpBnB,aAAa,CAAE;MAAED,KAAK,EAAEoB;IAAS,CAAE;EACnC,CACD,CACD,EACCf,YAAY,IACb,IAAAC,MAAA,CAAAC,aAAA;IACCc,SAAS,EAAI,iDAAiDlB,eAAiB,EAAG;IAClF;EAAW,GAETE,YACG,CAEL,CAAC;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blockEditor","arrowMap","none","arrow","chevron","QueryPaginationPreviousEdit","attributes","label","setAttributes","context","paginationArrow","showLabel","displayArrow","_react","createElement","href","onClick","event","preventDefault","useBlockProps","className","PlainText","__experimentalVersion","tagName","__","placeholder","value","onChange","newLabel"],"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '←',\n\tchevron: '«',\n};\n\nexport default function QueryPaginationPreviousEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow, showLabel },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-previous-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-previous-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t\taria-hidden={ true }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showLabel && (\n\t\t\t\t<PlainText\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\taria-label={ __( 'Previous page link' ) }\n\t\t\t\t\tplaceholder={ __( 'Previous Page' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,GAAG;EACVC,OAAO,EAAE;AACV,CAAC;AAEc,SAASC,2BAA2BA,CAAE;EACpDC,UAAU,EAAE;IAAEC;EAAM,CAAC;EACrBC,aAAa;EACbC,OAAO,EAAE;IAAEC,eAAe;IAAEC;EAAU;AACvC,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGX,QAAQ,CAAES,eAAe,CAAE;EAChD,OACC,IAAAG,MAAA,CAAAC,aAAA;IACCC,IAAI,EAAC,kCAAkC;IACvCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;IAAA,GAC1C,IAAAC,0BAAa,EAAC;EAAC,GAElBP,YAAY,IACb,IAAAC,MAAA,CAAAC,aAAA;IACCM,SAAS,EAAI,qDAAqDV,eAAiB,EAAG;IACtF,eAAc;EAAM,GAElBE,YACG,CACN,EACCD,SAAS,IACV,IAAAE,MAAA,CAAAC,aAAA,EAACd,YAAA,CAAAqB,SAAS;IACTC,qBAAqB,EAAG,CAAG;IAC3BC,OAAO,EAAC,MAAM;IACd,cAAa,IAAAC,QAAE,EAAE,oBAAqB,CAAG;IACzCC,WAAW,EAAG,IAAAD,QAAE,EAAE,eAAgB,CAAG;IACrCE,KAAK,EAAGnB,KAAO;IACfoB,QAAQ,EAAKC,QAAQ,IACpBpB,aAAa,CAAE;MAAED,KAAK,EAAEqB;IAAS,CAAE;EACnC,CACD,CAEA,CAAC;AAEN"}
1
+ {"version":3,"names":["_i18n","require","_blockEditor","arrowMap","none","arrow","chevron","QueryPaginationPreviousEdit","attributes","label","setAttributes","context","paginationArrow","showLabel","displayArrow","_react","createElement","href","onClick","event","preventDefault","useBlockProps","className","PlainText","__experimentalVersion","tagName","__","placeholder","value","onChange","newLabel"],"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '←',\n\tchevron: '«',\n};\n\nexport default function QueryPaginationPreviousEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow, showLabel },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-previous-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-previous-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t\taria-hidden\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showLabel && (\n\t\t\t\t<PlainText\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\taria-label={ __( 'Previous page link' ) }\n\t\t\t\t\tplaceholder={ __( 'Previous Page' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,GAAG;EACVC,OAAO,EAAE;AACV,CAAC;AAEc,SAASC,2BAA2BA,CAAE;EACpDC,UAAU,EAAE;IAAEC;EAAM,CAAC;EACrBC,aAAa;EACbC,OAAO,EAAE;IAAEC,eAAe;IAAEC;EAAU;AACvC,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGX,QAAQ,CAAES,eAAe,CAAE;EAChD,OACC,IAAAG,MAAA,CAAAC,aAAA;IACCC,IAAI,EAAC,kCAAkC;IACvCC,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;IAAA,GAC1C,IAAAC,0BAAa,EAAC;EAAC,GAElBP,YAAY,IACb,IAAAC,MAAA,CAAAC,aAAA;IACCM,SAAS,EAAI,qDAAqDV,eAAiB,EAAG;IACtF;EAAW,GAETE,YACG,CACN,EACCD,SAAS,IACV,IAAAE,MAAA,CAAAC,aAAA,EAACd,YAAA,CAAAqB,SAAS;IACTC,qBAAqB,EAAG,CAAG;IAC3BC,OAAO,EAAC,MAAM;IACd,cAAa,IAAAC,QAAE,EAAE,oBAAqB,CAAG;IACzCC,WAAW,EAAG,IAAAD,QAAE,EAAE,eAAgB,CAAG;IACrCE,KAAK,EAAGnB,KAAO;IACfoB,QAAQ,EAAKC,QAAQ,IACpBpB,aAAa,CAAE;MAAED,KAAK,EAAEqB;IAAS,CAAE;EACnC,CACD,CAEA,CAAC;AAEN"}
@@ -41,6 +41,106 @@ const migrateToQuoteV2 = attributes => {
41
41
  })) : (0, _blocks.createBlock)('core/paragraph')];
42
42
  };
43
43
  exports.migrateToQuoteV2 = migrateToQuoteV2;
44
+ const TEXT_ALIGN_OPTIONS = ['left', 'right', 'center'];
45
+
46
+ // Migrate existing text alignment settings to the renamed attribute.
47
+ const migrateTextAlign = (attributes, innerBlocks) => {
48
+ const {
49
+ align,
50
+ ...rest
51
+ } = attributes;
52
+ // Check if there are valid alignments stored in the old attribute
53
+ // and assign them to the new attribute name.
54
+ const migratedAttributes = TEXT_ALIGN_OPTIONS.includes(align) ? {
55
+ ...rest,
56
+ textAlign: align
57
+ } : attributes;
58
+ return [migratedAttributes, innerBlocks];
59
+ };
60
+
61
+ // Migrate the v2 blocks with style === `2`;
62
+ const migrateLargeStyle = (attributes, innerBlocks) => {
63
+ return [{
64
+ ...attributes,
65
+ className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large'
66
+ }, innerBlocks];
67
+ };
68
+
69
+ // Version before the 'align' attribute was replaced with 'textAlign'.
70
+ const v4 = {
71
+ attributes: {
72
+ value: {
73
+ type: 'string',
74
+ source: 'html',
75
+ selector: 'blockquote',
76
+ multiline: 'p',
77
+ default: '',
78
+ __experimentalRole: 'content'
79
+ },
80
+ citation: {
81
+ type: 'string',
82
+ source: 'html',
83
+ selector: 'cite',
84
+ default: '',
85
+ __experimentalRole: 'content'
86
+ },
87
+ align: {
88
+ type: 'string'
89
+ }
90
+ },
91
+ supports: {
92
+ anchor: true,
93
+ html: false,
94
+ __experimentalOnEnter: true,
95
+ __experimentalOnMerge: true,
96
+ typography: {
97
+ fontSize: true,
98
+ lineHeight: true,
99
+ __experimentalFontFamily: true,
100
+ __experimentalFontWeight: true,
101
+ __experimentalFontStyle: true,
102
+ __experimentalTextTransform: true,
103
+ __experimentalTextDecoration: true,
104
+ __experimentalLetterSpacing: true,
105
+ __experimentalDefaultControls: {
106
+ fontSize: true,
107
+ fontAppearance: true
108
+ }
109
+ },
110
+ color: {
111
+ gradients: true,
112
+ heading: true,
113
+ link: true,
114
+ __experimentalDefaultControls: {
115
+ background: true,
116
+ text: true
117
+ }
118
+ }
119
+ },
120
+ isEligible: ({
121
+ align
122
+ }) => TEXT_ALIGN_OPTIONS.includes(align),
123
+ save({
124
+ attributes
125
+ }) {
126
+ const {
127
+ align,
128
+ citation
129
+ } = attributes;
130
+ const className = (0, _classnames.default)({
131
+ [`has-text-align-${align}`]: align
132
+ });
133
+ return (0, _react.createElement)("blockquote", {
134
+ ..._blockEditor.useBlockProps.save({
135
+ className
136
+ })
137
+ }, (0, _react.createElement)(_blockEditor.InnerBlocks.Content, null), !_blockEditor.RichText.isEmpty(citation) && (0, _react.createElement)(_blockEditor.RichText.Content, {
138
+ tagName: "cite",
139
+ value: citation
140
+ }));
141
+ },
142
+ migrate: migrateTextAlign
143
+ };
44
144
  const v3 = {
45
145
  attributes: {
46
146
  value: {
@@ -101,7 +201,9 @@ const v3 = {
101
201
  value: citation
102
202
  }));
103
203
  },
104
- migrate: migrateToQuoteV2
204
+ migrate(attributes) {
205
+ return migrateTextAlign(...migrateToQuoteV2(attributes));
206
+ }
105
207
  };
106
208
  const v2 = {
107
209
  attributes: {
@@ -122,7 +224,9 @@ const v2 = {
122
224
  type: 'string'
123
225
  }
124
226
  },
125
- migrate: migrateToQuoteV2,
227
+ migrate(attributes) {
228
+ return migrateTextAlign(...migrateToQuoteV2(attributes));
229
+ },
126
230
  save({
127
231
  attributes
128
232
  }) {
@@ -173,12 +277,9 @@ const v1 = {
173
277
  style,
174
278
  ...restAttributes
175
279
  } = attributes;
176
- return migrateToQuoteV2({
177
- ...restAttributes,
178
- className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large'
179
- });
280
+ return migrateTextAlign(...migrateLargeStyle(...migrateToQuoteV2(restAttributes)));
180
281
  }
181
- return migrateToQuoteV2(attributes);
282
+ return migrateTextAlign(...migrateToQuoteV2(attributes));
182
283
  },
183
284
  save({
184
285
  attributes
@@ -232,11 +333,9 @@ const v0 = {
232
333
  style,
233
334
  ...restAttributes
234
335
  } = attributes;
235
- return migrateToQuoteV2({
236
- ...restAttributes
237
- });
336
+ return migrateTextAlign(...migrateToQuoteV2(restAttributes));
238
337
  }
239
- return migrateToQuoteV2(attributes);
338
+ return migrateTextAlign(...migrateToQuoteV2(attributes));
240
339
  },
241
340
  save({
242
341
  attributes
@@ -270,5 +369,5 @@ const v0 = {
270
369
  *
271
370
  * See block-deprecation.md
272
371
  */
273
- var _default = exports.default = [v3, v2, v1, v0];
372
+ var _default = exports.default = [v4, v3, v2, v1, v0];
274
373
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blocks","_blockEditor","migrateToQuoteV2","attributes","value","restAttributes","parseWithAttributeSchema","type","source","selector","query","content","map","createBlock","exports","v3","multiline","default","__experimentalRole","citation","align","supports","anchor","__experimentalSlashInserter","typography","fontSize","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalDefaultControls","fontAppearance","save","className","classnames","_react","createElement","useBlockProps","RichText","Content","isEmpty","tagName","migrate","v2","style","textAlign","v1","v0","isNaN","parseInt","_default"],"sources":["@wordpress/block-library/src/quote/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport const migrateToQuoteV2 = ( attributes ) => {\n\tconst { value, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t},\n\t\tvalue\n\t\t\t? parseWithAttributeSchema( value, {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'p',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t } ).map( ( { content } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } )\n\t\t\t )\n\t\t\t: createBlock( 'core/paragraph' ),\n\t];\n};\n\nconst v3 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\t__experimentalSlashInserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontAppearance: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation } = attributes;\n\n\t\tconst className = classnames( {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<blockquote { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate: migrateToQuoteV2,\n};\n\nconst v2 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: migrateToQuoteV2,\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote style={ { textAlign: align ? align : null } }>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\n\tmigrate( attributes ) {\n\t\tif ( attributes.style === 2 ) {\n\t\t\tconst { style, ...restAttributes } = attributes;\n\t\t\treturn migrateToQuoteV2( {\n\t\t\t\t...restAttributes,\n\t\t\t\tclassName: attributes.className\n\t\t\t\t\t? attributes.className + ' is-style-large'\n\t\t\t\t\t: 'is-style-large',\n\t\t\t} );\n\t\t}\n\n\t\treturn migrateToQuoteV2( attributes );\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation, style } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote\n\t\t\t\tclassName={ style === 2 ? 'is-large' : '' }\n\t\t\t\tstyle={ { textAlign: align ? align : null } }\n\t\t\t>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\n\tmigrate( attributes ) {\n\t\tif ( ! isNaN( parseInt( attributes.style ) ) ) {\n\t\t\tconst { style, ...restAttributes } = attributes;\n\t\t\treturn migrateToQuoteV2( {\n\t\t\t\t...restAttributes,\n\t\t\t} );\n\t\t}\n\n\t\treturn migrateToQuoteV2( attributes );\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation, style } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote\n\t\t\t\tclassName={ `blocks-quote-style-${ style }` }\n\t\t\t\tstyle={ { textAlign: align ? align : null } }\n\t\t\t>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v3, v2, v1, v0 ];\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blocks","_blockEditor","migrateToQuoteV2","attributes","value","restAttributes","parseWithAttributeSchema","type","source","selector","query","content","map","createBlock","exports","TEXT_ALIGN_OPTIONS","migrateTextAlign","innerBlocks","align","rest","migratedAttributes","includes","textAlign","migrateLargeStyle","className","v4","multiline","default","__experimentalRole","citation","supports","anchor","html","__experimentalOnEnter","__experimentalOnMerge","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","fontAppearance","color","gradients","heading","link","background","text","isEligible","save","classnames","_react","createElement","useBlockProps","InnerBlocks","Content","RichText","isEmpty","tagName","migrate","v3","__experimentalSlashInserter","v2","style","v1","v0","isNaN","parseInt","_default"],"sources":["@wordpress/block-library/src/quote/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';\nimport { InnerBlocks, RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport const migrateToQuoteV2 = ( attributes ) => {\n\tconst { value, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t},\n\t\tvalue\n\t\t\t? parseWithAttributeSchema( value, {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'p',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t } ).map( ( { content } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } )\n\t\t\t )\n\t\t\t: createBlock( 'core/paragraph' ),\n\t];\n};\n\nconst TEXT_ALIGN_OPTIONS = [ 'left', 'right', 'center' ];\n\n// Migrate existing text alignment settings to the renamed attribute.\nconst migrateTextAlign = ( attributes, innerBlocks ) => {\n\tconst { align, ...rest } = attributes;\n\t// Check if there are valid alignments stored in the old attribute\n\t// and assign them to the new attribute name.\n\tconst migratedAttributes = TEXT_ALIGN_OPTIONS.includes( align )\n\t\t? { ...rest, textAlign: align }\n\t\t: attributes;\n\n\treturn [ migratedAttributes, innerBlocks ];\n};\n\n// Migrate the v2 blocks with style === `2`;\nconst migrateLargeStyle = ( attributes, innerBlocks ) => {\n\treturn [\n\t\t{\n\t\t\t...attributes,\n\t\t\tclassName: attributes.className\n\t\t\t\t? attributes.className + ' is-style-large'\n\t\t\t\t: 'is-style-large',\n\t\t},\n\t\tinnerBlocks,\n\t];\n};\n\n// Version before the 'align' attribute was replaced with 'textAlign'.\nconst v4 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\thtml: false,\n\t\t__experimentalOnEnter: true,\n\t\t__experimentalOnMerge: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontAppearance: true,\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\theading: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t},\n\tisEligible: ( { align } ) => TEXT_ALIGN_OPTIONS.includes( align ),\n\tsave( { attributes } ) {\n\t\tconst { align, citation } = attributes;\n\t\tconst className = classnames( {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\t\treturn (\n\t\t\t<blockquote { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate: migrateTextAlign,\n};\n\nconst v3 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\t__experimentalSlashInserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontAppearance: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation } = attributes;\n\n\t\tconst className = classnames( {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<blockquote { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\treturn migrateTextAlign( ...migrateToQuoteV2( attributes ) );\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate( attributes ) {\n\t\treturn migrateTextAlign( ...migrateToQuoteV2( attributes ) );\n\t},\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote style={ { textAlign: align ? align : null } }>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\n\tmigrate( attributes ) {\n\t\tif ( attributes.style === 2 ) {\n\t\t\tconst { style, ...restAttributes } = attributes;\n\t\t\treturn migrateTextAlign(\n\t\t\t\t...migrateLargeStyle( ...migrateToQuoteV2( restAttributes ) )\n\t\t\t);\n\t\t}\n\n\t\treturn migrateTextAlign( ...migrateToQuoteV2( attributes ) );\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation, style } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote\n\t\t\t\tclassName={ style === 2 ? 'is-large' : '' }\n\t\t\t\tstyle={ { textAlign: align ? align : null } }\n\t\t\t>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\tdefault: '',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t\tdefault: '',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\n\tmigrate( attributes ) {\n\t\tif ( ! isNaN( parseInt( attributes.style ) ) ) {\n\t\t\tconst { style, ...restAttributes } = attributes;\n\t\t\treturn migrateTextAlign( ...migrateToQuoteV2( restAttributes ) );\n\t\t}\n\n\t\treturn migrateTextAlign( ...migrateToQuoteV2( attributes ) );\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { align, value, citation, style } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote\n\t\t\t\tclassName={ `blocks-quote-style-${ style }` }\n\t\t\t\tstyle={ { textAlign: align ? align : null } }\n\t\t\t>\n\t\t\t\t<RichText.Content multiline value={ value } />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v4, v3, v2, v1, v0 ];\n"],"mappings":"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"}
@@ -72,7 +72,7 @@ function QuoteEdit({
72
72
  style
73
73
  }) {
74
74
  const {
75
- align,
75
+ textAlign,
76
76
  citation
77
77
  } = attributes;
78
78
  useMigrateOnLoad(attributes, clientId);
@@ -81,11 +81,11 @@ function QuoteEdit({
81
81
  isBlockSelected,
82
82
  hasSelectedInnerBlock
83
83
  } = select(_blockEditor.store);
84
- return hasSelectedInnerBlock(clientId) || isBlockSelected(clientId);
85
- }, []);
84
+ return hasSelectedInnerBlock(clientId, true) || isBlockSelected(clientId);
85
+ }, [clientId]);
86
86
  const blockProps = (0, _blockEditor.useBlockProps)({
87
87
  className: (0, _classnames.default)(className, {
88
- [`has-text-align-${align}`]: align
88
+ [`has-text-align-${textAlign}`]: textAlign
89
89
  }),
90
90
  ...(!isWebPlatform && {
91
91
  style
@@ -99,10 +99,10 @@ function QuoteEdit({
99
99
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
100
100
  group: "block"
101
101
  }, (0, _react.createElement)(_blockEditor.AlignmentControl, {
102
- value: align,
102
+ value: textAlign,
103
103
  onChange: nextAlign => {
104
104
  setAttributes({
105
- align: nextAlign
105
+ textAlign: nextAlign
106
106
  });
107
107
  }
108
108
  })), (0, _react.createElement)(_components.BlockQuotation, {
@@ -128,7 +128,7 @@ function QuoteEdit({
128
128
  className: "wp-block-quote__citation",
129
129
  __unstableOnSplitAtEnd: () => insertBlocksAfter((0, _blocks.createBlock)((0, _blocks.getDefaultBlockName)())),
130
130
  ...(!isWebPlatform ? {
131
- textAlign: align
131
+ textAlign
132
132
  } : {})
133
133
  })));
134
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_data","_blocks","_element","_deprecated","_deprecated2","isWebPlatform","Platform","OS","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","useRegistry","updateBlockAttributes","replaceInnerBlocks","useDispatch","blockEditorStore","useEffect","value","newAttributes","newInnerBlocks","migrateToQuoteV2","deprecated","since","version","alternative","batch","QuoteEdit","setAttributes","insertBlocksAfter","className","style","align","citation","hasSelection","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockProps","useBlockProps","classNames","innerBlocksProps","useInnerBlocksProps","template","templateInsertUpdatesSelection","__experimentalCaptureToolbars","_react","createElement","Fragment","BlockControls","group","AlignmentControl","onChange","nextAlign","BlockQuotation","children","RichText","isEmpty","identifier","tagName","undefined","display","nextCitation","__unstableMobileNoFocusOnMount","__","placeholder","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","textAlign"],"sources":["@wordpress/block-library/src/quote/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BlockQuotation } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Platform, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { migrateToQuoteV2 } from './deprecated';\n\nconst isWebPlatform = Platform.OS === 'web';\n\nconst TEMPLATE = [ [ 'core/paragraph', {} ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old quote block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nconst useMigrateOnLoad = ( attributes, clientId ) => {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.value ) {\n\t\t\t// No need to migrate if it doesn't have the value attribute.\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] =\n\t\t\tmigrateToQuoteV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the quote block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.value ] );\n};\n\nexport default function QuoteEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tclientId,\n\tclassName,\n\tstyle,\n} ) {\n\tconst { align, citation } = attributes;\n\n\tuseMigrateOnLoad( attributes, clientId );\n\n\tconst hasSelection = useSelect( ( select ) => {\n\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\tselect( blockEditorStore );\n\t\treturn hasSelectedInnerBlock( clientId ) || isBlockSelected( clientId );\n\t}, [] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames( className, {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\t...( ! isWebPlatform && { style } ),\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { align: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockQuotation { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ ( ! RichText.isEmpty( citation ) || hasSelection ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"citation\"\n\t\t\t\t\t\ttagName={ isWebPlatform ? 'cite' : undefined }\n\t\t\t\t\t\tstyle={ { display: 'block' } }\n\t\t\t\t\t\tvalue={ citation }\n\t\t\t\t\t\tonChange={ ( nextCitation ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcitation: nextCitation,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\taria-label={ __( 'Quote citation' ) }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t// translators: placeholder text used for the\n\t\t\t\t\t\t\t// citation\n\t\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"wp-block-quote__citation\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...( ! isWebPlatform ? { textAlign: align } : {} ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockQuotation>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_data","_blocks","_element","_deprecated","_deprecated2","isWebPlatform","Platform","OS","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","useRegistry","updateBlockAttributes","replaceInnerBlocks","useDispatch","blockEditorStore","useEffect","value","newAttributes","newInnerBlocks","migrateToQuoteV2","deprecated","since","version","alternative","batch","QuoteEdit","setAttributes","insertBlocksAfter","className","style","textAlign","citation","hasSelection","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockProps","useBlockProps","classNames","innerBlocksProps","useInnerBlocksProps","template","templateInsertUpdatesSelection","__experimentalCaptureToolbars","_react","createElement","Fragment","BlockControls","group","AlignmentControl","onChange","nextAlign","BlockQuotation","children","RichText","isEmpty","identifier","tagName","undefined","display","nextCitation","__unstableMobileNoFocusOnMount","__","placeholder","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName"],"sources":["@wordpress/block-library/src/quote/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BlockQuotation } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Platform, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { migrateToQuoteV2 } from './deprecated';\n\nconst isWebPlatform = Platform.OS === 'web';\n\nconst TEMPLATE = [ [ 'core/paragraph', {} ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old quote block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nconst useMigrateOnLoad = ( attributes, clientId ) => {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.value ) {\n\t\t\t// No need to migrate if it doesn't have the value attribute.\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] =\n\t\t\tmigrateToQuoteV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the quote block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.value ] );\n};\n\nexport default function QuoteEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tclientId,\n\tclassName,\n\tstyle,\n} ) {\n\tconst { textAlign, citation } = attributes;\n\n\tuseMigrateOnLoad( attributes, clientId );\n\n\tconst hasSelection = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\thasSelectedInnerBlock( clientId, true ) ||\n\t\t\t\tisBlockSelected( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames( className, {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\t...( ! isWebPlatform && { style } ),\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\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<BlockQuotation { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ ( ! RichText.isEmpty( citation ) || hasSelection ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"citation\"\n\t\t\t\t\t\ttagName={ isWebPlatform ? 'cite' : undefined }\n\t\t\t\t\t\tstyle={ { display: 'block' } }\n\t\t\t\t\t\tvalue={ citation }\n\t\t\t\t\t\tonChange={ ( nextCitation ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcitation: nextCitation,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\taria-label={ __( 'Quote citation' ) }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t// translators: placeholder text used for the\n\t\t\t\t\t\t\t// citation\n\t\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"wp-block-quote__citation\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...( ! isWebPlatform ? { textAlign } : {} ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockQuotation>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}