@wordpress/block-library 7.8.0 → 7.11.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 (759) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.js +1 -0
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/save.js +2 -1
  5. package/build/audio/save.js.map +1 -1
  6. package/build/avatar/hooks.js +2 -2
  7. package/build/avatar/hooks.js.map +1 -1
  8. package/build/button/edit.js +3 -2
  9. package/build/button/edit.js.map +1 -1
  10. package/build/button/index.js +1 -24
  11. package/build/button/index.js.map +1 -1
  12. package/build/button/save.js +1 -1
  13. package/build/button/save.js.map +1 -1
  14. package/build/buttons/edit.js +1 -1
  15. package/build/buttons/edit.js.map +1 -1
  16. package/build/columns/edit.native.js +1 -1
  17. package/build/columns/edit.native.js.map +1 -1
  18. package/build/columns/variations.js +2 -2
  19. package/build/columns/variations.js.map +1 -1
  20. package/build/comment-author-name/edit.js +3 -5
  21. package/build/comment-author-name/edit.js.map +1 -1
  22. package/build/comment-author-name/index.js +0 -4
  23. package/build/comment-author-name/index.js.map +1 -1
  24. package/build/comment-date/edit.js +4 -4
  25. package/build/comment-date/edit.js.map +1 -1
  26. package/build/comment-date/index.js +0 -4
  27. package/build/comment-date/index.js.map +1 -1
  28. package/build/comment-edit-link/index.js +0 -4
  29. package/build/comment-edit-link/index.js.map +1 -1
  30. package/build/comment-reply-link/index.js +0 -4
  31. package/build/comment-reply-link/index.js.map +1 -1
  32. package/build/comment-template/index.js +1 -1
  33. package/build/comments/deprecated.js +65 -0
  34. package/build/comments/deprecated.js.map +1 -0
  35. package/build/comments/edit/comments-legacy.js +73 -0
  36. package/build/comments/edit/comments-legacy.js.map +1 -0
  37. package/build/comments/{edit.js → edit/index.js} +17 -30
  38. package/build/comments/edit/index.js.map +1 -0
  39. package/build/comments/edit/placeholder.js +117 -0
  40. package/build/comments/edit/placeholder.js.map +1 -0
  41. package/build/comments/edit/template.js +39 -0
  42. package/build/comments/edit/template.js.map +1 -0
  43. package/build/comments/index.js +11 -3
  44. package/build/comments/index.js.map +1 -1
  45. package/build/comments/save.js +12 -4
  46. package/build/comments/save.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -1
  48. package/build/comments-title/deprecated.js +1 -4
  49. package/build/comments-title/deprecated.js.map +1 -1
  50. package/build/comments-title/index.js +1 -1
  51. package/build/cover/edit/block-controls.js +2 -12
  52. package/build/cover/edit/block-controls.js.map +1 -1
  53. package/build/cover/edit/cover-placeholder.js +3 -1
  54. package/build/cover/edit/cover-placeholder.js.map +1 -1
  55. package/build/cover/edit/index.js +19 -4
  56. package/build/cover/edit/index.js.map +1 -1
  57. package/build/cover/index.js +1 -0
  58. package/build/cover/index.js.map +1 -1
  59. package/build/cover/transforms.js +3 -2
  60. package/build/cover/transforms.js.map +1 -1
  61. package/build/embed/embed-placeholder.native.js +1 -3
  62. package/build/embed/embed-placeholder.native.js.map +1 -1
  63. package/build/embed/embed-preview.js +1 -0
  64. package/build/embed/embed-preview.js.map +1 -1
  65. package/build/embed/icons.js +21 -1
  66. package/build/embed/icons.js.map +1 -1
  67. package/build/embed/save.js +1 -0
  68. package/build/embed/save.js.map +1 -1
  69. package/build/embed/variations.js +11 -0
  70. package/build/embed/variations.js.map +1 -1
  71. package/build/file/edit.js +1 -1
  72. package/build/file/edit.js.map +1 -1
  73. package/build/file/save.js +1 -1
  74. package/build/file/save.js.map +1 -1
  75. package/build/gallery/edit.js +11 -19
  76. package/build/gallery/edit.js.map +1 -1
  77. package/build/gallery/gallery.js +1 -1
  78. package/build/gallery/gallery.js.map +1 -1
  79. package/build/gallery/save.js +1 -1
  80. package/build/gallery/save.js.map +1 -1
  81. package/build/gallery/transforms.js +32 -22
  82. package/build/gallery/transforms.js.map +1 -1
  83. package/build/gallery/use-get-media.js +7 -18
  84. package/build/gallery/use-get-media.js.map +1 -1
  85. package/build/gallery/use-get-media.native.js +59 -0
  86. package/build/gallery/use-get-media.native.js.map +1 -0
  87. package/build/gallery/v1/edit.js +3 -3
  88. package/build/gallery/v1/edit.js.map +1 -1
  89. package/build/gallery/v1/gallery-image.js +1 -0
  90. package/build/gallery/v1/gallery-image.js.map +1 -1
  91. package/build/gallery/v1/gallery.js +1 -1
  92. package/build/gallery/v1/gallery.js.map +1 -1
  93. package/build/gallery/v1/save.js +10 -2
  94. package/build/gallery/v1/save.js.map +1 -1
  95. package/build/group/edit.js +1 -3
  96. package/build/group/edit.js.map +1 -1
  97. package/build/group/index.js +2 -0
  98. package/build/group/index.js.map +1 -1
  99. package/build/group/variations.js +1 -1
  100. package/build/group/variations.js.map +1 -1
  101. package/build/heading/heading-level-dropdown.js +2 -1
  102. package/build/heading/heading-level-dropdown.js.map +1 -1
  103. package/build/heading/index.js +9 -4
  104. package/build/heading/index.js.map +1 -1
  105. package/build/html/edit.js +11 -20
  106. package/build/html/edit.js.map +1 -1
  107. package/build/html/preview.js +48 -0
  108. package/build/html/preview.js.map +1 -0
  109. package/build/image/deprecated.js +77 -9
  110. package/build/image/deprecated.js.map +1 -1
  111. package/build/image/edit.js +3 -1
  112. package/build/image/edit.js.map +1 -1
  113. package/build/image/edit.native.js +20 -9
  114. package/build/image/edit.native.js.map +1 -1
  115. package/build/image/image.js +28 -20
  116. package/build/image/image.js.map +1 -1
  117. package/build/image/index.js +7 -1
  118. package/build/image/index.js.map +1 -1
  119. package/build/image/save.js +9 -2
  120. package/build/image/save.js.map +1 -1
  121. package/build/index.js +1 -3
  122. package/build/index.js.map +1 -1
  123. package/build/index.native.js +3 -13
  124. package/build/index.native.js.map +1 -1
  125. package/build/latest-posts/edit.js +1 -1
  126. package/build/latest-posts/edit.js.map +1 -1
  127. package/build/list/transforms.js +4 -63
  128. package/build/list/transforms.js.map +1 -1
  129. package/build/list/v2/transforms.js +31 -42
  130. package/build/list/v2/transforms.js.map +1 -1
  131. package/build/list-item/edit.js +14 -9
  132. package/build/list-item/edit.js.map +1 -1
  133. package/build/list-item/hooks/index.js +8 -8
  134. package/build/list-item/hooks/index.js.map +1 -1
  135. package/build/list-item/hooks/use-enter.js +7 -4
  136. package/build/list-item/hooks/use-enter.js.map +1 -1
  137. package/build/list-item/hooks/use-merge.js +174 -0
  138. package/build/list-item/hooks/use-merge.js.map +1 -0
  139. package/build/list-item/hooks/use-outdent-list-item.js +93 -36
  140. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  141. package/build/list-item/utils.js +125 -1
  142. package/build/list-item/utils.js.map +1 -1
  143. package/build/media-text/deprecated.js +134 -7
  144. package/build/media-text/deprecated.js.map +1 -1
  145. package/build/media-text/edit.js +2 -2
  146. package/build/media-text/edit.js.map +1 -1
  147. package/build/media-text/save.js +13 -0
  148. package/build/media-text/save.js.map +1 -1
  149. package/build/more/edit.js +2 -4
  150. package/build/more/edit.js.map +1 -1
  151. package/build/more/save.js +1 -7
  152. package/build/more/save.js.map +1 -1
  153. package/build/navigation/edit/index.js +1 -1
  154. package/build/navigation/edit/index.js.map +1 -1
  155. package/build/navigation/index.js +9 -0
  156. package/build/navigation/index.js.map +1 -1
  157. package/build/navigation/use-navigation-menu.js +16 -74
  158. package/build/navigation/use-navigation-menu.js.map +1 -1
  159. package/build/navigation/view.js +6 -1
  160. package/build/navigation/view.js.map +1 -1
  161. package/build/navigation-link/edit.js +5 -4
  162. package/build/navigation-link/edit.js.map +1 -1
  163. package/build/navigation-link/hooks.js +0 -16
  164. package/build/navigation-link/hooks.js.map +1 -1
  165. package/build/navigation-link/index.js +1 -1
  166. package/build/navigation-link/index.js.map +1 -1
  167. package/build/navigation-submenu/edit.js +2 -1
  168. package/build/navigation-submenu/edit.js.map +1 -1
  169. package/build/navigation-submenu/view.js +6 -1
  170. package/build/navigation-submenu/view.js.map +1 -1
  171. package/build/nextpage/edit.js +1 -3
  172. package/build/nextpage/edit.js.map +1 -1
  173. package/build/page-list/edit.js +10 -3
  174. package/build/page-list/edit.js.map +1 -1
  175. package/build/paragraph/edit.js +7 -11
  176. package/build/paragraph/edit.js.map +1 -1
  177. package/build/post-comments-form/edit.js +4 -37
  178. package/build/post-comments-form/edit.js.map +1 -1
  179. package/build/post-comments-form/form.js +47 -3
  180. package/build/post-comments-form/form.js.map +1 -1
  181. package/build/post-terms/edit.js +3 -2
  182. package/build/post-terms/edit.js.map +1 -1
  183. package/build/post-terms/index.js +1 -1
  184. package/build/post-terms/index.js.map +1 -1
  185. package/build/post-title/index.js +1 -0
  186. package/build/post-title/index.js.map +1 -1
  187. package/build/query/edit/inspector-controls/index.js +1 -1
  188. package/build/query/edit/inspector-controls/index.js.map +1 -1
  189. package/build/query/index.js +1 -1
  190. package/build/query/index.js.map +1 -1
  191. package/build/query-no-results/edit.js +1 -1
  192. package/build/query-no-results/edit.js.map +1 -1
  193. package/build/query-pagination-next/edit.js +2 -1
  194. package/build/query-pagination-next/edit.js.map +1 -1
  195. package/build/query-pagination-previous/edit.js +2 -1
  196. package/build/query-pagination-previous/edit.js.map +1 -1
  197. package/build/quote/deprecated.js +168 -36
  198. package/build/quote/deprecated.js.map +1 -1
  199. package/build/quote/edit.js +76 -39
  200. package/build/quote/edit.js.map +1 -1
  201. package/build/quote/index.js +9 -45
  202. package/build/quote/index.js.map +1 -1
  203. package/build/quote/save.js +1 -5
  204. package/build/quote/save.js.map +1 -1
  205. package/build/quote/transforms.js +110 -158
  206. package/build/quote/transforms.js.map +1 -1
  207. package/build/search/edit.js +1 -1
  208. package/build/search/edit.js.map +1 -1
  209. package/build/site-logo/edit.js +5 -13
  210. package/build/site-logo/edit.js.map +1 -1
  211. package/build/site-title/edit/level-toolbar.js +2 -1
  212. package/build/site-title/edit/level-toolbar.js.map +1 -1
  213. package/build/social-link/icons/index.js +13 -0
  214. package/build/social-link/icons/index.js.map +1 -1
  215. package/build/social-link/icons/whatsapp.js +25 -0
  216. package/build/social-link/icons/whatsapp.js.map +1 -0
  217. package/build/social-link/variations.js +7 -0
  218. package/build/social-link/variations.js.map +1 -1
  219. package/build/table/edit.js +1 -0
  220. package/build/table/edit.js.map +1 -1
  221. package/build/table/save.js +2 -1
  222. package/build/table/save.js.map +1 -1
  223. package/build/template-part/edit/index.js +17 -8
  224. package/build/template-part/edit/index.js.map +1 -1
  225. package/build/template-part/edit/selection-modal.js +33 -13
  226. package/build/template-part/edit/selection-modal.js.map +1 -1
  227. package/build/template-part/edit/utils/search.js +94 -0
  228. package/build/template-part/edit/utils/search.js.map +1 -0
  229. package/build/template-part/index.js +1 -1
  230. package/build/template-part/index.js.map +1 -1
  231. package/build/template-part/variations.js +0 -16
  232. package/build/template-part/variations.js.map +1 -1
  233. package/build/utils/clean-empty-object.js +5 -3
  234. package/build/utils/clean-empty-object.js.map +1 -1
  235. package/build/video/edit.js +1 -0
  236. package/build/video/edit.js.map +1 -1
  237. package/build/video/save.js +1 -0
  238. package/build/video/save.js.map +1 -1
  239. package/build/video/tracks-editor.js +9 -11
  240. package/build/video/tracks-editor.js.map +1 -1
  241. package/build-module/audio/edit.js +2 -1
  242. package/build-module/audio/edit.js.map +1 -1
  243. package/build-module/audio/save.js +3 -2
  244. package/build-module/audio/save.js.map +1 -1
  245. package/build-module/avatar/hooks.js +2 -2
  246. package/build-module/avatar/hooks.js.map +1 -1
  247. package/build-module/button/edit.js +4 -3
  248. package/build-module/button/edit.js.map +1 -1
  249. package/build-module/button/index.js +1 -24
  250. package/build-module/button/index.js.map +1 -1
  251. package/build-module/button/save.js +2 -2
  252. package/build-module/button/save.js.map +1 -1
  253. package/build-module/buttons/edit.js +2 -2
  254. package/build-module/buttons/edit.js.map +1 -1
  255. package/build-module/columns/edit.native.js +2 -2
  256. package/build-module/columns/edit.native.js.map +1 -1
  257. package/build-module/columns/variations.js +2 -2
  258. package/build-module/columns/variations.js.map +1 -1
  259. package/build-module/comment-author-name/edit.js +3 -5
  260. package/build-module/comment-author-name/edit.js.map +1 -1
  261. package/build-module/comment-author-name/index.js +0 -4
  262. package/build-module/comment-author-name/index.js.map +1 -1
  263. package/build-module/comment-date/edit.js +4 -4
  264. package/build-module/comment-date/edit.js.map +1 -1
  265. package/build-module/comment-date/index.js +0 -4
  266. package/build-module/comment-date/index.js.map +1 -1
  267. package/build-module/comment-edit-link/index.js +0 -4
  268. package/build-module/comment-edit-link/index.js.map +1 -1
  269. package/build-module/comment-reply-link/index.js +0 -4
  270. package/build-module/comment-reply-link/index.js.map +1 -1
  271. package/build-module/comment-template/index.js +1 -1
  272. package/build-module/comments/deprecated.js +54 -0
  273. package/build-module/comments/deprecated.js.map +1 -0
  274. package/build-module/comments/edit/comments-legacy.js +59 -0
  275. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  276. package/build-module/comments/edit/index.js +37 -0
  277. package/build-module/comments/edit/index.js.map +1 -0
  278. package/build-module/comments/edit/placeholder.js +102 -0
  279. package/build-module/comments/edit/placeholder.js.map +1 -0
  280. package/build-module/comments/edit/template.js +32 -0
  281. package/build-module/comments/edit/template.js.map +1 -0
  282. package/build-module/comments/index.js +10 -3
  283. package/build-module/comments/index.js.map +1 -1
  284. package/build-module/comments/save.js +9 -4
  285. package/build-module/comments/save.js.map +1 -1
  286. package/build-module/comments-pagination/index.js +1 -1
  287. package/build-module/comments-title/deprecated.js +1 -4
  288. package/build-module/comments-title/deprecated.js.map +1 -1
  289. package/build-module/comments-title/index.js +1 -1
  290. package/build-module/cover/edit/block-controls.js +3 -13
  291. package/build-module/cover/edit/block-controls.js.map +1 -1
  292. package/build-module/cover/edit/cover-placeholder.js +3 -1
  293. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  294. package/build-module/cover/edit/index.js +19 -4
  295. package/build-module/cover/edit/index.js.map +1 -1
  296. package/build-module/cover/index.js +1 -0
  297. package/build-module/cover/index.js.map +1 -1
  298. package/build-module/cover/transforms.js +3 -2
  299. package/build-module/cover/transforms.js.map +1 -1
  300. package/build-module/embed/embed-placeholder.native.js +1 -2
  301. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  302. package/build-module/embed/embed-preview.js +2 -1
  303. package/build-module/embed/embed-preview.js.map +1 -1
  304. package/build-module/embed/icons.js +19 -0
  305. package/build-module/embed/icons.js.map +1 -1
  306. package/build-module/embed/save.js +2 -1
  307. package/build-module/embed/save.js.map +1 -1
  308. package/build-module/embed/variations.js +12 -1
  309. package/build-module/embed/variations.js.map +1 -1
  310. package/build-module/file/edit.js +2 -2
  311. package/build-module/file/edit.js.map +1 -1
  312. package/build-module/file/save.js +2 -2
  313. package/build-module/file/save.js.map +1 -1
  314. package/build-module/gallery/edit.js +11 -18
  315. package/build-module/gallery/edit.js.map +1 -1
  316. package/build-module/gallery/gallery.js +2 -2
  317. package/build-module/gallery/gallery.js.map +1 -1
  318. package/build-module/gallery/save.js +2 -2
  319. package/build-module/gallery/save.js.map +1 -1
  320. package/build-module/gallery/transforms.js +33 -23
  321. package/build-module/gallery/transforms.js.map +1 -1
  322. package/build-module/gallery/use-get-media.js +6 -16
  323. package/build-module/gallery/use-get-media.js.map +1 -1
  324. package/build-module/gallery/use-get-media.native.js +50 -0
  325. package/build-module/gallery/use-get-media.native.js.map +1 -0
  326. package/build-module/gallery/v1/edit.js +4 -4
  327. package/build-module/gallery/v1/edit.js.map +1 -1
  328. package/build-module/gallery/v1/gallery-image.js +2 -1
  329. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  330. package/build-module/gallery/v1/gallery.js +2 -2
  331. package/build-module/gallery/v1/gallery.js.map +1 -1
  332. package/build-module/gallery/v1/save.js +8 -3
  333. package/build-module/gallery/v1/save.js.map +1 -1
  334. package/build-module/group/edit.js +1 -3
  335. package/build-module/group/edit.js.map +1 -1
  336. package/build-module/group/index.js +2 -0
  337. package/build-module/group/index.js.map +1 -1
  338. package/build-module/group/variations.js +2 -2
  339. package/build-module/group/variations.js.map +1 -1
  340. package/build-module/heading/heading-level-dropdown.js +2 -1
  341. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  342. package/build-module/heading/index.js +9 -4
  343. package/build-module/heading/index.js.map +1 -1
  344. package/build-module/html/edit.js +12 -23
  345. package/build-module/html/edit.js.map +1 -1
  346. package/build-module/html/preview.js +38 -0
  347. package/build-module/html/preview.js.map +1 -0
  348. package/build-module/image/deprecated.js +77 -9
  349. package/build-module/image/deprecated.js.map +1 -1
  350. package/build-module/image/edit.js +5 -3
  351. package/build-module/image/edit.js.map +1 -1
  352. package/build-module/image/edit.native.js +20 -9
  353. package/build-module/image/edit.native.js.map +1 -1
  354. package/build-module/image/image.js +30 -22
  355. package/build-module/image/image.js.map +1 -1
  356. package/build-module/image/index.js +7 -1
  357. package/build-module/image/index.js.map +1 -1
  358. package/build-module/image/save.js +10 -3
  359. package/build-module/image/save.js.map +1 -1
  360. package/build-module/index.js +1 -2
  361. package/build-module/index.js.map +1 -1
  362. package/build-module/index.native.js +3 -13
  363. package/build-module/index.native.js.map +1 -1
  364. package/build-module/latest-posts/edit.js +2 -2
  365. package/build-module/latest-posts/edit.js.map +1 -1
  366. package/build-module/list/transforms.js +4 -63
  367. package/build-module/list/transforms.js.map +1 -1
  368. package/build-module/list/v2/transforms.js +32 -44
  369. package/build-module/list/v2/transforms.js.map +1 -1
  370. package/build-module/list-item/edit.js +14 -10
  371. package/build-module/list-item/edit.js.map +1 -1
  372. package/build-module/list-item/hooks/index.js +1 -1
  373. package/build-module/list-item/hooks/index.js.map +1 -1
  374. package/build-module/list-item/hooks/use-enter.js +7 -4
  375. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  376. package/build-module/list-item/hooks/use-merge.js +160 -0
  377. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  378. package/build-module/list-item/hooks/use-outdent-list-item.js +88 -33
  379. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  380. package/build-module/list-item/utils.js +123 -2
  381. package/build-module/list-item/utils.js.map +1 -1
  382. package/build-module/media-text/deprecated.js +134 -8
  383. package/build-module/media-text/deprecated.js.map +1 -1
  384. package/build-module/media-text/edit.js +2 -2
  385. package/build-module/media-text/edit.js.map +1 -1
  386. package/build-module/media-text/save.js +13 -0
  387. package/build-module/media-text/save.js.map +1 -1
  388. package/build-module/more/edit.js +2 -4
  389. package/build-module/more/edit.js.map +1 -1
  390. package/build-module/more/save.js +1 -6
  391. package/build-module/more/save.js.map +1 -1
  392. package/build-module/navigation/edit/index.js +1 -1
  393. package/build-module/navigation/edit/index.js.map +1 -1
  394. package/build-module/navigation/index.js +9 -0
  395. package/build-module/navigation/index.js.map +1 -1
  396. package/build-module/navigation/use-navigation-menu.js +17 -75
  397. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  398. package/build-module/navigation/view.js +6 -1
  399. package/build-module/navigation/view.js.map +1 -1
  400. package/build-module/navigation-link/edit.js +5 -4
  401. package/build-module/navigation-link/edit.js.map +1 -1
  402. package/build-module/navigation-link/hooks.js +0 -13
  403. package/build-module/navigation-link/hooks.js.map +1 -1
  404. package/build-module/navigation-link/index.js +1 -1
  405. package/build-module/navigation-link/index.js.map +1 -1
  406. package/build-module/navigation-submenu/edit.js +2 -1
  407. package/build-module/navigation-submenu/edit.js.map +1 -1
  408. package/build-module/navigation-submenu/view.js +6 -1
  409. package/build-module/navigation-submenu/view.js.map +1 -1
  410. package/build-module/nextpage/edit.js +1 -3
  411. package/build-module/nextpage/edit.js.map +1 -1
  412. package/build-module/page-list/edit.js +10 -3
  413. package/build-module/page-list/edit.js.map +1 -1
  414. package/build-module/paragraph/edit.js +8 -12
  415. package/build-module/paragraph/edit.js.map +1 -1
  416. package/build-module/post-comments-form/edit.js +5 -35
  417. package/build-module/post-comments-form/edit.js.map +1 -1
  418. package/build-module/post-comments-form/form.js +46 -5
  419. package/build-module/post-comments-form/form.js.map +1 -1
  420. package/build-module/post-terms/edit.js +3 -2
  421. package/build-module/post-terms/edit.js.map +1 -1
  422. package/build-module/post-terms/index.js +1 -1
  423. package/build-module/post-terms/index.js.map +1 -1
  424. package/build-module/post-title/index.js +1 -0
  425. package/build-module/post-title/index.js.map +1 -1
  426. package/build-module/query/edit/inspector-controls/index.js +1 -1
  427. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  428. package/build-module/query/index.js +1 -1
  429. package/build-module/query/index.js.map +1 -1
  430. package/build-module/query-no-results/edit.js +2 -2
  431. package/build-module/query-no-results/edit.js.map +1 -1
  432. package/build-module/query-pagination-next/edit.js +2 -1
  433. package/build-module/query-pagination-next/edit.js.map +1 -1
  434. package/build-module/query-pagination-previous/edit.js +2 -1
  435. package/build-module/query-pagination-previous/edit.js.map +1 -1
  436. package/build-module/quote/deprecated.js +162 -36
  437. package/build-module/quote/deprecated.js.map +1 -1
  438. package/build-module/quote/edit.js +77 -43
  439. package/build-module/quote/edit.js.map +1 -1
  440. package/build-module/quote/index.js +9 -39
  441. package/build-module/quote/index.js.map +1 -1
  442. package/build-module/quote/save.js +4 -8
  443. package/build-module/quote/save.js.map +1 -1
  444. package/build-module/quote/transforms.js +111 -158
  445. package/build-module/quote/transforms.js.map +1 -1
  446. package/build-module/search/edit.js +2 -2
  447. package/build-module/search/edit.js.map +1 -1
  448. package/build-module/site-logo/edit.js +5 -13
  449. package/build-module/site-logo/edit.js.map +1 -1
  450. package/build-module/site-title/edit/level-toolbar.js +2 -1
  451. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  452. package/build-module/social-link/icons/index.js +1 -0
  453. package/build-module/social-link/icons/index.js.map +1 -1
  454. package/build-module/social-link/icons/whatsapp.js +15 -0
  455. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  456. package/build-module/social-link/variations.js +8 -1
  457. package/build-module/social-link/variations.js.map +1 -1
  458. package/build-module/table/edit.js +2 -1
  459. package/build-module/table/edit.js.map +1 -1
  460. package/build-module/table/save.js +3 -2
  461. package/build-module/table/save.js.map +1 -1
  462. package/build-module/template-part/edit/index.js +20 -11
  463. package/build-module/template-part/edit/index.js.map +1 -1
  464. package/build-module/template-part/edit/selection-modal.js +33 -15
  465. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  466. package/build-module/template-part/edit/utils/search.js +84 -0
  467. package/build-module/template-part/edit/utils/search.js.map +1 -0
  468. package/build-module/template-part/index.js +1 -1
  469. package/build-module/template-part/index.js.map +1 -1
  470. package/build-module/template-part/variations.js +0 -13
  471. package/build-module/template-part/variations.js.map +1 -1
  472. package/build-module/utils/clean-empty-object.js +5 -2
  473. package/build-module/utils/clean-empty-object.js.map +1 -1
  474. package/build-module/video/edit.js +2 -1
  475. package/build-module/video/edit.js.map +1 -1
  476. package/build-module/video/save.js +2 -1
  477. package/build-module/video/save.js.map +1 -1
  478. package/build-module/video/tracks-editor.js +9 -11
  479. package/build-module/video/tracks-editor.js.map +1 -1
  480. package/build-style/button/style-rtl.css +6 -1
  481. package/build-style/button/style.css +6 -1
  482. package/build-style/comment-template/style-rtl.css +12 -0
  483. package/build-style/comment-template/style.css +12 -0
  484. package/build-style/comments/editor-rtl.css +122 -0
  485. package/build-style/comments/editor.css +122 -0
  486. package/build-style/{post-comments → comments}/style-rtl.css +3 -1
  487. package/build-style/{post-comments → comments}/style.css +3 -1
  488. package/build-style/common-rtl.css +7 -0
  489. package/build-style/common.css +7 -0
  490. package/build-style/cover/style-rtl.css +2 -2
  491. package/build-style/cover/style.css +2 -2
  492. package/build-style/editor-elements-rtl.css +85 -0
  493. package/build-style/editor-elements.css +85 -0
  494. package/build-style/editor-rtl.css +154 -10
  495. package/build-style/editor.css +154 -10
  496. package/build-style/{post-comments/editor-rtl.css → elements-rtl.css} +5 -2
  497. package/build-style/{post-comments/editor.css → elements.css} +5 -2
  498. package/build-style/file/style-rtl.css +5 -8
  499. package/build-style/file/style.css +5 -8
  500. package/build-style/gallery/style-rtl.css +7 -2
  501. package/build-style/gallery/style.css +7 -2
  502. package/build-style/image/editor-rtl.css +4 -3
  503. package/build-style/image/editor.css +4 -3
  504. package/build-style/image/style-rtl.css +33 -3
  505. package/build-style/image/style.css +33 -3
  506. package/build-style/navigation/style-rtl.css +9 -1
  507. package/build-style/navigation/style.css +9 -1
  508. package/build-style/post-comments-form/editor-rtl.css +3 -0
  509. package/build-style/post-comments-form/editor.css +3 -0
  510. package/build-style/post-comments-form/style-rtl.css +0 -1
  511. package/build-style/post-comments-form/style.css +0 -1
  512. package/build-style/post-template/style-rtl.css +9 -18
  513. package/build-style/post-template/style.css +9 -18
  514. package/build-style/query/editor-rtl.css +1 -1
  515. package/build-style/query/editor.css +1 -1
  516. package/build-style/search/style-rtl.css +6 -8
  517. package/build-style/search/style.css +6 -8
  518. package/build-style/search/theme-rtl.css +5 -0
  519. package/build-style/search/theme.css +5 -0
  520. package/build-style/social-link/editor-rtl.css +1 -0
  521. package/build-style/social-link/editor.css +1 -0
  522. package/build-style/social-links/style-rtl.css +8 -0
  523. package/build-style/social-links/style.css +8 -0
  524. package/build-style/style-rtl.css +216 -154
  525. package/build-style/style.css +216 -154
  526. package/build-style/template-part/editor-rtl.css +14 -3
  527. package/build-style/template-part/editor.css +14 -3
  528. package/build-style/theme-rtl.css +5 -0
  529. package/build-style/theme.css +5 -0
  530. package/package.json +28 -28
  531. package/src/audio/edit.js +4 -0
  532. package/src/audio/save.js +12 -2
  533. package/src/avatar/hooks.js +6 -9
  534. package/src/button/block.json +1 -24
  535. package/src/button/edit.js +3 -2
  536. package/src/button/save.js +2 -2
  537. package/src/button/style.scss +13 -1
  538. package/src/buttons/edit.js +1 -5
  539. package/src/columns/edit.native.js +2 -2
  540. package/src/columns/variations.js +2 -2
  541. package/src/comment-author-name/block.json +0 -4
  542. package/src/comment-author-name/edit.js +3 -12
  543. package/src/comment-date/block.json +0 -4
  544. package/src/comment-date/edit.js +10 -14
  545. package/src/comment-date/index.php +0 -3
  546. package/src/comment-edit-link/block.json +0 -4
  547. package/src/comment-reply-link/block.json +0 -4
  548. package/src/comment-template/block.json +1 -1
  549. package/src/comment-template/style.scss +14 -0
  550. package/src/comments/block.json +7 -2
  551. package/src/comments/deprecated.js +53 -0
  552. package/src/comments/edit/comments-legacy.js +71 -0
  553. package/src/comments/edit/index.js +35 -0
  554. package/src/comments/edit/placeholder.js +124 -0
  555. package/src/comments/{edit.js → edit/template.js} +25 -32
  556. package/src/comments/editor.scss +9 -0
  557. package/src/comments/index.js +2 -0
  558. package/src/comments/index.php +219 -0
  559. package/src/comments/save.js +8 -7
  560. package/src/{post-comments → comments}/style.scss +14 -3
  561. package/src/comments-pagination/block.json +1 -1
  562. package/src/comments-title/block.json +1 -1
  563. package/src/comments-title/deprecated.js +0 -2
  564. package/src/common.scss +2 -0
  565. package/src/cover/block.json +1 -0
  566. package/src/cover/edit/block-controls.js +4 -20
  567. package/src/cover/edit/cover-placeholder.js +2 -0
  568. package/src/cover/edit/index.js +16 -0
  569. package/src/cover/index.php +21 -8
  570. package/src/cover/style.scss +2 -2
  571. package/src/cover/transforms.js +2 -2
  572. package/src/editor-elements.scss +10 -0
  573. package/src/editor.scss +2 -1
  574. package/src/elements.scss +6 -0
  575. package/src/embed/embed-placeholder.native.js +2 -3
  576. package/src/embed/embed-preview.js +8 -1
  577. package/src/embed/icons.js +25 -0
  578. package/src/embed/save.js +10 -2
  579. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  580. package/src/embed/variations.js +10 -0
  581. package/src/file/edit.js +4 -2
  582. package/src/file/save.js +2 -2
  583. package/src/file/style.scss +5 -5
  584. package/src/freeform/editor.scss +0 -2
  585. package/src/gallery/edit.js +12 -23
  586. package/src/gallery/gallery.js +9 -2
  587. package/src/gallery/index.php +5 -1
  588. package/src/gallery/save.js +5 -1
  589. package/src/gallery/style.scss +10 -1
  590. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  591. package/src/gallery/test/helpers.native.js +11 -198
  592. package/src/gallery/test/index.native.js +19 -29
  593. package/src/gallery/transforms.js +28 -13
  594. package/src/gallery/use-get-media.js +11 -28
  595. package/src/gallery/use-get-media.native.js +44 -0
  596. package/src/gallery/v1/edit.js +3 -4
  597. package/src/gallery/v1/gallery-image.js +4 -0
  598. package/src/gallery/v1/gallery.js +8 -2
  599. package/src/gallery/v1/save.js +20 -3
  600. package/src/group/block.json +2 -0
  601. package/src/group/edit.js +1 -3
  602. package/src/group/variations.js +2 -2
  603. package/src/heading/heading-level-dropdown.js +1 -0
  604. package/src/heading/index.js +8 -2
  605. package/src/html/edit.js +10 -40
  606. package/src/html/preview.js +46 -0
  607. package/src/image/block.json +7 -1
  608. package/src/image/deprecated.js +86 -0
  609. package/src/image/edit.js +6 -1
  610. package/src/image/edit.native.js +19 -7
  611. package/src/image/editor.scss +9 -4
  612. package/src/image/image.js +28 -16
  613. package/src/image/save.js +20 -3
  614. package/src/image/style.scss +39 -3
  615. package/src/image/test/edit.native.js +51 -19
  616. package/src/index.js +0 -2
  617. package/src/index.native.js +2 -11
  618. package/src/latest-posts/edit.js +2 -6
  619. package/src/list/transforms.js +0 -47
  620. package/src/list/v2/transforms.js +23 -46
  621. package/src/list-item/edit.js +10 -12
  622. package/src/list-item/hooks/index.js +1 -1
  623. package/src/list-item/hooks/use-enter.js +9 -6
  624. package/src/list-item/hooks/use-merge.js +141 -0
  625. package/src/list-item/hooks/use-outdent-list-item.js +79 -54
  626. package/src/list-item/utils.js +27 -3
  627. package/src/media-text/deprecated.js +148 -1
  628. package/src/media-text/edit.js +2 -1
  629. package/src/media-text/save.js +18 -0
  630. package/src/more/edit.js +9 -11
  631. package/src/more/save.js +3 -6
  632. package/src/navigation/block.json +9 -0
  633. package/src/navigation/edit/index.js +1 -0
  634. package/src/navigation/style.scss +11 -2
  635. package/src/navigation/test/use-navigation-menu.js +16 -11
  636. package/src/navigation/use-navigation-menu.js +26 -83
  637. package/src/navigation/view.js +6 -1
  638. package/src/navigation-link/edit.js +4 -3
  639. package/src/navigation-link/hooks.js +0 -14
  640. package/src/navigation-link/index.js +1 -1
  641. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  642. package/src/navigation-link/test/hooks.js +0 -12
  643. package/src/navigation-submenu/edit.js +1 -0
  644. package/src/navigation-submenu/view.js +6 -1
  645. package/src/nextpage/edit.js +1 -3
  646. package/src/page-list/edit.js +12 -5
  647. package/src/paragraph/edit.js +8 -14
  648. package/src/post-comments-form/edit.js +3 -58
  649. package/src/post-comments-form/editor.scss +4 -0
  650. package/src/post-comments-form/form.js +81 -6
  651. package/src/post-comments-form/index.php +1 -1
  652. package/src/post-comments-form/style.scss +0 -1
  653. package/src/post-featured-image/index.php +4 -2
  654. package/src/post-template/index.php +23 -17
  655. package/src/post-template/style.scss +1 -7
  656. package/src/post-terms/edit.js +3 -2
  657. package/src/post-terms/index.js +1 -1
  658. package/src/post-title/block.json +1 -0
  659. package/src/query/edit/inspector-controls/index.js +1 -1
  660. package/src/query/editor.scss +1 -1
  661. package/src/query/index.js +1 -1
  662. package/src/query-no-results/edit.js +2 -5
  663. package/src/query-no-results/index.php +10 -8
  664. package/src/query-pagination-next/edit.js +1 -0
  665. package/src/query-pagination-previous/edit.js +1 -0
  666. package/src/quote/deprecated.js +213 -99
  667. package/src/quote/edit.js +77 -52
  668. package/src/quote/index.js +10 -33
  669. package/src/quote/save.js +5 -5
  670. package/src/quote/{v2/test → test}/migrate.js +2 -7
  671. package/src/quote/transforms.js +117 -147
  672. package/src/search/edit.js +2 -2
  673. package/src/search/index.php +12 -10
  674. package/src/search/style.scss +9 -8
  675. package/src/search/theme.scss +5 -0
  676. package/src/site-logo/edit.js +2 -11
  677. package/src/site-title/edit/level-toolbar.js +1 -0
  678. package/src/social-link/editor.scss +3 -0
  679. package/src/social-link/icons/index.js +1 -0
  680. package/src/social-link/icons/whatsapp.js +10 -0
  681. package/src/social-link/index.php +20 -0
  682. package/src/social-link/socials-with-bg.scss +5 -0
  683. package/src/social-link/socials-without-bg.scss +5 -0
  684. package/src/social-link/variations.js +7 -0
  685. package/src/style.scss +1 -1
  686. package/src/table/edit.js +2 -0
  687. package/src/table/save.js +6 -1
  688. package/src/template-part/edit/index.js +37 -24
  689. package/src/template-part/edit/selection-modal.js +68 -40
  690. package/src/template-part/edit/utils/search.js +76 -0
  691. package/src/template-part/editor.scss +21 -9
  692. package/src/template-part/index.js +1 -1
  693. package/src/template-part/index.php +56 -2
  694. package/src/template-part/variations.js +0 -11
  695. package/src/utils/clean-empty-object.js +8 -2
  696. package/src/video/edit.js +4 -0
  697. package/src/video/save.js +10 -2
  698. package/src/video/tracks-editor.js +1 -1
  699. package/build/comments/edit.js.map +0 -1
  700. package/build/gallery/use-short-code-transform.js +0 -64
  701. package/build/gallery/use-short-code-transform.js.map +0 -1
  702. package/build/list-item/hooks/use-backspace.js +0 -59
  703. package/build/list-item/hooks/use-backspace.js.map +0 -1
  704. package/build/navigation-link/fallback-variations.js +0 -75
  705. package/build/navigation-link/fallback-variations.js.map +0 -1
  706. package/build/post-comments/edit.js +0 -184
  707. package/build/post-comments/edit.js.map +0 -1
  708. package/build/post-comments/index.js +0 -72
  709. package/build/post-comments/index.js.map +0 -1
  710. package/build/quote/v2/deprecated.js +0 -133
  711. package/build/quote/v2/deprecated.js.map +0 -1
  712. package/build/quote/v2/edit.js +0 -139
  713. package/build/quote/v2/edit.js.map +0 -1
  714. package/build/quote/v2/index.js +0 -49
  715. package/build/quote/v2/index.js.map +0 -1
  716. package/build/quote/v2/save.js +0 -43
  717. package/build/quote/v2/save.js.map +0 -1
  718. package/build/quote/v2/transforms.js +0 -156
  719. package/build/quote/v2/transforms.js.map +0 -1
  720. package/build/template-part/fallback-variations.js +0 -59
  721. package/build/template-part/fallback-variations.js.map +0 -1
  722. package/build-module/comments/edit.js +0 -51
  723. package/build-module/comments/edit.js.map +0 -1
  724. package/build-module/gallery/use-short-code-transform.js +0 -54
  725. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  726. package/build-module/list-item/hooks/use-backspace.js +0 -44
  727. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  728. package/build-module/navigation-link/fallback-variations.js +0 -65
  729. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  730. package/build-module/post-comments/edit.js +0 -171
  731. package/build-module/post-comments/edit.js.map +0 -1
  732. package/build-module/post-comments/index.js +0 -59
  733. package/build-module/post-comments/index.js.map +0 -1
  734. package/build-module/quote/v2/deprecated.js +0 -116
  735. package/build-module/quote/v2/deprecated.js.map +0 -1
  736. package/build-module/quote/v2/edit.js +0 -122
  737. package/build-module/quote/v2/edit.js.map +0 -1
  738. package/build-module/quote/v2/index.js +0 -33
  739. package/build-module/quote/v2/index.js.map +0 -1
  740. package/build-module/quote/v2/save.js +0 -30
  741. package/build-module/quote/v2/save.js.map +0 -1
  742. package/build-module/quote/v2/transforms.js +0 -147
  743. package/build-module/quote/v2/transforms.js.map +0 -1
  744. package/build-module/template-part/fallback-variations.js +0 -47
  745. package/build-module/template-part/fallback-variations.js.map +0 -1
  746. package/src/gallery/use-short-code-transform.js +0 -55
  747. package/src/list-item/hooks/use-backspace.js +0 -51
  748. package/src/navigation-link/fallback-variations.js +0 -65
  749. package/src/post-comments/block.json +0 -45
  750. package/src/post-comments/edit.js +0 -247
  751. package/src/post-comments/editor.scss +0 -3
  752. package/src/post-comments/index.js +0 -18
  753. package/src/post-comments/index.php +0 -87
  754. package/src/quote/v2/deprecated.js +0 -107
  755. package/src/quote/v2/edit.js +0 -139
  756. package/src/quote/v2/index.js +0 -36
  757. package/src/quote/v2/save.js +0 -26
  758. package/src/quote/v2/transforms.js +0 -155
  759. package/src/template-part/fallback-variations.js +0 -51
