@wordpress/block-library 7.6.0 → 7.9.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 (774) 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/index.js +6 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/save.js +2 -1
  7. package/build/audio/save.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js.map +1 -1
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js +175 -35
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/button/edit.js +1 -1
  15. package/build/button/edit.js.map +1 -1
  16. package/build/button/edit.native.js.map +1 -1
  17. package/build/button/save.js +1 -1
  18. package/build/button/save.js.map +1 -1
  19. package/build/buttons/deprecated.js.map +1 -1
  20. package/build/buttons/edit.js.map +1 -1
  21. package/build/buttons/edit.native.js.map +1 -1
  22. package/build/column/deprecated.js.map +1 -1
  23. package/build/column/edit.js.map +1 -1
  24. package/build/column/edit.native.js.map +1 -1
  25. package/build/columns/deprecated.js.map +1 -1
  26. package/build/columns/edit.js +1 -1
  27. package/build/columns/edit.js.map +1 -1
  28. package/build/columns/edit.native.js +1 -1
  29. package/build/columns/edit.native.js.map +1 -1
  30. package/build/columns/index.js +3 -1
  31. package/build/columns/index.js.map +1 -1
  32. package/build/columns/utils.js +1 -1
  33. package/build/columns/utils.js.map +1 -1
  34. package/build/columns/variations.js +2 -2
  35. package/build/columns/variations.js.map +1 -1
  36. package/build/comment-author-name/edit.js +3 -3
  37. package/build/comment-author-name/edit.js.map +1 -1
  38. package/build/comment-author-name/index.js +0 -4
  39. package/build/comment-author-name/index.js.map +1 -1
  40. package/build/comment-date/edit.js +4 -4
  41. package/build/comment-date/edit.js.map +1 -1
  42. package/build/comment-date/index.js +0 -4
  43. package/build/comment-date/index.js.map +1 -1
  44. package/build/comment-edit-link/index.js +0 -4
  45. package/build/comment-edit-link/index.js.map +1 -1
  46. package/build/comment-reply-link/index.js +0 -4
  47. package/build/comment-reply-link/index.js.map +1 -1
  48. package/build/comments/edit.js +10 -2
  49. package/build/comments/edit.js.map +1 -1
  50. package/build/comments-title/deprecated.js +0 -3
  51. package/build/comments-title/deprecated.js.map +1 -1
  52. package/build/comments-title/edit.js +1 -1
  53. package/build/comments-title/edit.js.map +1 -1
  54. package/build/cover/controls.native.js.map +1 -1
  55. package/build/cover/deprecated.js +212 -207
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/block-controls.js +3 -10
  58. package/build/cover/edit/block-controls.js.map +1 -1
  59. package/build/cover/edit/index.js +34 -31
  60. package/build/cover/edit/index.js.map +1 -1
  61. package/build/cover/edit/inspector-controls.js +34 -6
  62. package/build/cover/edit/inspector-controls.js.map +1 -1
  63. package/build/cover/edit.native.js.map +1 -1
  64. package/build/cover/index.js +1 -0
  65. package/build/cover/index.js.map +1 -1
  66. package/build/cover/save.js +18 -5
  67. package/build/cover/save.js.map +1 -1
  68. package/build/cover/shared.js +14 -17
  69. package/build/cover/shared.js.map +1 -1
  70. package/build/cover/transforms.js.map +1 -1
  71. package/build/embed/deprecated.js +6 -1
  72. package/build/embed/deprecated.js.map +1 -1
  73. package/build/embed/edit.js.map +1 -1
  74. package/build/embed/edit.native.js.map +1 -1
  75. package/build/embed/embed-controls.native.js.map +1 -1
  76. package/build/embed/embed-preview.js +1 -0
  77. package/build/embed/embed-preview.js.map +1 -1
  78. package/build/embed/icons.js +21 -1
  79. package/build/embed/icons.js.map +1 -1
  80. package/build/embed/index.js +6 -1
  81. package/build/embed/index.js.map +1 -1
  82. package/build/embed/save.js +1 -0
  83. package/build/embed/save.js.map +1 -1
  84. package/build/embed/transforms.js +6 -1
  85. package/build/embed/transforms.js.map +1 -1
  86. package/build/embed/util.js +6 -1
  87. package/build/embed/util.js.map +1 -1
  88. package/build/embed/variations.js +11 -0
  89. package/build/embed/variations.js.map +1 -1
  90. package/build/file/edit.js +1 -1
  91. package/build/file/edit.js.map +1 -1
  92. package/build/file/edit.native.js.map +1 -1
  93. package/build/file/index.js.map +1 -1
  94. package/build/file/save.js +9 -1
  95. package/build/file/save.js.map +1 -1
  96. package/build/gallery/edit.js +1 -1
  97. package/build/gallery/edit.js.map +1 -1
  98. package/build/gallery/gallery.js +1 -1
  99. package/build/gallery/gallery.js.map +1 -1
  100. package/build/gallery/gallery.native.js.map +1 -1
  101. package/build/gallery/gap-styles.js +14 -4
  102. package/build/gallery/gap-styles.js.map +1 -1
  103. package/build/gallery/index.js +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/save.js +1 -1
  106. package/build/gallery/save.js.map +1 -1
  107. package/build/gallery/shared.js +27 -10
  108. package/build/gallery/shared.js.map +1 -1
  109. package/build/gallery/transforms.js +2 -2
  110. package/build/gallery/transforms.js.map +1 -1
  111. package/build/gallery/v1/edit.js +3 -3
  112. package/build/gallery/v1/edit.js.map +1 -1
  113. package/build/gallery/v1/gallery-image.js +1 -0
  114. package/build/gallery/v1/gallery-image.js.map +1 -1
  115. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  116. package/build/gallery/v1/gallery.js +1 -1
  117. package/build/gallery/v1/gallery.js.map +1 -1
  118. package/build/gallery/v1/save.js +10 -2
  119. package/build/gallery/v1/save.js.map +1 -1
  120. package/build/group/index.js +1 -0
  121. package/build/group/index.js.map +1 -1
  122. package/build/heading/autogenerate-anchors.js +7 -2
  123. package/build/heading/autogenerate-anchors.js.map +1 -1
  124. package/build/heading/deprecated.js.map +1 -1
  125. package/build/heading/edit.js.map +1 -1
  126. package/build/html/edit.js +11 -20
  127. package/build/html/edit.js.map +1 -1
  128. package/build/html/preview.js +48 -0
  129. package/build/html/preview.js.map +1 -0
  130. package/build/image/deprecated.js.map +1 -1
  131. package/build/image/edit.js +5 -59
  132. package/build/image/edit.js.map +1 -1
  133. package/build/image/edit.native.js +58 -4
  134. package/build/image/edit.native.js.map +1 -1
  135. package/build/image/image.js +4 -13
  136. package/build/image/image.js.map +1 -1
  137. package/build/image/index.js +5 -0
  138. package/build/image/index.js.map +1 -1
  139. package/build/image/save.js +1 -0
  140. package/build/image/save.js.map +1 -1
  141. package/build/image/transforms.js.map +1 -1
  142. package/build/image/utils.js +2 -1
  143. package/build/image/utils.js.map +1 -1
  144. package/build/index.js +1 -1
  145. package/build/index.js.map +1 -1
  146. package/build/latest-comments/edit.js.map +1 -1
  147. package/build/latest-posts/edit.js +1 -1
  148. package/build/latest-posts/edit.js.map +1 -1
  149. package/build/latest-posts/edit.native.js.map +1 -1
  150. package/build/list/index.js.map +1 -1
  151. package/build/list/v2/edit.js.map +1 -1
  152. package/build/list/v2/transforms.js +33 -17
  153. package/build/list/v2/transforms.js.map +1 -1
  154. package/build/list-item/hooks/use-backspace.js.map +1 -1
  155. package/build/list-item/hooks/use-enter.js +7 -4
  156. package/build/list-item/hooks/use-enter.js.map +1 -1
  157. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  158. package/build/list-item/hooks/use-outdent-list-item.js +36 -15
  159. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  160. package/build/list-item/hooks/use-space.js.map +1 -1
  161. package/build/list-item/hooks/use-split.js +17 -3
  162. package/build/list-item/hooks/use-split.js.map +1 -1
  163. package/build/media-text/deprecated.js +5 -3
  164. package/build/media-text/deprecated.js.map +1 -1
  165. package/build/media-text/edit.native.js.map +1 -1
  166. package/build/media-text/media-container.js +3 -3
  167. package/build/media-text/media-container.js.map +1 -1
  168. package/build/media-text/media-container.native.js.map +1 -1
  169. package/build/media-text/save.js +3 -1
  170. package/build/media-text/save.js.map +1 -1
  171. package/build/missing/edit.native.js.map +1 -1
  172. package/build/navigation/deprecated.js.map +1 -1
  173. package/build/navigation/edit/index.js +1 -1
  174. package/build/navigation/edit/index.js.map +1 -1
  175. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  176. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  177. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  178. package/build/navigation/index.js +9 -0
  179. package/build/navigation/index.js.map +1 -1
  180. package/build/navigation/use-navigation-entities.js.map +1 -1
  181. package/build/navigation/use-navigation-menu.js +72 -38
  182. package/build/navigation/use-navigation-menu.js.map +1 -1
  183. package/build/navigation/use-template-part-area-label.js +4 -1
  184. package/build/navigation/use-template-part-area-label.js.map +1 -1
  185. package/build/navigation/view.js +5 -3
  186. package/build/navigation/view.js.map +1 -1
  187. package/build/navigation-link/edit.js +44 -12
  188. package/build/navigation-link/edit.js.map +1 -1
  189. package/build/navigation-submenu/edit.js.map +1 -1
  190. package/build/navigation-submenu/view.js +5 -3
  191. package/build/navigation-submenu/view.js.map +1 -1
  192. package/build/page-list/convert-to-links-modal.js.map +1 -1
  193. package/build/page-list/edit.js.map +1 -1
  194. package/build/paragraph/deprecated.js +1 -1
  195. package/build/paragraph/deprecated.js.map +1 -1
  196. package/build/pattern/edit.js.map +1 -1
  197. package/build/post-author/edit.js.map +1 -1
  198. package/build/post-author-name/index.js +3 -0
  199. package/build/post-author-name/index.js.map +1 -1
  200. package/build/post-author-name/transforms.js +41 -0
  201. package/build/post-author-name/transforms.js.map +1 -0
  202. package/build/post-comments-form/edit.js +12 -2
  203. package/build/post-comments-form/edit.js.map +1 -1
  204. package/build/post-comments-form/form.js +11 -1
  205. package/build/post-comments-form/form.js.map +1 -1
  206. package/build/post-content/edit.js.map +1 -1
  207. package/build/post-date/edit.js +13 -7
  208. package/build/post-date/edit.js.map +1 -1
  209. package/build/post-featured-image/edit.js +10 -24
  210. package/build/post-featured-image/edit.js.map +1 -1
  211. package/build/post-navigation-link/index.js +4 -0
  212. package/build/post-navigation-link/index.js.map +1 -1
  213. package/build/pullquote/deprecated.js.map +1 -1
  214. package/build/query/edit/index.js +5 -1
  215. package/build/query/edit/index.js.map +1 -1
  216. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  217. package/build/query/edit/query-toolbar.js +16 -2
  218. package/build/query/edit/query-toolbar.js.map +1 -1
  219. package/build/quote/v2/edit.js.map +1 -1
  220. package/build/search/edit.js +1 -1
  221. package/build/search/edit.js.map +1 -1
  222. package/build/search/edit.native.js.map +1 -1
  223. package/build/search/index.js +4 -0
  224. package/build/search/index.js.map +1 -1
  225. package/build/separator/use-deprecated-opacity.js.map +1 -1
  226. package/build/shortcode/edit.native.js +16 -13
  227. package/build/shortcode/edit.native.js.map +1 -1
  228. package/build/site-logo/edit.js +3 -12
  229. package/build/site-logo/edit.js.map +1 -1
  230. package/build/social-links/deprecated.js.map +1 -1
  231. package/build/social-links/edit.js +2 -2
  232. package/build/social-links/edit.js.map +1 -1
  233. package/build/social-links/edit.native.js.map +1 -1
  234. package/build/spacer/controls.js.map +1 -1
  235. package/build/table/deprecated.js.map +1 -1
  236. package/build/table/edit.js +1 -0
  237. package/build/table/edit.js.map +1 -1
  238. package/build/table/index.js +6 -1
  239. package/build/table/index.js.map +1 -1
  240. package/build/table/save.js +2 -1
  241. package/build/table/save.js.map +1 -1
  242. package/build/table/state.js.map +1 -1
  243. package/build/table-of-contents/edit.js +11 -3
  244. package/build/table-of-contents/edit.js.map +1 -1
  245. package/build/tag-cloud/edit.js.map +1 -1
  246. package/build/template-part/edit/advanced-controls.js +4 -1
  247. package/build/template-part/edit/advanced-controls.js.map +1 -1
  248. package/build/template-part/edit/index.js.map +1 -1
  249. package/build/template-part/edit/utils/hooks.js +4 -1
  250. package/build/template-part/edit/utils/hooks.js.map +1 -1
  251. package/build/transformationCategories.native.js.map +1 -1
  252. package/build/video/edit-common-settings.js.map +1 -1
  253. package/build/video/edit.js +1 -0
  254. package/build/video/edit.js.map +1 -1
  255. package/build/video/edit.native.js +43 -0
  256. package/build/video/edit.native.js.map +1 -1
  257. package/build/video/index.js +6 -1
  258. package/build/video/index.js.map +1 -1
  259. package/build/video/save.js +1 -0
  260. package/build/video/save.js.map +1 -1
  261. package/build-module/audio/edit.js +2 -1
  262. package/build-module/audio/edit.js.map +1 -1
  263. package/build-module/audio/index.js +6 -1
  264. package/build-module/audio/index.js.map +1 -1
  265. package/build-module/audio/save.js +3 -2
  266. package/build-module/audio/save.js.map +1 -1
  267. package/build-module/avatar/hooks.js +2 -2
  268. package/build-module/avatar/hooks.js.map +1 -1
  269. package/build-module/block/edit.js.map +1 -1
  270. package/build-module/block/edit.native.js.map +1 -1
  271. package/build-module/button/deprecated.js +175 -35
  272. package/build-module/button/deprecated.js.map +1 -1
  273. package/build-module/button/edit.js +2 -2
  274. package/build-module/button/edit.js.map +1 -1
  275. package/build-module/button/edit.native.js.map +1 -1
  276. package/build-module/button/save.js +2 -2
  277. package/build-module/button/save.js.map +1 -1
  278. package/build-module/buttons/deprecated.js.map +1 -1
  279. package/build-module/buttons/edit.js.map +1 -1
  280. package/build-module/buttons/edit.native.js.map +1 -1
  281. package/build-module/column/deprecated.js.map +1 -1
  282. package/build-module/column/edit.js.map +1 -1
  283. package/build-module/column/edit.native.js.map +1 -1
  284. package/build-module/columns/deprecated.js.map +1 -1
  285. package/build-module/columns/edit.js +2 -2
  286. package/build-module/columns/edit.js.map +1 -1
  287. package/build-module/columns/edit.native.js +2 -2
  288. package/build-module/columns/edit.native.js.map +1 -1
  289. package/build-module/columns/index.js +3 -1
  290. package/build-module/columns/index.js.map +1 -1
  291. package/build-module/columns/utils.js +2 -2
  292. package/build-module/columns/utils.js.map +1 -1
  293. package/build-module/columns/variations.js +2 -2
  294. package/build-module/columns/variations.js.map +1 -1
  295. package/build-module/comment-author-name/edit.js +3 -3
  296. package/build-module/comment-author-name/edit.js.map +1 -1
  297. package/build-module/comment-author-name/index.js +0 -4
  298. package/build-module/comment-author-name/index.js.map +1 -1
  299. package/build-module/comment-date/edit.js +4 -4
  300. package/build-module/comment-date/edit.js.map +1 -1
  301. package/build-module/comment-date/index.js +0 -4
  302. package/build-module/comment-date/index.js.map +1 -1
  303. package/build-module/comment-edit-link/index.js +0 -4
  304. package/build-module/comment-edit-link/index.js.map +1 -1
  305. package/build-module/comment-reply-link/index.js +0 -4
  306. package/build-module/comment-reply-link/index.js.map +1 -1
  307. package/build-module/comments/edit.js +10 -2
  308. package/build-module/comments/edit.js.map +1 -1
  309. package/build-module/comments-title/deprecated.js +0 -3
  310. package/build-module/comments-title/deprecated.js.map +1 -1
  311. package/build-module/comments-title/edit.js +1 -1
  312. package/build-module/comments-title/edit.js.map +1 -1
  313. package/build-module/cover/controls.native.js.map +1 -1
  314. package/build-module/cover/deprecated.js +206 -198
  315. package/build-module/cover/deprecated.js.map +1 -1
  316. package/build-module/cover/edit/block-controls.js +3 -8
  317. package/build-module/cover/edit/block-controls.js.map +1 -1
  318. package/build-module/cover/edit/index.js +36 -33
  319. package/build-module/cover/edit/index.js.map +1 -1
  320. package/build-module/cover/edit/inspector-controls.js +32 -7
  321. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  322. package/build-module/cover/edit.native.js.map +1 -1
  323. package/build-module/cover/index.js +1 -0
  324. package/build-module/cover/index.js.map +1 -1
  325. package/build-module/cover/save.js +19 -6
  326. package/build-module/cover/save.js.map +1 -1
  327. package/build-module/cover/shared.js +11 -12
  328. package/build-module/cover/shared.js.map +1 -1
  329. package/build-module/cover/transforms.js.map +1 -1
  330. package/build-module/embed/deprecated.js +6 -1
  331. package/build-module/embed/deprecated.js.map +1 -1
  332. package/build-module/embed/edit.js.map +1 -1
  333. package/build-module/embed/edit.native.js.map +1 -1
  334. package/build-module/embed/embed-controls.native.js.map +1 -1
  335. package/build-module/embed/embed-preview.js +2 -1
  336. package/build-module/embed/embed-preview.js.map +1 -1
  337. package/build-module/embed/icons.js +19 -0
  338. package/build-module/embed/icons.js.map +1 -1
  339. package/build-module/embed/index.js +6 -1
  340. package/build-module/embed/index.js.map +1 -1
  341. package/build-module/embed/save.js +2 -1
  342. package/build-module/embed/save.js.map +1 -1
  343. package/build-module/embed/transforms.js +6 -1
  344. package/build-module/embed/transforms.js.map +1 -1
  345. package/build-module/embed/util.js +6 -1
  346. package/build-module/embed/util.js.map +1 -1
  347. package/build-module/embed/variations.js +12 -1
  348. package/build-module/embed/variations.js.map +1 -1
  349. package/build-module/file/edit.js +2 -2
  350. package/build-module/file/edit.js.map +1 -1
  351. package/build-module/file/edit.native.js.map +1 -1
  352. package/build-module/file/index.js.map +1 -1
  353. package/build-module/file/save.js +7 -2
  354. package/build-module/file/save.js.map +1 -1
  355. package/build-module/gallery/edit.js +2 -2
  356. package/build-module/gallery/edit.js.map +1 -1
  357. package/build-module/gallery/gallery.js +2 -2
  358. package/build-module/gallery/gallery.js.map +1 -1
  359. package/build-module/gallery/gallery.native.js.map +1 -1
  360. package/build-module/gallery/gap-styles.js +14 -4
  361. package/build-module/gallery/gap-styles.js.map +1 -1
  362. package/build-module/gallery/index.js +1 -1
  363. package/build-module/gallery/index.js.map +1 -1
  364. package/build-module/gallery/save.js +2 -2
  365. package/build-module/gallery/save.js.map +1 -1
  366. package/build-module/gallery/shared.js +25 -8
  367. package/build-module/gallery/shared.js.map +1 -1
  368. package/build-module/gallery/transforms.js +3 -3
  369. package/build-module/gallery/transforms.js.map +1 -1
  370. package/build-module/gallery/v1/edit.js +4 -4
  371. package/build-module/gallery/v1/edit.js.map +1 -1
  372. package/build-module/gallery/v1/gallery-image.js +2 -1
  373. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  374. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  375. package/build-module/gallery/v1/gallery.js +2 -2
  376. package/build-module/gallery/v1/gallery.js.map +1 -1
  377. package/build-module/gallery/v1/save.js +8 -3
  378. package/build-module/gallery/v1/save.js.map +1 -1
  379. package/build-module/group/index.js +1 -0
  380. package/build-module/group/index.js.map +1 -1
  381. package/build-module/heading/autogenerate-anchors.js +5 -2
  382. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  383. package/build-module/heading/deprecated.js.map +1 -1
  384. package/build-module/heading/edit.js.map +1 -1
  385. package/build-module/html/edit.js +12 -23
  386. package/build-module/html/edit.js.map +1 -1
  387. package/build-module/html/preview.js +38 -0
  388. package/build-module/html/preview.js.map +1 -0
  389. package/build-module/image/deprecated.js.map +1 -1
  390. package/build-module/image/edit.js +5 -56
  391. package/build-module/image/edit.js.map +1 -1
  392. package/build-module/image/edit.native.js +59 -6
  393. package/build-module/image/edit.native.js.map +1 -1
  394. package/build-module/image/image.js +6 -15
  395. package/build-module/image/image.js.map +1 -1
  396. package/build-module/image/index.js +5 -0
  397. package/build-module/image/index.js.map +1 -1
  398. package/build-module/image/save.js +2 -1
  399. package/build-module/image/save.js.map +1 -1
  400. package/build-module/image/transforms.js.map +1 -1
  401. package/build-module/image/utils.js +2 -2
  402. package/build-module/image/utils.js.map +1 -1
  403. package/build-module/index.js +1 -1
  404. package/build-module/index.js.map +1 -1
  405. package/build-module/latest-comments/edit.js.map +1 -1
  406. package/build-module/latest-posts/edit.js +2 -2
  407. package/build-module/latest-posts/edit.js.map +1 -1
  408. package/build-module/latest-posts/edit.native.js.map +1 -1
  409. package/build-module/list/index.js.map +1 -1
  410. package/build-module/list/v2/edit.js.map +1 -1
  411. package/build-module/list/v2/transforms.js +32 -17
  412. package/build-module/list/v2/transforms.js.map +1 -1
  413. package/build-module/list-item/hooks/use-backspace.js.map +1 -1
  414. package/build-module/list-item/hooks/use-enter.js +7 -4
  415. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  416. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  417. package/build-module/list-item/hooks/use-outdent-list-item.js +34 -15
  418. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  419. package/build-module/list-item/hooks/use-space.js.map +1 -1
  420. package/build-module/list-item/hooks/use-split.js +19 -5
  421. package/build-module/list-item/hooks/use-split.js.map +1 -1
  422. package/build-module/media-text/deprecated.js +3 -1
  423. package/build-module/media-text/deprecated.js.map +1 -1
  424. package/build-module/media-text/edit.native.js.map +1 -1
  425. package/build-module/media-text/media-container.js +3 -1
  426. package/build-module/media-text/media-container.js.map +1 -1
  427. package/build-module/media-text/media-container.native.js.map +1 -1
  428. package/build-module/media-text/save.js +4 -1
  429. package/build-module/media-text/save.js.map +1 -1
  430. package/build-module/missing/edit.native.js.map +1 -1
  431. package/build-module/navigation/deprecated.js.map +1 -1
  432. package/build-module/navigation/edit/index.js +1 -1
  433. package/build-module/navigation/edit/index.js.map +1 -1
  434. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  435. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  436. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  437. package/build-module/navigation/index.js +9 -0
  438. package/build-module/navigation/index.js.map +1 -1
  439. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  440. package/build-module/navigation/use-navigation-menu.js +73 -39
  441. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  442. package/build-module/navigation/use-template-part-area-label.js +4 -1
  443. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  444. package/build-module/navigation/view.js +5 -3
  445. package/build-module/navigation/view.js.map +1 -1
  446. package/build-module/navigation-link/edit.js +44 -13
  447. package/build-module/navigation-link/edit.js.map +1 -1
  448. package/build-module/navigation-submenu/edit.js.map +1 -1
  449. package/build-module/navigation-submenu/view.js +5 -3
  450. package/build-module/navigation-submenu/view.js.map +1 -1
  451. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  452. package/build-module/page-list/edit.js.map +1 -1
  453. package/build-module/paragraph/deprecated.js +2 -2
  454. package/build-module/paragraph/deprecated.js.map +1 -1
  455. package/build-module/pattern/edit.js.map +1 -1
  456. package/build-module/post-author/edit.js.map +1 -1
  457. package/build-module/post-author-name/index.js +2 -0
  458. package/build-module/post-author-name/index.js.map +1 -1
  459. package/build-module/post-author-name/transforms.js +32 -0
  460. package/build-module/post-author-name/transforms.js.map +1 -0
  461. package/build-module/post-comments-form/edit.js +12 -3
  462. package/build-module/post-comments-form/edit.js.map +1 -1
  463. package/build-module/post-comments-form/form.js +7 -1
  464. package/build-module/post-comments-form/form.js.map +1 -1
  465. package/build-module/post-content/edit.js.map +1 -1
  466. package/build-module/post-date/edit.js +15 -9
  467. package/build-module/post-date/edit.js.map +1 -1
  468. package/build-module/post-featured-image/edit.js +10 -23
  469. package/build-module/post-featured-image/edit.js.map +1 -1
  470. package/build-module/post-navigation-link/index.js +4 -0
  471. package/build-module/post-navigation-link/index.js.map +1 -1
  472. package/build-module/pullquote/deprecated.js.map +1 -1
  473. package/build-module/query/edit/index.js +5 -1
  474. package/build-module/query/edit/index.js.map +1 -1
  475. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  476. package/build-module/query/edit/query-toolbar.js +14 -2
  477. package/build-module/query/edit/query-toolbar.js.map +1 -1
  478. package/build-module/quote/v2/edit.js.map +1 -1
  479. package/build-module/search/edit.js +2 -2
  480. package/build-module/search/edit.js.map +1 -1
  481. package/build-module/search/edit.native.js.map +1 -1
  482. package/build-module/search/index.js +4 -0
  483. package/build-module/search/index.js.map +1 -1
  484. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  485. package/build-module/shortcode/edit.native.js +17 -13
  486. package/build-module/shortcode/edit.native.js.map +1 -1
  487. package/build-module/site-logo/edit.js +3 -11
  488. package/build-module/site-logo/edit.js.map +1 -1
  489. package/build-module/social-links/deprecated.js.map +1 -1
  490. package/build-module/social-links/edit.js +2 -2
  491. package/build-module/social-links/edit.js.map +1 -1
  492. package/build-module/social-links/edit.native.js.map +1 -1
  493. package/build-module/spacer/controls.js.map +1 -1
  494. package/build-module/table/deprecated.js.map +1 -1
  495. package/build-module/table/edit.js +2 -1
  496. package/build-module/table/edit.js.map +1 -1
  497. package/build-module/table/index.js +6 -1
  498. package/build-module/table/index.js.map +1 -1
  499. package/build-module/table/save.js +3 -2
  500. package/build-module/table/save.js.map +1 -1
  501. package/build-module/table/state.js.map +1 -1
  502. package/build-module/table-of-contents/edit.js +12 -4
  503. package/build-module/table-of-contents/edit.js.map +1 -1
  504. package/build-module/tag-cloud/edit.js.map +1 -1
  505. package/build-module/template-part/edit/advanced-controls.js +4 -1
  506. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  507. package/build-module/template-part/edit/index.js.map +1 -1
  508. package/build-module/template-part/edit/utils/hooks.js +4 -1
  509. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  510. package/build-module/transformationCategories.native.js.map +1 -1
  511. package/build-module/video/edit-common-settings.js.map +1 -1
  512. package/build-module/video/edit.js +2 -1
  513. package/build-module/video/edit.js.map +1 -1
  514. package/build-module/video/edit.native.js +42 -1
  515. package/build-module/video/edit.native.js.map +1 -1
  516. package/build-module/video/index.js +6 -1
  517. package/build-module/video/index.js.map +1 -1
  518. package/build-module/video/save.js +2 -1
  519. package/build-module/video/save.js.map +1 -1
  520. package/build-style/audio/style-rtl.css +0 -3
  521. package/build-style/audio/style.css +0 -3
  522. package/build-style/button/style-rtl.css +5 -5
  523. package/build-style/button/style.css +5 -5
  524. package/build-style/common-rtl.css +1 -3
  525. package/build-style/common.css +1 -3
  526. package/build-style/cover/editor-rtl.css +11 -0
  527. package/build-style/cover/editor.css +11 -0
  528. package/build-style/cover/style-rtl.css +33 -25
  529. package/build-style/cover/style.css +33 -25
  530. package/build-style/editor-rtl.css +14 -39
  531. package/build-style/editor.css +14 -39
  532. package/build-style/embed/style-rtl.css +0 -1
  533. package/build-style/embed/style.css +0 -1
  534. package/build-style/file/style-rtl.css +11 -12
  535. package/build-style/file/style.css +11 -12
  536. package/build-style/gallery/style-rtl.css +2 -4
  537. package/build-style/gallery/style.css +2 -4
  538. package/build-style/image/style-rtl.css +0 -3
  539. package/build-style/image/style.css +0 -3
  540. package/build-style/navigation/style-rtl.css +9 -1
  541. package/build-style/navigation/style.css +9 -1
  542. package/build-style/post-comments/style-rtl.css +2 -1
  543. package/build-style/post-comments/style.css +2 -1
  544. package/build-style/post-comments-form/editor-rtl.css +3 -0
  545. package/build-style/post-comments-form/editor.css +3 -0
  546. package/build-style/post-featured-image/editor-rtl.css +0 -27
  547. package/build-style/post-featured-image/editor.css +0 -27
  548. package/build-style/post-template/style-rtl.css +9 -18
  549. package/build-style/post-template/style.css +9 -18
  550. package/build-style/search/style-rtl.css +9 -11
  551. package/build-style/search/style.css +9 -11
  552. package/build-style/site-logo/editor-rtl.css +0 -12
  553. package/build-style/site-logo/editor.css +0 -12
  554. package/build-style/site-logo/style-rtl.css +4 -0
  555. package/build-style/site-logo/style.css +4 -0
  556. package/build-style/style-rtl.css +86 -93
  557. package/build-style/style.css +86 -93
  558. package/build-style/table/style-rtl.css +0 -1
  559. package/build-style/table/style.css +0 -1
  560. package/build-style/video/style-rtl.css +1 -5
  561. package/build-style/video/style.css +1 -5
  562. package/package.json +30 -29
  563. package/src/audio/block.json +6 -1
  564. package/src/audio/edit.js +4 -0
  565. package/src/audio/index.js +1 -2
  566. package/src/audio/save.js +12 -2
  567. package/src/audio/style.scss +0 -2
  568. package/src/avatar/hooks.js +2 -2
  569. package/src/block/edit.js +4 -6
  570. package/src/block/edit.native.js +12 -16
  571. package/src/block/test/edit.native.js +5 -8
  572. package/src/button/deprecated.js +145 -36
  573. package/src/button/edit.js +7 -11
  574. package/src/button/edit.native.js +2 -3
  575. package/src/button/save.js +5 -11
  576. package/src/button/style.scss +10 -5
  577. package/src/buttons/deprecated.js +4 -6
  578. package/src/buttons/edit.js +3 -3
  579. package/src/buttons/edit.native.js +7 -11
  580. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  581. package/src/buttons/test/edit.native.js +1 -1
  582. package/src/column/deprecated.js +2 -1
  583. package/src/column/edit.js +2 -3
  584. package/src/column/edit.native.js +2 -2
  585. package/src/columns/block.json +3 -1
  586. package/src/columns/deprecated.js +4 -2
  587. package/src/columns/edit.js +6 -7
  588. package/src/columns/edit.native.js +12 -16
  589. package/src/columns/index.js +1 -2
  590. package/src/columns/utils.js +5 -3
  591. package/src/columns/variations.js +2 -2
  592. package/src/comment-author-name/block.json +0 -4
  593. package/src/comment-author-name/edit.js +3 -12
  594. package/src/comment-date/block.json +0 -4
  595. package/src/comment-date/edit.js +10 -14
  596. package/src/comment-date/index.php +0 -3
  597. package/src/comment-edit-link/block.json +0 -4
  598. package/src/comment-reply-link/block.json +0 -4
  599. package/src/comments/edit.js +24 -4
  600. package/src/comments-title/deprecated.js +0 -2
  601. package/src/comments-title/edit.js +1 -1
  602. package/src/comments-title/index.php +1 -1
  603. package/src/cover/block.json +1 -0
  604. package/src/cover/controls.native.js +2 -4
  605. package/src/cover/deprecated.js +237 -195
  606. package/src/cover/edit/block-controls.js +11 -20
  607. package/src/cover/edit/index.js +81 -66
  608. package/src/cover/edit/inspector-controls.js +38 -7
  609. package/src/cover/edit.native.js +8 -13
  610. package/src/cover/editor.scss +13 -0
  611. package/src/cover/index.php +21 -8
  612. package/src/cover/save.js +28 -16
  613. package/src/cover/shared.js +5 -7
  614. package/src/cover/style.scss +27 -22
  615. package/src/cover/test/edit.native.js +4 -7
  616. package/src/cover/transforms.js +2 -7
  617. package/src/embed/block.json +6 -1
  618. package/src/embed/edit.js +38 -40
  619. package/src/embed/edit.native.js +46 -49
  620. package/src/embed/embed-controls.native.js +2 -3
  621. package/src/embed/embed-preview.js +8 -1
  622. package/src/embed/icons.js +25 -0
  623. package/src/embed/save.js +10 -2
  624. package/src/embed/style.scss +0 -1
  625. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  626. package/src/embed/test/index.native.js +24 -50
  627. package/src/embed/variations.js +10 -0
  628. package/src/file/edit.js +9 -5
  629. package/src/file/edit.native.js +14 -25
  630. package/src/file/index.js +1 -2
  631. package/src/file/save.js +14 -2
  632. package/src/file/style.scss +16 -15
  633. package/src/freeform/editor.scss +0 -2
  634. package/src/gallery/block.json +1 -1
  635. package/src/gallery/edit.js +8 -6
  636. package/src/gallery/gallery.js +9 -2
  637. package/src/gallery/gallery.native.js +2 -4
  638. package/src/gallery/gap-styles.js +21 -6
  639. package/src/gallery/index.js +2 -4
  640. package/src/gallery/index.php +27 -12
  641. package/src/gallery/save.js +5 -1
  642. package/src/gallery/shared.js +22 -9
  643. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  644. package/src/gallery/test/helpers.native.js +11 -198
  645. package/src/gallery/test/index.native.js +37 -63
  646. package/src/gallery/transforms.js +3 -3
  647. package/src/gallery/v1/edit.js +18 -24
  648. package/src/gallery/v1/gallery-image.js +10 -11
  649. package/src/gallery/v1/gallery-image.native.js +8 -17
  650. package/src/gallery/v1/gallery.js +8 -2
  651. package/src/gallery/v1/save.js +20 -3
  652. package/src/group/block.json +1 -0
  653. package/src/heading/autogenerate-anchors.js +8 -5
  654. package/src/heading/deprecated.js +6 -21
  655. package/src/heading/edit.js +2 -3
  656. package/src/html/edit.js +10 -40
  657. package/src/html/preview.js +46 -0
  658. package/src/image/block.json +5 -0
  659. package/src/image/deprecated.js +6 -29
  660. package/src/image/edit.js +1 -53
  661. package/src/image/edit.native.js +75 -24
  662. package/src/image/image.js +35 -49
  663. package/src/image/save.js +10 -2
  664. package/src/image/style.scss +0 -2
  665. package/src/image/styles.native.scss +11 -0
  666. package/src/image/test/edit.native.js +51 -19
  667. package/src/image/transforms.js +4 -3
  668. package/src/image/utils.js +2 -2
  669. package/src/index.js +1 -1
  670. package/src/latest-comments/edit.js +2 -6
  671. package/src/latest-posts/edit.js +6 -7
  672. package/src/latest-posts/edit.native.js +10 -15
  673. package/src/list/index.js +1 -2
  674. package/src/list/test/migrate.js +1 -2
  675. package/src/list/v2/edit.js +6 -9
  676. package/src/list/v2/transforms.js +22 -7
  677. package/src/list-item/hooks/use-backspace.js +2 -3
  678. package/src/list-item/hooks/use-enter.js +11 -9
  679. package/src/list-item/hooks/use-indent-list-item.js +2 -3
  680. package/src/list-item/hooks/use-outdent-list-item.js +50 -24
  681. package/src/list-item/hooks/use-space.js +2 -3
  682. package/src/list-item/hooks/use-split.js +18 -9
  683. package/src/media-text/deprecated.js +6 -3
  684. package/src/media-text/edit.native.js +2 -5
  685. package/src/media-text/media-container.js +1 -1
  686. package/src/media-text/media-container.native.js +6 -9
  687. package/src/media-text/save.js +2 -1
  688. package/src/missing/edit.native.js +2 -3
  689. package/src/missing/test/edit-integration.native.js +2 -3
  690. package/src/missing/test/edit.native.js +6 -9
  691. package/src/navigation/block.json +9 -0
  692. package/src/navigation/deprecated.js +2 -5
  693. package/src/navigation/edit/index.js +25 -36
  694. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  695. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  696. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  697. package/src/navigation/style.scss +10 -1
  698. package/src/navigation/test/use-navigation-menu.js +241 -0
  699. package/src/navigation/use-navigation-entities.js +11 -13
  700. package/src/navigation/use-navigation-menu.js +95 -82
  701. package/src/navigation/use-template-part-area-label.js +8 -7
  702. package/src/navigation/view.js +7 -2
  703. package/src/navigation-link/edit.js +59 -25
  704. package/src/navigation-link/test/edit.js +2 -24
  705. package/src/navigation-submenu/edit.js +10 -20
  706. package/src/navigation-submenu/view.js +7 -2
  707. package/src/page-list/convert-to-links-modal.js +51 -54
  708. package/src/page-list/edit.js +6 -6
  709. package/src/page-list/test/convert-to-links-modal.js +6 -12
  710. package/src/paragraph/deprecated.js +2 -2
  711. package/src/pattern/edit.js +2 -4
  712. package/src/post-author/edit.js +2 -3
  713. package/src/post-author/index.php +3 -2
  714. package/src/post-author-name/index.js +2 -0
  715. package/src/post-author-name/index.php +1 -1
  716. package/src/post-author-name/transforms.js +25 -0
  717. package/src/post-comments/index.php +1 -1
  718. package/src/post-comments/style.scss +7 -3
  719. package/src/post-comments-form/edit.js +20 -3
  720. package/src/post-comments-form/editor.scss +4 -0
  721. package/src/post-comments-form/form.js +11 -1
  722. package/src/post-comments-form/index.php +1 -1
  723. package/src/post-content/edit.js +2 -3
  724. package/src/post-date/edit.js +4 -3
  725. package/src/post-featured-image/edit.js +14 -30
  726. package/src/post-featured-image/editor.scss +0 -29
  727. package/src/post-featured-image/index.php +4 -2
  728. package/src/post-navigation-link/block.json +4 -0
  729. package/src/post-template/index.php +15 -3
  730. package/src/post-template/style.scss +1 -7
  731. package/src/pullquote/deprecated.js +2 -1
  732. package/src/query/edit/index.js +10 -10
  733. package/src/query/edit/inspector-controls/parent-control.js +2 -3
  734. package/src/query/edit/query-toolbar.js +25 -5
  735. package/src/query-pagination/index.php +0 -1
  736. package/src/quote/v2/edit.js +4 -6
  737. package/src/quote/v2/test/migrate.js +1 -2
  738. package/src/search/block.json +4 -0
  739. package/src/search/edit.js +9 -13
  740. package/src/search/edit.native.js +4 -6
  741. package/src/search/index.php +38 -23
  742. package/src/search/style.scss +11 -9
  743. package/src/separator/use-deprecated-opacity.js +2 -4
  744. package/src/shortcode/edit.native.js +30 -15
  745. package/src/shortcode/style.native.scss +11 -4
  746. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  747. package/src/shortcode/test/edit.native.js +55 -40
  748. package/src/site-logo/edit.js +3 -17
  749. package/src/site-logo/editor.scss +0 -14
  750. package/src/site-logo/style.scss +6 -0
  751. package/src/social-links/deprecated.js +4 -2
  752. package/src/social-links/edit.js +11 -10
  753. package/src/social-links/edit.native.js +3 -5
  754. package/src/spacer/controls.js +2 -3
  755. package/src/spacer/test/index.native.js +10 -21
  756. package/src/table/block.json +6 -1
  757. package/src/table/deprecated.js +4 -8
  758. package/src/table/edit.js +2 -0
  759. package/src/table/save.js +6 -1
  760. package/src/table/state.js +2 -4
  761. package/src/table/style.scss +0 -1
  762. package/src/table-of-contents/edit.js +22 -13
  763. package/src/tag-cloud/edit.js +4 -7
  764. package/src/template-part/edit/advanced-controls.js +4 -4
  765. package/src/template-part/edit/index.js +6 -10
  766. package/src/template-part/edit/utils/hooks.js +8 -7
  767. package/src/transformationCategories.native.js +3 -3
  768. package/src/video/block.json +6 -1
  769. package/src/video/edit-common-settings.js +2 -8
  770. package/src/video/edit.js +4 -0
  771. package/src/video/edit.native.js +38 -16
  772. package/src/video/index.js +1 -2
  773. package/src/video/save.js +10 -2
  774. package/src/video/style.scss +0 -2
