@wordpress/block-library 5.0.1 → 6.0.1

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 (895) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/build/audio/edit.js +2 -2
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/audio/edit.native.js +2 -2
  6. package/build/audio/edit.native.js.map +1 -1
  7. package/build/button/edit.js +97 -87
  8. package/build/button/edit.js.map +1 -1
  9. package/build/button/edit.native.js +1 -1
  10. package/build/button/edit.native.js.map +1 -1
  11. package/build/button/index.js +4 -1
  12. package/build/button/index.js.map +1 -1
  13. package/build/buttons/edit.js +2 -1
  14. package/build/buttons/edit.js.map +1 -1
  15. package/build/buttons/index.js +2 -1
  16. package/build/buttons/index.js.map +1 -1
  17. package/build/buttons/transforms.js +2 -1
  18. package/build/buttons/transforms.js.map +1 -1
  19. package/build/column/index.js +4 -1
  20. package/build/column/index.js.map +1 -1
  21. package/build/column/save.js +9 -1
  22. package/build/column/save.js.map +1 -1
  23. package/build/columns/edit.native.js +5 -2
  24. package/build/columns/edit.native.js.map +1 -1
  25. package/build/columns/index.js +10 -1
  26. package/build/columns/index.js.map +1 -1
  27. package/build/cover/deprecated.js +0 -27
  28. package/build/cover/deprecated.js.map +1 -1
  29. package/build/cover/edit.js +57 -27
  30. package/build/cover/edit.js.map +1 -1
  31. package/build/cover/index.js +11 -1
  32. package/build/cover/index.js.map +1 -1
  33. package/build/cover/save.js +2 -1
  34. package/build/cover/save.js.map +1 -1
  35. package/build/cover/shared.js +1 -0
  36. package/build/cover/shared.js.map +1 -1
  37. package/build/cover/transforms.js +4 -0
  38. package/build/cover/transforms.js.map +1 -1
  39. package/build/embed/edit.js +1 -5
  40. package/build/embed/edit.js.map +1 -1
  41. package/build/embed/edit.native.js +85 -22
  42. package/build/embed/edit.native.js.map +1 -1
  43. package/build/embed/embed-bottom-sheet.native.js +17 -16
  44. package/build/embed/embed-bottom-sheet.native.js.map +1 -1
  45. package/build/embed/embed-controls.js +4 -1
  46. package/build/embed/embed-controls.js.map +1 -1
  47. package/build/embed/embed-no-preview.native.js +22 -9
  48. package/build/embed/embed-no-preview.native.js.map +1 -1
  49. package/build/embed/embed-placeholder.native.js +51 -7
  50. package/build/embed/embed-placeholder.native.js.map +1 -1
  51. package/build/embed/embed-preview.native.js +28 -10
  52. package/build/embed/embed-preview.native.js.map +1 -1
  53. package/build/embed/variations.js +0 -10
  54. package/build/embed/variations.js.map +1 -1
  55. package/build/embed/wp-embed-preview.js +44 -56
  56. package/build/embed/wp-embed-preview.js.map +1 -1
  57. package/build/embed/wp-embed-preview.native.js +95 -0
  58. package/build/embed/wp-embed-preview.native.js.map +1 -0
  59. package/build/file/deprecated.js +108 -0
  60. package/build/file/deprecated.js.map +1 -0
  61. package/build/file/edit.js +8 -1
  62. package/build/file/edit.js.map +1 -1
  63. package/build/file/index.js +9 -0
  64. package/build/file/index.js.map +1 -1
  65. package/build/file/inspector.js +1 -1
  66. package/build/file/inspector.js.map +1 -1
  67. package/build/file/save.js +4 -1
  68. package/build/file/save.js.map +1 -1
  69. package/build/file/transforms.js +3 -1
  70. package/build/file/transforms.js.map +1 -1
  71. package/build/gallery/constants.js +2 -2
  72. package/build/gallery/constants.js.map +1 -1
  73. package/build/gallery/deprecated.js +17 -8
  74. package/build/gallery/deprecated.js.map +1 -1
  75. package/build/gallery/edit-wrapper.js +63 -0
  76. package/build/gallery/edit-wrapper.js.map +1 -0
  77. package/build/gallery/edit.js +225 -231
  78. package/build/gallery/edit.js.map +1 -1
  79. package/build/gallery/gallery.js +67 -49
  80. package/build/gallery/gallery.js.map +1 -1
  81. package/build/gallery/gallery.native.js +42 -79
  82. package/build/gallery/gallery.native.js.map +1 -1
  83. package/build/gallery/index.js +31 -7
  84. package/build/gallery/index.js.map +1 -1
  85. package/build/gallery/save.js +26 -43
  86. package/build/gallery/save.js.map +1 -1
  87. package/build/gallery/shared.js +9 -2
  88. package/build/gallery/shared.js.map +1 -1
  89. package/build/gallery/transforms.js +211 -12
  90. package/build/gallery/transforms.js.map +1 -1
  91. package/build/gallery/use-get-media.js +58 -0
  92. package/build/gallery/use-get-media.js.map +1 -0
  93. package/build/gallery/use-get-new-images.js +58 -0
  94. package/build/gallery/use-get-new-images.js.map +1 -0
  95. package/build/gallery/use-image-sizes.js +73 -0
  96. package/build/gallery/use-image-sizes.js.map +1 -0
  97. package/build/gallery/use-short-code-transform.js +63 -0
  98. package/build/gallery/use-short-code-transform.js.map +1 -0
  99. package/build/gallery/utils.js +51 -0
  100. package/build/gallery/utils.js.map +1 -0
  101. package/build/gallery/v1/constants.js +13 -0
  102. package/build/gallery/v1/constants.js.map +1 -0
  103. package/build/gallery/v1/edit.js +459 -0
  104. package/build/gallery/v1/edit.js.map +1 -0
  105. package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  106. package/build/gallery/v1/gallery-button.native.js.map +1 -0
  107. package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  108. package/build/gallery/v1/gallery-image.js.map +1 -0
  109. package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  110. package/build/gallery/v1/gallery-image.native.js.map +1 -0
  111. package/build/gallery/v1/gallery.js +122 -0
  112. package/build/gallery/v1/gallery.js.map +1 -0
  113. package/build/gallery/v1/gallery.native.js +159 -0
  114. package/build/gallery/v1/gallery.native.js.map +1 -0
  115. package/build/gallery/v1/save.js +75 -0
  116. package/build/gallery/v1/save.js.map +1 -0
  117. package/build/gallery/v1/shared.js +26 -0
  118. package/build/gallery/v1/shared.js.map +1 -0
  119. package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  120. package/build/gallery/v1/tiles.native.js.map +1 -0
  121. package/build/gallery/v1/update-gallery-modal.js +110 -0
  122. package/build/gallery/v1/update-gallery-modal.js.map +1 -0
  123. package/build/group/edit.js +21 -5
  124. package/build/group/edit.js.map +1 -1
  125. package/build/group/index.js +8 -2
  126. package/build/group/index.js.map +1 -1
  127. package/build/group/variations.js +31 -0
  128. package/build/group/variations.js.map +1 -0
  129. package/build/heading/heading-level-dropdown.js +11 -37
  130. package/build/heading/heading-level-dropdown.js.map +1 -1
  131. package/build/home-link/edit.js +2 -2
  132. package/build/home-link/edit.js.map +1 -1
  133. package/build/image/edit.js +8 -6
  134. package/build/image/edit.js.map +1 -1
  135. package/build/image/edit.native.js +46 -17
  136. package/build/image/edit.native.js.map +1 -1
  137. package/build/image/image.js +11 -17
  138. package/build/image/image.js.map +1 -1
  139. package/build/image/index.js +1 -0
  140. package/build/image/index.js.map +1 -1
  141. package/build/image/transforms.js +30 -7
  142. package/build/image/transforms.js.map +1 -1
  143. package/build/image/utils.js +23 -0
  144. package/build/image/utils.js.map +1 -1
  145. package/build/index.js +3 -1
  146. package/build/index.js.map +1 -1
  147. package/build/latest-comments/edit.js +7 -1
  148. package/build/latest-comments/edit.js.map +1 -1
  149. package/build/latest-posts/edit.native.js +12 -6
  150. package/build/latest-posts/edit.native.js.map +1 -1
  151. package/build/media-text/edit.js +1 -1
  152. package/build/media-text/edit.js.map +1 -1
  153. package/build/media-text/index.js +2 -0
  154. package/build/media-text/index.js.map +1 -1
  155. package/build/navigation/block-navigation-list.js +14 -3
  156. package/build/navigation/block-navigation-list.js.map +1 -1
  157. package/build/navigation/edit.js +44 -14
  158. package/build/navigation/edit.js.map +1 -1
  159. package/build/navigation/index.js +7 -1
  160. package/build/navigation/index.js.map +1 -1
  161. package/build/navigation/menu-items-to-blocks.js +6 -5
  162. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  163. package/build/navigation/placeholder-preview.js +3 -3
  164. package/build/navigation/placeholder-preview.js.map +1 -1
  165. package/build/navigation/placeholder.js +1 -1
  166. package/build/navigation/placeholder.js.map +1 -1
  167. package/build/navigation/use-block-navigator.js +2 -1
  168. package/build/navigation/use-block-navigator.js.map +1 -1
  169. package/build/navigation/variations.js +2 -3
  170. package/build/navigation/variations.js.map +1 -1
  171. package/build/navigation/view.js +53 -1
  172. package/build/navigation/view.js.map +1 -1
  173. package/build/navigation-link/edit.js +56 -72
  174. package/build/navigation-link/edit.js.map +1 -1
  175. package/build/navigation-link/index.js +6 -2
  176. package/build/navigation-link/index.js.map +1 -1
  177. package/build/navigation-link/transforms.js +83 -0
  178. package/build/navigation-link/transforms.js.map +1 -0
  179. package/build/navigation-submenu/edit.js +651 -0
  180. package/build/navigation-submenu/edit.js.map +1 -0
  181. package/build/navigation-submenu/icons.js +27 -0
  182. package/build/navigation-submenu/icons.js.map +1 -0
  183. package/build/navigation-submenu/index.js +89 -0
  184. package/build/navigation-submenu/index.js.map +1 -0
  185. package/build/navigation-submenu/save.js +18 -0
  186. package/build/navigation-submenu/save.js.map +1 -0
  187. package/build/navigation-submenu/transforms.js +82 -0
  188. package/build/navigation-submenu/transforms.js.map +1 -0
  189. package/build/navigation-submenu/view.js +51 -0
  190. package/build/navigation-submenu/view.js.map +1 -0
  191. package/build/page-list/convert-to-links-modal.js +19 -1
  192. package/build/page-list/convert-to-links-modal.js.map +1 -1
  193. package/build/page-list/edit.js +16 -5
  194. package/build/page-list/edit.js.map +1 -1
  195. package/build/page-list/index.js +10 -1
  196. package/build/page-list/index.js.map +1 -1
  197. package/build/post-author/index.js +2 -1
  198. package/build/post-author/index.js.map +1 -1
  199. package/build/post-comment/edit.js +7 -4
  200. package/build/post-comment/edit.js.map +1 -1
  201. package/build/post-comment-author/edit.js +1 -1
  202. package/build/post-comment-author/edit.js.map +1 -1
  203. package/build/post-comment-content/edit.js +16 -12
  204. package/build/post-comment-content/edit.js.map +1 -1
  205. package/build/post-content/edit.js +1 -3
  206. package/build/post-content/edit.js.map +1 -1
  207. package/build/post-date/edit.js +35 -14
  208. package/build/post-date/edit.js.map +1 -1
  209. package/build/post-date/index.js +2 -1
  210. package/build/post-date/index.js.map +1 -1
  211. package/build/post-excerpt/edit.js +2 -1
  212. package/build/post-excerpt/edit.js.map +1 -1
  213. package/build/post-featured-image/dimension-controls.js +24 -10
  214. package/build/post-featured-image/dimension-controls.js.map +1 -1
  215. package/build/post-featured-image/index.js +5 -0
  216. package/build/post-featured-image/index.js.map +1 -1
  217. package/build/post-navigation-link/edit.js +19 -3
  218. package/build/post-navigation-link/edit.js.map +1 -1
  219. package/build/post-navigation-link/index.js +9 -1
  220. package/build/post-navigation-link/index.js.map +1 -1
  221. package/build/post-template/index.js +5 -2
  222. package/build/post-template/index.js.map +1 -1
  223. package/build/post-terms/edit.js +4 -2
  224. package/build/post-terms/edit.js.map +1 -1
  225. package/build/post-terms/index.js +2 -1
  226. package/build/post-terms/index.js.map +1 -1
  227. package/build/post-title/edit.js +3 -3
  228. package/build/post-title/edit.js.map +1 -1
  229. package/build/post-title/index.js +4 -1
  230. package/build/post-title/index.js.map +1 -1
  231. package/build/query/edit/index.js +3 -1
  232. package/build/query/edit/index.js.map +1 -1
  233. package/build/query/variations.js +4 -4
  234. package/build/query/variations.js.map +1 -1
  235. package/build/query-pagination/deprecated.js +24 -0
  236. package/build/query-pagination/deprecated.js.map +1 -0
  237. package/build/query-pagination/edit.js +54 -3
  238. package/build/query-pagination/edit.js.map +1 -1
  239. package/build/query-pagination/index.js +20 -1
  240. package/build/query-pagination/index.js.map +1 -1
  241. package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
  242. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  243. package/build/query-pagination/save.js +1 -1
  244. package/build/query-pagination/save.js.map +1 -1
  245. package/build/query-pagination-next/edit.js +19 -4
  246. package/build/query-pagination-next/edit.js.map +1 -1
  247. package/build/query-pagination-next/index.js +1 -1
  248. package/build/query-pagination-previous/edit.js +19 -4
  249. package/build/query-pagination-previous/edit.js.map +1 -1
  250. package/build/query-pagination-previous/index.js +1 -1
  251. package/build/site-logo/edit.js +75 -30
  252. package/build/site-logo/edit.js.map +1 -1
  253. package/build/site-logo/index.js +7 -2
  254. package/build/site-logo/index.js.map +1 -1
  255. package/build/site-tagline/index.js +1 -0
  256. package/build/site-tagline/index.js.map +1 -1
  257. package/build/site-title/edit/index.js +25 -6
  258. package/build/site-title/edit/index.js.map +1 -1
  259. package/build/site-title/index.js +9 -2
  260. package/build/site-title/index.js.map +1 -1
  261. package/build/social-links/deprecated.js +106 -2
  262. package/build/social-links/deprecated.js.map +1 -1
  263. package/build/social-links/edit.js +15 -19
  264. package/build/social-links/edit.js.map +1 -1
  265. package/build/social-links/index.js +16 -1
  266. package/build/social-links/index.js.map +1 -1
  267. package/build/social-links/save.js +1 -3
  268. package/build/social-links/save.js.map +1 -1
  269. package/build/table/index.js +1 -1
  270. package/build/template-part/edit/advanced-controls.js +3 -1
  271. package/build/template-part/edit/advanced-controls.js.map +1 -1
  272. package/build/template-part/edit/index.js +1 -4
  273. package/build/template-part/edit/index.js.map +1 -1
  274. package/build/video/edit-common-settings.js +1 -1
  275. package/build/video/edit-common-settings.js.map +1 -1
  276. package/build/video/edit.js +10 -5
  277. package/build/video/edit.js.map +1 -1
  278. package/build/video/tracks-editor.js +3 -1
  279. package/build/video/tracks-editor.js.map +1 -1
  280. package/build-module/audio/edit.js +3 -3
  281. package/build-module/audio/edit.js.map +1 -1
  282. package/build-module/audio/edit.native.js +3 -3
  283. package/build-module/audio/edit.native.js.map +1 -1
  284. package/build-module/button/edit.js +101 -91
  285. package/build-module/button/edit.js.map +1 -1
  286. package/build-module/button/edit.native.js +2 -2
  287. package/build-module/button/edit.native.js.map +1 -1
  288. package/build-module/button/index.js +4 -1
  289. package/build-module/button/index.js.map +1 -1
  290. package/build-module/buttons/edit.js +2 -1
  291. package/build-module/buttons/edit.js.map +1 -1
  292. package/build-module/buttons/index.js +2 -1
  293. package/build-module/buttons/index.js.map +1 -1
  294. package/build-module/buttons/transforms.js +2 -1
  295. package/build-module/buttons/transforms.js.map +1 -1
  296. package/build-module/column/index.js +4 -1
  297. package/build-module/column/index.js.map +1 -1
  298. package/build-module/column/save.js +9 -1
  299. package/build-module/column/save.js.map +1 -1
  300. package/build-module/columns/edit.native.js +6 -3
  301. package/build-module/columns/edit.native.js.map +1 -1
  302. package/build-module/columns/index.js +10 -1
  303. package/build-module/columns/index.js.map +1 -1
  304. package/build-module/cover/deprecated.js +0 -27
  305. package/build-module/cover/deprecated.js.map +1 -1
  306. package/build-module/cover/edit.js +57 -28
  307. package/build-module/cover/edit.js.map +1 -1
  308. package/build-module/cover/index.js +11 -1
  309. package/build-module/cover/index.js.map +1 -1
  310. package/build-module/cover/save.js +2 -1
  311. package/build-module/cover/save.js.map +1 -1
  312. package/build-module/cover/shared.js +1 -0
  313. package/build-module/cover/shared.js.map +1 -1
  314. package/build-module/cover/transforms.js +4 -0
  315. package/build-module/cover/transforms.js.map +1 -1
  316. package/build-module/embed/edit.js +1 -5
  317. package/build-module/embed/edit.js.map +1 -1
  318. package/build-module/embed/edit.native.js +87 -25
  319. package/build-module/embed/edit.native.js.map +1 -1
  320. package/build-module/embed/embed-bottom-sheet.native.js +18 -16
  321. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
  322. package/build-module/embed/embed-controls.js +4 -1
  323. package/build-module/embed/embed-controls.js.map +1 -1
  324. package/build-module/embed/embed-no-preview.native.js +22 -10
  325. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  326. package/build-module/embed/embed-placeholder.native.js +51 -8
  327. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  328. package/build-module/embed/embed-preview.native.js +26 -11
  329. package/build-module/embed/embed-preview.native.js.map +1 -1
  330. package/build-module/embed/variations.js +0 -10
  331. package/build-module/embed/variations.js.map +1 -1
  332. package/build-module/embed/wp-embed-preview.js +39 -56
  333. package/build-module/embed/wp-embed-preview.js.map +1 -1
  334. package/build-module/embed/wp-embed-preview.native.js +83 -0
  335. package/build-module/embed/wp-embed-preview.native.js.map +1 -0
  336. package/build-module/file/deprecated.js +98 -0
  337. package/build-module/file/deprecated.js.map +1 -0
  338. package/build-module/file/edit.js +8 -1
  339. package/build-module/file/edit.js.map +1 -1
  340. package/build-module/file/index.js +8 -0
  341. package/build-module/file/index.js.map +1 -1
  342. package/build-module/file/inspector.js +1 -1
  343. package/build-module/file/inspector.js.map +1 -1
  344. package/build-module/file/save.js +4 -1
  345. package/build-module/file/save.js.map +1 -1
  346. package/build-module/file/transforms.js +2 -1
  347. package/build-module/file/transforms.js.map +1 -1
  348. package/build-module/gallery/constants.js +2 -2
  349. package/build-module/gallery/constants.js.map +1 -1
  350. package/build-module/gallery/deprecated.js +15 -7
  351. package/build-module/gallery/deprecated.js.map +1 -1
  352. package/build-module/gallery/edit-wrapper.js +50 -0
  353. package/build-module/gallery/edit-wrapper.js.map +1 -0
  354. package/build-module/gallery/edit.js +222 -234
  355. package/build-module/gallery/edit.js.map +1 -1
  356. package/build-module/gallery/gallery.js +70 -51
  357. package/build-module/gallery/gallery.js.map +1 -1
  358. package/build-module/gallery/gallery.native.js +43 -78
  359. package/build-module/gallery/gallery.native.js.map +1 -1
  360. package/build-module/gallery/index.js +30 -6
  361. package/build-module/gallery/index.js.map +1 -1
  362. package/build-module/gallery/save.js +24 -43
  363. package/build-module/gallery/save.js.map +1 -1
  364. package/build-module/gallery/shared.js +8 -2
  365. package/build-module/gallery/shared.js.map +1 -1
  366. package/build-module/gallery/transforms.js +207 -12
  367. package/build-module/gallery/transforms.js.map +1 -1
  368. package/build-module/gallery/use-get-media.js +48 -0
  369. package/build-module/gallery/use-get-media.js.map +1 -0
  370. package/build-module/gallery/use-get-new-images.js +50 -0
  371. package/build-module/gallery/use-get-new-images.js.map +1 -0
  372. package/build-module/gallery/use-image-sizes.js +64 -0
  373. package/build-module/gallery/use-image-sizes.js.map +1 -0
  374. package/build-module/gallery/use-short-code-transform.js +53 -0
  375. package/build-module/gallery/use-short-code-transform.js.map +1 -0
  376. package/build-module/gallery/utils.js +42 -0
  377. package/build-module/gallery/utils.js.map +1 -0
  378. package/build-module/gallery/v1/constants.js +4 -0
  379. package/build-module/gallery/v1/constants.js.map +1 -0
  380. package/build-module/gallery/v1/edit.js +430 -0
  381. package/build-module/gallery/v1/edit.js.map +1 -0
  382. package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  383. package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
  384. package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  385. package/build-module/gallery/v1/gallery-image.js.map +1 -0
  386. package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  387. package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
  388. package/build-module/gallery/v1/gallery.js +102 -0
  389. package/build-module/gallery/v1/gallery.js.map +1 -0
  390. package/build-module/gallery/v1/gallery.native.js +136 -0
  391. package/build-module/gallery/v1/gallery.native.js.map +1 -0
  392. package/build-module/gallery/v1/save.js +65 -0
  393. package/build-module/gallery/v1/save.js.map +1 -0
  394. package/build-module/gallery/v1/shared.js +16 -0
  395. package/build-module/gallery/v1/shared.js.map +1 -0
  396. package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  397. package/build-module/gallery/v1/tiles.native.js.map +1 -0
  398. package/build-module/gallery/v1/update-gallery-modal.js +93 -0
  399. package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
  400. package/build-module/group/edit.js +21 -6
  401. package/build-module/group/edit.js.map +1 -1
  402. package/build-module/group/index.js +7 -2
  403. package/build-module/group/index.js.map +1 -1
  404. package/build-module/group/variations.js +22 -0
  405. package/build-module/group/variations.js.map +1 -0
  406. package/build-module/heading/heading-level-dropdown.js +12 -37
  407. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  408. package/build-module/home-link/edit.js +2 -2
  409. package/build-module/home-link/edit.js.map +1 -1
  410. package/build-module/image/edit.js +8 -6
  411. package/build-module/image/edit.js.map +1 -1
  412. package/build-module/image/edit.native.js +48 -19
  413. package/build-module/image/edit.native.js.map +1 -1
  414. package/build-module/image/image.js +11 -15
  415. package/build-module/image/image.js.map +1 -1
  416. package/build-module/image/index.js +1 -0
  417. package/build-module/image/index.js.map +1 -1
  418. package/build-module/image/transforms.js +26 -7
  419. package/build-module/image/transforms.js.map +1 -1
  420. package/build-module/image/utils.js +22 -1
  421. package/build-module/image/utils.js.map +1 -1
  422. package/build-module/index.js +2 -1
  423. package/build-module/index.js.map +1 -1
  424. package/build-module/latest-comments/edit.js +7 -1
  425. package/build-module/latest-comments/edit.js.map +1 -1
  426. package/build-module/latest-posts/edit.native.js +12 -6
  427. package/build-module/latest-posts/edit.native.js.map +1 -1
  428. package/build-module/media-text/edit.js +1 -1
  429. package/build-module/media-text/edit.js.map +1 -1
  430. package/build-module/media-text/index.js +2 -0
  431. package/build-module/media-text/index.js.map +1 -1
  432. package/build-module/navigation/block-navigation-list.js +15 -3
  433. package/build-module/navigation/block-navigation-list.js.map +1 -1
  434. package/build-module/navigation/edit.js +45 -15
  435. package/build-module/navigation/edit.js.map +1 -1
  436. package/build-module/navigation/index.js +7 -1
  437. package/build-module/navigation/index.js.map +1 -1
  438. package/build-module/navigation/menu-items-to-blocks.js +6 -5
  439. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  440. package/build-module/navigation/placeholder-preview.js +3 -3
  441. package/build-module/navigation/placeholder-preview.js.map +1 -1
  442. package/build-module/navigation/placeholder.js +1 -1
  443. package/build-module/navigation/placeholder.js.map +1 -1
  444. package/build-module/navigation/use-block-navigator.js +2 -1
  445. package/build-module/navigation/use-block-navigator.js.map +1 -1
  446. package/build-module/navigation/variations.js +2 -3
  447. package/build-module/navigation/variations.js.map +1 -1
  448. package/build-module/navigation/view.js +53 -2
  449. package/build-module/navigation/view.js.map +1 -1
  450. package/build-module/navigation-link/edit.js +59 -74
  451. package/build-module/navigation-link/edit.js.map +1 -1
  452. package/build-module/navigation-link/index.js +5 -2
  453. package/build-module/navigation-link/index.js.map +1 -1
  454. package/build-module/navigation-link/transforms.js +74 -0
  455. package/build-module/navigation-link/transforms.js.map +1 -0
  456. package/build-module/navigation-submenu/edit.js +628 -0
  457. package/build-module/navigation-submenu/edit.js.map +1 -0
  458. package/build-module/navigation-submenu/icons.js +17 -0
  459. package/build-module/navigation-submenu/icons.js.map +1 -0
  460. package/build-module/navigation-submenu/index.js +74 -0
  461. package/build-module/navigation-submenu/index.js.map +1 -0
  462. package/build-module/navigation-submenu/save.js +10 -0
  463. package/build-module/navigation-submenu/save.js.map +1 -0
  464. package/build-module/navigation-submenu/transforms.js +73 -0
  465. package/build-module/navigation-submenu/transforms.js.map +1 -0
  466. package/build-module/navigation-submenu/view.js +49 -0
  467. package/build-module/navigation-submenu/view.js.map +1 -0
  468. package/build-module/page-list/convert-to-links-modal.js +19 -1
  469. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  470. package/build-module/page-list/edit.js +16 -5
  471. package/build-module/page-list/edit.js.map +1 -1
  472. package/build-module/page-list/index.js +10 -1
  473. package/build-module/page-list/index.js.map +1 -1
  474. package/build-module/post-author/index.js +2 -1
  475. package/build-module/post-author/index.js.map +1 -1
  476. package/build-module/post-comment/edit.js +8 -6
  477. package/build-module/post-comment/edit.js.map +1 -1
  478. package/build-module/post-comment-author/edit.js +1 -1
  479. package/build-module/post-comment-author/edit.js.map +1 -1
  480. package/build-module/post-comment-content/edit.js +16 -13
  481. package/build-module/post-comment-content/edit.js.map +1 -1
  482. package/build-module/post-content/edit.js +1 -3
  483. package/build-module/post-content/edit.js.map +1 -1
  484. package/build-module/post-date/edit.js +36 -16
  485. package/build-module/post-date/edit.js.map +1 -1
  486. package/build-module/post-date/index.js +2 -1
  487. package/build-module/post-date/index.js.map +1 -1
  488. package/build-module/post-excerpt/edit.js +2 -1
  489. package/build-module/post-excerpt/edit.js.map +1 -1
  490. package/build-module/post-featured-image/dimension-controls.js +22 -11
  491. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  492. package/build-module/post-featured-image/index.js +5 -0
  493. package/build-module/post-featured-image/index.js.map +1 -1
  494. package/build-module/post-navigation-link/edit.js +19 -3
  495. package/build-module/post-navigation-link/edit.js.map +1 -1
  496. package/build-module/post-navigation-link/index.js +9 -1
  497. package/build-module/post-navigation-link/index.js.map +1 -1
  498. package/build-module/post-template/index.js +6 -3
  499. package/build-module/post-template/index.js.map +1 -1
  500. package/build-module/post-terms/edit.js +5 -3
  501. package/build-module/post-terms/edit.js.map +1 -1
  502. package/build-module/post-terms/index.js +2 -1
  503. package/build-module/post-terms/index.js.map +1 -1
  504. package/build-module/post-title/edit.js +3 -3
  505. package/build-module/post-title/edit.js.map +1 -1
  506. package/build-module/post-title/index.js +4 -1
  507. package/build-module/post-title/index.js.map +1 -1
  508. package/build-module/query/edit/index.js +4 -2
  509. package/build-module/query/edit/index.js.map +1 -1
  510. package/build-module/query/variations.js +4 -4
  511. package/build-module/query/variations.js.map +1 -1
  512. package/build-module/query-pagination/deprecated.js +15 -0
  513. package/build-module/query-pagination/deprecated.js.map +1 -0
  514. package/build-module/query-pagination/edit.js +52 -5
  515. package/build-module/query-pagination/edit.js.map +1 -1
  516. package/build-module/query-pagination/index.js +19 -1
  517. package/build-module/query-pagination/index.js.map +1 -1
  518. package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
  519. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  520. package/build-module/query-pagination/save.js +2 -2
  521. package/build-module/query-pagination/save.js.map +1 -1
  522. package/build-module/query-pagination-next/edit.js +18 -4
  523. package/build-module/query-pagination-next/edit.js.map +1 -1
  524. package/build-module/query-pagination-next/index.js +1 -1
  525. package/build-module/query-pagination-previous/edit.js +18 -4
  526. package/build-module/query-pagination-previous/edit.js.map +1 -1
  527. package/build-module/query-pagination-previous/index.js +1 -1
  528. package/build-module/site-logo/edit.js +79 -34
  529. package/build-module/site-logo/edit.js.map +1 -1
  530. package/build-module/site-logo/index.js +7 -2
  531. package/build-module/site-logo/index.js.map +1 -1
  532. package/build-module/site-tagline/index.js +1 -0
  533. package/build-module/site-tagline/index.js.map +1 -1
  534. package/build-module/site-title/edit/index.js +25 -7
  535. package/build-module/site-title/edit/index.js.map +1 -1
  536. package/build-module/site-title/index.js +9 -2
  537. package/build-module/site-title/index.js.map +1 -1
  538. package/build-module/social-links/deprecated.js +106 -2
  539. package/build-module/social-links/deprecated.js.map +1 -1
  540. package/build-module/social-links/edit.js +16 -20
  541. package/build-module/social-links/edit.js.map +1 -1
  542. package/build-module/social-links/index.js +16 -1
  543. package/build-module/social-links/index.js.map +1 -1
  544. package/build-module/social-links/save.js +1 -3
  545. package/build-module/social-links/save.js.map +1 -1
  546. package/build-module/table/index.js +1 -1
  547. package/build-module/template-part/edit/advanced-controls.js +4 -2
  548. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  549. package/build-module/template-part/edit/index.js +1 -4
  550. package/build-module/template-part/edit/index.js.map +1 -1
  551. package/build-module/video/edit-common-settings.js +2 -2
  552. package/build-module/video/edit-common-settings.js.map +1 -1
  553. package/build-module/video/edit.js +10 -5
  554. package/build-module/video/edit.js.map +1 -1
  555. package/build-module/video/tracks-editor.js +2 -1
  556. package/build-module/video/tracks-editor.js.map +1 -1
  557. package/build-style/button/style-rtl.css +1 -1
  558. package/build-style/button/style.css +1 -1
  559. package/build-style/columns/editor-rtl.css +2 -2
  560. package/build-style/columns/editor.css +2 -2
  561. package/build-style/columns/style-rtl.css +4 -4
  562. package/build-style/columns/style.css +4 -4
  563. package/build-style/common-rtl.css +4 -105
  564. package/build-style/common.css +4 -105
  565. package/build-style/editor-rtl.css +188 -205
  566. package/build-style/editor.css +188 -205
  567. package/build-style/embed/style-rtl.css +1 -0
  568. package/build-style/embed/style.css +1 -0
  569. package/build-style/gallery/editor-rtl.css +89 -21
  570. package/build-style/gallery/editor.css +89 -21
  571. package/build-style/gallery/style-rtl.css +202 -39
  572. package/build-style/gallery/style.css +202 -39
  573. package/build-style/group/theme-rtl.css +1 -3
  574. package/build-style/group/theme.css +1 -3
  575. package/build-style/heading/style-rtl.css +8 -0
  576. package/build-style/heading/style.css +8 -0
  577. package/build-style/html/editor-rtl.css +12 -11
  578. package/build-style/html/editor.css +12 -11
  579. package/build-style/list/style-rtl.css +4 -0
  580. package/build-style/list/style.css +4 -0
  581. package/build-style/navigation/editor-rtl.css +12 -7
  582. package/build-style/navigation/editor.css +12 -7
  583. package/build-style/navigation/style-rtl.css +140 -134
  584. package/build-style/navigation/style.css +140 -134
  585. package/build-style/navigation-link/editor-rtl.css +22 -13
  586. package/build-style/navigation-link/editor.css +22 -13
  587. package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
  588. package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
  589. package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
  590. package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
  591. package/build-style/page-list/editor-rtl.css +8 -0
  592. package/build-style/page-list/editor.css +8 -0
  593. package/build-style/page-list/style-rtl.css +2 -8
  594. package/build-style/page-list/style.css +2 -8
  595. package/build-style/paragraph/style-rtl.css +5 -1
  596. package/build-style/paragraph/style.css +5 -1
  597. package/build-style/post-featured-image/editor-rtl.css +4 -8
  598. package/build-style/post-featured-image/editor.css +4 -8
  599. package/build-style/post-featured-image/style-rtl.css +1 -0
  600. package/build-style/post-featured-image/style.css +1 -0
  601. package/build-style/post-template/style-rtl.css +2 -0
  602. package/build-style/post-template/style.css +2 -0
  603. package/build-style/pullquote/style-rtl.css +1 -0
  604. package/build-style/pullquote/style.css +1 -0
  605. package/build-style/query-pagination/editor-rtl.css +2 -5
  606. package/build-style/query-pagination/editor.css +2 -5
  607. package/build-style/query-pagination/style-rtl.css +17 -6
  608. package/build-style/query-pagination/style.css +17 -6
  609. package/build-style/quote/style-rtl.css +3 -0
  610. package/build-style/quote/style.css +3 -0
  611. package/build-style/reset-rtl.css +2 -1
  612. package/build-style/reset.css +2 -1
  613. package/build-style/social-links/style-rtl.css +0 -5
  614. package/build-style/social-links/style.css +0 -5
  615. package/build-style/style-rtl.css +415 -307
  616. package/build-style/style.css +415 -307
  617. package/build-style/theme-rtl.css +1 -11
  618. package/build-style/theme.css +1 -11
  619. package/package.json +30 -31
  620. package/src/audio/edit.js +6 -3
  621. package/src/audio/edit.native.js +9 -3
  622. package/src/button/block.json +4 -1
  623. package/src/button/edit.js +107 -115
  624. package/src/button/edit.native.js +5 -2
  625. package/src/button/style.scss +1 -1
  626. package/src/buttons/block.json +2 -1
  627. package/src/buttons/edit.js +1 -1
  628. package/src/column/block.json +4 -1
  629. package/src/column/save.js +11 -1
  630. package/src/columns/block.json +8 -1
  631. package/src/columns/edit.native.js +8 -3
  632. package/src/columns/editor.scss +2 -2
  633. package/src/columns/index.js +1 -0
  634. package/src/columns/style.scss +4 -4
  635. package/src/common.scss +3 -9
  636. package/src/cover/block.json +11 -1
  637. package/src/cover/deprecated.js +0 -27
  638. package/src/cover/edit.js +82 -32
  639. package/src/cover/save.js +2 -1
  640. package/src/cover/shared.js +1 -0
  641. package/src/cover/transforms.js +4 -2
  642. package/src/editor.scss +4 -20
  643. package/src/embed/edit.js +1 -11
  644. package/src/embed/edit.native.js +120 -32
  645. package/src/embed/embed-bottom-sheet.native.js +26 -20
  646. package/src/embed/embed-controls.js +10 -1
  647. package/src/embed/embed-no-preview.native.js +53 -14
  648. package/src/embed/embed-placeholder.native.js +58 -9
  649. package/src/embed/embed-preview.native.js +58 -41
  650. package/src/embed/style.scss +1 -0
  651. package/src/embed/styles.native.scss +18 -8
  652. package/src/embed/variations.js +0 -8
  653. package/src/embed/wp-embed-preview.js +41 -62
  654. package/src/embed/wp-embed-preview.native.js +80 -0
  655. package/src/file/block.json +6 -0
  656. package/src/file/deprecated.js +123 -0
  657. package/src/file/edit.js +6 -0
  658. package/src/file/index.js +2 -0
  659. package/src/file/inspector.js +12 -10
  660. package/src/file/save.js +3 -0
  661. package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
  662. package/src/file/transforms.js +3 -1
  663. package/src/gallery/block.json +18 -0
  664. package/src/gallery/constants.js +2 -2
  665. package/src/gallery/deprecated.js +15 -7
  666. package/src/gallery/deprecated.scss +132 -0
  667. package/src/gallery/edit-wrapper.js +47 -0
  668. package/src/gallery/edit.js +317 -276
  669. package/src/gallery/editor.scss +106 -22
  670. package/src/gallery/gallery-styles.native.scss +4 -2
  671. package/src/gallery/gallery.js +82 -71
  672. package/src/gallery/gallery.native.js +49 -85
  673. package/src/gallery/index.js +12 -6
  674. package/src/gallery/save.js +20 -60
  675. package/src/gallery/shared.js +9 -2
  676. package/src/gallery/style.scss +113 -75
  677. package/src/gallery/transforms.js +212 -11
  678. package/src/gallery/use-get-media.js +59 -0
  679. package/src/gallery/use-get-new-images.js +68 -0
  680. package/src/gallery/use-image-sizes.js +66 -0
  681. package/src/gallery/use-short-code-transform.js +52 -0
  682. package/src/gallery/utils.js +46 -0
  683. package/src/gallery/v1/constants.js +3 -0
  684. package/src/gallery/v1/edit.js +509 -0
  685. package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  686. package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
  687. package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  688. package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  689. package/src/gallery/v1/gallery-styles.native.scss +8 -0
  690. package/src/gallery/v1/gallery.js +119 -0
  691. package/src/gallery/v1/gallery.native.js +162 -0
  692. package/src/gallery/v1/save.js +81 -0
  693. package/src/gallery/v1/shared.js +19 -0
  694. package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
  695. package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  696. package/src/gallery/v1/update-gallery-modal.js +97 -0
  697. package/src/group/block.json +4 -1
  698. package/src/group/edit.js +31 -7
  699. package/src/group/index.js +2 -0
  700. package/src/group/theme.scss +1 -3
  701. package/src/group/variations.js +18 -0
  702. package/src/heading/heading-level-dropdown.js +26 -58
  703. package/src/heading/style.scss +3 -0
  704. package/src/home-link/edit.js +2 -2
  705. package/src/home-link/index.php +2 -2
  706. package/src/html/editor.scss +16 -10
  707. package/src/image/block.json +1 -0
  708. package/src/image/edit.js +9 -7
  709. package/src/image/edit.native.js +75 -35
  710. package/src/image/image.js +10 -14
  711. package/src/image/styles.native.scss +5 -0
  712. package/src/image/transforms.js +32 -9
  713. package/src/image/utils.js +17 -1
  714. package/src/index.js +2 -0
  715. package/src/latest-comments/edit.js +4 -0
  716. package/src/latest-comments/index.php +2 -1
  717. package/src/latest-posts/edit.native.js +10 -8
  718. package/src/list/style.scss +8 -3
  719. package/src/media-text/edit.js +1 -1
  720. package/src/media-text/index.js +1 -0
  721. package/src/navigation/block-navigation-list.js +16 -7
  722. package/src/navigation/block.json +7 -1
  723. package/src/navigation/edit.js +60 -17
  724. package/src/navigation/editor.scss +38 -19
  725. package/src/navigation/index.php +12 -4
  726. package/src/navigation/menu-items-to-blocks.js +8 -7
  727. package/src/navigation/placeholder-preview.js +3 -3
  728. package/src/navigation/placeholder.js +1 -1
  729. package/src/navigation/style.scss +191 -145
  730. package/src/navigation/test/menu-items-to-blocks.js +6 -6
  731. package/src/navigation/use-block-navigator.js +1 -0
  732. package/src/navigation/variations.js +2 -3
  733. package/src/navigation/view.js +74 -4
  734. package/src/navigation-link/block.json +2 -1
  735. package/src/navigation-link/edit.js +63 -90
  736. package/src/navigation-link/editor.scss +30 -15
  737. package/src/navigation-link/index.js +2 -0
  738. package/src/navigation-link/index.php +8 -8
  739. package/src/navigation-link/transforms.js +93 -0
  740. package/src/navigation-submenu/block.json +65 -0
  741. package/src/navigation-submenu/edit.js +662 -0
  742. package/src/navigation-submenu/editor.scss +42 -0
  743. package/src/navigation-submenu/icons.js +16 -0
  744. package/src/navigation-submenu/index.js +29 -0
  745. package/src/navigation-submenu/index.php +299 -0
  746. package/src/navigation-submenu/save.js +8 -0
  747. package/src/navigation-submenu/style.scss +20 -0
  748. package/src/navigation-submenu/transforms.js +58 -0
  749. package/src/navigation-submenu/view.js +62 -0
  750. package/src/page-list/block.json +11 -1
  751. package/src/page-list/convert-to-links-modal.js +20 -0
  752. package/src/page-list/edit.js +18 -4
  753. package/src/page-list/editor.scss +14 -0
  754. package/src/page-list/index.php +48 -12
  755. package/src/page-list/style.scss +2 -14
  756. package/src/page-list/test/convert-to-links-modal.js +6 -6
  757. package/src/paragraph/style.scss +10 -1
  758. package/src/post-author/block.json +2 -1
  759. package/src/post-comment/edit.js +14 -7
  760. package/src/post-comment-author/edit.js +13 -10
  761. package/src/post-comment-content/edit.js +17 -9
  762. package/src/post-comment-content/index.php +6 -3
  763. package/src/post-content/edit.js +1 -3
  764. package/src/post-date/block.json +2 -1
  765. package/src/post-date/edit.js +36 -22
  766. package/src/post-excerpt/edit.js +1 -0
  767. package/src/post-featured-image/block.json +5 -0
  768. package/src/post-featured-image/dimension-controls.js +43 -35
  769. package/src/post-featured-image/editor.scss +4 -9
  770. package/src/post-featured-image/style.scss +1 -0
  771. package/src/post-navigation-link/block.json +9 -1
  772. package/src/post-navigation-link/edit.js +29 -2
  773. package/src/post-navigation-link/index.php +28 -3
  774. package/src/post-template/block.json +4 -1
  775. package/src/post-template/index.js +2 -2
  776. package/src/post-template/index.php +11 -0
  777. package/src/post-template/style.scss +2 -0
  778. package/src/post-terms/block.json +2 -1
  779. package/src/post-terms/edit.js +4 -5
  780. package/src/post-title/block.json +4 -1
  781. package/src/post-title/edit.js +4 -6
  782. package/src/post-title/index.php +1 -1
  783. package/src/pullquote/style.scss +1 -0
  784. package/src/query/edit/index.js +3 -3
  785. package/src/query/variations.js +4 -0
  786. package/src/query-pagination/block.json +16 -0
  787. package/src/query-pagination/deprecated.js +19 -0
  788. package/src/query-pagination/edit.js +58 -3
  789. package/src/query-pagination/editor.scss +3 -6
  790. package/src/query-pagination/index.js +2 -0
  791. package/src/query-pagination/index.php +24 -1
  792. package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
  793. package/src/query-pagination/save.js +2 -6
  794. package/src/query-pagination/style.scss +22 -5
  795. package/src/query-pagination-next/block.json +1 -1
  796. package/src/query-pagination-next/edit.js +30 -8
  797. package/src/query-pagination-next/index.php +5 -1
  798. package/src/query-pagination-previous/block.json +1 -1
  799. package/src/query-pagination-previous/edit.js +30 -8
  800. package/src/query-pagination-previous/index.php +5 -1
  801. package/src/quote/style.scss +2 -0
  802. package/src/reset.scss +2 -1
  803. package/src/search/index.php +12 -15
  804. package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
  805. package/src/site-logo/block.json +7 -2
  806. package/src/site-logo/edit.js +98 -30
  807. package/src/site-logo/index.php +31 -2
  808. package/src/site-tagline/block.json +1 -0
  809. package/src/site-title/block.json +9 -2
  810. package/src/site-title/edit/index.js +36 -9
  811. package/src/site-title/index.php +12 -2
  812. package/src/social-links/block.json +22 -1
  813. package/src/social-links/deprecated.js +99 -0
  814. package/src/social-links/edit.js +13 -24
  815. package/src/social-links/save.js +1 -7
  816. package/src/social-links/style.scss +0 -8
  817. package/src/style.scss +1 -5
  818. package/src/table/block.json +1 -1
  819. package/src/template-part/edit/advanced-controls.js +3 -3
  820. package/src/template-part/edit/index.js +0 -3
  821. package/src/template-part/index.php +1 -1
  822. package/src/theme.scss +0 -10
  823. package/src/video/edit-common-settings.js +2 -2
  824. package/src/video/edit.js +15 -5
  825. package/src/video/tracks-editor.js +2 -3
  826. package/build/embed/embed-controls.native.js +0 -32
  827. package/build/embed/embed-controls.native.js.map +0 -1
  828. package/build/embed/variations.native.js +0 -10
  829. package/build/embed/variations.native.js.map +0 -1
  830. package/build/gallery/gallery-button.native.js.map +0 -1
  831. package/build/gallery/gallery-image.js.map +0 -1
  832. package/build/gallery/gallery-image.native.js.map +0 -1
  833. package/build/gallery/tiles.native.js.map +0 -1
  834. package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
  835. package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  836. package/build/image/image-editing/constants.js +0 -16
  837. package/build/image/image-editing/constants.js.map +0 -1
  838. package/build/image/image-editing/context.js +0 -59
  839. package/build/image/image-editing/context.js.map +0 -1
  840. package/build/image/image-editing/cropper.js +0 -83
  841. package/build/image/image-editing/cropper.js.map +0 -1
  842. package/build/image/image-editing/form-controls.js +0 -36
  843. package/build/image/image-editing/form-controls.js.map +0 -1
  844. package/build/image/image-editing/index.js +0 -60
  845. package/build/image/image-editing/index.js.map +0 -1
  846. package/build/image/image-editing/rotation-button.js +0 -37
  847. package/build/image/image-editing/rotation-button.js.map +0 -1
  848. package/build/image/image-editing/use-save-image.js +0 -84
  849. package/build/image/image-editing/use-save-image.js.map +0 -1
  850. package/build/image/image-editing/use-transform-image.js +0 -135
  851. package/build/image/image-editing/use-transform-image.js.map +0 -1
  852. package/build/image/image-editing/zoom-dropdown.js +0 -55
  853. package/build/image/image-editing/zoom-dropdown.js.map +0 -1
  854. package/build-module/embed/embed-controls.native.js +0 -21
  855. package/build-module/embed/embed-controls.native.js.map +0 -1
  856. package/build-module/embed/variations.native.js +0 -3
  857. package/build-module/embed/variations.native.js.map +0 -1
  858. package/build-module/gallery/gallery-button.native.js.map +0 -1
  859. package/build-module/gallery/gallery-image.js.map +0 -1
  860. package/build-module/gallery/gallery-image.native.js.map +0 -1
  861. package/build-module/gallery/tiles.native.js.map +0 -1
  862. package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
  863. package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  864. package/build-module/image/image-editing/constants.js +0 -7
  865. package/build-module/image/image-editing/constants.js.map +0 -1
  866. package/build-module/image/image-editing/context.js +0 -44
  867. package/build-module/image/image-editing/context.js.map +0 -1
  868. package/build-module/image/image-editing/cropper.js +0 -69
  869. package/build-module/image/image-editing/cropper.js.map +0 -1
  870. package/build-module/image/image-editing/form-controls.js +0 -26
  871. package/build-module/image/image-editing/form-controls.js.map +0 -1
  872. package/build-module/image/image-editing/index.js +0 -37
  873. package/build-module/image/image-editing/index.js.map +0 -1
  874. package/build-module/image/image-editing/rotation-button.js +0 -26
  875. package/build-module/image/image-editing/rotation-button.js.map +0 -1
  876. package/build-module/image/image-editing/use-save-image.js +0 -70
  877. package/build-module/image/image-editing/use-save-image.js.map +0 -1
  878. package/build-module/image/image-editing/use-transform-image.js +0 -127
  879. package/build-module/image/image-editing/use-transform-image.js.map +0 -1
  880. package/build-module/image/image-editing/zoom-dropdown.js +0 -43
  881. package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
  882. package/src/embed/embed-controls.native.js +0 -23
  883. package/src/embed/variations.native.js +0 -3
  884. package/src/heading/editor.scss +0 -20
  885. package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
  886. package/src/image/image-editing/constants.js +0 -6
  887. package/src/image/image-editing/context.js +0 -56
  888. package/src/image/image-editing/cropper.js +0 -74
  889. package/src/image/image-editing/form-controls.js +0 -22
  890. package/src/image/image-editing/index.js +0 -52
  891. package/src/image/image-editing/rotation-button.js +0 -24
  892. package/src/image/image-editing/use-save-image.js +0 -97
  893. package/src/image/image-editing/use-transform-image.js +0 -162
  894. package/src/image/image-editing/zoom-dropdown.js +0 -40
  895. package/src/post-content/editor.scss +0 -11
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * Internal dependencies
5
5
  */
