@wordpress/block-library 8.34.0 → 8.35.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 (721) hide show
  1. package/CHANGELOG.md +8 -3
  2. package/build/audio/edit.js +2 -2
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/avatar/edit.js +2 -2
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/edit.js +23 -165
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/deprecated.js +16 -16
  9. package/build/button/deprecated.js.map +1 -1
  10. package/build/button/edit.js +3 -7
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/button/save.js +3 -3
  15. package/build/button/save.js.map +1 -1
  16. package/build/buttons/deprecated.js +2 -2
  17. package/build/buttons/deprecated.js.map +1 -1
  18. package/build/buttons/edit.js +2 -2
  19. package/build/buttons/edit.js.map +1 -1
  20. package/build/buttons/save.js +2 -2
  21. package/build/buttons/save.js.map +1 -1
  22. package/build/categories/edit.js +2 -2
  23. package/build/categories/edit.js.map +1 -1
  24. package/build/column/deprecated.js +2 -2
  25. package/build/column/deprecated.js.map +1 -1
  26. package/build/column/edit.js +2 -2
  27. package/build/column/edit.js.map +1 -1
  28. package/build/column/save.js +2 -2
  29. package/build/column/save.js.map +1 -1
  30. package/build/columns/deprecated.js +3 -3
  31. package/build/columns/deprecated.js.map +1 -1
  32. package/build/columns/edit.js +2 -2
  33. package/build/columns/edit.js.map +1 -1
  34. package/build/columns/save.js +2 -2
  35. package/build/columns/save.js.map +1 -1
  36. package/build/comment-author-name/edit.js +2 -2
  37. package/build/comment-author-name/edit.js.map +1 -1
  38. package/build/comment-content/edit.js +2 -2
  39. package/build/comment-content/edit.js.map +1 -1
  40. package/build/comment-edit-link/edit.js +2 -2
  41. package/build/comment-edit-link/edit.js.map +1 -1
  42. package/build/comment-reply-link/edit.js +2 -2
  43. package/build/comment-reply-link/edit.js.map +1 -1
  44. package/build/comments/edit/comments-legacy.js +2 -2
  45. package/build/comments/edit/comments-legacy.js.map +1 -1
  46. package/build/comments-title/edit.js +2 -2
  47. package/build/comments-title/edit.js.map +1 -1
  48. package/build/cover/deprecated.js +38 -38
  49. package/build/cover/deprecated.js.map +1 -1
  50. package/build/cover/edit/index.js +6 -6
  51. package/build/cover/edit/index.js.map +1 -1
  52. package/build/cover/edit/resizable-cover-popover.js +2 -2
  53. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  54. package/build/cover/edit.native.js +2 -2
  55. package/build/cover/edit.native.js.map +1 -1
  56. package/build/cover/save.js +5 -5
  57. package/build/cover/save.js.map +1 -1
  58. package/build/embed/deprecated.js +3 -3
  59. package/build/embed/deprecated.js.map +1 -1
  60. package/build/embed/edit.js +2 -2
  61. package/build/embed/edit.js.map +1 -1
  62. package/build/embed/edit.native.js +2 -2
  63. package/build/embed/edit.native.js.map +1 -1
  64. package/build/embed/embed-preview.js +3 -3
  65. package/build/embed/embed-preview.js.map +1 -1
  66. package/build/embed/embed-preview.native.js +2 -2
  67. package/build/embed/embed-preview.native.js.map +1 -1
  68. package/build/embed/icons.js +7 -1
  69. package/build/embed/icons.js.map +1 -1
  70. package/build/embed/save.js +2 -2
  71. package/build/embed/save.js.map +1 -1
  72. package/build/embed/util.js +10 -8
  73. package/build/embed/util.js.map +1 -1
  74. package/build/embed/variations.js +9 -0
  75. package/build/embed/variations.js.map +1 -1
  76. package/build/file/deprecated.js +2 -2
  77. package/build/file/deprecated.js.map +1 -1
  78. package/build/file/edit.js +3 -3
  79. package/build/file/edit.js.map +1 -1
  80. package/build/file/save.js +2 -2
  81. package/build/file/save.js.map +1 -1
  82. package/build/form-input/deprecated.js +3 -3
  83. package/build/form-input/deprecated.js.map +1 -1
  84. package/build/form-input/edit.js +4 -4
  85. package/build/form-input/edit.js.map +1 -1
  86. package/build/form-input/save.js +3 -3
  87. package/build/form-input/save.js.map +1 -1
  88. package/build/form-submission-notification/edit.js +2 -2
  89. package/build/form-submission-notification/edit.js.map +1 -1
  90. package/build/form-submission-notification/save.js +2 -2
  91. package/build/form-submission-notification/save.js.map +1 -1
  92. package/build/gallery/deprecated.js +3 -3
  93. package/build/gallery/deprecated.js.map +1 -1
  94. package/build/gallery/edit.js +2 -2
  95. package/build/gallery/edit.js.map +1 -1
  96. package/build/gallery/gallery.js +2 -2
  97. package/build/gallery/gallery.js.map +1 -1
  98. package/build/gallery/save.js +3 -3
  99. package/build/gallery/save.js.map +1 -1
  100. package/build/gallery/v1/gallery-image.js +2 -2
  101. package/build/gallery/v1/gallery-image.js.map +1 -1
  102. package/build/gallery/v1/gallery.js +3 -3
  103. package/build/gallery/v1/gallery.js.map +1 -1
  104. package/build/gallery/v1/save.js +3 -3
  105. package/build/gallery/v1/save.js.map +1 -1
  106. package/build/group/deprecated.js +4 -4
  107. package/build/group/deprecated.js.map +1 -1
  108. package/build/heading/deprecated.js +6 -6
  109. package/build/heading/deprecated.js.map +1 -1
  110. package/build/heading/edit.js +2 -19
  111. package/build/heading/edit.js.map +1 -1
  112. package/build/heading/edit.native.js +2 -2
  113. package/build/heading/edit.native.js.map +1 -1
  114. package/build/heading/index.js +1 -0
  115. package/build/heading/index.js.map +1 -1
  116. package/build/heading/save.js +2 -2
  117. package/build/heading/save.js.map +1 -1
  118. package/build/home-link/edit.js +2 -2
  119. package/build/home-link/edit.js.map +1 -1
  120. package/build/html/edit.js +0 -2
  121. package/build/html/edit.js.map +1 -1
  122. package/build/image/deprecated.js +10 -10
  123. package/build/image/deprecated.js.map +1 -1
  124. package/build/image/edit.js +7 -5
  125. package/build/image/edit.js.map +1 -1
  126. package/build/image/image.js +5 -3
  127. package/build/image/image.js.map +1 -1
  128. package/build/image/save.js +3 -3
  129. package/build/image/save.js.map +1 -1
  130. package/build/latest-posts/edit.js +5 -5
  131. package/build/latest-posts/edit.js.map +1 -1
  132. package/build/list/deprecated.js +90 -1
  133. package/build/list/deprecated.js.map +1 -1
  134. package/build/list/index.js +0 -2
  135. package/build/list/index.js.map +1 -1
  136. package/build/list-item/edit.js +1 -8
  137. package/build/list-item/edit.js.map +1 -1
  138. package/build/list-item/index.js +2 -1
  139. package/build/list-item/index.js.map +1 -1
  140. package/build/media-text/deprecated.js +10 -10
  141. package/build/media-text/deprecated.js.map +1 -1
  142. package/build/media-text/edit.js +2 -2
  143. package/build/media-text/edit.js.map +1 -1
  144. package/build/media-text/media-container.js +2 -2
  145. package/build/media-text/media-container.js.map +1 -1
  146. package/build/media-text/save.js +3 -3
  147. package/build/media-text/save.js.map +1 -1
  148. package/build/navigation/edit/index.js +3 -3
  149. package/build/navigation/edit/index.js.map +1 -1
  150. package/build/navigation/edit/responsive-wrapper.js +3 -3
  151. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  152. package/build/navigation/edit/utils.js +2 -2
  153. package/build/navigation/edit/utils.js.map +1 -1
  154. package/build/navigation-link/edit.js +3 -3
  155. package/build/navigation-link/edit.js.map +1 -1
  156. package/build/navigation-submenu/edit.js +2 -2
  157. package/build/navigation-submenu/edit.js.map +1 -1
  158. package/build/page-list/edit.js +2 -2
  159. package/build/page-list/edit.js.map +1 -1
  160. package/build/page-list-item/edit.js +3 -3
  161. package/build/page-list-item/edit.js.map +1 -1
  162. package/build/paragraph/deprecated.js +6 -6
  163. package/build/paragraph/deprecated.js.map +1 -1
  164. package/build/paragraph/edit.js +2 -18
  165. package/build/paragraph/edit.js.map +1 -1
  166. package/build/paragraph/index.js +1 -0
  167. package/build/paragraph/index.js.map +1 -1
  168. package/build/paragraph/save.js +2 -2
  169. package/build/paragraph/save.js.map +1 -1
  170. package/build/paragraph/transforms.js +1 -0
  171. package/build/paragraph/transforms.js.map +1 -1
  172. package/build/pattern/edit.js +1 -1
  173. package/build/pattern/edit.js.map +1 -1
  174. package/build/post-author/edit.js +2 -2
  175. package/build/post-author/edit.js.map +1 -1
  176. package/build/post-author-biography/edit.js +2 -2
  177. package/build/post-author-biography/edit.js.map +1 -1
  178. package/build/post-author-name/edit.js +2 -2
  179. package/build/post-author-name/edit.js.map +1 -1
  180. package/build/post-comments-count/edit.js +2 -2
  181. package/build/post-comments-count/edit.js.map +1 -1
  182. package/build/post-comments-form/edit.js +2 -2
  183. package/build/post-comments-form/edit.js.map +1 -1
  184. package/build/post-comments-form/form.js +2 -2
  185. package/build/post-comments-form/form.js.map +1 -1
  186. package/build/post-comments-link/edit.js +2 -2
  187. package/build/post-comments-link/edit.js.map +1 -1
  188. package/build/post-date/edit.js +2 -2
  189. package/build/post-date/edit.js.map +1 -1
  190. package/build/post-excerpt/edit.js +3 -3
  191. package/build/post-excerpt/edit.js.map +1 -1
  192. package/build/post-featured-image/dimension-controls.js +20 -28
  193. package/build/post-featured-image/dimension-controls.js.map +1 -1
  194. package/build/post-featured-image/edit.js +3 -3
  195. package/build/post-featured-image/edit.js.map +1 -1
  196. package/build/post-featured-image/overlay.js +2 -2
  197. package/build/post-featured-image/overlay.js.map +1 -1
  198. package/build/post-navigation-link/edit.js +2 -2
  199. package/build/post-navigation-link/edit.js.map +1 -1
  200. package/build/post-template/edit.js +6 -6
  201. package/build/post-template/edit.js.map +1 -1
  202. package/build/post-terms/edit.js +2 -2
  203. package/build/post-terms/edit.js.map +1 -1
  204. package/build/post-time-to-read/edit.js +3 -3
  205. package/build/post-time-to-read/edit.js.map +1 -1
  206. package/build/post-title/edit.js +2 -2
  207. package/build/post-title/edit.js.map +1 -1
  208. package/build/pullquote/deprecated.js +7 -7
  209. package/build/pullquote/deprecated.js.map +1 -1
  210. package/build/pullquote/edit.js +2 -2
  211. package/build/pullquote/edit.js.map +1 -1
  212. package/build/pullquote/save.js +2 -2
  213. package/build/pullquote/save.js.map +1 -1
  214. package/build/query-title/edit.js +2 -2
  215. package/build/query-title/edit.js.map +1 -1
  216. package/build/quote/deprecated.js +3 -3
  217. package/build/quote/deprecated.js.map +1 -1
  218. package/build/quote/edit.js +2 -2
  219. package/build/quote/edit.js.map +1 -1
  220. package/build/quote/save.js +2 -2
  221. package/build/quote/save.js.map +1 -1
  222. package/build/rss/edit.js +8 -6
  223. package/build/rss/edit.js.map +1 -1
  224. package/build/search/edit.js +6 -6
  225. package/build/search/edit.js.map +1 -1
  226. package/build/search/edit.native.js +2 -2
  227. package/build/search/edit.native.js.map +1 -1
  228. package/build/separator/deprecated.js +2 -2
  229. package/build/separator/deprecated.js.map +1 -1
  230. package/build/separator/edit.js +2 -2
  231. package/build/separator/edit.js.map +1 -1
  232. package/build/separator/save.js +2 -2
  233. package/build/separator/save.js.map +1 -1
  234. package/build/shortcode/edit.js +7 -10
  235. package/build/shortcode/edit.js.map +1 -1
  236. package/build/site-logo/edit.js +4 -4
  237. package/build/site-logo/edit.js.map +1 -1
  238. package/build/site-tagline/edit.js +2 -2
  239. package/build/site-tagline/edit.js.map +1 -1
  240. package/build/site-title/edit.js +2 -2
  241. package/build/site-title/edit.js.map +1 -1
  242. package/build/social-link/edit.js +3 -3
  243. package/build/social-link/edit.js.map +1 -1
  244. package/build/social-links/deprecated.js +2 -2
  245. package/build/social-links/deprecated.js.map +1 -1
  246. package/build/social-links/edit.js +2 -2
  247. package/build/social-links/edit.js.map +1 -1
  248. package/build/social-links/save.js +2 -2
  249. package/build/social-links/save.js.map +1 -1
  250. package/build/spacer/edit.js +3 -3
  251. package/build/spacer/edit.js.map +1 -1
  252. package/build/table/deprecated.js +8 -8
  253. package/build/table/deprecated.js.map +1 -1
  254. package/build/table/edit.js +3 -3
  255. package/build/table/edit.js.map +1 -1
  256. package/build/table/save.js +3 -3
  257. package/build/table/save.js.map +1 -1
  258. package/build/term-description/edit.js +2 -2
  259. package/build/term-description/edit.js.map +1 -1
  260. package/build/utils/caption.js +2 -2
  261. package/build/utils/caption.js.map +1 -1
  262. package/build/verse/deprecated.js +2 -2
  263. package/build/verse/deprecated.js.map +1 -1
  264. package/build/verse/edit.js +2 -2
  265. package/build/verse/edit.js.map +1 -1
  266. package/build/verse/save.js +2 -2
  267. package/build/verse/save.js.map +1 -1
  268. package/build/video/edit.js +2 -2
  269. package/build/video/edit.js.map +1 -1
  270. package/build-module/audio/edit.js +2 -2
  271. package/build-module/audio/edit.js.map +1 -1
  272. package/build-module/avatar/edit.js +2 -2
  273. package/build-module/avatar/edit.js.map +1 -1
  274. package/build-module/block/edit.js +27 -169
  275. package/build-module/block/edit.js.map +1 -1
  276. package/build-module/button/deprecated.js +16 -16
  277. package/build-module/button/deprecated.js.map +1 -1
  278. package/build-module/button/edit.js +3 -7
  279. package/build-module/button/edit.js.map +1 -1
  280. package/build-module/button/index.js +1 -0
  281. package/build-module/button/index.js.map +1 -1
  282. package/build-module/button/save.js +3 -3
  283. package/build-module/button/save.js.map +1 -1
  284. package/build-module/buttons/deprecated.js +2 -2
  285. package/build-module/buttons/deprecated.js.map +1 -1
  286. package/build-module/buttons/edit.js +2 -2
  287. package/build-module/buttons/edit.js.map +1 -1
  288. package/build-module/buttons/save.js +2 -2
  289. package/build-module/buttons/save.js.map +1 -1
  290. package/build-module/categories/edit.js +2 -2
  291. package/build-module/categories/edit.js.map +1 -1
  292. package/build-module/column/deprecated.js +2 -2
  293. package/build-module/column/deprecated.js.map +1 -1
  294. package/build-module/column/edit.js +2 -2
  295. package/build-module/column/edit.js.map +1 -1
  296. package/build-module/column/save.js +2 -2
  297. package/build-module/column/save.js.map +1 -1
  298. package/build-module/columns/deprecated.js +3 -3
  299. package/build-module/columns/deprecated.js.map +1 -1
  300. package/build-module/columns/edit.js +2 -2
  301. package/build-module/columns/edit.js.map +1 -1
  302. package/build-module/columns/save.js +2 -2
  303. package/build-module/columns/save.js.map +1 -1
  304. package/build-module/comment-author-name/edit.js +2 -2
  305. package/build-module/comment-author-name/edit.js.map +1 -1
  306. package/build-module/comment-content/edit.js +2 -2
  307. package/build-module/comment-content/edit.js.map +1 -1
  308. package/build-module/comment-edit-link/edit.js +2 -2
  309. package/build-module/comment-edit-link/edit.js.map +1 -1
  310. package/build-module/comment-reply-link/edit.js +2 -2
  311. package/build-module/comment-reply-link/edit.js.map +1 -1
  312. package/build-module/comments/edit/comments-legacy.js +2 -2
  313. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  314. package/build-module/comments-title/edit.js +2 -2
  315. package/build-module/comments-title/edit.js.map +1 -1
  316. package/build-module/cover/deprecated.js +38 -38
  317. package/build-module/cover/deprecated.js.map +1 -1
  318. package/build-module/cover/edit/index.js +6 -6
  319. package/build-module/cover/edit/index.js.map +1 -1
  320. package/build-module/cover/edit/resizable-cover-popover.js +2 -2
  321. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  322. package/build-module/cover/edit.native.js +2 -2
  323. package/build-module/cover/edit.native.js.map +1 -1
  324. package/build-module/cover/save.js +5 -5
  325. package/build-module/cover/save.js.map +1 -1
  326. package/build-module/embed/deprecated.js +3 -3
  327. package/build-module/embed/deprecated.js.map +1 -1
  328. package/build-module/embed/edit.js +2 -2
  329. package/build-module/embed/edit.js.map +1 -1
  330. package/build-module/embed/edit.native.js +2 -2
  331. package/build-module/embed/edit.native.js.map +1 -1
  332. package/build-module/embed/embed-preview.js +3 -3
  333. package/build-module/embed/embed-preview.js.map +1 -1
  334. package/build-module/embed/embed-preview.native.js +2 -2
  335. package/build-module/embed/embed-preview.native.js.map +1 -1
  336. package/build-module/embed/icons.js +6 -0
  337. package/build-module/embed/icons.js.map +1 -1
  338. package/build-module/embed/save.js +2 -2
  339. package/build-module/embed/save.js.map +1 -1
  340. package/build-module/embed/util.js +10 -8
  341. package/build-module/embed/util.js.map +1 -1
  342. package/build-module/embed/variations.js +10 -1
  343. package/build-module/embed/variations.js.map +1 -1
  344. package/build-module/file/deprecated.js +2 -2
  345. package/build-module/file/deprecated.js.map +1 -1
  346. package/build-module/file/edit.js +3 -3
  347. package/build-module/file/edit.js.map +1 -1
  348. package/build-module/file/save.js +2 -2
  349. package/build-module/file/save.js.map +1 -1
  350. package/build-module/form-input/deprecated.js +3 -3
  351. package/build-module/form-input/deprecated.js.map +1 -1
  352. package/build-module/form-input/edit.js +4 -4
  353. package/build-module/form-input/edit.js.map +1 -1
  354. package/build-module/form-input/save.js +3 -3
  355. package/build-module/form-input/save.js.map +1 -1
  356. package/build-module/form-submission-notification/edit.js +2 -2
  357. package/build-module/form-submission-notification/edit.js.map +1 -1
  358. package/build-module/form-submission-notification/save.js +2 -2
  359. package/build-module/form-submission-notification/save.js.map +1 -1
  360. package/build-module/gallery/deprecated.js +3 -3
  361. package/build-module/gallery/deprecated.js.map +1 -1
  362. package/build-module/gallery/edit.js +2 -2
  363. package/build-module/gallery/edit.js.map +1 -1
  364. package/build-module/gallery/gallery.js +2 -2
  365. package/build-module/gallery/gallery.js.map +1 -1
  366. package/build-module/gallery/save.js +3 -3
  367. package/build-module/gallery/save.js.map +1 -1
  368. package/build-module/gallery/v1/gallery-image.js +2 -2
  369. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  370. package/build-module/gallery/v1/gallery.js +3 -3
  371. package/build-module/gallery/v1/gallery.js.map +1 -1
  372. package/build-module/gallery/v1/save.js +3 -3
  373. package/build-module/gallery/v1/save.js.map +1 -1
  374. package/build-module/group/deprecated.js +4 -4
  375. package/build-module/group/deprecated.js.map +1 -1
  376. package/build-module/heading/deprecated.js +6 -6
  377. package/build-module/heading/deprecated.js.map +1 -1
  378. package/build-module/heading/edit.js +2 -19
  379. package/build-module/heading/edit.js.map +1 -1
  380. package/build-module/heading/edit.native.js +2 -2
  381. package/build-module/heading/edit.native.js.map +1 -1
  382. package/build-module/heading/index.js +1 -0
  383. package/build-module/heading/index.js.map +1 -1
  384. package/build-module/heading/save.js +2 -2
  385. package/build-module/heading/save.js.map +1 -1
  386. package/build-module/home-link/edit.js +2 -2
  387. package/build-module/home-link/edit.js.map +1 -1
  388. package/build-module/html/edit.js +0 -2
  389. package/build-module/html/edit.js.map +1 -1
  390. package/build-module/image/deprecated.js +10 -10
  391. package/build-module/image/deprecated.js.map +1 -1
  392. package/build-module/image/edit.js +7 -5
  393. package/build-module/image/edit.js.map +1 -1
  394. package/build-module/image/image.js +5 -3
  395. package/build-module/image/image.js.map +1 -1
  396. package/build-module/image/save.js +3 -3
  397. package/build-module/image/save.js.map +1 -1
  398. package/build-module/latest-posts/edit.js +6 -6
  399. package/build-module/latest-posts/edit.js.map +1 -1
  400. package/build-module/list/deprecated.js +90 -1
  401. package/build-module/list/deprecated.js.map +1 -1
  402. package/build-module/list/index.js +0 -2
  403. package/build-module/list/index.js.map +1 -1
  404. package/build-module/list-item/edit.js +2 -9
  405. package/build-module/list-item/edit.js.map +1 -1
  406. package/build-module/list-item/index.js +2 -1
  407. package/build-module/list-item/index.js.map +1 -1
  408. package/build-module/media-text/deprecated.js +10 -10
  409. package/build-module/media-text/deprecated.js.map +1 -1
  410. package/build-module/media-text/edit.js +2 -2
  411. package/build-module/media-text/edit.js.map +1 -1
  412. package/build-module/media-text/media-container.js +2 -2
  413. package/build-module/media-text/media-container.js.map +1 -1
  414. package/build-module/media-text/save.js +3 -3
  415. package/build-module/media-text/save.js.map +1 -1
  416. package/build-module/navigation/edit/index.js +3 -3
  417. package/build-module/navigation/edit/index.js.map +1 -1
  418. package/build-module/navigation/edit/responsive-wrapper.js +3 -3
  419. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  420. package/build-module/navigation/edit/utils.js +2 -2
  421. package/build-module/navigation/edit/utils.js.map +1 -1
  422. package/build-module/navigation-link/edit.js +3 -3
  423. package/build-module/navigation-link/edit.js.map +1 -1
  424. package/build-module/navigation-submenu/edit.js +2 -2
  425. package/build-module/navigation-submenu/edit.js.map +1 -1
  426. package/build-module/page-list/edit.js +2 -2
  427. package/build-module/page-list/edit.js.map +1 -1
  428. package/build-module/page-list-item/edit.js +3 -3
  429. package/build-module/page-list-item/edit.js.map +1 -1
  430. package/build-module/paragraph/deprecated.js +6 -6
  431. package/build-module/paragraph/deprecated.js.map +1 -1
  432. package/build-module/paragraph/edit.js +2 -18
  433. package/build-module/paragraph/edit.js.map +1 -1
  434. package/build-module/paragraph/index.js +1 -0
  435. package/build-module/paragraph/index.js.map +1 -1
  436. package/build-module/paragraph/save.js +2 -2
  437. package/build-module/paragraph/save.js.map +1 -1
  438. package/build-module/paragraph/transforms.js +1 -0
  439. package/build-module/paragraph/transforms.js.map +1 -1
  440. package/build-module/pattern/edit.js +1 -1
  441. package/build-module/pattern/edit.js.map +1 -1
  442. package/build-module/post-author/edit.js +2 -2
  443. package/build-module/post-author/edit.js.map +1 -1
  444. package/build-module/post-author-biography/edit.js +2 -2
  445. package/build-module/post-author-biography/edit.js.map +1 -1
  446. package/build-module/post-author-name/edit.js +2 -2
  447. package/build-module/post-author-name/edit.js.map +1 -1
  448. package/build-module/post-comments-count/edit.js +2 -2
  449. package/build-module/post-comments-count/edit.js.map +1 -1
  450. package/build-module/post-comments-form/edit.js +2 -2
  451. package/build-module/post-comments-form/edit.js.map +1 -1
  452. package/build-module/post-comments-form/form.js +2 -2
  453. package/build-module/post-comments-form/form.js.map +1 -1
  454. package/build-module/post-comments-link/edit.js +2 -2
  455. package/build-module/post-comments-link/edit.js.map +1 -1
  456. package/build-module/post-date/edit.js +2 -2
  457. package/build-module/post-date/edit.js.map +1 -1
  458. package/build-module/post-excerpt/edit.js +3 -3
  459. package/build-module/post-excerpt/edit.js.map +1 -1
  460. package/build-module/post-featured-image/dimension-controls.js +20 -28
  461. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  462. package/build-module/post-featured-image/edit.js +3 -3
  463. package/build-module/post-featured-image/edit.js.map +1 -1
  464. package/build-module/post-featured-image/overlay.js +2 -2
  465. package/build-module/post-featured-image/overlay.js.map +1 -1
  466. package/build-module/post-navigation-link/edit.js +2 -2
  467. package/build-module/post-navigation-link/edit.js.map +1 -1
  468. package/build-module/post-template/edit.js +7 -7
  469. package/build-module/post-template/edit.js.map +1 -1
  470. package/build-module/post-terms/edit.js +2 -2
  471. package/build-module/post-terms/edit.js.map +1 -1
  472. package/build-module/post-time-to-read/edit.js +3 -3
  473. package/build-module/post-time-to-read/edit.js.map +1 -1
  474. package/build-module/post-title/edit.js +2 -2
  475. package/build-module/post-title/edit.js.map +1 -1
  476. package/build-module/pullquote/deprecated.js +7 -7
  477. package/build-module/pullquote/deprecated.js.map +1 -1
  478. package/build-module/pullquote/edit.js +2 -2
  479. package/build-module/pullquote/edit.js.map +1 -1
  480. package/build-module/pullquote/save.js +2 -2
  481. package/build-module/pullquote/save.js.map +1 -1
  482. package/build-module/query-title/edit.js +2 -2
  483. package/build-module/query-title/edit.js.map +1 -1
  484. package/build-module/quote/deprecated.js +3 -3
  485. package/build-module/quote/deprecated.js.map +1 -1
  486. package/build-module/quote/edit.js +2 -2
  487. package/build-module/quote/edit.js.map +1 -1
  488. package/build-module/quote/save.js +2 -2
  489. package/build-module/quote/save.js.map +1 -1
  490. package/build-module/rss/edit.js +10 -8
  491. package/build-module/rss/edit.js.map +1 -1
  492. package/build-module/search/edit.js +6 -6
  493. package/build-module/search/edit.js.map +1 -1
  494. package/build-module/search/edit.native.js +2 -2
  495. package/build-module/search/edit.native.js.map +1 -1
  496. package/build-module/separator/deprecated.js +2 -2
  497. package/build-module/separator/deprecated.js.map +1 -1
  498. package/build-module/separator/edit.js +2 -2
  499. package/build-module/separator/edit.js.map +1 -1
  500. package/build-module/separator/save.js +2 -2
  501. package/build-module/separator/save.js.map +1 -1
  502. package/build-module/shortcode/edit.js +8 -11
  503. package/build-module/shortcode/edit.js.map +1 -1
  504. package/build-module/site-logo/edit.js +4 -4
  505. package/build-module/site-logo/edit.js.map +1 -1
  506. package/build-module/site-tagline/edit.js +2 -2
  507. package/build-module/site-tagline/edit.js.map +1 -1
  508. package/build-module/site-title/edit.js +2 -2
  509. package/build-module/site-title/edit.js.map +1 -1
  510. package/build-module/social-link/edit.js +3 -3
  511. package/build-module/social-link/edit.js.map +1 -1
  512. package/build-module/social-links/deprecated.js +2 -2
  513. package/build-module/social-links/deprecated.js.map +1 -1
  514. package/build-module/social-links/edit.js +2 -2
  515. package/build-module/social-links/edit.js.map +1 -1
  516. package/build-module/social-links/save.js +2 -2
  517. package/build-module/social-links/save.js.map +1 -1
  518. package/build-module/spacer/edit.js +3 -3
  519. package/build-module/spacer/edit.js.map +1 -1
  520. package/build-module/table/deprecated.js +8 -8
  521. package/build-module/table/deprecated.js.map +1 -1
  522. package/build-module/table/edit.js +3 -3
  523. package/build-module/table/edit.js.map +1 -1
  524. package/build-module/table/save.js +3 -3
  525. package/build-module/table/save.js.map +1 -1
  526. package/build-module/term-description/edit.js +2 -2
  527. package/build-module/term-description/edit.js.map +1 -1
  528. package/build-module/utils/caption.js +2 -2
  529. package/build-module/utils/caption.js.map +1 -1
  530. package/build-module/verse/deprecated.js +2 -2
  531. package/build-module/verse/deprecated.js.map +1 -1
  532. package/build-module/verse/edit.js +2 -2
  533. package/build-module/verse/edit.js.map +1 -1
  534. package/build-module/verse/save.js +2 -2
  535. package/build-module/verse/save.js.map +1 -1
  536. package/build-module/video/edit.js +2 -2
  537. package/build-module/video/edit.js.map +1 -1
  538. package/build-style/block/editor-rtl.css +4 -4
  539. package/build-style/block/editor.css +4 -4
  540. package/build-style/buttons/editor-rtl.css +1 -1
  541. package/build-style/buttons/editor.css +1 -1
  542. package/build-style/buttons/style-rtl.css +1 -1
  543. package/build-style/buttons/style.css +1 -1
  544. package/build-style/common-rtl.css +3 -7
  545. package/build-style/common.css +3 -7
  546. package/build-style/editor-rtl.css +15 -32
  547. package/build-style/editor.css +15 -32
  548. package/build-style/group/editor-rtl.css +2 -1
  549. package/build-style/group/editor.css +2 -1
  550. package/build-style/image/editor-rtl.css +3 -0
  551. package/build-style/image/editor.css +3 -0
  552. package/build-style/image/style-rtl.css +1 -2
  553. package/build-style/image/style.css +1 -2
  554. package/build-style/post-template/style-rtl.css +0 -3
  555. package/build-style/post-template/style.css +0 -3
  556. package/build-style/rss/editor-rtl.css +1 -10
  557. package/build-style/rss/editor.css +1 -10
  558. package/build-style/shortcode/editor-rtl.css +0 -4
  559. package/build-style/shortcode/editor.css +0 -4
  560. package/build-style/style-rtl.css +5 -13
  561. package/build-style/style.css +5 -13
  562. package/build-style/template-part/editor-rtl.css +3 -7
  563. package/build-style/template-part/editor.css +3 -7
  564. package/package.json +36 -36
  565. package/src/audio/edit.js +2 -2
  566. package/src/avatar/edit.js +2 -2
  567. package/src/block/edit.js +30 -245
  568. package/src/block/editor.scss +7 -5
  569. package/src/button/block.json +1 -0
  570. package/src/button/deprecated.js +16 -16
  571. package/src/button/edit.js +3 -9
  572. package/src/button/save.js +3 -3
  573. package/src/buttons/deprecated.js +2 -2
  574. package/src/buttons/edit.js +2 -2
  575. package/src/buttons/editor.scss +1 -3
  576. package/src/buttons/save.js +2 -2
  577. package/src/buttons/style.scss +1 -3
  578. package/src/categories/edit.js +2 -2
  579. package/src/code/theme.native.scss +1 -1
  580. package/src/column/deprecated.js +2 -2
  581. package/src/column/edit.js +2 -2
  582. package/src/column/save.js +2 -2
  583. package/src/columns/deprecated.js +3 -3
  584. package/src/columns/edit.js +2 -2
  585. package/src/columns/save.js +2 -2
  586. package/src/comment-author-name/edit.js +2 -2
  587. package/src/comment-content/edit.js +2 -2
  588. package/src/comment-edit-link/edit.js +2 -2
  589. package/src/comment-reply-link/edit.js +2 -2
  590. package/src/comments/edit/comments-legacy.js +2 -2
  591. package/src/comments-title/edit.js +2 -2
  592. package/src/common.scss +4 -4
  593. package/src/cover/deprecated.js +38 -38
  594. package/src/cover/edit/index.js +6 -9
  595. package/src/cover/edit/resizable-cover-popover.js +2 -2
  596. package/src/cover/edit.native.js +2 -2
  597. package/src/cover/save.js +5 -5
  598. package/src/embed/deprecated.js +3 -3
  599. package/src/embed/edit.js +2 -2
  600. package/src/embed/edit.native.js +2 -2
  601. package/src/embed/embed-preview.js +3 -3
  602. package/src/embed/embed-preview.native.js +2 -2
  603. package/src/embed/icons.js +9 -0
  604. package/src/embed/save.js +2 -2
  605. package/src/embed/util.js +10 -6
  606. package/src/embed/variations.js +9 -0
  607. package/src/file/deprecated.js +2 -2
  608. package/src/file/edit.js +3 -3
  609. package/src/file/save.js +2 -2
  610. package/src/form-input/deprecated.js +3 -3
  611. package/src/form-input/edit.js +4 -4
  612. package/src/form-input/save.js +3 -3
  613. package/src/form-submission-notification/edit.js +2 -2
  614. package/src/form-submission-notification/save.js +4 -7
  615. package/src/gallery/deprecated.js +3 -3
  616. package/src/gallery/edit.js +2 -2
  617. package/src/gallery/gallery.js +2 -2
  618. package/src/gallery/save.js +3 -3
  619. package/src/gallery/test/helpers.native.js +3 -3
  620. package/src/gallery/v1/gallery-image.js +2 -2
  621. package/src/gallery/v1/gallery.js +3 -3
  622. package/src/gallery/v1/save.js +3 -3
  623. package/src/group/deprecated.js +4 -4
  624. package/src/group/editor.scss +2 -1
  625. package/src/heading/block.json +1 -0
  626. package/src/heading/deprecated.js +6 -6
  627. package/src/heading/edit.js +2 -23
  628. package/src/heading/edit.native.js +2 -2
  629. package/src/heading/save.js +2 -2
  630. package/src/heading/test/__snapshots__/transforms.native.js.snap +1 -1
  631. package/src/home-link/edit.js +2 -2
  632. package/src/html/edit.js +0 -2
  633. package/src/image/deprecated.js +10 -10
  634. package/src/image/edit.js +5 -3
  635. package/src/image/editor.scss +13 -7
  636. package/src/image/image.js +5 -2
  637. package/src/image/save.js +3 -3
  638. package/src/image/style.scss +1 -3
  639. package/src/latest-posts/edit.js +6 -6
  640. package/src/latest-posts/index.php +1 -0
  641. package/src/list/block.json +0 -2
  642. package/src/list/deprecated.js +88 -1
  643. package/src/list/index.php +54 -0
  644. package/src/list/test/__snapshots__/edit.native.js.snap +11 -11
  645. package/src/list/test/__snapshots__/transforms.native.js.snap +3 -3
  646. package/src/list/test/edit.native.js +24 -24
  647. package/src/list/test/transforms.native.js +1 -1
  648. package/src/list-item/block.json +2 -1
  649. package/src/list-item/edit.js +0 -15
  650. package/src/media-text/deprecated.js +10 -10
  651. package/src/media-text/edit.js +2 -2
  652. package/src/media-text/media-container.js +2 -2
  653. package/src/media-text/save.js +3 -3
  654. package/src/navigation/edit/index.js +3 -3
  655. package/src/navigation/edit/responsive-wrapper.js +3 -3
  656. package/src/navigation/edit/utils.js +2 -2
  657. package/src/navigation/index.php +52 -1
  658. package/src/navigation-link/edit.js +3 -3
  659. package/src/navigation-submenu/edit.js +2 -2
  660. package/src/page-list/edit.js +2 -2
  661. package/src/page-list-item/edit.js +3 -3
  662. package/src/paragraph/block.json +1 -0
  663. package/src/paragraph/deprecated.js +6 -6
  664. package/src/paragraph/edit.js +2 -23
  665. package/src/paragraph/save.js +2 -2
  666. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +1 -1
  667. package/src/pattern/edit.js +1 -1
  668. package/src/post-author/edit.js +2 -2
  669. package/src/post-author-biography/edit.js +2 -2
  670. package/src/post-author-name/edit.js +2 -2
  671. package/src/post-comments-count/edit.js +2 -2
  672. package/src/post-comments-form/edit.js +2 -2
  673. package/src/post-comments-form/form.js +2 -2
  674. package/src/post-comments-link/edit.js +2 -2
  675. package/src/post-date/edit.js +2 -2
  676. package/src/post-excerpt/edit.js +3 -3
  677. package/src/post-featured-image/dimension-controls.js +30 -36
  678. package/src/post-featured-image/edit.js +3 -3
  679. package/src/post-featured-image/overlay.js +2 -2
  680. package/src/post-navigation-link/edit.js +2 -2
  681. package/src/post-template/edit.js +7 -7
  682. package/src/post-template/style.scss +0 -4
  683. package/src/post-terms/edit.js +2 -2
  684. package/src/post-time-to-read/edit.js +3 -3
  685. package/src/post-title/edit.js +2 -2
  686. package/src/pullquote/deprecated.js +7 -7
  687. package/src/pullquote/edit.js +2 -2
  688. package/src/pullquote/save.js +2 -2
  689. package/src/query-title/edit.js +2 -2
  690. package/src/quote/deprecated.js +3 -3
  691. package/src/quote/edit.js +2 -2
  692. package/src/quote/save.js +2 -2
  693. package/src/rss/edit.js +30 -23
  694. package/src/rss/editor.scss +2 -16
  695. package/src/search/edit.js +6 -6
  696. package/src/search/edit.native.js +2 -2
  697. package/src/separator/deprecated.js +2 -2
  698. package/src/separator/edit.js +2 -2
  699. package/src/separator/save.js +2 -2
  700. package/src/shortcode/edit.js +13 -17
  701. package/src/shortcode/editor.scss +0 -6
  702. package/src/site-logo/edit.js +4 -4
  703. package/src/site-logo/index.php +2 -0
  704. package/src/site-tagline/edit.js +2 -2
  705. package/src/site-title/edit.js +2 -2
  706. package/src/social-link/edit.js +3 -3
  707. package/src/social-links/deprecated.js +2 -2
  708. package/src/social-links/edit.js +2 -2
  709. package/src/social-links/save.js +2 -2
  710. package/src/spacer/edit.js +3 -3
  711. package/src/table/deprecated.js +12 -20
  712. package/src/table/edit.js +3 -3
  713. package/src/table/save.js +3 -3
  714. package/src/template-part/editor.scss +5 -8
  715. package/src/term-description/edit.js +2 -2
  716. package/src/utils/caption.js +2 -2
  717. package/src/verse/deprecated.js +2 -2
  718. package/src/verse/edit.js +2 -2
  719. package/src/verse/save.js +2 -2
  720. package/src/video/edit.js +2 -2
  721. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__","_x","useDispatch","audio","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","Caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","media","caption","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","mediaId","mediaURL","title","__nextHasNoMarginBottom","label","help","options","isDisabled","controls","showToolbarButton"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 = classnames( 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","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__","_x","useDispatch","audio","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","Caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","media","caption","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","mediaId","mediaURL","title","__nextHasNoMarginBottom","label","help","options","isDisabled","controls","showToolbarButton"],"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":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -92,7 +92,7 @@ const ResizableAvatar = ({
92
92
  }, createElement("img", {
93
93
  src: doubledSizedSrc,
94
94
  alt: avatar.alt,
95
- className: classnames('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
95
+ className: clsx('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
96
96
  style: borderProps.style
97
97
  })));
98
98
  };
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,20 +2,19 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useRegistry, useSelect, useDispatch } from '@wordpress/data';
10
+ import { useSelect, useDispatch } from '@wordpress/data';
11
11
  import { useRef, useMemo, useEffect } from '@wordpress/element';
