@wordpress/block-library 6.0.17-next.33ec3857e2.0 → 6.0.20

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 (804) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/build/archives/index.js +0 -1
  3. package/build/archives/index.js.map +1 -1
  4. package/build/audio/index.js +0 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/block/index.js +0 -1
  7. package/build/block/index.js.map +1 -1
  8. package/build/button/edit.native.js +1 -1
  9. package/build/button/edit.native.js.map +1 -1
  10. package/build/button/index.js +1 -5
  11. package/build/button/index.js.map +1 -1
  12. package/build/buttons/index.js +0 -1
  13. package/build/buttons/index.js.map +1 -1
  14. package/build/buttons/transforms.js +0 -1
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/calendar/index.js +0 -1
  17. package/build/calendar/index.js.map +1 -1
  18. package/build/categories/index.js +0 -1
  19. package/build/categories/index.js.map +1 -1
  20. package/build/code/index.js +1 -6
  21. package/build/code/index.js.map +1 -1
  22. package/build/column/index.js +0 -1
  23. package/build/column/index.js.map +1 -1
  24. package/build/columns/index.js +1 -3
  25. package/build/columns/index.js.map +1 -1
  26. package/build/comment-author-avatar/edit.js +1 -2
  27. package/build/comment-author-avatar/edit.js.map +1 -1
  28. package/build/comment-author-avatar/index.js +2 -7
  29. package/build/comment-author-avatar/index.js.map +1 -1
  30. package/build/comment-author-name/index.js +0 -1
  31. package/build/comment-author-name/index.js.map +1 -1
  32. package/build/comment-content/index.js +0 -1
  33. package/build/comment-content/index.js.map +1 -1
  34. package/build/comment-date/index.js +0 -1
  35. package/build/comment-date/index.js.map +1 -1
  36. package/build/comment-edit-link/index.js +1 -2
  37. package/build/comment-edit-link/index.js.map +1 -1
  38. package/build/comment-reply-link/index.js +0 -1
  39. package/build/comment-reply-link/index.js.map +1 -1
  40. package/build/comment-template/edit.js +23 -98
  41. package/build/comment-template/edit.js.map +1 -1
  42. package/build/comment-template/index.js +2 -4
  43. package/build/comment-template/index.js.map +1 -1
  44. package/build/comments-query-loop/edit.js +2 -2
  45. package/build/comments-query-loop/edit.js.map +1 -1
  46. package/build/comments-query-loop/index.js +7 -4
  47. package/build/comments-query-loop/index.js.map +1 -1
  48. package/build/comments-query-loop/toolbar.js +3 -3
  49. package/build/comments-query-loop/toolbar.js.map +1 -1
  50. package/build/cover/edit.js +1 -2
  51. package/build/cover/edit.js.map +1 -1
  52. package/build/cover/index.js +0 -1
  53. package/build/cover/index.js.map +1 -1
  54. package/build/embed/deprecated.js +0 -1
  55. package/build/embed/deprecated.js.map +1 -1
  56. package/build/embed/edit.native.js +20 -23
  57. package/build/embed/edit.native.js.map +1 -1
  58. package/build/embed/embed-bottom-sheet.native.js +85 -0
  59. package/build/embed/embed-bottom-sheet.native.js.map +1 -0
  60. package/build/embed/embed-placeholder.native.js +2 -9
  61. package/build/embed/embed-placeholder.native.js.map +1 -1
  62. package/build/embed/index.js +0 -1
  63. package/build/embed/index.js.map +1 -1
  64. package/build/embed/transforms.js +0 -1
  65. package/build/embed/transforms.js.map +1 -1
  66. package/build/embed/util.js +0 -1
  67. package/build/embed/util.js.map +1 -1
  68. package/build/file/index.js +0 -1
  69. package/build/file/index.js.map +1 -1
  70. package/build/freeform/index.js +0 -1
  71. package/build/freeform/index.js.map +1 -1
  72. package/build/gallery/deprecated.js +1 -5
  73. package/build/gallery/deprecated.js.map +1 -1
  74. package/build/gallery/edit.js +1 -12
  75. package/build/gallery/edit.js.map +1 -1
  76. package/build/gallery/index.js +0 -1
  77. package/build/gallery/index.js.map +1 -1
  78. package/build/group/edit.native.js +1 -1
  79. package/build/group/edit.native.js.map +1 -1
  80. package/build/group/index.js +4 -9
  81. package/build/group/index.js.map +1 -1
  82. package/build/heading/index.js +0 -1
  83. package/build/heading/index.js.map +1 -1
  84. package/build/heading/transforms.js +0 -1
  85. package/build/heading/transforms.js.map +1 -1
  86. package/build/home-link/index.js +0 -1
  87. package/build/home-link/index.js.map +1 -1
  88. package/build/html/index.js +0 -1
  89. package/build/html/index.js.map +1 -1
  90. package/build/image/edit.js +5 -56
  91. package/build/image/edit.js.map +1 -1
  92. package/build/image/edit.native.js +1 -1
  93. package/build/image/edit.native.js.map +1 -1
  94. package/build/image/image.js +4 -15
  95. package/build/image/image.js.map +1 -1
  96. package/build/image/index.js +1 -5
  97. package/build/image/index.js.map +1 -1
  98. package/build/index.js +1 -5
  99. package/build/index.js.map +1 -1
  100. package/build/latest-comments/index.js +0 -1
  101. package/build/latest-comments/index.js.map +1 -1
  102. package/build/latest-posts/deprecated.js +0 -1
  103. package/build/latest-posts/deprecated.js.map +1 -1
  104. package/build/latest-posts/index.js +0 -1
  105. package/build/latest-posts/index.js.map +1 -1
  106. package/build/list/index.js +0 -1
  107. package/build/list/index.js.map +1 -1
  108. package/build/loginout/index.js +0 -1
  109. package/build/loginout/index.js.map +1 -1
  110. package/build/media-text/index.js +0 -1
  111. package/build/media-text/index.js.map +1 -1
  112. package/build/missing/index.js +0 -1
  113. package/build/missing/index.js.map +1 -1
  114. package/build/more/index.js +0 -1
  115. package/build/more/index.js.map +1 -1
  116. package/build/navigation/deprecated.js +1 -3
  117. package/build/navigation/deprecated.js.map +1 -1
  118. package/build/navigation/edit/index.js +106 -59
  119. package/build/navigation/edit/index.js.map +1 -1
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -2
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/placeholder/index.js +15 -7
  123. package/build/navigation/edit/placeholder/index.js.map +1 -1
  124. package/build/navigation/edit/responsive-wrapper.js +9 -7
  125. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  126. package/build/navigation/edit/unsaved-inner-blocks.js +3 -11
  127. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  128. package/build/navigation/edit/use-navigation-notice.js +54 -0
  129. package/build/navigation/edit/use-navigation-notice.js.map +1 -0
  130. package/build/navigation/index.js +2 -9
  131. package/build/navigation/index.js.map +1 -1
  132. package/build/navigation/menu-items-to-blocks.js +1 -4
  133. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  134. package/build/navigation/use-navigation-menu.js +9 -2
  135. package/build/navigation/use-navigation-menu.js.map +1 -1
  136. package/build/navigation/view.js +12 -7
  137. package/build/navigation/view.js.map +1 -1
  138. package/build/navigation-area/edit.js +1 -2
  139. package/build/navigation-area/edit.js.map +1 -1
  140. package/build/navigation-area/index.js +1 -2
  141. package/build/navigation-area/index.js.map +1 -1
  142. package/build/navigation-link/edit.js +0 -7
  143. package/build/navigation-link/edit.js.map +1 -1
  144. package/build/navigation-link/index.js +0 -1
  145. package/build/navigation-link/index.js.map +1 -1
  146. package/build/navigation-submenu/edit.js +0 -1
  147. package/build/navigation-submenu/edit.js.map +1 -1
  148. package/build/navigation-submenu/index.js +0 -1
  149. package/build/navigation-submenu/index.js.map +1 -1
  150. package/build/nextpage/index.js +0 -1
  151. package/build/nextpage/index.js.map +1 -1
  152. package/build/page-list/index.js +1 -6
  153. package/build/page-list/index.js.map +1 -1
  154. package/build/paragraph/edit.js +2 -12
  155. package/build/paragraph/edit.js.map +1 -1
  156. package/build/paragraph/index.js +0 -1
  157. package/build/paragraph/index.js.map +1 -1
  158. package/build/paragraph/transforms.js +0 -1
  159. package/build/paragraph/transforms.js.map +1 -1
  160. package/build/pattern/index.js +0 -1
  161. package/build/pattern/index.js.map +1 -1
  162. package/build/post-author/edit.js +1 -1
  163. package/build/post-author/edit.js.map +1 -1
  164. package/build/post-author/index.js +0 -1
  165. package/build/post-author/index.js.map +1 -1
  166. package/build/post-comment/index.js +0 -1
  167. package/build/post-comment/index.js.map +1 -1
  168. package/build/post-comments/index.js +0 -1
  169. package/build/post-comments/index.js.map +1 -1
  170. package/build/post-comments-count/index.js +0 -1
  171. package/build/post-comments-count/index.js.map +1 -1
  172. package/build/post-comments-form/index.js +0 -1
  173. package/build/post-comments-form/index.js.map +1 -1
  174. package/build/post-comments-link/index.js +0 -1
  175. package/build/post-comments-link/index.js.map +1 -1
  176. package/build/post-content/edit.js +1 -1
  177. package/build/post-content/edit.js.map +1 -1
  178. package/build/post-content/index.js +0 -1
  179. package/build/post-content/index.js.map +1 -1
  180. package/build/post-date/edit.js +1 -1
  181. package/build/post-date/edit.js.map +1 -1
  182. package/build/post-date/index.js +0 -1
  183. package/build/post-date/index.js.map +1 -1
  184. package/build/post-excerpt/edit.js +1 -1
  185. package/build/post-excerpt/edit.js.map +1 -1
  186. package/build/post-excerpt/index.js +0 -1
  187. package/build/post-excerpt/index.js.map +1 -1
  188. package/build/post-featured-image/dimension-controls.js +30 -50
  189. package/build/post-featured-image/dimension-controls.js.map +1 -1
  190. package/build/post-featured-image/edit.js +4 -8
  191. package/build/post-featured-image/edit.js.map +1 -1
  192. package/build/post-featured-image/index.js +0 -1
  193. package/build/post-featured-image/index.js.map +1 -1
  194. package/build/post-navigation-link/index.js +0 -1
  195. package/build/post-navigation-link/index.js.map +1 -1
  196. package/build/post-template/index.js +0 -1
  197. package/build/post-template/index.js.map +1 -1
  198. package/build/post-terms/index.js +0 -1
  199. package/build/post-terms/index.js.map +1 -1
  200. package/build/post-title/edit.js +1 -1
  201. package/build/post-title/edit.js.map +1 -1
  202. package/build/post-title/index.js +0 -1
  203. package/build/post-title/index.js.map +1 -1
  204. package/build/preformatted/edit.native.js +1 -2
  205. package/build/preformatted/edit.native.js.map +1 -1
  206. package/build/preformatted/index.js +0 -1
  207. package/build/preformatted/index.js.map +1 -1
  208. package/build/pullquote/index.js +1 -8
  209. package/build/pullquote/index.js.map +1 -1
  210. package/build/query/index.js +0 -1
  211. package/build/query/index.js.map +1 -1
  212. package/build/query-pagination/index.js +0 -1
  213. package/build/query-pagination/index.js.map +1 -1
  214. package/build/query-pagination-next/index.js +0 -1
  215. package/build/query-pagination-next/index.js.map +1 -1
  216. package/build/query-pagination-numbers/index.js +0 -1
  217. package/build/query-pagination-numbers/index.js.map +1 -1
  218. package/build/query-pagination-previous/index.js +0 -1
  219. package/build/query-pagination-previous/index.js.map +1 -1
  220. package/build/query-title/index.js +0 -1
  221. package/build/query-title/index.js.map +1 -1
  222. package/build/quote/index.js +0 -1
  223. package/build/quote/index.js.map +1 -1
  224. package/build/rss/index.js +0 -1
  225. package/build/rss/index.js.map +1 -1
  226. package/build/search/edit.js +3 -5
  227. package/build/search/edit.js.map +1 -1
  228. package/build/search/index.js +1 -8
  229. package/build/search/index.js.map +1 -1
  230. package/build/separator/index.js +0 -1
  231. package/build/separator/index.js.map +1 -1
  232. package/build/shortcode/index.js +0 -1
  233. package/build/shortcode/index.js.map +1 -1
  234. package/build/site-logo/edit.js +119 -18
  235. package/build/site-logo/edit.js.map +1 -1
  236. package/build/site-logo/index.js +5 -5
  237. package/build/site-tagline/index.js +1 -2
  238. package/build/site-tagline/index.js.map +1 -1
  239. package/build/site-title/index.js +0 -1
  240. package/build/site-title/index.js.map +1 -1
  241. package/build/social-link/index.js +1 -2
  242. package/build/social-link/index.js.map +1 -1
  243. package/build/social-links/index.js +1 -2
  244. package/build/social-links/index.js.map +1 -1
  245. package/build/spacer/index.js +0 -1
  246. package/build/spacer/index.js.map +1 -1
  247. package/build/table/index.js +1 -7
  248. package/build/table/index.js.map +1 -1
  249. package/build/table-of-contents/index.js +0 -1
  250. package/build/table-of-contents/index.js.map +1 -1
  251. package/build/tag-cloud/index.js +0 -1
  252. package/build/tag-cloud/index.js.map +1 -1
  253. package/build/template-part/index.js +0 -1
  254. package/build/template-part/index.js.map +1 -1
  255. package/build/term-description/index.js +0 -1
  256. package/build/term-description/index.js.map +1 -1
  257. package/build/text-columns/index.js +0 -1
  258. package/build/text-columns/index.js.map +1 -1
  259. package/build/verse/index.js +0 -1
  260. package/build/verse/index.js.map +1 -1
  261. package/build/video/index.js +0 -1
  262. package/build/video/index.js.map +1 -1
  263. package/build-module/archives/index.js +0 -1
  264. package/build-module/archives/index.js.map +1 -1
  265. package/build-module/audio/index.js +0 -1
  266. package/build-module/audio/index.js.map +1 -1
  267. package/build-module/block/index.js +0 -1
  268. package/build-module/block/index.js.map +1 -1
  269. package/build-module/button/edit.native.js +1 -1
  270. package/build-module/button/edit.native.js.map +1 -1
  271. package/build-module/button/index.js +1 -5
  272. package/build-module/button/index.js.map +1 -1
  273. package/build-module/buttons/index.js +0 -1
  274. package/build-module/buttons/index.js.map +1 -1
  275. package/build-module/buttons/transforms.js +0 -1
  276. package/build-module/buttons/transforms.js.map +1 -1
  277. package/build-module/calendar/index.js +0 -1
  278. package/build-module/calendar/index.js.map +1 -1
  279. package/build-module/categories/index.js +0 -1
  280. package/build-module/categories/index.js.map +1 -1
  281. package/build-module/code/index.js +1 -6
  282. package/build-module/code/index.js.map +1 -1
  283. package/build-module/column/index.js +0 -1
  284. package/build-module/column/index.js.map +1 -1
  285. package/build-module/columns/index.js +1 -3
  286. package/build-module/columns/index.js.map +1 -1
  287. package/build-module/comment-author-avatar/edit.js +2 -3
  288. package/build-module/comment-author-avatar/edit.js.map +1 -1
  289. package/build-module/comment-author-avatar/index.js +2 -7
  290. package/build-module/comment-author-avatar/index.js.map +1 -1
  291. package/build-module/comment-author-name/index.js +0 -1
  292. package/build-module/comment-author-name/index.js.map +1 -1
  293. package/build-module/comment-content/index.js +0 -1
  294. package/build-module/comment-content/index.js.map +1 -1
  295. package/build-module/comment-date/index.js +0 -1
  296. package/build-module/comment-date/index.js.map +1 -1
  297. package/build-module/comment-edit-link/index.js +1 -2
  298. package/build-module/comment-edit-link/index.js.map +1 -1
  299. package/build-module/comment-reply-link/index.js +0 -1
  300. package/build-module/comment-reply-link/index.js.map +1 -1
  301. package/build-module/comment-template/edit.js +23 -97
  302. package/build-module/comment-template/edit.js.map +1 -1
  303. package/build-module/comment-template/index.js +2 -4
  304. package/build-module/comment-template/index.js.map +1 -1
  305. package/build-module/comments-query-loop/edit.js +2 -2
  306. package/build-module/comments-query-loop/edit.js.map +1 -1
  307. package/build-module/comments-query-loop/index.js +7 -4
  308. package/build-module/comments-query-loop/index.js.map +1 -1
  309. package/build-module/comments-query-loop/toolbar.js +3 -3
  310. package/build-module/comments-query-loop/toolbar.js.map +1 -1
  311. package/build-module/cover/edit.js +1 -2
  312. package/build-module/cover/edit.js.map +1 -1
  313. package/build-module/cover/index.js +0 -1
  314. package/build-module/cover/index.js.map +1 -1
  315. package/build-module/embed/deprecated.js +0 -1
  316. package/build-module/embed/deprecated.js.map +1 -1
  317. package/build-module/embed/edit.native.js +21 -24
  318. package/build-module/embed/edit.native.js.map +1 -1
  319. package/build-module/embed/embed-bottom-sheet.native.js +74 -0
  320. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -0
  321. package/build-module/embed/embed-placeholder.native.js +2 -9
  322. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  323. package/build-module/embed/index.js +0 -1
  324. package/build-module/embed/index.js.map +1 -1
  325. package/build-module/embed/transforms.js +0 -1
  326. package/build-module/embed/transforms.js.map +1 -1
  327. package/build-module/embed/util.js +0 -1
  328. package/build-module/embed/util.js.map +1 -1
  329. package/build-module/file/index.js +0 -1
  330. package/build-module/file/index.js.map +1 -1
  331. package/build-module/freeform/index.js +0 -1
  332. package/build-module/freeform/index.js.map +1 -1
  333. package/build-module/gallery/deprecated.js +2 -6
  334. package/build-module/gallery/deprecated.js.map +1 -1
  335. package/build-module/gallery/edit.js +1 -11
  336. package/build-module/gallery/edit.js.map +1 -1
  337. package/build-module/gallery/index.js +0 -1
  338. package/build-module/gallery/index.js.map +1 -1
  339. package/build-module/group/edit.native.js +1 -1
  340. package/build-module/group/edit.native.js.map +1 -1
  341. package/build-module/group/index.js +4 -9
  342. package/build-module/group/index.js.map +1 -1
  343. package/build-module/heading/index.js +0 -1
  344. package/build-module/heading/index.js.map +1 -1
  345. package/build-module/heading/transforms.js +0 -1
  346. package/build-module/heading/transforms.js.map +1 -1
  347. package/build-module/home-link/index.js +0 -1
  348. package/build-module/home-link/index.js.map +1 -1
  349. package/build-module/html/index.js +0 -1
  350. package/build-module/html/index.js.map +1 -1
  351. package/build-module/image/edit.js +4 -52
  352. package/build-module/image/edit.js.map +1 -1
  353. package/build-module/image/edit.native.js +1 -1
  354. package/build-module/image/edit.native.js.map +1 -1
  355. package/build-module/image/image.js +5 -16
  356. package/build-module/image/image.js.map +1 -1
  357. package/build-module/image/index.js +1 -5
  358. package/build-module/image/index.js.map +1 -1
  359. package/build-module/index.js +1 -3
  360. package/build-module/index.js.map +1 -1
  361. package/build-module/latest-comments/index.js +0 -1
  362. package/build-module/latest-comments/index.js.map +1 -1
  363. package/build-module/latest-posts/deprecated.js +0 -1
  364. package/build-module/latest-posts/deprecated.js.map +1 -1
  365. package/build-module/latest-posts/index.js +0 -1
  366. package/build-module/latest-posts/index.js.map +1 -1
  367. package/build-module/list/index.js +0 -1
  368. package/build-module/list/index.js.map +1 -1
  369. package/build-module/loginout/index.js +0 -1
  370. package/build-module/loginout/index.js.map +1 -1
  371. package/build-module/media-text/index.js +0 -1
  372. package/build-module/media-text/index.js.map +1 -1
  373. package/build-module/missing/index.js +0 -1
  374. package/build-module/missing/index.js.map +1 -1
  375. package/build-module/more/index.js +0 -1
  376. package/build-module/more/index.js.map +1 -1
  377. package/build-module/navigation/deprecated.js +1 -3
  378. package/build-module/navigation/deprecated.js.map +1 -1
  379. package/build-module/navigation/edit/index.js +104 -59
  380. package/build-module/navigation/edit/index.js.map +1 -1
  381. package/build-module/navigation/edit/navigation-menu-selector.js +3 -2
  382. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  383. package/build-module/navigation/edit/placeholder/index.js +15 -7
  384. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  385. package/build-module/navigation/edit/responsive-wrapper.js +9 -7
  386. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  387. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -13
  388. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  389. package/build-module/navigation/edit/use-navigation-notice.js +44 -0
  390. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -0
  391. package/build-module/navigation/index.js +2 -9
  392. package/build-module/navigation/index.js.map +1 -1
  393. package/build-module/navigation/menu-items-to-blocks.js +1 -4
  394. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  395. package/build-module/navigation/use-navigation-menu.js +9 -2
  396. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  397. package/build-module/navigation/view.js +12 -7
  398. package/build-module/navigation/view.js.map +1 -1
  399. package/build-module/navigation-area/edit.js +1 -2
  400. package/build-module/navigation-area/edit.js.map +1 -1
  401. package/build-module/navigation-area/index.js +1 -2
  402. package/build-module/navigation-area/index.js.map +1 -1
  403. package/build-module/navigation-link/edit.js +0 -7
  404. package/build-module/navigation-link/edit.js.map +1 -1
  405. package/build-module/navigation-link/index.js +0 -1
  406. package/build-module/navigation-link/index.js.map +1 -1
  407. package/build-module/navigation-submenu/edit.js +0 -1
  408. package/build-module/navigation-submenu/edit.js.map +1 -1
  409. package/build-module/navigation-submenu/index.js +0 -1
  410. package/build-module/navigation-submenu/index.js.map +1 -1
  411. package/build-module/nextpage/index.js +0 -1
  412. package/build-module/nextpage/index.js.map +1 -1
  413. package/build-module/page-list/index.js +1 -6
  414. package/build-module/page-list/index.js.map +1 -1
  415. package/build-module/paragraph/edit.js +3 -13
  416. package/build-module/paragraph/edit.js.map +1 -1
  417. package/build-module/paragraph/index.js +0 -1
  418. package/build-module/paragraph/index.js.map +1 -1
  419. package/build-module/paragraph/transforms.js +0 -1
  420. package/build-module/paragraph/transforms.js.map +1 -1
  421. package/build-module/pattern/index.js +0 -1
  422. package/build-module/pattern/index.js.map +1 -1
  423. package/build-module/post-author/edit.js +1 -1
  424. package/build-module/post-author/edit.js.map +1 -1
  425. package/build-module/post-author/index.js +0 -1
  426. package/build-module/post-author/index.js.map +1 -1
  427. package/build-module/post-comment/index.js +0 -1
  428. package/build-module/post-comment/index.js.map +1 -1
  429. package/build-module/post-comments/index.js +0 -1
  430. package/build-module/post-comments/index.js.map +1 -1
  431. package/build-module/post-comments-count/index.js +0 -1
  432. package/build-module/post-comments-count/index.js.map +1 -1
  433. package/build-module/post-comments-form/index.js +0 -1
  434. package/build-module/post-comments-form/index.js.map +1 -1
  435. package/build-module/post-comments-link/index.js +0 -1
  436. package/build-module/post-comments-link/index.js.map +1 -1
  437. package/build-module/post-content/edit.js +1 -1
  438. package/build-module/post-content/edit.js.map +1 -1
  439. package/build-module/post-content/index.js +0 -1
  440. package/build-module/post-content/index.js.map +1 -1
  441. package/build-module/post-date/edit.js +1 -1
  442. package/build-module/post-date/edit.js.map +1 -1
  443. package/build-module/post-date/index.js +0 -1
  444. package/build-module/post-date/index.js.map +1 -1
  445. package/build-module/post-excerpt/edit.js +1 -1
  446. package/build-module/post-excerpt/edit.js.map +1 -1
  447. package/build-module/post-excerpt/index.js +0 -1
  448. package/build-module/post-excerpt/index.js.map +1 -1
  449. package/build-module/post-featured-image/dimension-controls.js +29 -52
  450. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  451. package/build-module/post-featured-image/edit.js +5 -9
  452. package/build-module/post-featured-image/edit.js.map +1 -1
  453. package/build-module/post-featured-image/index.js +0 -1
  454. package/build-module/post-featured-image/index.js.map +1 -1
  455. package/build-module/post-navigation-link/index.js +0 -1
  456. package/build-module/post-navigation-link/index.js.map +1 -1
  457. package/build-module/post-template/index.js +0 -1
  458. package/build-module/post-template/index.js.map +1 -1
  459. package/build-module/post-terms/index.js +0 -1
  460. package/build-module/post-terms/index.js.map +1 -1
  461. package/build-module/post-title/edit.js +1 -1
  462. package/build-module/post-title/edit.js.map +1 -1
  463. package/build-module/post-title/index.js +0 -1
  464. package/build-module/post-title/index.js.map +1 -1
  465. package/build-module/preformatted/edit.native.js +1 -2
  466. package/build-module/preformatted/edit.native.js.map +1 -1
  467. package/build-module/preformatted/index.js +0 -1
  468. package/build-module/preformatted/index.js.map +1 -1
  469. package/build-module/pullquote/index.js +1 -8
  470. package/build-module/pullquote/index.js.map +1 -1
  471. package/build-module/query/index.js +0 -1
  472. package/build-module/query/index.js.map +1 -1
  473. package/build-module/query-pagination/index.js +0 -1
  474. package/build-module/query-pagination/index.js.map +1 -1
  475. package/build-module/query-pagination-next/index.js +0 -1
  476. package/build-module/query-pagination-next/index.js.map +1 -1
  477. package/build-module/query-pagination-numbers/index.js +0 -1
  478. package/build-module/query-pagination-numbers/index.js.map +1 -1
  479. package/build-module/query-pagination-previous/index.js +0 -1
  480. package/build-module/query-pagination-previous/index.js.map +1 -1
  481. package/build-module/query-title/index.js +0 -1
  482. package/build-module/query-title/index.js.map +1 -1
  483. package/build-module/quote/index.js +0 -1
  484. package/build-module/quote/index.js.map +1 -1
  485. package/build-module/rss/index.js +0 -1
  486. package/build-module/rss/index.js.map +1 -1
  487. package/build-module/search/edit.js +3 -5
  488. package/build-module/search/edit.js.map +1 -1
  489. package/build-module/search/index.js +1 -8
  490. package/build-module/search/index.js.map +1 -1
  491. package/build-module/separator/index.js +0 -1
  492. package/build-module/separator/index.js.map +1 -1
  493. package/build-module/shortcode/index.js +0 -1
  494. package/build-module/shortcode/index.js.map +1 -1
  495. package/build-module/site-logo/edit.js +120 -19
  496. package/build-module/site-logo/edit.js.map +1 -1
  497. package/build-module/site-logo/index.js +5 -5
  498. package/build-module/site-tagline/index.js +1 -2
  499. package/build-module/site-tagline/index.js.map +1 -1
  500. package/build-module/site-title/index.js +0 -1
  501. package/build-module/site-title/index.js.map +1 -1
  502. package/build-module/social-link/index.js +1 -2
  503. package/build-module/social-link/index.js.map +1 -1
  504. package/build-module/social-links/index.js +1 -2
  505. package/build-module/social-links/index.js.map +1 -1
  506. package/build-module/spacer/index.js +0 -1
  507. package/build-module/spacer/index.js.map +1 -1
  508. package/build-module/table/index.js +1 -7
  509. package/build-module/table/index.js.map +1 -1
  510. package/build-module/table-of-contents/index.js +0 -1
  511. package/build-module/table-of-contents/index.js.map +1 -1
  512. package/build-module/tag-cloud/index.js +0 -1
  513. package/build-module/tag-cloud/index.js.map +1 -1
  514. package/build-module/template-part/index.js +0 -1
  515. package/build-module/template-part/index.js.map +1 -1
  516. package/build-module/term-description/index.js +0 -1
  517. package/build-module/term-description/index.js.map +1 -1
  518. package/build-module/text-columns/index.js +0 -1
  519. package/build-module/text-columns/index.js.map +1 -1
  520. package/build-module/verse/index.js +0 -1
  521. package/build-module/verse/index.js.map +1 -1
  522. package/build-module/video/index.js +0 -1
  523. package/build-module/video/index.js.map +1 -1
  524. package/build-style/columns/style-rtl.css +3 -4
  525. package/build-style/columns/style.css +3 -4
  526. package/build-style/common-rtl.css +2 -21
  527. package/build-style/common.css +2 -21
  528. package/build-style/cover/style-rtl.css +0 -4
  529. package/build-style/cover/style.css +0 -4
  530. package/build-style/editor-rtl.css +46 -56
  531. package/build-style/editor.css +46 -59
  532. package/build-style/gallery/editor-rtl.css +12 -0
  533. package/build-style/gallery/editor.css +12 -0
  534. package/build-style/gallery/style-rtl.css +0 -3
  535. package/build-style/gallery/style.css +0 -3
  536. package/build-style/group/theme-rtl.css +1 -1
  537. package/build-style/group/theme.css +1 -1
  538. package/build-style/{comments-pagination → home-link}/style-rtl.css +21 -21
  539. package/build-style/{comments-pagination/editor.css → home-link/style.css} +22 -20
  540. package/build-style/navigation/editor-rtl.css +15 -6
  541. package/build-style/navigation/editor.css +15 -6
  542. package/build-style/navigation/style-rtl.css +45 -18
  543. package/build-style/navigation/style.css +45 -18
  544. package/build-style/page-list/style-rtl.css +4 -4
  545. package/build-style/page-list/style.css +4 -4
  546. package/build-style/post-comments/style-rtl.css +0 -1
  547. package/build-style/post-comments/style.css +0 -1
  548. package/build-style/post-featured-image/editor-rtl.css +7 -0
  549. package/build-style/post-featured-image/editor.css +7 -0
  550. package/build-style/post-featured-image/style-rtl.css +1 -1
  551. package/build-style/post-featured-image/style.css +1 -1
  552. package/build-style/post-template/style-rtl.css +2 -29
  553. package/build-style/post-template/style.css +2 -29
  554. package/build-style/post-title/style-rtl.css +0 -3
  555. package/build-style/post-title/style.css +0 -3
  556. package/build-style/pullquote/style-rtl.css +0 -1
  557. package/build-style/pullquote/style.css +0 -1
  558. package/build-style/query-pagination/editor-rtl.css +4 -0
  559. package/build-style/query-pagination/editor.css +4 -0
  560. package/build-style/query-pagination/style-rtl.css +2 -6
  561. package/build-style/query-pagination/style.css +2 -6
  562. package/build-style/site-logo/editor-rtl.css +1 -11
  563. package/build-style/site-logo/editor.css +1 -11
  564. package/build-style/site-logo/style-rtl.css +3 -1
  565. package/build-style/site-logo/style.css +3 -1
  566. package/build-style/style-rtl.css +107 -158
  567. package/build-style/style.css +107 -160
  568. package/build-style/table/style-rtl.css +0 -1
  569. package/build-style/table/style.css +0 -1
  570. package/build-style/theme-rtl.css +1 -1
  571. package/build-style/theme.css +1 -1
  572. package/package.json +30 -31
  573. package/src/archives/block.json +0 -1
  574. package/src/audio/block.json +0 -1
  575. package/src/block/block.json +0 -1
  576. package/src/button/block.json +1 -5
  577. package/src/button/edit.native.js +1 -1
  578. package/src/buttons/block.json +1 -2
  579. package/src/calendar/block.json +0 -1
  580. package/src/calendar/index.php +39 -35
  581. package/src/categories/block.json +0 -1
  582. package/src/code/block.json +1 -6
  583. package/src/column/block.json +0 -1
  584. package/src/columns/block.json +1 -3
  585. package/src/columns/style.scss +5 -8
  586. package/src/comment-author-avatar/block.json +2 -7
  587. package/src/comment-author-avatar/edit.js +2 -7
  588. package/src/comment-author-avatar/index.php +6 -25
  589. package/src/comment-author-name/block.json +0 -1
  590. package/src/comment-content/block.json +0 -1
  591. package/src/comment-date/block.json +0 -1
  592. package/src/comment-edit-link/block.json +0 -1
  593. package/src/comment-edit-link/index.js +1 -1
  594. package/src/comment-reply-link/block.json +0 -1
  595. package/src/comment-template/block.json +2 -4
  596. package/src/comment-template/edit.js +37 -111
  597. package/src/comment-template/index.php +19 -46
  598. package/src/comments-query-loop/block.json +7 -4
  599. package/src/comments-query-loop/edit.js +5 -2
  600. package/src/comments-query-loop/toolbar.js +3 -3
  601. package/src/common.scss +2 -21
  602. package/src/cover/block.json +0 -1
  603. package/src/cover/edit.js +0 -1
  604. package/src/cover/style.scss +0 -4
  605. package/src/editor.scss +7 -6
  606. package/src/embed/block.json +0 -1
  607. package/src/embed/edit.native.js +18 -23
  608. package/src/embed/embed-bottom-sheet.native.js +78 -0
  609. package/src/embed/embed-placeholder.native.js +0 -8
  610. package/src/embed/test/__snapshots__/index.native.js.snap +0 -10
  611. package/src/embed/test/index.native.js +88 -228
  612. package/src/file/block.json +0 -1
  613. package/src/freeform/block.json +0 -1
  614. package/src/gallery/block.json +0 -1
  615. package/src/gallery/deprecated.js +2 -5
  616. package/src/gallery/edit.js +0 -20
  617. package/src/gallery/editor.scss +14 -0
  618. package/src/gallery/index.php +1 -1
  619. package/src/gallery/style.scss +0 -4
  620. package/src/group/block.json +4 -9
  621. package/src/group/edit.native.js +1 -1
  622. package/src/group/theme.scss +5 -4
  623. package/src/heading/block.json +0 -1
  624. package/src/home-link/block.json +0 -1
  625. package/src/home-link/index.php +3 -3
  626. package/src/home-link/style.scss +51 -0
  627. package/src/html/block.json +0 -1
  628. package/src/image/block.json +1 -5
  629. package/src/image/edit.js +0 -44
  630. package/src/image/edit.native.js +1 -1
  631. package/src/image/image.js +3 -14
  632. package/src/index.js +0 -4
  633. package/src/latest-comments/block.json +0 -1
  634. package/src/latest-posts/block.json +0 -1
  635. package/src/list/block.json +0 -1
  636. package/src/loginout/block.json +0 -1
  637. package/src/media-text/block.json +0 -1
  638. package/src/missing/block.json +0 -1
  639. package/src/more/block.json +0 -1
  640. package/src/navigation/block.json +11 -11
  641. package/src/navigation/deprecated.js +0 -2
  642. package/src/navigation/edit/index.js +172 -89
  643. package/src/navigation/edit/navigation-menu-selector.js +19 -13
  644. package/src/navigation/edit/placeholder/index.js +40 -24
  645. package/src/navigation/edit/responsive-wrapper.js +10 -7
  646. package/src/navigation/edit/unsaved-inner-blocks.js +13 -25
  647. package/src/navigation/edit/use-navigation-notice.js +37 -0
  648. package/src/navigation/editor.scss +20 -8
  649. package/src/navigation/index.php +23 -12
  650. package/src/navigation/menu-items-to-blocks.js +1 -2
  651. package/src/navigation/style.scss +58 -19
  652. package/src/navigation/use-navigation-menu.js +20 -0
  653. package/src/navigation/view.js +13 -7
  654. package/src/navigation-area/block.json +7 -3
  655. package/src/navigation-area/edit.js +1 -2
  656. package/src/navigation-link/block.json +3 -2
  657. package/src/navigation-link/edit.js +0 -5
  658. package/src/navigation-link/index.php +3 -3
  659. package/src/navigation-submenu/block.json +3 -2
  660. package/src/navigation-submenu/index.php +5 -5
  661. package/src/nextpage/block.json +0 -1
  662. package/src/page-list/block.json +0 -4
  663. package/src/page-list/index.php +4 -4
  664. package/src/page-list/style.scss +4 -4
  665. package/src/paragraph/block.json +0 -1
  666. package/src/paragraph/edit.js +4 -12
  667. package/src/pattern/block.json +0 -1
  668. package/src/post-author/block.json +0 -1
  669. package/src/post-author/edit.js +1 -1
  670. package/src/post-comment/block.json +0 -1
  671. package/src/post-comments/block.json +0 -1
  672. package/src/post-comments/style.scss +0 -1
  673. package/src/post-comments-count/block.json +0 -1
  674. package/src/post-comments-form/block.json +1 -6
  675. package/src/post-comments-link/block.json +0 -1
  676. package/src/post-content/block.json +0 -1
  677. package/src/post-content/edit.js +1 -1
  678. package/src/post-content/index.php +11 -1
  679. package/src/post-date/block.json +0 -1
  680. package/src/post-date/edit.js +1 -1
  681. package/src/post-excerpt/block.json +0 -1
  682. package/src/post-excerpt/edit.js +1 -1
  683. package/src/post-excerpt/index.php +1 -1
  684. package/src/post-featured-image/block.json +0 -1
  685. package/src/post-featured-image/dimension-controls.js +50 -75
  686. package/src/post-featured-image/edit.js +6 -13
  687. package/src/post-featured-image/editor.scss +8 -0
  688. package/src/post-featured-image/style.scss +1 -1
  689. package/src/post-navigation-link/block.json +0 -1
  690. package/src/post-template/block.json +0 -1
  691. package/src/post-template/style.scss +2 -13
  692. package/src/post-terms/block.json +0 -1
  693. package/src/post-title/block.json +0 -1
  694. package/src/post-title/edit.js +1 -1
  695. package/src/post-title/index.php +1 -1
  696. package/src/post-title/style.scss +2 -6
  697. package/src/preformatted/block.json +0 -1
  698. package/src/preformatted/edit.native.js +1 -3
  699. package/src/pullquote/block.json +1 -8
  700. package/src/pullquote/style.scss +0 -1
  701. package/src/query/block.json +0 -1
  702. package/src/query-pagination/block.json +0 -1
  703. package/src/query-pagination/editor.scss +4 -0
  704. package/src/query-pagination/style.scss +2 -12
  705. package/src/query-pagination-next/block.json +0 -1
  706. package/src/query-pagination-next/index.php +20 -42
  707. package/src/query-pagination-numbers/block.json +0 -1
  708. package/src/query-pagination-previous/block.json +0 -1
  709. package/src/query-pagination-previous/index.php +13 -45
  710. package/src/query-title/block.json +0 -1
  711. package/src/quote/block.json +0 -1
  712. package/src/rss/block.json +0 -1
  713. package/src/search/block.json +1 -8
  714. package/src/search/edit.js +1 -2
  715. package/src/search/index.php +19 -29
  716. package/src/separator/block.json +0 -1
  717. package/src/shortcode/block.json +0 -1
  718. package/src/site-logo/block.json +5 -5
  719. package/src/site-logo/edit.js +133 -14
  720. package/src/site-logo/editor.scss +1 -15
  721. package/src/site-logo/index.php +17 -4
  722. package/src/site-logo/style.scss +3 -1
  723. package/src/site-tagline/block.json +1 -2
  724. package/src/site-title/block.json +0 -1
  725. package/src/social-link/block.json +1 -2
  726. package/src/social-links/block.json +8 -3
  727. package/src/spacer/block.json +0 -1
  728. package/src/style.scss +2 -3
  729. package/src/table/block.json +1 -7
  730. package/src/table/style.scss +0 -1
  731. package/src/table-of-contents/block.json +0 -1
  732. package/src/tag-cloud/block.json +0 -1
  733. package/src/template-part/block.json +0 -1
  734. package/src/term-description/block.json +0 -1
  735. package/src/text-columns/block.json +0 -1
  736. package/src/verse/block.json +0 -1
  737. package/src/video/block.json +0 -1
  738. package/build/comment-template/util.js +0 -66
  739. package/build/comment-template/util.js.map +0 -1
  740. package/build/comments-pagination/comments-pagination-arrow-controls.js +0 -39
  741. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +0 -1
  742. package/build/comments-pagination/edit.js +0 -80
  743. package/build/comments-pagination/edit.js.map +0 -1
  744. package/build/comments-pagination/index.js +0 -71
  745. package/build/comments-pagination/index.js.map +0 -1
  746. package/build/comments-pagination/save.js +0 -18
  747. package/build/comments-pagination/save.js.map +0 -1
  748. package/build/comments-pagination-numbers/edit.js +0 -47
  749. package/build/comments-pagination-numbers/edit.js.map +0 -1
  750. package/build/comments-pagination-numbers/index.js +0 -47
  751. package/build/comments-pagination-numbers/index.js.map +0 -1
  752. package/build/embed/embed-controls.native.js +0 -69
  753. package/build/embed/embed-controls.native.js.map +0 -1
  754. package/build/embed/embed-link-settings.native.js +0 -101
  755. package/build/embed/embed-link-settings.native.js.map +0 -1
  756. package/build/gallery/use-mobile-warning.js +0 -43
  757. package/build/gallery/use-mobile-warning.js.map +0 -1
  758. package/build-module/comment-template/util.js +0 -57
  759. package/build-module/comment-template/util.js.map +0 -1
  760. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +0 -30
  761. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +0 -1
  762. package/build-module/comments-pagination/edit.js +0 -67
  763. package/build-module/comments-pagination/edit.js.map +0 -1
  764. package/build-module/comments-pagination/index.js +0 -57
  765. package/build-module/comments-pagination/index.js.map +0 -1
  766. package/build-module/comments-pagination/save.js +0 -10
  767. package/build-module/comments-pagination/save.js.map +0 -1
  768. package/build-module/comments-pagination-numbers/edit.js +0 -40
  769. package/build-module/comments-pagination-numbers/edit.js.map +0 -1
  770. package/build-module/comments-pagination-numbers/index.js +0 -34
  771. package/build-module/comments-pagination-numbers/index.js.map +0 -1
  772. package/build-module/embed/embed-controls.native.js +0 -54
  773. package/build-module/embed/embed-controls.native.js.map +0 -1
  774. package/build-module/embed/embed-link-settings.native.js +0 -90
  775. package/build-module/embed/embed-link-settings.native.js.map +0 -1
  776. package/build-module/gallery/use-mobile-warning.js +0 -32
  777. package/build-module/gallery/use-mobile-warning.js.map +0 -1
  778. package/build-style/comment-template/style-rtl.css +0 -91
  779. package/build-style/comment-template/style.css +0 -91
  780. package/build-style/comments-pagination/editor-rtl.css +0 -100
  781. package/build-style/comments-pagination/style.css +0 -106
  782. package/build-style/comments-pagination-numbers/editor-rtl.css +0 -85
  783. package/build-style/comments-pagination-numbers/editor.css +0 -86
  784. package/src/comment-template/style.scss +0 -17
  785. package/src/comment-template/test/index.js +0 -45
  786. package/src/comment-template/util.js +0 -56
  787. package/src/comments-pagination/block.json +0 -37
  788. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -44
  789. package/src/comments-pagination/edit.js +0 -78
  790. package/src/comments-pagination/editor.scss +0 -34
  791. package/src/comments-pagination/index.js +0 -20
  792. package/src/comments-pagination/index.php +0 -39
  793. package/src/comments-pagination/save.js +0 -8
  794. package/src/comments-pagination/style.scss +0 -38
  795. package/src/comments-pagination-numbers/block.json +0 -16
  796. package/src/comments-pagination-numbers/edit.js +0 -22
  797. package/src/comments-pagination-numbers/editor.scss +0 -12
  798. package/src/comments-pagination-numbers/index.js +0 -18
  799. package/src/comments-pagination-numbers/index.php +0 -69
  800. package/src/embed/embed-controls.native.js +0 -65
  801. package/src/embed/embed-link-settings.native.js +0 -100
  802. package/src/gallery/test/use-get-new-images.js +0 -93
  803. package/src/gallery/use-mobile-warning.js +0 -28
  804. package/src/navigation/README.md +0 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","icon","title","instructions","ALLOWED_MEDIA_TYPES","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","blockEditorStore","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent","withNotices","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\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\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\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\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ temporaryMinHeight || minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t\tclassName=\"block-library-cover__padding-visualizer\"\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\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 compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","icon","title","instructions","ALLOWED_MEDIA_TYPES","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","blockEditorStore","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent","withNotices","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\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\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\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\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ temporaryMinHeight || minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\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 compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}