@@ -5,13 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = useOutdentListItem;
7
7
 
8
+ var _lodash = require("lodash");
9
+
8
10
  var _element = require("@wordpress/element");
9
11
 
10
12
  var _data = require("@wordpress/data");
11
13
 
12
14
  var _blockEditor = require("@wordpress/block-editor");
13
15
 
14
- var _utils = require("../utils");
16
+ var _blocks = require("@wordpress/blocks");
17
+
18
+ /**
19
+ * External dependencies
20
+ */
15
21
 
16
22
  /**
17
23
  * WordPress dependencies
@@ -20,7 +26,38 @@ var _utils = require("../utils");
20
26
  /**
21
27
  * Internal dependencies
22
28
  */
29
+ const {
30
+ name: listItemName
31
+ } = {
32
+ $schema: "https://schemas.wp.org/trunk/block.json",
33
+ apiVersion: 2,
34
+ __experimental: "list-v2",
35
+ name: "core/list-item",
36
+ title: "List item",
37
+ category: "text",
38
+ parent: ["core/list"],
39
+ description: "Create a list item.",
40
+ textdomain: "default",
41
+ attributes: {
42
+ placeholder: {
43
+ type: "string"
44
+ },
45
+ content: {
46
+ type: "string",
47
+ source: "html",
48
+ selector: "li",
49
+ "default": "",
50
+ __experimentalRole: "content"
51
+ }
52
+ },
53
+ supports: {
54
+ className: false,
55
+ __experimentalSelector: "li"
56
+ }
57
+ };
58
+
23
59
  function useOutdentListItem(clientId) {
60
+ const registry = (0, _data.useRegistry)();
24
61
  const {
25
62
  canOutdent
26
63
  } = (0, _data.useSelect)(innerSelect => {
@@ -33,45 +70,65 @@ function useOutdentListItem(clientId) {
33
70
  };
34
71
  }, [clientId]);
35
72
  const {
36
- replaceBlocks,
37
- selectionChange
73
+ moveBlocksToPosition,
74
+ removeBlock,
75
+ insertBlock,
76
+ updateBlockListSettings
38
77
  } = (0, _data.useDispatch)(_blockEditor.store);
39
78
  const {
40
79
  getBlockRootClientId,
41
- getBlockAttributes,
42
- getBlock,
80
+ getBlockName,
81
+ getBlockOrder,
43
82
  getBlockIndex,
44
- getSelectionStart,
45
- getSelectionEnd
83
+ getSelectedBlockClientIds,
84
+ getBlock,
85
+ getBlockListSettings
46
86
  } = (0, _data.useSelect)(_blockEditor.store);
47
- return [canOutdent, (0, _element.useCallback)(() => {
48
- const selectionStart = getSelectionStart();
49
- const selectionEnd = getSelectionEnd();
50
- const listParentId = getBlockRootClientId(clientId);
51
- const listAttributes = getBlockAttributes(listParentId);
52
- const listItemParentId = getBlockRootClientId(listParentId);
53
- const listItemParentAttributes = getBlockAttributes(listItemParentId);
54
- const index = getBlockIndex(clientId);
55
- const siblingBlocks = getBlock(listParentId).innerBlocks;
56
- const previousSiblings = siblingBlocks.slice(0, index);
57
- const afterSiblings = siblingBlocks.slice(index + 1); // Create a new parent list item block with just the siblings
58
- // that existed before the child item being outdent.
59
-
60
- const newListItemParent = (0, _utils.createListItem)(listItemParentAttributes, listAttributes, previousSiblings);
61
- const block = getBlock(clientId);
62
- const childList = block.innerBlocks[0];
63
- const childItems = (childList === null || childList === void 0 ? void 0 : childList.innerBlocks) || [];
64
- const hasChildItems = !!childItems.length; // Create a new list item block whose attributes are equal to the
65
- // block being outdent and whose children are the children that it had (if any)
66
- // followed by the siblings that existed after it.
67
-
68
- const newItem = (0, _utils.createListItem)(block.attributes, hasChildItems ? childList.attributes : listAttributes, [...childItems, ...afterSiblings]); // Replace the parent list item block, with a new block containing
69
- // the previous siblings, followed by another block containing after siblings
70
- // in relation to the block being outdent.
71
-
72
- replaceBlocks([listItemParentId], [newListItemParent, newItem]); // Restore the selection state.
73
-
74
- selectionChange(newItem.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
75
- }, [clientId])];
87
+
88
+ function getParentListItemId(id) {
89
+ const listId = getBlockRootClientId(id);
90
+ const parentListItemId = getBlockRootClientId(listId);
91
+ if (!parentListItemId) return;
92
+ if (getBlockName(parentListItemId) !== listItemName) return;
93
+ return parentListItemId;
94
+ }
95
+
96
+ return [canOutdent, (0, _element.useCallback)(function () {
97
+ let clientIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSelectedBlockClientIds();
98
+ clientIds = (0, _lodash.castArray)(clientIds);
99
+ if (!clientIds.length) return;
100
+ const firstClientId = (0, _lodash.first)(clientIds); // Can't outdent if it's not a list item.
101
+
102
+ if (getBlockName(firstClientId) !== listItemName) return;
103
+ const parentListItemId = getParentListItemId(firstClientId); // Can't outdent if it's at the top level.
104
+
105
+ if (!parentListItemId) return;
106
+ const parentListId = getBlockRootClientId(firstClientId);
107
+ const lastClientId = (0, _lodash.last)(clientIds);
108
+ const order = getBlockOrder(parentListId);
109
+ const followingListItems = order.slice(getBlockIndex(lastClientId) + 1);
110
+ registry.batch(() => {
111
+ if (followingListItems.length) {
112
+ let nestedListId = (0, _lodash.first)(getBlockOrder(firstClientId));
113
+
114
+ if (!nestedListId) {
115
+ const nestedListBlock = (0, _blocks.cloneBlock)(getBlock(parentListId), {}, []);
116
+ nestedListId = nestedListBlock.clientId;
117
+ insertBlock(nestedListBlock, 0, firstClientId, false); // Immediately update the block list settings, otherwise
118
+ // blocks can't be moved here due to canInsert checks.
119
+
120
+ updateBlockListSettings(nestedListId, getBlockListSettings(parentListId));
121
+ }
122
+
123
+ moveBlocksToPosition(followingListItems, parentListId, nestedListId);
124
+ }
125
+
126
+ moveBlocksToPosition(clientIds, parentListId, getBlockRootClientId(parentListItemId), getBlockIndex(parentListItemId) + 1);
127
+
128
+ if (!getBlockOrder(parentListId).length) {
129
+ removeBlock(parentListId);
130
+ }
131
+ });
132
+ }, [])];
76
133
  }
77
134
  //# sourceMappingURL=use-outdent-list-item.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","blockEditorStore","grandParentId","replaceBlocks","selectionChange","getBlockAttributes","getBlock","getBlockIndex","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","listParentId","listAttributes","listItemParentId","listItemParentAttributes","index","siblingBlocks","innerBlocks","previousSiblings","slice","afterSiblings","newListItemParent","block","childList","childItems","hasChildItems","length","newItem","attributes","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,CAA6BC,QAA7B,EAAwC;AACtD,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,WAAW,CAAEE,kBAAF,CAA5C;AACA,UAAMC,aAAa,GAAGF,oBAAoB,CACzCA,oBAAoB,CAAEH,QAAF,CADqB,CAA1C;AAGA,WAAO;AACNC,MAAAA,UAAU,EAAE,CAAC,CAAEI;AADT,KAAP;AAGA,GATqB,EAUtB,CAAEL,QAAF,CAVsB,CAAvB;AAYA,QAAM;AAAEM,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaH,kBAAb,CAA3C;AACA,QAAM;AACLD,IAAAA,oBADK;AAELK,IAAAA,kBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOF,qBAAWR,kBAAX,CAPJ;AASA,SAAO,CACNH,UADM,EAEN,0BAAa,MAAM;AAClB,UAAMY,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,YAAY,GAAGZ,oBAAoB,CAAEH,QAAF,CAAzC;AACA,UAAMgB,cAAc,GAAGR,kBAAkB,CAAEO,YAAF,CAAzC;AACA,UAAME,gBAAgB,GAAGd,oBAAoB,CAAEY,YAAF,CAA7C;AACA,UAAMG,wBAAwB,GAC7BV,kBAAkB,CAAES,gBAAF,CADnB;AAGA,UAAME,KAAK,GAAGT,aAAa,CAAEV,QAAF,CAA3B;AACA,UAAMoB,aAAa,GAAGX,QAAQ,CAAEM,YAAF,CAAR,CAAyBM,WAA/C;AACA,UAAMC,gBAAgB,GAAGF,aAAa,CAACG,KAAd,CAAqB,CAArB,EAAwBJ,KAAxB,CAAzB;AACA,UAAMK,aAAa,GAAGJ,aAAa,CAACG,KAAd,CAAqBJ,KAAK,GAAG,CAA7B,CAAtB,CAbkB,CAelB;AACA;;AACA,UAAMM,iBAAiB,GAAG,2BACzBP,wBADyB,EAEzBF,cAFyB,EAGzBM,gBAHyB,CAA1B;AAMA,UAAMI,KAAK,GAAGjB,QAAQ,CAAET,QAAF,CAAtB;AACA,UAAM2B,SAAS,GAAGD,KAAK,CAACL,WAAN,CAAmB,CAAnB,CAAlB;AACA,UAAMO,UAAU,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEN,WAAX,KAA0B,EAA7C;AACA,UAAMQ,aAAa,GAAG,CAAC,CAAED,UAAU,CAACE,MAApC,CA1BkB,CA4BlB;AACA;AACA;;AACA,UAAMC,OAAO,GAAG,2BACfL,KAAK,CAACM,UADS,EAEfH,aAAa,GAAGF,SAAS,CAACK,UAAb,GAA0BhB,cAFxB,EAGf,CAAE,GAAGY,UAAL,EAAiB,GAAGJ,aAApB,CAHe,CAAhB,CA/BkB,CAqClB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEW,gBAAF,CADY,EAEZ,CAAEQ,iBAAF,EAAqBM,OAArB,CAFY,CAAb,CAxCkB,CA6ClB;;AACAxB,IAAAA,eAAe,CACdwB,OAAO,CAAC/B,QADM,EAEdc,YAAY,CAACmB,YAFC,EAGdnB,YAAY,CAACd,QAAb,KAA0Ba,cAAc,CAACb,QAAzC,GACGa,cAAc,CAACqB,MADlB,GAEGpB,YAAY,CAACoB,MALF,EAMdpB,YAAY,CAACoB,MANC,CAAf;AAQA,GAtDD,EAsDG,CAAElC,QAAF,CAtDH,CAFM,CAAP;AA0DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst listParentId = getBlockRootClientId( clientId );\n\t\t\tconst listAttributes = getBlockAttributes( listParentId );\n\t\t\tconst listItemParentId = getBlockRootClientId( listParentId );\n\t\t\tconst listItemParentAttributes =\n\t\t\t\tgetBlockAttributes( listItemParentId );\n\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst siblingBlocks = getBlock( listParentId ).innerBlocks;\n\t\t\tconst previousSiblings = siblingBlocks.slice( 0, index );\n\t\t\tconst afterSiblings = siblingBlocks.slice( index + 1 );\n\n\t\t\t// Create a new parent list item block with just the siblings\n\t\t\t// that existed before the child item being outdent.\n\t\t\tconst newListItemParent = createListItem(\n\t\t\t\tlistItemParentAttributes,\n\t\t\t\tlistAttributes,\n\t\t\t\tpreviousSiblings\n\t\t\t);\n\n\t\t\tconst block = getBlock( clientId );\n\t\t\tconst childList = block.innerBlocks[ 0 ];\n\t\t\tconst childItems = childList?.innerBlocks || [];\n\t\t\tconst hasChildItems = !! childItems.length;\n\n\t\t\t// Create a new list item block whose attributes are equal to the\n\t\t\t// block being outdent and whose children are the children that it had (if any)\n\t\t\t// followed by the siblings that existed after it.\n\t\t\tconst newItem = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\thasChildItems ? childList.attributes : listAttributes,\n\t\t\t\t[ ...childItems, ...afterSiblings ]\n\t\t\t);\n\n\t\t\t// Replace the parent list item block, with a new block containing\n\t\t\t// the previous siblings, followed by another block containing after siblings\n\t\t\t// in relation to the block being outdent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ listItemParentId ],\n\t\t\t\t[ newListItemParent, newItem ]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewItem.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useOutdentListItem","clientId","registry","canOutdent","innerSelect","getBlockRootClientId","blockEditorStore","grandParentId","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","listItemName","clientIds","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from '../block.json';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst registry = useRegistry();\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== listItemName ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\t\tclientIds = castArray( clientIds );\n\n\t\t\tif ( ! clientIds.length ) return;\n\n\t\t\tconst firstClientId = first( clientIds );\n\n\t\t\t// Can't outdent if it's not a list item.\n\t\t\tif ( getBlockName( firstClientId ) !== listItemName ) return;\n\n\t\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t\t// Can't outdent if it's at the top level.\n\t\t\tif ( ! parentListItemId ) return;\n\n\t\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\t\tconst lastClientId = last( clientIds );\n\t\t\tconst order = getBlockOrder( parentListId );\n\t\t\tconst followingListItems = order.slice(\n\t\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t\t);\n\n\t\t\tregistry.batch( () => {\n\t\t\t\tif ( followingListItems.length ) {\n\t\t\t\t\tlet nestedListId = first( getBlockOrder( firstClientId ) );\n\n\t\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\t\tgetBlock( parentListId ),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tfollowingListItems,\n\t\t\t\t\t\tparentListId,\n\t\t\t\t\t\tnestedListId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tclientIds,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t\t);\n\t\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\t\tremoveBlock( parentListId );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, [] ),\n\t];\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.convertToListItems = convertToListItems;
6
7
  exports.createListItem = createListItem;
7
8
 
8
9
  var _blocks = require("@wordpress/blocks");
@@ -10,7 +11,130 @@ var _blocks = require("@wordpress/blocks");
10
11
  /**
11
12
  * WordPress dependencies
12
13
  */
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+ const {
19
+ name: listItemName
20
+ } = {
21
+ $schema: "https://schemas.wp.org/trunk/block.json",
22
+ apiVersion: 2,
23
+ __experimental: "list-v2",
24
+ name: "core/list-item",
25
+ title: "List item",
26
+ category: "text",
27
+ parent: ["core/list"],
28
+ description: "Create a list item.",
29
+ textdomain: "default",
30
+ attributes: {
31
+ placeholder: {
32
+ type: "string"
33
+ },
34
+ content: {
35
+ type: "string",
36
+ source: "html",
37
+ selector: "li",
38
+ "default": "",
39
+ __experimentalRole: "content"
40
+ }
41
+ },
42
+ supports: {
43
+ className: false,
44
+ __experimentalSelector: "li"
45
+ }
46
+ };
47
+ const {
48
+ name: listName
49
+ } = {
50
+ $schema: "https://schemas.wp.org/trunk/block.json",
51
+ apiVersion: 2,
52
+ name: "core/list",
53
+ title: "List",
54
+ category: "text",
55
+ description: "Create a bulleted or numbered list.",
56
+ keywords: ["bullet list", "ordered list", "numbered list"],
57
+ textdomain: "default",
58
+ attributes: {
59
+ ordered: {
60
+ type: "boolean",
61
+ "default": false,
62
+ __experimentalRole: "content"
63
+ },
64
+ values: {
65
+ type: "string",
66
+ source: "html",
67
+ selector: "ol,ul",
68
+ multiline: "li",
69
+ __unstableMultilineWrapperTags: ["ol", "ul"],
70
+ "default": "",
71
+ __experimentalRole: "content"
72
+ },
73
+ type: {
74
+ type: "string"
75
+ },
76
+ start: {
77
+ type: "number"
78
+ },
79
+ reversed: {
80
+ type: "boolean"
81
+ },
82
+ placeholder: {
83
+ type: "string"
84
+ }
85
+ },
86
+ supports: {
87
+ anchor: true,
88
+ className: false,
89
+ typography: {
90
+ fontSize: true,
91
+ __experimentalFontFamily: true,
92
+ lineHeight: true,
93
+ __experimentalFontStyle: true,
94
+ __experimentalFontWeight: true,
95
+ __experimentalLetterSpacing: true,
96
+ __experimentalTextTransform: true,
97
+ __experimentalDefaultControls: {
98
+ fontSize: true
99
+ }
100
+ },
101
+ color: {
102
+ gradients: true,
103
+ link: true,
104
+ __experimentalDefaultControls: {
105
+ background: true,
106
+ text: true
107
+ }
108
+ },
109
+ __unstablePasteTextInline: true,
110
+ __experimentalSelector: "ol,ul",
111
+ __experimentalSlashInserter: true
112
+ },
113
+ editorStyle: "wp-block-list-editor",
114
+ style: "wp-block-list"
115
+ };
116
+
13
117
  function createListItem(listItemAttributes, listAttributes, children) {
14
- return (0, _blocks.createBlock)('core/list-item', listItemAttributes, !(children !== null && children !== void 0 && children.length) ? [] : [(0, _blocks.createBlock)('core/list', listAttributes, children)]);
118
+ return (0, _blocks.createBlock)(listItemName, listItemAttributes, !(children !== null && children !== void 0 && children.length) ? [] : [(0, _blocks.createBlock)(listName, listAttributes, children)]);
119
+ }
120
+
121
+ function convertToListItems(blocks) {
122
+ const listItems = [];
123
+
124
+ for (let block of blocks) {
125
+ if (block.name === listItemName) {
126
+ listItems.push(block);
127
+ } else if (block.name === listName) {
128
+ listItems.push(...block.innerBlocks);
129
+ } else if (block = (0, _blocks.switchToBlockType)(block, listName)) {
130
+ for (const {
131
+ innerBlocks
132
+ } of block) {
133
+ listItems.push(...innerBlocks);
134
+ }
135
+ }
136
+ }
137
+
138
+ return listItems;
15
139
  }
16
140
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createListItem","listItemAttributes","listAttributes","children","length"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAO,yBACN,gBADM,EAENF,kBAFM,EAGN,EAAEE,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEC,MAAZ,IACG,EADH,GAEG,CAAE,yBAAa,WAAb,EAA0BF,cAA1B,EAA0CC,QAA1C,CAAF,CALG,CAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\t'core/list-item',\n\t\tlistItemAttributes,\n\t\t! children?.length\n\t\t\t? []\n\t\t\t: [ createBlock( 'core/list', listAttributes, children ) ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createListItem","listItemAttributes","listAttributes","children","listItemName","length","listName","convertToListItems","blocks","listItems","block","name","push","innerBlocks"],"mappings":";;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAASA,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAO,yBACNC,YADM,EAENH,kBAFM,EAGN,EAAEE,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEE,MAAZ,IACG,EADH,GAEG,CAAE,yBAAaC,QAAb,EAAuBJ,cAAvB,EAAuCC,QAAvC,CAAF,CALG,CAAP;AAOA;;AAEM,SAASI,kBAAT,CAA6BC,MAA7B,EAAsC;AAC5C,QAAMC,SAAS,GAAG,EAAlB;;AAEA,OAAM,IAAIC,KAAV,IAAmBF,MAAnB,EAA4B;AAC3B,QAAKE,KAAK,CAACC,IAAN,KAAeP,YAApB,EAAmC;AAClCK,MAAAA,SAAS,CAACG,IAAV,CAAgBF,KAAhB;AACA,KAFD,MAEO,IAAKA,KAAK,CAACC,IAAN,KAAeL,QAApB,EAA+B;AACrCG,MAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGF,KAAK,CAACG,WAAzB;AACA,KAFM,MAEA,IAAOH,KAAK,GAAG,+BAAmBA,KAAnB,EAA0BJ,QAA1B,CAAf,EAAwD;AAC9D,WAAM,MAAM;AAAEO,QAAAA;AAAF,OAAZ,IAA+BH,KAA/B,EAAuC;AACtCD,QAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGC,WAAnB;AACA;AACD;AACD;;AAED,SAAOJ,SAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from './block.json';\nimport { name as listName } from '../list/block.json';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\tlistItemName,\n\t\tlistItemAttributes,\n\t\t! children?.length\n\t\t\t? []\n\t\t\t: [ createBlock( listName, listAttributes, children ) ]\n\t);\n}\n\nexport function convertToListItems( blocks ) {\n\tconst listItems = [];\n\n\tfor ( let block of blocks ) {\n\t\tif ( block.name === listItemName ) {\n\t\t\tlistItems.push( block );\n\t\t} else if ( block.name === listName ) {\n\t\t\tlistItems.push( ...block.innerBlocks );\n\t\t} else if ( ( block = switchToBlockType( block, listName ) ) ) {\n\t\t\tfor ( const { innerBlocks } of block ) {\n\t\t\t\tlistItems.push( ...innerBlocks );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn listItems;\n}\n"]}
@@ -17,6 +17,8 @@ var _blockEditor = require("@wordpress/block-editor");
17
17
 