@@ -1,9 +1,15 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { first, last } from 'lodash';
1
5
  /**
2
6
  * WordPress dependencies
3
7
  */
8
+
4
9
  import { useCallback } from '@wordpress/element';
5
10
  import { useSelect, useDispatch } from '@wordpress/data';
6
11
  import { store as blockEditorStore } from '@wordpress/block-editor';
12
+ import { cloneBlock } from '@wordpress/blocks';
7
13
  /**
8
14
  * Internal dependencies
9
15
  */
@@ -23,7 +29,8 @@ export default function useOutdentListItem(clientId) {
23
29
  }, [clientId]);
24
30
  const {
25
31
  replaceBlocks,
26
- selectionChange
32
+ selectionChange,
33
+ multiSelect
27
34
  } = useDispatch(blockEditorStore);
28
35
  const {
29
36
  getBlockRootClientId,
@@ -31,36 +38,48 @@ export default function useOutdentListItem(clientId) {
31
38
  getBlock,
32
39
  getBlockIndex,
33
40
  getSelectionStart,
34
- getSelectionEnd
41
+ getSelectionEnd,
42
+ hasMultiSelection,
43
+ getMultiSelectedBlockClientIds
35
44
  } = useSelect(blockEditorStore);
36
45
  return [canOutdent, useCallback(() => {
46
+ const _hasMultiSelection = hasMultiSelection();
47
+
48
+ const clientIds = _hasMultiSelection ? getMultiSelectedBlockClientIds() : [clientId];
37
49
  const selectionStart = getSelectionStart();
38
50
  const selectionEnd = getSelectionEnd();
39
51
  const listParentId = getBlockRootClientId(clientId);
40
52
  const listAttributes = getBlockAttributes(listParentId);
41
53
  const listItemParentId = getBlockRootClientId(listParentId);
42
54
  const listItemParentAttributes = getBlockAttributes(listItemParentId);
43
- const index = getBlockIndex(clientId);
55
+ const firstIndex = getBlockIndex(first(clientIds));
56
+ const lastIndex = getBlockIndex(last(clientIds));
44
57
  const siblingBlocks = getBlock(listParentId).innerBlocks;
45
- const previousSiblings = siblingBlocks.slice(0, index);
46
- const afterSiblings = siblingBlocks.slice(index + 1); // Create a new parent list item block with just the siblings
47
- // that existed before the child item being outdent.
58
+ const previousSiblings = siblingBlocks.slice(0, firstIndex);
59
+ const afterSiblings = siblingBlocks.slice(lastIndex + 1); // Create a new parent list item block with just the siblings
60
+ // that existed before the first child item being outdent.
48
61
 
49
62
  const newListItemParent = createListItem(listItemParentAttributes, listAttributes, previousSiblings);
50
- const block = getBlock(clientId);
51
- const childList = block.innerBlocks[0];
63
+ const lastBlock = getBlock(last(clientIds));
64
+ const childList = lastBlock.innerBlocks[0];
52
65
  const childItems = (childList === null || childList === void 0 ? void 0 : childList.innerBlocks) || [];
53
- const hasChildItems = !!childItems.length; // Create a new list item block whose attributes are equal to the
54
- // block being outdent and whose children are the children that it had (if any)
66
+ const hasChildItems = !!childItems.length;
67
+ const newBlocksExcludingLast = clientIds.slice(0, -1).map(_clientId => cloneBlock(getBlock(_clientId))); // Create a new list item block whose attributes are equal to the
68
+ // last block being outdent and whose children are the children that it had (if any)
55
69
  // followed by the siblings that existed after it.
56
70
 
57
- const newItem = createListItem(block.attributes, hasChildItems ? childList.attributes : listAttributes, [...childItems, ...afterSiblings]); // Replace the parent list item block, with a new block containing
58
- // the previous siblings, followed by another block containing after siblings
59
- // in relation to the block being outdent.
71
+ const newLastItem = createListItem(lastBlock.attributes, hasChildItems ? childList.attributes : listAttributes, [...childItems, ...afterSiblings]); // Replace the parent list item block, with a new block containing
72
+ // the previous siblings before the first block being outdent,
73
+ // followed by the blocks being outdent with the after siblings added
74
+ // as children of the last block.
60
75
 
61
- replaceBlocks([listItemParentId], [newListItemParent, newItem]); // Restore the selection state.
76
+ replaceBlocks([listItemParentId], [newListItemParent, ...newBlocksExcludingLast, newLastItem]); // Restore the selection state.
62
77
 
63
- selectionChange(newItem.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
78
+ if (!_hasMultiSelection) {
79
+ selectionChange(newLastItem.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
80
+ } else {
81
+ multiSelect(first(newBlocksExcludingLast).clientId, newLastItem.clientId);
82
+ }
64
83
  }, [clientId])];
65
84
  }
66
85
  //# 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":["useCallback","useSelect","useDispatch","store","blockEditorStore","createListItem","useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","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":"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","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 = getBlockAttributes(\n\t\t\t\tlistItemParentId\n\t\t\t);\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":["first","last","useCallback","useSelect","useDispatch","store","blockEditorStore","cloneBlock","createListItem","useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","grandParentId","replaceBlocks","selectionChange","multiSelect","getBlockAttributes","getBlock","getBlockIndex","getSelectionStart","getSelectionEnd","hasMultiSelection","getMultiSelectedBlockClientIds","_hasMultiSelection","clientIds","selectionStart","selectionEnd","listParentId","listAttributes","listItemParentId","listItemParentAttributes","firstIndex","lastIndex","siblingBlocks","innerBlocks","previousSiblings","slice","afterSiblings","newListItemParent","lastBlock","childList","childItems","hasChildItems","length","newBlocksExcludingLast","map","_clientId","newLastItem","attributes","attributeKey","offset"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\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, multiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\thasMultiSelection,\n\t\tgetMultiSelectedBlockClientIds,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst _hasMultiSelection = hasMultiSelection();\n\t\t\tconst clientIds = _hasMultiSelection\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ clientId ];\n\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 firstIndex = getBlockIndex( first( clientIds ) );\n\t\t\tconst lastIndex = getBlockIndex( last( clientIds ) );\n\t\t\tconst siblingBlocks = getBlock( listParentId ).innerBlocks;\n\t\t\tconst previousSiblings = siblingBlocks.slice( 0, firstIndex );\n\t\t\tconst afterSiblings = siblingBlocks.slice( lastIndex + 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 first 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 lastBlock = getBlock( last( clientIds ) );\n\t\t\tconst childList = lastBlock.innerBlocks[ 0 ];\n\t\t\tconst childItems = childList?.innerBlocks || [];\n\t\t\tconst hasChildItems = !! childItems.length;\n\n\t\t\tconst newBlocksExcludingLast = clientIds\n\t\t\t\t.slice( 0, -1 )\n\t\t\t\t.map( ( _clientId ) => cloneBlock( getBlock( _clientId ) ) );\n\n\t\t\t// Create a new list item block whose attributes are equal to the\n\t\t\t// last 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 newLastItem = createListItem(\n\t\t\t\tlastBlock.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 before the first block being outdent,\n\t\t\t// followed by the blocks being outdent with the after siblings added\n\t\t\t// as children of the last block.\n\t\t\treplaceBlocks(\n\t\t\t\t[ listItemParentId ],\n\t\t\t\t[ newListItemParent, ...newBlocksExcludingLast, newLastItem ]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tif ( ! _hasMultiSelection ) {\n\t\t\t\tselectionChange(\n\t\t\t\t\tnewLastItem.clientId,\n\t\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\t\tselectionEnd.offset\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmultiSelect(\n\t\t\t\t\tfirst( newBlocksExcludingLast ).clientId,\n\t\t\t\t\tnewLastItem.clientId\n\t\t\t\t);\n\t\t\t}\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"names":["useRefEffect","SPACE","store","blockEditorStore","useSelect","useIndentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","canIndent","indentListItem","element","onKeyDown","event","defaultPrevented","keyCode","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,oBAA7B;AACA,SAASC,KAAT,QAAsB,qBAAtB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEA,eAAe,SAASC,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAyCL,SAAS,CACvDD,gBADuD,CAAxD;AAGA,QAAM,CAAEO,SAAF,EAAaC,cAAb,IAAgCN,iBAAiB,CAAEE,QAAF,CAAvD;AAEA,SAAOP,YAAY,CAChBY,OAAF,IAAe;AACd,aAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,UACCA,KAAK,CAACC,gBAAN,IACAD,KAAK,CAACE,OAAN,KAAkBf,KADlB,IAEA,CAAES,SAHH,EAIE;AACD;AACA;;AACD,YAAMO,cAAc,GAAGT,iBAAiB,EAAxC;AACA,YAAMU,YAAY,GAAGT,eAAe,EAApC;;AACA,UACCQ,cAAc,CAACE,MAAf,KAA0B,CAA1B,IACAD,YAAY,CAACC,MAAb,KAAwB,CAFzB,EAGE;AACDL,QAAAA,KAAK,CAACM,cAAN;AACAT,QAAAA,cAAc;AACd;AACD;;AAEDC,IAAAA,OAAO,CAACS,gBAAR,CAA0B,SAA1B,EAAqCR,SAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACU,mBAAR,CAA6B,SAA7B,EAAwCT,SAAxC;AACA,KAFD;AAGA,GAzBiB,EA0BlB,CAAEH,SAAF,EAAaC,cAAb,CA1BkB,CAAnB;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { SPACE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useIndentListItem from './use-indent-list-item';\n\nexport default function useSpace( clientId ) {\n\tconst { getSelectionStart, getSelectionEnd } = useSelect(\n\t\tblockEditorStore\n\t);\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tevent.keyCode !== SPACE ||\n\t\t\t\t\t! canIndent\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\tconst selectionEnd = getSelectionEnd();\n\t\t\t\tif (\n\t\t\t\t\tselectionStart.offset === 0 &&\n\t\t\t\t\tselectionEnd.offset === 0\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindentListItem();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ canIndent, indentListItem ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"names":["useRefEffect","SPACE","store","blockEditorStore","useSelect","useIndentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","canIndent","indentListItem","element","onKeyDown","event","defaultPrevented","keyCode","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,oBAA7B;AACA,SAASC,KAAT,QAAsB,qBAAtB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AAEA,eAAe,SAASC,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MACLL,SAAS,CAAED,gBAAF,CADV;AAEA,QAAM,CAAEO,SAAF,EAAaC,cAAb,IAAgCN,iBAAiB,CAAEE,QAAF,CAAvD;AAEA,SAAOP,YAAY,CAChBY,OAAF,IAAe;AACd,aAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,UACCA,KAAK,CAACC,gBAAN,IACAD,KAAK,CAACE,OAAN,KAAkBf,KADlB,IAEA,CAAES,SAHH,EAIE;AACD;AACA;;AACD,YAAMO,cAAc,GAAGT,iBAAiB,EAAxC;AACA,YAAMU,YAAY,GAAGT,eAAe,EAApC;;AACA,UACCQ,cAAc,CAACE,MAAf,KAA0B,CAA1B,IACAD,YAAY,CAACC,MAAb,KAAwB,CAFzB,EAGE;AACDL,QAAAA,KAAK,CAACM,cAAN;AACAT,QAAAA,cAAc;AACd;AACD;;AAEDC,IAAAA,OAAO,CAACS,gBAAR,CAA0B,SAA1B,EAAqCR,SAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACU,mBAAR,CAA6B,SAA7B,EAAwCT,SAAxC;AACA,KAFD;AAGA,GAzBiB,EA0BlB,CAAEH,SAAF,EAAaC,cAAb,CA1BkB,CAAnB;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { SPACE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useIndentListItem from './use-indent-list-item';\n\nexport default function useSpace( clientId ) {\n\tconst { getSelectionStart, getSelectionEnd } =\n\t\tuseSelect( blockEditorStore );\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tevent.keyCode !== SPACE ||\n\t\t\t\t\t! canIndent\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\tconst selectionEnd = getSelectionEnd();\n\t\t\t\tif (\n\t\t\t\t\tselectionStart.offset === 0 &&\n\t\t\t\t\tselectionEnd.offset === 0\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindentListItem();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ canIndent, indentListItem ]\n\t);\n}\n"]}
@@ -1,19 +1,33 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCallback } from '@wordpress/element';
4
+ import { useCallback, useRef } from '@wordpress/element';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  import { store as blockEditorStore } from '@wordpress/block-editor';
7
- import { cloneBlock } from '@wordpress/blocks';
7
+ import { cloneBlock, createBlock } from '@wordpress/blocks';
8
8
  export default function useSplit(clientId) {
9
+ // We can not rely on the isAfterOriginal parameter of the callback,
10
+ // because if the value after the split is empty isAfterOriginal is false
11
+ // while the value is in fact after the original. So to avoid that issue we use
12
+ // a flag where the first execution of the callback is false (it is the before value)
13
+ // and the second execution is true, it is the after value.
14
+ const isAfter = useRef(false);
9
15
  const {
10
16
  getBlock
11
17
  } = useSelect(blockEditorStore);
12
- return useCallback((value, isAfterOriginal) => {
18
+ return useCallback(value => {
13
19
  const block = getBlock(clientId);
14
- return cloneBlock(block, {
20
+
21
+ if (isAfter.current) {
22
+ return cloneBlock(block, {
23
+ content: value
24
+ });
25
+ }
26
+
27
+ isAfter.current = true;
28
+ return createBlock(block.name, { ...block.attributes,
15
29
  content: value
16
- }, isAfterOriginal ? [] : block.innerBlocks);
30
+ });
17
31
  }, [clientId, getBlock]);
18
32
  }
19
33
  //# sourceMappingURL=use-split.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-split.js"],"names":["useCallback","useSelect","store","blockEditorStore","cloneBlock","useSplit","clientId","getBlock","value","isAfterOriginal","block","content","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,oBAA5B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,UAAT,QAA2B,mBAA3B;AAEA,eAAe,SAASC,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C,QAAM;AAAEC,IAAAA;AAAF,MAAeN,SAAS,CAAEE,gBAAF,CAA9B;AACA,SAAOH,WAAW,CACjB,CAAEQ,KAAF,EAASC,eAAT,KAA8B;AAC7B,UAAMC,KAAK,GAAGH,QAAQ,CAAED,QAAF,CAAtB;AACA,WAAOF,UAAU,CAChBM,KADgB,EAEhB;AACCC,MAAAA,OAAO,EAAEH;AADV,KAFgB,EAKhBC,eAAe,GAAG,EAAH,GAAQC,KAAK,CAACE,WALb,CAAjB;AAOA,GAVgB,EAWjB,CAAEN,QAAF,EAAYC,QAAZ,CAXiB,CAAlB;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useSplit( clientId ) {\n\tconst { getBlock } = useSelect( blockEditorStore );\n\treturn useCallback(\n\t\t( value, isAfterOriginal ) => {\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn cloneBlock(\n\t\t\t\tblock,\n\t\t\t\t{\n\t\t\t\t\tcontent: value,\n\t\t\t\t},\n\t\t\t\tisAfterOriginal ? [] : block.innerBlocks\n\t\t\t);\n\t\t},\n\t\t[ clientId, getBlock ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-split.js"],"names":["useCallback","useRef","useSelect","store","blockEditorStore","cloneBlock","createBlock","useSplit","clientId","isAfter","getBlock","value","block","current","content","name","attributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,QAAoC,oBAApC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,UAAT,EAAqBC,WAArB,QAAwC,mBAAxC;AAEA,eAAe,SAASC,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA,QAAMC,OAAO,GAAGR,MAAM,CAAE,KAAF,CAAtB;AACA,QAAM;AAAES,IAAAA;AAAF,MAAeR,SAAS,CAAEE,gBAAF,CAA9B;AACA,SAAOJ,WAAW,CACfW,KAAF,IAAa;AACZ,UAAMC,KAAK,GAAGF,QAAQ,CAAEF,QAAF,CAAtB;;AACA,QAAKC,OAAO,CAACI,OAAb,EAAuB;AACtB,aAAOR,UAAU,CAAEO,KAAF,EAAS;AACzBE,QAAAA,OAAO,EAAEH;AADgB,OAAT,CAAjB;AAGA;;AACDF,IAAAA,OAAO,CAACI,OAAR,GAAkB,IAAlB;AACA,WAAOP,WAAW,CAAEM,KAAK,CAACG,IAAR,EAAc,EAC/B,GAAGH,KAAK,CAACI,UADsB;AAE/BF,MAAAA,OAAO,EAAEH;AAFsB,KAAd,CAAlB;AAIA,GAbgB,EAcjB,CAAEH,QAAF,EAAYE,QAAZ,CAdiB,CAAlB;AAgBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock, createBlock } from '@wordpress/blocks';\n\nexport default function useSplit( clientId ) {\n\t// We can not rely on the isAfterOriginal parameter of the callback,\n\t// because if the value after the split is empty isAfterOriginal is false\n\t// while the value is in fact after the original. So to avoid that issue we use\n\t// a flag where the first execution of the callback is false (it is the before value)\n\t// and the second execution is true, it is the after value.\n\tconst isAfter = useRef( false );\n\tconst { getBlock } = useSelect( blockEditorStore );\n\treturn useCallback(\n\t\t( value ) => {\n\t\t\tconst block = getBlock( clientId );\n\t\t\tif ( isAfter.current ) {\n\t\t\t\treturn cloneBlock( block, {\n\t\t\t\t\tcontent: value,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tisAfter.current = true;\n\t\t\treturn createBlock( block.name, {\n\t\t\t\t...block.attributes,\n\t\t\t\tcontent: value,\n\t\t\t} );\n\t\t},\n\t\t[ clientId, getBlock ]\n\t);\n}\n"]}
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import classnames from 'classnames';
7
- import { noop, isEmpty, omit } from 'lodash';
7
+ import { isEmpty, omit } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -17,6 +17,8 @@ import { InnerBlocks, getColorClassName } from '@wordpress/block-editor';
17
17
  import { imageFillStyles } from './media-container';
18
18
  const DEFAULT_MEDIA_WIDTH = 50;
19
19
 
20
+ const noop = () => {};
21
+
20
22
  const migrateCustomColors = attributes => {
21
23
  if (!attributes.customBackgroundColor) {
22
24
  return attributes;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["classnames","noop","isEmpty","omit","InnerBlocks","getColorClassName","imageFillStyles","DEFAULT_MEDIA_WIDTH","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 { noop, 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;\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 }` ]: verticalAlignment,\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 }` ]: verticalAlignment,\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":["classnames","isEmpty","omit","InnerBlocks","getColorClassName","imageFillStyles","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 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockParents,\n\t\t\tgetSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
@@ -5,7 +5,6 @@ import { createElement } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import classnames from 'classnames';
8
- import { noop } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
@@ -27,6 +26,9 @@ import icon from './media-container-icon';
27
26
  */
28
27
 
29
28
  const ALLOWED_MEDIA_TYPES = ['image', 'video'];
29
+
30
+ const noop = () => {};
31
+
30
32
  export function imageFillStyles(url, focalPoint) {
31
33
  return url ? {
32
34
  backgroundImage: `url(${url})`,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.js"],"names":["classnames","noop","ResizableBox","Spinner","withNotices","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","icon","ALLOWED_MEDIA_TYPES","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","x","y","ResizableBoxContainer","ref","isSelected","isStackedOnMobile","props","isMobile","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","PlaceholderContainer","className","noticeOperations","noticeUI","onUploadError","message","removeAllNotices","createErrorNotice","title","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","video"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner, withNotices } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport icon from './media-container-icon';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tnoticeOperations,\n\tnoticeUI,\n\tmediaUrl,\n\tonSelectMedia,\n} ) {\n\tconst onUploadError = ( message ) => {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: mediaPosition === 'left',\n\t\t\tleft: mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default withNotices( forwardRef( MediaContainer ) );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.js"],"names":["classnames","ResizableBox","Spinner","withNotices","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","x","y","ResizableBoxContainer","ref","isSelected","isStackedOnMobile","props","isMobile","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","PlaceholderContainer","className","noticeOperations","noticeUI","onUploadError","message","removeAllNotices","createErrorNotice","title","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","video"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner, withNotices } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport icon from './media-container-icon';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tnoticeOperations,\n\tnoticeUI,\n\tmediaUrl,\n\tonSelectMedia,\n} ) {\n\tconst onUploadError = ( message ) => {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: mediaPosition === 'left',\n\t\t\tleft: mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default withNotices( forwardRef( MediaContainer ) );\n"]}