@wordpress/block-library 9.2.0 → 9.4.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 (623) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +20 -8
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +38 -24
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +5 -1
  11. package/build/block/index.js.map +1 -1
  12. package/build/button/edit.js +1 -1
  13. package/build/button/edit.js.map +1 -1
  14. package/build/buttons/index.js +26 -0
  15. package/build/buttons/index.js.map +1 -1
  16. package/build/categories/edit.js +20 -3
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/categories/index.js +8 -0
  19. package/build/categories/index.js.map +1 -1
  20. package/build/columns/index.js +2 -2
  21. package/build/columns/index.js.map +1 -1
  22. package/build/cover/edit/inspector-controls.js +2 -1
  23. package/build/cover/edit/inspector-controls.js.map +1 -1
  24. package/build/embed/embed-preview.js +4 -4
  25. package/build/embed/embed-preview.js.map +1 -1
  26. package/build/embed/variations.js +39 -34
  27. package/build/embed/variations.js.map +1 -1
  28. package/build/file/edit.js +14 -6
  29. package/build/file/edit.js.map +1 -1
  30. package/build/file/index.js +4 -0
  31. package/build/file/index.js.map +1 -1
  32. package/build/file/transforms.js +2 -3
  33. package/build/file/transforms.js.map +1 -1
  34. package/build/footnotes/index.js +1 -1
  35. package/build/footnotes/index.js.map +1 -1
  36. package/build/form-input/edit.js +2 -0
  37. package/build/form-input/edit.js.map +1 -1
  38. package/build/gallery/deprecated.js +6 -54
  39. package/build/gallery/deprecated.js.map +1 -1
  40. package/build/gallery/edit.js +9 -8
  41. package/build/gallery/edit.js.map +1 -1
  42. package/build/gallery/index.js +12 -2
  43. package/build/gallery/index.js.map +1 -1
  44. package/build/gallery/save.js +0 -11
  45. package/build/gallery/save.js.map +1 -1
  46. package/build/gallery/shared.js +0 -27
  47. package/build/gallery/shared.js.map +1 -1
  48. package/build/gallery/transforms.js +29 -80
  49. package/build/gallery/transforms.js.map +1 -1
  50. package/build/group/deprecated.js +2 -5
  51. package/build/group/deprecated.js.map +1 -1
  52. package/build/group/index.js +1 -0
  53. package/build/group/index.js.map +1 -1
  54. package/build/group/placeholder.js +5 -0
  55. package/build/group/placeholder.js.map +1 -1
  56. package/build/heading/index.js +14 -1
  57. package/build/heading/index.js.map +1 -1
  58. package/build/image/edit.js +14 -22
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +54 -28
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/index.js +7 -0
  63. package/build/image/index.js.map +1 -1
  64. package/build/image/transforms.js +1 -1
  65. package/build/image/transforms.js.map +1 -1
  66. package/build/image/view.js +65 -49
  67. package/build/image/view.js.map +1 -1
  68. package/build/latest-comments/index.js +9 -0
  69. package/build/latest-comments/index.js.map +1 -1
  70. package/build/list/edit.js +3 -3
  71. package/build/list/edit.js.map +1 -1
  72. package/build/list-item/edit.js +3 -3
  73. package/build/list-item/edit.js.map +1 -1
  74. package/build/list-item/hooks/index.js +0 -7
  75. package/build/list-item/hooks/index.js.map +1 -1
  76. package/build/list-item/hooks/use-merge.js +8 -1
  77. package/build/list-item/hooks/use-merge.js.map +1 -1
  78. package/build/list-item/index.js +11 -1
  79. package/build/list-item/index.js.map +1 -1
  80. package/build/loginout/index.js +3 -0
  81. package/build/loginout/index.js.map +1 -1
  82. package/build/media-text/edit.js +3 -2
  83. package/build/media-text/edit.js.map +1 -1
  84. package/build/media-text/index.js +12 -0
  85. package/build/media-text/index.js.map +1 -1
  86. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  87. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  88. package/build/navigation/use-navigation-menu.js +5 -1
  89. package/build/navigation/use-navigation-menu.js.map +1 -1
  90. package/build/navigation-link/link-ui.js +13 -17
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +1 -12
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/page-list/convert-to-links-modal.js +1 -1
  95. package/build/page-list/convert-to-links-modal.js.map +1 -1
  96. package/build/page-list/edit.js +2 -1
  97. package/build/page-list/edit.js.map +1 -1
  98. package/build/page-list-item/edit.js +4 -1
  99. package/build/page-list-item/edit.js.map +1 -1
  100. package/build/paragraph/index.js +6 -0
  101. package/build/paragraph/index.js.map +1 -1
  102. package/build/paragraph/transforms.js +6 -0
  103. package/build/paragraph/transforms.js.map +1 -1
  104. package/build/post-author/index.js +8 -0
  105. package/build/post-author/index.js.map +1 -1
  106. package/build/post-author-biography/index.js +3 -0
  107. package/build/post-author-biography/index.js.map +1 -1
  108. package/build/post-author-name/index.js +3 -0
  109. package/build/post-author-name/index.js.map +1 -1
  110. package/build/post-content/index.js +3 -0
  111. package/build/post-content/index.js.map +1 -1
  112. package/build/post-date/edit.js +3 -1
  113. package/build/post-date/edit.js.map +1 -1
  114. package/build/post-date/index.js +3 -0
  115. package/build/post-date/index.js.map +1 -1
  116. package/build/post-excerpt/edit.js +1 -0
  117. package/build/post-excerpt/edit.js.map +1 -1
  118. package/build/post-excerpt/index.js +3 -0
  119. package/build/post-excerpt/index.js.map +1 -1
  120. package/build/post-featured-image/index.js +3 -0
  121. package/build/post-featured-image/index.js.map +1 -1
  122. package/build/post-terms/index.js +3 -0
  123. package/build/post-terms/index.js.map +1 -1
  124. package/build/post-title/edit.js +5 -1
  125. package/build/post-title/edit.js.map +1 -1
  126. package/build/post-title/index.js +3 -0
  127. package/build/post-title/index.js.map +1 -1
  128. package/build/query/edit/inspector-controls/author-control.js +3 -1
  129. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  130. package/build/query/edit/inspector-controls/index.js +27 -8
  131. package/build/query/edit/inspector-controls/index.js.map +1 -1
  132. package/build/query/edit/inspector-controls/order-control.js +1 -0
  133. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  134. package/build/query/edit/inspector-controls/parent-control.js +2 -1
  135. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  136. package/build/query/edit/inspector-controls/sticky-control.js +1 -0
  137. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  138. package/build/query/edit/inspector-controls/taxonomy-controls.js +5 -2
  139. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  140. package/build/query/edit/query-content.js +11 -2
  141. package/build/query/edit/query-content.js.map +1 -1
  142. package/build/query/edit/query-placeholder.js +1 -14
  143. package/build/query/edit/query-placeholder.js.map +1 -1
  144. package/build/query/edit/query-toolbar.js +54 -61
  145. package/build/query/edit/query-toolbar.js.map +1 -1
  146. package/build/query/index.js +34 -0
  147. package/build/query/index.js.map +1 -1
  148. package/build/query/utils.js +5 -1
  149. package/build/query/utils.js.map +1 -1
  150. package/build/query/variations.js +9 -55
  151. package/build/query/variations.js.map +1 -1
  152. package/build/query-pagination-numbers/edit.js +1 -0
  153. package/build/query-pagination-numbers/edit.js.map +1 -1
  154. package/build/query-title/edit.js +11 -19
  155. package/build/query-title/edit.js.map +1 -1
  156. package/build/query-title/use-archive-label.js +95 -0
  157. package/build/query-title/use-archive-label.js.map +1 -0
  158. package/build/quote/index.js +15 -1
  159. package/build/quote/index.js.map +1 -1
  160. package/build/search/index.js +3 -0
  161. package/build/search/index.js.map +1 -1
  162. package/build/site-logo/edit.js +4 -1
  163. package/build/site-logo/edit.js.map +1 -1
  164. package/build/site-tagline/edit.js +5 -2
  165. package/build/site-tagline/edit.js.map +1 -1
  166. package/build/site-tagline/index.js +6 -1
  167. package/build/site-tagline/index.js.map +1 -1
  168. package/build/site-title/edit.js +4 -1
  169. package/build/site-title/edit.js.map +1 -1
  170. package/build/site-title/index.js +6 -1
  171. package/build/site-title/index.js.map +1 -1
  172. package/build/social-link/edit.js +27 -7
  173. package/build/social-link/edit.js.map +1 -1
  174. package/build/social-link/icons/soundcloud.js +1 -1
  175. package/build/social-link/icons/soundcloud.js.map +1 -1
  176. package/build/social-links/index.js +12 -0
  177. package/build/social-links/index.js.map +1 -1
  178. package/build/table/edit.js +8 -17
  179. package/build/table/edit.js.map +1 -1
  180. package/build/tag-cloud/edit.js +4 -1
  181. package/build/tag-cloud/edit.js.map +1 -1
  182. package/build/template-part/edit/index.js +5 -3
  183. package/build/template-part/edit/index.js.map +1 -1
  184. package/build/template-part/edit/inner-blocks.js +8 -3
  185. package/build/template-part/edit/inner-blocks.js.map +1 -1
  186. package/build/template-part/edit/placeholder.js +23 -3
  187. package/build/template-part/edit/placeholder.js.map +1 -1
  188. package/build/template-part/edit/title-modal.js +21 -9
  189. package/build/template-part/edit/title-modal.js.map +1 -1
  190. package/build/term-description/index.js +12 -0
  191. package/build/term-description/index.js.map +1 -1
  192. package/build/utils/hooks.js +17 -1
  193. package/build/utils/hooks.js.map +1 -1
  194. package/build/video/deprecated.js +4 -0
  195. package/build/video/deprecated.js.map +1 -1
  196. package/build/video/edit.js +17 -7
  197. package/build/video/edit.js.map +1 -1
  198. package/build/video/index.js +4 -0
  199. package/build/video/index.js.map +1 -1
  200. package/build/video/transforms.js +1 -1
  201. package/build/video/transforms.js.map +1 -1
  202. package/build-module/audio/edit.js +20 -8
  203. package/build-module/audio/edit.js.map +1 -1
  204. package/build-module/audio/index.js +4 -0
  205. package/build-module/audio/index.js.map +1 -1
  206. package/build-module/audio/transforms.js +1 -1
  207. package/build-module/audio/transforms.js.map +1 -1
  208. package/build-module/block/edit.js +38 -24
  209. package/build-module/block/edit.js.map +1 -1
  210. package/build-module/block/index.js +5 -1
  211. package/build-module/block/index.js.map +1 -1
  212. package/build-module/button/edit.js +1 -1
  213. package/build-module/button/edit.js.map +1 -1
  214. package/build-module/buttons/index.js +26 -0
  215. package/build-module/buttons/index.js.map +1 -1
  216. package/build-module/categories/edit.js +21 -4
  217. package/build-module/categories/edit.js.map +1 -1
  218. package/build-module/categories/index.js +8 -0
  219. package/build-module/categories/index.js.map +1 -1
  220. package/build-module/columns/index.js +2 -2
  221. package/build-module/columns/index.js.map +1 -1
  222. package/build-module/cover/edit/inspector-controls.js +2 -1
  223. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  224. package/build-module/embed/embed-preview.js +4 -4
  225. package/build-module/embed/embed-preview.js.map +1 -1
  226. package/build-module/embed/variations.js +40 -35
  227. package/build-module/embed/variations.js.map +1 -1
  228. package/build-module/file/edit.js +15 -7
  229. package/build-module/file/edit.js.map +1 -1
  230. package/build-module/file/index.js +4 -0
  231. package/build-module/file/index.js.map +1 -1
  232. package/build-module/file/transforms.js +2 -3
  233. package/build-module/file/transforms.js.map +1 -1
  234. package/build-module/footnotes/index.js +1 -1
  235. package/build-module/footnotes/index.js.map +1 -1
  236. package/build-module/form-input/edit.js +2 -0
  237. package/build-module/form-input/edit.js.map +1 -1
  238. package/build-module/gallery/deprecated.js +6 -54
  239. package/build-module/gallery/deprecated.js.map +1 -1
  240. package/build-module/gallery/edit.js +10 -9
  241. package/build-module/gallery/edit.js.map +1 -1
  242. package/build-module/gallery/index.js +11 -1
  243. package/build-module/gallery/index.js.map +1 -1
  244. package/build-module/gallery/save.js +0 -11
  245. package/build-module/gallery/save.js.map +1 -1
  246. package/build-module/gallery/shared.js +0 -25
  247. package/build-module/gallery/shared.js.map +1 -1
  248. package/build-module/gallery/transforms.js +29 -80
  249. package/build-module/gallery/transforms.js.map +1 -1
  250. package/build-module/group/deprecated.js +2 -5
  251. package/build-module/group/deprecated.js.map +1 -1
  252. package/build-module/group/index.js +1 -0
  253. package/build-module/group/index.js.map +1 -1
  254. package/build-module/group/placeholder.js +5 -0
  255. package/build-module/group/placeholder.js.map +1 -1
  256. package/build-module/heading/index.js +14 -1
  257. package/build-module/heading/index.js.map +1 -1
  258. package/build-module/image/edit.js +13 -21
  259. package/build-module/image/edit.js.map +1 -1
  260. package/build-module/image/image.js +50 -24
  261. package/build-module/image/image.js.map +1 -1
  262. package/build-module/image/index.js +7 -0
  263. package/build-module/image/index.js.map +1 -1
  264. package/build-module/image/transforms.js +1 -1
  265. package/build-module/image/transforms.js.map +1 -1
  266. package/build-module/image/view.js +65 -49
  267. package/build-module/image/view.js.map +1 -1
  268. package/build-module/latest-comments/index.js +9 -0
  269. package/build-module/latest-comments/index.js.map +1 -1
  270. package/build-module/list/edit.js +3 -3
  271. package/build-module/list/edit.js.map +1 -1
  272. package/build-module/list-item/edit.js +3 -3
  273. package/build-module/list-item/edit.js.map +1 -1
  274. package/build-module/list-item/hooks/index.js +0 -1
  275. package/build-module/list-item/hooks/index.js.map +1 -1
  276. package/build-module/list-item/hooks/use-merge.js +8 -1
  277. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  278. package/build-module/list-item/index.js +11 -1
  279. package/build-module/list-item/index.js.map +1 -1
  280. package/build-module/loginout/index.js +3 -0
  281. package/build-module/loginout/index.js.map +1 -1
  282. package/build-module/media-text/edit.js +3 -2
  283. package/build-module/media-text/edit.js.map +1 -1
  284. package/build-module/media-text/index.js +12 -0
  285. package/build-module/media-text/index.js.map +1 -1
  286. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  287. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  288. package/build-module/navigation/use-navigation-menu.js +5 -1
  289. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  290. package/build-module/navigation-link/link-ui.js +13 -17
  291. package/build-module/navigation-link/link-ui.js.map +1 -1
  292. package/build-module/navigation-submenu/edit.js +1 -12
  293. package/build-module/navigation-submenu/edit.js.map +1 -1
  294. package/build-module/page-list/convert-to-links-modal.js +1 -1
  295. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  296. package/build-module/page-list/edit.js +2 -1
  297. package/build-module/page-list/edit.js.map +1 -1
  298. package/build-module/page-list-item/edit.js +4 -1
  299. package/build-module/page-list-item/edit.js.map +1 -1
  300. package/build-module/paragraph/index.js +6 -0
  301. package/build-module/paragraph/index.js.map +1 -1
  302. package/build-module/paragraph/transforms.js +6 -0
  303. package/build-module/paragraph/transforms.js.map +1 -1
  304. package/build-module/post-author/index.js +8 -0
  305. package/build-module/post-author/index.js.map +1 -1
  306. package/build-module/post-author-biography/index.js +3 -0
  307. package/build-module/post-author-biography/index.js.map +1 -1
  308. package/build-module/post-author-name/index.js +3 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-content/index.js +3 -0
  311. package/build-module/post-content/index.js.map +1 -1
  312. package/build-module/post-date/edit.js +4 -2
  313. package/build-module/post-date/edit.js.map +1 -1
  314. package/build-module/post-date/index.js +3 -0
  315. package/build-module/post-date/index.js.map +1 -1
  316. package/build-module/post-excerpt/edit.js +1 -0
  317. package/build-module/post-excerpt/edit.js.map +1 -1
  318. package/build-module/post-excerpt/index.js +3 -0
  319. package/build-module/post-excerpt/index.js.map +1 -1
  320. package/build-module/post-featured-image/index.js +3 -0
  321. package/build-module/post-featured-image/index.js.map +1 -1
  322. package/build-module/post-terms/index.js +3 -0
  323. package/build-module/post-terms/index.js.map +1 -1
  324. package/build-module/post-title/edit.js +5 -1
  325. package/build-module/post-title/edit.js.map +1 -1
  326. package/build-module/post-title/index.js +3 -0
  327. package/build-module/post-title/index.js.map +1 -1
  328. package/build-module/query/edit/inspector-controls/author-control.js +3 -1
  329. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  330. package/build-module/query/edit/inspector-controls/index.js +28 -9
  331. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  332. package/build-module/query/edit/inspector-controls/order-control.js +1 -0
  333. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  334. package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
  335. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
  337. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +6 -4
  339. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  340. package/build-module/query/edit/query-content.js +11 -2
  341. package/build-module/query/edit/query-content.js.map +1 -1
  342. package/build-module/query/edit/query-placeholder.js +1 -14
  343. package/build-module/query/edit/query-placeholder.js.map +1 -1
  344. package/build-module/query/edit/query-toolbar.js +55 -62
  345. package/build-module/query/edit/query-toolbar.js.map +1 -1
  346. package/build-module/query/index.js +34 -0
  347. package/build-module/query/index.js.map +1 -1
  348. package/build-module/query/utils.js +5 -1
  349. package/build-module/query/utils.js.map +1 -1
  350. package/build-module/query/variations.js +4 -50
  351. package/build-module/query/variations.js.map +1 -1
  352. package/build-module/query-pagination-numbers/edit.js +1 -0
  353. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  354. package/build-module/query-title/edit.js +12 -20
  355. package/build-module/query-title/edit.js.map +1 -1
  356. package/build-module/query-title/use-archive-label.js +88 -0
  357. package/build-module/query-title/use-archive-label.js.map +1 -0
  358. package/build-module/quote/index.js +15 -1
  359. package/build-module/quote/index.js.map +1 -1
  360. package/build-module/search/index.js +3 -0
  361. package/build-module/search/index.js.map +1 -1
  362. package/build-module/site-logo/edit.js +4 -1
  363. package/build-module/site-logo/edit.js.map +1 -1
  364. package/build-module/site-tagline/edit.js +5 -2
  365. package/build-module/site-tagline/edit.js.map +1 -1
  366. package/build-module/site-tagline/index.js +6 -1
  367. package/build-module/site-tagline/index.js.map +1 -1
  368. package/build-module/site-title/edit.js +4 -1
  369. package/build-module/site-title/edit.js.map +1 -1
  370. package/build-module/site-title/index.js +6 -1
  371. package/build-module/site-title/index.js.map +1 -1
  372. package/build-module/social-link/edit.js +28 -8
  373. package/build-module/social-link/edit.js.map +1 -1
  374. package/build-module/social-link/icons/soundcloud.js +1 -1
  375. package/build-module/social-link/icons/soundcloud.js.map +1 -1
  376. package/build-module/social-links/index.js +12 -0
  377. package/build-module/social-links/index.js.map +1 -1
  378. package/build-module/table/edit.js +9 -18
  379. package/build-module/table/edit.js.map +1 -1
  380. package/build-module/tag-cloud/edit.js +4 -1
  381. package/build-module/tag-cloud/edit.js.map +1 -1
  382. package/build-module/template-part/edit/index.js +5 -3
  383. package/build-module/template-part/edit/index.js.map +1 -1
  384. package/build-module/template-part/edit/inner-blocks.js +8 -3
  385. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  386. package/build-module/template-part/edit/placeholder.js +23 -3
  387. package/build-module/template-part/edit/placeholder.js.map +1 -1
  388. package/build-module/template-part/edit/title-modal.js +21 -9
  389. package/build-module/template-part/edit/title-modal.js.map +1 -1
  390. package/build-module/term-description/index.js +12 -0
  391. package/build-module/term-description/index.js.map +1 -1
  392. package/build-module/utils/hooks.js +16 -1
  393. package/build-module/utils/hooks.js.map +1 -1
  394. package/build-module/video/deprecated.js +4 -0
  395. package/build-module/video/deprecated.js.map +1 -1
  396. package/build-module/video/edit.js +18 -8
  397. package/build-module/video/edit.js.map +1 -1
  398. package/build-module/video/index.js +4 -0
  399. package/build-module/video/index.js.map +1 -1
  400. package/build-module/video/transforms.js +1 -1
  401. package/build-module/video/transforms.js.map +1 -1
  402. package/build-style/categories/editor-rtl.css +4 -0
  403. package/build-style/categories/editor.css +4 -0
  404. package/build-style/categories/style-rtl.css +4 -0
  405. package/build-style/categories/style.css +4 -0
  406. package/build-style/editor-rtl.css +16 -12
  407. package/build-style/editor.css +16 -12
  408. package/build-style/image/editor-rtl.css +8 -4
  409. package/build-style/image/editor.css +8 -4
  410. package/build-style/image/style-rtl.css +19 -0
  411. package/build-style/image/style.css +19 -0
  412. package/build-style/list/style-rtl.css +1 -1
  413. package/build-style/list/style.css +1 -1
  414. package/build-style/navigation/style-rtl.css +1 -4
  415. package/build-style/navigation/style.css +1 -4
  416. package/build-style/post-comments-form/style-rtl.css +12 -11
  417. package/build-style/post-comments-form/style.css +12 -11
  418. package/build-style/query/editor-rtl.css +3 -7
  419. package/build-style/query/editor.css +3 -7
  420. package/build-style/search/editor-rtl.css +1 -1
  421. package/build-style/search/editor.css +1 -1
  422. package/build-style/social-links/style-rtl.css +93 -93
  423. package/build-style/social-links/style.css +93 -93
  424. package/build-style/style-rtl.css +131 -109
  425. package/build-style/style.css +131 -109
  426. package/build-style/term-description/style-rtl.css +1 -0
  427. package/build-style/term-description/style.css +1 -0
  428. package/package.json +35 -35
  429. package/src/audio/block.json +4 -0
  430. package/src/audio/edit.js +19 -7
  431. package/src/audio/transforms.js +1 -1
  432. package/src/block/block.json +5 -1
  433. package/src/block/edit.js +58 -28
  434. package/src/block/test/edit.native.js +6 -2
  435. package/src/button/edit.js +1 -1
  436. package/src/button/index.php +14 -1
  437. package/src/buttons/block.json +20 -0
  438. package/src/buttons/index.js +6 -0
  439. package/src/categories/block.json +8 -0
  440. package/src/categories/edit.js +32 -4
  441. package/src/categories/editor.scss +4 -0
  442. package/src/categories/index.php +4 -1
  443. package/src/categories/style.scss +4 -0
  444. package/src/columns/index.js +1 -1
  445. package/src/cover/edit/inspector-controls.js +1 -0
  446. package/src/embed/embed-preview.js +4 -6
  447. package/src/embed/test/__snapshots__/index.native.js.snap +8 -8
  448. package/src/embed/test/index.js +1 -1
  449. package/src/embed/test/index.native.js +24 -23
  450. package/src/embed/variations.js +43 -35
  451. package/src/file/block.json +4 -0
  452. package/src/file/edit.js +19 -6
  453. package/src/file/transforms.js +1 -2
  454. package/src/footnotes/index.js +1 -2
  455. package/src/form-input/edit.js +2 -0
  456. package/src/gallery/block.json +10 -0
  457. package/src/gallery/deprecated.js +6 -55
  458. package/src/gallery/edit.js +13 -10
  459. package/src/gallery/gallery-styles.native.scss +0 -2
  460. package/src/gallery/index.js +1 -1
  461. package/src/gallery/save.js +0 -10
  462. package/src/gallery/shared.js +0 -28
  463. package/src/gallery/transforms.js +56 -99
  464. package/src/group/block.json +1 -0
  465. package/src/group/deprecated.js +3 -7
  466. package/src/group/placeholder.js +7 -0
  467. package/src/heading/block.json +12 -0
  468. package/src/heading/index.js +1 -0
  469. package/src/image/block.json +7 -0
  470. package/src/image/edit.js +11 -20
  471. package/src/image/editor.scss +6 -1
  472. package/src/image/image.js +91 -49
  473. package/src/image/index.php +58 -20
  474. package/src/image/style.scss +22 -0
  475. package/src/image/test/edit.native.js +1 -0
  476. package/src/image/transforms.js +1 -1
  477. package/src/image/view.js +69 -49
  478. package/src/latest-comments/block.json +9 -0
  479. package/src/list/edit.js +3 -3
  480. package/src/list/style.scss +1 -1
  481. package/src/list-item/block.json +11 -1
  482. package/src/list-item/edit.js +3 -3
  483. package/src/list-item/hooks/index.js +0 -1
  484. package/src/list-item/hooks/use-merge.js +19 -5
  485. package/src/loginout/block.json +3 -0
  486. package/src/media-text/block.json +12 -0
  487. package/src/media-text/edit.js +3 -2
  488. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  489. package/src/navigation/index.php +1 -1
  490. package/src/navigation/style.scss +4 -9
  491. package/src/navigation/test/use-navigation-menu.js +54 -15
  492. package/src/navigation/use-navigation-menu.js +5 -1
  493. package/src/navigation-link/link-ui.js +8 -14
  494. package/src/navigation-submenu/edit.js +2 -14
  495. package/src/page-list/convert-to-links-modal.js +1 -1
  496. package/src/page-list/edit.js +2 -1
  497. package/src/page-list-item/edit.js +4 -4
  498. package/src/paragraph/block.json +6 -0
  499. package/src/post-author/index.js +8 -0
  500. package/src/post-author-biography/block.json +3 -0
  501. package/src/post-author-name/block.json +3 -0
  502. package/src/post-comments-form/style.scss +16 -13
  503. package/src/post-content/block.json +3 -0
  504. package/src/post-date/block.json +3 -0
  505. package/src/post-date/edit.js +5 -1
  506. package/src/post-date/index.php +8 -2
  507. package/src/post-excerpt/block.json +3 -0
  508. package/src/post-excerpt/edit.js +1 -0
  509. package/src/post-featured-image/block.json +3 -0
  510. package/src/post-terms/block.json +3 -0
  511. package/src/post-title/block.json +3 -0
  512. package/src/post-title/edit.js +5 -5
  513. package/src/query/edit/inspector-controls/author-control.js +2 -0
  514. package/src/query/edit/inspector-controls/index.js +44 -16
  515. package/src/query/edit/inspector-controls/order-control.js +1 -0
  516. package/src/query/edit/inspector-controls/parent-control.js +1 -0
  517. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  518. package/src/query/edit/inspector-controls/taxonomy-controls.js +8 -3
  519. package/src/query/edit/query-content.js +17 -3
  520. package/src/query/edit/query-placeholder.js +1 -21
  521. package/src/query/edit/query-toolbar.js +60 -72
  522. package/src/query/editor.scss +4 -9
  523. package/src/query/index.js +40 -0
  524. package/src/query/utils.js +4 -0
  525. package/src/query/variations.js +4 -46
  526. package/src/query-pagination-numbers/edit.js +1 -0
  527. package/src/query-title/edit.js +10 -17
  528. package/src/query-title/use-archive-label.js +99 -0
  529. package/src/quote/block.json +15 -1
  530. package/src/search/block.json +3 -0
  531. package/src/search/editor.scss +1 -1
  532. package/src/site-logo/edit.js +4 -1
  533. package/src/site-tagline/block.json +6 -1
  534. package/src/site-tagline/edit.js +5 -2
  535. package/src/site-title/edit.js +4 -1
  536. package/src/site-title/index.js +6 -1
  537. package/src/social-link/edit.js +29 -3
  538. package/src/social-link/icons/soundcloud.js +1 -1
  539. package/src/social-link/socials-with-bg.scss +1 -1
  540. package/src/social-link/socials-without-bg.scss +1 -1
  541. package/src/social-links/block.json +12 -0
  542. package/src/social-links/style.scss +2 -2
  543. package/src/table/edit.js +11 -24
  544. package/src/tag-cloud/edit.js +7 -1
  545. package/src/template-part/edit/index.js +5 -3
  546. package/src/template-part/edit/inner-blocks.js +8 -5
  547. package/src/template-part/edit/placeholder.js +31 -6
  548. package/src/template-part/edit/title-modal.js +19 -5
  549. package/src/term-description/block.json +12 -0
  550. package/src/term-description/style.scss +2 -0
  551. package/src/utils/hooks.js +19 -2
  552. package/src/video/block.json +4 -0
  553. package/src/video/edit.js +23 -8
  554. package/src/video/transforms.js +1 -1
  555. package/tsconfig.tsbuildinfo +1 -1
  556. package/build/gallery/edit-wrapper.js +0 -37
  557. package/build/gallery/edit-wrapper.js.map +0 -1
  558. package/build/gallery/v1/constants.js +0 -10
  559. package/build/gallery/v1/constants.js.map +0 -1
  560. package/build/gallery/v1/edit.js +0 -399
  561. package/build/gallery/v1/edit.js.map +0 -1
  562. package/build/gallery/v1/gallery-button.native.js +0 -55
  563. package/build/gallery/v1/gallery-button.native.js.map +0 -1
  564. package/build/gallery/v1/gallery-image.js +0 -285
  565. package/build/gallery/v1/gallery-image.js.map +0 -1
  566. package/build/gallery/v1/gallery-image.native.js +0 -297
  567. package/build/gallery/v1/gallery-image.native.js.map +0 -1
  568. package/build/gallery/v1/gallery.js +0 -112
  569. package/build/gallery/v1/gallery.js.map +0 -1
  570. package/build/gallery/v1/gallery.native.js +0 -139
  571. package/build/gallery/v1/gallery.native.js.map +0 -1
  572. package/build/gallery/v1/save.js +0 -81
  573. package/build/gallery/v1/save.js.map +0 -1
  574. package/build/gallery/v1/shared.js +0 -17
  575. package/build/gallery/v1/shared.js.map +0 -1
  576. package/build/gallery/v1/tiles.native.js +0 -83
  577. package/build/gallery/v1/tiles.native.js.map +0 -1
  578. package/build/list-item/hooks/use-split.js +0 -39
  579. package/build/list-item/hooks/use-split.js.map +0 -1
  580. package/build/utils/constants.js +0 -15
  581. package/build/utils/constants.js.map +0 -1
  582. package/build-module/gallery/edit-wrapper.js +0 -31
  583. package/build-module/gallery/edit-wrapper.js.map +0 -1
  584. package/build-module/gallery/v1/constants.js +0 -4
  585. package/build-module/gallery/v1/constants.js.map +0 -1
  586. package/build-module/gallery/v1/edit.js +0 -393
  587. package/build-module/gallery/v1/edit.js.map +0 -1
  588. package/build-module/gallery/v1/gallery-button.native.js +0 -46
  589. package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
  590. package/build-module/gallery/v1/gallery-image.js +0 -279
  591. package/build-module/gallery/v1/gallery-image.js.map +0 -1
  592. package/build-module/gallery/v1/gallery-image.native.js +0 -291
  593. package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
  594. package/build-module/gallery/v1/gallery.js +0 -104
  595. package/build-module/gallery/v1/gallery.js.map +0 -1
  596. package/build-module/gallery/v1/gallery.native.js +0 -131
  597. package/build-module/gallery/v1/gallery.native.js.map +0 -1
  598. package/build-module/gallery/v1/save.js +0 -74
  599. package/build-module/gallery/v1/save.js.map +0 -1
  600. package/build-module/gallery/v1/shared.js +0 -10
  601. package/build-module/gallery/v1/shared.js.map +0 -1
  602. package/build-module/gallery/v1/tiles.native.js +0 -75
  603. package/build-module/gallery/v1/tiles.native.js.map +0 -1
  604. package/build-module/list-item/hooks/use-split.js +0 -32
  605. package/build-module/list-item/hooks/use-split.js.map +0 -1
  606. package/build-module/utils/constants.js +0 -9
  607. package/build-module/utils/constants.js.map +0 -1
  608. package/src/gallery/edit-wrapper.js +0 -27
  609. package/src/gallery/v1/constants.js +0 -3
  610. package/src/gallery/v1/edit.js +0 -450
  611. package/src/gallery/v1/gallery-button.native.js +0 -47
  612. package/src/gallery/v1/gallery-image-style.native.scss +0 -109
  613. package/src/gallery/v1/gallery-image.js +0 -293
  614. package/src/gallery/v1/gallery-image.native.js +0 -348
  615. package/src/gallery/v1/gallery-styles.native.scss +0 -8
  616. package/src/gallery/v1/gallery.js +0 -125
  617. package/src/gallery/v1/gallery.native.js +0 -162
  618. package/src/gallery/v1/save.js +0 -98
  619. package/src/gallery/v1/shared.js +0 -19
  620. package/src/gallery/v1/tiles-styles.native.scss +0 -11
  621. package/src/gallery/v1/tiles.native.js +0 -79
  622. package/src/list-item/hooks/use-split.js +0 -33
  623. package/src/utils/constants.js +0 -8
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.4.0 (2024-07-24)
6
+
7
+ ## 9.3.0 (2024-07-10)
8
+
5
9
  ## 9.2.0 (2024-06-26)