18
18
  var _mediaContainer = require("./media-container");
19
19
 
20
+ var _constants = require("./constants");
21
+
20
22
  /**
21
23
  * External dependencies
22
24
  */
@@ -81,7 +83,132 @@ const baseAttributes = {
81
83
  default: true
82
84
  }
83
85
  };
84
- var _default = [{
86
+ var _default = [// Version with CSS grid
87
+ {
88
+ attributes: { ...baseAttributes,
89
+ mediaUrl: {
90
+ type: 'string',
91
+ source: 'attribute',
92
+ selector: 'figure video,figure img',
93
+ attribute: 'src'
94
+ },
95
+ mediaLink: {
96
+ type: 'string'
97
+ },
98
+ linkDestination: {
99
+ type: 'string'
100
+ },
101
+ linkTarget: {
102
+ type: 'string',
103
+ source: 'attribute',
104
+ selector: 'figure a',
105
+ attribute: 'target'
106
+ },
107
+ href: {
108
+ type: 'string',
109
+ source: 'attribute',
110
+ selector: 'figure a',
111
+ attribute: 'href'
112
+ },
113
+ rel: {
114
+ type: 'string',
115
+ source: 'attribute',
116
+ selector: 'figure a',
117
+ attribute: 'rel'
118
+ },
119
+ linkClass: {
120
+ type: 'string',
121
+ source: 'attribute',
122
+ selector: 'figure a',
123
+ attribute: 'class'
124
+ },
125
+ verticalAlignment: {
126
+ type: 'string'
127
+ },
128
+ imageFill: {
129
+ type: 'boolean'
130
+ },
131
+ focalPoint: {
132
+ type: 'object'
133
+ }
134
+ },
135
+
136
+ save(_ref) {
137
+ let {
138
+ attributes
139
+ } = _ref;
140
+ const {
141
+ isStackedOnMobile,
142
+ mediaAlt,
143
+ mediaPosition,
144
+ mediaType,
145
+ mediaUrl,
146
+ mediaWidth,
147
+ mediaId,
148
+ verticalAlignment,
149
+ imageFill,
150
+ focalPoint,
151
+ linkClass,
152
+ href,
153
+ linkTarget,
154
+ rel
155
+ } = attributes;
156
+ const mediaSizeSlug = attributes.mediaSizeSlug || _constants.DEFAULT_MEDIA_SIZE_SLUG;
157
+ const newRel = (0, _lodash.isEmpty)(rel) ? undefined : rel;
158
+ const imageClasses = (0, _classnames.default)({
159
+ [`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
160
+ [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
161
+ });
162
+ let image = (0, _element.createElement)("img", {
163
+ src: mediaUrl,
164
+ alt: mediaAlt,
165
+ className: imageClasses || null
166
+ });
167
+
168
+ if (href) {
169
+ image = (0, _element.createElement)("a", {
170
+ className: linkClass,
171
+ href: href,
172
+ target: linkTarget,
173
+ rel: newRel
174
+ }, image);
175
+ }
176
+
177
+ const mediaTypeRenders = {
178
+ image: () => image,
179
+ video: () => (0, _element.createElement)("video", {
180
+ controls: true,
181
+ src: mediaUrl
182
+ })
183
+ };
184
+ const className = (0, _classnames.default)({
185
+ 'has-media-on-the-right': 'right' === mediaPosition,
186
+ 'is-stacked-on-mobile': isStackedOnMobile,
187
+ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
188
+ 'is-image-fill': imageFill
189
+ });
190
+ const backgroundStyles = imageFill ? (0, _mediaContainer.imageFillStyles)(mediaUrl, focalPoint) : {};
191
+ let gridTemplateColumns;
192
+
193
+ if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
194
+ gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
195
+ }
196
+
197
+ const style = {
198
+ gridTemplateColumns
199
+ };
200
+ return (0, _element.createElement)("div", _blockEditor.useBlockProps.save({
201
+ className,
202
+ style
203
+ }), (0, _element.createElement)("figure", {
204
+ className: "wp-block-media-text__media",
205
+ style: backgroundStyles
206
+ }, (mediaTypeRenders[mediaType] || noop)()), (0, _element.createElement)("div", _blockEditor.useInnerBlocksProps.save({
207
+ className: 'wp-block-media-text__content'
208
+ })));
209
+ }
210
+
211
+ }, {
85
212
  attributes: { ...baseAttributes,
86
213
  customBackgroundColor: {
87
214
  type: 'string'
@@ -128,10 +255,10 @@ var _default = [{
128
255
  },
129
256
  migrate: migrateCustomColors,
130
257
 
131
- save(_ref) {
258
+ save(_ref2) {
132
259
  let {
133
260
  attributes
134
- } = _ref;
261
+ } = _ref2;
135
262
  const {
136
263
  backgroundColor,
137
264
  customBackgroundColor,
@@ -227,10 +354,10 @@ var _default = [{
227
354
  },
228
355
  migrate: migrateCustomColors,
229
356
 
230
- save(_ref2) {
357
+ save(_ref3) {
231
358
  let {
232
359
  attributes
233
- } = _ref2;
360
+ } = _ref3;
234
361
  const {
235
362
  backgroundColor,
236
363
  customBackgroundColor,
@@ -299,10 +426,10 @@ var _default = [{
299
426
  }
300
427
  },
301
428
 
302
- save(_ref3) {
429
+ save(_ref4) {
303
430
  let {
304
431
  attributes
305
- } = _ref3;
432
+ } = _ref4;
306
433
  const {
307
434
  backgroundColor,
308
435
  customBackgroundColor,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","migrate","save","mediaUrl","newRel","undefined","image","mediaTypeRenders","video","backgroundClass","className","backgroundStyles","gridTemplateColumns"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","save","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","newRel","undefined","imageClasses","image","mediaTypeRenders","video","className","backgroundStyles","gridTemplateColumns","useBlockProps","useInnerBlocksProps","migrate","backgroundClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t// Version with CSS grid\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst mediaSizeSlug =\n\t\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst imageClasses = classnames( {\n\t\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t\t} );\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={ imageClasses || null }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}