6
- import { createUpgradedEmbedBlock, getAttributesFromPreview, getEmbedInfoByProvider } from './util';
6
+ import { createUpgradedEmbedBlock, getClassNames, fallback, getAttributesFromPreview, getEmbedInfoByProvider } from './util';
7
7
  import EmbedControls from './embed-controls';
8
8
  import { embedContentIcon } from './icons';
9
9
  import EmbedLoading from './embed-loading';
@@ -21,14 +21,22 @@ import classnames from 'classnames';
21
21
 
22
22
  import { _x } from '@wordpress/i18n';
23
23
  import { useState, useEffect } from '@wordpress/element';
24
- import { useSelect } from '@wordpress/data';
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';
27
- import { View } from '@wordpress/primitives';
27
+ import { View } from '@wordpress/primitives'; // The inline preview feature will be released progressible, for this reason
28
+ // the embed will only be considered previewable for the following providers list.
29
+
30
+ const PREVIEWABLE_PROVIDERS = ['youtube', 'twitter', 'instagram', 'vimeo']; // Some providers are rendering the inline preview as a WordPress embed and
31
+ // are not supported yet, so we need to disallow them with a fixed providers list.
32
+
33
+ const NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = ['pinterest'];
34
+ const WP_EMBED_TYPE = 'wp-embed';
28
35
 
