@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -65,6 +65,7 @@ export default function useOutdentListItem() {
65
65
  removeBlock(parentListId, shouldSelectParent);
66
66
  }
67
67
  });
68
+ return true;
68
69
  }, []);
69
70
  }
70
71
  //# sourceMappingURL=use-outdent-list-item.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","registry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","clientId","shouldSelectParent"],"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useOutdentListItem() {\n\tconst registry = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn useCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\tif ( ! Array.isArray( clientIds ) ) {\n\t\t\tclientIds = [ clientIds ];\n\t\t}\n\n\t\tif ( ! clientIds.length ) return;\n\n\t\tconst firstClientId = clientIds[ 0 ];\n\n\t\t// Can't outdent if it's not a list item.\n\t\tif ( getBlockName( firstClientId ) !== 'core/list-item' ) return;\n\n\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t// Can't outdent if it's at the top level.\n\t\tif ( ! parentListItemId ) return;\n\n\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\tconst lastClientId = clientIds[ clientIds.length - 1 ];\n\t\tconst order = getBlockOrder( parentListId );\n\t\tconst followingListItems = order.slice(\n\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t);\n\n\t\tregistry.batch( () => {\n\t\t\tif ( followingListItems.length ) {\n\t\t\t\tlet nestedListId = getBlockOrder( firstClientId )[ 0 ];\n\n\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\tgetBlock( parentListId ),\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t[]\n\t\t\t\t\t);\n\t\t\t\t\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tfollowingListItems,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tnestedListId\n\t\t\t\t);\n\t\t\t}\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tclientIds,\n\t\t\t\tparentListId,\n\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t);\n\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\tconst shouldSelectParent = false;\n\t\t\t\tremoveBlock( parentListId, shouldSelectParent );\n\t\t\t}\n\t\t} );\n\t}, [] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","registry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","clientId","shouldSelectParent"],"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useOutdentListItem() {\n\tconst registry = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn useCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\tif ( ! Array.isArray( clientIds ) ) {\n\t\t\tclientIds = [ clientIds ];\n\t\t}\n\n\t\tif ( ! clientIds.length ) return;\n\n\t\tconst firstClientId = clientIds[ 0 ];\n\n\t\t// Can't outdent if it's not a list item.\n\t\tif ( getBlockName( firstClientId ) !== 'core/list-item' ) return;\n\n\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t// Can't outdent if it's at the top level.\n\t\tif ( ! parentListItemId ) return;\n\n\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\tconst lastClientId = clientIds[ clientIds.length - 1 ];\n\t\tconst order = getBlockOrder( parentListId );\n\t\tconst followingListItems = order.slice(\n\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t);\n\n\t\tregistry.batch( () => {\n\t\t\tif ( followingListItems.length ) {\n\t\t\t\tlet nestedListId = getBlockOrder( firstClientId )[ 0 ];\n\n\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\tgetBlock( parentListId ),\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t[]\n\t\t\t\t\t);\n\t\t\t\t\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tfollowingListItems,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tnestedListId\n\t\t\t\t);\n\t\t\t}\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tclientIds,\n\t\t\t\tparentListId,\n\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t);\n\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\tconst shouldSelectParent = false;\n\t\t\t\tremoveBlock( parentListId, shouldSelectParent );\n\t\t\t}\n\t\t} );\n\n\t\treturn true;\n\t}, [] );\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useRefEffect } from '@wordpress/compose';
5
- import { SPACE } from '@wordpress/keycodes';
5
+ import { SPACE, TAB } from '@wordpress/keycodes';
6
6
  import { store as blockEditorStore } from '@wordpress/block-editor';
7
7
  import { useSelect } from '@wordpress/data';
8
8
 
@@ -10,6 +10,7 @@ import { useSelect } from '@wordpress/data';
10
10
  * Internal dependencies
11
11
  */
12
12
  import useIndentListItem from './use-indent-list-item';
