@wordpress/block-library 8.33.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 (900) hide show
  1. package/CHANGELOG.md +10 -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 +25 -160
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block-keyboard-shortcuts/index.js +95 -0
  9. package/build/block-keyboard-shortcuts/index.js.map +1 -0
  10. package/build/button/deprecated.js +16 -16
  11. package/build/button/deprecated.js.map +1 -1
  12. package/build/button/edit.js +3 -7
  13. package/build/button/edit.js.map +1 -1
  14. package/build/button/index.js +1 -0
  15. package/build/button/index.js.map +1 -1
  16. package/build/button/save.js +3 -3
  17. package/build/button/save.js.map +1 -1
  18. package/build/buttons/deprecated.js +2 -2
  19. package/build/buttons/deprecated.js.map +1 -1
  20. package/build/buttons/edit.js +2 -2
  21. package/build/buttons/edit.js.map +1 -1
  22. package/build/buttons/save.js +2 -2
  23. package/build/buttons/save.js.map +1 -1
  24. package/build/categories/edit.js +2 -2
  25. package/build/categories/edit.js.map +1 -1
  26. package/build/column/deprecated.js +2 -2
  27. package/build/column/deprecated.js.map +1 -1
  28. package/build/column/edit.js +30 -21
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js +3 -1
  31. package/build/column/edit.native.js.map +1 -1
  32. package/build/column/save.js +2 -2
  33. package/build/column/save.js.map +1 -1
  34. package/build/columns/deprecated.js +3 -3
  35. package/build/columns/deprecated.js.map +1 -1
  36. package/build/columns/edit.js +70 -54
  37. package/build/columns/edit.js.map +1 -1
  38. package/build/columns/save.js +2 -2
  39. package/build/columns/save.js.map +1 -1
  40. package/build/columns/variations.js +18 -28
  41. package/build/columns/variations.js.map +1 -1
  42. package/build/comment-author-name/edit.js +2 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-content/edit.js +2 -2
  45. package/build/comment-content/edit.js.map +1 -1
  46. package/build/comment-edit-link/edit.js +2 -2
  47. package/build/comment-edit-link/edit.js.map +1 -1
  48. package/build/comment-reply-link/edit.js +2 -2
  49. package/build/comment-reply-link/edit.js.map +1 -1
  50. package/build/comment-template/util.js +3 -1
  51. package/build/comment-template/util.js.map +1 -1
  52. package/build/comments/edit/comments-legacy.js +2 -2
  53. package/build/comments/edit/comments-legacy.js.map +1 -1
  54. package/build/comments-title/edit.js +2 -2
  55. package/build/comments-title/edit.js.map +1 -1
  56. package/build/cover/deprecated.js +38 -38
  57. package/build/cover/deprecated.js.map +1 -1
  58. package/build/cover/edit/index.js +6 -6
  59. package/build/cover/edit/index.js.map +1 -1
  60. package/build/cover/edit/resizable-cover-popover.js +2 -2
  61. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  62. package/build/cover/edit.native.js +2 -2
  63. package/build/cover/edit.native.js.map +1 -1
  64. package/build/cover/save.js +5 -5
  65. package/build/cover/save.js.map +1 -1
  66. package/build/cover/shared.js +3 -1
  67. package/build/cover/shared.js.map +1 -1
  68. package/build/embed/deprecated.js +3 -3
  69. package/build/embed/deprecated.js.map +1 -1
  70. package/build/embed/edit.js +2 -2
  71. package/build/embed/edit.js.map +1 -1
  72. package/build/embed/edit.native.js +2 -2
  73. package/build/embed/edit.native.js.map +1 -1
  74. package/build/embed/embed-placeholder.js +8 -3
  75. package/build/embed/embed-placeholder.js.map +1 -1
  76. package/build/embed/embed-preview.js +3 -3
  77. package/build/embed/embed-preview.js.map +1 -1
  78. package/build/embed/embed-preview.native.js +2 -2
  79. package/build/embed/embed-preview.native.js.map +1 -1
  80. package/build/embed/icons.js +7 -1
  81. package/build/embed/icons.js.map +1 -1
  82. package/build/embed/save.js +2 -2
  83. package/build/embed/save.js.map +1 -1
  84. package/build/embed/util.js +13 -9
  85. package/build/embed/util.js.map +1 -1
  86. package/build/embed/variations.js +12 -1
  87. package/build/embed/variations.js.map +1 -1
  88. package/build/embed/wp-embed-preview.js +6 -2
  89. package/build/embed/wp-embed-preview.js.map +1 -1
  90. package/build/file/deprecated.js +2 -2
  91. package/build/file/deprecated.js.map +1 -1
  92. package/build/file/edit.js +3 -3
  93. package/build/file/edit.js.map +1 -1
  94. package/build/file/save.js +2 -2
  95. package/build/file/save.js.map +1 -1
  96. package/build/form-input/deprecated.js +3 -3
  97. package/build/form-input/deprecated.js.map +1 -1
  98. package/build/form-input/edit.js +4 -4
  99. package/build/form-input/edit.js.map +1 -1
  100. package/build/form-input/save.js +3 -3
  101. package/build/form-input/save.js.map +1 -1
  102. package/build/form-submission-notification/edit.js +2 -2
  103. package/build/form-submission-notification/edit.js.map +1 -1
  104. package/build/form-submission-notification/save.js +2 -2
  105. package/build/form-submission-notification/save.js.map +1 -1
  106. package/build/gallery/deprecated.js +3 -3
  107. package/build/gallery/deprecated.js.map +1 -1
  108. package/build/gallery/edit.js +2 -2
  109. package/build/gallery/edit.js.map +1 -1
  110. package/build/gallery/gallery.js +2 -2
  111. package/build/gallery/gallery.js.map +1 -1
  112. package/build/gallery/save.js +3 -3
  113. package/build/gallery/save.js.map +1 -1
  114. package/build/gallery/v1/gallery-image.js +2 -2
  115. package/build/gallery/v1/gallery-image.js.map +1 -1
  116. package/build/gallery/v1/gallery.js +3 -3
  117. package/build/gallery/v1/gallery.js.map +1 -1
  118. package/build/gallery/v1/save.js +3 -3
  119. package/build/gallery/v1/save.js.map +1 -1
  120. package/build/group/deprecated.js +4 -4
  121. package/build/group/deprecated.js.map +1 -1
  122. package/build/group/index.js +0 -8
  123. package/build/group/index.js.map +1 -1
  124. package/build/group/placeholder.js +18 -19
  125. package/build/group/placeholder.js.map +1 -1
  126. package/build/heading/deprecated.js +6 -6
  127. package/build/heading/deprecated.js.map +1 -1
  128. package/build/heading/edit.js +2 -19
  129. package/build/heading/edit.js.map +1 -1
  130. package/build/heading/edit.native.js +2 -2
  131. package/build/heading/edit.native.js.map +1 -1
  132. package/build/heading/index.js +1 -0
  133. package/build/heading/index.js.map +1 -1
  134. package/build/heading/save.js +2 -2
  135. package/build/heading/save.js.map +1 -1
  136. package/build/home-link/edit.js +2 -2
  137. package/build/home-link/edit.js.map +1 -1
  138. package/build/html/edit.js +0 -2
  139. package/build/html/edit.js.map +1 -1
  140. package/build/image/deprecated.js +10 -10
  141. package/build/image/deprecated.js.map +1 -1
  142. package/build/image/edit.js +7 -5
  143. package/build/image/edit.js.map +1 -1
  144. package/build/image/image.js +8 -4
  145. package/build/image/image.js.map +1 -1
  146. package/build/image/save.js +3 -3
  147. package/build/image/save.js.map +1 -1
  148. package/build/image/view.js +3 -1
  149. package/build/image/view.js.map +1 -1
  150. package/build/index.js +9 -1
  151. package/build/index.js.map +1 -1
  152. package/build/latest-posts/edit.js +5 -5
  153. package/build/latest-posts/edit.js.map +1 -1
  154. package/build/list/deprecated.js +90 -1
  155. package/build/list/deprecated.js.map +1 -1
  156. package/build/list/index.js +0 -2
  157. package/build/list/index.js.map +1 -1
  158. package/build/list-item/edit.js +1 -8
  159. package/build/list-item/edit.js.map +1 -1
  160. package/build/list-item/hooks/use-merge.js +12 -4
  161. package/build/list-item/hooks/use-merge.js.map +1 -1
  162. package/build/list-item/hooks/use-outdent-list-item.js +15 -5
  163. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  164. package/build/list-item/index.js +2 -1
  165. package/build/list-item/index.js.map +1 -1
  166. package/build/media-text/deprecated.js +10 -10
  167. package/build/media-text/deprecated.js.map +1 -1
  168. package/build/media-text/edit.js +2 -2
  169. package/build/media-text/edit.js.map +1 -1
  170. package/build/media-text/media-container.js +2 -2
  171. package/build/media-text/media-container.js.map +1 -1
  172. package/build/media-text/save.js +3 -3
  173. package/build/media-text/save.js.map +1 -1
  174. package/build/navigation/edit/are-blocks-dirty.js +9 -3
  175. package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
  176. package/build/navigation/edit/deleted-navigation-warning.js +1 -1
  177. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  178. package/build/navigation/edit/index.js +3 -3
  179. package/build/navigation/edit/index.js.map +1 -1
  180. package/build/navigation/edit/menu-inspector-controls.js +3 -1
  181. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  182. package/build/navigation/edit/navigation-menu-selector.js +1 -1
  183. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  184. package/build/navigation/edit/responsive-wrapper.js +3 -3
  185. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  186. package/build/navigation/edit/utils.js +2 -2
  187. package/build/navigation/edit/utils.js.map +1 -1
  188. package/build/navigation/index.js +0 -9
  189. package/build/navigation/index.js.map +1 -1
  190. package/build/navigation/view.js +3 -1
  191. package/build/navigation/view.js.map +1 -1
  192. package/build/navigation-link/edit.js +97 -88
  193. package/build/navigation-link/edit.js.map +1 -1
  194. package/build/navigation-link/link-ui.js +2 -7
  195. package/build/navigation-link/link-ui.js.map +1 -1
  196. package/build/navigation-submenu/edit.js +2 -2
  197. package/build/navigation-submenu/edit.js.map +1 -1
  198. package/build/page-list/edit.js +2 -2
  199. package/build/page-list/edit.js.map +1 -1
  200. package/build/page-list-item/edit.js +3 -3
  201. package/build/page-list-item/edit.js.map +1 -1
  202. package/build/paragraph/deprecated.js +6 -6
  203. package/build/paragraph/deprecated.js.map +1 -1
  204. package/build/paragraph/edit.js +2 -18
  205. package/build/paragraph/edit.js.map +1 -1
  206. package/build/paragraph/index.js +1 -1
  207. package/build/paragraph/index.js.map +1 -1
  208. package/build/paragraph/save.js +2 -2
  209. package/build/paragraph/save.js.map +1 -1
  210. package/build/paragraph/transforms.js +1 -1
  211. package/build/paragraph/transforms.js.map +1 -1
  212. package/build/pattern/edit.js +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +2 -2
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-biography/edit.js +2 -2
  217. package/build/post-author-biography/edit.js.map +1 -1
  218. package/build/post-author-name/edit.js +2 -2
  219. package/build/post-author-name/edit.js.map +1 -1
  220. package/build/post-comments-count/edit.js +2 -2
  221. package/build/post-comments-count/edit.js.map +1 -1
  222. package/build/post-comments-form/edit.js +2 -2
  223. package/build/post-comments-form/edit.js.map +1 -1
  224. package/build/post-comments-form/form.js +2 -2
  225. package/build/post-comments-form/form.js.map +1 -1
  226. package/build/post-comments-link/edit.js +2 -2
  227. package/build/post-comments-link/edit.js.map +1 -1
  228. package/build/post-date/edit.js +2 -2
  229. package/build/post-date/edit.js.map +1 -1
  230. package/build/post-excerpt/edit.js +6 -4
  231. package/build/post-excerpt/edit.js.map +1 -1
  232. package/build/post-featured-image/dimension-controls.js +23 -29
  233. package/build/post-featured-image/dimension-controls.js.map +1 -1
  234. package/build/post-featured-image/edit.js +3 -3
  235. package/build/post-featured-image/edit.js.map +1 -1
  236. package/build/post-featured-image/overlay.js +2 -2
  237. package/build/post-featured-image/overlay.js.map +1 -1
  238. package/build/post-navigation-link/edit.js +2 -2
  239. package/build/post-navigation-link/edit.js.map +1 -1
  240. package/build/post-navigation-link/variations.js +3 -1
  241. package/build/post-navigation-link/variations.js.map +1 -1
  242. package/build/post-template/edit.js +22 -12
  243. package/build/post-template/edit.js.map +1 -1
  244. package/build/post-terms/edit.js +5 -3
  245. package/build/post-terms/edit.js.map +1 -1
  246. package/build/post-time-to-read/edit.js +3 -3
  247. package/build/post-time-to-read/edit.js.map +1 -1
  248. package/build/post-title/edit.js +2 -2
  249. package/build/post-title/edit.js.map +1 -1
  250. package/build/private-apis.js +21 -0
  251. package/build/private-apis.js.map +1 -0
  252. package/build/pullquote/deprecated.js +7 -7
  253. package/build/pullquote/deprecated.js.map +1 -1
  254. package/build/pullquote/edit.js +2 -2
  255. package/build/pullquote/edit.js.map +1 -1
  256. package/build/pullquote/save.js +2 -2
  257. package/build/pullquote/save.js.map +1 -1
  258. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  259. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  260. package/build/query/edit/inspector-controls/author-control.js +6 -2
  261. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  262. package/build/query/edit/inspector-controls/create-new-post-link.js +3 -1
  263. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  264. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  265. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  266. package/build/query/edit/inspector-controls/parent-control.js +18 -6
  267. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  268. package/build/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  269. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  270. package/build/query/utils.js +3 -1
  271. package/build/query/utils.js.map +1 -1
  272. package/build/query-title/edit.js +2 -2
  273. package/build/query-title/edit.js.map +1 -1
  274. package/build/query-title/variations.js +3 -1
  275. package/build/query-title/variations.js.map +1 -1
  276. package/build/quote/deprecated.js +3 -3
  277. package/build/quote/deprecated.js.map +1 -1
  278. package/build/quote/edit.js +2 -2
  279. package/build/quote/edit.js.map +1 -1
  280. package/build/quote/save.js +2 -2
  281. package/build/quote/save.js.map +1 -1
  282. package/build/rss/edit.js +8 -6
  283. package/build/rss/edit.js.map +1 -1
  284. package/build/search/edit.js +6 -6
  285. package/build/search/edit.js.map +1 -1
  286. package/build/search/edit.native.js +2 -2
  287. package/build/search/edit.native.js.map +1 -1
  288. package/build/separator/deprecated.js +2 -2
  289. package/build/separator/deprecated.js.map +1 -1
  290. package/build/separator/edit.js +2 -2
  291. package/build/separator/edit.js.map +1 -1
  292. package/build/separator/save.js +2 -2
  293. package/build/separator/save.js.map +1 -1
  294. package/build/shortcode/edit.js +7 -10
  295. package/build/shortcode/edit.js.map +1 -1
  296. package/build/site-logo/edit.js +4 -4
  297. package/build/site-logo/edit.js.map +1 -1
  298. package/build/site-tagline/edit.js +2 -2
  299. package/build/site-tagline/edit.js.map +1 -1
  300. package/build/site-title/edit.js +2 -2
  301. package/build/site-title/edit.js.map +1 -1
  302. package/build/social-link/edit.js +4 -4
  303. package/build/social-link/edit.js.map +1 -1
  304. package/build/social-link/variations.js +3 -1
  305. package/build/social-link/variations.js.map +1 -1
  306. package/build/social-links/deprecated.js +2 -2
  307. package/build/social-links/deprecated.js.map +1 -1
  308. package/build/social-links/edit.js +2 -2
  309. package/build/social-links/edit.js.map +1 -1
  310. package/build/social-links/save.js +2 -2
  311. package/build/social-links/save.js.map +1 -1
  312. package/build/spacer/edit.js +3 -3
  313. package/build/spacer/edit.js.map +1 -1
  314. package/build/table/deprecated.js +8 -8
  315. package/build/table/deprecated.js.map +1 -1
  316. package/build/table/edit.js +3 -3
  317. package/build/table/edit.js.map +1 -1
  318. package/build/table/save.js +3 -3
  319. package/build/table/save.js.map +1 -1
  320. package/build/template-part/variations.js +6 -2
  321. package/build/template-part/variations.js.map +1 -1
  322. package/build/term-description/edit.js +2 -2
  323. package/build/term-description/edit.js.map +1 -1
  324. package/build/utils/caption.js +2 -2
  325. package/build/utils/caption.js.map +1 -1
  326. package/build/verse/deprecated.js +2 -2
  327. package/build/verse/deprecated.js.map +1 -1
  328. package/build/verse/edit.js +2 -2
  329. package/build/verse/edit.js.map +1 -1
  330. package/build/verse/save.js +2 -2
  331. package/build/verse/save.js.map +1 -1
  332. package/build/video/edit.js +2 -2
  333. package/build/video/edit.js.map +1 -1
  334. package/build-module/audio/edit.js +2 -2
  335. package/build-module/audio/edit.js.map +1 -1
  336. package/build-module/avatar/edit.js +2 -2
  337. package/build-module/avatar/edit.js.map +1 -1
  338. package/build-module/block/edit.js +29 -164
  339. package/build-module/block/edit.js.map +1 -1
  340. package/build-module/block-keyboard-shortcuts/index.js +88 -0
  341. package/build-module/block-keyboard-shortcuts/index.js.map +1 -0
  342. package/build-module/button/deprecated.js +16 -16
  343. package/build-module/button/deprecated.js.map +1 -1
  344. package/build-module/button/edit.js +3 -7
  345. package/build-module/button/edit.js.map +1 -1
  346. package/build-module/button/index.js +1 -0
  347. package/build-module/button/index.js.map +1 -1
  348. package/build-module/button/save.js +3 -3
  349. package/build-module/button/save.js.map +1 -1
  350. package/build-module/buttons/deprecated.js +2 -2
  351. package/build-module/buttons/deprecated.js.map +1 -1
  352. package/build-module/buttons/edit.js +2 -2
  353. package/build-module/buttons/edit.js.map +1 -1
  354. package/build-module/buttons/save.js +2 -2
  355. package/build-module/buttons/save.js.map +1 -1
  356. package/build-module/categories/edit.js +2 -2
  357. package/build-module/categories/edit.js.map +1 -1
  358. package/build-module/column/deprecated.js +2 -2
  359. package/build-module/column/deprecated.js.map +1 -1
  360. package/build-module/column/edit.js +30 -21
  361. package/build-module/column/edit.js.map +1 -1
  362. package/build-module/column/edit.native.js +3 -1
  363. package/build-module/column/edit.native.js.map +1 -1
  364. package/build-module/column/save.js +2 -2
  365. package/build-module/column/save.js.map +1 -1
  366. package/build-module/columns/deprecated.js +3 -3
  367. package/build-module/columns/deprecated.js.map +1 -1
  368. package/build-module/columns/edit.js +70 -54
  369. package/build-module/columns/edit.js.map +1 -1
  370. package/build-module/columns/save.js +2 -2
  371. package/build-module/columns/save.js.map +1 -1
  372. package/build-module/columns/variations.js +18 -28
  373. package/build-module/columns/variations.js.map +1 -1
  374. package/build-module/comment-author-name/edit.js +2 -2
  375. package/build-module/comment-author-name/edit.js.map +1 -1
  376. package/build-module/comment-content/edit.js +2 -2
  377. package/build-module/comment-content/edit.js.map +1 -1
  378. package/build-module/comment-edit-link/edit.js +2 -2
  379. package/build-module/comment-edit-link/edit.js.map +1 -1
  380. package/build-module/comment-reply-link/edit.js +2 -2
  381. package/build-module/comment-reply-link/edit.js.map +1 -1
  382. package/build-module/comment-template/util.js +3 -1
  383. package/build-module/comment-template/util.js.map +1 -1
  384. package/build-module/comments/edit/comments-legacy.js +2 -2
  385. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  386. package/build-module/comments-title/edit.js +2 -2
  387. package/build-module/comments-title/edit.js.map +1 -1
  388. package/build-module/cover/deprecated.js +38 -38
  389. package/build-module/cover/deprecated.js.map +1 -1
  390. package/build-module/cover/edit/index.js +6 -6
  391. package/build-module/cover/edit/index.js.map +1 -1
  392. package/build-module/cover/edit/resizable-cover-popover.js +2 -2
  393. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  394. package/build-module/cover/edit.native.js +2 -2
  395. package/build-module/cover/edit.native.js.map +1 -1
  396. package/build-module/cover/save.js +5 -5
  397. package/build-module/cover/save.js.map +1 -1
  398. package/build-module/cover/shared.js +3 -1
  399. package/build-module/cover/shared.js.map +1 -1
  400. package/build-module/embed/deprecated.js +3 -3
  401. package/build-module/embed/deprecated.js.map +1 -1
  402. package/build-module/embed/edit.js +2 -2
  403. package/build-module/embed/edit.js.map +1 -1
  404. package/build-module/embed/edit.native.js +2 -2
  405. package/build-module/embed/edit.native.js.map +1 -1
  406. package/build-module/embed/embed-placeholder.js +9 -4
  407. package/build-module/embed/embed-placeholder.js.map +1 -1
  408. package/build-module/embed/embed-preview.js +3 -3
  409. package/build-module/embed/embed-preview.js.map +1 -1
  410. package/build-module/embed/embed-preview.native.js +2 -2
  411. package/build-module/embed/embed-preview.native.js.map +1 -1
  412. package/build-module/embed/icons.js +6 -0
  413. package/build-module/embed/icons.js.map +1 -1
  414. package/build-module/embed/save.js +2 -2
  415. package/build-module/embed/save.js.map +1 -1
  416. package/build-module/embed/util.js +13 -9
  417. package/build-module/embed/util.js.map +1 -1
  418. package/build-module/embed/variations.js +13 -2
  419. package/build-module/embed/variations.js.map +1 -1
  420. package/build-module/embed/wp-embed-preview.js +6 -2
  421. package/build-module/embed/wp-embed-preview.js.map +1 -1
  422. package/build-module/file/deprecated.js +2 -2
  423. package/build-module/file/deprecated.js.map +1 -1
  424. package/build-module/file/edit.js +3 -3
  425. package/build-module/file/edit.js.map +1 -1
  426. package/build-module/file/save.js +2 -2
  427. package/build-module/file/save.js.map +1 -1
  428. package/build-module/form-input/deprecated.js +3 -3
  429. package/build-module/form-input/deprecated.js.map +1 -1
  430. package/build-module/form-input/edit.js +4 -4
  431. package/build-module/form-input/edit.js.map +1 -1
  432. package/build-module/form-input/save.js +3 -3
  433. package/build-module/form-input/save.js.map +1 -1
  434. package/build-module/form-submission-notification/edit.js +2 -2
  435. package/build-module/form-submission-notification/edit.js.map +1 -1
  436. package/build-module/form-submission-notification/save.js +2 -2
  437. package/build-module/form-submission-notification/save.js.map +1 -1
  438. package/build-module/gallery/deprecated.js +3 -3
  439. package/build-module/gallery/deprecated.js.map +1 -1
  440. package/build-module/gallery/edit.js +2 -2
  441. package/build-module/gallery/edit.js.map +1 -1
  442. package/build-module/gallery/gallery.js +2 -2
  443. package/build-module/gallery/gallery.js.map +1 -1
  444. package/build-module/gallery/save.js +3 -3
  445. package/build-module/gallery/save.js.map +1 -1
  446. package/build-module/gallery/v1/gallery-image.js +2 -2
  447. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  448. package/build-module/gallery/v1/gallery.js +3 -3
  449. package/build-module/gallery/v1/gallery.js.map +1 -1
  450. package/build-module/gallery/v1/save.js +3 -3
  451. package/build-module/gallery/v1/save.js.map +1 -1
  452. package/build-module/group/deprecated.js +4 -4
  453. package/build-module/group/deprecated.js.map +1 -1
  454. package/build-module/group/index.js +0 -8
  455. package/build-module/group/index.js.map +1 -1
  456. package/build-module/group/placeholder.js +18 -19
  457. package/build-module/group/placeholder.js.map +1 -1
  458. package/build-module/heading/deprecated.js +6 -6
  459. package/build-module/heading/deprecated.js.map +1 -1
  460. package/build-module/heading/edit.js +2 -19
  461. package/build-module/heading/edit.js.map +1 -1
  462. package/build-module/heading/edit.native.js +2 -2
  463. package/build-module/heading/edit.native.js.map +1 -1
  464. package/build-module/heading/index.js +1 -0
  465. package/build-module/heading/index.js.map +1 -1
  466. package/build-module/heading/save.js +2 -2
  467. package/build-module/heading/save.js.map +1 -1
  468. package/build-module/home-link/edit.js +2 -2
  469. package/build-module/home-link/edit.js.map +1 -1
  470. package/build-module/html/edit.js +0 -2
  471. package/build-module/html/edit.js.map +1 -1
  472. package/build-module/image/deprecated.js +10 -10
  473. package/build-module/image/deprecated.js.map +1 -1
  474. package/build-module/image/edit.js +7 -5
  475. package/build-module/image/edit.js.map +1 -1
  476. package/build-module/image/image.js +8 -4
  477. package/build-module/image/image.js.map +1 -1
  478. package/build-module/image/save.js +3 -3
  479. package/build-module/image/save.js.map +1 -1
  480. package/build-module/image/view.js +3 -1
  481. package/build-module/image/view.js.map +1 -1
  482. package/build-module/index.js +1 -0
  483. package/build-module/index.js.map +1 -1
  484. package/build-module/latest-posts/edit.js +6 -6
  485. package/build-module/latest-posts/edit.js.map +1 -1
  486. package/build-module/list/deprecated.js +90 -1
  487. package/build-module/list/deprecated.js.map +1 -1
  488. package/build-module/list/index.js +0 -2
  489. package/build-module/list/index.js.map +1 -1
  490. package/build-module/list-item/edit.js +2 -9
  491. package/build-module/list-item/edit.js.map +1 -1
  492. package/build-module/list-item/hooks/use-merge.js +12 -4
  493. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  494. package/build-module/list-item/hooks/use-outdent-list-item.js +15 -5
  495. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  496. package/build-module/list-item/index.js +2 -1
  497. package/build-module/list-item/index.js.map +1 -1
  498. package/build-module/media-text/deprecated.js +10 -10
  499. package/build-module/media-text/deprecated.js.map +1 -1
  500. package/build-module/media-text/edit.js +2 -2
  501. package/build-module/media-text/edit.js.map +1 -1
  502. package/build-module/media-text/media-container.js +2 -2
  503. package/build-module/media-text/media-container.js.map +1 -1
  504. package/build-module/media-text/save.js +3 -3
  505. package/build-module/media-text/save.js.map +1 -1
  506. package/build-module/navigation/edit/are-blocks-dirty.js +9 -3
  507. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
  508. package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
  509. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  510. package/build-module/navigation/edit/index.js +3 -3
  511. package/build-module/navigation/edit/index.js.map +1 -1
  512. package/build-module/navigation/edit/menu-inspector-controls.js +3 -1
  513. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  514. package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
  515. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  516. package/build-module/navigation/edit/responsive-wrapper.js +3 -3
  517. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  518. package/build-module/navigation/edit/utils.js +2 -2
  519. package/build-module/navigation/edit/utils.js.map +1 -1
  520. package/build-module/navigation/index.js +0 -9
  521. package/build-module/navigation/index.js.map +1 -1
  522. package/build-module/navigation/view.js +3 -1
  523. package/build-module/navigation/view.js.map +1 -1
  524. package/build-module/navigation-link/edit.js +97 -88
  525. package/build-module/navigation-link/edit.js.map +1 -1
  526. package/build-module/navigation-link/link-ui.js +3 -8
  527. package/build-module/navigation-link/link-ui.js.map +1 -1
  528. package/build-module/navigation-submenu/edit.js +2 -2
  529. package/build-module/navigation-submenu/edit.js.map +1 -1
  530. package/build-module/page-list/edit.js +2 -2
  531. package/build-module/page-list/edit.js.map +1 -1
  532. package/build-module/page-list-item/edit.js +3 -3
  533. package/build-module/page-list-item/edit.js.map +1 -1
  534. package/build-module/paragraph/deprecated.js +6 -6
  535. package/build-module/paragraph/deprecated.js.map +1 -1
  536. package/build-module/paragraph/edit.js +2 -18
  537. package/build-module/paragraph/edit.js.map +1 -1
  538. package/build-module/paragraph/index.js +1 -1
  539. package/build-module/paragraph/index.js.map +1 -1
  540. package/build-module/paragraph/save.js +2 -2
  541. package/build-module/paragraph/save.js.map +1 -1
  542. package/build-module/paragraph/transforms.js +1 -1
  543. package/build-module/paragraph/transforms.js.map +1 -1
  544. package/build-module/pattern/edit.js +1 -1
  545. package/build-module/pattern/edit.js.map +1 -1
  546. package/build-module/post-author/edit.js +2 -2
  547. package/build-module/post-author/edit.js.map +1 -1
  548. package/build-module/post-author-biography/edit.js +2 -2
  549. package/build-module/post-author-biography/edit.js.map +1 -1
  550. package/build-module/post-author-name/edit.js +2 -2
  551. package/build-module/post-author-name/edit.js.map +1 -1
  552. package/build-module/post-comments-count/edit.js +2 -2
  553. package/build-module/post-comments-count/edit.js.map +1 -1
  554. package/build-module/post-comments-form/edit.js +2 -2
  555. package/build-module/post-comments-form/edit.js.map +1 -1
  556. package/build-module/post-comments-form/form.js +2 -2
  557. package/build-module/post-comments-form/form.js.map +1 -1
  558. package/build-module/post-comments-link/edit.js +2 -2
  559. package/build-module/post-comments-link/edit.js.map +1 -1
  560. package/build-module/post-date/edit.js +2 -2
  561. package/build-module/post-date/edit.js.map +1 -1
  562. package/build-module/post-excerpt/edit.js +6 -4
  563. package/build-module/post-excerpt/edit.js.map +1 -1
  564. package/build-module/post-featured-image/dimension-controls.js +23 -29
  565. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  566. package/build-module/post-featured-image/edit.js +3 -3
  567. package/build-module/post-featured-image/edit.js.map +1 -1
  568. package/build-module/post-featured-image/overlay.js +2 -2
  569. package/build-module/post-featured-image/overlay.js.map +1 -1
  570. package/build-module/post-navigation-link/edit.js +2 -2
  571. package/build-module/post-navigation-link/edit.js.map +1 -1
  572. package/build-module/post-navigation-link/variations.js +3 -1
  573. package/build-module/post-navigation-link/variations.js.map +1 -1
  574. package/build-module/post-template/edit.js +23 -13
  575. package/build-module/post-template/edit.js.map +1 -1
  576. package/build-module/post-terms/edit.js +5 -3
  577. package/build-module/post-terms/edit.js.map +1 -1
  578. package/build-module/post-time-to-read/edit.js +3 -3
  579. package/build-module/post-time-to-read/edit.js.map +1 -1
  580. package/build-module/post-title/edit.js +2 -2
  581. package/build-module/post-title/edit.js.map +1 -1
  582. package/build-module/private-apis.js +14 -0
  583. package/build-module/private-apis.js.map +1 -0
  584. package/build-module/pullquote/deprecated.js +7 -7
  585. package/build-module/pullquote/deprecated.js.map +1 -1
  586. package/build-module/pullquote/edit.js +2 -2
  587. package/build-module/pullquote/edit.js.map +1 -1
  588. package/build-module/pullquote/save.js +2 -2
  589. package/build-module/pullquote/save.js.map +1 -1
  590. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  591. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  592. package/build-module/query/edit/inspector-controls/author-control.js +6 -2
  593. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  594. package/build-module/query/edit/inspector-controls/create-new-post-link.js +3 -1
  595. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  596. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  597. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  598. package/build-module/query/edit/inspector-controls/parent-control.js +18 -6
  599. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  600. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  601. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  602. package/build-module/query/utils.js +3 -1
  603. package/build-module/query/utils.js.map +1 -1
  604. package/build-module/query-title/edit.js +2 -2
  605. package/build-module/query-title/edit.js.map +1 -1
  606. package/build-module/query-title/variations.js +3 -1
  607. package/build-module/query-title/variations.js.map +1 -1
  608. package/build-module/quote/deprecated.js +3 -3
  609. package/build-module/quote/deprecated.js.map +1 -1
  610. package/build-module/quote/edit.js +2 -2
  611. package/build-module/quote/edit.js.map +1 -1
  612. package/build-module/quote/save.js +2 -2
  613. package/build-module/quote/save.js.map +1 -1
  614. package/build-module/rss/edit.js +10 -8
  615. package/build-module/rss/edit.js.map +1 -1
  616. package/build-module/search/edit.js +6 -6
  617. package/build-module/search/edit.js.map +1 -1
  618. package/build-module/search/edit.native.js +2 -2
  619. package/build-module/search/edit.native.js.map +1 -1
  620. package/build-module/separator/deprecated.js +2 -2
  621. package/build-module/separator/deprecated.js.map +1 -1
  622. package/build-module/separator/edit.js +2 -2
  623. package/build-module/separator/edit.js.map +1 -1
  624. package/build-module/separator/save.js +2 -2
  625. package/build-module/separator/save.js.map +1 -1
  626. package/build-module/shortcode/edit.js +8 -11
  627. package/build-module/shortcode/edit.js.map +1 -1
  628. package/build-module/site-logo/edit.js +4 -4
  629. package/build-module/site-logo/edit.js.map +1 -1
  630. package/build-module/site-tagline/edit.js +2 -2
  631. package/build-module/site-tagline/edit.js.map +1 -1
  632. package/build-module/site-title/edit.js +2 -2
  633. package/build-module/site-title/edit.js.map +1 -1
  634. package/build-module/social-link/edit.js +4 -4
  635. package/build-module/social-link/edit.js.map +1 -1
  636. package/build-module/social-link/variations.js +3 -1
  637. package/build-module/social-link/variations.js.map +1 -1
  638. package/build-module/social-links/deprecated.js +2 -2
  639. package/build-module/social-links/deprecated.js.map +1 -1
  640. package/build-module/social-links/edit.js +2 -2
  641. package/build-module/social-links/edit.js.map +1 -1
  642. package/build-module/social-links/save.js +2 -2
  643. package/build-module/social-links/save.js.map +1 -1
  644. package/build-module/spacer/edit.js +3 -3
  645. package/build-module/spacer/edit.js.map +1 -1
  646. package/build-module/table/deprecated.js +8 -8
  647. package/build-module/table/deprecated.js.map +1 -1
  648. package/build-module/table/edit.js +3 -3
  649. package/build-module/table/edit.js.map +1 -1
  650. package/build-module/table/save.js +3 -3
  651. package/build-module/table/save.js.map +1 -1
  652. package/build-module/template-part/variations.js +6 -2
  653. package/build-module/template-part/variations.js.map +1 -1
  654. package/build-module/term-description/edit.js +2 -2
  655. package/build-module/term-description/edit.js.map +1 -1
  656. package/build-module/utils/caption.js +2 -2
  657. package/build-module/utils/caption.js.map +1 -1
  658. package/build-module/verse/deprecated.js +2 -2
  659. package/build-module/verse/deprecated.js.map +1 -1
  660. package/build-module/verse/edit.js +2 -2
  661. package/build-module/verse/edit.js.map +1 -1
  662. package/build-module/verse/save.js +2 -2
  663. package/build-module/verse/save.js.map +1 -1
  664. package/build-module/video/edit.js +2 -2
  665. package/build-module/video/edit.js.map +1 -1
  666. package/build-style/block/editor-rtl.css +4 -4
  667. package/build-style/block/editor.css +4 -4
  668. package/build-style/buttons/editor-rtl.css +1 -1
  669. package/build-style/buttons/editor.css +1 -1
  670. package/build-style/buttons/style-rtl.css +1 -1
  671. package/build-style/buttons/style.css +1 -1
  672. package/build-style/common-rtl.css +3 -7
  673. package/build-style/common.css +3 -7
  674. package/build-style/editor-rtl.css +30 -81
  675. package/build-style/editor.css +30 -81
  676. package/build-style/embed/editor-rtl.css +0 -3
  677. package/build-style/embed/editor.css +0 -3
  678. package/build-style/group/editor-rtl.css +2 -45
  679. package/build-style/group/editor.css +2 -45
  680. package/build-style/group/style-rtl.css +4 -0
  681. package/build-style/group/style.css +4 -0
  682. package/build-style/image/editor-rtl.css +3 -0
  683. package/build-style/image/editor.css +3 -0
  684. package/build-style/image/style-rtl.css +1 -2
  685. package/build-style/image/style.css +1 -2
  686. package/build-style/navigation-link/style-rtl.css +0 -8
  687. package/build-style/navigation-link/style.css +0 -8
  688. package/build-style/post-featured-image/editor-rtl.css +1 -0
  689. package/build-style/post-featured-image/editor.css +1 -0
  690. package/build-style/post-template/style-rtl.css +0 -3
  691. package/build-style/post-template/style.css +0 -3
  692. package/build-style/rss/editor-rtl.css +1 -10
  693. package/build-style/rss/editor.css +1 -10
  694. package/build-style/shortcode/editor-rtl.css +0 -4
  695. package/build-style/shortcode/editor.css +0 -4
  696. package/build-style/site-logo/editor-rtl.css +1 -0
  697. package/build-style/site-logo/editor.css +1 -0
  698. package/build-style/social-link/editor-rtl.css +13 -2
  699. package/build-style/social-link/editor.css +13 -2
  700. package/build-style/style-rtl.css +9 -21
  701. package/build-style/style.css +9 -21
  702. package/build-style/template-part/editor-rtl.css +3 -7
  703. package/build-style/template-part/editor.css +3 -7
  704. package/package.json +36 -35
  705. package/src/audio/edit.js +2 -2
  706. package/src/avatar/edit.js +2 -2
  707. package/src/block/edit.js +32 -240
  708. package/src/block/editor.scss +7 -5
  709. package/src/block-keyboard-shortcuts/index.js +113 -0
  710. package/src/button/block.json +1 -0
  711. package/src/button/deprecated.js +16 -16
  712. package/src/button/edit.js +3 -9
  713. package/src/button/save.js +3 -3
  714. package/src/buttons/deprecated.js +2 -2
  715. package/src/buttons/edit.js +2 -2
  716. package/src/buttons/editor.scss +1 -3
  717. package/src/buttons/save.js +2 -2
  718. package/src/buttons/style.scss +1 -3
  719. package/src/categories/edit.js +2 -2
  720. package/src/code/theme.native.scss +1 -1
  721. package/src/column/deprecated.js +2 -2
  722. package/src/column/edit.js +28 -22
  723. package/src/column/edit.native.js +3 -1
  724. package/src/column/save.js +2 -2
  725. package/src/columns/deprecated.js +3 -3
  726. package/src/columns/edit.js +94 -84
  727. package/src/columns/save.js +2 -2
  728. package/src/columns/variations.js +12 -34
  729. package/src/comment-author-name/edit.js +2 -2
  730. package/src/comment-content/edit.js +2 -2
  731. package/src/comment-edit-link/edit.js +2 -2
  732. package/src/comment-reply-link/edit.js +2 -2
  733. package/src/comment-template/util.js +3 -1
  734. package/src/comments/edit/comments-legacy.js +2 -2
  735. package/src/comments-title/edit.js +2 -2
  736. package/src/common.scss +4 -4
  737. package/src/cover/deprecated.js +38 -38
  738. package/src/cover/edit/index.js +6 -9
  739. package/src/cover/edit/resizable-cover-popover.js +2 -2
  740. package/src/cover/edit.native.js +2 -2
  741. package/src/cover/save.js +5 -5
  742. package/src/cover/shared.js +3 -1
  743. package/src/embed/deprecated.js +3 -3
  744. package/src/embed/edit.js +2 -2
  745. package/src/embed/edit.native.js +2 -2
  746. package/src/embed/editor.scss +0 -2
  747. package/src/embed/embed-placeholder.js +21 -9
  748. package/src/embed/embed-preview.js +3 -3
  749. package/src/embed/embed-preview.native.js +2 -2
  750. package/src/embed/icons.js +9 -0
  751. package/src/embed/save.js +2 -2
  752. package/src/embed/util.js +13 -7
  753. package/src/embed/variations.js +12 -1
  754. package/src/embed/wp-embed-preview.js +6 -2
  755. package/src/file/deprecated.js +2 -2
  756. package/src/file/edit.js +3 -3
  757. package/src/file/save.js +2 -2
  758. package/src/form-input/deprecated.js +3 -3
  759. package/src/form-input/edit.js +4 -4
  760. package/src/form-input/save.js +3 -3
  761. package/src/form-submission-notification/edit.js +2 -2
  762. package/src/form-submission-notification/save.js +4 -7
  763. package/src/gallery/deprecated.js +3 -3
  764. package/src/gallery/edit.js +2 -2
  765. package/src/gallery/gallery.js +2 -2
  766. package/src/gallery/save.js +3 -3
  767. package/src/gallery/v1/gallery-image.js +2 -2
  768. package/src/gallery/v1/gallery.js +3 -3
  769. package/src/gallery/v1/save.js +3 -3
  770. package/src/group/deprecated.js +4 -4
  771. package/src/group/editor.scss +2 -48
  772. package/src/group/index.js +0 -8
  773. package/src/group/placeholder.js +18 -18
  774. package/src/group/style.scss +5 -0
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -6
  777. package/src/heading/edit.js +2 -23
  778. package/src/heading/edit.native.js +2 -2
  779. package/src/heading/save.js +2 -2
  780. package/src/heading/test/__snapshots__/transforms.native.js.snap +1 -1
  781. package/src/home-link/edit.js +2 -2
  782. package/src/html/edit.js +0 -2
  783. package/src/image/deprecated.js +10 -10
  784. package/src/image/edit.js +5 -3
  785. package/src/image/editor.scss +13 -7
  786. package/src/image/image.js +8 -3
  787. package/src/image/save.js +3 -3
  788. package/src/image/style.scss +1 -3
  789. package/src/image/view.js +3 -1
  790. package/src/index.js +2 -0
  791. package/src/latest-posts/edit.js +6 -6
  792. package/src/latest-posts/index.php +1 -0
  793. package/src/list/block.json +0 -2
  794. package/src/list/deprecated.js +88 -1
  795. package/src/list/index.php +54 -0
  796. package/src/list/test/__snapshots__/edit.native.js.snap +11 -11
  797. package/src/list/test/__snapshots__/transforms.native.js.snap +3 -3
  798. package/src/list/test/edit.native.js +24 -24
  799. package/src/list/test/transforms.native.js +1 -1
  800. package/src/list-item/block.json +2 -1
  801. package/src/list-item/edit.js +0 -15
  802. package/src/list-item/hooks/use-merge.js +12 -4
  803. package/src/list-item/hooks/use-outdent-list-item.js +15 -5
  804. package/src/media-text/deprecated.js +10 -10
  805. package/src/media-text/edit.js +2 -2
  806. package/src/media-text/media-container.js +2 -2
  807. package/src/media-text/save.js +3 -3
  808. package/src/navigation/block.json +0 -9
  809. package/src/navigation/edit/are-blocks-dirty.js +8 -3
  810. package/src/navigation/edit/deleted-navigation-warning.js +1 -1
  811. package/src/navigation/edit/index.js +3 -3
  812. package/src/navigation/edit/menu-inspector-controls.js +3 -1
  813. package/src/navigation/edit/navigation-menu-selector.js +1 -1
  814. package/src/navigation/edit/responsive-wrapper.js +3 -3
  815. package/src/navigation/edit/test/navigation-menu-selector.js +5 -5
  816. package/src/navigation/edit/utils.js +2 -2
  817. package/src/navigation/index.php +52 -1
  818. package/src/navigation/view.js +3 -1
  819. package/src/navigation-link/edit.js +94 -94
  820. package/src/navigation-link/link-ui.js +74 -89
  821. package/src/navigation-link/style.scss +0 -12
  822. package/src/navigation-submenu/edit.js +2 -2
  823. package/src/page-list/edit.js +2 -2
  824. package/src/page-list-item/edit.js +3 -3
  825. package/src/paragraph/block.json +1 -1
  826. package/src/paragraph/deprecated.js +6 -6
  827. package/src/paragraph/edit.js +2 -23
  828. package/src/paragraph/save.js +2 -2
  829. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +1 -1
  830. package/src/pattern/edit.js +1 -1
  831. package/src/post-author/edit.js +2 -2
  832. package/src/post-author-biography/edit.js +2 -2
  833. package/src/post-author-name/edit.js +2 -2
  834. package/src/post-comments-count/edit.js +2 -2
  835. package/src/post-comments-form/edit.js +2 -2
  836. package/src/post-comments-form/form.js +2 -2
  837. package/src/post-comments-link/edit.js +2 -2
  838. package/src/post-date/edit.js +2 -2
  839. package/src/post-excerpt/edit.js +6 -4
  840. package/src/post-featured-image/dimension-controls.js +33 -37
  841. package/src/post-featured-image/edit.js +3 -3
  842. package/src/post-featured-image/editor.scss +1 -0
  843. package/src/post-featured-image/overlay.js +2 -2
  844. package/src/post-navigation-link/edit.js +2 -2
  845. package/src/post-navigation-link/variations.js +3 -1
  846. package/src/post-template/edit.js +14 -9
  847. package/src/post-template/style.scss +0 -4
  848. package/src/post-terms/edit.js +5 -3
  849. package/src/post-time-to-read/edit.js +3 -3
  850. package/src/post-title/edit.js +2 -2
  851. package/src/private-apis.js +13 -0
  852. package/src/pullquote/deprecated.js +7 -7
  853. package/src/pullquote/edit.js +2 -2
  854. package/src/pullquote/save.js +2 -2
  855. package/src/query/edit/enhanced-pagination-modal.js +5 -1
  856. package/src/query/edit/inspector-controls/author-control.js +6 -2
  857. package/src/query/edit/inspector-controls/create-new-post-link.js +3 -1
  858. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +13 -3
  859. package/src/query/edit/inspector-controls/parent-control.js +18 -6
  860. package/src/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  861. package/src/query/index.php +1 -1
  862. package/src/query/utils.js +3 -1
  863. package/src/query-title/edit.js +2 -2
  864. package/src/query-title/variations.js +3 -1
  865. package/src/quote/deprecated.js +3 -3
  866. package/src/quote/edit.js +2 -2
  867. package/src/quote/save.js +2 -2
  868. package/src/rss/edit.js +30 -23
  869. package/src/rss/editor.scss +2 -16
  870. package/src/search/edit.js +6 -6
  871. package/src/search/edit.native.js +2 -2
  872. package/src/separator/deprecated.js +2 -2
  873. package/src/separator/edit.js +2 -2
  874. package/src/separator/save.js +2 -2
  875. package/src/shortcode/edit.js +13 -17
  876. package/src/shortcode/editor.scss +0 -6
  877. package/src/site-logo/edit.js +4 -4
  878. package/src/site-logo/editor.scss +1 -0
  879. package/src/site-logo/index.php +2 -0
  880. package/src/site-tagline/edit.js +2 -2
  881. package/src/site-title/edit.js +2 -2
  882. package/src/social-link/edit.js +5 -5
  883. package/src/social-link/editor.scss +25 -11
  884. package/src/social-link/variations.js +3 -1
  885. package/src/social-links/deprecated.js +2 -2
  886. package/src/social-links/edit.js +2 -2
  887. package/src/social-links/save.js +2 -2
  888. package/src/spacer/edit.js +3 -3
  889. package/src/table/deprecated.js +12 -20
  890. package/src/table/edit.js +3 -3
  891. package/src/table/save.js +3 -3
  892. package/src/template-part/editor.scss +5 -8
  893. package/src/template-part/variations.js +6 -2
  894. package/src/term-description/edit.js +2 -2
  895. package/src/utils/caption.js +2 -2
  896. package/src/verse/deprecated.js +2 -2
  897. package/src/verse/edit.js +2 -2
  898. package/src/verse/save.js +2 -2
  899. package/src/video/edit.js +2 -2
  900. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 8.35.0 (2024-05-16)