29
36
  const EmbedEdit = props => {
30
37
  const {
31
38
  attributes: {
39
+ align,
32
40
  providerNameSlug,
33
41
  previewable,
34
42
  responsive,
@@ -46,25 +54,32 @@ const EmbedEdit = props => {
46
54
  title: _x('Embed', 'block title'),
47
55
  icon: embedContentIcon
48
56
  };
57
+ const embedInfoByProvider = getEmbedInfoByProvider(providerNameSlug);
49
58
  const {
50
59
  icon,
51
60
  title
52
- } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo;
61
+ } = embedInfoByProvider || defaultEmbedInfo;
53
62
  const {
54
63
  wasBlockJustInserted
55
64
  } = useSelect(select => ({
56
65
  wasBlockJustInserted: select(blockEditorStore).wasBlockJustInserted(clientId, 'inserter_menu')
57
66
  }), [clientId]);
58
67
  const [isEditingURL, setIsEditingURL] = useState(isSelected && wasBlockJustInserted && !url);
68
+ const [showEmbedBottomSheet, setShowEmbedBottomSheet] = useState(isEditingURL);
69
+ const {
70
+ invalidateResolution
71
+ } = useDispatch(coreStore);
59
72
  const {
60
73
  preview,
61
74
  fetching,
75
+ themeSupportsResponsive,
62
76
  cannotEmbed
63
77
  } = useSelect(select => {
64
78
  const {
65
79
  getEmbedPreview,
66
80
  isPreviewEmbedFallback,
67
- isRequestingEmbedPreview
81
+ isRequestingEmbedPreview,
82
+ getThemeSupports
68
83
  } = select(coreStore);
69
84
 
70
85
  if (!url) {
@@ -91,23 +106,42 @@ const EmbedEdit = props => {
91
106
  return {
92
107
  preview: validPreview ? embedPreview : undefined,
93
108
  fetching: isFetching,
109
+ themeSupportsResponsive: getThemeSupports()['responsive-embeds'],
94
110
  cannotEmbed: !validPreview || previewIsFallback
95
111
  };
96
112
  }, [url]);
97
113
  /**
98
- * @return {Object} Attributes derived from the preview, merged with the current attributes.
114
+ * Returns the attributes derived from the preview, merged with the current attributes.
115
+ *
116
+ * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
117
+ * @return {Object} Merged attributes.
99
118
  */
100
119
 
101
- const getMergedAttributes = () => {
120
+ const getMergedAttributes = (ignorePreviousClassName = false) => {
102
121
  const {
103
122
  allowResponsive,
104
123
  className
105
124
  } = attributes;
106
125
  return { ...attributes,
107
- ...getAttributesFromPreview(preview, title, className, responsive, allowResponsive)
126
+ ...getAttributesFromPreview(preview, title, ignorePreviousClassName ? undefined : className, responsive, allowResponsive)
108
127
  };
109
128
  };
110
129
 
130
+ const toggleResponsive = () => {
131
+ const {
132
+ allowResponsive,
133
+ className
134
+ } = attributes;
135
+ const {
136
+ html
137
+ } = preview;
138
+ const newAllowResponsive = !allowResponsive;
139
+ setAttributes({
140
+ allowResponsive: newAllowResponsive,
141
+ className: getClassNames(html, className, responsive && newAllowResponsive)
142
+ });
143
+ };
144
+
111
145
  useEffect(() => {
112
146
  if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) {
113
147
  return;
@@ -124,15 +158,11 @@ const EmbedEdit = props => {
124
158
 
125
159
  useEffect(() => {
126
160
  if (preview && !isEditingURL) {
127
- // Even though we set attributes that get derived from the preview,
128
- // we don't access them directly because for the initial render,
129
- // the `setAttributes` call will not have taken effect. If we're
130
- // rendering responsive content, setting the responsive classes
131
- // after the preview has been rendered can result in unwanted
132
- // clipping or scrollbars. The `getAttributesFromPreview` function
133
- // that `getMergedAttributes` uses is memoized so that we're not
134
- // calculating them on every render.
135
- setAttributes(getMergedAttributes());
161
+ // When obtaining an incoming preview, we set the attributes derived from
162
+ // the preview data. In this case when getting the merged attributes,
163
+ // we ignore the previous classname because it might not match the expected
164
+ // classes by the new preview.
165
+ setAttributes(getMergedAttributes(true));
136
166
 
137
167
  if (onReplace) {
138
168
  const upgradedBlock = createUpgradedEmbedBlock(props, getMergedAttributes());
@@ -143,19 +173,36 @@ const EmbedEdit = props => {
143
173
  }
144
174
  }
145
175
  }, [preview, isEditingURL]);
176
+ useEffect(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
146
177
  const blockProps = useBlockProps();
147
178
 
148
179
  if (fetching) {
149
180
  return createElement(View, blockProps, createElement(EmbedLoading, null));
150
181
  }
151
182
 
152
- const showEmbedPlaceholder = !preview || cannotEmbed;
183
+ const showEmbedPlaceholder = !preview || cannotEmbed; // Even though we set attributes that get derived from the preview,
184
+ // we don't access them directly because for the initial render,
185
+ // the `setAttributes` call will not have taken effect. If we're
186
+ // rendering responsive content, setting the responsive classes
187
+ // after the preview has been rendered can result in unwanted
188
+ // clipping or scrollbars. The `getAttributesFromPreview` function
189
+ // that `getMergedAttributes` uses is memoized so that we're not
190
+ // calculating them on every render.
191
+
153
192
  const {
154
193
  type,
194
+ allowResponsive,
155
195
  className: classFromPreview
156
196
  } = getMergedAttributes();
157
197
  const className = classnames(classFromPreview, props.className);
158
- return createElement(Fragment, null, showEmbedPlaceholder ? createElement(View, blockProps, createElement(EmbedPlaceholder, {
198
+ const isProviderPreviewable = PREVIEWABLE_PROVIDERS.includes(providerNameSlug) || // For WordPress embeds, we enable the inline preview for all its providers
199
+ // except the ones that are not supported yet.
200
+ WP_EMBED_TYPE === type && !NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes(providerNameSlug);
201
+ const bottomSheetLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;
202
+ return createElement(Fragment, null, showEmbedPlaceholder ? createElement(Fragment, null, createElement(EmbedControls, {
203
+ showEditButton: cannotEmbed,
204
+ switchBackToURLInput: () => setIsEditingURL(true)
205
+ }), createElement(View, blockProps, createElement(EmbedPlaceholder, {
159
206
  icon: icon,
160
207
  isSelected: isSelected,
161
208
  label: title,
@@ -163,11 +210,20 @@ const EmbedEdit = props => {
163
210
  onFocus(event);
164
211
  setIsEditingURL(true);
165
212
  },
166
- cannotEmbed: cannotEmbed
167
- })) : createElement(Fragment, null, createElement(EmbedControls, {
213
+ cannotEmbed: cannotEmbed,
214
+ fallback: () => fallback(url, onReplace),
215
+ tryAgain: () => {
216
+ invalidateResolution('getEmbedPreview', [url]);
217
+ }
218
+ }))) : createElement(Fragment, null, createElement(EmbedControls, {
168
219
  showEditButton: preview && !cannotEmbed,
220
+ themeSupportsResponsive: themeSupportsResponsive,
221
+ blockSupportsResponsive: responsive,
222
+ allowResponsive: allowResponsive,
223
+ toggleResponsive: toggleResponsive,
169
224
  switchBackToURLInput: () => setIsEditingURL(true)
170
225
  }), createElement(View, blockProps, createElement(EmbedPreview, {
226
+ align: align,
171
227
  className: className,
172
228
  clientId: clientId,
173
229
  icon: icon,
@@ -176,18 +232,24 @@ const EmbedEdit = props => {
176
232
  label: title,
177
233
  onFocus: onFocus,
178
234
  preview: preview,
235
+ isProviderPreviewable: isProviderPreviewable,
179
236
  previewable: previewable,
180
237
  type: type,
181
- url: url
238
+ url: url,
239
+ isDefaultEmbedInfo: !embedInfoByProvider
182
240
  }))), createElement(EmbedBottomSheet, {
183
241
  value: url,
184
- isVisible: isEditingURL,
185
- onClose: () => setIsEditingURL(false),
242
+ label: bottomSheetLabel,
243
+ isVisible: showEmbedBottomSheet,
244
+ onClose: () => setShowEmbedBottomSheet(false),
186
245
  onSubmit: value => {
187
- setIsEditingURL(false);
246
+ // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
247
+ // otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
248
+ // for creating the new block.
188
249
  setAttributes({
189
250
  url: value
190
251
  });
252
+ setIsEditingURL(false);
191
253
  }
192
254
  }));
193
255
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getAttributesFromPreview","getEmbedInfoByProvider","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedBottomSheet","classnames","_x","useState","useEffect","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","preview","fetching","cannotEmbed","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","isFetching","getMergedAttributes","allowResponsive","className","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","event","value"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\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 { 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\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { 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 { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || 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\n\tconst { preview, fetching, cannotEmbed } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\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 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\t// `isRequestingEmbedPreview` is returning false just before an\n\t\t\t// `apiFetch` is triggered. We're assuming that a fetch is happening\n\t\t\t// if there is an `attributesUrl` set but there is no data in\n\t\t\t// `embedPreview` which represents the response returned from the API.\n\t\t\tconst isFetching =\n\t\t\t\tisRequestingEmbedPreview( url ) || ( url && ! embedPreview );\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isFetching,\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 * @return {Object} Attributes derived from the preview, merged with the current attributes.\n\t */\n\tconst getMergedAttributes = () => {\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\tclassName,\n\t\t\t\tresponsive,\n\t\t\t\tallowResponsive\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// Even though we set attributes that get derived from the preview,\n\t\t\t// we don't access them directly because for the initial render,\n\t\t\t// the `setAttributes` call will not have taken effect. If we're\n\t\t\t// rendering responsive content, setting the responsive classes\n\t\t\t// after the preview has been rendered can result in unwanted\n\t\t\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t\t\t// that `getMergedAttributes` uses is memoized so that we're not\n\t\t\t// calculating them on every render.\n\t\t\tsetAttributes( getMergedAttributes() );\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\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\tconst { type, className: classFromPreview } = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t/>\n\t\t\t\t</View>\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\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\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\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/>\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\tisVisible={ isEditingURL }\n\t\t\t\tonClose={ () => setIsEditingURL( false ) }\n\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\tsetAttributes( { url: value } );\n\t\t\t\t} }\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","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","isFetching","getMergedAttributes","ignorePreviousClassName","allowResponsive","className","toggleResponsive","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","bottomSheetLabel","event","value"],"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 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\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\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 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\t// `isRequestingEmbedPreview` is returning false just before an\n\t\t\t// `apiFetch` is triggered. We're assuming that a fetch is happening\n\t\t\t// if there is an `attributesUrl` set but there is no data in\n\t\t\t// `embedPreview` which represents the response returned from the API.\n\t\t\tconst isFetching =\n\t\t\t\tisRequestingEmbedPreview( url ) || ( url && ! embedPreview );\n\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isFetching,\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"]}
@@ -3,30 +3,16 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { __ } from '@wordpress/i18n';
6
+ import { __, sprintf } from '@wordpress/i18n';
7
7
  import { LinkSettingsNavigation, FooterMessageLink } from '@wordpress/components';
8
8
  import { isURL } from '@wordpress/url';
9
9
  import { useDispatch } from '@wordpress/data';
10
10
  import { store as noticesStore } from '@wordpress/notices';
11
11
  import { useCallback, useState } from '@wordpress/element';
12
- const linkSettingsOptions = {
13
- url: {
14
- label: __('Embed link'),
15
- placeholder: __('Add link'),
16
- autoFocus: true,
17
- autoFill: true
18
- },
19
- footer: {
20
- label: createElement(FooterMessageLink, {
21
- href: __('https://wordpress.org/support/article/embeds/'),
22
- value: __('Learn more about embeds')
23
- }),
24
- separatorType: 'topFullWidth'
25
- }
26
- };
27
12
 
28
13
  const EmbedBottomSheet = ({
29
14
  value,
15
+ label,
30
16
  isVisible,
31
17
  onClose,
32
18
  onSubmit
@@ -35,6 +21,22 @@ const EmbedBottomSheet = ({
35
21
  const {
36
22
  createErrorNotice
37
23
  } = useDispatch(noticesStore);
24
+ const linkSettingsOptions = {
25
+ url: {
26
+ label: sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
27
+ __('%s link'), label),
28
+ placeholder: __('Add link'),
29
+ autoFocus: true,
30
+ autoFill: true
31
+ },
32
+ footer: {
33
+ label: createElement(FooterMessageLink, {
34
+ href: __('https://wordpress.org/support/article/embeds/'),
35
+ value: __('Learn more about embeds')
36
+ }),
37
+ separatorType: 'topFullWidth'
38
+ }
39
+ };
38
40
  const onDismiss = useCallback(() => {
39
41
  if (url !== '') {
40
42
  if (isURL(url)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-bottom-sheet.native.js"],"names":["__","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useState","linkSettingsOptions","url","label","placeholder","autoFocus","autoFill","footer","separatorType","EmbedBottomSheet","value","isVisible","onClose","onSubmit","setURL","createErrorNotice","onDismiss","setAttributes","attributes"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;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,mBAAmB,GAAG;AAC3BC,EAAAA,GAAG,EAAE;AACJC,IAAAA,KAAK,EAAEX,EAAE,CAAE,YAAF,CADL;AAEJY,IAAAA,WAAW,EAAEZ,EAAE,CAAE,UAAF,CAFX;AAGJa,IAAAA,SAAS,EAAE,IAHP;AAIJC,IAAAA,QAAQ,EAAE;AAJN,GADsB;AAO3BC,EAAAA,MAAM,EAAE;AACPJ,IAAAA,KAAK,EACJ,cAAC,iBAAD;AACC,MAAA,IAAI,EAAGX,EAAE,CAAE,+CAAF,CADV;AAEC,MAAA,KAAK,EAAGA,EAAE,CAAE,yBAAF;AAFX,MAFM;AAOPgB,IAAAA,aAAa,EAAE;AAPR;AAPmB,CAA5B;;AAkBA,MAAMC,gBAAgB,GAAG,CAAE;AAAEC,EAAAA,KAAF;AAASC,EAAAA,SAAT;AAAoBC,EAAAA,OAApB;AAA6BC,EAAAA;AAA7B,CAAF,KAA+C;AACvE,QAAM,CAAEX,GAAF,EAAOY,MAAP,IAAkBd,QAAQ,CAAEU,KAAF,CAAhC;AACA,QAAM;AAAEK,IAAAA;AAAF,MAAwBnB,WAAW,CAAEE,YAAF,CAAzC;AAEA,QAAMkB,SAAS,GAAGjB,WAAW,CAAE,MAAM;AACpC,QAAKG,GAAG,KAAK,EAAb,EAAkB;AACjB,UAAKP,KAAK,CAAEO,GAAF,CAAV,EAAoB;AACnBW,QAAAA,QAAQ,CAAEX,GAAF,CAAR;AACA,OAFD,MAEO;AACNa,QAAAA,iBAAiB,CAChBvB,EAAE,CAAE,wCAAF,CADc,CAAjB,CADM,CAIN;;AACA,YAAKkB,KAAK,KAAK,EAAf,EAAoB;AACnBG,UAAAA,QAAQ,CAAEH,KAAF,CAAR;AACA;AACD;AACD,KAZD,MAYO,IAAKA,KAAK,KAAK,EAAf,EAAoB;AAC1B;AACAG,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAjB4B,EAiB1B,CAAEX,GAAF,EAAOW,QAAP,EAAiBH,KAAjB,CAjB0B,CAA7B;;AAmBA,WAASO,aAAT,CAAwBC,UAAxB,EAAqC;AACpCJ,IAAAA,MAAM,CAAEI,UAAU,CAAChB,GAAb,CAAN;AACA;;AAED,SACC,cAAC,sBAAD;AACC,IAAA,SAAS,EAAGS,SADb;AAEC,IAAA,GAAG,EAAGT,GAFP;AAGC,IAAA,OAAO,EAAGU,OAHX;AAIC,IAAA,SAAS,EAAGI,SAJb;AAKC,IAAA,aAAa,EAAGC,aALjB;AAMC,IAAA,OAAO,EAAGhB,mBANX;AAOC,IAAA,eAAe,MAPhB;AAQC,IAAA,QAAQ;AART,IADD;AAYA,CAvCD;;AAyCA,eAAeQ,gBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } 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 linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'Embed link' ),\n\t\tplaceholder: __( 'Add link' ),\n\t\tautoFocus: true,\n\t\tautoFill: true,\n\t},\n\tfooter: {\n\t\tlabel: (\n\t\t\t<FooterMessageLink\n\t\t\t\thref={ __( 'https://wordpress.org/support/article/embeds/' ) }\n\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t/>\n\t\t),\n\t\tseparatorType: 'topFullWidth',\n\t},\n};\n\nconst EmbedBottomSheet = ( { value, isVisible, onClose, onSubmit } ) => {\n\tconst [ url, setURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\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\tif ( value !== '' ) {\n\t\t\t\t\tonSubmit( value );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( value !== '' ) {\n\t\t\t// Resets the URL when new value is empty and URL was already defined.\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\twithBottomSheet\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedBottomSheet;\n"]}
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,CAAE;AAAEC,EAAAA,KAAF;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,SAAhB;AAA2BC,EAAAA,OAA3B;AAAoCC,EAAAA;AAApC,CAAF,KAAsD;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;;AACA,YAAKW,KAAK,KAAK,EAAf,EAAoB;AACnBI,UAAAA,QAAQ,CAAEJ,KAAF,CAAR;AACA;AACD;AACD,KAZD,MAYO,IAAKA,KAAK,KAAK,EAAf,EAAoB;AAC1B;AACAI,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACA;AACD,GAjB4B,EAiB1B,CAAEC,GAAF,EAAOD,QAAP,EAAiBJ,KAAjB,CAjB0B,CAA7B;;AAmBA,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,eAAe,MAPhB;AAQC,IAAA,QAAQ;AART,IADD;AAYA,CA/DD;;AAiEA,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\tif ( value !== '' ) {\n\t\t\t\t\tonSubmit( value );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( value !== '' ) {\n\t\t\t// Resets the URL when new value is empty and URL was already defined.\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\twithBottomSheet\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedBottomSheet;\n"]}
@@ -8,12 +8,15 @@ import { ToolbarButton, PanelBody, ToggleControl, ToolbarGroup } from '@wordpres
8
8
  import { BlockControls, InspectorControls } from '@wordpress/block-editor';
9
9
  import { edit } from '@wordpress/icons';
10
10
 
11
+ function getResponsiveHelp(checked) {
12
+ return checked ? __('This embed will preserve its aspect ratio when the browser is resized.') : __('This embed may not preserve its aspect ratio when the browser is resized.');
13
+ }
14
+
11
15
  const EmbedControls = ({
12
16
  blockSupportsResponsive,
13
17
  showEditButton,
14
18
  themeSupportsResponsive,
15
19
  allowResponsive,
16
- getResponsiveHelp,
17
20
  toggleResponsive,
18
21
  switchBackToURLInput
19
22
  }) => createElement(Fragment, null, createElement(BlockControls, null, createElement(ToolbarGroup, null, showEditButton && createElement(ToolbarButton, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","getResponsiveHelp","toggleResponsive","switchBackToURLInput"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,uBALP;AAMA,SAASC,aAAT,EAAwBC,iBAAxB,QAAiD,yBAAjD;AACA,SAASC,IAAT,QAAqB,kBAArB;;AAEA,MAAMC,aAAa,GAAG,CAAE;AACvBC,EAAAA,uBADuB;AAEvBC,EAAAA,cAFuB;AAGvBC,EAAAA,uBAHuB;AAIvBC,EAAAA,eAJuB;AAKvBC,EAAAA,iBALuB;AAMvBC,EAAAA,gBANuB;AAOvBC,EAAAA;AAPuB,CAAF,KASrB,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACGL,cAAc,IACf,cAAC,aAAD;AACC,EAAA,SAAS,EAAC,6BADX;AAEC,EAAA,KAAK,EAAGV,EAAE,CAAE,UAAF,CAFX;AAGC,EAAA,IAAI,EAAGO,IAHR;AAIC,EAAA,OAAO,EAAGQ;AAJX,EAFF,CADD,CADD,EAaGJ,uBAAuB,IAAIF,uBAA3B,IACD,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,EAAA,KAAK,EAAGT,EAAE,CAAE,gBAAF,CADX;AAEC,EAAA,SAAS,EAAC;AAFX,GAIC,cAAC,aAAD;AACC,EAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CADX;AAEC,EAAA,OAAO,EAAGY,eAFX;AAGC,EAAA,IAAI,EAAGC,iBAHR;AAIC,EAAA,QAAQ,EAAGC;AAJZ,EAJD,CADD,CAdF,CATD;;AAwCA,eAAeN,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tPanelBody,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { edit } from '@wordpress/icons';\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tshowEditButton,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\tgetResponsiveHelp,\n\ttoggleResponsive,\n\tswitchBackToURLInput,\n} ) => (\n\t<>\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t{ showEditButton && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\t\tlabel={ __( 'Edit URL' ) }\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ switchBackToURLInput }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Media settings' ) }\n\t\t\t\t\tclassName=\"blocks-responsive\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t) }\n\t</>\n);\n\nexport default EmbedControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","toggleResponsive","switchBackToURLInput"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,uBALP;AAMA,SAASC,aAAT,EAAwBC,iBAAxB,QAAiD,yBAAjD;AACA,SAASC,IAAT,QAAqB,kBAArB;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXT,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMU,aAAa,GAAG,CAAE;AACvBC,EAAAA,uBADuB;AAEvBC,EAAAA,cAFuB;AAGvBC,EAAAA,uBAHuB;AAIvBC,EAAAA,eAJuB;AAKvBC,EAAAA,gBALuB;AAMvBC,EAAAA;AANuB,CAAF,KAQrB,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACGJ,cAAc,IACf,cAAC,aAAD;AACC,EAAA,SAAS,EAAC,6BADX;AAEC,EAAA,KAAK,EAAGZ,EAAE,CAAE,UAAF,CAFX;AAGC,EAAA,IAAI,EAAGO,IAHR;AAIC,EAAA,OAAO,EAAGS;AAJX,EAFF,CADD,CADD,EAaGH,uBAAuB,IAAIF,uBAA3B,IACD,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,EAAA,KAAK,EAAGX,EAAE,CAAE,gBAAF,CADX;AAEC,EAAA,SAAS,EAAC;AAFX,GAIC,cAAC,aAAD;AACC,EAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CADX;AAEC,EAAA,OAAO,EAAGc,eAFX;AAGC,EAAA,IAAI,EAAGN,iBAHR;AAIC,EAAA,QAAQ,EAAGO;AAJZ,EAJD,CADD,CAdF,CARD;;AAuCA,eAAeL,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tPanelBody,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { edit } from '@wordpress/icons';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tshowEditButton,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\tswitchBackToURLInput,\n} ) => (\n\t<>\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t{ showEditButton && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\t\tlabel={ __( 'Edit URL' ) }\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ switchBackToURLInput }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Media settings' ) }\n\t\t\t\t\tclassName=\"blocks-responsive\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t) }\n\t</>\n);\n\nexport default EmbedControls;\n"]}
@@ -9,7 +9,7 @@ import { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';
9
9
  */
10
10
 
11
11
  import { View } from '@wordpress/primitives';
12
- import { __ } from '@wordpress/i18n';
12
+ import { __, sprintf } from '@wordpress/i18n';
13
13
  import { useRef, useState } from '@wordpress/element';
14
14
  import { usePreferredColorSchemeStyle } from '@wordpress/compose';
15
15
  import { requestPreview } from '@wordpress/react-native-bridge';
@@ -17,6 +17,7 @@ import { useSelect } from '@wordpress/data';
17
17
  import { store as editorStore } from '@wordpress/editor';
18
18
  import { BottomSheet, Icon, TextControl } from '@wordpress/components';
19
19
  import { help } from '@wordpress/icons';
20
+ import { BlockIcon } from '@wordpress/block-editor';
20
21
  /**
21
22
  * Internal dependencies
22
23
  */
@@ -27,7 +28,9 @@ const EmbedNoPreview = ({
27
28
  label,
28
29
  icon,
29
30
  isSelected,
30
- onPress
31
+ onPress,
32
+ previewable,
33
+ isDefaultEmbedInfo
31
34
  }) => {
32
35
  const shouldRequestReview = useRef(false);
33
36
  const [isSheetVisible, setIsSheetVisible] = useState(false);
@@ -38,7 +41,6 @@ const EmbedNoPreview = ({
38
41
  }));
39
42
  const containerStyle = usePreferredColorSchemeStyle(styles.embed__container, styles['embed__container--dark']);
40
43
  const labelStyle = usePreferredColorSchemeStyle(styles.embed__label, styles['embed__label--dark']);
41
- const embedIconStyle = usePreferredColorSchemeStyle(styles.embed__icon, styles['embed__icon--dark']);
42
44
  const descriptionStyle = usePreferredColorSchemeStyle(styles.embed__description, styles['embed__description--dark']);
43
45
  const helpIconStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__help-icon'], styles['embed-no-preview__help-icon--dark']);
44
46
  const sheetIconStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__sheet-icon'], styles['embed-no-preview__sheet-icon--dark']);
@@ -47,7 +49,9 @@ const EmbedNoPreview = ({
47
49
  const sheetButtonStyle = usePreferredColorSchemeStyle(styles['embed-no-preview__sheet-button'], styles['embed-no-preview__sheet-button--dark']);
48
50
  const previewButtonA11yHint = postType === 'page' ? __('Double tap to preview page.') : __('Double tap to preview post.');
49
51
  const previewButtonText = postType === 'page' ? __('Preview page') : __('Preview post');
50
- const comingSoonDescription = postType === 'page' ? __('We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the page.') : __('We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the post.');
52
+ const comingSoonDescription = postType === 'page' ? sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
53
+ __('We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the page.'), label) : sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
54
+ __('We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the post.'), label);
51
55
 
52
56
  function onOpenSheet() {
53
57
  setIsSheetVisible(true);
@@ -76,21 +80,21 @@ const EmbedNoPreview = ({
76
80
  onPressContainer();
77
81
  }
78
82
 
79
- return createElement(Fragment, null, createElement(TouchableWithoutFeedback, {
83
+ const embedNoProviderPreview = createElement(Fragment, null, createElement(TouchableWithoutFeedback, {
80
84
  accessibilityRole: 'button',
81
85
  accessibilityHint: previewButtonA11yHint,
82
86
  disabled: !isSelected,
83
87
  onPress: onPressContainer
84
88
  }, createElement(View, {
85
89
  style: containerStyle
86
- }, createElement(Icon, {
87
- icon: icon,
88
- fill: embedIconStyle.fill
90
+ }, createElement(BlockIcon, {
91
+ icon: icon
89
92
  }), createElement(Text, {
90
93
  style: labelStyle
91
94
  }, label), createElement(Text, {
92
95
  style: descriptionStyle
93
- }, __('Embed previews not yet available')), createElement(Text, {
96
+ }, sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
97
+ __('%s previews not yet available'), label)), createElement(Text, {
94
98
  style: styles.embed__action
95
99
  }, previewButtonText.toUpperCase()), createElement(TouchableOpacity, {
96
100
  accessibilityHint: __('Tap here to show help'),
@@ -118,7 +122,8 @@ const EmbedNoPreview = ({
118
122
  size: sheetIconStyle.width
119
123
  })), createElement(Text, {
120
124
  style: sheetTitleStyle
121
- }, __('Embed block previews are coming soon')), createElement(Text, {
125
+ }, isDefaultEmbedInfo ? __('Embed block previews are coming soon') : sprintf( // translators: %s: embed block variant's label e.g: "Twitter".
126
+ __('%s embed block previews are coming soon'), label)), createElement(Text, {
122
127
  style: sheetDescriptionStyle
123
128
  }, comingSoonDescription)), createElement(TextControl, {
124
129
  label: previewButtonText,
@@ -134,6 +139,13 @@ const EmbedNoPreview = ({
134
139
  onPress: onCloseSheet,
135
140
  labelStyle: sheetButtonStyle
136
141
  })));
142
+ return createElement(Fragment, null, previewable ? embedNoProviderPreview : createElement(View, {
143
+ style: containerStyle
144
+ }, createElement(BlockIcon, {
145
+ icon: icon
146
+ }), createElement(Text, {
147
+ style: labelStyle
148
+ }, __('No preview available'))));
137
149
  };
138
150
 
139
151
  export default EmbedNoPreview;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-no-preview.native.js"],"names":["TouchableOpacity","TouchableWithoutFeedback","Text","View","__","useRef","useState","usePreferredColorSchemeStyle","requestPreview","useSelect","store","editorStore","BottomSheet","Icon","TextControl","help","styles","EmbedNoPreview","label","icon","isSelected","onPress","shouldRequestReview","isSheetVisible","setIsSheetVisible","postType","select","getEditedPostAttribute","containerStyle","embed__container","labelStyle","embed__label","embedIconStyle","embed__icon","descriptionStyle","embed__description","helpIconStyle","sheetIconStyle","sheetTitleStyle","sheetDescriptionStyle","sheetButtonStyle","previewButtonA11yHint","previewButtonText","comingSoonDescription","onOpenSheet","onCloseSheet","onDismissSheet","current","onPressContainer","onPressHelp","fill","embed__action","toUpperCase","width"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\n\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { requestPreview } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { help } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst EmbedNoPreview = ( { label, icon, isSelected, onPress } ) => {\n\tconst shouldRequestReview = useRef( false );\n\tconst [ isSheetVisible, setIsSheetVisible ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst embedIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__icon,\n\t\tstyles[ 'embed__icon--dark' ]\n\t);\n\tconst descriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__description,\n\t\tstyles[ 'embed__description--dark' ]\n\t);\n\tconst helpIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__help-icon' ],\n\t\tstyles[ 'embed-no-preview__help-icon--dark' ]\n\t);\n\n\tconst sheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-icon' ],\n\t\tstyles[ 'embed-no-preview__sheet-icon--dark' ]\n\t);\n\tconst sheetTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-title' ],\n\t\tstyles[ 'embed-no-preview__sheet-title--dark' ]\n\t);\n\tconst sheetDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-description' ],\n\t\tstyles[ 'embed-no-preview__sheet-description--dark' ]\n\t);\n\tconst sheetButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-button' ],\n\t\tstyles[ 'embed-no-preview__sheet-button--dark' ]\n\t);\n\n\tconst previewButtonA11yHint =\n\t\tpostType === 'page'\n\t\t\t? __( 'Double tap to preview page.' )\n\t\t\t: __( 'Double tap to preview post.' );\n\tconst previewButtonText =\n\t\tpostType === 'page' ? __( 'Preview page' ) : __( 'Preview post' );\n\tconst comingSoonDescription =\n\t\tpostType === 'page'\n\t\t\t? __(\n\t\t\t\t\t'We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the page.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'We’re working hard on adding support for embed previews. In the meantime, you can preview the embedded content on the post.'\n\t\t\t );\n\n\tfunction onOpenSheet() {\n\t\tsetIsSheetVisible( true );\n\t}\n\n\tfunction onCloseSheet() {\n\t\tsetIsSheetVisible( false );\n\t}\n\n\tfunction onDismissSheet() {\n\t\t// The preview request has to be done after the bottom sheet modal is dismissed,\n\t\t// otherwise the preview native modal is not displayed.\n\t\tif ( shouldRequestReview.current ) {\n\t\t\trequestPreview();\n\t\t}\n\t\tshouldRequestReview.current = false;\n\t}\n\n\tfunction onPressContainer() {\n\t\tonPress();\n\t\tonOpenSheet();\n\t}\n\n\tfunction onPressHelp() {\n\t\tonPressContainer();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ previewButtonA11yHint }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ onPressContainer }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<Icon icon={ icon } fill={ embedIconStyle.fill } />\n\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t<Text style={ descriptionStyle }>\n\t\t\t\t\t\t{ __( 'Embed previews not yet available' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ styles.embed__action }>\n\t\t\t\t\t\t{ previewButtonText.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\tonPress={ onPressHelp }\n\t\t\t\t\t\tstyle={ helpIconStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ helpIconStyle.fill }\n\t\t\t\t\t\t\tsize={ helpIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isSheetVisible }\n\t\t\t\thideHeader\n\t\t\t\tonDismiss={ onDismissSheet }\n\t\t\t\tonClose={ onCloseSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles[ 'embed-no-preview__container' ] }>\n\t\t\t\t\t<View style={ sheetIconStyle }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ sheetIconStyle.fill }\n\t\t\t\t\t\t\tsize={ sheetIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text style={ sheetTitleStyle }>\n\t\t\t\t\t\t{ __( 'Embed block previews are coming soon' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ sheetDescriptionStyle }>\n\t\t\t\t\t\t{ comingSoonDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ previewButtonText }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tshouldRequestReview.current = true;\n\t\t\t\t\t\tonCloseSheet();\n\t\t\t\t\t} }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ onCloseSheet }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t</BottomSheet>\n\t\t</>\n\t);\n};\n\nexport default EmbedNoPreview;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-no-preview.native.js"],"names":["TouchableOpacity","TouchableWithoutFeedback","Text","View","__","sprintf","useRef","useState","usePreferredColorSchemeStyle","requestPreview","useSelect","store","editorStore","BottomSheet","Icon","TextControl","help","BlockIcon","styles","EmbedNoPreview","label","icon","isSelected","onPress","previewable","isDefaultEmbedInfo","shouldRequestReview","isSheetVisible","setIsSheetVisible","postType","select","getEditedPostAttribute","containerStyle","embed__container","labelStyle","embed__label","descriptionStyle","embed__description","helpIconStyle","sheetIconStyle","sheetTitleStyle","sheetDescriptionStyle","sheetButtonStyle","previewButtonA11yHint","previewButtonText","comingSoonDescription","onOpenSheet","onCloseSheet","onDismissSheet","current","onPressContainer","onPressHelp","embedNoProviderPreview","embed__action","toUpperCase","fill","width"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { requestPreview } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { help } from '@wordpress/icons';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst EmbedNoPreview = ( {\n\tlabel,\n\ticon,\n\tisSelected,\n\tonPress,\n\tpreviewable,\n\tisDefaultEmbedInfo,\n} ) => {\n\tconst shouldRequestReview = useRef( false );\n\tconst [ isSheetVisible, setIsSheetVisible ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__container,\n\t\tstyles[ 'embed__container--dark' ]\n\t);\n\tconst labelStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__label,\n\t\tstyles[ 'embed__label--dark' ]\n\t);\n\tconst descriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.embed__description,\n\t\tstyles[ 'embed__description--dark' ]\n\t);\n\tconst helpIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__help-icon' ],\n\t\tstyles[ 'embed-no-preview__help-icon--dark' ]\n\t);\n\n\tconst sheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-icon' ],\n\t\tstyles[ 'embed-no-preview__sheet-icon--dark' ]\n\t);\n\tconst sheetTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-title' ],\n\t\tstyles[ 'embed-no-preview__sheet-title--dark' ]\n\t);\n\tconst sheetDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-description' ],\n\t\tstyles[ 'embed-no-preview__sheet-description--dark' ]\n\t);\n\tconst sheetButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'embed-no-preview__sheet-button' ],\n\t\tstyles[ 'embed-no-preview__sheet-button--dark' ]\n\t);\n\n\tconst previewButtonA11yHint =\n\t\tpostType === 'page'\n\t\t\t? __( 'Double tap to preview page.' )\n\t\t\t: __( 'Double tap to preview post.' );\n\tconst previewButtonText =\n\t\tpostType === 'page' ? __( 'Preview page' ) : __( 'Preview post' );\n\tconst comingSoonDescription =\n\t\tpostType === 'page'\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t__(\n\t\t\t\t\t\t'We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the page.'\n\t\t\t\t\t),\n\t\t\t\t\tlabel\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t__(\n\t\t\t\t\t\t'We’re working hard on adding support for %s previews. In the meantime, you can preview the embedded content on the post.'\n\t\t\t\t\t),\n\t\t\t\t\tlabel\n\t\t\t );\n\n\tfunction onOpenSheet() {\n\t\tsetIsSheetVisible( true );\n\t}\n\n\tfunction onCloseSheet() {\n\t\tsetIsSheetVisible( false );\n\t}\n\n\tfunction onDismissSheet() {\n\t\t// The preview request has to be done after the bottom sheet modal is dismissed,\n\t\t// otherwise the preview native modal is not displayed.\n\t\tif ( shouldRequestReview.current ) {\n\t\t\trequestPreview();\n\t\t}\n\t\tshouldRequestReview.current = false;\n\t}\n\n\tfunction onPressContainer() {\n\t\tonPress();\n\t\tonOpenSheet();\n\t}\n\n\tfunction onPressHelp() {\n\t\tonPressContainer();\n\t}\n\n\tconst embedNoProviderPreview = (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ previewButtonA11yHint }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ onPressContainer }\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text style={ labelStyle }>{ label }</Text>\n\t\t\t\t\t<Text style={ descriptionStyle }>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t\t\t__( '%s previews not yet available' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ styles.embed__action }>\n\t\t\t\t\t\t{ previewButtonText.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\tonPress={ onPressHelp }\n\t\t\t\t\t\tstyle={ helpIconStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ helpIconStyle.fill }\n\t\t\t\t\t\t\tsize={ helpIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isSheetVisible }\n\t\t\t\thideHeader\n\t\t\t\tonDismiss={ onDismissSheet }\n\t\t\t\tonClose={ onCloseSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles[ 'embed-no-preview__container' ] }>\n\t\t\t\t\t<View style={ sheetIconStyle }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\t\tfill={ sheetIconStyle.fill }\n\t\t\t\t\t\t\tsize={ sheetIconStyle.width }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text style={ sheetTitleStyle }>\n\t\t\t\t\t\t{ isDefaultEmbedInfo\n\t\t\t\t\t\t\t? __( 'Embed block previews are coming soon' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'%s embed block previews are coming soon'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ sheetDescriptionStyle }>\n\t\t\t\t\t\t{ comingSoonDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ previewButtonText }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tshouldRequestReview.current = true;\n\t\t\t\t\t\tonCloseSheet();\n\t\t\t\t\t} }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\tonPress={ onCloseSheet }\n\t\t\t\t\tlabelStyle={ sheetButtonStyle }\n\t\t\t\t/>\n\t\t\t</BottomSheet>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ previewable ? (\n\t\t\t\tembedNoProviderPreview\n\t\t\t) : (\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text style={ labelStyle }>\n\t\t\t\t\t\t{ __( 'No preview available' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default EmbedNoPreview;\n"]}