13
+ import useOutdentListItem from './use-outdent-list-item';
13
14
  export default function useSpace(clientId) {
14
15
  const {
15
16
  getSelectionStart,
@@ -17,6 +18,7 @@ export default function useSpace(clientId) {
17
18
  getBlockIndex
18
19
  } = useSelect(blockEditorStore);
19
20
  const indentListItem = useIndentListItem(clientId);
21
+ const outdentListItem = useOutdentListItem();
20
22
  return useRefEffect(element => {
21
23
  function onKeyDown(event) {
22
24
  const {
@@ -26,19 +28,26 @@ export default function useSpace(clientId) {
26
28
  metaKey,
27
29
  ctrlKey
28
30
  } = event;
29
- if (event.defaultPrevented || keyCode !== SPACE ||
31
+ if (event.defaultPrevented || keyCode !== SPACE && keyCode !== TAB ||
30
32
  // Only override when no modifiers are pressed.
31
- shiftKey || altKey || metaKey || ctrlKey) {
32
- return;
33
- }
34
- if (getBlockIndex(clientId) === 0) {
33
+ altKey || metaKey || ctrlKey) {
35
34
  return;
36
35
  }
37
36
  const selectionStart = getSelectionStart();
38
37
  const selectionEnd = getSelectionEnd();
39
38
  if (selectionStart.offset === 0 && selectionEnd.offset === 0) {
40
- event.preventDefault();
41
- indentListItem();
39
+ if (shiftKey) {
40
+ // Note that backspace behaviour in defined in onMerge.
41
+ if (keyCode === TAB) {
42
+ if (outdentListItem()) {
43
+ event.preventDefault();
44
+ }
45
+ }
46
+ } else if (getBlockIndex(clientId) !== 0) {
47
+ if (indentListItem()) {
48
+ event.preventDefault();
49
+ }
50
+ }
42
51
  }
43
52
  }
44
53
  element.addEventListener('keydown', onKeyDown);
@@ -1 +1 @@
1
- {"version":3,"names":["useRefEffect","SPACE","store","blockEditorStore","useSelect","useIndentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","getBlockIndex","indentListItem","element","onKeyDown","event","keyCode","shiftKey","altKey","metaKey","ctrlKey","defaultPrevented","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"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, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst indentListItem = useIndentListItem( clientId );\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tconst { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event;\n\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tkeyCode !== SPACE ||\n\t\t\t\t\t// Only override when no modifiers are pressed.\n\t\t\t\t\tshiftKey ||\n\t\t\t\t\taltKey ||\n\t\t\t\t\tmetaKey ||\n\t\t\t\t\tctrlKey\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockIndex( clientId ) === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\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[ clientId, indentListItem ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AAEtD,eAAe,SAASC,QAAQA,CAAEC,QAAQ,EAAG;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC,eAAe;IAAEC;EAAc,CAAC,GAC1DN,SAAS,CAAED,gBAAiB,CAAC;EAC9B,MAAMQ,cAAc,GAAGN,iBAAiB,CAAEE,QAAS,CAAC;EAEpD,OAAOP,YAAY,CAChBY,OAAO,IAAM;IACd,SAASC,SAASA,CAAEC,KAAK,EAAG;MAC3B,MAAM;QAAEC,OAAO;QAAEC,QAAQ;QAAEC,MAAM;QAAEC,OAAO;QAAEC;MAAQ,CAAC,GAAGL,KAAK;MAE7D,IACCA,KAAK,CAACM,gBAAgB,IACtBL,OAAO,KAAKd,KAAK;MACjB;MACAe,QAAQ,IACRC,MAAM,IACNC,OAAO,IACPC,OAAO,EACN;QACD;MACD;MAEA,IAAKT,aAAa,CAAEH,QAAS,CAAC,KAAK,CAAC,EAAG;QACtC;MACD;MAEA,MAAMc,cAAc,GAAGb,iBAAiB,CAAC,CAAC;MAC1C,MAAMc,YAAY,GAAGb,eAAe,CAAC,CAAC;MACtC,IACCY,cAAc,CAACE,MAAM,KAAK,CAAC,IAC3BD,YAAY,CAACC,MAAM,KAAK,CAAC,EACxB;QACDT,KAAK,CAACU,cAAc,CAAC,CAAC;QACtBb,cAAc,CAAC,CAAC;MACjB;IACD;IAEAC,OAAO,CAACa,gBAAgB,CAAE,SAAS,EAAEZ,SAAU,CAAC;IAChD,OAAO,MAAM;MACZD,OAAO,CAACc,mBAAmB,CAAE,SAAS,EAAEb,SAAU,CAAC;IACpD,CAAC;EACF,CAAC,EACD,CAAEN,QAAQ,EAAEI,cAAc,CAC3B,CAAC;AACF"}
1
+ {"version":3,"names":["useRefEffect","SPACE","TAB","store","blockEditorStore","useSelect","useIndentListItem","useOutdentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","getBlockIndex","indentListItem","outdentListItem","element","onKeyDown","event","keyCode","shiftKey","altKey","metaKey","ctrlKey","defaultPrevented","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { SPACE, TAB } 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';\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useSpace( clientId ) {\n\tconst { getSelectionStart, getSelectionEnd, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst indentListItem = useIndentListItem( clientId );\n\tconst outdentListItem = useOutdentListItem();\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tconst { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event;\n\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t( keyCode !== SPACE && keyCode !== TAB ) ||\n\t\t\t\t\t// Only override when no modifiers are pressed.\n\t\t\t\t\taltKey ||\n\t\t\t\t\tmetaKey ||\n\t\t\t\t\tctrlKey\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\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\tif ( shiftKey ) {\n\t\t\t\t\t\t// Note that backspace behaviour in defined in onMerge.\n\t\t\t\t\t\tif ( keyCode === TAB ) {\n\t\t\t\t\t\t\tif ( outdentListItem() ) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( getBlockIndex( clientId ) !== 0 ) {\n\t\t\t\t\t\tif ( indentListItem() ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\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[ clientId, indentListItem ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,KAAK,EAAEC,GAAG,QAAQ,qBAAqB;AAChD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,kBAAkB,MAAM,yBAAyB;AAExD,eAAe,SAASC,QAAQA,CAAEC,QAAQ,EAAG;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC,eAAe;IAAEC;EAAc,CAAC,GAC1DP,SAAS,CAAED,gBAAiB,CAAC;EAC9B,MAAMS,cAAc,GAAGP,iBAAiB,CAAEG,QAAS,CAAC;EACpD,MAAMK,eAAe,GAAGP,kBAAkB,CAAC,CAAC;EAE5C,OAAOP,YAAY,CAChBe,OAAO,IAAM;IACd,SAASC,SAASA,CAAEC,KAAK,EAAG;MAC3B,MAAM;QAAEC,OAAO;QAAEC,QAAQ;QAAEC,MAAM;QAAEC,OAAO;QAAEC;MAAQ,CAAC,GAAGL,KAAK;MAE7D,IACCA,KAAK,CAACM,gBAAgB,IACpBL,OAAO,KAAKjB,KAAK,IAAIiB,OAAO,KAAKhB,GAAK;MACxC;MACAkB,MAAM,IACNC,OAAO,IACPC,OAAO,EACN;QACD;MACD;MAEA,MAAME,cAAc,GAAGd,iBAAiB,CAAC,CAAC;MAC1C,MAAMe,YAAY,GAAGd,eAAe,CAAC,CAAC;MACtC,IACCa,cAAc,CAACE,MAAM,KAAK,CAAC,IAC3BD,YAAY,CAACC,MAAM,KAAK,CAAC,EACxB;QACD,IAAKP,QAAQ,EAAG;UACf;UACA,IAAKD,OAAO,KAAKhB,GAAG,EAAG;YACtB,IAAKY,eAAe,CAAC,CAAC,EAAG;cACxBG,KAAK,CAACU,cAAc,CAAC,CAAC;YACvB;UACD;QACD,CAAC,MAAM,IAAKf,aAAa,CAAEH,QAAS,CAAC,KAAK,CAAC,EAAG;UAC7C,IAAKI,cAAc,CAAC,CAAC,EAAG;YACvBI,KAAK,CAACU,cAAc,CAAC,CAAC;UACvB;QACD;MACD;IACD;IAEAZ,OAAO,CAACa,gBAAgB,CAAE,SAAS,EAAEZ,SAAU,CAAC;IAChD,OAAO,MAAM;MACZD,OAAO,CAACc,mBAAmB,CAAE,SAAS,EAAEb,SAAU,CAAC;IACpD,CAAC;EACF,CAAC,EACD,CAAEP,QAAQ,EAAEI,cAAc,CAC3B,CAAC;AACF"}
@@ -2,6 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { listItem as icon } from '@wordpress/icons';
5
+ import { privateApis } from '@wordpress/block-editor';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
@@ -60,6 +61,7 @@ const metadata = {
60
61
  import edit from './edit';
61
62
  import save from './save';
62
63
  import transforms from './transforms';
64
+ import { unlock } from '../lock-unlock';
63
65
  const {
64
66
  name
65
67
  } = metadata;
@@ -74,7 +76,8 @@ export const settings = {
74
76
  content: attributes.content + attributesToMerge.content
75
77
  };
76
78
  },
77
- transforms
79
+ transforms,
80
+ [unlock(privateApis).requiresWrapperOnCopy]: true
78
81
  };
79
82
  export const init = () => initBlock({
80
83
  name,
@@ -1 +1 @@
1
- {"version":3,"names":["listItem","icon","initBlock","metadata","$schema","apiVersion","name","title","category","parent","allowedBlocks","description","textdomain","attributes","placeholder","type","content","source","selector","__experimentalRole","supports","className","__experimentalSelector","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","edit","save","transforms","settings","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/list-item/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,kBAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,SAAA;IAAAC,sBAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAElC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmC,QAAQ,GAAG;EACvBxC,IAAI;EACJqC,IAAI;EACJC,IAAI;EACJG,KAAKA,CAAE7B,UAAU,EAAE8B,iBAAiB,EAAG;IACtC,OAAO;MACN,GAAG9B,UAAU;MACbG,OAAO,EAAEH,UAAU,CAACG,OAAO,GAAG2B,iBAAiB,CAAC3B;IACjD,CAAC;EACF,CAAC;EACDwB;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM1C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEsC;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["listItem","icon","privateApis","initBlock","metadata","$schema","apiVersion","name","title","category","parent","allowedBlocks","description","textdomain","attributes","placeholder","type","content","source","selector","__experimentalRole","supports","className","__experimentalSelector","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","edit","save","transforms","unlock","settings","merge","attributesToMerge","requiresWrapperOnCopy","init"],"sources":["@wordpress/block-library/src/list-item/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,WAAW,QAAQ,yBAAyB;;AAErD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,kBAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,SAAA;IAAAC,sBAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EAAEnC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMoC,QAAQ,GAAG;EACvB1C,IAAI;EACJsC,IAAI;EACJC,IAAI;EACJI,KAAKA,CAAE9B,UAAU,EAAE+B,iBAAiB,EAAG;IACtC,OAAO;MACN,GAAG/B,UAAU;MACbG,OAAO,EAAEH,UAAU,CAACG,OAAO,GAAG4B,iBAAiB,CAAC5B;IACjD,CAAC;EACF,CAAC;EACDwB,UAAU;EACV,CAAEC,MAAM,CAAExC,WAAY,CAAC,CAAC4C,qBAAqB,GAAI;AAClD,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGA,CAAA,KAAM5C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEuC;AAAS,CAAE,CAAC"}
@@ -14,7 +14,7 @@ import { BlockControls, BlockVerticalAlignmentControl, useInnerBlocksProps, Insp
14
14
  import { PanelBody, RangeControl, TextareaControl, ToggleControl, ToolbarButton, ExternalLink, FocalPointPicker } from '@wordpress/components';
15
15
  import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
16
16
  import { pullLeft, pullRight } from '@wordpress/icons';
17
- import { store as coreStore } from '@wordpress/core-data';
17
+ import { useEntityProp, store as coreStore } from '@wordpress/core-data';
18
18
 
19
19
  /**
20
20
  * Internal dependencies
@@ -97,7 +97,11 @@ function attributesFromMedia({
97
97
  function MediaTextEdit({
98
98
  attributes,
99
99
  isSelected,
100
- setAttributes
100
+ setAttributes,
101
+ context: {
102
+ postId,
103
+ postType
104
+ }
101
105
  }) {
102
106
  const {
103
107
  focalPoint,
@@ -115,9 +119,26 @@ function MediaTextEdit({
115
119
  mediaWidth,
116
120
  rel,
117
121
  verticalAlignment,
118
- allowedBlocks
122
+ allowedBlocks,
123
+ useFeaturedImage
119
124
  } = attributes;
120
125
  const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
126
+ const [featuredImage] = useEntityProp('postType', postType, 'featured_media', postId);
127
+ const featuredImageMedia = useSelect(select => featuredImage && select(coreStore).getMedia(featuredImage, {
128
+ context: 'view'
129
+ }), [featuredImage]);
130
+ const featuredImageURL = useFeaturedImage ? featuredImageMedia?.source_url : '';
131
+ const featuredImageAlt = useFeaturedImage ? featuredImageMedia?.alt_text : '';
132
+ const toggleUseFeaturedImage = () => {
133
+ setAttributes({
134
+ imageFill: false,
135
+ mediaType: 'image',
136
+ mediaId: undefined,
137
+ mediaUrl: undefined,
138
+ mediaAlt: undefined,
139
+ useFeaturedImage: !useFeaturedImage
140
+ });
141
+ };
121
142
  const {
122
143
  imageSizes,
123
144
  image
@@ -226,21 +247,20 @@ function MediaTextEdit({
226
247
  onChange: () => setAttributes({
227
248
  imageFill: !imageFill
228
249
  })
229
- }), imageFill && mediaUrl && mediaType === 'image' && createElement(FocalPointPicker, {
250
+ }), imageFill && (mediaUrl || featuredImageURL) && mediaType === 'image' && createElement(FocalPointPicker, {
230
251
  __nextHasNoMarginBottom: true,
231
- __next40pxDefaultSize: true,
232
252
  label: __('Focal point'),
233
- url: mediaUrl,
253
+ url: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
234
254
  value: focalPoint,
235
255
  onChange: value => setAttributes({
236
256
  focalPoint: value
237
257
  }),
238
258
  onDragStart: imperativeFocalPointPreview,
239
259
  onDrag: imperativeFocalPointPreview
240
- }), mediaType === 'image' && createElement(TextareaControl, {
260
+ }), mediaType === 'image' && (mediaUrl || featuredImageURL) && createElement(TextareaControl, {
241
261
  __nextHasNoMarginBottom: true,
242
262
  label: __('Alternative text'),
243
- value: mediaAlt,
263
+ value: mediaAlt || featuredImageAlt,
244
264
  onChange: onMediaAltChange,
245
265
  help: createElement(Fragment, null, createElement(ExternalLink, {
246
266
  href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
@@ -287,7 +307,7 @@ function MediaTextEdit({
287
307
  onChangeUrl: onSetHref,
288
308
  linkDestination: linkDestination,
289
309
  mediaType: mediaType,
290
- mediaUrl: image && image.source_url,
310
+ mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : image && image.source_url,
291
311
  mediaLink: image && image.link,
292
312
  linkTarget: linkTarget,
293
313
  linkClass: linkClass,
@@ -303,6 +323,7 @@ function MediaTextEdit({
303
323
  commitWidthChange: commitWidthChange,
304
324
  ref: refMediaContainer,
305
325
  enableResize: blockEditingMode === 'default',
326
+ toggleUseFeaturedImage: toggleUseFeaturedImage,
306
327
  focalPoint,
307
328
  imageFill,
308
329
  isSelected,
@@ -312,7 +333,10 @@ function MediaTextEdit({
312
333
  mediaPosition,
313
334
  mediaType,
314
335
  mediaUrl,
315
- mediaWidth
336
+ mediaWidth,
337
+ useFeaturedImage,
338
+ featuredImageURL,
339
+ featuredImageAlt
316
340
  }), mediaPosition !== 'right' && createElement("div", {
317
341
  ...innerBlocksProps
318
342
  })));
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","useBlockEditingMode","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","WIDTH_CONSTRAINT_PERCENTAGE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","TEMPLATE","applyWidthConstraints","width","Math","max","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","allowedBlocks","mediaSizeSlug","imageSizes","select","getSettings","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","checked","onDragStart","onDrag","help","Fragment","onChangeImage","isResizable","imageSizeHelp","blockProps","className","innerBlocksProps","template","blockEditingMode","group","icon","isActive","onClick","onChangeUrl","ref","enableResize"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\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' ) {\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\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\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\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image.' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","useBlockEditingMode","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","useEntityProp","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","WIDTH_CONSTRAINT_PERCENTAGE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","TEMPLATE","applyWidthConstraints","width","Math","max","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","allowedBlocks","useFeaturedImage","mediaSizeSlug","featuredImage","featuredImageMedia","select","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","imageSizes","getSettings","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","checked","onDragStart","onDrag","help","Fragment","onChangeImage","isResizable","imageSizeHelp","blockProps","className","innerBlocksProps","template","blockEditingMode","group","icon","isActive","onClick","onChangeUrl","ref","enableResize"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\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' ) {\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\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\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\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst featuredImageMedia = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\turl={\n\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && ( mediaUrl || featuredImageURL ) && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tvalue={ mediaAlt || featuredImageAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image.' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={\n\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t: image && image.source_url\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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"}
@@ -104,8 +104,13 @@ const metadata = {
104
104
  },
105
105
  allowedBlocks: {
106
106
  type: "array"
107
+ },
108
+ useFeaturedImage: {
109
+ type: "boolean",
110
+ "default": false
107
111
  }
108
112
  },
113
+ usesContext: ["postId", "postType"],
109
114
  supports: {
110
115
  anchor: true,
111
116
  align: ["wide", "full"],
@@ -1 +1 @@
1
- {"version":3,"names":["__","mediaAndText","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","mediaAlt","source","selector","attribute","__experimentalRole","mediaPosition","mediaId","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","mediaType","mediaWidth","mediaSizeSlug","isStackedOnMobile","verticalAlignment","imageFill","focalPoint","allowedBlocks","supports","anchor","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","viewportWidth","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/media-text/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","mediaAndText","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","mediaAlt","source","selector","attribute","__experimentalRole","mediaPosition","mediaId","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","mediaType","mediaWidth","mediaSizeSlug","isStackedOnMobile","verticalAlignment","imageFill","focalPoint","allowedBlocks","useFeaturedImage","usesContext","supports","anchor","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","viewportWidth","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/media-text/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;;AAEvD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,QAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAC,aAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,OAAA;MAAAP,IAAA;MAAAK,kBAAA;IAAA;IAAAG,QAAA;MAAAR,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAC,kBAAA;IAAA;IAAAI,SAAA;MAAAT,IAAA;IAAA;IAAAU,eAAA;MAAAV,IAAA;IAAA;IAAAW,UAAA;MAAAX,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAQ,IAAA;MAAAZ,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAC,kBAAA;IAAA;IAAAQ,GAAA;MAAAb,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAU,SAAA;MAAAd,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAW,SAAA;MAAAf,IAAA;MAAAK,kBAAA;IAAA;IAAAW,UAAA;MAAAhB,IAAA;MAAA;IAAA;IAAAiB,aAAA;MAAAjB,IAAA;IAAA;IAAAkB,iBAAA;MAAAlB,IAAA;MAAA;IAAA;IAAAmB,iBAAA;MAAAnB,IAAA;IAAA;IAAAoB,SAAA;MAAApB,IAAA;IAAA;IAAAqB,UAAA;MAAArB,IAAA;IAAA;IAAAsB,aAAA;MAAAtB,IAAA;IAAA;IAAAuB,gBAAA;MAAAvB,IAAA;MAAA;IAAA;EAAA;EAAAwB,WAAA;EAAAC,QAAA;IAAAC,MAAA;IAAA3B,KAAA;IAAA4B,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE5D;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6D,QAAQ,GAAG;EACvBpE,IAAI;EACJqE,OAAO,EAAE;IACRC,aAAa,EAAE,GAAG;IAAE;IACpBzD,UAAU,EAAE;MACXiB,SAAS,EAAE,OAAO;MAClBP,QAAQ,EACP;IACF,CAAC;IACDgD,WAAW,EAAE,CACZ;MACChE,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACX2D,OAAO,EAAE1E,EAAE,CACV,8CACD;MACD;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACX2D,OAAO,EAAE1E,EAAE,CAAE,uBAAwB;MACtC;IACD,CAAC;EAEH,CAAC;EACDqE,UAAU;EACVhE,IAAI;EACJ+D,IAAI;EACJhE;AACD,CAAC;AAED,OAAO,MAAMuE,IAAI,GAAGA,CAAA,KAAMxE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEgE;AAAS,CAAE,CAAC"}
@@ -7,7 +7,7 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { ResizableBox, Spinner } from '@wordpress/components';
10
+ import { ResizableBox, Spinner, Placeholder } from '@wordpress/components';
11
11
  import { BlockControls, BlockIcon, MediaPlaceholder, MediaReplaceFlow, store as blockEditorStore } from '@wordpress/block-editor';
12
12
  import { __ } from '@wordpress/i18n';
13
13
  import { useViewportMatch } from '@wordpress/compose';
@@ -43,22 +43,28 @@ const ResizableBoxContainer = forwardRef(({
43
43
  function ToolbarEditButton({
44
44
  mediaId,
45
45
  mediaUrl,
46
- onSelectMedia
46
+ onSelectMedia,
47
+ toggleUseFeaturedImage,
48
+ useFeaturedImage,
49
+ featuredImageURL
47
50
  }) {
48
51
  return createElement(BlockControls, {
49
52
  group: "other"
50
53
  }, createElement(MediaReplaceFlow, {
51
54
  mediaId: mediaId,
52
- mediaURL: mediaUrl,
55
+ mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
53
56
  allowedTypes: ALLOWED_MEDIA_TYPES,
54
57
  accept: "image/*,video/*",
55
- onSelect: onSelectMedia
58
+ onSelect: onSelectMedia,
59
+ onToggleFeaturedImage: toggleUseFeaturedImage,
60
+ useFeaturedImage: useFeaturedImage
56
61
  }));
57
62
  }
58
63
  function PlaceholderContainer({
59
64
  className,
60
65
  mediaUrl,
61
- onSelectMedia
66
+ onSelectMedia,
67
+ toggleUseFeaturedImage
62
68
  }) {
63
69
  const {
64
70
  createErrorNotice
@@ -78,6 +84,7 @@ function PlaceholderContainer({
78
84
  className: className,
79
85
  onSelect: onSelectMedia,
80
86
  accept: "image/*,video/*",
87
+ onToggleFeaturedImage: toggleUseFeaturedImage,
81
88
  allowedTypes: ALLOWED_MEDIA_TYPES,
82
89
  onError: onUploadError,
83
90
  disableMediaButtons: mediaUrl
@@ -99,13 +106,17 @@ function MediaContainer(props, ref) {
99
106
  mediaWidth,
100
107
  onSelectMedia,
101
108
  onWidthChange,
102
- enableResize
109
+ enableResize,
110
+ toggleUseFeaturedImage,
111
+ useFeaturedImage,
112
+ featuredImageURL,
113
+ featuredImageAlt
103
114
  } = props;
104
115
  const isTemporaryMedia = !mediaId && isBlobURL(mediaUrl);
105
116
  const {
106
117
  toggleSelection
107
118
  } = useDispatch(blockEditorStore);
108
- if (mediaUrl) {
119
+ if (mediaUrl || featuredImageURL || useFeaturedImage) {
109
120
  const onResizeStart = () => {
110
121
  toggleSelection(false);
111
122
  };
@@ -120,9 +131,12 @@ function MediaContainer(props, ref) {
120
131
  right: enableResize && mediaPosition === 'left',
121
132
  left: enableResize && mediaPosition === 'right'
122
133
  };
123
- const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
134
+ const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl || featuredImageURL, focalPoint) : {};
124
135
  const mediaTypeRenderers = {
125
- image: () => createElement("img", {
136
+ image: () => useFeaturedImage && featuredImageURL ? createElement("img", {
137
+ src: featuredImageURL,
138
+ alt: featuredImageAlt
139
+ }) : mediaUrl && createElement("img", {
126
140
  src: mediaUrl,
127
141
  alt: mediaAlt
128
142
  }),
@@ -152,10 +166,15 @@ function MediaContainer(props, ref) {
152
166
  ref: ref
153
167
  }, createElement(ToolbarEditButton, {
154
168
  onSelectMedia: onSelectMedia,
155
- mediaUrl: mediaUrl,
156
- mediaId: mediaId
157
- }), (mediaTypeRenderers[mediaType] || noop)(), isTemporaryMedia && createElement(Spinner, null), createElement(PlaceholderContainer, {
169
+ mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
170
+ mediaId: mediaId,
171
+ toggleUseFeaturedImage: toggleUseFeaturedImage,
172
+ useFeaturedImage: useFeaturedImage
173
+ }), (mediaTypeRenderers[mediaType] || noop)(), isTemporaryMedia && createElement(Spinner, null), !useFeaturedImage && createElement(PlaceholderContainer, {
158
174
  ...props
175
+ }), !featuredImageURL && useFeaturedImage && createElement(Placeholder, {
176
+ className: "wp-block-media-text--placeholder-image",
177
+ withIllustration: true
159
178
  }));
160
179
  }
161
180
  return createElement(PlaceholderContainer, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","ResizableBox","Spinner","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","group","mediaURL","allowedTypes","accept","onSelect","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner } 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';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\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? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\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( { className, mediaUrl, onSelectMedia } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\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\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\tenableResize,\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: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && 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 forwardRef( MediaContainer );\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","ResizableBox","Spinner","Placeholder","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","toggleUseFeaturedImage","useFeaturedImage","featuredImageURL","group","allowedTypes","accept","onSelect","onToggleFeaturedImage","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","featuredImageAlt","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis","withIllustration"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner, Placeholder } 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';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\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? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\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( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n\tfeaturedImageURL,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaUrl={\n\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t: mediaUrl\n\t\t\t\t}\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\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\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\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\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\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\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: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img src={ featuredImageURL } alt={ featuredImageAlt } />\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && <img src={ mediaUrl } alt={ mediaAlt } />\n\t\t\t\t),\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={\n\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t}\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\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{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],"mappings":"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"}
@@ -289,7 +289,7 @@ class MediaContainer extends Component {
289
289
  }) => {
290
290
  onSetOpenPickerRef(open);
291
291
  return createElement(Fragment, null, getMediaOptions(), createElement(MediaUploadProgress, {
292
- enablePausedUploads: true,
292
+ enablePausedUploads: mediaType === MEDIA_TYPE_IMAGE,
293
293
  coverUrl: coverUrl,
294
294
  mediaId: mediaId,
295
295
  onUpdateMediaProgress: this.updateMediaProgress,