6
10
 
7
11
  ## 9.1.0 (2024-06-15)
@@ -13,6 +13,7 @@ var _i18n = require("@wordpress/i18n");
13
13
  var _data = require("@wordpress/data");
14
14
  var _icons = require("@wordpress/icons");
15
15
  var _notices = require("@wordpress/notices");
16
+ var _element = require("@wordpress/element");
16
17
  var _util = require("../embed/util");
17
18
  var _hooks = require("../utils/hooks");
18
19
  var _caption = require("../utils/caption");
@@ -45,9 +46,9 @@ function AudioEdit({
45
46
  preload,
46
47
  src
47
48
  } = attributes;
48
- const isTemporaryAudio = !id && (0, _blob.isBlobURL)(src);
49
+ const [temporaryURL, setTemporaryURL] = (0, _element.useState)(attributes.blob);
49
50
  (0, _hooks.useUploadMediaFromBlobURL)({
50
- url: src,
51
+ url: temporaryURL,
51
52
  allowedTypes: ALLOWED_MEDIA_TYPES,
52
53
  onChange: onSelectAudio,
53
54
  onError: onUploadError
@@ -75,8 +76,10 @@ function AudioEdit({
75
76
  }
76
77
  setAttributes({
77
78
  src: newSrc,
78
- id: undefined
79
+ id: undefined,
80
+ blob: undefined
79
81
  });
82
+ setTemporaryURL();
80
83
  }
81
84
  }
82
85
  const {
@@ -97,25 +100,34 @@ function AudioEdit({
97
100
  setAttributes({
98
101
  src: undefined,
99
102
  id: undefined,
100
- caption: undefined
103
+ caption: undefined,
104
+ blob: undefined
101
105
  });
106
+ setTemporaryURL();
107
+ return;
108
+ }
109
+ if ((0, _blob.isBlobURL)(media.url)) {
110
+ setTemporaryURL(media.url);
102
111
  return;
103
112
  }
113
+
104
114
  // Sets the block's attribute and updates the edit component from the
105
115
  // selected media, then switches off the editing UI.
106
116
  setAttributes({
117
+ blob: undefined,
107
118
  src: media.url,
108
119
  id: media.id,
109
120
  caption: media.caption
110
121
  });
122
+ setTemporaryURL();
111
123
  }
112
124
  const classes = (0, _clsx.default)(className, {
113
- 'is-transient': isTemporaryAudio
125
+ 'is-transient': !!temporaryURL
114
126
  });
115
127
  const blockProps = (0, _blockEditor.useBlockProps)({
116
128
  className: classes
117
129
  });
118
- if (!src) {
130
+ if (!src && !temporaryURL) {
119
131
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
120
132
  ...blockProps,
121
133
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaPlaceholder, {
@@ -187,9 +199,9 @@ function AudioEdit({
187
199
  isDisabled: !isSingleSelected,
188
200
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("audio", {
189
201
  controls: "controls",
190
- src: src
202
+ src: src !== null && src !== void 0 ? src : temporaryURL
191
203
  })
192
- }), isTemporaryAudio && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_caption.Caption, {
204
+ }), !!temporaryURL && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_caption.Caption, {
193
205
  attributes: attributes,
194
206
  setAttributes: setAttributes,
195
207
  isSelected: isSingleSelected,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_i18n","_data","_icons","_notices","_util","_hooks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","media","caption","classes","clsx","blockProps","useBlockProps","jsx","children","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","jsxs","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\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={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_i18n","_data","_icons","_notices","_element","_util","_hooks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","media","caption","isBlobURL","classes","clsx","blockProps","useBlockProps","jsx","children","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","jsxs","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, blob: undefined } );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\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={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src ?? temporaryURL } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,10 @@ const metadata = exports.metadata = {
27
27
  keywords: ["music", "sound", "podcast", "recording"],
28
28
  textdomain: "default",
29
29
  attributes: {
30
+ blob: {
31
+ type: "string",
32
+ __experimentalRole: "local"
33
+ },
30
34
  src: {
31
35
  type: "string",
32
36
  source: "attribute",
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","src","type","source","selector","attribute","__experimentalRole","caption","id","autoplay","loop","preload","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","settings","icon","example","viewportWidth","transforms","deprecated","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/audio/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { audio as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t},\n\t\tviewportWidth: 350,\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAbA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAO,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAC,kBAAA;IAAA;IAAAC,OAAA;MAAAL,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAE,kBAAA;IAAA;IAAAE,EAAA;MAAAN,IAAA;MAAAI,kBAAA;IAAA;IAAAG,QAAA;MAAAP,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAK,IAAA;MAAAR,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAM,OAAA;MAAAT,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAUA,MAAM;EAAE5B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM6B,QAAQ,GAAAhC,OAAA,CAAAgC,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,OAAO,EAAE;IACRzB,UAAU,EAAE;MACXC,GAAG,EAAE;IACN,CAAC;IACDyB,aAAa,EAAE;EAChB,CAAC;EACDC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEtC,IAAI;EAAEJ,QAAQ;EAAEiC;AAAS,CAAE,CAAC;AAAChC,OAAA,CAAAwC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","blob","type","__experimentalRole","src","source","selector","attribute","caption","id","autoplay","loop","preload","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","settings","icon","example","viewportWidth","transforms","deprecated","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/audio/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { audio as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t},\n\t\tviewportWidth: 350,\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAbA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAO,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAC,IAAA;MAAAC,kBAAA;IAAA;IAAAC,GAAA;MAAAF,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAJ,kBAAA;IAAA;IAAAK,OAAA;MAAAN,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAH,kBAAA;IAAA;IAAAM,EAAA;MAAAP,IAAA;MAAAC,kBAAA;IAAA;IAAAO,QAAA;MAAAR,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAI,IAAA;MAAAT,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAK,OAAA;MAAAV,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;EAAA;EAAAM,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAUA,MAAM;EAAE7B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM8B,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,OAAO,EAAE;IACR1B,UAAU,EAAE;MACXI,GAAG,EAAE;IACN,CAAC;IACDuB,aAAa,EAAE;EAChB,CAAC;EACDC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEvC,IAAI;EAAEJ,QAAQ;EAAEkC;AAAS,CAAE,CAAC;AAACjC,OAAA,CAAAyC,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -22,7 +22,7 @@ const transforms = {
22
22
  // It's already done as part of the `componentDidMount`
23
23
  // in the audio block.
24
24
  const block = (0, _blocks.createBlock)('core/audio', {
25
- src: (0, _blob.createBlobURL)(file)
25
+ blob: (0, _blob.createBlobURL)(file)
26
26
  });
27
27
  return block;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_blob","require","_blocks","transforms","from","type","isMatch","files","length","indexOf","transform","file","block","createBlock","src","createBlobURL","tag","attributes","shortcode","named","mp3","m4a","ogg","wav","wma","loop","autoplay","preload","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length === 1 &&\n\t\t\t\t\tfiles[ 0 ].type.indexOf( 'audio/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst file = files[ 0 ];\n\t\t\t\t// We don't need to upload the media directly here\n\t\t\t\t// It's already done as part of the `componentDidMount`\n\t\t\t\t// in the audio block.\n\t\t\t\tconst block = createBlock( 'core/audio', {\n\t\t\t\t\tsrc: createBlobURL( file ),\n\t\t\t\t} );\n\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'audio',\n\t\t\tattributes: {\n\t\t\t\tsrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( {\n\t\t\t\t\t\tnamed: { src, mp3, m4a, ogg, wav, wma },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\treturn src || mp3 || m4a || ogg || wav || wma;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloop: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { loop } } ) => {\n\t\t\t\t\t\treturn loop;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tautoplay: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { autoplay } } ) => {\n\t\t\t\t\t\treturn autoplay;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpreload: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { preload } } ) => {\n\t\t\t\t\t\treturn preload;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,OAAOA,CAAEC,KAAK,EAAG;MAChB,OACCA,KAAK,CAACC,MAAM,KAAK,CAAC,IAClBD,KAAK,CAAE,CAAC,CAAE,CAACF,IAAI,CAACI,OAAO,CAAE,QAAS,CAAC,KAAK,CAAC;IAE3C,CAAC;IACDC,SAASA,CAAEH,KAAK,EAAG;MAClB,MAAMI,IAAI,GAAGJ,KAAK,CAAE,CAAC,CAAE;MACvB;MACA;MACA;MACA,MAAMK,KAAK,GAAG,IAAAC,mBAAW,EAAE,YAAY,EAAE;QACxCC,GAAG,EAAE,IAAAC,mBAAa,EAAEJ,IAAK;MAC1B,CAAE,CAAC;MAEH,OAAOC,KAAK;IACb;EACD,CAAC,EACD;IACCP,IAAI,EAAE,WAAW;IACjBW,GAAG,EAAE,OAAO;IACZC,UAAU,EAAE;MACXH,GAAG,EAAE;QACJT,IAAI,EAAE,QAAQ;QACda,SAAS,EAAEA,CAAE;UACZC,KAAK,EAAE;YAAEL,GAAG;YAAEM,GAAG;YAAEC,GAAG;YAAEC,GAAG;YAAEC,GAAG;YAAEC;UAAI;QACvC,CAAC,KAAM;UACN,OAAOV,GAAG,IAAIM,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG;QAC9C;MACD,CAAC;MACDC,IAAI,EAAE;QACLpB,IAAI,EAAE,QAAQ;QACda,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEM;UAAK;QAAE,CAAC,KAAM;UACrC,OAAOA,IAAI;QACZ;MACD,CAAC;MACDC,QAAQ,EAAE;QACTrB,IAAI,EAAE,QAAQ;QACda,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEO;UAAS;QAAE,CAAC,KAAM;UACzC,OAAOA,QAAQ;QAChB;MACD,CAAC;MACDC,OAAO,EAAE;QACRtB,IAAI,EAAE,QAAQ;QACda,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEQ;UAAQ;QAAE,CAAC,KAAM;UACxC,OAAOA,OAAO;QACf;MACD;IACD;EACD,CAAC;AAEH,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa3B,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_blob","require","_blocks","transforms","from","type","isMatch","files","length","indexOf","transform","file","block","createBlock","blob","createBlobURL","tag","attributes","src","shortcode","named","mp3","m4a","ogg","wav","wma","loop","autoplay","preload","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length === 1 &&\n\t\t\t\t\tfiles[ 0 ].type.indexOf( 'audio/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst file = files[ 0 ];\n\t\t\t\t// We don't need to upload the media directly here\n\t\t\t\t// It's already done as part of the `componentDidMount`\n\t\t\t\t// in the audio block.\n\t\t\t\tconst block = createBlock( 'core/audio', {\n\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t} );\n\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'audio',\n\t\t\tattributes: {\n\t\t\t\tsrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( {\n\t\t\t\t\t\tnamed: { src, mp3, m4a, ogg, wav, wma },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\treturn src || mp3 || m4a || ogg || wav || wma;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloop: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { loop } } ) => {\n\t\t\t\t\t\treturn loop;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tautoplay: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { autoplay } } ) => {\n\t\t\t\t\t\treturn autoplay;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpreload: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { preload } } ) => {\n\t\t\t\t\t\treturn preload;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,OAAOA,CAAEC,KAAK,EAAG;MAChB,OACCA,KAAK,CAACC,MAAM,KAAK,CAAC,IAClBD,KAAK,CAAE,CAAC,CAAE,CAACF,IAAI,CAACI,OAAO,CAAE,QAAS,CAAC,KAAK,CAAC;IAE3C,CAAC;IACDC,SAASA,CAAEH,KAAK,EAAG;MAClB,MAAMI,IAAI,GAAGJ,KAAK,CAAE,CAAC,CAAE;MACvB;MACA;MACA;MACA,MAAMK,KAAK,GAAG,IAAAC,mBAAW,EAAE,YAAY,EAAE;QACxCC,IAAI,EAAE,IAAAC,mBAAa,EAAEJ,IAAK;MAC3B,CAAE,CAAC;MAEH,OAAOC,KAAK;IACb;EACD,CAAC,EACD;IACCP,IAAI,EAAE,WAAW;IACjBW,GAAG,EAAE,OAAO;IACZC,UAAU,EAAE;MACXC,GAAG,EAAE;QACJb,IAAI,EAAE,QAAQ;QACdc,SAAS,EAAEA,CAAE;UACZC,KAAK,EAAE;YAAEF,GAAG;YAAEG,GAAG;YAAEC,GAAG;YAAEC,GAAG;YAAEC,GAAG;YAAEC;UAAI;QACvC,CAAC,KAAM;UACN,OAAOP,GAAG,IAAIG,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG;QAC9C;MACD,CAAC;MACDC,IAAI,EAAE;QACLrB,IAAI,EAAE,QAAQ;QACdc,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEM;UAAK;QAAE,CAAC,KAAM;UACrC,OAAOA,IAAI;QACZ;MACD,CAAC;MACDC,QAAQ,EAAE;QACTtB,IAAI,EAAE,QAAQ;QACdc,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEO;UAAS;QAAE,CAAC,KAAM;UACzC,OAAOA,QAAQ;QAChB;MACD,CAAC;MACDC,OAAO,EAAE;QACRvB,IAAI,EAAE,QAAQ;QACdc,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEQ;UAAQ;QAAE,CAAC,KAAM;UACxC,OAAOA,OAAO;QACf;MACD;IACD;EACD,CAAC;AAEH,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,UAAU","ignoreList":[]}
@@ -99,6 +99,37 @@ function ReusableBlockEditRecursionWrapper(props) {
99
99
  })
100
100
  });
101
101
  }
102
+ function ReusableBlockControl({
103
+ recordId,
104
+ canOverrideBlocks,
105
+ hasContent,
106
+ handleEditOriginal,
107
+ resetContent
108
+ }) {
109
+ const canUserEdit = (0, _data.useSelect)(select => !!select(_coreData.store).canUser('update', {
110
+ kind: 'postType',
111
+ name: 'wp_block',
112
+ id: recordId
113
+ }), [recordId]);
114
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
115
+ children: [canUserEdit && !!handleEditOriginal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
117
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
118
+ onClick: handleEditOriginal,
119
+ children: (0, _i18n.__)('Edit original')
120
+ })
121
+ })
122
+ }), canOverrideBlocks && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
124
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
125
+ onClick: resetContent,
126
+ disabled: !hasContent,
127
+ children: (0, _i18n.__)('Reset')
128
+ })
129
+ })
130
+ })]
131
+ });
132
+ }
102
133
  function ReusableBlockEdit({
103
134
  name,
104
135
  attributes: {
@@ -123,14 +154,10 @@ function ReusableBlockEdit({
123
154
  } = (0, _data.useDispatch)(_blockEditor.store);
124
155
  const {
125
156
  innerBlocks,
126
- userCanEdit,
127
157
  onNavigateToEntityRecord,
128
158
  editingMode,
129
159
  hasPatternOverridesSource
130
160
  } = (0, _data.useSelect)(select => {
131
- const {
132
- canUser
133
- } = select(_coreData.store);
134
161
  const {
135
162
  getBlocks,
136
163
  getSettings,
@@ -139,18 +166,15 @@ function ReusableBlockEdit({
139
166
  const {
140
167
  getBlockBindingsSource
141
168
  } = (0, _lockUnlock.unlock)(select(_blocks.store));
142
- const canEdit = canUser('update', 'blocks', ref);
143
-
144
169
  // For editing link to the site editor if the theme and user permissions support it.
145
170
  return {
146
171
  innerBlocks: getBlocks(patternClientId),
147
- userCanEdit: canEdit,
148
172
  getBlockEditingMode: _getBlockEditingMode,
149
173
  onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
150
174
  editingMode: _getBlockEditingMode(patternClientId),
151
175
  hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
152
176
  };
153
- }, [patternClientId, ref]);
177
+ }, [patternClientId]);
154
178
 
155
179
  // Sync the editing mode of the pattern block with the inner blocks.
156
180
  (0, _element.useEffect)(() => {
@@ -208,22 +232,12 @@ function ReusableBlockEdit({
208
232
  });
209
233
  }
210
234
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
211
- children: [userCanEdit && onNavigateToEntityRecord && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
212
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
213
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
214
- onClick: handleEditOriginal,
215
- children: (0, _i18n.__)('Edit original')
216
- })
217
- })
218
- }), canOverrideBlocks && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
219
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
220
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
221
- onClick: resetContent,
222
- disabled: !content,
223
- __experimentalIsFocusable: true,
224
- children: (0, _i18n.__)('Reset')
225
- })
226
- })
235
+ children: [hasResolved && /*#__PURE__*/(0, _jsxRuntime.jsx)(ReusableBlockControl, {
236
+ recordId: ref,
237
+ canOverrideBlocks: canOverrideBlocks,
238
+ hasContent: !!content,
239
+ handleEditOriginal: onNavigateToEntityRecord ? handleEditOriginal : undefined,
240
+ resetContent: resetContent
227
241
  }), children === null ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
228
242
  ...innerBlocksProps
229
243
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_index","_lockUnlock","_jsxRuntime","useLayoutClasses","unlock","blockEditorPrivateApis","isOverridableBlock","hasOverridableBlocks","patternsPrivateApis","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","innerBlocks","name","patternBlockName","RecursionWarning","blockProps","useBlockProps","jsx","children","Warning","__","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","useHasRecursion","RecursionProvider","uniqueId","ReusableBlockEdit","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","useEntityRecord","useEntityBlockEditor","id","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","useDispatch","blockEditorStore","userCanEdit","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","getBlockEditingMode","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","layoutClasses","className","clsx","innerBlocksProps","useInnerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","handleEditOriginal","postId","postType","resetContent","Placeholder","Spinner","jsxs","Fragment","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock, hasOverridableBlocks } =\n\tunlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nfunction RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( patternClientId ),\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\t// Use `blocks` variable until `innerBlocks` is populated, which has the proper clientIds.\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\tvalue: innerBlocks.length > 0 ? innerBlocks : blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length ? undefined : blocks.ButtonBlockAppender,\n\t} );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_index","_lockUnlock","_jsxRuntime","useLayoutClasses","unlock","blockEditorPrivateApis","isOverridableBlock","hasOverridableBlocks","patternsPrivateApis","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","innerBlocks","name","patternBlockName","RecursionWarning","blockProps","useBlockProps","jsx","children","Warning","__","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","useHasRecursion","RecursionProvider","uniqueId","ReusableBlockEdit","ReusableBlockControl","recordId","canOverrideBlocks","hasContent","handleEditOriginal","resetContent","canUserEdit","useSelect","select","coreStore","canUser","kind","id","jsxs","Fragment","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","useEntityRecord","useEntityBlockEditor","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","useDispatch","blockEditorStore","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","getBlocks","getSettings","getBlockEditingMode","_getBlockEditingMode","getBlockBindingsSource","blocksStore","useEffect","layoutClasses","className","clsx","innerBlocksProps","useInnerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","postId","postType","Placeholder","Spinner"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock, hasOverridableBlocks } =\n\tunlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nfunction RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockControl( {\n\trecordId,\n\tcanOverrideBlocks,\n\thasContent,\n\thandleEditOriginal,\n\tresetContent,\n} ) {\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_block',\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ recordId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ canUserEdit && !! handleEditOriginal && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! hasContent }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( patternClientId ),\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\t// Use `blocks` variable until `innerBlocks` is populated, which has the proper clientIds.\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\tvalue: innerBlocks.length > 0 ? innerBlocks : blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length ? undefined : blocks.ButtonBlockAppender,\n\t} );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ hasResolved && (\n\t\t\t\t<ReusableBlockControl\n\t\t\t\t\trecordId={ ref }\n\t\t\t\t\tcanOverrideBlocks={ canOverrideBlocks }\n\t\t\t\t\thasContent={ !! content }\n\t\t\t\t\thandleEditOriginal={\n\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t? handleEditOriginal\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tresetContent={ resetContent }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -32,9 +32,13 @@ const metadata = exports.metadata = {
32
32
  type: "number"
