@wordpress/block-library 7.0.2 → 7.1.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 (447) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.js +4 -4
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js +4 -4
  5. package/build/audio/edit.native.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +3 -9
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +3 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/edit.native.js +2 -2
  13. package/build/button/edit.native.js.map +1 -1
  14. package/build/buttons/transforms.js +8 -8
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/categories/edit.js +15 -26
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/code/index.js +0 -1
  19. package/build/code/index.js.map +1 -1
  20. package/build/columns/columnCalculations.native.js +1 -1
  21. package/build/columns/columnCalculations.native.js.map +1 -1
  22. package/build/columns/edit.js +1 -1
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/edit.native.js +3 -3
  25. package/build/columns/edit.native.js.map +1 -1
  26. package/build/cover/controls.native.js +5 -5
  27. package/build/cover/controls.native.js.map +1 -1
  28. package/build/cover/deprecated.js +188 -17
  29. package/build/cover/deprecated.js.map +1 -1
  30. package/build/cover/edit.js +8 -11
  31. package/build/cover/edit.js.map +1 -1
  32. package/build/cover/edit.native.js +8 -8
  33. package/build/cover/edit.native.js.map +1 -1
  34. package/build/cover/overlay-color-settings.native.js +3 -3
  35. package/build/cover/overlay-color-settings.native.js.map +1 -1
  36. package/build/cover/save.js +1 -1
  37. package/build/cover/save.js.map +1 -1
  38. package/build/cover/shared.js +2 -2
  39. package/build/cover/shared.js.map +1 -1
  40. package/build/embed/edit.js +1 -1
  41. package/build/embed/edit.js.map +1 -1
  42. package/build/embed/edit.native.js +1 -1
  43. package/build/embed/edit.native.js.map +1 -1
  44. package/build/embed/util.js +2 -2
  45. package/build/embed/util.js.map +1 -1
  46. package/build/embed/variations.js +1 -1
  47. package/build/embed/variations.js.map +1 -1
  48. package/build/file/edit.js +20 -17
  49. package/build/file/edit.js.map +1 -1
  50. package/build/file/edit.native.js +1 -1
  51. package/build/file/edit.native.js.map +1 -1
  52. package/build/file/save.js +7 -3
  53. package/build/file/save.js.map +1 -1
  54. package/build/freeform/edit.js +2 -2
  55. package/build/freeform/edit.js.map +1 -1
  56. package/build/gallery/edit.js +1 -1
  57. package/build/gallery/edit.js.map +1 -1
  58. package/build/gallery/gallery.native.js +1 -1
  59. package/build/gallery/gallery.native.js.map +1 -1
  60. package/build/gallery/v1/edit.js +3 -3
  61. package/build/gallery/v1/edit.js.map +1 -1
  62. package/build/gallery/v1/gallery-image.native.js +3 -3
  63. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  64. package/build/gallery/v1/gallery.native.js +2 -2
  65. package/build/gallery/v1/gallery.native.js.map +1 -1
  66. package/build/group/index.js +3 -37
  67. package/build/group/index.js.map +1 -1
  68. package/build/group/transforms.js +45 -0
  69. package/build/group/transforms.js.map +1 -0
  70. package/build/home-link/edit.js +1 -1
  71. package/build/home-link/edit.js.map +1 -1
  72. package/build/image/edit.js +7 -6
  73. package/build/image/edit.js.map +1 -1
  74. package/build/image/edit.native.js +25 -10
  75. package/build/image/edit.native.js.map +1 -1
  76. package/build/image/transforms.js +1 -1
  77. package/build/image/transforms.js.map +1 -1
  78. package/build/index.js +3 -4
  79. package/build/index.js.map +1 -1
  80. package/build/index.native.js +2 -2
  81. package/build/index.native.js.map +1 -1
  82. package/build/media-text/edit.js +21 -2
  83. package/build/media-text/edit.js.map +1 -1
  84. package/build/media-text/edit.native.js +2 -2
  85. package/build/media-text/edit.native.js.map +1 -1
  86. package/build/media-text/media-container.native.js +1 -1
  87. package/build/media-text/media-container.native.js.map +1 -1
  88. package/build/missing/edit.native.js +1 -1
  89. package/build/missing/edit.native.js.map +1 -1
  90. package/build/more/transforms.js +2 -2
  91. package/build/more/transforms.js.map +1 -1
  92. package/build/navigation/edit/index.js +134 -60
  93. package/build/navigation/edit/index.js.map +1 -1
  94. package/build/navigation/edit/inner-blocks.js +8 -3
  95. package/build/navigation/edit/inner-blocks.js.map +1 -1
  96. package/build/navigation/edit/navigation-menu-selector.js +66 -53
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/placeholder/index.js +31 -46
  99. package/build/navigation/edit/placeholder/index.js.map +1 -1
  100. package/build/navigation/edit/placeholder/placeholder-preview.js +3 -12
  101. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  102. package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
  103. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  104. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +120 -0
  105. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  106. package/build/navigation/edit/use-create-navigation-menu.js +53 -4
  107. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  108. package/build/navigation/edit/use-navigation-notice.js +3 -3
  109. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  110. package/build/navigation/menu-items-to-blocks.js +1 -1
  111. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  112. package/build/navigation/use-navigation-entities.js +25 -49
  113. package/build/navigation/use-navigation-entities.js.map +1 -1
  114. package/build/navigation/use-navigation-menu.js +2 -0
  115. package/build/navigation/use-navigation-menu.js.map +1 -1
  116. package/build/navigation-link/fallback-variations.js +1 -1
  117. package/build/navigation-link/fallback-variations.js.map +1 -1
  118. package/build/navigation-link/hooks.js +2 -2
  119. package/build/navigation-link/hooks.js.map +1 -1
  120. package/build/navigation-submenu/edit.js +2 -2
  121. package/build/navigation-submenu/edit.js.map +1 -1
  122. package/build/page-list/convert-to-links-modal.js +13 -23
  123. package/build/page-list/convert-to-links-modal.js.map +1 -1
  124. package/build/page-list/edit.js +8 -22
  125. package/build/page-list/edit.js.map +1 -1
  126. package/build/post-author-name/edit.js +2 -1
  127. package/build/post-author-name/edit.js.map +1 -1
  128. package/build/post-comments-form/edit.js +3 -1
  129. package/build/post-comments-form/edit.js.map +1 -1
  130. package/build/post-excerpt/edit.js +7 -4
  131. package/build/post-excerpt/edit.js.map +1 -1
  132. package/build/post-terms/edit.js +3 -1
  133. package/build/post-terms/edit.js.map +1 -1
  134. package/build/query-title/edit.js +0 -1
  135. package/build/query-title/edit.js.map +1 -1
  136. package/build/search/edit.js +4 -1
  137. package/build/search/edit.js.map +1 -1
  138. package/build/search/edit.native.js +1 -1
  139. package/build/search/edit.native.js.map +1 -1
  140. package/build/separator/save.js +4 -4
  141. package/build/separator/save.js.map +1 -1
  142. package/build/separator/separator-settings.native.js +1 -1
  143. package/build/separator/separator-settings.native.js.map +1 -1
  144. package/build/site-logo/edit.js +1 -1
  145. package/build/site-logo/edit.js.map +1 -1
  146. package/build/social-link/edit.native.js +11 -3
  147. package/build/social-link/edit.native.js.map +1 -1
  148. package/build/spacer/controls.js +5 -5
  149. package/build/spacer/controls.js.map +1 -1
  150. package/build/spacer/controls.native.js +5 -5
  151. package/build/spacer/controls.native.js.map +1 -1
  152. package/build/table/edit.js +2 -2
  153. package/build/table/edit.js.map +1 -1
  154. package/build/video/edit.js +4 -4
  155. package/build/video/edit.js.map +1 -1
  156. package/build/video/edit.native.js +3 -3
  157. package/build/video/edit.native.js.map +1 -1
  158. package/build-module/audio/edit.js +4 -4
  159. package/build-module/audio/edit.js.map +1 -1
  160. package/build-module/audio/edit.native.js +4 -4
  161. package/build-module/audio/edit.native.js.map +1 -1
  162. package/build-module/audio/transforms.js +1 -1
  163. package/build-module/audio/transforms.js.map +1 -1
  164. package/build-module/block/edit.js +5 -11
  165. package/build-module/block/edit.js.map +1 -1
  166. package/build-module/button/edit.js +3 -2
  167. package/build-module/button/edit.js.map +1 -1
  168. package/build-module/button/edit.native.js +2 -2
  169. package/build-module/button/edit.native.js.map +1 -1
  170. package/build-module/buttons/transforms.js +8 -8
  171. package/build-module/buttons/transforms.js.map +1 -1
  172. package/build-module/categories/edit.js +15 -25
  173. package/build-module/categories/edit.js.map +1 -1
  174. package/build-module/code/index.js +0 -1
  175. package/build-module/code/index.js.map +1 -1
  176. package/build-module/columns/columnCalculations.native.js +1 -1
  177. package/build-module/columns/columnCalculations.native.js.map +1 -1
  178. package/build-module/columns/edit.js +1 -1
  179. package/build-module/columns/edit.js.map +1 -1
  180. package/build-module/columns/edit.native.js +3 -3
  181. package/build-module/columns/edit.native.js.map +1 -1
  182. package/build-module/cover/controls.native.js +5 -5
  183. package/build-module/cover/controls.native.js.map +1 -1
  184. package/build-module/cover/deprecated.js +190 -17
  185. package/build-module/cover/deprecated.js.map +1 -1
  186. package/build-module/cover/edit.js +8 -11
  187. package/build-module/cover/edit.js.map +1 -1
  188. package/build-module/cover/edit.native.js +8 -8
  189. package/build-module/cover/edit.native.js.map +1 -1
  190. package/build-module/cover/overlay-color-settings.native.js +3 -3
  191. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  192. package/build-module/cover/save.js +1 -1
  193. package/build-module/cover/save.js.map +1 -1
  194. package/build-module/cover/shared.js +2 -2
  195. package/build-module/cover/shared.js.map +1 -1
  196. package/build-module/embed/edit.js +1 -1
  197. package/build-module/embed/edit.js.map +1 -1
  198. package/build-module/embed/edit.native.js +1 -1
  199. package/build-module/embed/edit.native.js.map +1 -1
  200. package/build-module/embed/util.js +2 -2
  201. package/build-module/embed/util.js.map +1 -1
  202. package/build-module/embed/variations.js +1 -1
  203. package/build-module/embed/variations.js.map +1 -1
  204. package/build-module/file/edit.js +21 -18
  205. package/build-module/file/edit.js.map +1 -1
  206. package/build-module/file/edit.native.js +1 -1
  207. package/build-module/file/edit.native.js.map +1 -1
  208. package/build-module/file/save.js +7 -3
  209. package/build-module/file/save.js.map +1 -1
  210. package/build-module/freeform/edit.js +2 -2
  211. package/build-module/freeform/edit.js.map +1 -1
  212. package/build-module/gallery/edit.js +1 -1
  213. package/build-module/gallery/edit.js.map +1 -1
  214. package/build-module/gallery/gallery.native.js +1 -1
  215. package/build-module/gallery/gallery.native.js.map +1 -1
  216. package/build-module/gallery/v1/edit.js +3 -3
  217. package/build-module/gallery/v1/edit.js.map +1 -1
  218. package/build-module/gallery/v1/gallery-image.native.js +3 -3
  219. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  220. package/build-module/gallery/v1/gallery.native.js +2 -2
  221. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  222. package/build-module/group/index.js +2 -36
  223. package/build-module/group/index.js.map +1 -1
  224. package/build-module/group/transforms.js +36 -0
  225. package/build-module/group/transforms.js.map +1 -0
  226. package/build-module/home-link/edit.js +1 -1
  227. package/build-module/home-link/edit.js.map +1 -1
  228. package/build-module/image/edit.js +7 -6
  229. package/build-module/image/edit.js.map +1 -1
  230. package/build-module/image/edit.native.js +25 -10
  231. package/build-module/image/edit.native.js.map +1 -1
  232. package/build-module/image/transforms.js +1 -1
  233. package/build-module/image/transforms.js.map +1 -1
  234. package/build-module/index.js +4 -5
  235. package/build-module/index.js.map +1 -1
  236. package/build-module/index.native.js +2 -2
  237. package/build-module/index.native.js.map +1 -1
  238. package/build-module/media-text/edit.js +20 -2
  239. package/build-module/media-text/edit.js.map +1 -1
  240. package/build-module/media-text/edit.native.js +2 -2
  241. package/build-module/media-text/edit.native.js.map +1 -1
  242. package/build-module/media-text/media-container.native.js +1 -1
  243. package/build-module/media-text/media-container.native.js.map +1 -1
  244. package/build-module/missing/edit.native.js +1 -1
  245. package/build-module/missing/edit.native.js.map +1 -1
  246. package/build-module/more/transforms.js +2 -2
  247. package/build-module/more/transforms.js.map +1 -1
  248. package/build-module/navigation/edit/index.js +128 -60
  249. package/build-module/navigation/edit/index.js.map +1 -1
  250. package/build-module/navigation/edit/inner-blocks.js +8 -3
  251. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  252. package/build-module/navigation/edit/navigation-menu-selector.js +66 -50
  253. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  254. package/build-module/navigation/edit/placeholder/index.js +32 -45
  255. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  256. package/build-module/navigation/edit/placeholder/placeholder-preview.js +3 -9
  257. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  258. package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
  259. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  260. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +100 -0
  261. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  262. package/build-module/navigation/edit/use-create-navigation-menu.js +48 -5
  263. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  264. package/build-module/navigation/edit/use-navigation-notice.js +3 -3
  265. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  266. package/build-module/navigation/menu-items-to-blocks.js +1 -1
  267. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  268. package/build-module/navigation/use-navigation-entities.js +26 -50
  269. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  270. package/build-module/navigation/use-navigation-menu.js +2 -0
  271. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  272. package/build-module/navigation-link/fallback-variations.js +1 -1
  273. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  274. package/build-module/navigation-link/hooks.js +2 -2
  275. package/build-module/navigation-link/hooks.js.map +1 -1
  276. package/build-module/navigation-submenu/edit.js +2 -2
  277. package/build-module/navigation-submenu/edit.js.map +1 -1
  278. package/build-module/page-list/convert-to-links-modal.js +15 -25
  279. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  280. package/build-module/page-list/edit.js +9 -23
  281. package/build-module/page-list/edit.js.map +1 -1
  282. package/build-module/post-author-name/edit.js +2 -1
  283. package/build-module/post-author-name/edit.js.map +1 -1
  284. package/build-module/post-comments-form/edit.js +4 -2
  285. package/build-module/post-comments-form/edit.js.map +1 -1
  286. package/build-module/post-excerpt/edit.js +9 -6
  287. package/build-module/post-excerpt/edit.js.map +1 -1
  288. package/build-module/post-terms/edit.js +2 -1
  289. package/build-module/post-terms/edit.js.map +1 -1
  290. package/build-module/query-title/edit.js +0 -1
  291. package/build-module/query-title/edit.js.map +1 -1
  292. package/build-module/search/edit.js +3 -1
  293. package/build-module/search/edit.js.map +1 -1
  294. package/build-module/search/edit.native.js +1 -1
  295. package/build-module/search/edit.native.js.map +1 -1
  296. package/build-module/separator/save.js +4 -4
  297. package/build-module/separator/save.js.map +1 -1
  298. package/build-module/separator/separator-settings.native.js +1 -1
  299. package/build-module/separator/separator-settings.native.js.map +1 -1
  300. package/build-module/site-logo/edit.js +1 -1
  301. package/build-module/site-logo/edit.js.map +1 -1
  302. package/build-module/social-link/edit.native.js +11 -3
  303. package/build-module/social-link/edit.native.js.map +1 -1
  304. package/build-module/spacer/controls.js +5 -5
  305. package/build-module/spacer/controls.js.map +1 -1
  306. package/build-module/spacer/controls.native.js +5 -5
  307. package/build-module/spacer/controls.native.js.map +1 -1
  308. package/build-module/table/edit.js +2 -2
  309. package/build-module/table/edit.js.map +1 -1
  310. package/build-module/video/edit.js +4 -4
  311. package/build-module/video/edit.js.map +1 -1
  312. package/build-module/video/edit.native.js +3 -3
  313. package/build-module/video/edit.native.js.map +1 -1
  314. package/build-style/button/editor-rtl.css +0 -3
  315. package/build-style/button/editor.css +0 -3
  316. package/build-style/code/style-rtl.css +2 -1
  317. package/build-style/code/style.css +2 -1
  318. package/build-style/code/theme-rtl.css +0 -3
  319. package/build-style/code/theme.css +0 -3
  320. package/build-style/common-rtl.css +1 -1
  321. package/build-style/common.css +1 -1
  322. package/build-style/cover/style-rtl.css +1 -5
  323. package/build-style/cover/style.css +1 -5
  324. package/build-style/editor-rtl.css +16 -3
  325. package/build-style/editor.css +16 -3
  326. package/build-style/image/style-rtl.css +2 -1
  327. package/build-style/image/style.css +2 -1
  328. package/build-style/navigation/editor-rtl.css +16 -0
  329. package/build-style/navigation/editor.css +16 -0
  330. package/build-style/style-rtl.css +12 -10
  331. package/build-style/style.css +12 -10
  332. package/build-style/tag-cloud/style-rtl.css +6 -2
  333. package/build-style/tag-cloud/style.css +6 -2
  334. package/build-style/theme-rtl.css +0 -3
  335. package/build-style/theme.css +0 -3
  336. package/package.json +32 -28
  337. package/src/audio/edit.js +4 -4
  338. package/src/audio/edit.native.js +4 -4
  339. package/src/audio/transforms.js +1 -1
  340. package/src/block/edit.js +7 -22
  341. package/src/block/test/edit.native.js +9 -9
  342. package/src/button/edit.js +2 -1
  343. package/src/button/edit.native.js +2 -2
  344. package/src/button/editor.scss +0 -5
  345. package/src/buttons/test/edit.native.js +3 -3
  346. package/src/buttons/transforms.js +8 -8
  347. package/src/categories/edit.js +12 -22
  348. package/src/code/block.json +0 -1
  349. package/src/code/style.scss +4 -2
  350. package/src/code/theme.scss +0 -3
  351. package/src/columns/columnCalculations.native.js +1 -1
  352. package/src/columns/edit.js +1 -1
  353. package/src/columns/edit.native.js +3 -3
  354. package/src/comments-pagination-numbers/index.php +1 -1
  355. package/src/common.scss +1 -1
  356. package/src/cover/controls.native.js +1 -1
  357. package/src/cover/deprecated.js +214 -1
  358. package/src/cover/edit.js +6 -8
  359. package/src/cover/edit.native.js +8 -8
  360. package/src/cover/overlay-color-settings.native.js +3 -3
  361. package/src/cover/save.js +4 -3
  362. package/src/cover/shared.js +2 -2
  363. package/src/cover/style.scss +1 -3
  364. package/src/cover/test/edit.native.js +39 -39
  365. package/src/embed/edit.js +1 -1
  366. package/src/embed/edit.native.js +1 -1
  367. package/src/embed/test/index.native.js +105 -105
  368. package/src/embed/util.js +2 -2
  369. package/src/embed/variations.js +1 -1
  370. package/src/file/edit.js +19 -17
  371. package/src/file/edit.native.js +1 -1
  372. package/src/file/save.js +9 -3
  373. package/src/file/style.native.scss +1 -0
  374. package/src/freeform/edit.js +2 -2
  375. package/src/gallery/edit.js +1 -1
  376. package/src/gallery/gallery.native.js +1 -1
  377. package/src/gallery/test/__snapshots__/index.native.js.snap +164 -0
  378. package/src/gallery/test/helpers.native.js +293 -0
  379. package/src/gallery/test/index.native.js +583 -65
  380. package/src/gallery/v1/edit.js +3 -4
  381. package/src/gallery/v1/gallery-image.native.js +3 -3
  382. package/src/gallery/v1/gallery.native.js +2 -2
  383. package/src/group/index.js +2 -54
  384. package/src/group/transforms.js +52 -0
  385. package/src/home-link/edit.js +1 -1
  386. package/src/image/edit.js +7 -6
  387. package/src/image/edit.native.js +25 -8
  388. package/src/image/style.scss +2 -1
  389. package/src/image/test/edit.native.js +1 -1
  390. package/src/image/transforms.js +1 -1
  391. package/src/index.js +2 -3
  392. package/src/index.native.js +2 -2
  393. package/src/media-text/edit.js +20 -2
  394. package/src/media-text/edit.native.js +2 -2
  395. package/src/media-text/media-container.native.js +1 -1
  396. package/src/media-text/style.native.scss +1 -0
  397. package/src/missing/edit.native.js +1 -1
  398. package/src/missing/test/edit-integration.native.js +4 -4
  399. package/src/missing/test/edit.native.js +2 -2
  400. package/src/more/transforms.js +2 -2
  401. package/src/navigation/edit/index.js +194 -69
  402. package/src/navigation/edit/inner-blocks.js +11 -4
  403. package/src/navigation/edit/navigation-menu-selector.js +97 -79
  404. package/src/navigation/edit/placeholder/index.js +61 -84
  405. package/src/navigation/edit/placeholder/placeholder-preview.js +3 -10
  406. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  407. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +137 -0
  408. package/src/navigation/edit/use-create-navigation-menu.js +59 -8
  409. package/src/navigation/edit/use-navigation-notice.js +3 -3
  410. package/src/navigation/editor.scss +23 -1
  411. package/src/navigation/menu-items-to-blocks.js +1 -1
  412. package/src/navigation/test/menu-items-to-blocks.js +1 -1
  413. package/src/navigation/use-navigation-entities.js +26 -60
  414. package/src/navigation/use-navigation-menu.js +5 -0
  415. package/src/navigation-link/fallback-variations.js +1 -1
  416. package/src/navigation-link/hooks.js +2 -2
  417. package/src/navigation-link/test/edit.js +5 -5
  418. package/src/navigation-submenu/edit.js +2 -2
  419. package/src/page-list/convert-to-links-modal.js +17 -31
  420. package/src/page-list/edit.js +14 -23
  421. package/src/post-author-name/edit.js +1 -0
  422. package/src/post-author-name/index.php +1 -1
  423. package/src/post-comments-form/edit.js +7 -3
  424. package/src/post-excerpt/edit.js +9 -12
  425. package/src/post-terms/edit.js +2 -1
  426. package/src/query-title/edit.js +0 -1
  427. package/src/search/edit.js +6 -0
  428. package/src/search/edit.native.js +1 -1
  429. package/src/search/index.php +3 -2
  430. package/src/search/test/edit.native.js +0 -1
  431. package/src/separator/save.js +4 -4
  432. package/src/separator/separator-settings.native.js +1 -1
  433. package/src/site-logo/edit.js +1 -1
  434. package/src/social-link/edit.native.js +17 -8
  435. package/src/social-link/test/index.native.js +138 -0
  436. package/src/spacer/controls.js +1 -1
  437. package/src/spacer/controls.native.js +1 -1
  438. package/src/table/edit.js +2 -2
  439. package/src/tag-cloud/style.scss +12 -7
  440. package/src/video/edit.js +4 -4
  441. package/src/video/edit.native.js +3 -3
  442. package/src/video/style.native.scss +1 -0
  443. package/build/navigation/use-convert-classic-menu.js +0 -59
  444. package/build/navigation/use-convert-classic-menu.js.map +0 -1
  445. package/build-module/navigation/use-convert-classic-menu.js +0 -47
  446. package/build-module/navigation/use-convert-classic-menu.js.map +0 -1
  447. package/src/navigation/use-convert-classic-menu.js +0 -58
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","mediaType","src","media_type","type","large","url","newHref","link","mediaAlt","alt","mediaId","id","mediaUrl","mediaLink","undefined","focalPoint","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } 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} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\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 { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\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\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} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\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( applyWidthConstraints( width ) );\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 imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\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={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\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\tlabel={ __( 'Crop image to fill entire column' ) }\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\tlabel={ __( 'Focal point picker' ) }\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\tlabel={ __( 'Alt text (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{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\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/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\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 }\n\t);\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<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\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<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\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<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","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","mediaSizeSlug","select","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } 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} 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 { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\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} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\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( applyWidthConstraints( width ) );\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 imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\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={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\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\tlabel={ __( 'Crop image to fill entire column' ) }\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\tlabel={ __( 'Focal point picker' ) }\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\tlabel={ __( 'Alt text (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{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\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/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\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 }\n\t);\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<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\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<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\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<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
@@ -61,7 +61,7 @@ class MediaTextEdit extends Component {
61
61
  setAttributes
62
62
  } = this.props;
63
63
  let mediaType;
64
- let src; // for media selections originated from a file upload.
64
+ let src; // For media selections originated from a file upload.
65
65
 
66
66
  if (media.media_type) {
67
67
  if (media.media_type === 'image') {
@@ -72,7 +72,7 @@ class MediaTextEdit extends Component {
72
72
  mediaType = 'video';
73
73
  }
74
74
  } else {
75
- // for media selections originated from existing files in the media library.
75
+ // For media selections originated from existing files in the media library.
76
76
  mediaType = media.type;
77
77
  }
78
78
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// for media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// for media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ( isMediaSelected || mediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockParents,\n\t\t\tgetSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ( isMediaSelected || mediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockParents,\n\t\t\tgetSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
@@ -55,7 +55,7 @@ class MediaContainer extends Component {
55
55
  mediaId,
56
56
  mediaUrl
57
57
  } = this.props; // Make sure we mark any temporary images as failed if they failed while
58
- // the editor wasn't open
58
+ // the editor wasn't open.
59
59
 
60
60
  if (mediaId && mediaUrl && getProtocol(mediaUrl) === 'file:') {
61
61
  mediaUploadSync();
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","withDispatch","store","noticesStore","styles","icon","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","createErrorNotice","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions","dispatch"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,EAAqBC,wBAArB,QAAqD,cAArD;AAEA;AACA;AACA;;AACA,SACCC,eADD,EAECC,6BAFD,EAGCC,8BAHD,EAICC,6BAJD,QAKO,gCALP;AAMA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,yBAAtB,QAAuD,uBAAvD;AACA,SACCC,gBADD,EAECC,gBAFD,EAGCC,gBAHD,EAICC,WAJD,EAKCC,mBALD,EAMCC,kBAND,EAOCC,WAPD,QAQO,yBARP;AASA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,EAAgBC,WAAhB,QAAmC,gBAAnC;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,IAAP,MAAiB,wBAAjB;AACA,OAAOC,YAAP,MAAyB,cAAzB;AAEA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG,CAAEnB,gBAAF,EAAoBC,gBAApB,CAA5B;AAEA,MAAMmB,SAAS,GAAG;AACjBC,EAAAA,WAAW,EAAE,aADI;AAEjBC,EAAAA,KAAK,EAAE;AAFU,CAAlB;AAKA,SAASC,eAAT,QAAgC,sBAAhC;;AAEA,MAAMC,cAAN,SAA6BjB,SAA7B,CAAuC;AACtCkB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBC,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKC,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCD,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKE,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCF,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKG,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BH,IAA3B,CAAiC,IAAjC,CAA7B;AACA,SAAKI,yBAAL,GAAiC,KAAKA,yBAAL,CAA+BJ,IAA/B,CAChC,IADgC,CAAjC;AAGA,SAAKK,cAAL,GAAsB,KAAKA,cAAL,CAAoBL,IAApB,CAA0B,IAA1B,CAAtB;AAEA,SAAKM,KAAL,GAAa;AACZC,MAAAA,kBAAkB,EAAE;AADR,KAAb;AAGA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAwB,KAAKC,KAAnC,CADmB,CAGnB;AACA;;AACA,QAAKF,OAAO,IAAIC,QAAX,IAAuB5B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAAxD,EAAkE;AACjE7C,MAAAA,eAAe;AACf;AACD;;AAEDuC,EAAAA,yBAAyB,CAAEQ,MAAF,EAAW;AACnC,UAAM;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,GAAN;AAAWC,MAAAA;AAAX,QAAoBH,MAA1B;AACA,UAAM;AAAEI,MAAAA;AAAF,QAAoB,KAAKL,KAA/B;AAEAK,IAAAA,aAAa,CAAE;AACdC,MAAAA,UAAU,EAAEF,IADE;AAEdF,MAAAA,EAFc;AAGdC,MAAAA;AAHc,KAAF,CAAb;AAKA;;AAEDT,EAAAA,cAAc,GAAG;AAChB,UAAM;AAAEE,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACLG,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLQ,MAAAA,SAHK;AAILC,MAAAA,eAJK;AAKLC,MAAAA;AALK,QAMF,KAAKT,KANT;;AAQA,QAAKJ,kBAAL,EAA0B;AACzBxC,MAAAA,8BAA8B,CAAE0C,OAAF,CAA9B;AACA,KAFD,MAEO,IAAKA,OAAO,IAAI3B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAA5C,EAAsD;AAC5D5C,MAAAA,6BAA6B,CAAE2C,OAAF,CAA7B;AACA,KAFM,MAEA,IAAKS,SAAS,KAAK9C,gBAAd,IAAkC+C,eAAvC,EAAyD;AAC/DnD,MAAAA,6BAA6B,CAAE0C,QAAF,CAA7B;AACA,KAFM,MAEA,IAAKQ,SAAS,KAAK9C,gBAAnB,EAAsC;AAC5CgD,MAAAA,eAAe;AACf;AACD;;AAEDC,EAAAA,OAAO,CAAEC,QAAF,EAAa;AACnB,UAAM;AAAEJ,MAAAA,SAAF;AAAaK,MAAAA;AAAb,QAA0C,KAAKZ,KAArD;AACA,QAAIa,SAAJ;;AACA,YAASF,QAAT;AACC,WAAK9B,SAAS,CAACE,KAAf;AACC8B,QAAAA,SAAS,GACRN,SAAS,KAAK9C,gBAAd,GACGgB,MAAM,CAACqC,SADV,GAEGF,wBAAwB,CACxBnC,MAAM,CAACsC,cADiB,EAExBtC,MAAM,CAACuC,kBAFiB,CAH5B;AAQA,eAAO,cAAC,IAAD;AAAM,UAAA,IAAI,EAAGrC;AAAb,WAAiCkC,SAAjC,EAAP;;AACD,WAAKhC,SAAS,CAACC,WAAf;AACC+B,QAAAA,SAAS,GAAGD,wBAAwB,CACnCnC,MAAM,CAACwC,eAD4B,EAEnCxC,MAAM,CAACyC,mBAF4B,CAApC;AAIA;AAhBF;;AAkBA,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGxC;AAAb,OAAyBmC,SAAzB,EAAP;AACA;;AAEDzB,EAAAA,mBAAmB,GAAG;AACrB,QAAK,CAAE,KAAKO,KAAL,CAAWC,kBAAlB,EAAuC;AACtC,WAAKuB,QAAL,CAAe;AAAEvB,QAAAA,kBAAkB,EAAE;AAAtB,OAAf;AACA;AACD;;AAEDN,EAAAA,4BAA4B,CAAE8B,OAAF,EAAY;AACvC,UAAM;AAAEC,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AACdnB,MAAAA,EAAE,EAAEkB,OAAO,CAACE,aADE;AAEdnB,MAAAA,GAAG,EAAEiB,OAAO,CAACrB;AAFC,KAAF,CAAb;AAIA,SAAKoB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDL,EAAAA,4BAA4B,GAAG;AAC9B,UAAM;AAAEgC,MAAAA;AAAF,QAAwB,KAAKvB,KAAnC;AAEAuB,IAAAA,iBAAiB,CAAEtD,EAAE,CAAE,yBAAF,CAAJ,CAAjB;AAEA,SAAKkD,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDJ,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAE6B,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AAAEnB,MAAAA,EAAE,EAAE,IAAN;AAAYC,MAAAA,GAAG,EAAE;AAAjB,KAAF,CAAb;AACA,SAAKgB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAED4B,EAAAA,WAAW,CAAEvB,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AAAE7B,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACL+B,MAAAA,cADK;AAELC,MAAAA,UAFK;AAGLC,MAAAA,SAHK;AAILpB,MAAAA,eAJK;AAKLqB,MAAAA,UALK;AAMLC,MAAAA,QANK;AAOL/B,MAAAA,QAPK;AAQLgC,MAAAA,UARK;AASLC,MAAAA;AATK,QAUF,KAAKhC,KAVT;AAWA,UAAM;AAAEiC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMkC,gBAAgB,GAAG,CAAER,UAAF,GACtBnE,yBADsB,GAEtBmE,UAFH;AAIA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPC,SAAS,IAAInD,MAAM,CAAC2D,mBADb,EAEPR,SAAS,IACRI,WADD,IACgB;AACdK,QAAAA,MAAM,EAAE5D,MAAM,CAACmD,SAAP,CAAiBS;AADX,OAHT;AADT,OASC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAER,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPD,SAAS,IAAInD,MAAM,CAAC6D,YADb,EAEP7D,MAAM,CAAC8D,mBAFA,EAGP,CAAE3C,kBAAF,IAAwB8B,cAHjB;AADT,OAOC,cAAC,KAAD;AACC,MAAA,KAAK,EAAC,QADP;AAEC,MAAA,GAAG,EAAGI,QAFP;AAGC,MAAA,UAAU,EAAGF,SAAS,IAAIO,gBAH3B;AAIC,MAAA,UAAU,EAAG3B,eAJd;AAKC,MAAA,cAAc,EAAGyB,cALlB;AAMC,MAAA,kBAAkB,EAAGrC,kBANtB;AAOC,MAAA,yBAAyB,EACxB,KAAKH,yBARP;AAUC,MAAA,gBAAgB,EAAGgC,gBAVpB;AAWC,MAAA,YAAY,EAAGS,YAXhB;AAYC,MAAA,GAAG,EAAGnC,QAZP;AAaC,MAAA,KAAK,EAAG,CAAEH,kBAAF,IAAwBmC;AAbjC,MAPD,CAND,CATD,CADD;AA0CA;;AAEDS,EAAAA,WAAW,CAAEvC,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AACLC,MAAAA,cADK;AAEL3B,MAAAA,QAFK;AAGL8B,MAAAA,UAHK;AAILjB,MAAAA;AAJK,QAKF,KAAKZ,KALT;AAMA,UAAM;AAAEJ,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AAAEsC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMwC,SAAS,GACdvE,KAAK,CAAE6B,QAAF,CAAL,IAAqB,CAAEH,kBAAvB,IAA6C,CAAEqC,cADhD;AAGA,UAAMS,sBAAsB,GAAG9B,wBAAwB,CACtDnC,MAAM,CAACkE,gBAD+C,EAEtDlE,MAAM,CAACmE,oBAF+C,CAAvD;AAIA,UAAMC,oBAAoB,GAAG,CAC5BpE,MAAM,CAACqE,gBADqB,EAE5BlC,wBAAwB,CACvBnC,MAAM,CAACsE,qBADgB,EAEvBtE,MAAM,CAACuE,yBAFgB,CAFI,CAA7B;AAQA,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGvE,MAAM,CAACwE;AAArB,OACC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAEpB,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEpD,MAAM,CAACyE,cAAT,EAAyBxB,cAAzB;AAAd,OACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPjD,MAAM,CAAC0E,YADA,EAEP;AACCC,QAAAA,WAAW,EAAEtF;AADd,OAFO;AADT,OAQG2E,SAAS,IACV,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGhE,MAAM,CAAC4E;AAArB,OACC,cAAC,WAAD;AACC,MAAA,UAAU,EAAGxB,UADd;AAEC,MAAA,KAAK,EAAGpD,MAAM,CAAC6E,KAFhB;AAGC,MAAA,MAAM,EAAG;AAAEC,QAAAA,GAAG,EAAExD;AAAP,OAHV;AAIC,MAAA,MAAM,EAAG;AAJV,MADD,CATF,EAkBG,CAAE0C,SAAF,IACD,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGC;AAAd,OACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGjE,MAAM,CAAC+E;AAArB,OACGvB,cAAc,GACb,KAAKvB,OAAL,CAAc7B,SAAS,CAACE,KAAxB,CADa,GAEb,KAAK2B,OAAL,CACA7B,SAAS,CAACC,WADV,CAHJ,CADD,EAQGmD,cAAc,IACf,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGY;AAAd,OACGX,YADH,CATF,CAnBF,CADD,CAND,CADD,CADD;AAgDA;;AAEDuB,EAAAA,aAAa,CAAExD,MAAF,EAAUwB,gBAAV,EAA6B;AACzC,UAAM;AAAElB,MAAAA;AAAF,QAAgB,KAAKP,KAA3B;AACA,QAAI0D,YAAY,GAAG,IAAnB;;AAEA,YAASnD,SAAT;AACC,WAAK9C,gBAAL;AACCiG,QAAAA,YAAY,GAAG,KAAKlC,WAAL,CAAkBvB,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;;AACD,WAAK/D,gBAAL;AACCgG,QAAAA,YAAY,GAAG,KAAKlB,WAAL,CAAkBvC,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;AANF;;AAQA,WAAOiC,YAAP;AACA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,WACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAG,KAAKjD,OAAL,CAAc7B,SAAS,CAACC,WAAxB,CADR;AAEC,MAAA,MAAM,EAAG;AACR8E,QAAAA,KAAK,EAAE3F,EAAE,CAAE,YAAF;AADD,OAFV;AAKC,MAAA,QAAQ,EAAG,KAAKwB,yBALjB;AAMC,MAAA,YAAY,EAAGb,mBANhB;AAOC,MAAA,OAAO,EAAG,KAAKoB,KAAL,CAAW6D;AAPtB,MADD;AAWA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAE/D,MAAAA,QAAF;AAAYD,MAAAA,OAAZ;AAAqBS,MAAAA,SAArB;AAAgCwD,MAAAA;AAAhC,QAAuD,KAAK/D,KAAlE;AACA,UAAMgE,QAAQ,GAAGzD,SAAS,KAAK9C,gBAAd,GAAiCsC,QAAjC,GAA4C,IAA7D;;AAEA,QAAKA,QAAL,EAAgB;AACf,aACC,cAAC,WAAD;AACC,QAAA,gBAAgB,EAAG,IADpB;AAEC,QAAA,QAAQ,EAAG,KAAKN,yBAFjB;AAGC,QAAA,YAAY,EAAGb,mBAHhB;AAIC,QAAA,KAAK,EAAGkB,OAJT;AAKC,QAAA,MAAM,EAAG,QAAiC;AAAA,cAA/B;AAAEmE,YAAAA,IAAF;AAAQC,YAAAA;AAAR,WAA+B;AACzCH,UAAAA,kBAAkB,CAAEE,IAAF,CAAlB;AAEA,iBACC,8BACGC,eAAe,EADlB,EAGC,cAAC,mBAAD;AACC,YAAA,QAAQ,EAAGF,QADZ;AAEC,YAAA,OAAO,EAAGlE,OAFX;AAGC,YAAA,qBAAqB,EACpB,KAAKV,mBAJP;AAMC,YAAA,8BAA8B,EAC7B,KAAKE,4BAPP;AASC,YAAA,8BAA8B,EAC7B,KAAKC,4BAVP;AAYC,YAAA,uBAAuB,EACtB,KAAKC,qBAbP;AAeC,YAAA,aAAa,EAAKS,MAAF,IAAc;AAC7B,qBAAO,KAAKwD,aAAL,CACNxD,MADM,EAENgE,IAFM,CAAP;AAIA;AApBF,YAHD,CADD;AA4BA;AApCF,QADD;AAwCA;;AACD,WAAO,KAAKN,iBAAL,EAAP;AACA;;AA1UqC;;AA6UvC,eAAevF,OAAO,CAAE,CACvBE,YAAY,CAAI6F,QAAF,IAAgB;AAC7B,QAAM;AAAE5C,IAAAA;AAAF,MAAwB4C,QAAQ,CAAE3F,YAAF,CAAtC;AAEA,SAAO;AAAE+C,IAAAA;AAAF,GAAP;AACA,CAJW,CADW,EAMvBlD,wBANuB,CAAF,CAAP,CAOVY,cAPU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport icon from './media-container-icon';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption = this.onSelectMediaUploadOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tconst { createErrorNotice } = this.props;\n\n\t\tcreateErrorNotice( __( 'Failed to insert media.' ) );\n\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params, openMediaOptions ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( MediaContainer );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","withDispatch","store","noticesStore","styles","icon","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","createErrorNotice","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions","dispatch"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,EAAqBC,wBAArB,QAAqD,cAArD;AAEA;AACA;AACA;;AACA,SACCC,eADD,EAECC,6BAFD,EAGCC,8BAHD,EAICC,6BAJD,QAKO,gCALP;AAMA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,yBAAtB,QAAuD,uBAAvD;AACA,SACCC,gBADD,EAECC,gBAFD,EAGCC,gBAHD,EAICC,WAJD,EAKCC,mBALD,EAMCC,kBAND,EAOCC,WAPD,QAQO,yBARP;AASA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,EAAgBC,WAAhB,QAAmC,gBAAnC;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,IAAP,MAAiB,wBAAjB;AACA,OAAOC,YAAP,MAAyB,cAAzB;AAEA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG,CAAEnB,gBAAF,EAAoBC,gBAApB,CAA5B;AAEA,MAAMmB,SAAS,GAAG;AACjBC,EAAAA,WAAW,EAAE,aADI;AAEjBC,EAAAA,KAAK,EAAE;AAFU,CAAlB;AAKA,SAASC,eAAT,QAAgC,sBAAhC;;AAEA,MAAMC,cAAN,SAA6BjB,SAA7B,CAAuC;AACtCkB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBC,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKC,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCD,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKE,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCF,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKG,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BH,IAA3B,CAAiC,IAAjC,CAA7B;AACA,SAAKI,yBAAL,GAAiC,KAAKA,yBAAL,CAA+BJ,IAA/B,CAChC,IADgC,CAAjC;AAGA,SAAKK,cAAL,GAAsB,KAAKA,cAAL,CAAoBL,IAApB,CAA0B,IAA1B,CAAtB;AAEA,SAAKM,KAAL,GAAa;AACZC,MAAAA,kBAAkB,EAAE;AADR,KAAb;AAGA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAwB,KAAKC,KAAnC,CADmB,CAGnB;AACA;;AACA,QAAKF,OAAO,IAAIC,QAAX,IAAuB5B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAAxD,EAAkE;AACjE7C,MAAAA,eAAe;AACf;AACD;;AAEDuC,EAAAA,yBAAyB,CAAEQ,MAAF,EAAW;AACnC,UAAM;AAAEC,MAAAA,EAAF;AAAMC,MAAAA,GAAN;AAAWC,MAAAA;AAAX,QAAoBH,MAA1B;AACA,UAAM;AAAEI,MAAAA;AAAF,QAAoB,KAAKL,KAA/B;AAEAK,IAAAA,aAAa,CAAE;AACdC,MAAAA,UAAU,EAAEF,IADE;AAEdF,MAAAA,EAFc;AAGdC,MAAAA;AAHc,KAAF,CAAb;AAKA;;AAEDT,EAAAA,cAAc,GAAG;AAChB,UAAM;AAAEE,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACLG,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLQ,MAAAA,SAHK;AAILC,MAAAA,eAJK;AAKLC,MAAAA;AALK,QAMF,KAAKT,KANT;;AAQA,QAAKJ,kBAAL,EAA0B;AACzBxC,MAAAA,8BAA8B,CAAE0C,OAAF,CAA9B;AACA,KAFD,MAEO,IAAKA,OAAO,IAAI3B,WAAW,CAAE4B,QAAF,CAAX,KAA4B,OAA5C,EAAsD;AAC5D5C,MAAAA,6BAA6B,CAAE2C,OAAF,CAA7B;AACA,KAFM,MAEA,IAAKS,SAAS,KAAK9C,gBAAd,IAAkC+C,eAAvC,EAAyD;AAC/DnD,MAAAA,6BAA6B,CAAE0C,QAAF,CAA7B;AACA,KAFM,MAEA,IAAKQ,SAAS,KAAK9C,gBAAnB,EAAsC;AAC5CgD,MAAAA,eAAe;AACf;AACD;;AAEDC,EAAAA,OAAO,CAAEC,QAAF,EAAa;AACnB,UAAM;AAAEJ,MAAAA,SAAF;AAAaK,MAAAA;AAAb,QAA0C,KAAKZ,KAArD;AACA,QAAIa,SAAJ;;AACA,YAASF,QAAT;AACC,WAAK9B,SAAS,CAACE,KAAf;AACC8B,QAAAA,SAAS,GACRN,SAAS,KAAK9C,gBAAd,GACGgB,MAAM,CAACqC,SADV,GAEGF,wBAAwB,CACxBnC,MAAM,CAACsC,cADiB,EAExBtC,MAAM,CAACuC,kBAFiB,CAH5B;AAQA,eAAO,cAAC,IAAD;AAAM,UAAA,IAAI,EAAGrC;AAAb,WAAiCkC,SAAjC,EAAP;;AACD,WAAKhC,SAAS,CAACC,WAAf;AACC+B,QAAAA,SAAS,GAAGD,wBAAwB,CACnCnC,MAAM,CAACwC,eAD4B,EAEnCxC,MAAM,CAACyC,mBAF4B,CAApC;AAIA;AAhBF;;AAkBA,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGxC;AAAb,OAAyBmC,SAAzB,EAAP;AACA;;AAEDzB,EAAAA,mBAAmB,GAAG;AACrB,QAAK,CAAE,KAAKO,KAAL,CAAWC,kBAAlB,EAAuC;AACtC,WAAKuB,QAAL,CAAe;AAAEvB,QAAAA,kBAAkB,EAAE;AAAtB,OAAf;AACA;AACD;;AAEDN,EAAAA,4BAA4B,CAAE8B,OAAF,EAAY;AACvC,UAAM;AAAEC,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AACdnB,MAAAA,EAAE,EAAEkB,OAAO,CAACE,aADE;AAEdnB,MAAAA,GAAG,EAAEiB,OAAO,CAACrB;AAFC,KAAF,CAAb;AAIA,SAAKoB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDL,EAAAA,4BAA4B,GAAG;AAC9B,UAAM;AAAEgC,MAAAA;AAAF,QAAwB,KAAKvB,KAAnC;AAEAuB,IAAAA,iBAAiB,CAAEtD,EAAE,CAAE,yBAAF,CAAJ,CAAjB;AAEA,SAAKkD,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDJ,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAE6B,MAAAA;AAAF,QAAoB,KAAKrB,KAA/B;AAEAqB,IAAAA,aAAa,CAAE;AAAEnB,MAAAA,EAAE,EAAE,IAAN;AAAYC,MAAAA,GAAG,EAAE;AAAjB,KAAF,CAAb;AACA,SAAKgB,QAAL,CAAe;AAAEvB,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAED4B,EAAAA,WAAW,CAAEvB,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AAAE7B,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AACL+B,MAAAA,cADK;AAELC,MAAAA,UAFK;AAGLC,MAAAA,SAHK;AAILpB,MAAAA,eAJK;AAKLqB,MAAAA,UALK;AAMLC,MAAAA,QANK;AAOL/B,MAAAA,QAPK;AAQLgC,MAAAA,UARK;AASLC,MAAAA;AATK,QAUF,KAAKhC,KAVT;AAWA,UAAM;AAAEiC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMkC,gBAAgB,GAAG,CAAER,UAAF,GACtBnE,yBADsB,GAEtBmE,UAFH;AAIA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPC,SAAS,IAAInD,MAAM,CAAC2D,mBADb,EAEPR,SAAS,IACRI,WADD,IACgB;AACdK,QAAAA,MAAM,EAAE5D,MAAM,CAACmD,SAAP,CAAiBS;AADX,OAHT;AADT,OASC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAER,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPD,SAAS,IAAInD,MAAM,CAAC6D,YADb,EAEP7D,MAAM,CAAC8D,mBAFA,EAGP,CAAE3C,kBAAF,IAAwB8B,cAHjB;AADT,OAOC,cAAC,KAAD;AACC,MAAA,KAAK,EAAC,QADP;AAEC,MAAA,GAAG,EAAGI,QAFP;AAGC,MAAA,UAAU,EAAGF,SAAS,IAAIO,gBAH3B;AAIC,MAAA,UAAU,EAAG3B,eAJd;AAKC,MAAA,cAAc,EAAGyB,cALlB;AAMC,MAAA,kBAAkB,EAAGrC,kBANtB;AAOC,MAAA,yBAAyB,EACxB,KAAKH,yBARP;AAUC,MAAA,gBAAgB,EAAGgC,gBAVpB;AAWC,MAAA,YAAY,EAAGS,YAXhB;AAYC,MAAA,GAAG,EAAGnC,QAZP;AAaC,MAAA,KAAK,EAAG,CAAEH,kBAAF,IAAwBmC;AAbjC,MAPD,CAND,CATD,CADD;AA0CA;;AAEDS,EAAAA,WAAW,CAAEvC,MAAF,EAAUwB,gBAAV,EAA6B;AACvC,UAAM;AACLC,MAAAA,cADK;AAEL3B,MAAAA,QAFK;AAGL8B,MAAAA,UAHK;AAILjB,MAAAA;AAJK,QAKF,KAAKZ,KALT;AAMA,UAAM;AAAEJ,MAAAA;AAAF,QAAyB,KAAKD,KAApC;AACA,UAAM;AAAEsC,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAmCjC,MAAzC;AACA,UAAMwC,SAAS,GACdvE,KAAK,CAAE6B,QAAF,CAAL,IAAqB,CAAEH,kBAAvB,IAA6C,CAAEqC,cADhD;AAGA,UAAMS,sBAAsB,GAAG9B,wBAAwB,CACtDnC,MAAM,CAACkE,gBAD+C,EAEtDlE,MAAM,CAACmE,oBAF+C,CAAvD;AAIA,UAAMC,oBAAoB,GAAG,CAC5BpE,MAAM,CAACqE,gBADqB,EAE5BlC,wBAAwB,CACvBnC,MAAM,CAACsE,qBADgB,EAEvBtE,MAAM,CAACuE,yBAFgB,CAFI,CAA7B;AAQA,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGvE,MAAM,CAACwE;AAArB,OACC,cAAC,wBAAD;AACC,MAAA,UAAU,EAAG,CAAEpB,UADhB;AAEC,MAAA,OAAO,EAAG,KAAKnC,cAFhB;AAGC,MAAA,WAAW,EAAG+B,gBAHf;AAIC,MAAA,QAAQ,EAAG,CAAEI;AAJd,OAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEpD,MAAM,CAACyE,cAAT,EAAyBxB,cAAzB;AAAd,OACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPjD,MAAM,CAAC0E,YADA,EAEP;AACCC,QAAAA,WAAW,EAAEtF;AADd,OAFO;AADT,OAQG2E,SAAS,IACV,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGhE,MAAM,CAAC4E;AAArB,OACC,cAAC,WAAD;AACC,MAAA,UAAU,EAAGxB,UADd;AAEC,MAAA,KAAK,EAAGpD,MAAM,CAAC6E,KAFhB;AAGC,MAAA,MAAM,EAAG;AAAEC,QAAAA,GAAG,EAAExD;AAAP,OAHV;AAIC,MAAA,MAAM,EAAG;AAJV,MADD,CATF,EAkBG,CAAE0C,SAAF,IACD,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGC;AAAd,OACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGjE,MAAM,CAAC+E;AAArB,OACGvB,cAAc,GACb,KAAKvB,OAAL,CAAc7B,SAAS,CAACE,KAAxB,CADa,GAEb,KAAK2B,OAAL,CACA7B,SAAS,CAACC,WADV,CAHJ,CADD,EAQGmD,cAAc,IACf,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGY;AAAd,OACGX,YADH,CATF,CAnBF,CADD,CAND,CADD,CADD;AAgDA;;AAEDuB,EAAAA,aAAa,CAAExD,MAAF,EAAUwB,gBAAV,EAA6B;AACzC,UAAM;AAAElB,MAAAA;AAAF,QAAgB,KAAKP,KAA3B;AACA,QAAI0D,YAAY,GAAG,IAAnB;;AAEA,YAASnD,SAAT;AACC,WAAK9C,gBAAL;AACCiG,QAAAA,YAAY,GAAG,KAAKlC,WAAL,CAAkBvB,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;;AACD,WAAK/D,gBAAL;AACCgG,QAAAA,YAAY,GAAG,KAAKlB,WAAL,CAAkBvC,MAAlB,EAA0BwB,gBAA1B,CAAf;AACA;AANF;;AAQA,WAAOiC,YAAP;AACA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,WACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAG,KAAKjD,OAAL,CAAc7B,SAAS,CAACC,WAAxB,CADR;AAEC,MAAA,MAAM,EAAG;AACR8E,QAAAA,KAAK,EAAE3F,EAAE,CAAE,YAAF;AADD,OAFV;AAKC,MAAA,QAAQ,EAAG,KAAKwB,yBALjB;AAMC,MAAA,YAAY,EAAGb,mBANhB;AAOC,MAAA,OAAO,EAAG,KAAKoB,KAAL,CAAW6D;AAPtB,MADD;AAWA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAE/D,MAAAA,QAAF;AAAYD,MAAAA,OAAZ;AAAqBS,MAAAA,SAArB;AAAgCwD,MAAAA;AAAhC,QAAuD,KAAK/D,KAAlE;AACA,UAAMgE,QAAQ,GAAGzD,SAAS,KAAK9C,gBAAd,GAAiCsC,QAAjC,GAA4C,IAA7D;;AAEA,QAAKA,QAAL,EAAgB;AACf,aACC,cAAC,WAAD;AACC,QAAA,gBAAgB,EAAG,IADpB;AAEC,QAAA,QAAQ,EAAG,KAAKN,yBAFjB;AAGC,QAAA,YAAY,EAAGb,mBAHhB;AAIC,QAAA,KAAK,EAAGkB,OAJT;AAKC,QAAA,MAAM,EAAG,QAAiC;AAAA,cAA/B;AAAEmE,YAAAA,IAAF;AAAQC,YAAAA;AAAR,WAA+B;AACzCH,UAAAA,kBAAkB,CAAEE,IAAF,CAAlB;AAEA,iBACC,8BACGC,eAAe,EADlB,EAGC,cAAC,mBAAD;AACC,YAAA,QAAQ,EAAGF,QADZ;AAEC,YAAA,OAAO,EAAGlE,OAFX;AAGC,YAAA,qBAAqB,EACpB,KAAKV,mBAJP;AAMC,YAAA,8BAA8B,EAC7B,KAAKE,4BAPP;AASC,YAAA,8BAA8B,EAC7B,KAAKC,4BAVP;AAYC,YAAA,uBAAuB,EACtB,KAAKC,qBAbP;AAeC,YAAA,aAAa,EAAKS,MAAF,IAAc;AAC7B,qBAAO,KAAKwD,aAAL,CACNxD,MADM,EAENgE,IAFM,CAAP;AAIA;AApBF,YAHD,CADD;AA4BA;AApCF,QADD;AAwCA;;AACD,WAAO,KAAKN,iBAAL,EAAP;AACA;;AA1UqC;;AA6UvC,eAAevF,OAAO,CAAE,CACvBE,YAAY,CAAI6F,QAAF,IAAgB;AAC7B,QAAM;AAAE5C,IAAAA;AAAF,MAAwB4C,QAAQ,CAAE3F,YAAF,CAAtC;AAEA,SAAO;AAAE+C,IAAAA;AAAF,GAAP;AACA,CAJW,CADW,EAMvBlD,wBANuB,CAAF,CAAP,CAOVY,cAPU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport icon from './media-container-icon';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption = this.onSelectMediaUploadOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tconst { createErrorNotice } = this.props;\n\n\t\tcreateErrorNotice( __( 'Failed to insert media.' ) );\n\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params, openMediaOptions ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( MediaContainer );\n"]}
@@ -136,7 +136,7 @@ export class UnsupportedBlockEdit extends Component {
136
136
  // On iOS, onModalHide is called when the controller is still part of the hierarchy.
137
137
  // A small delay will ensure that the controller has already been removed.
138
138
  this.timeout = setTimeout(() => {
139
- // for the Classic block, the content is kept in the `content` attribute
139
+ // For the Classic block, the content is kept in the `content` attribute.
140
140
  const content = blockName === 'core/freeform' ? attributes.content : attributes.originalContent;
141
141
  requestUnsupportedBlockFallback(content, clientId, blockName, blockTitle);
142
142
  }, 100);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/missing/edit.native.js"],"names":["View","Text","TouchableWithoutFeedback","TouchableHighlight","requestUnsupportedBlockFallback","sendActionButtonPressedAction","actionButtons","BottomSheet","Icon","TextControl","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","store","blockEditorStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","helpIconContainer","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","isEditableInUnsupportedBlockEditor","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","titleFormat","missingBlockDetail","missingBlockActionButton","actionButtonStyle","actionButton","actionButtonDark","setTimeout","content","originalContent","missingBlockAlertActionButton","infoContainer","size","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","icon","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","unsupportedBlock","unsupportedBlockDark","src","select","getSettings","unsupportedBlockEditor","includes","dispatch","ownProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableHighlight,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tcolor={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\tattributes,\n\t\t\tclientId,\n\t\t\tisUnsupportedBlockEditorSupported,\n\t\t\tcanEnableUnsupportedBlockEditor,\n\t\t\tisEditableInUnsupportedBlockEditor,\n\t\t} = this.props;\n\t\tconst infoTextStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoText,\n\t\t\tstyles.infoTextDark\n\t\t);\n\t\tconst infoTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoTitle,\n\t\t\tstyles.infoTitleDark\n\t\t);\n\t\tconst infoDescriptionStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoDescription,\n\t\t\tstyles.infoDescriptionDark\n\t\t);\n\t\tconst infoSheetIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoSheetIcon,\n\t\t\tstyles.infoSheetIconDark\n\t\t);\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst infoTitle = sprintf( titleFormat, blockTitle );\n\t\tconst missingBlockDetail = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' )\n\t\t);\n\t\tconst missingBlockActionButton = applyFilters(\n\t\t\t'native.missing_block_action_button',\n\t\t\t__( 'Edit using web editor' )\n\t\t);\n\n\t\tconst actionButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ this.state.showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ this.closeSheet }\n\t\t\t\tonModalHide={ () => {\n\t\t\t\t\tif ( this.state.sendFallbackMessage ) {\n\t\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\t// for the Classic block, the content is kept in the `content` attribute\n\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\tblockName === 'core/freeform'\n\t\t\t\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t\t\t\t: attributes.originalContent;\n\t\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendFallbackMessage: false } );\n\t\t\t\t\t} else if ( this.state.sendButtonPressMessage ) {\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendButtonPressMessage: false } );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ isEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t\t{ missingBlockDetail }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ ( isUnsupportedBlockEditorSupported ||\n\t\t\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\t\t\t\tisEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ missingBlockActionButton }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.requestFallback }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\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</BottomSheet>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\tcolor={ iconStyle.color }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tgetSettings( 'capabilities' ).unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tgetSettings( 'capabilities' )\n\t\t\t\t\t.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor: ! UBE_INCOMPATIBLE_BLOCKS.includes(\n\t\t\t\tattributes.originalName\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/missing/edit.native.js"],"names":["View","Text","TouchableWithoutFeedback","TouchableHighlight","requestUnsupportedBlockFallback","sendActionButtonPressedAction","actionButtons","BottomSheet","Icon","TextControl","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","store","blockEditorStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","helpIconContainer","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","isEditableInUnsupportedBlockEditor","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","titleFormat","missingBlockDetail","missingBlockActionButton","actionButtonStyle","actionButton","actionButtonDark","setTimeout","content","originalContent","missingBlockAlertActionButton","infoContainer","size","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","icon","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","unsupportedBlock","unsupportedBlockDark","src","select","getSettings","unsupportedBlockEditor","includes","dispatch","ownProps"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,IADD,EAECC,IAFD,EAGCC,wBAHD,EAICC,kBAJD,QAKO,cALP;AAOA;AACA;AACA;;AACA,SACCC,+BADD,EAECC,6BAFD,EAGCC,aAHD,QAIO,gCAJP;AAKA,SAASC,WAAT,EAAsBC,IAAtB,EAA4BC,WAA5B,QAA+C,uBAA/C;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,mBAAT,QAAoC,mBAApC;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,IAAT,EAAeC,OAAf,QAA8B,kBAA9B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB,C,CAEA;;AACA,MAAMC,uBAAuB,GAAG,CAAE,YAAF,CAAhC;AACA,MAAMC,uBAAuB,GAAG,aAAhC;AAEA,OAAO,MAAMC,oBAAN,SAAmCd,SAAnC,CAA6C;AACnDe,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,KAAL,GAAa;AAAEC,MAAAA,QAAQ,EAAE;AAAZ,KAAb;AACA,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAuB,IAAvB,CAAnB;AACA,SAAKC,UAAL,GAAkB,KAAKA,UAAL,CAAgBD,IAAhB,CAAsB,IAAtB,CAAlB;AACA,SAAKE,eAAL,GAAuB,KAAKA,eAAL,CAAqBF,IAArB,CAA2B,IAA3B,CAAvB;AACA,SAAKG,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBH,IAAzB,CAA+B,IAA/B,CAA3B;AACA;;AAEDD,EAAAA,WAAW,GAAG;AACb,SAAKK,QAAL,CAAe;AACdN,MAAAA,QAAQ,EAAE,CAAE,KAAKD,KAAL,CAAWC;AADT,KAAf;AAGA;;AAEDG,EAAAA,UAAU,GAAG;AACZ,SAAKG,QAAL,CAAe;AACdN,MAAAA,QAAQ,EAAE;AADI,KAAf;AAGA;;AAEDO,EAAAA,oBAAoB,GAAG;AACtB,QAAK,KAAKC,OAAV,EAAoB;AACnBC,MAAAA,YAAY,CAAE,KAAKD,OAAP,CAAZ;AACA;AACD;;AAEDE,EAAAA,QAAQ,GAAG;AACV,UAAM;AAAEC,MAAAA;AAAF,QAAmB,KAAKb,KAAL,CAAWc,UAApC;AACA,UAAMC,SAAS,GAAGjC,UAAU,CAAE+B,YAAF,CAA5B;AACA,UAAMG,KAAK,GAAGD,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEE,QAAX,CAAoBD,KAAlC;AACA,UAAME,UAAU,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEE,QAAX,CAAoBC,UAAvC;AAEA,WAAOF,KAAK,IAAIE,UAAT,GACJ;AACAhC,IAAAA,EAAE,CAAE8B,KAAF,EAASnB,uBAAT,EAAkCqB,UAAlC,CAFE,GAGJL,YAHH;AAIA;;AAEDM,EAAAA,cAAc,GAAG;AAChB,UAAMC,aAAa,GAAG,KAAKpB,KAAL,CAAWqB,wBAAX,CACrB1B,MAAM,CAAC2B,QADc,EAErB3B,MAAM,CAAC4B,YAFc,CAAtB;AAKA,WACC,cAAC,kBAAD;AACC,MAAA,OAAO,EAAG,KAAKhB,mBADhB;AAEC,MAAA,KAAK,EAAGZ,MAAM,CAAC6B,iBAFhB;AAGC,MAAA,kBAAkB,EAAGvC,EAAE,CAAE,aAAF,CAHxB;AAIC,MAAA,iBAAiB,EAAG,QAJrB;AAKC,MAAA,iBAAiB,EAAGA,EAAE,CAAE,uBAAF;AALvB,OAOC,cAAC,IAAD;AACC,MAAA,SAAS,EAAC,uBADX;AAEC,MAAA,KAAK,EAAGA,EAAE,CAAE,WAAF,CAFX;AAGC,MAAA,IAAI,EAAGG,IAHR;AAIC,MAAA,KAAK,EAAGgC,aAAa,CAACK;AAJvB,MAPD,CADD;AAgBA;;AAEDlB,EAAAA,mBAAmB,GAAG;AACrB,QAAK,CAAE,KAAKP,KAAL,CAAW0B,UAAlB,EAA+B;AAC9B,WAAK1B,KAAL,CAAW2B,WAAX;AACA;;AACD,SAAKxB,WAAL;AACA;;AAEDG,EAAAA,eAAe,GAAG;AACjB,QACC,KAAKN,KAAL,CAAW4B,+BAAX,IACA,KAAK5B,KAAL,CAAW6B,iCAAX,KAAiD,KAFlD,EAGE;AACD,WAAK1B,WAAL;AACA,WAAKK,QAAL,CAAe;AAAEsB,QAAAA,sBAAsB,EAAE;AAA1B,OAAf;AACA,KAND,MAMO;AACN,WAAK3B,WAAL;AACA,WAAKK,QAAL,CAAe;AAAEuB,QAAAA,mBAAmB,EAAE;AAAvB,OAAf;AACA;AACD;;AAEDC,EAAAA,WAAW,CAAEC,UAAF,EAAcC,SAAd,EAA0B;AACpC,UAAM;AACLb,MAAAA,wBADK;AAELP,MAAAA,UAFK;AAGLqB,MAAAA,QAHK;AAILN,MAAAA,iCAJK;AAKLD,MAAAA,+BALK;AAMLQ,MAAAA;AANK,QAOF,KAAKpC,KAPT;AAQA,UAAMqC,aAAa,GAAGhB,wBAAwB,CAC7C1B,MAAM,CAAC2C,QADsC,EAE7C3C,MAAM,CAAC4C,YAFsC,CAA9C;AAIA,UAAMC,cAAc,GAAGnB,wBAAwB,CAC9C1B,MAAM,CAAC8C,SADuC,EAE9C9C,MAAM,CAAC+C,aAFuC,CAA/C;AAIA,UAAMC,oBAAoB,GAAGtB,wBAAwB,CACpD1B,MAAM,CAACiD,eAD6C,EAEpDjD,MAAM,CAACkD,mBAF6C,CAArD;AAIA,UAAMC,kBAAkB,GAAGzB,wBAAwB,CAClD1B,MAAM,CAACoD,aAD2C,EAElDpD,MAAM,CAACqD,iBAF2C,CAAnD;AAKA;;AACA,UAAMC,WAAW,GAAGhE,EAAE,CAAE,6BAAF,CAAtB;;AACA,UAAMwD,SAAS,GAAGtD,OAAO,CAAE8D,WAAF,EAAehB,UAAf,CAAzB;AACA,UAAMiB,kBAAkB,GAAG1D,YAAY,CACtC,6BADsC,EAEtCP,EAAE,CAAE,2DAAF,CAFoC,CAAvC;AAIA,UAAMkE,wBAAwB,GAAG3D,YAAY,CAC5C,oCAD4C,EAE5CP,EAAE,CAAE,uBAAF,CAF0C,CAA7C;AAKA,UAAMmE,iBAAiB,GAAG/B,wBAAwB,CACjD1B,MAAM,CAAC0D,YAD0C,EAEjD1D,MAAM,CAAC2D,gBAF0C,CAAlD;AAKA,WACC,cAAC,WAAD;AACC,MAAA,SAAS,EAAG,KAAKrD,KAAL,CAAWC,QADxB;AAEC,MAAA,UAAU,MAFX;AAGC,MAAA,OAAO,EAAG,KAAKG,UAHhB;AAIC,MAAA,WAAW,EAAG,MAAM;AACnB,YAAK,KAAKJ,KAAL,CAAW8B,mBAAhB,EAAsC;AACrC;AACA;AACA,eAAKrB,OAAL,GAAe6C,UAAU,CAAE,MAAM;AAChC;AACA,kBAAMC,OAAO,GACZtB,SAAS,KAAK,eAAd,GACGpB,UAAU,CAAC0C,OADd,GAEG1C,UAAU,CAAC2C,eAHf;AAIAnF,YAAAA,+BAA+B,CAC9BkF,OAD8B,EAE9BrB,QAF8B,EAG9BD,SAH8B,EAI9BD,UAJ8B,CAA/B;AAMA,WAZwB,EAYtB,GAZsB,CAAzB;AAaA,eAAKzB,QAAL,CAAe;AAAEuB,YAAAA,mBAAmB,EAAE;AAAvB,WAAf;AACA,SAjBD,MAiBO,IAAK,KAAK9B,KAAL,CAAW6B,sBAAhB,EAAyC;AAC/C,eAAKpB,OAAL,GAAe6C,UAAU,CAAE,MAAM;AAChChF,YAAAA,6BAA6B,CAC5BC,aAAa,CAACkF,6BADc,CAA7B;AAGA,WAJwB,EAItB,GAJsB,CAAzB;AAKA,eAAKlD,QAAL,CAAe;AAAEsB,YAAAA,sBAAsB,EAAE;AAA1B,WAAf;AACA;AACD;AA9BF,OAgCC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGnC,MAAM,CAACgE;AAArB,OACC,cAAC,IAAD;AACC,MAAA,IAAI,EAAGvE,IADR;AAEC,MAAA,KAAK,EAAG0D,kBAAkB,CAACrB,KAF5B;AAGC,MAAA,IAAI,EAAG9B,MAAM,CAACoD,aAAP,CAAqBa;AAH7B,MADD,EAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEvB,aAAF,EAAiBG,cAAjB;AAAd,OACGC,SADH,CAND,EASGL,kCAAkC,IACnC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEC,aAAF,EAAiBM,oBAAjB;AAAd,OACGO,kBADH,CAVF,CAhCD,EA+CG,CAAErB,iCAAiC,IACpCD,+BADC,KAEDQ,kCAFC,IAGA,8BACC,cAAC,WAAD;AACC,MAAA,KAAK,EAAGe,wBADT;AAEC,MAAA,aAAa,EAAC,cAFf;AAGC,MAAA,OAAO,EAAG,KAAK7C,eAHhB;AAIC,MAAA,UAAU,EAAG8C;AAJd,MADD,EAOC,cAAC,WAAD;AACC,MAAA,KAAK,EAAGnE,EAAE,CAAE,SAAF,CADX;AAEC,MAAA,aAAa,EAAC,cAFf;AAGC,MAAA,OAAO,EAAG,KAAKkB,WAHhB;AAIC,MAAA,UAAU,EAAGiD;AAJd,MAPD,CAlDH,CADD;AAoEA;;AAEDS,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEhD,MAAAA;AAAF,QAAmB,KAAKb,KAAL,CAAWc,UAApC;AACA,UAAM;AAAEO,MAAAA,wBAAF;AAA4ByC,MAAAA;AAA5B,QAAqD,KAAK9D,KAAhE;AACA,UAAMe,SAAS,GAAGjC,UAAU,CAAE+B,YAAF,CAA5B;AAEA,UAAMG,KAAK,GAAG,KAAKJ,QAAL,EAAd;AACA,UAAMmD,UAAU,GAAG1C,wBAAwB,CAC1C1B,MAAM,CAACqE,uBADmC,EAE1CrE,MAAM,CAACsE,2BAFmC,CAA3C;AAKA,UAAMC,aAAa,GAAG7C,wBAAwB,CAC7C1B,MAAM,CAACwE,wBADsC,EAE7CxE,MAAM,CAACyE,4BAFsC,CAA9C;AAIA,UAAMC,QAAQ,GACb,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGH;AAAd,OAAgCjF,EAAE,CAAE,aAAF,CAAlC,CADD;AAIA,UAAMqF,IAAI,GAAGvD,SAAS,GACnBhC,mBAAmB,CAAEgC,SAAS,CAACwD,QAAV,CAAmBD,IAArB,CADA,GAEnBjF,OAFH;AAGA,UAAMmF,SAAS,GAAGnD,wBAAwB,CACzC1B,MAAM,CAAC8E,oBADkC,EAEzC9E,MAAM,CAAC+E,wBAFkC,CAA1C;AAIA,UAAMC,aAAa,GAAG,qBAAqB,GAArB,GAA2Bb,oBAAjD;AACA,WACC,cAAC,wBAAD;AACC,MAAA,QAAQ,EAAG,CAAE,KAAK9D,KAAL,CAAW0B,UADzB;AAEC,MAAA,kBAAkB,EAAGzC,EAAE,CAAE,aAAF,CAFxB;AAGC,MAAA,iBAAiB,EAAG,QAHrB;AAIC,MAAA,iBAAiB,EAAGA,EAAE,CAAE,uBAAF,CAJvB;AAKC,MAAA,OAAO,EAAG,KAAKkB;AALhB,OAOC,cAAC,IAAD;AACC,MAAA,KAAK,EAAGkB,wBAAwB,CAC/B1B,MAAM,CAACiF,gBADwB,EAE/BjF,MAAM,CAACkF,oBAFwB;AADjC,OAMG,KAAK1D,cAAL,EANH,EAOC,cAAC,IAAD;AACC,MAAA,SAAS,EAAGwD,aADb;AAEC,MAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACQ,GAAb,GAAmBR,IAAI,CAACQ,GAAxB,GAA8BR,IAFtC;AAGC,MAAA,KAAK,EAAGE,SAAS,CAAC/C;AAHnB,MAPD,EAYC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGsC;AAAd,OAA6B/C,KAA7B,CAZD,EAaGqD,QAbH,EAcG,KAAKrC,WAAL,CAAkBhB,KAAlB,EAAyBH,YAAzB,CAdH,CAPD,CADD;AA0BA;;AA1PkD;AA6PpD,eAAejC,OAAO,CAAE,CACvBU,UAAU,CAAE,CAAEyF,MAAF,WAA8B;AAAA,MAApB;AAAEjE,IAAAA;AAAF,GAAoB;AACzC,QAAM;AAAEkE,IAAAA;AAAF,MAAkBD,MAAM,CAAErF,gBAAF,CAA9B;AACA,SAAO;AACNmC,IAAAA,iCAAiC,EAChCmD,WAAW,CAAE,cAAF,CAAX,CAA8BC,sBAA9B,KAAyD,IAFpD;AAGNrD,IAAAA,+BAA+B,EAC9BoD,WAAW,CAAE,cAAF,CAAX,CACEpD,+BADF,KACsC,IALjC;AAMNQ,IAAAA,kCAAkC,EAAE,CAAExC,uBAAuB,CAACsF,QAAxB,CACrCpE,UAAU,CAACD,YAD0B;AANhC,GAAP;AAUA,CAZS,CADa,EAcvBtB,YAAY,CAAE,CAAE4F,QAAF,EAAYC,QAAZ,KAA0B;AACvC,QAAM;AAAEzD,IAAAA;AAAF,MAAkBwD,QAAQ,CAAEzF,gBAAF,CAAhC;AACA,SAAO;AACNiC,IAAAA,WAAW,GAAG;AACbA,MAAAA,WAAW,CAAEyD,QAAQ,CAACjD,QAAX,CAAX;AACA;;AAHK,GAAP;AAKA,CAPW,CAdW,EAsBvBtD,wBAtBuB,CAAF,CAAP,CAuBViB,oBAvBU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableHighlight,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tcolor={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\tattributes,\n\t\t\tclientId,\n\t\t\tisUnsupportedBlockEditorSupported,\n\t\t\tcanEnableUnsupportedBlockEditor,\n\t\t\tisEditableInUnsupportedBlockEditor,\n\t\t} = this.props;\n\t\tconst infoTextStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoText,\n\t\t\tstyles.infoTextDark\n\t\t);\n\t\tconst infoTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoTitle,\n\t\t\tstyles.infoTitleDark\n\t\t);\n\t\tconst infoDescriptionStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoDescription,\n\t\t\tstyles.infoDescriptionDark\n\t\t);\n\t\tconst infoSheetIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoSheetIcon,\n\t\t\tstyles.infoSheetIconDark\n\t\t);\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst infoTitle = sprintf( titleFormat, blockTitle );\n\t\tconst missingBlockDetail = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' )\n\t\t);\n\t\tconst missingBlockActionButton = applyFilters(\n\t\t\t'native.missing_block_action_button',\n\t\t\t__( 'Edit using web editor' )\n\t\t);\n\n\t\tconst actionButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ this.state.showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ this.closeSheet }\n\t\t\t\tonModalHide={ () => {\n\t\t\t\t\tif ( this.state.sendFallbackMessage ) {\n\t\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\t// For the Classic block, the content is kept in the `content` attribute.\n\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\tblockName === 'core/freeform'\n\t\t\t\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t\t\t\t: attributes.originalContent;\n\t\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendFallbackMessage: false } );\n\t\t\t\t\t} else if ( this.state.sendButtonPressMessage ) {\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendButtonPressMessage: false } );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ isEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t\t{ missingBlockDetail }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ ( isUnsupportedBlockEditorSupported ||\n\t\t\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\t\t\t\tisEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ missingBlockActionButton }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.requestFallback }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\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</BottomSheet>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\tcolor={ iconStyle.color }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tgetSettings( 'capabilities' ).unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tgetSettings( 'capabilities' )\n\t\t\t\t\t.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor: ! UBE_INCOMPATIBLE_BLOCKS.includes(\n\t\t\t\tattributes.originalName\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"]}
@@ -17,11 +17,11 @@ const transforms = {
17
17
  customText,
18
18
  noTeaser
19
19
  } = node.dataset;
20
- const attrs = {}; // Don't copy unless defined and not an empty string
20
+ const attrs = {}; // Don't copy unless defined and not an empty string.
21
21
 
22
22
  if (customText) {
23
23
  attrs.customText = customText;
24
- } // Special handling for boolean
24
+ } // Special handling for boolean.
25
25
 
26
26
 
27
27
  if (noTeaser === '') {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/more/transforms.js"],"names":["createBlock","transforms","from","type","schema","attributes","isMatch","node","dataset","block","transform","customText","noTeaser","attrs"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,KADP;AAECC,IAAAA,MAAM,EAAE;AACP,kBAAY;AAAEC,QAAAA,UAAU,EAAE,CAAE,YAAF;AAAd;AADL,KAFT;AAKCC,IAAAA,OAAO,EAAIC,IAAF,IACRA,IAAI,CAACC,OAAL,IAAgBD,IAAI,CAACC,OAAL,CAAaC,KAAb,KAAuB,WANzC;;AAOCC,IAAAA,SAAS,CAAEH,IAAF,EAAS;AACjB,YAAM;AAAEI,QAAAA,UAAF;AAAcC,QAAAA;AAAd,UAA2BL,IAAI,CAACC,OAAtC;AACA,YAAMK,KAAK,GAAG,EAAd,CAFiB,CAGjB;;AACA,UAAKF,UAAL,EAAkB;AACjBE,QAAAA,KAAK,CAACF,UAAN,GAAmBA,UAAnB;AACA,OANgB,CAOjB;;;AACA,UAAKC,QAAQ,KAAK,EAAlB,EAAuB;AACtBC,QAAAA,KAAK,CAACD,QAAN,GAAiB,IAAjB;AACA;;AACD,aAAOZ,WAAW,CAAE,WAAF,EAAea,KAAf,CAAlB;AACA;;AAnBF,GADK;AADY,CAAnB;AA0BA,eAAeZ,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: {\n\t\t\t\t'wp-block': { attributes: [ 'data-block' ] },\n\t\t\t},\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.dataset && node.dataset.block === 'core/more',\n\t\t\ttransform( node ) {\n\t\t\t\tconst { customText, noTeaser } = node.dataset;\n\t\t\t\tconst attrs = {};\n\t\t\t\t// Don't copy unless defined and not an empty string\n\t\t\t\tif ( customText ) {\n\t\t\t\t\tattrs.customText = customText;\n\t\t\t\t}\n\t\t\t\t// Special handling for boolean\n\t\t\t\tif ( noTeaser === '' ) {\n\t\t\t\t\tattrs.noTeaser = true;\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/more', attrs );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/more/transforms.js"],"names":["createBlock","transforms","from","type","schema","attributes","isMatch","node","dataset","block","transform","customText","noTeaser","attrs"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,KADP;AAECC,IAAAA,MAAM,EAAE;AACP,kBAAY;AAAEC,QAAAA,UAAU,EAAE,CAAE,YAAF;AAAd;AADL,KAFT;AAKCC,IAAAA,OAAO,EAAIC,IAAF,IACRA,IAAI,CAACC,OAAL,IAAgBD,IAAI,CAACC,OAAL,CAAaC,KAAb,KAAuB,WANzC;;AAOCC,IAAAA,SAAS,CAAEH,IAAF,EAAS;AACjB,YAAM;AAAEI,QAAAA,UAAF;AAAcC,QAAAA;AAAd,UAA2BL,IAAI,CAACC,OAAtC;AACA,YAAMK,KAAK,GAAG,EAAd,CAFiB,CAGjB;;AACA,UAAKF,UAAL,EAAkB;AACjBE,QAAAA,KAAK,CAACF,UAAN,GAAmBA,UAAnB;AACA,OANgB,CAOjB;;;AACA,UAAKC,QAAQ,KAAK,EAAlB,EAAuB;AACtBC,QAAAA,KAAK,CAACD,QAAN,GAAiB,IAAjB;AACA;;AACD,aAAOZ,WAAW,CAAE,WAAF,EAAea,KAAf,CAAlB;AACA;;AAnBF,GADK;AADY,CAAnB;AA0BA,eAAeZ,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: {\n\t\t\t\t'wp-block': { attributes: [ 'data-block' ] },\n\t\t\t},\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.dataset && node.dataset.block === 'core/more',\n\t\t\ttransform( node ) {\n\t\t\t\tconst { customText, noTeaser } = node.dataset;\n\t\t\t\tconst attrs = {};\n\t\t\t\t// Don't copy unless defined and not an empty string.\n\t\t\t\tif ( customText ) {\n\t\t\t\t\tattrs.customText = customText;\n\t\t\t\t}\n\t\t\t\t// Special handling for boolean.\n\t\t\t\tif ( noTeaser === '' ) {\n\t\t\t\t\tattrs.noTeaser = true;\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/more', attrs );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}