@@ -27,7 +27,6 @@ var _transforms = _interopRequireDefault(require("./transforms"));
27
27
  * Internal dependencies
28
28
  */
29
29
  const metadata = {
30
- $schema: "https://schemas.wp.org/trunk/block.json",
31
30
  apiVersion: 2,
32
31
  name: "core/cover",
33
32
  title: "Cover",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAE,cAAI,8BAAJ,CAFE;AAGXC,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBC,EAAAA,UAAU,EAAVA,mBAnBuB;AAoBvBC,EAAAA,IAAI,EAAJA,aApBuB;AAqBvBC,EAAAA,IAAI,EAAJA,aArBuB;AAsBvBC,EAAAA,UAAU,EAAVA;AAtBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomFontSize: 48,\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAE,cAAI,8BAAJ,CAFE;AAGXC,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBC,EAAAA,UAAU,EAAVA,mBAnBuB;AAoBvBC,EAAAA,IAAI,EAAJA,aApBuB;AAqBvBC,EAAAA,IAAI,EAAJA,aArBuB;AAsBvBC,EAAAA,UAAU,EAAVA;AAtBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomFontSize: 48,\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n};\n"]}
@@ -21,7 +21,6 @@ var _blockEditor = require("@wordpress/block-editor");
21
21
  * Internal dependencies