33
33
  },
34
34
  content: {
35
- type: "object"
35
+ type: "object",
36
+ "default": {}
36
37
  }
37
38
  },
39
+ providesContext: {
40
+ "pattern/overrides": "content"
41
+ },
38
42
  supports: {
39
43
  customClassName: false,
40
44
  html: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_coreData","_data","_htmlEntities","_initBlock","_interopRequireDefault","_edit","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","content","supports","customClassName","html","inserter","renaming","interactivity","clientNavigation","settings","deprecated","edit","icon","__experimentalLabel","entity","select","coreStore","getEditedEntityRecord","decodeEntities","init","initBlock"],"sources":["@wordpress/block-library/src/block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { symbol as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tdeprecated,\n\tedit,\n\ticon,\n\t__experimentalLabel: ( { ref } ) => {\n\t\tif ( ! ref ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_block',\n\t\t\tref\n\t\t);\n\t\tif ( ! entity?.title ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn decodeEntities( entity.title );\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,WAAA,GAAAF,sBAAA,CAAAL,OAAA;AAdA;AACA;AACA;AAMA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,eAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAQA,MAAM;EAAEhB;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMiB,QAAQ,GAAApB,OAAA,CAAAoB,QAAA,GAAG;EACvBC,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,mBAAmB,EAAEA,CAAE;IAAEd;EAAI,CAAC,KAAM;IACnC,IAAK,CAAEA,GAAG,EAAG;MACZ;IACD;IAEA,MAAMe,MAAM,GAAG,IAAAC,YAAM,EAAEC,eAAU,CAAC,CAACC,qBAAqB,CACvD,UAAU,EACV,UAAU,EACVlB,GACD,CAAC;IACD,IAAK,CAAEe,MAAM,EAAErB,KAAK,EAAG;MACtB;IACD;IAEA,OAAO,IAAAyB,4BAAc,EAAEJ,MAAM,CAACrB,KAAM,CAAC;EACtC;AACD,CAAC;AAEM,MAAM0B,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE5B,IAAI;EAAEJ,QAAQ;EAAEqB;AAAS,CAAE,CAAC;AAACpB,OAAA,CAAA8B,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_coreData","_data","_htmlEntities","_initBlock","_interopRequireDefault","_edit","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","content","providesContext","supports","customClassName","html","inserter","renaming","interactivity","clientNavigation","settings","deprecated","edit","icon","__experimentalLabel","entity","select","coreStore","getEditedEntityRecord","decodeEntities","init","initBlock"],"sources":["@wordpress/block-library/src/block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { symbol as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tdeprecated,\n\tedit,\n\ticon,\n\t__experimentalLabel: ( { ref } ) => {\n\t\tif ( ! ref ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_block',\n\t\t\tref\n\t\t);\n\t\tif ( ! entity?.title ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn decodeEntities( entity.title );\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,WAAA,GAAAF,sBAAA,CAAAL,OAAA;AAdA;AACA;AACA;AAMA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,eAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,eAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAQA,MAAM;EAAEjB;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMkB,QAAQ,GAAArB,OAAA,CAAAqB,QAAA,GAAG;EACvBC,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,mBAAmB,EAAEA,CAAE;IAAEf;EAAI,CAAC,KAAM;IACnC,IAAK,CAAEA,GAAG,EAAG;MACZ;IACD;IAEA,MAAMgB,MAAM,GAAG,IAAAC,YAAM,EAAEC,eAAU,CAAC,CAACC,qBAAqB,CACvD,UAAU,EACV,UAAU,EACVnB,GACD,CAAC;IACD,IAAK,CAAEgB,MAAM,EAAEtB,KAAK,EAAG;MACtB;IACD;IAEA,OAAO,IAAA0B,4BAAc,EAAEJ,MAAM,CAACtB,KAAM,CAAC;EACtC;AACD,CAAC;AAEM,MAAM2B,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE7B,IAAI;EAAEJ,QAAQ;EAAEsB;AAAS,CAAE,CAAC;AAACrB,OAAA,CAAA+B,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -202,7 +202,7 @@ function ButtonEdit(props) {
202
202
  }
203
203
  const blockBindingsSource = (0, _lockUnlock.unlock)(select(_blocks.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
204
204
  return {
205
- lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue({
205
+ lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
206
206
  select,
207
207
  context,
208
208
  args: metadata?.bindings?.url?.args
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","_jsxRuntime","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","jsx","PanelBody","children","ButtonGroup","map","widthValue","jsxs","Button","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","canUserEditValue","args","Fragment","clsx","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ isSelected, metadata?.bindings?.url ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\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) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","_jsxRuntime","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","jsx","PanelBody","children","ButtonGroup","map","widthValue","jsxs","Button","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","canUserEditValue","args","Fragment","clsx","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ isSelected, metadata?.bindings?.url ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\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) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}