@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":["classnames","FastAverageColor","colord","extend","namesPlugin","Fragment","useEffect","useRef","useState","BaseControl","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","ResizableBox","Spinner","TextareaControl","ToggleControl","withNotices","__experimentalUseCustomUnits","useCustomUnits","__experimentalBoxControl","BoxControl","__experimentalToolsPanelItem","ToolsPanelItem","compose","withInstanceId","useInstanceId","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__experimentalUnitControl","UnitControl","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","store","blockEditorStore","__","withDispatch","useSelect","cover","icon","isBlobURL","ALLOWED_MEDIA_TYPES","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","backgroundImageStyles","dimRatioToClass","isContentPositionCenter","getPositionClassName","__Visualizer","BoxControlVisualizer","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","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","title","instructions","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","isVideoBackground","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","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"],"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":["classnames","FastAverageColor","colord","extend","namesPlugin","Fragment","useEffect","useRef","useState","BaseControl","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","ResizableBox","Spinner","TextareaControl","ToggleControl","withNotices","__experimentalUseCustomUnits","useCustomUnits","__experimentalBoxControl","BoxControl","__experimentalToolsPanelItem","ToolsPanelItem","compose","withInstanceId","useInstanceId","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__experimentalUnitControl","UnitControl","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","store","blockEditorStore","__","withDispatch","useSelect","cover","icon","isBlobURL","ALLOWED_MEDIA_TYPES","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","backgroundImageStyles","dimRatioToClass","isContentPositionCenter","getPositionClassName","__Visualizer","BoxControlVisualizer","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","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","title","instructions","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","isVideoBackground","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","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"],"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"]}
@@ -10,7 +10,6 @@ import { cover as icon } from '@wordpress/icons';
10
10
  import deprecated from './deprecated';
11
11
  import edit from './edit';