22
22
  */
23
23
  const metadata = {
24
- $schema: "https://schemas.wp.org/trunk/block.json",
25
24
  apiVersion: 2,
26
25
  name: "core/embed",
27
26
  title: "Embed",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/deprecated.js"],"names":["attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AAGA,MAAM;AAAEA,EAAAA,UAAU,EAAEC;AAAd,IAAkCC,QAAxC;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCH,EAAAA,UAAU,EAAEC,eADb;;AAECG,EAAAA,IAAI,OAA6D;AAAA,QAA3D;AAAEJ,MAAAA,UAAU,EAAE;AAAEK,QAAAA,GAAF;AAAOC,QAAAA,OAAP;AAAgBC,QAAAA,IAAhB;AAAsBC,QAAAA;AAAtB;AAAd,KAA2D;;AAChE,QAAK,CAAEH,GAAP,EAAa;AACZ,aAAO,IAAP;AACA;;AAED,UAAMI,cAAc,GAAG,yBAAY,gBAAZ,EAA8B;AACpD,OAAG,WAAWF,IAAM,EAApB,GAAyBA,IAD2B;AAEpD,OAAG,eAAeC,gBAAkB,EAApC,GAAyCA;AAFW,KAA9B,CAAvB;AAKA,WACC;AAAQ,MAAA,SAAS,EAAGC;AAApB,OACI,KAAKJ,GAAK;AAAI;AADlB,MAEG,CAAEK,sBAASC,OAAT,CAAkBL,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,KAAK,EAAGA;AAFT,MAHF,CADD;AAWA;;AAvBF,CADkB,CAAnB;eA4BeH,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\n/**\n * WordPress dependencies\n */\nimport { RichText } from '@wordpress/block-editor';\n\nconst { attributes: blockAttributes } = metadata;\n\nconst deprecated = [\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes: { url, caption, type, providerNameSlug } } ) {\n\t\t\tif ( ! url ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst embedClassName = classnames( 'wp-block-embed', {\n\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<figure className={ embedClassName }>\n\t\t\t\t\t{ `\\n${ url }\\n` /* URL needs to be on its own line. */ }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/deprecated.js"],"names":["attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AAGA,MAAM;AAAEA,EAAAA,UAAU,EAAEC;AAAd,IAAkCC,QAAxC;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCH,EAAAA,UAAU,EAAEC,eADb;;AAECG,EAAAA,IAAI,OAA6D;AAAA,QAA3D;AAAEJ,MAAAA,UAAU,EAAE;AAAEK,QAAAA,GAAF;AAAOC,QAAAA,OAAP;AAAgBC,QAAAA,IAAhB;AAAsBC,QAAAA;AAAtB;AAAd,KAA2D;;AAChE,QAAK,CAAEH,GAAP,EAAa;AACZ,aAAO,IAAP;AACA;;AAED,UAAMI,cAAc,GAAG,yBAAY,gBAAZ,EAA8B;AACpD,OAAG,WAAWF,IAAM,EAApB,GAAyBA,IAD2B;AAEpD,OAAG,eAAeC,gBAAkB,EAApC,GAAyCA;AAFW,KAA9B,CAAvB;AAKA,WACC;AAAQ,MAAA,SAAS,EAAGC;AAApB,OACI,KAAKJ,GAAK;AAAI;AADlB,MAEG,CAAEK,sBAASC,OAAT,CAAkBL,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,KAAK,EAAGA;AAFT,MAHF,CADD;AAWA;;AAvBF,CADkB,CAAnB;eA4BeH,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\n/**\n * WordPress dependencies\n */\nimport { RichText } from '@wordpress/block-editor';\n\nconst { attributes: blockAttributes } = metadata;\n\nconst deprecated = [\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes: { url, caption, type, providerNameSlug } } ) {\n\t\t\tif ( ! url ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst embedClassName = classnames( 'wp-block-embed', {\n\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<figure className={ embedClassName }>\n\t\t\t\t\t{ `\\n${ url }\\n` /* URL needs to be on its own line. */ }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -21,7 +21,7 @@ var _embedPlaceholder = _interopRequireDefault(require("./embed-placeholder"));
21
21
 
22
22
  var _embedPreview = _interopRequireDefault(require("./embed-preview"));
23
23
 
24
- var _embedLinkSettings = _interopRequireDefault(require("./embed-link-settings"));
24
+ var _embedBottomSheet = _interopRequireDefault(require("./embed-bottom-sheet"));
25
25
 
26
26
  var _classnames = _interopRequireDefault(require("classnames"));
27
27
 
@@ -192,15 +192,6 @@ const EmbedEdit = props => {
192
192
  }
193
193
  }, [preview, isEditingURL]);
194
194
  (0, _element.useEffect)(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
195
- const onEditURL = (0, _element.useCallback)(value => {
196
- // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
197
- // otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
198
- // for creating the new block.
199
- setAttributes({
200
- url: value
201
- });
202
- setIsEditingURL(false);
203
- }, []);
204
195
  const blockProps = (0, _blockEditor.useBlockProps)();
205
196
 
206
197
  if (fetching) {
@@ -225,8 +216,11 @@ const EmbedEdit = props => {
225
216
  const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
226
217
  // except the ones that are not supported yet.
227
218
  WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
228
- const linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
229
- return (0, _element.createElement)(_element.Fragment, null, showEmbedPlaceholder ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPlaceholder.default, {
219
+ const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
220
+ return (0, _element.createElement)(_element.Fragment, null, showEmbedPlaceholder ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
221
+ showEditButton: cannotEmbed,
222
+ switchBackToURLInput: () => setIsEditingURL(true)
223
+ }), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPlaceholder.default, {
230
224
  icon: icon,
231
225
  isSelected: isSelected,
232
226
  label: title,
@@ -238,16 +232,14 @@ const EmbedEdit = props => {
238
232
  fallback: () => (0, _util.fallback)(url, onReplace),
239
233
  tryAgain: () => {
240
234
  invalidateResolution('getEmbedPreview', [url]);
241
- },
242
- openEmbedLinkSettings: () => setShowEmbedBottomSheet(true)
235
+ }
243
236
  }))) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_embedControls.default, {
237
+ showEditButton: preview && !cannotEmbed,
244
238
  themeSupportsResponsive: themeSupportsResponsive,
245
239
  blockSupportsResponsive: responsive,
246
240
  allowResponsive: allowResponsive,
247
241
  toggleResponsive: toggleResponsive,
248
- url: url,
249
- linkLabel: linkLabel,
250
- onEditURL: onEditURL
242
+ switchBackToURLInput: () => setIsEditingURL(true)
251
243
  }), (0, _element.createElement)(_primitives.View, blockProps, (0, _element.createElement)(_embedPreview.default, {
252
244
  align: align,
253
245
  className: className,
@@ -263,15 +255,20 @@ const EmbedEdit = props => {
263
255
  type: type,
264
256
  url: url,
265
257
  isDefaultEmbedInfo: !embedInfoByProvider
266
- }))), (0, _element.createElement)(_embedLinkSettings.default // eslint-disable-next-line jsx-a11y/no-autofocus
267
- , {
268
- autoFocus: true,
258
+ }))), (0, _element.createElement)(_embedBottomSheet.default, {
269
259
  value: url,
270
- label: linkLabel,
260
+ label: bottomSheetLabel,
271
261
  isVisible: showEmbedBottomSheet,
272
262
  onClose: () => setShowEmbedBottomSheet(false),
273
- onSubmit: onEditURL,
274
- withBottomSheet: true
263
+ onSubmit: value => {
264
+ // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
265
+ // otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
266
+ // for creating the new block.
267
+ setAttributes({
268
+ url: value
269
+ });
270
+ setIsEditingURL(false);
271
+ }
275
272
  }));
276
273
  };
277
274
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedContentIcon","embedInfoByProvider","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","onEditURL","value","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","event"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] = useState(\n\t\tisEditingURL\n\t);\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tgetThemeSupports,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t'getEmbedPreview',\n\t\t\t\t[ url ]\n\t\t\t);\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\tthemeSupportsResponsive: getThemeSupports()[\n\t\t\t\t\t'responsive-embeds'\n\t\t\t\t],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = ( ignorePreviousClassName = false ) => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tignorePreviousClassName ? undefined : className,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\t};\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url ] );\n\n\t// Handle incoming preview\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview, we set the attributes derived from\n\t\t\t// the preview data. In this case when getting the merged attributes,\n\t\t\t// we ignore the previous classname because it might not match the expected\n\t\t\t// classes by the new preview.\n\t\t\tsetAttributes( getMergedAttributes( true ) );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect( () => setShowEmbedBottomSheet( isEditingURL ), [\n\t\tisEditingURL,\n\t] );\n\n\tconst onEditURL = useCallback( ( value ) => {\n\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t// for creating the new block.\n\t\tsetAttributes( { url: value } );\n\t\tsetIsEditingURL( false );\n\t}, [] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedContentIcon","embedInfoByProvider","wasBlockJustInserted","select","blockEditorStore","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","bottomSheetLabel","event","value"],"mappings":";;;;;;;;;AA0BA;;AAvBA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAKA;;AAEA;;AACA;;AAIA;;AACA;;AAjCA;AACA;AACA;;AAeA;AACA;AACA;;AAGA;AACA;AACA;AAWA;AACA;AACA,MAAMA,qBAAqB,GAAG,CAAE,SAAF,EAAa,SAAb,EAAwB,WAAxB,EAAqC,OAArC,CAA9B,C,CACA;AACA;;AACA,MAAMC,kCAAkC,GAAG,CAAE,WAAF,CAA3C;AAEA,MAAMC,aAAa,GAAG,UAAtB;;AAEA,MAAMC,SAAS,GAAKC,KAAF,IAAa;AAC9B,QAAM;AACLC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,KAAF;AAASC,MAAAA,gBAAT;AAA2BC,MAAAA,WAA3B;AAAwCC,MAAAA,UAAxC;AAAoDC,MAAAA;AAApD,KADP;AAELL,IAAAA,UAFK;AAGLM,IAAAA,UAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,aALK;AAMLC,IAAAA,iBANK;AAOLC,IAAAA,OAPK;AAQLC,IAAAA;AARK,MASFZ,KATJ;AAWA,QAAMa,gBAAgB,GAAG;AACxBC,IAAAA,KAAK,EAAE,cAAI,OAAJ,EAAa,aAAb,CADiB;AAExBC,IAAAA,IAAI,EAAEC;AAFkB,GAAzB;AAIA,QAAMC,mBAAmB,GAAG,kCAAwBd,gBAAxB,CAA5B;AACA,QAAM;AAAEY,IAAAA,IAAF;AAAQD,IAAAA;AAAR,MAAkBG,mBAAmB,IAAIJ,gBAA/C;AAEA,QAAM;AAAEK,IAAAA;AAAF,MAA2B,qBAC9BC,MAAF,KAAgB;AACfD,IAAAA,oBAAoB,EAAEC,MAAM,CAC3BC,kBAD2B,CAAN,CAEpBF,oBAFoB,CAEEN,QAFF,EAEY,eAFZ;AADP,GAAhB,CADgC,EAMhC,CAAEA,QAAF,CANgC,CAAjC;AAQA,QAAM,CAAES,YAAF,EAAgBC,eAAhB,IAAoC,uBACzCf,UAAU,IAAIW,oBAAd,IAAsC,CAAEZ,GADC,CAA1C;AAGA,QAAM,CAAEiB,oBAAF,EAAwBC,uBAAxB,IAAoD,uBACzDH,YADyD,CAA1D;AAGA,QAAM;AAAEI,IAAAA;AAAF,MAA2B,uBAAaC,eAAb,CAAjC;AAEA,QAAM;AACLC,IAAAA,OADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,uBAHK;AAILC,IAAAA;AAJK,MAKF,qBACDX,MAAF,IAAc;AACb,UAAM;AACLY,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,sBAHK;AAILC,MAAAA;AAJK,QAKFf,MAAM,CAAEO,eAAF,CALV;;AAMA,QAAK,CAAEpB,GAAP,EAAa;AACZ,aAAO;AAAEsB,QAAAA,QAAQ,EAAE,KAAZ;AAAmBE,QAAAA,WAAW,EAAE;AAAhC,OAAP;AACA;;AAED,UAAMK,YAAY,GAAGJ,eAAe,CAAEzB,GAAF,CAApC;AACA,UAAM8B,uBAAuB,GAAGJ,qBAAqB,CACpD,iBADoD,EAEpD,CAAE1B,GAAF,CAFoD,CAArD;AAIA,UAAM+B,iBAAiB,GAAGJ,sBAAsB,CAAE3B,GAAF,CAAhD,CAhBa,CAkBb;;AACA,UAAMgC,gBAAgB,GACrB,CAAAH,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEI,IAAd,MAAuB,KAAvB,IACA,CAAAJ,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEK,IAAd,MAAuBC,SAFxB,CAnBa,CAsBb;AACA;AACA;;AACA,UAAMC,kBAAkB,GAAG,CAAAP,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEQ,IAAd,MAAuB,KAAlD;AACA,UAAMC,YAAY,GACjB,CAAC,CAAET,YAAH,IAAmB,CAAEG,gBAArB,IAAyC,CAAEI,kBAD5C;AAGA,WAAO;AACNf,MAAAA,OAAO,EAAEiB,YAAY,GAAGT,YAAH,GAAkBM,SADjC;AAENb,MAAAA,QAAQ,EAAE,CAAEQ,uBAFN;AAGNP,MAAAA,uBAAuB,EAAEK,gBAAgB,GACxC,mBADwC,CAHnC;AAMNJ,MAAAA,WAAW,EAAE,CAAEc,YAAF,IAAkBP;AANzB,KAAP;AAQA,GAtCE,EAuCH,CAAE/B,GAAF,CAvCG,CALJ;AA+CA;AACD;AACA;AACA;AACA;AACA;;AACC,QAAMuC,mBAAmB,GAAG,YAAuC;AAAA,QAArCC,uBAAqC,uEAAX,KAAW;AAClE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAiC/C,UAAvC;AACA,WAAO,EACN,GAAGA,UADG;AAEN,SAAG,oCACF0B,OADE,EAEFb,KAFE,EAGFgC,uBAAuB,GAAGL,SAAH,GAAeO,SAHpC,EAIF3C,UAJE,EAKF0C,eALE;AAFG,KAAP;AAUA,GAZD;;AAcA,QAAME,gBAAgB,GAAG,MAAM;AAC9B,UAAM;AAAEF,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAiC/C,UAAvC;AACA,UAAM;AAAEsC,MAAAA;AAAF,QAAWZ,OAAjB;AACA,UAAMuB,kBAAkB,GAAG,CAAEH,eAA7B;AAEAtC,IAAAA,aAAa,CAAE;AACdsC,MAAAA,eAAe,EAAEG,kBADH;AAEdF,MAAAA,SAAS,EAAE,yBACVT,IADU,EAEVS,SAFU,EAGV3C,UAAU,IAAI6C,kBAHJ;AAFG,KAAF,CAAb;AAQA,GAbD;;AAeA,0BAAW,MAAM;AAChB,QAAK,EAAEvB,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAEY,IAAX,KAAmB,CAAET,WAArB,IAAoCF,QAAzC,EAAoD;AACnD;AACA,KAHe,CAIhB;AACA;;;AACA,UAAMuB,MAAM,GAAG7C,GAAG,CAAC8C,OAAJ,CAAa,KAAb,EAAoB,EAApB,CAAf;AACA9B,IAAAA,eAAe,CAAE,KAAF,CAAf;AACAb,IAAAA,aAAa,CAAE;AAAEH,MAAAA,GAAG,EAAE6C;AAAP,KAAF,CAAb;AACA,GATD,EASG,CAAExB,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEY,IAAX,EAAiBjC,GAAjB,CATH,EArH8B,CAgI9B;;AACA,0BAAW,MAAM;AAChB,QAAKqB,OAAO,IAAI,CAAEN,YAAlB,EAAiC;AAChC;AACA;AACA;AACA;AACAZ,MAAAA,aAAa,CAAEoC,mBAAmB,CAAE,IAAF,CAArB,CAAb;;AAEA,UAAKrC,SAAL,EAAiB;AAChB,cAAM6C,aAAa,GAAG,oCACrBrD,KADqB,EAErB6C,mBAAmB,EAFE,CAAtB;;AAKA,YAAKQ,aAAL,EAAqB;AACpB7C,UAAAA,SAAS,CAAE6C,aAAF,CAAT;AACA;AACD;AACD;AACD,GAnBD,EAmBG,CAAE1B,OAAF,EAAWN,YAAX,CAnBH;AAqBA,0BAAW,MAAMG,uBAAuB,CAAEH,YAAF,CAAxC,EAA0D,CACzDA,YADyD,CAA1D;AAIA,QAAMiC,UAAU,GAAG,iCAAnB;;AAEA,MAAK1B,QAAL,EAAgB;AACf,WACC,4BAAC,gBAAD,EAAW0B,UAAX,EACC,4BAAC,qBAAD,OADD,CADD;AAKA;;AAED,QAAMC,oBAAoB,GAAG,CAAE5B,OAAF,IAAaG,WAA1C,CApK8B,CAsK9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAM;AACLU,IAAAA,IADK;AAELO,IAAAA,eAFK;AAGLC,IAAAA,SAAS,EAAEQ;AAHN,MAIFX,mBAAmB,EAJvB;AAKA,QAAMG,SAAS,GAAG,yBAAYQ,gBAAZ,EAA8BxD,KAAK,CAACgD,SAApC,CAAlB;AAEA,QAAMS,qBAAqB,GAC1B7D,qBAAqB,CAAC8D,QAAtB,CAAgCvD,gBAAhC,KACA;AACA;AACEL,EAAAA,aAAa,KAAK0C,IAAlB,IACD,CAAE3C,kCAAkC,CAAC6D,QAAnC,CAA6CvD,gBAA7C,CALJ;AAOA,QAAMwD,gBAAgB,GAAG7D,aAAa,KAAK0C,IAAlB,GAAyB,WAAzB,GAAuC1B,KAAhE;AAEA,SACC,qDACGyC,oBAAoB,GACrB,qDACC,4BAAC,sBAAD;AACC,IAAA,cAAc,EAAGzB,WADlB;AAEC,IAAA,oBAAoB,EAAG,MAAMR,eAAe,CAAE,IAAF;AAF7C,IADD,EAKC,4BAAC,gBAAD,EAAWgC,UAAX,EACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGvC,IADR;AAEC,IAAA,UAAU,EAAGR,UAFd;AAGC,IAAA,KAAK,EAAGO,KAHT;AAIC,IAAA,OAAO,EAAK8C,KAAF,IAAa;AACtBjD,MAAAA,OAAO,CAAEiD,KAAF,CAAP;AACAtC,MAAAA,eAAe,CAAE,IAAF,CAAf;AACA,KAPF;AAQC,IAAA,WAAW,EAAGQ,WARf;AASC,IAAA,QAAQ,EAAG,MAAM,oBAAUxB,GAAV,EAAeE,SAAf,CATlB;AAUC,IAAA,QAAQ,EAAG,MAAM;AAChBiB,MAAAA,oBAAoB,CAAE,iBAAF,EAAqB,CACxCnB,GADwC,CAArB,CAApB;AAGA;AAdF,IADD,CALD,CADqB,GA0BrB,qDACC,4BAAC,sBAAD;AACC,IAAA,cAAc,EAAGqB,OAAO,IAAI,CAAEG,WAD/B;AAEC,IAAA,uBAAuB,EAAGD,uBAF3B;AAGC,IAAA,uBAAuB,EAAGxB,UAH3B;AAIC,IAAA,eAAe,EAAG0C,eAJnB;AAKC,IAAA,gBAAgB,EAAGE,gBALpB;AAMC,IAAA,oBAAoB,EAAG,MAAM3B,eAAe,CAAE,IAAF;AAN7C,IADD,EASC,4BAAC,gBAAD,EAAWgC,UAAX,EACC,4BAAC,qBAAD;AACC,IAAA,KAAK,EAAGpD,KADT;AAEC,IAAA,SAAS,EAAG8C,SAFb;AAGC,IAAA,QAAQ,EAAGpC,QAHZ;AAIC,IAAA,IAAI,EAAGG,IAJR;AAKC,IAAA,iBAAiB,EAAGL,iBALrB;AAMC,IAAA,UAAU,EAAGH,UANd;AAOC,IAAA,KAAK,EAAGO,KAPT;AAQC,IAAA,OAAO,EAAGH,OARX;AASC,IAAA,OAAO,EAAGgB,OATX;AAUC,IAAA,qBAAqB,EAAG8B,qBAVzB;AAWC,IAAA,WAAW,EAAGrD,WAXf;AAYC,IAAA,IAAI,EAAGoC,IAZR;AAaC,IAAA,GAAG,EAAGlC,GAbP;AAcC,IAAA,kBAAkB,EAAG,CAAEW;AAdxB,IADD,CATD,CA3BF,EAwDC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAGX,GADT;AAEC,IAAA,KAAK,EAAGqD,gBAFT;AAGC,IAAA,SAAS,EAAGpC,oBAHb;AAIC,IAAA,OAAO,EAAG,MAAMC,uBAAuB,CAAE,KAAF,CAJxC;AAKC,IAAA,QAAQ,EAAKqC,KAAF,IAAa;AACvB;AACA;AACA;AACApD,MAAAA,aAAa,CAAE;AAAEH,QAAAA,GAAG,EAAEuD;AAAP,OAAF,CAAb;AACAvC,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA;AAXF,IAxDD,CADD;AAwEA,CAtQD;;eAwQevB,S","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetAttributesFromPreview,\n\tgetEmbedInfoByProvider,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedBottomSheet from './embed-bottom-sheet';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] = useState(\n\t\tisEditingURL\n\t);\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tgetThemeSupports,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! url ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t'getEmbedPreview',\n\t\t\t\t[ url ]\n\t\t\t);\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\tthemeSupportsResponsive: getThemeSupports()[\n\t\t\t\t\t'responsive-embeds'\n\t\t\t\t],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t};\n\t\t},\n\t\t[ url ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = ( ignorePreviousClassName = false ) => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\treturn {\n\t\t\t...attributes,\n\t\t\t...getAttributesFromPreview(\n\t\t\t\tpreview,\n\t\t\t\ttitle,\n\t\t\t\tignorePreviousClassName ? undefined : className,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\n\t\t\t),\n\t\t};\n\t};\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url ] );\n\n\t// Handle incoming preview\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview, we set the attributes derived from\n\t\t\t// the preview data. In this case when getting the merged attributes,\n\t\t\t// we ignore the previous classname because it might not match the expected\n\t\t\t// classes by the new preview.\n\t\t\tsetAttributes( getMergedAttributes( true ) );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect( () => setShowEmbedBottomSheet( isEditingURL ), [\n\t\tisEditingURL,\n\t] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tshowEditButton={ cannotEmbed }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\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</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedBottomSheet\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ bottomSheetLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t\t\t// for creating the new block.\n\t\t\t\t\tsetAttributes( { url: value } );\n\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _i18n = require("@wordpress/i18n");
11
+
12
+ var _components = require("@wordpress/components");
13
+
14
+ var _url = require("@wordpress/url");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _notices = require("@wordpress/notices");
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+ const EmbedBottomSheet = _ref => {
24
+ let {
25
+ value,
26
+ label,
27
+ isVisible,
28
+ onClose,
29
+ onSubmit
30
+ } = _ref;
31
+ const [url, setURL] = (0, _element.useState)(value);
32
+ const {
33
+ createErrorNotice
34
+ } = (0, _data.useDispatch)(_notices.store);
35
+ const linkSettingsOptions = {
36
+ url: {
37
+ label: (0, _i18n.sprintf)( // translators: %s: embed block variant's label e.g: "Twitter".
38
+ (0, _i18n.__)('%s link'), label),
39
+ placeholder: (0, _i18n.__)('Add link'),
40
+ autoFocus: true,
41
+ autoFill: true
42
+ },
43
+ footer: {
44
+ label: (0, _element.createElement)(_components.FooterMessageLink, {
45
+ href: (0, _i18n.__)('https://wordpress.org/support/article/embeds/'),
46
+ value: (0, _i18n.__)('Learn more about embeds')
47
+ }),
48
+ separatorType: 'topFullWidth'
49
+ }
50
+ };
51
+ const onDismiss = (0, _element.useCallback)(() => {
52
+ if (url !== '') {
53
+ if ((0, _url.isURL)(url)) {
54
+ onSubmit(url);
55
+ } else {
56
+ createErrorNotice((0, _i18n.__)('Invalid URL. Please enter a valid URL.')); // If the URL was already defined, we submit it to stop showing the embed placeholder.
57
+
58
+ onSubmit(value);
59
+ }
60
+ } else {
61
+ // Resets the URL when new value is empty
62
+ onSubmit('');
63
+ }
64
+ }, [url, onSubmit, value]);
65
+
66
+ function setAttributes(attributes) {
67
+ setURL(attributes.url);
68
+ }
69
+
70
+ return (0, _element.createElement)(_components.LinkSettingsNavigation, {
71
+ isVisible: isVisible,
72
+ url: url,
73
+ onClose: onClose,
74
+ onDismiss: onDismiss,
75
+ setAttributes: setAttributes,
76
+ options: linkSettingsOptions,
77
+ testID: "embed-edit-url-modal",
78
+ withBottomSheet: true,
79
+ showIcon: true
80
+ });
81
+ };
82
+
83
+ var _default = EmbedBottomSheet;
84
+ exports.default = _default;
85
+ //# sourceMappingURL=embed-bottom-sheet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-bottom-sheet.native.js"],"names":["EmbedBottomSheet","value","label","isVisible","onClose","onSubmit","url","setURL","createErrorNotice","noticesStore","linkSettingsOptions","placeholder","autoFocus","autoFill","footer","separatorType","onDismiss","setAttributes","attributes"],"mappings":";;;;;;;AAWA;;AARA;;AACA;;AAIA;;AACA;;AACA;;AAVA;AACA;AACA;AAWA,MAAMA,gBAAgB,GAAG,QAAsD;AAAA,MAApD;AAAEC,IAAAA,KAAF;AAASC,IAAAA,KAAT;AAAgBC,IAAAA,SAAhB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA;AAApC,GAAoD;AAC9E,QAAM,CAAEC,GAAF,EAAOC,MAAP,IAAkB,uBAAUN,KAAV,CAAxB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;AAEA,QAAMC,mBAAmB,GAAG;AAC3BJ,IAAAA,GAAG,EAAE;AACJJ,MAAAA,KAAK,EAAE,oBACN;AACA,oBAAI,SAAJ,CAFM,EAGNA,KAHM,CADH;AAMJS,MAAAA,WAAW,EAAE,cAAI,UAAJ,CANT;AAOJC,MAAAA,SAAS,EAAE,IAPP;AAQJC,MAAAA,QAAQ,EAAE;AARN,KADsB;AAW3BC,IAAAA,MAAM,EAAE;AACPZ,MAAAA,KAAK,EACJ,4BAAC,6BAAD;AACC,QAAA,IAAI,EAAG,cACN,+CADM,CADR;AAIC,QAAA,KAAK,EAAG,cAAI,yBAAJ;AAJT,QAFM;AASPa,MAAAA,aAAa,EAAE;AATR;AAXmB,GAA5B;AAwBA,QAAMC,SAAS,GAAG,0BAAa,MAAM;AACpC,QAAKV,GAAG,KAAK,EAAb,EAAkB;AACjB,UAAK,gBAAOA,GAAP,CAAL,EAAoB;AACnBD,QAAAA,QAAQ,CAAEC,GAAF,CAAR;AACA,OAFD,MAEO;AACNE,QAAAA,iBAAiB,CAChB,cAAI,wCAAJ,CADgB,CAAjB,CADM,CAIN;;AACAH,QAAAA,QAAQ,CAAEJ,KAAF,CAAR;AACA;AACD,KAVD,MAUO;AACN;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAfiB,EAef,CAAEC,GAAF,EAAOD,QAAP,EAAiBJ,KAAjB,CAfe,CAAlB;;AAiBA,WAASgB,aAAT,CAAwBC,UAAxB,EAAqC;AACpCX,IAAAA,MAAM,CAAEW,UAAU,CAACZ,GAAb,CAAN;AACA;;AAED,SACC,4BAAC,kCAAD;AACC,IAAA,SAAS,EAAGH,SADb;AAEC,IAAA,GAAG,EAAGG,GAFP;AAGC,IAAA,OAAO,EAAGF,OAHX;AAIC,IAAA,SAAS,EAAGY,SAJb;AAKC,IAAA,aAAa,EAAGC,aALjB;AAMC,IAAA,OAAO,EAAGP,mBANX;AAOC,IAAA,MAAM,EAAC,sBAPR;AAQC,IAAA,eAAe,MARhB;AASC,IAAA,QAAQ;AATT,IADD;AAaA,CA9DD;;eAgEeV,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tLinkSettingsNavigation,\n\tFooterMessageLink,\n} from '@wordpress/components';\nimport { isURL } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useCallback, useState } from '@wordpress/element';\n\nconst EmbedBottomSheet = ( { value, label, isVisible, onClose, onSubmit } ) => {\n\tconst [ url, setURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: sprintf(\n\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t__( '%s link' ),\n\t\t\t\tlabel\n\t\t\t),\n\t\t\tplaceholder: __( 'Add link' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: true,\n\t\t},\n\t\tfooter: {\n\t\t\tlabel: (\n\t\t\t\t<FooterMessageLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/support/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t\t/>\n\t\t\t),\n\t\t\tseparatorType: 'topFullWidth',\n\t\t},\n\t};\n\n\tconst onDismiss = useCallback( () => {\n\t\tif ( url !== '' ) {\n\t\t\tif ( isURL( url ) ) {\n\t\t\t\tonSubmit( url );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__( 'Invalid URL. Please enter a valid URL.' )\n\t\t\t\t);\n\t\t\t\t// If the URL was already defined, we submit it to stop showing the embed placeholder.\n\t\t\t\tonSubmit( value );\n\t\t\t}\n\t\t} else {\n\t\t\t// Resets the URL when new value is empty\n\t\t\tonSubmit( '' );\n\t\t}\n\t}, [ url, onSubmit, value ] );\n\n\tfunction setAttributes( attributes ) {\n\t\tsetURL( attributes.url );\n\t}\n\n\treturn (\n\t\t<LinkSettingsNavigation\n\t\t\tisVisible={ isVisible }\n\t\t\turl={ url }\n\t\t\tonClose={ onClose }\n\t\t\tonDismiss={ onDismiss }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\toptions={ linkSettingsOptions }\n\t\t\ttestID=\"embed-edit-url-modal\"\n\t\t\twithBottomSheet\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedBottomSheet;\n"]}
@@ -44,8 +44,7 @@ const EmbedPlaceholder = _ref => {
44
44
  onPress,
45
45
  cannotEmbed,
46
46
  fallback,
47
- tryAgain,
48
- openEmbedLinkSettings
47
+ tryAgain
49
48
  } = _ref;