12
- import { useEntityRecord, store as coreStore } from '@wordpress/core-data';
12
+ import { useEntityRecord, store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';
13
13
  import { Placeholder, Spinner, ToolbarButton, ToolbarGroup } from '@wordpress/components';
14
14
  import { __ } from '@wordpress/i18n';
15
- import { useInnerBlocksProps, RecursionProvider, useHasRecursion, InnerBlocks, useBlockProps, Warning, privateApis as blockEditorPrivateApis, store as blockEditorStore, BlockControls } from '@wordpress/block-editor';
15
+ import { useInnerBlocksProps, RecursionProvider, useHasRecursion, useBlockProps, Warning, privateApis as blockEditorPrivateApis, store as blockEditorStore, BlockControls } from '@wordpress/block-editor';
16
16
  import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
17
- import { parse, cloneBlock, store as blocksStore } from '@wordpress/blocks';
18
- import { RichTextData } from '@wordpress/rich-text';
17
+ import { store as blocksStore } from '@wordpress/blocks';
19
18
 
20
19
  /**
21
20
  * Internal dependencies
@@ -29,23 +28,6 @@ const {
29
28
  isOverridableBlock
30
29
  } = unlock(patternsPrivateApis);
31
30
  const fullAlignments = ['full', 'wide', 'left', 'right'];
32
- function getLegacyIdMap(blocks, content, nameCount = {}) {
33
- let idToClientIdMap = {};
34
- for (const block of blocks) {
35
- if (block?.innerBlocks?.length) {
36
- idToClientIdMap = {
37
- ...idToClientIdMap,
38
- ...getLegacyIdMap(block.innerBlocks, content, nameCount)
39
- };
40
- }
41
- const id = block.attributes.metadata?.id;
42
- const clientId = block.clientId;
43
- if (id && content?.[id]) {
44
- idToClientIdMap[clientId] = id;
45
- }
46
- }
47
- return idToClientIdMap;
48
- }
49
31
  const useInferredLayout = (blocks, parentLayout) => {
50
32
  const initialInferredAlignmentRef = useRef();
51
33
  return useMemo(() => {
@@ -78,78 +60,6 @@ function hasOverridableBlocks(blocks) {
78
60
  return hasOverridableBlocks(block.innerBlocks);
79
61
  });
80
62
  }
81
- function getOverridableAttributes(block) {
82
- return Object.entries(block.attributes.metadata.bindings).filter(([, binding]) => binding.source === 'core/pattern-overrides').map(([attributeKey]) => attributeKey);
83
- }
84
- function applyInitialContentValuesToInnerBlocks(blocks, content = {}, defaultValues, legacyIdMap) {
85
- return blocks.map(block => {
86
- var _legacyIdMap$block$cl;
87
- const innerBlocks = applyInitialContentValuesToInnerBlocks(block.innerBlocks, content, defaultValues, legacyIdMap);
88
- const metadataName = (_legacyIdMap$block$cl = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl !== void 0 ? _legacyIdMap$block$cl : block.attributes.metadata?.name;
89
- if (!metadataName || !isOverridableBlock(block)) {
90
- return {
91
- ...block,
92
- innerBlocks
93
- };
94
- }
95
- const attributes = getOverridableAttributes(block);
96
- const newAttributes = {
97
- ...block.attributes
98
- };
99
- for (const attributeKey of attributes) {
100
- var _defaultValues$metada;
101
- (_defaultValues$metada = defaultValues[metadataName]) !== null && _defaultValues$metada !== void 0 ? _defaultValues$metada : defaultValues[metadataName] = {};
102
- defaultValues[metadataName][attributeKey] = block.attributes[attributeKey];
103
- const contentValues = content[metadataName];
104
- if (contentValues?.[attributeKey] !== undefined) {
105
- newAttributes[attributeKey] = contentValues[attributeKey];
106
- }
107
- }
108
- return {
109
- ...block,
110
- attributes: newAttributes,
111
- innerBlocks
112
- };
113
- });
114
- }
115
- function isAttributeEqual(attribute1, attribute2) {
116
- if (attribute1 instanceof RichTextData && attribute2 instanceof RichTextData) {
117
- return attribute1.toString() === attribute2.toString();
118
- }
119
- return attribute1 === attribute2;
120
- }
121
- function getContentValuesFromInnerBlocks(blocks, defaultValues, legacyIdMap) {
122
- /** @type {Record<string, { values: Record<string, unknown>}>} */
123
- const content = {};
124
- for (const block of blocks) {
125
- var _legacyIdMap$block$cl2;
126
- if (block.name === patternBlockName) {
127
- continue;
128
- }
129
- if (block.innerBlocks.length) {
130
- Object.assign(content, getContentValuesFromInnerBlocks(block.innerBlocks, defaultValues, legacyIdMap));
131
- }
132
- const metadataName = (_legacyIdMap$block$cl2 = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl2 !== void 0 ? _legacyIdMap$block$cl2 : block.attributes.metadata?.name;
133
- if (!metadataName || !isOverridableBlock(block)) {
134
- continue;
135
- }
136
- const attributes = getOverridableAttributes(block);
137
- for (const attributeKey of attributes) {
138
- if (!isAttributeEqual(block.attributes[attributeKey], defaultValues?.[metadataName]?.[attributeKey])) {
139
- var _content$metadataName;
140
- (_content$metadataName = content[metadataName]) !== null && _content$metadataName !== void 0 ? _content$metadataName : content[metadataName] = {};
141
- // TODO: We need a way to represent `undefined` in the serialized overrides.
142
- // Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871
143
- content[metadataName][attributeKey] = block.attributes[attributeKey] === undefined ?
144
- // TODO: We use an empty string to represent undefined for now until
145
- // we support a richer format for overrides and the block binding API.
146
- // Currently only the `linkTarget` attribute of `core/button` is affected.
147
- '' : block.attributes[attributeKey];
148
- }
149
- }
150
- }
151
- return Object.keys(content).length > 0 ? content : undefined;
152
- }
153
63
  function setBlockEditMode(setEditMode, blocks, mode) {
154
64
  blocks.forEach(block => {
155
65
  const editMode = mode || (isOverridableBlock(block) ? 'contentOnly' : 'disabled');
@@ -165,6 +75,7 @@ function RecursionWarning() {
165
75
  ...blockProps
166
76
  }, createElement(Warning, null, __('Block cannot be rendered inside itself.')));
167
77
  }
78
+ const NOOP = () => {};
168
79
 
169
80
  // Wrap the main Edit function for the pattern block with a recursion wrapper
170
81
  // that allows short-circuiting rendering as early as possible, before any
@@ -193,33 +104,21 @@ function ReusableBlockEdit({
193
104
  clientId: patternClientId,
194
105
  setAttributes
195
106
  }) {
196
- const registry = useRegistry();
197
107
  const {
198
108
  record,
199
- editedRecord,
200
109
  hasResolved
201
110
  } = useEntityRecord('postType', 'wp_block', ref);
111
+ const [blocks] = useEntityBlockEditor('postType', 'wp_block', {
112
+ id: ref
113
+ });
202
114
  const isMissing = hasResolved && !record;
203
-
204
- // The value of the `content` attribute, stored in a `ref` to avoid triggering the effect
205
- // that runs `applyInitialContentValuesToInnerBlocks` unnecessarily.
206
- const contentRef = useRef(content);
207
-
208
- // The default content values from the original pattern for overridable attributes.
209
- // Set by the `applyInitialContentValuesToInnerBlocks` function.
210
- const defaultContent = useRef({});
211
115
  const {
212
- replaceInnerBlocks,
213
- __unstableMarkNextChangeAsNotPersistent,
214
- setBlockEditingMode
116
+ setBlockEditingMode,
117
+ __unstableMarkLastChangeAsPersistent
215
118
  } = useDispatch(blockEditorStore);
216
- const {
217
- syncDerivedUpdates
218
- } = unlock(useDispatch(blockEditorStore));
219
119
  const {
220
120
  innerBlocks,
221
121
  userCanEdit,
222
- getBlockEditingMode,
223
122
  onNavigateToEntityRecord,
224
123
  editingMode,
225
124
  hasPatternOverridesSource
@@ -235,12 +134,11 @@ function ReusableBlockEdit({
235
134
  const {
236
135
  getBlockBindingsSource
237
136
  } = unlock(select(blocksStore));
238
- const blocks = getBlocks(patternClientId);
239
137
  const canEdit = canUser('update', 'blocks', ref);
240
138
 
241
139
  // For editing link to the site editor if the theme and user permissions support it.
242
140
  return {
243
- innerBlocks: blocks,
141
+ innerBlocks: getBlocks(patternClientId),
244
142
  userCanEdit: canEdit,
245
143
  getBlockEditingMode: _getBlockEditingMode,
246
144
  onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
@@ -255,73 +153,29 @@ function ReusableBlockEdit({
255
153
  // Disable editing if the pattern itself is disabled.
256
154
  editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
257
155
  }, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
258
- const canOverrideBlocks = useMemo(() => hasPatternOverridesSource && hasOverridableBlocks(innerBlocks), [hasPatternOverridesSource, innerBlocks]);
259
- const initialBlocks = useMemo(() => {
260
- var _editedRecord$blocks$;
261
- return (// Clone the blocks to generate new client IDs.
262
- (_editedRecord$blocks$ = editedRecord.blocks?.map(block => cloneBlock(block))) !== null && _editedRecord$blocks$ !== void 0 ? _editedRecord$blocks$ : editedRecord.content && typeof editedRecord.content !== 'function' ? parse(editedRecord.content) : []
263
- );
264
- }, [editedRecord.blocks, editedRecord.content]);
265
- const legacyIdMap = useRef({});
266
-
267
- // Apply the initial overrides from the pattern block to the inner blocks.
268
- useEffect(() => {
269
- // Build a map of clientIds to the old nano id system to provide back compat.
270
- legacyIdMap.current = getLegacyIdMap(initialBlocks, contentRef.current);
271
- defaultContent.current = {};
272
- const originalEditingMode = getBlockEditingMode(patternClientId);
273
- // Replace the contents of the blocks with the overrides.
274
- registry.batch(() => {
275
- setBlockEditingMode(patternClientId, 'default');
276
- syncDerivedUpdates(() => {
277
- const blocks = hasPatternOverridesSource ? applyInitialContentValuesToInnerBlocks(initialBlocks, contentRef.current, defaultContent.current, legacyIdMap.current) : initialBlocks;
278
- replaceInnerBlocks(patternClientId, blocks);
279
- });
280
- setBlockEditingMode(patternClientId, originalEditingMode);
281
- });
282
- }, [hasPatternOverridesSource, __unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
156
+ const canOverrideBlocks = useMemo(() => hasPatternOverridesSource && hasOverridableBlocks(blocks), [hasPatternOverridesSource, blocks]);
283
157
  const {
284
158
  alignment,
285
159
  layout
286
- } = useInferredLayout(innerBlocks, parentLayout);
160
+ } = useInferredLayout(blocks, parentLayout);
287
161
  const layoutClasses = useLayoutClasses({
288
162
  layout
289
163
  }, name);
290
164
  const blockProps = useBlockProps({
291
- className: classnames('block-library-block__reusable-block-container', layout && layoutClasses, {
165
+ className: clsx('block-library-block__reusable-block-container', layout && layoutClasses, {
292
166
  [`align${alignment}`]: alignment
293
167
  })
294
168
  });
169
+
170
+ // Use `blocks` variable until `innerBlocks` is populated, which has the proper clientIds.
295
171
  const innerBlocksProps = useInnerBlocksProps(blockProps, {
296
- templateLock: 'contentOnly',
172
+ templateLock: 'all',
297
173
  layout,
298
- renderAppender: innerBlocks?.length ? undefined : InnerBlocks.ButtonBlockAppender
174
+ value: innerBlocks.length > 0 ? innerBlocks : blocks,
175
+ onInput: NOOP,
176
+ onChange: NOOP,
177
+ renderAppender: blocks?.length ? undefined : blocks.ButtonBlockAppender
299
178
  });
300
-
301
- // Sync the `content` attribute from the updated blocks to the pattern block.
302
- // `syncDerivedUpdates` is used here to avoid creating an additional undo level.
303
- useEffect(() => {
304
- if (!hasPatternOverridesSource) {
305
- return;
306
- }
307
- const {
308
- getBlocks
309
- } = registry.select(blockEditorStore);
310
- let prevBlocks = getBlocks(patternClientId);
311
- return registry.subscribe(() => {
312
- const blocks = getBlocks(patternClientId);
313
- if (blocks !== prevBlocks) {
314
- prevBlocks = blocks;
315
- syncDerivedUpdates(() => {
316
- const updatedContent = getContentValuesFromInnerBlocks(blocks, defaultContent.current, legacyIdMap.current);
317
- setAttributes({
318
- content: updatedContent
319
- });
320
- contentRef.current = updatedContent;
321
- });
322
- }
323
- }, blockEditorStore);
324
- }, [hasPatternOverridesSource, syncDerivedUpdates, patternClientId, registry, setAttributes]);
325
179
  const handleEditOriginal = () => {
326
180
  onNavigateToEntityRecord({
327
181
  postId: ref,
@@ -330,7 +184,11 @@ function ReusableBlockEdit({
330
184
  };
331
185
  const resetContent = () => {
332
186
  if (content) {
333
- replaceInnerBlocks(patternClientId, initialBlocks);
187
+ // Make sure any previous changes are persisted before resetting.
188
+ __unstableMarkLastChangeAsPersistent();
189
+ setAttributes({
190
+ content: undefined
191
+ });
334
192
  }
335
193
  };
336
194
  let children = null;
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useRegistry","useSelect","useDispatch","useRef","useMemo","useEffect","useEntityRecord","store","coreStore","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","InnerBlocks","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","patternsPrivateApis","parse","cloneBlock","blocksStore","RichTextData","name","patternBlockName","unlock","useLayoutClasses","isOverridableBlock","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableBlocks","getOverridableAttributes","Object","entries","bindings","filter","binding","source","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","assign","_content$metadataName","keys","setBlockEditMode","setEditMode","mode","forEach","editMode","RecursionWarning","blockProps","createElement","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","__unstableParentLayout","patternClientId","setAttributes","registry","record","editedRecord","hasResolved","isMissing","contentRef","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","select","canUser","getBlocks","getSettings","_getBlockEditingMode","getBlockBindingsSource","canEdit","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","originalEditingMode","batch","layoutClasses","className","innerBlocksProps","templateLock","renderAppender","ButtonBlockAppender","prevBlocks","subscribe","updatedContent","handleEditOriginal","postId","postType","resetContent","children","Fragment","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } 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\tInnerBlocks,\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 { parse, cloneBlock, store as blocksStore } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\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 hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! isOverridableBlock( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! isOverridableBlock( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\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\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 registry = useRegistry();\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The value of the `content` attribute, stored in a `ref` to avoid triggering the effect\n\t// that runs `applyInitialContentValuesToInnerBlocks` unnecessarily.\n\tconst contentRef = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\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 blocks = getBlocks( patternClientId );\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: blocks,\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( innerBlocks ),\n\t\t[ hasPatternOverridesSource, innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tcontentRef.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\tconst blocks = hasPatternOverridesSource\n\t\t\t\t\t? applyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\t\tcontentRef.current,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t )\n\t\t\t\t\t: initialBlocks;\n\n\t\t\t\treplaceInnerBlocks( patternClientId, blocks );\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\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\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'contentOnly',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tif ( ! hasPatternOverridesSource ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tconst updatedContent = getContentValuesFromInnerBlocks(\n\t\t\t\t\t\tblocks,\n\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t);\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: updatedContent,\n\t\t\t\t\t} );\n\t\t\t\t\tcontentRef.current = updatedContent;\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\tsyncDerivedUpdates,\n\t\tpatternClientId,\n\t\tregistry,\n\t\tsetAttributes,\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\treplaceInnerBlocks( patternClientId, initialBlocks );\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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SAASC,MAAM,EAAEC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AAC/D,SAASC,eAAe,EAAEC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AAC1E,SACCC,WAAW,EACXC,OAAO,EACPC,aAAa,EACbC,YAAY,QACN,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,mBAAmB,EACnBC,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,aAAa,EACbC,OAAO,EACPC,WAAW,IAAIC,sBAAsB,EACrCd,KAAK,IAAIe,gBAAgB,EACzBC,aAAa,QACP,yBAAyB;AAChC,SAASH,WAAW,IAAII,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,KAAK,EAAEC,UAAU,EAAEnB,KAAK,IAAIoB,WAAW,QAAQ,mBAAmB;AAC3E,SAASC,YAAY,QAAQ,sBAAsB;;AAEnD;AACA;AACA;AACA,SAASC,IAAI,IAAIC,gBAAgB,QAAQ,SAAS;AAClD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAEV,sBAAuB,CAAC;AAC7D,MAAM;EAAEY;AAAmB,CAAC,GAAGF,MAAM,CAAEP,mBAAoB,CAAC;AAE5D,MAAMU,cAAc,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAE;AAE1D,SAASC,cAAcA,CAAEC,MAAM,EAAEC,OAAO,EAAEC,SAAS,GAAG,CAAC,CAAC,EAAG;EAC1D,IAAIC,eAAe,GAAG,CAAC,CAAC;EACxB,KAAM,MAAMC,KAAK,IAAIJ,MAAM,EAAG;IAC7B,IAAKI,KAAK,EAAEC,WAAW,EAAEC,MAAM,EAAG;MACjCH,eAAe,GAAG;QACjB,GAAGA,eAAe;QAClB,GAAGJ,cAAc,CAAEK,KAAK,CAACC,WAAW,EAAEJ,OAAO,EAAEC,SAAU;MAC1D,CAAC;IACF;IAEA,MAAMK,EAAE,GAAGH,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEF,EAAE;IACxC,MAAMG,QAAQ,GAAGN,KAAK,CAACM,QAAQ;IAC/B,IAAKH,EAAE,IAAIN,OAAO,GAAIM,EAAE,CAAE,EAAG;MAC5BJ,eAAe,CAAEO,QAAQ,CAAE,GAAGH,EAAE;IACjC;EACD;EACA,OAAOJ,eAAe;AACvB;AAEA,MAAMQ,iBAAiB,GAAGA,CAAEX,MAAM,EAAEY,YAAY,KAAM;EACrD,MAAMC,2BAA2B,GAAG9C,MAAM,CAAC,CAAC;EAE5C,OAAOC,OAAO,CAAE,MAAM;IACrB;IACA,IAAK,CAAEgC,MAAM,EAAEM,MAAM,EAAG;MACvB,OAAO,CAAC,CAAC;IACV;IAEA,IAAIQ,SAAS,GAAGD,2BAA2B,CAACE,OAAO;;IAEnD;IACA;IACA,IAAKD,SAAS,KAAKE,SAAS,EAAG;MAC9B,MAAMC,aAAa,GAAGL,YAAY,EAAEM,IAAI,KAAK,aAAa;MAC1D,MAAMC,gBAAgB,GAAGnB,MAAM,CAACoB,IAAI,CAAIhB,KAAK,IAC5CN,cAAc,CAACuB,QAAQ,CAAEjB,KAAK,CAACI,UAAU,CAACc,KAAM,CACjD,CAAC;MAEDR,SAAS,GAAGG,aAAa,IAAIE,gBAAgB,GAAG,MAAM,GAAG,IAAI;MAC7DN,2BAA2B,CAACE,OAAO,GAAGD,SAAS;IAChD;IAEA,MAAMS,MAAM,GAAGT,SAAS,GAAGF,YAAY,GAAGI,SAAS;IAEnD,OAAO;MAAEF,SAAS;MAAES;IAAO,CAAC;EAC7B,CAAC,EAAE,CAAEvB,MAAM,EAAEY,YAAY,CAAG,CAAC;AAC9B,CAAC;AAED,SAASY,oBAAoBA,CAAExB,MAAM,EAAG;EACvC,OAAOA,MAAM,CAACoB,IAAI,CAAIhB,KAAK,IAAM;IAChC,IAAKP,kBAAkB,CAAEO,KAAM,CAAC,EAAG;MAClC,OAAO,IAAI;IACZ;IACA,OAAOoB,oBAAoB,CAAEpB,KAAK,CAACC,WAAY,CAAC;EACjD,CAAE,CAAC;AACJ;AAEA,SAASoB,wBAAwBA,CAAErB,KAAK,EAAG;EAC1C,OAAOsB,MAAM,CAACC,OAAO,CAAEvB,KAAK,CAACI,UAAU,CAACC,QAAQ,CAACmB,QAAS,CAAC,CACzDC,MAAM,CACN,CAAE,GAAIC,OAAO,CAAE,KAAMA,OAAO,CAACC,MAAM,KAAK,wBACzC,CAAC,CACAC,GAAG,CAAE,CAAE,CAAEC,YAAY,CAAE,KAAMA,YAAa,CAAC;AAC9C;AAEA,SAASC,sCAAsCA,CAC9ClC,MAAM,EACNC,OAAO,GAAG,CAAC,CAAC,EACZkC,aAAa,EACbC,WAAW,EACV;EACD,OAAOpC,MAAM,CAACgC,GAAG,CAAI5B,KAAK,IAAM;IAAA,IAAAiC,qBAAA;IAC/B,MAAMhC,WAAW,GAAG6B,sCAAsC,CACzD9B,KAAK,CAACC,WAAW,EACjBJ,OAAO,EACPkC,aAAa,EACbC,WACD,CAAC;IACD,MAAME,YAAY,IAAAD,qBAAA,GACjBD,WAAW,GAAIhC,KAAK,CAACM,QAAQ,CAAE,cAAA2B,qBAAA,cAAAA,qBAAA,GAAIjC,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEhB,IAAI;IAEnE,IAAK,CAAE6C,YAAY,IAAI,CAAEzC,kBAAkB,CAAEO,KAAM,CAAC,EAAG;MACtD,OAAO;QAAE,GAAGA,KAAK;QAAEC;MAAY,CAAC;IACjC;IAEA,MAAMG,UAAU,GAAGiB,wBAAwB,CAAErB,KAAM,CAAC;IACpD,MAAMmC,aAAa,GAAG;MAAE,GAAGnC,KAAK,CAACI;IAAW,CAAC;IAC7C,KAAM,MAAMyB,YAAY,IAAIzB,UAAU,EAAG;MAAA,IAAAgC,qBAAA;MACxC,CAAAA,qBAAA,GAAAL,aAAa,CAAEG,YAAY,CAAE,cAAAE,qBAAA,cAAAA,qBAAA,GAA7BL,aAAa,CAAEG,YAAY,CAAE,GAAK,CAAC,CAAC;MACpCH,aAAa,CAAEG,YAAY,CAAE,CAAEL,YAAY,CAAE,GAC5C7B,KAAK,CAACI,UAAU,CAAEyB,YAAY,CAAE;MAEjC,MAAMQ,aAAa,GAAGxC,OAAO,CAAEqC,YAAY,CAAE;MAC7C,IAAKG,aAAa,GAAIR,YAAY,CAAE,KAAKjB,SAAS,EAAG;QACpDuB,aAAa,CAAEN,YAAY,CAAE,GAAGQ,aAAa,CAAER,YAAY,CAAE;MAC9D;IACD;IACA,OAAO;MACN,GAAG7B,KAAK;MACRI,UAAU,EAAE+B,aAAa;MACzBlC;IACD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASqC,gBAAgBA,CAAEC,UAAU,EAAEC,UAAU,EAAG;EACnD,IACCD,UAAU,YAAYnD,YAAY,IAClCoD,UAAU,YAAYpD,YAAY,EACjC;IACD,OAAOmD,UAAU,CAACE,QAAQ,CAAC,CAAC,KAAKD,UAAU,CAACC,QAAQ,CAAC,CAAC;EACvD;EACA,OAAOF,UAAU,KAAKC,UAAU;AACjC;AAEA,SAASE,+BAA+BA,CAAE9C,MAAM,EAAEmC,aAAa,EAAEC,WAAW,EAAG;EAC9E;EACA,MAAMnC,OAAO,GAAG,CAAC,CAAC;EAClB,KAAM,MAAMG,KAAK,IAAIJ,MAAM,EAAG;IAAA,IAAA+C,sBAAA;IAC7B,IAAK3C,KAAK,CAACX,IAAI,KAAKC,gBAAgB,EAAG;MACtC;IACD;IACA,IAAKU,KAAK,CAACC,WAAW,CAACC,MAAM,EAAG;MAC/BoB,MAAM,CAACsB,MAAM,CACZ/C,OAAO,EACP6C,+BAA+B,CAC9B1C,KAAK,CAACC,WAAW,EACjB8B,aAAa,EACbC,WACD,CACD,CAAC;IACF;IACA,MAAME,YAAY,IAAAS,sBAAA,GACjBX,WAAW,GAAIhC,KAAK,CAACM,QAAQ,CAAE,cAAAqC,sBAAA,cAAAA,sBAAA,GAAI3C,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEhB,IAAI;IACnE,IAAK,CAAE6C,YAAY,IAAI,CAAEzC,kBAAkB,CAAEO,KAAM,CAAC,EAAG;MACtD;IACD;IAEA,MAAMI,UAAU,GAAGiB,wBAAwB,CAAErB,KAAM,CAAC;IAEpD,KAAM,MAAM6B,YAAY,IAAIzB,UAAU,EAAG;MACxC,IACC,CAAEkC,gBAAgB,CACjBtC,KAAK,CAACI,UAAU,CAAEyB,YAAY,CAAE,EAChCE,aAAa,GAAIG,YAAY,CAAE,GAAIL,YAAY,CAChD,CAAC,EACA;QAAA,IAAAgB,qBAAA;QACD,CAAAA,qBAAA,GAAAhD,OAAO,CAAEqC,YAAY,CAAE,cAAAW,qBAAA,cAAAA,qBAAA,GAAvBhD,OAAO,CAAEqC,YAAY,CAAE,GAAK,CAAC,CAAC;QAC9B;QACA;QACArC,OAAO,CAAEqC,YAAY,CAAE,CAAEL,YAAY,CAAE,GACtC7B,KAAK,CAACI,UAAU,CAAEyB,YAAY,CAAE,KAAKjB,SAAS;QAC3C;QACA;QACA;QACA,EAAE,GACFZ,KAAK,CAACI,UAAU,CAAEyB,YAAY,CAAE;MACrC;IACD;EACD;EACA,OAAOP,MAAM,CAACwB,IAAI,CAAEjD,OAAQ,CAAC,CAACK,MAAM,GAAG,CAAC,GAAGL,OAAO,GAAGe,SAAS;AAC/D;AAEA,SAASmC,gBAAgBA,CAAEC,WAAW,EAAEpD,MAAM,EAAEqD,IAAI,EAAG;EACtDrD,MAAM,CAACsD,OAAO,CAAIlD,KAAK,IAAM;IAC5B,MAAMmD,QAAQ,GACbF,IAAI,KACFxD,kBAAkB,CAAEO,KAAM,CAAC,GAAG,aAAa,GAAG,UAAU,CAAE;IAC7DgD,WAAW,CAAEhD,KAAK,CAACM,QAAQ,EAAE6C,QAAS,CAAC;IAEvCJ,gBAAgB,CACfC,WAAW,EACXhD,KAAK,CAACC,WAAW;IACjB;IACAD,KAAK,CAACX,IAAI,KAAKC,gBAAgB,GAAG,UAAU,GAAG2D,IAChD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASG,gBAAgBA,CAAA,EAAG;EAC3B,MAAMC,UAAU,GAAG3E,aAAa,CAAC,CAAC;EAClC,OACC4E,aAAA;IAAA,GAAUD;EAAU,GACnBC,aAAA,CAAC3E,OAAO,QACLN,EAAE,CAAE,yCAA0C,CACxC,CACL,CAAC;AAER;;AAEA;AACA;AACA;AACA,eAAe,SAASkF,iCAAiCA,CAAEC,KAAK,EAAG;EAClE,MAAM;IAAEC;EAAI,CAAC,GAAGD,KAAK,CAACpD,UAAU;EAChC,MAAMsD,kBAAkB,GAAGlF,eAAe,CAAEiF,GAAI,CAAC;EAEjD,IAAKC,kBAAkB,EAAG;IACzB,OAAOJ,aAAA,CAACF,gBAAgB,MAAE,CAAC;EAC5B;EAEA,OACCE,aAAA,CAAC/E,iBAAiB;IAACoF,QAAQ,EAAGF;EAAK,GAClCH,aAAA,CAACM,iBAAiB;IAAA,GAAMJ;EAAK,CAAI,CACf,CAAC;AAEtB;AAEA,SAASI,iBAAiBA,CAAE;EAC3BvE,IAAI;EACJe,UAAU,EAAE;IAAEqD,GAAG;IAAE5D;EAAQ,CAAC;EAC5BgE,sBAAsB,EAAErD,YAAY;EACpCF,QAAQ,EAAEwD,eAAe;EACzBC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAGxG,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEyG,MAAM;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAAGrG,eAAe,CAC5D,UAAU,EACV,UAAU,EACV2F,GACD,CAAC;EACD,MAAMW,SAAS,GAAGD,WAAW,IAAI,CAAEF,MAAM;;EAEzC;EACA;EACA,MAAMI,UAAU,GAAG1G,MAAM,CAAEkC,OAAQ,CAAC;;EAEpC;EACA;EACA,MAAMyE,cAAc,GAAG3G,MAAM,CAAE,CAAC,CAAE,CAAC;EAEnC,MAAM;IACL4G,kBAAkB;IAClBC,uCAAuC;IACvCC;EACD,CAAC,GAAG/G,WAAW,CAAEoB,gBAAiB,CAAC;EACnC,MAAM;IAAE4F;EAAmB,CAAC,GAAGnF,MAAM,CAAE7B,WAAW,CAAEoB,gBAAiB,CAAE,CAAC;EAExE,MAAM;IACLmB,WAAW;IACX0E,WAAW;IACXC,mBAAmB;IACnBC,wBAAwB;IACxBC,WAAW;IACXC;EACD,CAAC,GAAGtH,SAAS,CACVuH,MAAM,IAAM;IACb,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEhH,SAAU,CAAC;IACvC,MAAM;MACLkH,SAAS;MACTC,WAAW;MACXP,mBAAmB,EAAEQ;IACtB,CAAC,GAAGJ,MAAM,CAAElG,gBAAiB,CAAC;IAC9B,MAAM;MAAEuG;IAAuB,CAAC,GAAG9F,MAAM,CAAEyF,MAAM,CAAE7F,WAAY,CAAE,CAAC;IAClE,MAAMS,MAAM,GAAGsF,SAAS,CAAEpB,eAAgB,CAAC;IAC3C,MAAMwB,OAAO,GAAGL,OAAO,CAAE,QAAQ,EAAE,QAAQ,EAAExB,GAAI,CAAC;;IAElD;IACA,OAAO;MACNxD,WAAW,EAAEL,MAAM;MACnB+E,WAAW,EAAEW,OAAO;MACpBV,mBAAmB,EAAEQ,oBAAoB;MACzCP,wBAAwB,EACvBM,WAAW,CAAC,CAAC,CAACN,wBAAwB;MACvCC,WAAW,EAAEM,oBAAoB,CAAEtB,eAAgB,CAAC;MACpDiB,yBAAyB,EAAE,CAAC,CAAEM,sBAAsB,CACnD,wBACD;IACD,CAAC;EACF,CAAC,EACD,CAAEvB,eAAe,EAAEL,GAAG,CACvB,CAAC;;EAED;EACA5F,SAAS,CAAE,MAAM;IAChBkF,gBAAgB,CACf0B,mBAAmB,EACnBxE,WAAW;IACX;IACA6E,WAAW,KAAK,UAAU,IAAI,CAAEC,yBAAyB,GACtD,UAAU,GACVnE,SACJ,CAAC;EACF,CAAC,EAAE,CACFkE,WAAW,EACX7E,WAAW,EACXwE,mBAAmB,EACnBM,yBAAyB,CACxB,CAAC;EAEH,MAAMQ,iBAAiB,GAAG3H,OAAO,CAChC,MAAMmH,yBAAyB,IAAI3D,oBAAoB,CAAEnB,WAAY,CAAC,EACtE,CAAE8E,yBAAyB,EAAE9E,WAAW,CACzC,CAAC;EAED,MAAMuF,aAAa,GAAG5H,OAAO,CAC5B;IAAA,IAAA6H,qBAAA;IAAA,OACC;MAAA,CAAAA,qBAAA,GACAvB,YAAY,CAACtE,MAAM,EAAEgC,GAAG,CAAI5B,KAAK,IAAMd,UAAU,CAAEc,KAAM,CAAE,CAAC,cAAAyF,qBAAA,cAAAA,qBAAA,GAC1DvB,YAAY,CAACrE,OAAO,IAAI,OAAOqE,YAAY,CAACrE,OAAO,KAAK,UAAU,GACjEZ,KAAK,CAAEiF,YAAY,CAACrE,OAAQ,CAAC,GAC7B;IAAE;EAAA,CAAE,EACR,CAAEqE,YAAY,CAACtE,MAAM,EAAEsE,YAAY,CAACrE,OAAO,CAC5C,CAAC;EAED,MAAMmC,WAAW,GAAGrE,MAAM,CAAE,CAAC,CAAE,CAAC;;EAEhC;EACAE,SAAS,CAAE,MAAM;IAChB;IACAmE,WAAW,CAACrB,OAAO,GAAGhB,cAAc,CACnC6F,aAAa,EACbnB,UAAU,CAAC1D,OACZ,CAAC;IACD2D,cAAc,CAAC3D,OAAO,GAAG,CAAC,CAAC;IAC3B,MAAM+E,mBAAmB,GAAGd,mBAAmB,CAAEd,eAAgB,CAAC;IAClE;IACAE,QAAQ,CAAC2B,KAAK,CAAE,MAAM;MACrBlB,mBAAmB,CAAEX,eAAe,EAAE,SAAU,CAAC;MACjDY,kBAAkB,CAAE,MAAM;QACzB,MAAM9E,MAAM,GAAGmF,yBAAyB,GACrCjD,sCAAsC,CACtC0D,aAAa,EACbnB,UAAU,CAAC1D,OAAO,EAClB2D,cAAc,CAAC3D,OAAO,EACtBqB,WAAW,CAACrB,OACZ,CAAC,GACD6E,aAAa;QAEhBjB,kBAAkB,CAAET,eAAe,EAAElE,MAAO,CAAC;MAC9C,CAAE,CAAC;MACH6E,mBAAmB,CAAEX,eAAe,EAAE4B,mBAAoB,CAAC;IAC5D,CAAE,CAAC;EACJ,CAAC,EAAE,CACFX,yBAAyB,EACzBP,uCAAuC,EACvCV,eAAe,EACf0B,aAAa,EACbjB,kBAAkB,EAClBP,QAAQ,EACRY,mBAAmB,EACnBH,mBAAmB,EACnBC,kBAAkB,CACjB,CAAC;EAEH,MAAM;IAAEhE,SAAS;IAAES;EAAO,CAAC,GAAGZ,iBAAiB,CAC9CN,WAAW,EACXO,YACD,CAAC;EACD,MAAMoF,aAAa,GAAGpG,gBAAgB,CAAE;IAAE2B;EAAO,CAAC,EAAE9B,IAAK,CAAC;EAE1D,MAAMgE,UAAU,GAAG3E,aAAa,CAAE;IACjCmH,SAAS,EAAEtI,UAAU,CACpB,+CAA+C,EAC/C4D,MAAM,IAAIyE,aAAa,EACvB;MAAE,CAAG,QAAQlF,SAAW,EAAC,GAAIA;IAAU,CACxC;EACD,CAAE,CAAC;EAEH,MAAMoF,gBAAgB,GAAGxH,mBAAmB,CAAE+E,UAAU,EAAE;IACzD0C,YAAY,EAAE,aAAa;IAC3B5E,MAAM;IACN6E,cAAc,EAAE/F,WAAW,EAAEC,MAAM,GAChCU,SAAS,GACTnC,WAAW,CAACwH;EAChB,CAAE,CAAC;;EAEH;EACA;EACApI,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEkH,yBAAyB,EAAG;MAClC;IACD;IACA,MAAM;MAAEG;IAAU,CAAC,GAAGlB,QAAQ,CAACgB,MAAM,CAAElG,gBAAiB,CAAC;IACzD,IAAIoH,UAAU,GAAGhB,SAAS,CAAEpB,eAAgB,CAAC;IAC7C,OAAOE,QAAQ,CAACmC,SAAS,CAAE,MAAM;MAChC,MAAMvG,MAAM,GAAGsF,SAAS,CAAEpB,eAAgB,CAAC;MAC3C,IAAKlE,MAAM,KAAKsG,UAAU,EAAG;QAC5BA,UAAU,GAAGtG,MAAM;QACnB8E,kBAAkB,CAAE,MAAM;UACzB,MAAM0B,cAAc,GAAG1D,+BAA+B,CACrD9C,MAAM,EACN0E,cAAc,CAAC3D,OAAO,EACtBqB,WAAW,CAACrB,OACb,CAAC;UACDoD,aAAa,CAAE;YACdlE,OAAO,EAAEuG;UACV,CAAE,CAAC;UACH/B,UAAU,CAAC1D,OAAO,GAAGyF,cAAc;QACpC,CAAE,CAAC;MACJ;IACD,CAAC,EAAEtH,gBAAiB,CAAC;EACtB,CAAC,EAAE,CACFiG,yBAAyB,EACzBL,kBAAkB,EAClBZ,eAAe,EACfE,QAAQ,EACRD,aAAa,CACZ,CAAC;EAEH,MAAMsC,kBAAkB,GAAGA,CAAA,KAAM;IAChCxB,wBAAwB,CAAE;MACzByB,MAAM,EAAE7C,GAAG;MACX8C,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAK3G,OAAO,EAAG;MACd0E,kBAAkB,CAAET,eAAe,EAAE0B,aAAc,CAAC;IACrD;EACD,CAAC;EAED,IAAIiB,QAAQ,GAAG,IAAI;EAEnB,IAAKrC,SAAS,EAAG;IAChBqC,QAAQ,GACPnD,aAAA,CAAC3E,OAAO,QACLN,EAAE,CAAE,2CAA4C,CAC1C,CACT;EACF;EAEA,IAAK,CAAE8F,WAAW,EAAG;IACpBsC,QAAQ,GACPnD,aAAA,CAACrF,WAAW,QACXqF,aAAA,CAACpF,OAAO,MAAE,CACE,CACb;EACF;EAEA,OACCoF,aAAA,CAAAoD,QAAA,QACG/B,WAAW,IAAIE,wBAAwB,IACxCvB,aAAA,CAACvE,aAAa,QACbuE,aAAA,CAAClF,YAAY,QACZkF,aAAA,CAACnF,aAAa;IAACwI,OAAO,EAAGN;EAAoB,GAC1ChI,EAAE,CAAE,eAAgB,CACR,CACF,CACA,CACf,EAECkH,iBAAiB,IAClBjC,aAAA,CAACvE,aAAa,QACbuE,aAAA,CAAClF,YAAY,QACZkF,aAAA,CAACnF,aAAa;IACbwI,OAAO,EAAGH,YAAc;IACxBI,QAAQ,EAAG,CAAE/G,OAAS;IACtBgH,yBAAyB;EAAA,GAEvBxI,EAAE,CAAE,OAAQ,CACA,CACF,CACA,CACf,EAECoI,QAAQ,KAAK,IAAI,GAClBnD,aAAA;IAAA,GAAUwC;EAAgB,CAAI,CAAC,GAE/BxC,aAAA;IAAA,GAAUD;EAAU,GAAKoD,QAAe,CAExC,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useSelect","useDispatch","useRef","useMemo","useEffect","useEntityRecord","store","coreStore","useEntityBlockEditor","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","patternsPrivateApis","blocksStore","name","patternBlockName","unlock","useLayoutClasses","isOverridableBlock","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","hasOverridableBlocks","innerBlocks","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","RecursionWarning","blockProps","createElement","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","id","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","userCanEdit","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","select","canUser","getBlocks","getSettings","getBlockEditingMode","_getBlockEditingMode","getBlockBindingsSource","canEdit","canOverrideBlocks","layoutClasses","className","innerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","handleEditOriginal","postId","postType","resetContent","children","Fragment","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 } = unlock( 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 hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\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":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,MAAM,EAAEC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AAC/D,SACCC,eAAe,EACfC,KAAK,IAAIC,SAAS,EAClBC,oBAAoB,QACd,sBAAsB;AAC7B,SACCC,WAAW,EACXC,OAAO,EACPC,aAAa,EACbC,YAAY,QACN,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,mBAAmB,EACnBC,iBAAiB,EACjBC,eAAe,EACfC,aAAa,EACbC,OAAO,EACPC,WAAW,IAAIC,sBAAsB,EACrCd,KAAK,IAAIe,gBAAgB,EACzBC,aAAa,QACP,yBAAyB;AAChC,SAASH,WAAW,IAAII,mBAAmB,QAAQ,qBAAqB;AACxE,SAASjB,KAAK,IAAIkB,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,IAAI,IAAIC,gBAAgB,QAAQ,SAAS;AAClD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAEP,sBAAuB,CAAC;AAC7D,MAAM;EAAES;AAAmB,CAAC,GAAGF,MAAM,CAAEJ,mBAAoB,CAAC;AAE5D,MAAMO,cAAc,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAE;AAE1D,MAAMC,iBAAiB,GAAGA,CAAEC,MAAM,EAAEC,YAAY,KAAM;EACrD,MAAMC,2BAA2B,GAAGhC,MAAM,CAAC,CAAC;EAE5C,OAAOC,OAAO,CAAE,MAAM;IACrB;IACA,IAAK,CAAE6B,MAAM,EAAEG,MAAM,EAAG;MACvB,OAAO,CAAC,CAAC;IACV;IAEA,IAAIC,SAAS,GAAGF,2BAA2B,CAACG,OAAO;;IAEnD;IACA;IACA,IAAKD,SAAS,KAAKE,SAAS,EAAG;MAC9B,MAAMC,aAAa,GAAGN,YAAY,EAAEO,IAAI,KAAK,aAAa;MAC1D,MAAMC,gBAAgB,GAAGT,MAAM,CAACU,IAAI,CAAIC,KAAK,IAC5Cb,cAAc,CAACc,QAAQ,CAAED,KAAK,CAACE,UAAU,CAACC,KAAM,CACjD,CAAC;MAEDV,SAAS,GAAGG,aAAa,IAAIE,gBAAgB,GAAG,MAAM,GAAG,IAAI;MAC7DP,2BAA2B,CAACG,OAAO,GAAGD,SAAS;IAChD;IAEA,MAAMW,MAAM,GAAGX,SAAS,GAAGH,YAAY,GAAGK,SAAS;IAEnD,OAAO;MAAEF,SAAS;MAAEW;IAAO,CAAC;EAC7B,CAAC,EAAE,CAAEf,MAAM,EAAEC,YAAY,CAAG,CAAC;AAC9B,CAAC;AAED,SAASe,oBAAoBA,CAAEhB,MAAM,EAAG;EACvC,OAAOA,MAAM,CAACU,IAAI,CAAIC,KAAK,IAAM;IAChC,IAAKd,kBAAkB,CAAEc,KAAM,CAAC,EAAG;MAClC,OAAO,IAAI;IACZ;IACA,OAAOK,oBAAoB,CAAEL,KAAK,CAACM,WAAY,CAAC;EACjD,CAAE,CAAC;AACJ;AAEA,SAASC,gBAAgBA,CAAEC,WAAW,EAAEnB,MAAM,EAAEoB,IAAI,EAAG;EACtDpB,MAAM,CAACqB,OAAO,CAAIV,KAAK,IAAM;IAC5B,MAAMW,QAAQ,GACbF,IAAI,KACFvB,kBAAkB,CAAEc,KAAM,CAAC,GAAG,aAAa,GAAG,UAAU,CAAE;IAC7DQ,WAAW,CAAER,KAAK,CAACY,QAAQ,EAAED,QAAS,CAAC;IAEvCJ,gBAAgB,CACfC,WAAW,EACXR,KAAK,CAACM,WAAW;IACjB;IACAN,KAAK,CAAClB,IAAI,KAAKC,gBAAgB,GAAG,UAAU,GAAG0B,IAChD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASI,gBAAgBA,CAAA,EAAG;EAC3B,MAAMC,UAAU,GAAGxC,aAAa,CAAC,CAAC;EAClC,OACCyC,aAAA;IAAA,GAAUD;EAAU,GACnBC,aAAA,CAACxC,OAAO,QACLL,EAAE,CAAE,yCAA0C,CACxC,CACL,CAAC;AAER;AAEA,MAAM8C,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA,eAAe,SAASC,iCAAiCA,CAAEC,KAAK,EAAG;EAClE,MAAM;IAAEC;EAAI,CAAC,GAAGD,KAAK,CAAChB,UAAU;EAChC,MAAMkB,kBAAkB,GAAG/C,eAAe,CAAE8C,GAAI,CAAC;EAEjD,IAAKC,kBAAkB,EAAG;IACzB,OAAOL,aAAA,CAACF,gBAAgB,MAAE,CAAC;EAC5B;EAEA,OACCE,aAAA,CAAC3C,iBAAiB;IAACiD,QAAQ,EAAGF;EAAK,GAClCJ,aAAA,CAACO,iBAAiB;IAAA,GAAMJ;EAAK,CAAI,CACf,CAAC;AAEtB;AAEA,SAASI,iBAAiBA,CAAE;EAC3BxC,IAAI;EACJoB,UAAU,EAAE;IAAEiB,GAAG;IAAEI;EAAQ,CAAC;EAC5BC,sBAAsB,EAAElC,YAAY;EACpCsB,QAAQ,EAAEa,eAAe;EACzBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM;IAAEC;EAAY,CAAC,GAAGlE,eAAe,CAC9C,UAAU,EACV,UAAU,EACVyD,GACD,CAAC;EACD,MAAM,CAAE9B,MAAM,CAAE,GAAGxB,oBAAoB,CAAE,UAAU,EAAE,UAAU,EAAE;IAChEgE,EAAE,EAAEV;EACL,CAAE,CAAC;EACH,MAAMW,SAAS,GAAGF,WAAW,IAAI,CAAED,MAAM;EAEzC,MAAM;IAAEI,mBAAmB;IAAEC;EAAqC,CAAC,GAClE1E,WAAW,CAAEoB,gBAAiB,CAAC;EAEhC,MAAM;IACL4B,WAAW;IACX2B,WAAW;IACXC,wBAAwB;IACxBC,WAAW;IACXC;EACD,CAAC,GAAG/E,SAAS,CACVgF,MAAM,IAAM;IACb,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEzE,SAAU,CAAC;IACvC,MAAM;MACL2E,SAAS;MACTC,WAAW;MACXC,mBAAmB,EAAEC;IACtB,CAAC,GAAGL,MAAM,CAAE3D,gBAAiB,CAAC;IAC9B,MAAM;MAAEiE;IAAuB,CAAC,GAAG3D,MAAM,CAAEqD,MAAM,CAAExD,WAAY,CAAE,CAAC;IAClE,MAAM+D,OAAO,GAAGN,OAAO,CAAE,QAAQ,EAAE,QAAQ,EAAEnB,GAAI,CAAC;;IAElD;IACA,OAAO;MACNb,WAAW,EAAEiC,SAAS,CAAEd,eAAgB,CAAC;MACzCQ,WAAW,EAAEW,OAAO;MACpBH,mBAAmB,EAAEC,oBAAoB;MACzCR,wBAAwB,EACvBM,WAAW,CAAC,CAAC,CAACN,wBAAwB;MACvCC,WAAW,EAAEO,oBAAoB,CAAEjB,eAAgB,CAAC;MACpDW,yBAAyB,EAAE,CAAC,CAAEO,sBAAsB,CACnD,wBACD;IACD,CAAC;EACF,CAAC,EACD,CAAElB,eAAe,EAAEN,GAAG,CACvB,CAAC;;EAED;EACA1D,SAAS,CAAE,MAAM;IAChB8C,gBAAgB,CACfwB,mBAAmB,EACnBzB,WAAW;IACX;IACA6B,WAAW,KAAK,UAAU,IAAI,CAAEC,yBAAyB,GACtD,UAAU,GACVzC,SACJ,CAAC;EACF,CAAC,EAAE,CACFwC,WAAW,EACX7B,WAAW,EACXyB,mBAAmB,EACnBK,yBAAyB,CACxB,CAAC;EAEH,MAAMS,iBAAiB,GAAGrF,OAAO,CAChC,MAAM4E,yBAAyB,IAAI/B,oBAAoB,CAAEhB,MAAO,CAAC,EACjE,CAAE+C,yBAAyB,EAAE/C,MAAM,CACpC,CAAC;EAED,MAAM;IAAEI,SAAS;IAAEW;EAAO,CAAC,GAAGhB,iBAAiB,CAAEC,MAAM,EAAEC,YAAa,CAAC;EACvE,MAAMwD,aAAa,GAAG7D,gBAAgB,CAAE;IAAEmB;EAAO,CAAC,EAAEtB,IAAK,CAAC;EAE1D,MAAMgC,UAAU,GAAGxC,aAAa,CAAE;IACjCyE,SAAS,EAAE3F,IAAI,CACd,+CAA+C,EAC/CgD,MAAM,IAAI0C,aAAa,EACvB;MAAE,CAAG,QAAQrD,SAAW,EAAC,GAAIA;IAAU,CACxC;EACD,CAAE,CAAC;;EAEH;EACA,MAAMuD,gBAAgB,GAAG7E,mBAAmB,CAAE2C,UAAU,EAAE;IACzDmC,YAAY,EAAE,KAAK;IACnB7C,MAAM;IACN8C,KAAK,EAAE5C,WAAW,CAACd,MAAM,GAAG,CAAC,GAAGc,WAAW,GAAGjB,MAAM;IACpD8D,OAAO,EAAEnC,IAAI;IACboC,QAAQ,EAAEpC,IAAI;IACdqC,cAAc,EAAEhE,MAAM,EAAEG,MAAM,GAAGG,SAAS,GAAGN,MAAM,CAACiE;EACrD,CAAE,CAAC;EAEH,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAChCrB,wBAAwB,CAAE;MACzBsB,MAAM,EAAErC,GAAG;MACXsC,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAKnC,OAAO,EAAG;MACd;MACAS,oCAAoC,CAAC,CAAC;MACtCN,aAAa,CAAE;QAAEH,OAAO,EAAE5B;MAAU,CAAE,CAAC;IACxC;EACD,CAAC;EAED,IAAIgE,QAAQ,GAAG,IAAI;EAEnB,IAAK7B,SAAS,EAAG;IAChB6B,QAAQ,GACP5C,aAAA,CAACxC,OAAO,QACLL,EAAE,CAAE,2CAA4C,CAC1C,CACT;EACF;EAEA,IAAK,CAAE0D,WAAW,EAAG;IACpB+B,QAAQ,GACP5C,aAAA,CAACjD,WAAW,QACXiD,aAAA,CAAChD,OAAO,MAAE,CACE,CACb;EACF;EAEA,OACCgD,aAAA,CAAA6C,QAAA,QACG3B,WAAW,IAAIC,wBAAwB,IACxCnB,aAAA,CAACpC,aAAa,QACboC,aAAA,CAAC9C,YAAY,QACZ8C,aAAA,CAAC/C,aAAa;IAAC6F,OAAO,EAAGN;EAAoB,GAC1CrF,EAAE,CAAE,eAAgB,CACR,CACF,CACA,CACf,EAEC2E,iBAAiB,IAClB9B,aAAA,CAACpC,aAAa,QACboC,aAAA,CAAC9C,YAAY,QACZ8C,aAAA,CAAC/C,aAAa;IACb6F,OAAO,EAAGH,YAAc;IACxBI,QAAQ,EAAG,CAAEvC,OAAS;IACtBwC,yBAAyB;EAAA,GAEvB7F,EAAE,CAAE,OAAQ,CACA,CACF,CACA,CACf,EAECyF,QAAQ,KAAK,IAAI,GAClB5C,aAAA;IAAA,GAAUiC;EAAgB,CAAI,CAAC,GAE/BjC,aAAA;IAAA,GAAUD;EAAU,GAAK6C,QAAe,CAExC,CAAC;AAEL","ignoreList":[]}