12
12
  const metadata = {
13
- $schema: "https://schemas.wp.org/trunk/block.json",
14
13
  apiVersion: 2,
15
14
  name: "core/cover",
16
15
  title: "Cover",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["__","cover","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,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;AACCR,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAEjB,EAAE,CAAE,8BAAF,CAFA;AAGXkB,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBZ,EAAAA,UAnBuB;AAoBvBD,EAAAA,IApBuB;AAqBvBD,EAAAA,IArBuB;AAsBvBD,EAAAA;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":["__","cover","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,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;AACCR,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAEjB,EAAE,CAAE,8BAAF,CAFA;AAGXkB,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBZ,EAAAA,UAnBuB;AAoBvBD,EAAAA,IApBuB;AAqBvBD,EAAAA,IArBuB;AAsBvBD,EAAAA;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"]}
@@ -9,7 +9,6 @@ import classnames from 'classnames';
9
9
  */
10
10
 
11
11
  const metadata = {
12
- $schema: "https://schemas.wp.org/trunk/block.json",
13
12
  apiVersion: 2,
14
13
  name: "core/embed",
15
14
  title: "Embed",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/deprecated.js"],"names":["classnames","RichText","attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,yBAAzB;AAEA,MAAM;AAAEC,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,GAAGX,UAAU,CAAE,gBAAF,EAAoB;AACpD,OAAG,WAAWS,IAAM,EAApB,GAAyBA,IAD2B;AAEpD,OAAG,eAAeC,gBAAkB,EAApC,GAAyCA;AAFW,KAApB,CAAjC;AAKA,WACC;AAAQ,MAAA,SAAS,EAAGC;AAApB,OACI,KAAKJ,GAAK;AAAI;AADlB,MAEG,CAAEN,QAAQ,CAACW,OAAT,CAAkBJ,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,KAAK,EAAGA;AAFT,MAHF,CADD;AAWA;;AAvBF,CADkB,CAAnB;AA4BA,eAAeH,UAAf","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":["classnames","RichText","attributes","blockAttributes","metadata","deprecated","save","url","caption","type","providerNameSlug","embedClassName","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,yBAAzB;AAEA,MAAM;AAAEC,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,GAAGX,UAAU,CAAE,gBAAF,EAAoB;AACpD,OAAG,WAAWS,IAAM,EAApB,GAAyBA,IAD2B;AAEpD,OAAG,eAAeC,gBAAkB,EAApC,GAAyCA;AAFW,KAApB,CAAjC;AAKA,WACC;AAAQ,MAAA,SAAS,EAAGC;AAApB,OACI,KAAKJ,GAAK;AAAI;AADlB,MAEG,CAAEN,QAAQ,CAACW,OAAT,CAAkBJ,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,KAAK,EAAGA;AAFT,MAHF,CADD;AAWA;;AAvBF,CADkB,CAAnB;AA4BA,eAAeH,UAAf","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"]}
@@ -9,7 +9,7 @@ import { embedContentIcon } from './icons';
9
9
  import EmbedLoading from './embed-loading';
10
10
  import EmbedPlaceholder from './embed-placeholder';
11
11
  import EmbedPreview from './embed-preview';
12
- import EmbedLinkSettings from './embed-link-settings';
12
+ import EmbedBottomSheet from './embed-bottom-sheet';
13
13
  /**
14
14
  * External dependencies
15
15
  */
@@ -20,7 +20,7 @@ import classnames from 'classnames';
20
20
  */
21
21
 
22
22
  import { _x } from '@wordpress/i18n';
23
- import { useCallback, useState, useEffect } from '@wordpress/element';
23
+ import { useState, useEffect } from '@wordpress/element';
24
24
  import { useDispatch, useSelect } from '@wordpress/data';
25
25
  import { useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
26
26
  import { store as coreStore } from '@wordpress/core-data';
@@ -171,15 +171,6 @@ const EmbedEdit = props => {
171
171
  }
172
172
  }, [preview, isEditingURL]);
173
173
  useEffect(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
174
- const onEditURL = useCallback(value => {
175
- // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
176
- // otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
177
- // for creating the new block.
178
- setAttributes({
179
- url: value
180
- });
181
- setIsEditingURL(false);
182
- }, []);
183
174
  const blockProps = useBlockProps();
184
175
 
185
176
  if (fetching) {
@@ -204,8 +195,11 @@ const EmbedEdit = props => {
204
195
  const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
205
196
  // except the ones that are not supported yet.
206
197
  WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
207
- const linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
208
- return createElement(Fragment, null, showEmbedPlaceholder ? createElement(Fragment, null, createElement(View, blockProps, createElement(EmbedPlaceholder, {
198
+ const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
199
+ return createElement(Fragment, null, showEmbedPlaceholder ? createElement(Fragment, null, createElement(EmbedControls, {
200
+ showEditButton: cannotEmbed,
201
+ switchBackToURLInput: () => setIsEditingURL(true)
202
+ }), createElement(View, blockProps, createElement(EmbedPlaceholder, {
209
203
  icon: icon,
210
204
  isSelected: isSelected,
211
205
  label: title,
@@ -217,16 +211,14 @@ const EmbedEdit = props => {
217
211
  fallback: () => fallback(url, onReplace),
218
212
  tryAgain: () => {
219
213
  invalidateResolution('getEmbedPreview', [url]);
220
- },
221
- openEmbedLinkSettings: () => setShowEmbedBottomSheet(true)
214
+ }
222
215
  }))) : createElement(Fragment, null, createElement(EmbedControls, {
216
+ showEditButton: preview && !cannotEmbed,
223
217
  themeSupportsResponsive: themeSupportsResponsive,
224
218
  blockSupportsResponsive: responsive,
225
219
  allowResponsive: allowResponsive,
226
220
  toggleResponsive: toggleResponsive,
227
- url: url,
228
- linkLabel: linkLabel,
229
- onEditURL: onEditURL
221
+ switchBackToURLInput: () => setIsEditingURL(true)
230
222
  }), createElement(View, blockProps, createElement(EmbedPreview, {
231
223
  align: align,
232
224
  className: className,
@@ -242,15 +234,20 @@ const EmbedEdit = props => {
242
234
  type: type,
243
235
  url: url,
244
236
  isDefaultEmbedInfo: !embedInfoByProvider
245
- }))), createElement(EmbedLinkSettings // eslint-disable-next-line jsx-a11y/no-autofocus
246
- , {
247
- autoFocus: true,
237
+ }))), createElement(EmbedBottomSheet, {
248
238
  value: url,
249
- label: linkLabel,
239
+ label: bottomSheetLabel,
250
240
  isVisible: showEmbedBottomSheet,
251
241
  onClose: () => setShowEmbedBottomSheet(false),
252
- onSubmit: onEditURL,
253
- withBottomSheet: true
242
+ onSubmit: value => {
243
+ // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
244
+ // otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
245
+ // for creating the new block.
246
+ setAttributes({
247
+ url: value
248
+ });
249
+ setIsEditingURL(false);
250
+ }
254
251
  }));
255
252
  };
256
253
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getClassNames","fallback","getAttributesFromPreview","getEmbedInfoByProvider","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","classnames","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","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","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","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":["createUpgradedEmbedBlock","getClassNames","fallback","getAttributesFromPreview","getEmbedInfoByProvider","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedBottomSheet","classnames","_x","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","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","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","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":";;AAAA;AACA;AACA;AACA,SACCA,wBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,wBAJD,EAKCC,sBALD,QAMO,QANP;AAOA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,SAASC,gBAAT,QAAiC,SAAjC;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,EAAmBC,SAAnB,QAAoC,oBAApC;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SACCC,aADD,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AACA,SAASC,IAAT,QAAqB,uBAArB,C,CAEA;AACA;;AACA,MAAMC,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,EAAE5B,EAAE,CAAE,OAAF,EAAW,aAAX,CADe;AAExB6B,IAAAA,IAAI,EAAEnC;AAFkB,GAAzB;AAIA,QAAMoC,mBAAmB,GAAGtC,sBAAsB,CAAEyB,gBAAF,CAAlD;AACA,QAAM;AAAEY,IAAAA,IAAF;AAAQD,IAAAA;AAAR,MAAkBE,mBAAmB,IAAIH,gBAA/C;AAEA,QAAM;AAAEI,IAAAA;AAAF,MAA2B3B,SAAS,CACvC4B,MAAF,KAAgB;AACfD,IAAAA,oBAAoB,EAAEC,MAAM,CAC3BzB,gBAD2B,CAAN,CAEpBwB,oBAFoB,CAEEL,QAFF,EAEY,eAFZ;AADP,GAAhB,CADyC,EAMzC,CAAEA,QAAF,CANyC,CAA1C;AAQA,QAAM,CAAEO,YAAF,EAAgBC,eAAhB,IAAoCjC,QAAQ,CACjDoB,UAAU,IAAIU,oBAAd,IAAsC,CAAEX,GADS,CAAlD;AAGA,QAAM,CAAEe,oBAAF,EAAwBC,uBAAxB,IAAoDnC,QAAQ,CACjEgC,YADiE,CAAlE;AAGA,QAAM;AAAEI,IAAAA;AAAF,MAA2BlC,WAAW,CAAEK,SAAF,CAA5C;AAEA,QAAM;AACL8B,IAAAA,OADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,uBAHK;AAILC,IAAAA;AAJK,MAKFrC,SAAS,CACV4B,MAAF,IAAc;AACb,UAAM;AACLU,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,sBAHK;AAILC,MAAAA;AAJK,QAKFb,MAAM,CAAExB,SAAF,CALV;;AAMA,QAAK,CAAEY,GAAP,EAAa;AACZ,aAAO;AAAEmB,QAAAA,QAAQ,EAAE,KAAZ;AAAmBE,QAAAA,WAAW,EAAE;AAAhC,OAAP;AACA;;AAED,UAAMK,YAAY,GAAGJ,eAAe,CAAEtB,GAAF,CAApC;AACA,UAAM2B,uBAAuB,GAAGJ,qBAAqB,CACpD,iBADoD,EAEpD,CAAEvB,GAAF,CAFoD,CAArD;AAIA,UAAM4B,iBAAiB,GAAGJ,sBAAsB,CAAExB,GAAF,CAAhD,CAhBa,CAkBb;;AACA,UAAM6B,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,GAtCW,EAuCZ,CAAE5B,GAAF,CAvCY,CALb;AA+CA;AACD;AACA;AACA;AACA;AACA;;AACC,QAAMoC,mBAAmB,GAAG,YAAuC;AAAA,QAArCC,uBAAqC,uEAAX,KAAW;AAClE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAiC5C,UAAvC;AACA,WAAO,EACN,GAAGA,UADG;AAEN,SAAGxB,wBAAwB,CAC1B+C,OAD0B,EAE1BV,KAF0B,EAG1B6B,uBAAuB,GAAGL,SAAH,GAAeO,SAHZ,EAI1BxC,UAJ0B,EAK1BuC,eAL0B;AAFrB,KAAP;AAUA,GAZD;;AAcA,QAAME,gBAAgB,GAAG,MAAM;AAC9B,UAAM;AAAEF,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAiC5C,UAAvC;AACA,UAAM;AAAEmC,MAAAA;AAAF,QAAWZ,OAAjB;AACA,UAAMuB,kBAAkB,GAAG,CAAEH,eAA7B;AAEAnC,IAAAA,aAAa,CAAE;AACdmC,MAAAA,eAAe,EAAEG,kBADH;AAEdF,MAAAA,SAAS,EAAEtE,aAAa,CACvB6D,IADuB,EAEvBS,SAFuB,EAGvBxC,UAAU,IAAI0C,kBAHS;AAFV,KAAF,CAAb;AAQA,GAbD;;AAeA3D,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,EAAEoC,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAEY,IAAX,KAAmB,CAAET,WAArB,IAAoCF,QAAzC,EAAoD;AACnD;AACA,KAHe,CAIhB;AACA;;;AACA,UAAMuB,MAAM,GAAG1C,GAAG,CAAC2C,OAAJ,CAAa,KAAb,EAAoB,EAApB,CAAf;AACA7B,IAAAA,eAAe,CAAE,KAAF,CAAf;AACAX,IAAAA,aAAa,CAAE;AAAEH,MAAAA,GAAG,EAAE0C;AAAP,KAAF,CAAb;AACA,GATQ,EASN,CAAExB,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEY,IAAX,EAAiB9B,GAAjB,CATM,CAAT,CArH8B,CAgI9B;;AACAlB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKoC,OAAO,IAAI,CAAEL,YAAlB,EAAiC;AAChC;AACA;AACA;AACA;AACAV,MAAAA,aAAa,CAAEiC,mBAAmB,CAAE,IAAF,CAArB,CAAb;;AAEA,UAAKlC,SAAL,EAAiB;AAChB,cAAM0C,aAAa,GAAG5E,wBAAwB,CAC7C0B,KAD6C,EAE7C0C,mBAAmB,EAF0B,CAA9C;;AAKA,YAAKQ,aAAL,EAAqB;AACpB1C,UAAAA,SAAS,CAAE0C,aAAF,CAAT;AACA;AACD;AACD;AACD,GAnBQ,EAmBN,CAAE1B,OAAF,EAAWL,YAAX,CAnBM,CAAT;AAqBA/B,EAAAA,SAAS,CAAE,MAAMkC,uBAAuB,CAAEH,YAAF,CAA/B,EAAiD,CACzDA,YADyD,CAAjD,CAAT;AAIA,QAAMgC,UAAU,GAAG5D,aAAa,EAAhC;;AAEA,MAAKkC,QAAL,EAAgB;AACf,WACC,cAAC,IAAD,EAAW0B,UAAX,EACC,cAAC,YAAD,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,GAAG5D,UAAU,CAAEoE,gBAAF,EAAoBrD,KAAK,CAAC6C,SAA1B,CAA5B;AAEA,QAAMS,qBAAqB,GAC1B1D,qBAAqB,CAAC2D,QAAtB,CAAgCpD,gBAAhC,KACA;AACA;AACEL,EAAAA,aAAa,KAAKuC,IAAlB,IACD,CAAExC,kCAAkC,CAAC0D,QAAnC,CAA6CpD,gBAA7C,CALJ;AAOA,QAAMqD,gBAAgB,GAAG1D,aAAa,KAAKuC,IAAlB,GAAyB,WAAzB,GAAuCvB,KAAhE;AAEA,SACC,8BACGsC,oBAAoB,GACrB,8BACC,cAAC,aAAD;AACC,IAAA,cAAc,EAAGzB,WADlB;AAEC,IAAA,oBAAoB,EAAG,MAAMP,eAAe,CAAE,IAAF;AAF7C,IADD,EAKC,cAAC,IAAD,EAAW+B,UAAX,EACC,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGpC,IADR;AAEC,IAAA,UAAU,EAAGR,UAFd;AAGC,IAAA,KAAK,EAAGO,KAHT;AAIC,IAAA,OAAO,EAAK2C,KAAF,IAAa;AACtB9C,MAAAA,OAAO,CAAE8C,KAAF,CAAP;AACArC,MAAAA,eAAe,CAAE,IAAF,CAAf;AACA,KAPF;AAQC,IAAA,WAAW,EAAGO,WARf;AASC,IAAA,QAAQ,EAAG,MAAMnD,QAAQ,CAAE8B,GAAF,EAAOE,SAAP,CAT1B;AAUC,IAAA,QAAQ,EAAG,MAAM;AAChBe,MAAAA,oBAAoB,CAAE,iBAAF,EAAqB,CACxCjB,GADwC,CAArB,CAApB;AAGA;AAdF,IADD,CALD,CADqB,GA0BrB,8BACC,cAAC,aAAD;AACC,IAAA,cAAc,EAAGkB,OAAO,IAAI,CAAEG,WAD/B;AAEC,IAAA,uBAAuB,EAAGD,uBAF3B;AAGC,IAAA,uBAAuB,EAAGrB,UAH3B;AAIC,IAAA,eAAe,EAAGuC,eAJnB;AAKC,IAAA,gBAAgB,EAAGE,gBALpB;AAMC,IAAA,oBAAoB,EAAG,MAAM1B,eAAe,CAAE,IAAF;AAN7C,IADD,EASC,cAAC,IAAD,EAAW+B,UAAX,EACC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGjD,KADT;AAEC,IAAA,SAAS,EAAG2C,SAFb;AAGC,IAAA,QAAQ,EAAGjC,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,EAAGa,OATX;AAUC,IAAA,qBAAqB,EAAG8B,qBAVzB;AAWC,IAAA,WAAW,EAAGlD,WAXf;AAYC,IAAA,IAAI,EAAGiC,IAZR;AAaC,IAAA,GAAG,EAAG/B,GAbP;AAcC,IAAA,kBAAkB,EAAG,CAAEU;AAdxB,IADD,CATD,CA3BF,EAwDC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGV,GADT;AAEC,IAAA,KAAK,EAAGkD,gBAFT;AAGC,IAAA,SAAS,EAAGnC,oBAHb;AAIC,IAAA,OAAO,EAAG,MAAMC,uBAAuB,CAAE,KAAF,CAJxC;AAKC,IAAA,QAAQ,EAAKoC,KAAF,IAAa;AACvB;AACA;AACA;AACAjD,MAAAA,aAAa,CAAE;AAAEH,QAAAA,GAAG,EAAEoD;AAAP,OAAF,CAAb;AACAtC,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA;AAXF,IAxDD,CADD;AAwEA,CAtQD;;AAwQA,eAAerB,SAAf","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,74 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { __, sprintf } from '@wordpress/i18n';
7
+ import { LinkSettingsNavigation, FooterMessageLink } from '@wordpress/components';
8
+ import { isURL } from '@wordpress/url';
9
+ import { useDispatch } from '@wordpress/data';
10
+ import { store as noticesStore } from '@wordpress/notices';
11
+ import { useCallback, useState } from '@wordpress/element';
12
+
13
+ const EmbedBottomSheet = _ref => {
14
+ let {
15
+ value,
16
+ label,
17
+ isVisible,
18
+ onClose,
19
+ onSubmit
20
+ } = _ref;
21
+ const [url, setURL] = useState(value);
22
+ const {
23
+ createErrorNotice
24
+ } = useDispatch(noticesStore);
25
+ const linkSettingsOptions = {
26
+ url: {
27
+ label: sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
28
+ __('%s link'), label),
29
+ placeholder: __('Add link'),
30
+ autoFocus: true,
31
+ autoFill: true
32
+ },
33
+ footer: {
34
+ label: createElement(FooterMessageLink, {
35
+ href: __('https://wordpress.org/support/article/embeds/'),
36
+ value: __('Learn more about embeds')
37
+ }),
38
+ separatorType: 'topFullWidth'
39
+ }
40
+ };
41
+ const onDismiss = useCallback(() => {
42
+ if (url !== '') {
43
+ if (isURL(url)) {
44
+ onSubmit(url);
45
+ } else {
46
+ createErrorNotice(__('Invalid URL. Please enter a valid URL.')); // If the URL was already defined, we submit it to stop showing the embed placeholder.
47
+
48
+ onSubmit(value);
49
+ }
50
+ } else {
51
+ // Resets the URL when new value is empty
52
+ onSubmit('');
53
+ }
54
+ }, [url, onSubmit, value]);
55
+
56
+ function setAttributes(attributes) {
57
+ setURL(attributes.url);
58
+ }
59
+
60
+ return createElement(LinkSettingsNavigation, {
61
+ isVisible: isVisible,
62
+ url: url,
63
+ onClose: onClose,
64
+ onDismiss: onDismiss,
65
+ setAttributes: setAttributes,
66
+ options: linkSettingsOptions,
67
+ testID: "embed-edit-url-modal",
68
+ withBottomSheet: true,
69
+ showIcon: true
70
+ });
71
+ };
72
+
73
+ export default EmbedBottomSheet;
74
+ //# 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":["__","sprintf","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useState","EmbedBottomSheet","value","label","isVisible","onClose","onSubmit","url","setURL","createErrorNotice","linkSettingsOptions","placeholder","autoFocus","autoFill","footer","separatorType","onDismiss","setAttributes","attributes"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,sBADD,EAECC,iBAFD,QAGO,uBAHP;AAIA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAsC,oBAAtC;;AAEA,MAAMC,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,IAAkBR,QAAQ,CAAEE,KAAF,CAAhC;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAwBb,WAAW,CAAEE,YAAF,CAAzC;AAEA,QAAMY,mBAAmB,GAAG;AAC3BH,IAAAA,GAAG,EAAE;AACJJ,MAAAA,KAAK,EAAEX,OAAO,EACb;AACAD,MAAAA,EAAE,CAAE,SAAF,CAFW,EAGbY,KAHa,CADV;AAMJQ,MAAAA,WAAW,EAAEpB,EAAE,CAAE,UAAF,CANX;AAOJqB,MAAAA,SAAS,EAAE,IAPP;AAQJC,MAAAA,QAAQ,EAAE;AARN,KADsB;AAW3BC,IAAAA,MAAM,EAAE;AACPX,MAAAA,KAAK,EACJ,cAAC,iBAAD;AACC,QAAA,IAAI,EAAGZ,EAAE,CACR,+CADQ,CADV;AAIC,QAAA,KAAK,EAAGA,EAAE,CAAE,yBAAF;AAJX,QAFM;AASPwB,MAAAA,aAAa,EAAE;AATR;AAXmB,GAA5B;AAwBA,QAAMC,SAAS,GAAGjB,WAAW,CAAE,MAAM;AACpC,QAAKQ,GAAG,KAAK,EAAb,EAAkB;AACjB,UAAKZ,KAAK,CAAEY,GAAF,CAAV,EAAoB;AACnBD,QAAAA,QAAQ,CAAEC,GAAF,CAAR;AACA,OAFD,MAEO;AACNE,QAAAA,iBAAiB,CAChBlB,EAAE,CAAE,wCAAF,CADc,CAAjB,CADM,CAIN;;AACAe,QAAAA,QAAQ,CAAEJ,KAAF,CAAR;AACA;AACD,KAVD,MAUO;AACN;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAf4B,EAe1B,CAAEC,GAAF,EAAOD,QAAP,EAAiBJ,KAAjB,CAf0B,CAA7B;;AAiBA,WAASe,aAAT,CAAwBC,UAAxB,EAAqC;AACpCV,IAAAA,MAAM,CAAEU,UAAU,CAACX,GAAb,CAAN;AACA;;AAED,SACC,cAAC,sBAAD;AACC,IAAA,SAAS,EAAGH,SADb;AAEC,IAAA,GAAG,EAAGG,GAFP;AAGC,IAAA,OAAO,EAAGF,OAHX;AAIC,IAAA,SAAS,EAAGW,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;;AAgEA,eAAeT,gBAAf","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"]}
@@ -29,8 +29,7 @@ const EmbedPlaceholder = _ref => {
29
29
  onPress,
30
30
  cannotEmbed,
31
31
  fallback,
32
- tryAgain,
33
- openEmbedLinkSettings
32
+ tryAgain
34
33
  } = _ref;
35
34
  const containerStyle = usePreferredColorSchemeStyle(styles.embed__container, styles['embed__container--dark']);
36
35
  const labelStyle = usePreferredColorSchemeStyle(styles.embed__label, styles['embed__label--dark']);
@@ -51,15 +50,9 @@ const EmbedPlaceholder = _ref => {
51
50
  label: __('Convert to link'),
52
51
  value: 'convertToLinkOption',
53
52
  onSelect: fallback
54
- },
55
- editLink: {
56
- id: 'editLinkOption',
57
- label: __('Edit link'),
58
- value: 'editLinkOption',
59
- onSelect: openEmbedLinkSettings
60
53
  }
61
54
  };
62
- const options = compact([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink, cannotEmbed && errorPickerOptions.editLink]);
55
+ const options = compact([cannotEmbed && errorPickerOptions.retry, cannotEmbed && errorPickerOptions.convertToLink]);
63
56
 
64
57
  function onPickerSelect(value) {
65
58
  const selectedItem = options.find(item => item.value === value);