50
49
  const containerStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default.embed__container, _styles.default['embed__container--dark']);
51
50
  const labelStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default.embed__label, _styles.default['embed__label--dark']);
@@ -66,15 +65,9 @@ const EmbedPlaceholder = _ref => {
66
65
  label: (0, _i18n.__)('Convert to link'),
67
66
  value: 'convertToLinkOption',
68
67
  onSelect: fallback
69
- },
70
- editLink: {
71
- id: 'editLinkOption',
72
- label: (0, _i18n.__)('Edit link'),
73
- value: 'editLinkOption',
74
- onSelect: openEmbedLinkSettings
75
68
  }
76
69
  };
77
- const options = (0, _lodash.compact)([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink, cannotEmbed && errorPickerOptions.editLink]);
70
+ const options = (0, _lodash.compact)([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink]);
78
71
 
79
72
  function onPickerSelect(value) {
80
73
  const selectedItem = options.find(item => item.value === value);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"names":["EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","openEmbedLinkSettings","containerStyle","styles","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","descriptionErrorStyle","actionStyle","embed__action","embedIconErrorStyle","cannotEmbedMenuPickerRef","errorPickerOptions","retry","id","value","onSelect","convertToLink","editLink","options","onPickerSelect","selectedItem","find","item","resolveOnPressEvent","current","presentPicker","noticeOutline","fill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\nimport { compact } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, Picker } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { noticeOutline } from '../../../components/src/mobile/gridicons';\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n\topenEmbedLinkSettings,\n} ) => {\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = styles.embed__description;\n\tconst descriptionErrorStyle = styles[ 'embed__description--error' ];\n\tconst actionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__action,\n\t\tstyles[ 'embed__action--dark' ]\n\t);\n\tconst embedIconErrorStyle = styles[ 'embed__icon--error' ];\n\n\tconst cannotEmbedMenuPickerRef = useRef();\n\n\tconst errorPickerOptions = {\n\t\tretry: {\n\t\t\tid: 'retryOption',\n\t\t\tlabel: __( 'Retry' ),\n\t\t\tvalue: 'retryOption',\n\t\t\tonSelect: tryAgain,\n\t\t},\n\t\tconvertToLink: {\n\t\t\tid: 'convertToLinkOption',\n\t\t\tlabel: __( 'Convert to link' ),\n\t\t\tvalue: 'convertToLinkOption',\n\t\t\tonSelect: fallback,\n\t\t},\n\t\teditLink: {\n\t\t\tid: 'editLinkOption',\n\t\t\tlabel: __( 'Edit link' ),\n\t\t\tvalue: 'editLinkOption',\n\t\t\tonSelect: openEmbedLinkSettings,\n\t\t},\n\t};\n\n\tconst options = compact( [\n\t\tcannotEmbed && errorPickerOptions.retry,\n\t\tcannotEmbed && errorPickerOptions.convertToLink,\n\t\tcannotEmbed && errorPickerOptions.editLink,\n\t] );\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\t// When the content cannot be embedded the onPress should trigger the Picker instead of the onPress prop.\n\tfunction resolveOnPressEvent() {\n\t\tif ( cannotEmbed ) {\n\t\t\tcannotEmbedMenuPickerRef.current?.presentPicker();\n\t\t} else {\n\t\t\tonPress();\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tcannotEmbed\n\t\t\t\t\t\t? __( 'Double tap to view embed options.' )\n\t\t\t\t\t\t: __( 'Double tap to add a link.' )\n\t\t\t\t}\n\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t{ cannotEmbed ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ noticeOutline }\n\t\t\t\t\t\t\t\tfill={ embedIconErrorStyle.fill }\n\t\t\t\t\t\t\t\tstyle={ embedIconErrorStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tdescriptionStyle,\n\t\t\t\t\t\t\t\t\tdescriptionErrorStyle,\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Unable to embed media' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'More options' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Picker\n\t\t\t\t\t\t\t\ttitle={ __( 'Embed options' ) }\n\t\t\t\t\t\t\t\tref={ cannotEmbedMenuPickerRef }\n\t\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tleftAlign\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\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'ADD LINK' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-placeholder.native.js"],"names":["EmbedPlaceholder","icon","isSelected","label","onPress","cannotEmbed","fallback","tryAgain","containerStyle","styles","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","descriptionErrorStyle","actionStyle","embed__action","embedIconErrorStyle","cannotEmbedMenuPickerRef","errorPickerOptions","retry","id","value","onSelect","convertToLink","options","onPickerSelect","selectedItem","find","item","resolveOnPressEvent","current","presentPicker","noticeOutline","fill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\nimport { compact } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, Picker } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { noticeOutline } from '../../../components/src/mobile/gridicons';\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n} ) => {\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = styles.embed__description;\n\tconst descriptionErrorStyle = styles[ 'embed__description--error' ];\n\tconst actionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__action,\n\t\tstyles[ 'embed__action--dark' ]\n\t);\n\tconst embedIconErrorStyle = styles[ 'embed__icon--error' ];\n\n\tconst cannotEmbedMenuPickerRef = useRef();\n\n\tconst errorPickerOptions = {\n\t\tretry: {\n\t\t\tid: 'retryOption',\n\t\t\tlabel: __( 'Retry' ),\n\t\t\tvalue: 'retryOption',\n\t\t\tonSelect: tryAgain,\n\t\t},\n\t\tconvertToLink: {\n\t\t\tid: 'convertToLinkOption',\n\t\t\tlabel: __( 'Convert to link' ),\n\t\t\tvalue: 'convertToLinkOption',\n\t\t\tonSelect: fallback,\n\t\t},\n\t};\n\n\tconst options = compact( [\n\t\tcannotEmbed && errorPickerOptions.retry,\n\t\tcannotEmbed && errorPickerOptions.convertToLink,\n\t] );\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\t// When the content cannot be embedded the onPress should trigger the Picker instead of the onPress prop.\n\tfunction resolveOnPressEvent() {\n\t\tif ( cannotEmbed ) {\n\t\t\tcannotEmbedMenuPickerRef.current?.presentPicker();\n\t\t} else {\n\t\t\tonPress();\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tcannotEmbed\n\t\t\t\t\t\t? __( 'Double tap to view embed options.' )\n\t\t\t\t\t\t: __( 'Double tap to add a link.' )\n\t\t\t\t}\n\t\t\t\tonPress={ resolveOnPressEvent }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t{ cannotEmbed ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ noticeOutline }\n\t\t\t\t\t\t\t\tfill={ embedIconErrorStyle.fill }\n\t\t\t\t\t\t\t\tstyle={ embedIconErrorStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tdescriptionStyle,\n\t\t\t\t\t\t\t\t\tdescriptionErrorStyle,\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Unable to embed media' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'More options' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Picker\n\t\t\t\t\t\t\t\ttitle={ __( 'Embed options' ) }\n\t\t\t\t\t\t\t\tref={ cannotEmbedMenuPickerRef }\n\t\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tleftAlign\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\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t\t\t<Text style={ actionStyle }>\n\t\t\t\t\t\t\t\t{ __( 'ADD LINK' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"]}
@@ -23,7 +23,6 @@ var _icons = require("./icons");
23
23
  * Internal dependencies
24
24
  */
25
25
  const metadata = {
26
- $schema: "https://schemas.wp.org/trunk/block.json",
27
26
  apiVersion: 2,
28
27
  name: "core/embed",
29
28
  title: "Embed",