6
+
7
+ ### Internal
8
+
9
+ - Replaced `classnames` package with the faster and smaller `clsx` package ([#61138](https://github.com/WordPress/gutenberg/pull/61138)).
10
+
11
+ ## 8.34.0 (2024-05-02)
12
+
5
13
  ## 8.33.0 (2024-04-19)
6
14
 
7
15
  ## 8.32.0 (2024-04-03)
@@ -32,7 +40,6 @@
32
40
 
33
41
  - Fix Image block lightbox missing alt attribute and improve accessibility. ([#54608](https://github.com/WordPress/gutenberg/pull/55010))
34
42
 
35
-
36
43
  ## 8.20.0 (2023-10-05)
37
44
 
38
45
  ## 8.19.0 (2023-09-20)
@@ -186,8 +193,8 @@
186
193
 
187
194
  ### Breaking Changes
188
195
 
189
- - Drop support for Internet Explorer 11 ([#31110](https://github.com/WordPress/gutenberg/pull/31110)). Learn more at https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/.
190
- - Increase the minimum Node.js version to v12 matching Long Term Support releases ([#31270](https://github.com/WordPress/gutenberg/pull/31270)). Learn more at https://nodejs.org/en/about/releases/.
196
+ - Drop support for Internet Explorer 11 ([#31110](https://github.com/WordPress/gutenberg/pull/31110)). Learn more at <https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/>.
197
+ - Increase the minimum Node.js version to v12 matching Long Term Support releases ([#31270](https://github.com/WordPress/gutenberg/pull/31270)). Learn more at <https://nodejs.org/en/about/releases/>.
191
198
 
192
199
  ## 2.29.0 (2021-03-17)
193
200
 
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _blob = require("@wordpress/blob");
11
11
  var _components = require("@wordpress/components");
12
12
  var _blockEditor = require("@wordpress/block-editor");
@@ -109,7 +109,7 @@ function AudioEdit({
109
109
  caption: media.caption
110
110
  });
111
111
  }
112
- const classes = (0, _classnames.default)(className, {
112
+ const classes = (0, _clsx.default)(className, {
113
113
  'is-transient': isTemporaryAudio
114
114
  });
115
115
  const blockProps = (0, _blockEditor.useBlockProps)({
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_i18n","_data","_icons","_notices","_util","_hooks","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","media","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport 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","_interopRequireDefault","require","_blob","_components","_blockEditor","_i18n","_data","_icons","_notices","_util","_hooks","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","media","caption","classes","clsx","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = Edit;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
11
  var _components = require("@wordpress/components");
12
12
  var _i18n = require("@wordpress/i18n");
@@ -100,7 +100,7 @@ const ResizableAvatar = ({
100
100
  }, (0, _react.createElement)("img", {
101
101
  src: doubledSizedSrc,
102
102
  alt: avatar.alt,
103
- className: (0, _classnames.default)('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
103
+ className: (0, _clsx.default)('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
104
104
  style: borderProps.style
105
105
  })));
106
106
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_i18n","_url","_hooks","_userControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","_react","createElement","InspectorControls","PanelBody","title","__","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","ToggleControl","isLink","checked","linkTarget","default","userId","ResizableAvatar","blockProps","isSelected","borderProps","useBorderProps","doubledSizedSrc","addQueryArgs","removeQueryArgs","src","s","ResizableBox","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","isRTL","bottom","left","minWidth","maxWidth","alt","className","classnames","style","CommentEdit","context","commentId","useBlockProps","useCommentAvatar","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","useUserAvatar","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","_interopRequireDefault","require","_blockEditor","_components","_i18n","_url","_hooks","_userControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","_react","createElement","InspectorControls","PanelBody","title","__","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","ToggleControl","isLink","checked","linkTarget","default","userId","ResizableAvatar","blockProps","isSelected","borderProps","useBorderProps","doubledSizedSrc","addQueryArgs","removeQueryArgs","src","s","ResizableBox","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","isRTL","bottom","left","minWidth","maxWidth","alt","className","clsx","style","CommentEdit","context","commentId","useBlockProps","useCommentAvatar","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","useUserAvatar","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":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = ReusableBlockEditRecursionWrapper;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _data = require("@wordpress/data");
11
11
  var _element = require("@wordpress/element");
12
12
  var _coreData = require("@wordpress/core-data");
@@ -15,7 +15,6 @@ var _i18n = require("@wordpress/i18n");
15
15
  var _blockEditor = require("@wordpress/block-editor");
16
16
  var _patterns = require("@wordpress/patterns");
17
17
  var _blocks = require("@wordpress/blocks");
18
- var _richText = require("@wordpress/rich-text");
19
18
  var _index = require("./index");
20
19
  var _lockUnlock = require("../lock-unlock");
21
20
  /**
@@ -37,23 +36,6 @@ const {
37
36
  isOverridableBlock
38
37
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
39
38
  const fullAlignments = ['full', 'wide', 'left', 'right'];
40
- function getLegacyIdMap(blocks, content, nameCount = {}) {
41
- let idToClientIdMap = {};
42
- for (const block of blocks) {
43
- if (block?.innerBlocks?.length) {
44
- idToClientIdMap = {
45
- ...idToClientIdMap,
46
- ...getLegacyIdMap(block.innerBlocks, content, nameCount)
47
- };
48
- }
49
- const id = block.attributes.metadata?.id;
50
- const clientId = block.clientId;
51
- if (id && content?.[id]) {
52
- idToClientIdMap[clientId] = id;
53
- }
54
- }
55
- return idToClientIdMap;
56
- }
57
39
  const useInferredLayout = (blocks, parentLayout) => {
58
40
  const initialInferredAlignmentRef = (0, _element.useRef)();
59
41
  return (0, _element.useMemo)(() => {
@@ -80,80 +62,12 @@ const useInferredLayout = (blocks, parentLayout) => {
80
62
  };
81
63
  function hasOverridableBlocks(blocks) {
82
64
  return blocks.some(block => {
83
- if (isOverridableBlock(block)) return true;
84
- return hasOverridableBlocks(block.innerBlocks);
85
- });
86
- }
87
- function getOverridableAttributes(block) {
88
- return Object.entries(block.attributes.metadata.bindings).filter(([, binding]) => binding.source === 'core/pattern-overrides').map(([attributeKey]) => attributeKey);
89
- }
90
- function applyInitialContentValuesToInnerBlocks(blocks, content = {}, defaultValues, legacyIdMap) {
91
- return blocks.map(block => {
92
- var _legacyIdMap$block$cl;
93
- const innerBlocks = applyInitialContentValuesToInnerBlocks(block.innerBlocks, content, defaultValues, legacyIdMap);
94
- const metadataName = (_legacyIdMap$block$cl = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl !== void 0 ? _legacyIdMap$block$cl : block.attributes.metadata?.name;
95
- if (!metadataName || !isOverridableBlock(block)) {
96
- return {
97
- ...block,
98
- innerBlocks
99
- };
65
+ if (isOverridableBlock(block)) {
66
+ return true;
100
67
  }
101
- const attributes = getOverridableAttributes(block);
102
- const newAttributes = {
103
- ...block.attributes
104
- };
105
- for (const attributeKey of attributes) {
106
- var _defaultValues$metada;
107
- (_defaultValues$metada = defaultValues[metadataName]) !== null && _defaultValues$metada !== void 0 ? _defaultValues$metada : defaultValues[metadataName] = {};
108
- defaultValues[metadataName][attributeKey] = block.attributes[attributeKey];
109
- const contentValues = content[metadataName];
110
- if (contentValues?.[attributeKey] !== undefined) {
111
- newAttributes[attributeKey] = contentValues[attributeKey];
112
- }
113
- }
114
- return {
115
- ...block,
116
- attributes: newAttributes,
117
- innerBlocks
118
- };
68
+ return hasOverridableBlocks(block.innerBlocks);
119
69
  });
120
70
  }
121
- function isAttributeEqual(attribute1, attribute2) {
122
- if (attribute1 instanceof _richText.RichTextData && attribute2 instanceof _richText.RichTextData) {
123
- return attribute1.toString() === attribute2.toString();
124
- }
125
- return attribute1 === attribute2;
126
- }
127
- function getContentValuesFromInnerBlocks(blocks, defaultValues, legacyIdMap) {
128
- /** @type {Record<string, { values: Record<string, unknown>}>} */
129
- const content = {};
130
- for (const block of blocks) {
131
- var _legacyIdMap$block$cl2;
132
- if (block.name === _index.name) continue;
133
- if (block.innerBlocks.length) {
134
- Object.assign(content, getContentValuesFromInnerBlocks(block.innerBlocks, defaultValues, legacyIdMap));
135
- }
136
- const metadataName = (_legacyIdMap$block$cl2 = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl2 !== void 0 ? _legacyIdMap$block$cl2 : block.attributes.metadata?.name;
137
- if (!metadataName || !isOverridableBlock(block)) {
138
- continue;
139
- }
140
- const attributes = getOverridableAttributes(block);
141
- for (const attributeKey of attributes) {
142
- if (!isAttributeEqual(block.attributes[attributeKey], defaultValues?.[metadataName]?.[attributeKey])) {
143
- var _content$metadataName;
144
- (_content$metadataName = content[metadataName]) !== null && _content$metadataName !== void 0 ? _content$metadataName : content[metadataName] = {};
145
- // TODO: We need a way to represent `undefined` in the serialized overrides.
146
- // Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871
147
- content[metadataName][attributeKey] = block.attributes[attributeKey] === undefined ?
148
- // TODO: We use an empty string to represent undefined for now until
149
- // we support a richer format for overrides and the block binding API.
150
- // Currently only the `linkTarget` attribute of `core/button` is affected.
151
- '' : block.attributes[attributeKey];
152
- }
153
- }
154
- }
155
- return Object.keys(content).length > 0 ? content : undefined;
156
- }
157
71
  function setBlockEditMode(setEditMode, blocks, mode) {
158
72
  blocks.forEach(block => {
159
73
  const editMode = mode || (isOverridableBlock(block) ? 'contentOnly' : 'disabled');
@@ -169,6 +83,7 @@ function RecursionWarning() {
169
83
  ...blockProps
170
84
  }, (0, _react.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.')));
171
85
  }
86
+ const NOOP = () => {};
172
87
 
173
88
  // Wrap the main Edit function for the pattern block with a recursion wrapper
174
89
  // that allows short-circuiting rendering as early as possible, before any
@@ -197,32 +112,21 @@ function ReusableBlockEdit({
197
112
  clientId: patternClientId,
198
113
  setAttributes
199
114
  }) {
200
- const registry = (0, _data.useRegistry)();
201
115
  const {
202
116
  record,
203
- editedRecord,
204
117
  hasResolved
205
118
  } = (0, _coreData.useEntityRecord)('postType', 'wp_block', ref);
119
+ const [blocks] = (0, _coreData.useEntityBlockEditor)('postType', 'wp_block', {
120
+ id: ref
121
+ });
206
122
  const isMissing = hasResolved && !record;
207
-
208
- // The initial value of the `content` attribute.
209
- const initialContent = (0, _element.useRef)(content);
210
-
211
- // The default content values from the original pattern for overridable attributes.
212
- // Set by the `applyInitialContentValuesToInnerBlocks` function.
213
- const defaultContent = (0, _element.useRef)({});
214
123
  const {
215
- replaceInnerBlocks,
216
- __unstableMarkNextChangeAsNotPersistent,
217
- setBlockEditingMode
124
+ setBlockEditingMode,
125
+ __unstableMarkLastChangeAsPersistent
218
126
  } = (0, _data.useDispatch)(_blockEditor.store);
219
- const {
220
- syncDerivedUpdates
221
- } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
222
127
  const {
223
128
  innerBlocks,
224
129
  userCanEdit,
225
- getBlockEditingMode,
226
130
  onNavigateToEntityRecord,
227
131
  editingMode,
228
132
  hasPatternOverridesSource
@@ -238,12 +142,11 @@ function ReusableBlockEdit({
238
142
  const {
239
143
  getBlockBindingsSource
240
144
  } = (0, _lockUnlock.unlock)(select(_blocks.store));
241
- const blocks = getBlocks(patternClientId);
242
145
  const canEdit = canUser('update', 'blocks', ref);
243
146
 
244
147
  // For editing link to the site editor if the theme and user permissions support it.
245
148
  return {
246
- innerBlocks: blocks,
149
+ innerBlocks: getBlocks(patternClientId),
247
150
  userCanEdit: canEdit,
248
151
  getBlockEditingMode: _getBlockEditingMode,
249
152
  onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
@@ -258,71 +161,29 @@ function ReusableBlockEdit({
258
161
  // Disable editing if the pattern itself is disabled.
259
162
  editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
260
163
  }, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
261
- const canOverrideBlocks = (0, _element.useMemo)(() => hasPatternOverridesSource && hasOverridableBlocks(innerBlocks), [hasPatternOverridesSource, innerBlocks]);
262
- const initialBlocks = (0, _element.useMemo)(() => {
263
- var _editedRecord$blocks$;
264
- return (// Clone the blocks to generate new client IDs.
265
- (_editedRecord$blocks$ = editedRecord.blocks?.map(block => (0, _blocks.cloneBlock)(block))) !== null && _editedRecord$blocks$ !== void 0 ? _editedRecord$blocks$ : editedRecord.content && typeof editedRecord.content !== 'function' ? (0, _blocks.parse)(editedRecord.content) : []
266
- );
267
- }, [editedRecord.blocks, editedRecord.content]);
268
- const legacyIdMap = (0, _element.useRef)({});
269
-
270
- // Apply the initial overrides from the pattern block to the inner blocks.
271
- (0, _element.useEffect)(() => {
272
- // Build a map of clientIds to the old nano id system to provide back compat.
273
- legacyIdMap.current = getLegacyIdMap(initialBlocks, initialContent.current);
274
- defaultContent.current = {};
275
- const originalEditingMode = getBlockEditingMode(patternClientId);
276
- // Replace the contents of the blocks with the overrides.
277
- registry.batch(() => {
278
- setBlockEditingMode(patternClientId, 'default');
279
- syncDerivedUpdates(() => {
280
- const blocks = hasPatternOverridesSource ? applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current) : initialBlocks;
281
- replaceInnerBlocks(patternClientId, blocks);
282
- });
283
- setBlockEditingMode(patternClientId, originalEditingMode);
284
- });
285
- }, [hasPatternOverridesSource, __unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
164
+ const canOverrideBlocks = (0, _element.useMemo)(() => hasPatternOverridesSource && hasOverridableBlocks(blocks), [hasPatternOverridesSource, blocks]);
286
165
  const {
287
166
  alignment,
288
167
  layout
289
- } = useInferredLayout(innerBlocks, parentLayout);
168
+ } = useInferredLayout(blocks, parentLayout);
290
169
  const layoutClasses = useLayoutClasses({
291
170
  layout
292
171
  }, name);
293
172
  const blockProps = (0, _blockEditor.useBlockProps)({
294
- className: (0, _classnames.default)('block-library-block__reusable-block-container', layout && layoutClasses, {
173
+ className: (0, _clsx.default)('block-library-block__reusable-block-container', layout && layoutClasses, {
295
174
  [`align${alignment}`]: alignment
296
175
  })
297
176
  });
177
+
178
+ // Use `blocks` variable until `innerBlocks` is populated, which has the proper clientIds.
298
179
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
299
180
  templateLock: 'all',
300
181
  layout,
301
- renderAppender: innerBlocks?.length ? undefined : _blockEditor.InnerBlocks.ButtonBlockAppender
182
+ value: innerBlocks.length > 0 ? innerBlocks : blocks,
183
+ onInput: NOOP,
184
+ onChange: NOOP,
185
+ renderAppender: blocks?.length ? undefined : blocks.ButtonBlockAppender
302
186
  });
303
-
304
- // Sync the `content` attribute from the updated blocks to the pattern block.
305
- // `syncDerivedUpdates` is used here to avoid creating an additional undo level.
306
- (0, _element.useEffect)(() => {
307
- if (!hasPatternOverridesSource) {
308
- return;
309
- }
310
- const {
311
- getBlocks
312
- } = registry.select(_blockEditor.store);
313
- let prevBlocks = getBlocks(patternClientId);
314
- return registry.subscribe(() => {
315
- const blocks = getBlocks(patternClientId);
316
- if (blocks !== prevBlocks) {
317
- prevBlocks = blocks;
318
- syncDerivedUpdates(() => {
319
- setAttributes({
320
- content: getContentValuesFromInnerBlocks(blocks, defaultContent.current, legacyIdMap.current)
321
- });
322
- });
323
- }
324
- }, _blockEditor.store);
325
- }, [hasPatternOverridesSource, syncDerivedUpdates, patternClientId, registry, setAttributes]);
326
187
  const handleEditOriginal = () => {
327
188
  onNavigateToEntityRecord({
328
189
  postId: ref,
@@ -331,7 +192,11 @@ function ReusableBlockEdit({
331
192
  };
332
193
  const resetContent = () => {
333
194
  if (content) {
334
- replaceInnerBlocks(patternClientId, initialBlocks);
195
+ // Make sure any previous changes are persisted before resetting.
196
+ __unstableMarkLastChangeAsPersistent();
197
+ setAttributes({
198
+ content: undefined
199
+ });
335
200
  }
336
201
  };
337
202
  let children = null;
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isOverridableBlock","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","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","name","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","keys","setBlockEditMode","setEditMode","mode","forEach","editMode","RecursionWarning","blockProps","useBlockProps","_react","createElement","Warning","__","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","useHasRecursion","RecursionProvider","uniqueId","ReusableBlockEdit","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","Placeholder","Spinner","Fragment","BlockControls","ToolbarGroup","ToolbarButton","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 ) ) return true;\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 ) continue;\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 initial value of the `content` attribute.\n\tconst initialContent = 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\tinitialContent.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\tinitialContent.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: 'all',\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\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\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}, 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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isOverridableBlock","patternsPrivateApis","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","hasOverridableBlocks","innerBlocks","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","name","patternBlockName","RecursionWarning","blockProps","useBlockProps","_react","createElement","Warning","__","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","useHasRecursion","RecursionProvider","uniqueId","ReusableBlockEdit","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","useEntityRecord","useEntityBlockEditor","id","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","useDispatch","blockEditorStore","userCanEdit","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","getBlockEditingMode","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","layoutClasses","className","clsx","innerBlocksProps","useInnerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","handleEditOriginal","postId","postType","resetContent","children","Placeholder","Spinner","Fragment","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock } = 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":"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","ignoreList":[]}