@wordpress/block-library 9.47.0 → 9.48.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 (552) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/columns/transforms.cjs +65 -0
  3. package/build/columns/transforms.cjs.map +2 -2
  4. package/build/comments/edit/placeholder.cjs +1 -1
  5. package/build/comments/edit/placeholder.cjs.map +2 -2
  6. package/build/cover/edit/inspector-controls.cjs +16 -4
  7. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  8. package/build/gallery/edit.cjs +212 -331
  9. package/build/gallery/edit.cjs.map +2 -2
  10. package/build/gallery/transforms.cjs +43 -0
  11. package/build/gallery/transforms.cjs.map +2 -2
  12. package/build/heading/edit.cjs +0 -1
  13. package/build/heading/edit.cjs.map +2 -2
  14. package/build/image/image.cjs +14 -3
  15. package/build/image/image.cjs.map +2 -2
  16. package/build/image/use-open-image-media-editor-modal.cjs +8 -2
  17. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  18. package/build/list/edit.cjs +1 -8
  19. package/build/list/edit.cjs.map +2 -2
  20. package/build/list/ordered-list-settings.cjs +1 -44
  21. package/build/list/ordered-list-settings.cjs.map +2 -2
  22. package/build/list-item/hooks/use-merge.cjs +47 -24
  23. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  24. package/build/navigation/edit/index.cjs +15 -26
  25. package/build/navigation/edit/index.cjs.map +2 -2
  26. package/build/navigation-link/edit.cjs +0 -1
  27. package/build/navigation-link/edit.cjs.map +2 -2
  28. package/build/navigation-submenu/edit.cjs +2 -1
  29. package/build/navigation-submenu/edit.cjs.map +2 -2
  30. package/build/paragraph/deprecated.cjs +1 -0
  31. package/build/paragraph/deprecated.cjs.map +2 -2
  32. package/build/paragraph/edit.cjs +10 -1
  33. package/build/paragraph/edit.cjs.map +3 -3
  34. package/build/playlist/block.json +12 -0
  35. package/build/playlist/edit.cjs +27 -1
  36. package/build/playlist/edit.cjs.map +2 -2
  37. package/build/playlist/save.cjs +8 -1
  38. package/build/playlist/save.cjs.map +2 -2
  39. package/build/playlist/view.cjs +1 -0
  40. package/build/playlist/view.cjs.map +2 -2
  41. package/build/post-featured-image/edit.cjs +6 -4
  42. package/build/post-featured-image/edit.cjs.map +2 -2
  43. package/build/post-time-to-read/index.cjs +1 -1
  44. package/build/post-time-to-read/index.cjs.map +2 -2
  45. package/build/post-time-to-read/variations.cjs +1 -1
  46. package/build/post-time-to-read/variations.cjs.map +2 -2
  47. package/build/pullquote/edit.cjs +2 -7
  48. package/build/pullquote/edit.cjs.map +2 -2
  49. package/build/quote/edit.cjs +4 -9
  50. package/build/quote/edit.cjs.map +2 -2
  51. package/build/shortcode/transforms.cjs +2 -2
  52. package/build/shortcode/transforms.cjs.map +2 -2
  53. package/build/site-logo/edit.cjs +4 -1
  54. package/build/site-logo/edit.cjs.map +2 -2
  55. package/build/utils/waveform-player.cjs +42 -9
  56. package/build/utils/waveform-player.cjs.map +2 -2
  57. package/build/utils/waveform-utils.cjs +6 -4
  58. package/build/utils/waveform-utils.cjs.map +2 -2
  59. package/build/video/edit-common-settings.cjs +3 -6
  60. package/build/video/edit-common-settings.cjs.map +2 -2
  61. package/build-module/columns/transforms.mjs +65 -0
  62. package/build-module/columns/transforms.mjs.map +2 -2
  63. package/build-module/comments/edit/placeholder.mjs +1 -1
  64. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  65. package/build-module/cover/edit/inspector-controls.mjs +16 -4
  66. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  67. package/build-module/gallery/edit.mjs +214 -334
  68. package/build-module/gallery/edit.mjs.map +2 -2
  69. package/build-module/gallery/transforms.mjs +43 -0
  70. package/build-module/gallery/transforms.mjs.map +2 -2
  71. package/build-module/heading/edit.mjs +1 -2
  72. package/build-module/heading/edit.mjs.map +2 -2
  73. package/build-module/image/image.mjs +15 -3
  74. package/build-module/image/image.mjs.map +2 -2
  75. package/build-module/image/use-open-image-media-editor-modal.mjs +8 -2
  76. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  77. package/build-module/list/edit.mjs +2 -9
  78. package/build-module/list/edit.mjs.map +2 -2
  79. package/build-module/list/ordered-list-settings.mjs +1 -45
  80. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  81. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  82. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  83. package/build-module/navigation/edit/index.mjs +16 -33
  84. package/build-module/navigation/edit/index.mjs.map +2 -2
  85. package/build-module/navigation-link/edit.mjs +0 -1
  86. package/build-module/navigation-link/edit.mjs.map +2 -2
  87. package/build-module/navigation-submenu/edit.mjs +2 -1
  88. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  89. package/build-module/paragraph/deprecated.mjs +1 -0
  90. package/build-module/paragraph/deprecated.mjs.map +2 -2
  91. package/build-module/paragraph/edit.mjs +12 -2
  92. package/build-module/paragraph/edit.mjs.map +2 -2
  93. package/build-module/playlist/block.json +12 -0
  94. package/build-module/playlist/edit.mjs +27 -1
  95. package/build-module/playlist/edit.mjs.map +2 -2
  96. package/build-module/playlist/save.mjs +8 -1
  97. package/build-module/playlist/save.mjs.map +2 -2
  98. package/build-module/playlist/view.mjs +1 -0
  99. package/build-module/playlist/view.mjs.map +2 -2
  100. package/build-module/post-featured-image/edit.mjs +6 -4
  101. package/build-module/post-featured-image/edit.mjs.map +2 -2
  102. package/build-module/post-time-to-read/index.mjs +1 -1
  103. package/build-module/post-time-to-read/index.mjs.map +2 -2
  104. package/build-module/post-time-to-read/variations.mjs +2 -2
  105. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  106. package/build-module/pullquote/edit.mjs +2 -7
  107. package/build-module/pullquote/edit.mjs.map +2 -2
  108. package/build-module/quote/edit.mjs +5 -10
  109. package/build-module/quote/edit.mjs.map +2 -2
  110. package/build-module/shortcode/transforms.mjs +2 -2
  111. package/build-module/shortcode/transforms.mjs.map +2 -2
  112. package/build-module/site-logo/edit.mjs +5 -1
  113. package/build-module/site-logo/edit.mjs.map +2 -2
  114. package/build-module/utils/waveform-player.mjs +44 -11
  115. package/build-module/utils/waveform-player.mjs.map +2 -2
  116. package/build-module/utils/waveform-utils.mjs +6 -4
  117. package/build-module/utils/waveform-utils.mjs.map +2 -2
  118. package/build-module/video/edit-common-settings.mjs +4 -7
  119. package/build-module/video/edit-common-settings.mjs.map +2 -2
  120. package/build-style/comment-template/style-rtl.css +1 -0
  121. package/build-style/comment-template/style.css +1 -0
  122. package/build-style/common-rtl.css +30 -10
  123. package/build-style/common.css +30 -10
  124. package/build-style/cover/style-rtl.css +2 -1
  125. package/build-style/cover/style.css +2 -1
  126. package/build-style/editor-rtl.css +22 -11
  127. package/build-style/editor.css +22 -11
  128. package/build-style/form-input/style-rtl.css +2 -0
  129. package/build-style/form-input/style.css +2 -0
  130. package/build-style/gallery/style-rtl.css +4 -2
  131. package/build-style/gallery/style.css +4 -2
  132. package/build-style/media-text/style-rtl.css +2 -1
  133. package/build-style/media-text/style.css +2 -1
  134. package/build-style/playlist/style-rtl.css +3 -0
  135. package/build-style/playlist/style.css +3 -0
  136. package/build-style/query/editor-rtl.css +8 -4
  137. package/build-style/query/editor.css +8 -4
  138. package/build-style/read-more/style-rtl.css +1 -0
  139. package/build-style/read-more/style.css +1 -0
  140. package/build-style/reset-rtl.css +3 -1
  141. package/build-style/reset.css +3 -1
  142. package/build-style/search/style-rtl.css +3 -1
  143. package/build-style/search/style.css +3 -1
  144. package/build-style/site-logo/editor-rtl.css +2 -1
  145. package/build-style/site-logo/editor.css +2 -1
  146. package/build-style/style-rtl.css +53 -17
  147. package/build-style/style.css +53 -17
  148. package/build-style/tab/style-rtl.css +3 -1
  149. package/build-style/tab/style.css +3 -1
  150. package/build-style/template-part/editor-rtl.css +8 -4
  151. package/build-style/template-part/editor.css +8 -4
  152. package/build-style/video/style-rtl.css +2 -1
  153. package/build-style/video/style.css +2 -1
  154. package/package.json +51 -47
  155. package/src/accordion/README.md +97 -0
  156. package/src/accordion-heading/README.md +81 -0
  157. package/src/accordion-item/README.md +85 -0
  158. package/src/accordion-panel/README.md +74 -0
  159. package/src/archives/README.md +56 -0
  160. package/src/audio/README.md +55 -0
  161. package/src/avatar/README.md +74 -0
  162. package/src/block/README.md +56 -0
  163. package/src/breadcrumbs/README.md +67 -0
  164. package/src/button/README.md +93 -0
  165. package/src/buttons/README.md +80 -0
  166. package/src/calendar/README.md +51 -0
  167. package/src/categories/README.md +69 -0
  168. package/src/code/README.md +55 -0
  169. package/src/column/README.md +72 -0
  170. package/src/columns/README.md +90 -0
  171. package/src/columns/test/transforms.js +164 -0
  172. package/src/columns/transforms.js +74 -0
  173. package/src/comment-author-avatar/README.md +63 -0
  174. package/src/comment-author-name/README.md +67 -0
  175. package/src/comment-content/README.md +61 -0
  176. package/src/comment-date/README.md +67 -0
  177. package/src/comment-edit-link/README.md +67 -0
  178. package/src/comment-reply-link/README.md +63 -0
  179. package/src/comment-template/README.md +60 -0
  180. package/src/comments/README.md +88 -0
  181. package/src/comments/edit/placeholder.js +1 -1
  182. package/src/comments-pagination/README.md +77 -0
  183. package/src/comments-pagination-next/README.md +64 -0
  184. package/src/comments-pagination-numbers/README.md +64 -0
  185. package/src/comments-pagination-previous/README.md +64 -0
  186. package/src/comments-title/README.md +70 -0
  187. package/src/common.scss +63 -10
  188. package/src/cover/README.md +111 -0
  189. package/src/cover/edit/inspector-controls.js +61 -45
  190. package/src/cover/test/edit.js +38 -0
  191. package/src/details/README.md +65 -0
  192. package/src/embed/README.md +56 -0
  193. package/src/file/README.md +60 -0
  194. package/src/footnotes/README.md +64 -0
  195. package/src/form/README.md +90 -0
  196. package/src/form-input/README.md +74 -0
  197. package/src/form-submission-notification/README.md +50 -0
  198. package/src/form-submit-button/README.md +54 -0
  199. package/src/freeform/README.md +49 -0
  200. package/src/gallery/README.md +115 -0
  201. package/src/gallery/edit.js +213 -350
  202. package/src/gallery/test/transforms.js +155 -0
  203. package/src/gallery/transforms.js +47 -0
  204. package/src/group/README.md +80 -0
  205. package/src/heading/README.md +60 -0
  206. package/src/heading/edit.js +1 -2
  207. package/src/home-link/README.md +66 -0
  208. package/src/home-link/index.php +3 -15
  209. package/src/html/README.md +48 -0
  210. package/src/icon/README.md +63 -0
  211. package/src/image/README.md +102 -0
  212. package/src/image/image.js +50 -35
  213. package/src/image/index.php +4 -4
  214. package/src/image/test/use-open-image-media-editor-modal.js +41 -0
  215. package/src/image/use-open-image-media-editor-modal.js +7 -1
  216. package/src/latest-comments/README.md +57 -0
  217. package/src/latest-posts/README.md +71 -0
  218. package/src/list/README.md +70 -0
  219. package/src/list/edit.js +2 -9
  220. package/src/list/ordered-list-settings.js +46 -92
  221. package/src/list-item/README.md +71 -0
  222. package/src/list-item/hooks/use-merge.js +53 -46
  223. package/src/loginout/README.md +56 -0
  224. package/src/math/README.md +50 -0
  225. package/src/media-text/README.md +92 -0
  226. package/src/missing/README.md +55 -0
  227. package/src/more/README.md +49 -0
  228. package/src/navigation/README.md +115 -0
  229. package/src/navigation/edit/index.js +10 -30
  230. package/src/navigation-link/README.md +93 -0
  231. package/src/navigation-link/edit.js +0 -1
  232. package/src/navigation-link/index.php +1 -15
  233. package/src/navigation-link/test/__snapshots__/hooks.js.snap +45 -134
  234. package/src/navigation-overlay-close/README.md +48 -0
  235. package/src/navigation-submenu/README.md +84 -0
  236. package/src/navigation-submenu/edit.js +1 -0
  237. package/src/navigation-submenu/index.php +1 -17
  238. package/src/nextpage/README.md +50 -0
  239. package/src/page-list/README.md +84 -0
  240. package/src/page-list/index.php +3 -15
  241. package/src/page-list-item/README.md +77 -0
  242. package/src/paragraph/README.md +70 -0
  243. package/src/paragraph/deprecated.js +1 -0
  244. package/src/paragraph/edit.js +13 -1
  245. package/src/pattern/README.md +45 -0
  246. package/src/playlist/README.md +86 -0
  247. package/src/playlist/block.json +12 -0
  248. package/src/playlist/edit.js +27 -0
  249. package/src/playlist/index.php +10 -3
  250. package/src/playlist/save.js +9 -1
  251. package/src/playlist/style.scss +7 -0
  252. package/src/playlist/view.js +1 -0
  253. package/src/playlist-track/README.md +69 -0
  254. package/src/post-author/README.md +78 -0
  255. package/src/post-author-biography/README.md +59 -0
  256. package/src/post-author-name/README.md +63 -0
  257. package/src/post-author-name/index.php +1 -1
  258. package/src/post-comment/README.md +61 -0
  259. package/src/post-comments-count/README.md +58 -0
  260. package/src/post-comments-form/README.md +59 -0
  261. package/src/post-comments-link/README.md +60 -0
  262. package/src/post-content/README.md +71 -0
  263. package/src/post-date/README.md +65 -0
  264. package/src/post-date/index.php +1 -1
  265. package/src/post-excerpt/README.md +66 -0
  266. package/src/post-featured-image/README.md +85 -0
  267. package/src/post-featured-image/edit.js +15 -10
  268. package/src/post-featured-image/index.php +1 -1
  269. package/src/post-navigation-link/README.md +63 -0
  270. package/src/post-template/README.md +71 -0
  271. package/src/post-terms/README.md +65 -0
  272. package/src/post-time-to-read/README.md +63 -0
  273. package/src/post-time-to-read/index.js +1 -1
  274. package/src/post-time-to-read/variations.js +2 -2
  275. package/src/post-title/README.md +69 -0
  276. package/src/preformatted/README.md +50 -0
  277. package/src/pullquote/README.md +64 -0
  278. package/src/pullquote/edit.js +1 -7
  279. package/src/query/README.md +64 -0
  280. package/src/query-no-results/README.md +65 -0
  281. package/src/query-pagination/README.md +79 -0
  282. package/src/query-pagination-next/README.md +67 -0
  283. package/src/query-pagination-numbers/README.md +65 -0
  284. package/src/query-pagination-previous/README.md +67 -0
  285. package/src/query-title/README.md +65 -0
  286. package/src/query-total/README.md +66 -0
  287. package/src/quote/README.md +75 -0
  288. package/src/quote/edit.js +3 -9
  289. package/src/read-more/README.md +61 -0
  290. package/src/read-more/index.php +2 -2
  291. package/src/rss/README.md +62 -0
  292. package/src/search/README.md +66 -0
  293. package/src/separator/README.md +62 -0
  294. package/src/shortcode/README.md +44 -0
  295. package/src/shortcode/transforms.js +2 -2
  296. package/src/site-logo/README.md +72 -0
  297. package/src/site-logo/edit.js +5 -0
  298. package/src/site-tagline/README.md +56 -0
  299. package/src/site-title/README.md +57 -0
  300. package/src/social-link/README.md +64 -0
  301. package/src/social-links/README.md +98 -0
  302. package/src/spacer/README.md +53 -0
  303. package/src/tab/README.md +69 -0
  304. package/src/tab-list/README.md +79 -0
  305. package/src/tab-panel/README.md +75 -0
  306. package/src/tab-panels/README.md +75 -0
  307. package/src/table/README.md +71 -0
  308. package/src/table-of-contents/README.md +61 -0
  309. package/src/tabs/README.md +83 -0
  310. package/src/tag-cloud/README.md +62 -0
  311. package/src/template-part/README.md +48 -0
  312. package/src/term-count/README.md +59 -0
  313. package/src/term-description/README.md +60 -0
  314. package/src/term-name/README.md +65 -0
  315. package/src/term-template/README.md +65 -0
  316. package/src/terms-query/README.md +58 -0
  317. package/src/text-columns/README.md +51 -0
  318. package/src/utils/test/waveform-player.js +254 -0
  319. package/src/utils/waveform-player.js +90 -18
  320. package/src/utils/waveform-utils.js +15 -11
  321. package/src/verse/README.md +58 -0
  322. package/src/video/README.md +58 -0
  323. package/src/video/edit-common-settings.js +4 -7
  324. package/src/audio/edit.native.js +0 -250
  325. package/src/audio/style.native.scss +0 -13
  326. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  327. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  328. package/src/audio/test/edit.native.js +0 -132
  329. package/src/audio/test/transforms.native.js +0 -43
  330. package/src/audio/transforms.native.js +0 -12
  331. package/src/block/edit-title.native.js +0 -67
  332. package/src/block/edit.native.js +0 -247
  333. package/src/block/editor.native.scss +0 -125
  334. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  335. package/src/block/test/edit.native.js +0 -262
  336. package/src/block/test/transforms.native.js +0 -40
  337. package/src/button/color-background.native.js +0 -41
  338. package/src/button/edit.native.js +0 -567
  339. package/src/button/editor.native.scss +0 -70
  340. package/src/button/rich-text.android.scss +0 -6
  341. package/src/button/rich-text.ios.scss +0 -6
  342. package/src/buttons/edit.native.js +0 -157
  343. package/src/buttons/editor.native.scss +0 -11
  344. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  345. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  346. package/src/buttons/test/edit.native.js +0 -485
  347. package/src/buttons/test/transforms.native.js +0 -48
  348. package/src/buttons/transforms.native.js +0 -12
  349. package/src/code/edit.native.js +0 -70
  350. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  351. package/src/code/test/edit.native.js +0 -65
  352. package/src/code/theme.native.scss +0 -22
  353. package/src/code/transforms.native.js +0 -12
  354. package/src/column/column-preview.native.js +0 -58
  355. package/src/column/edit.native.js +0 -273
  356. package/src/column/editor.native.scss +0 -75
  357. package/src/columns/columnCalculations.native.js +0 -178
  358. package/src/columns/edit.native.js +0 -507
  359. package/src/columns/editor.native.scss +0 -17
  360. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  361. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  362. package/src/columns/test/edit.native.js +0 -496
  363. package/src/columns/test/transforms.native.js +0 -89
  364. package/src/columns/transforms.native.js +0 -12
  365. package/src/cover/controls.native.js +0 -307
  366. package/src/cover/edit.native.js +0 -708
  367. package/src/cover/focal-point-settings-button.native.js +0 -53
  368. package/src/cover/overlay-color-settings.native.js +0 -106
  369. package/src/cover/style.native.scss +0 -220
  370. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  371. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  372. package/src/cover/test/edit.native.js +0 -701
  373. package/src/cover/test/transforms.native.js +0 -116
  374. package/src/cover/transforms.native.js +0 -12
  375. package/src/cover/use-cover-is-dark.native.js +0 -51
  376. package/src/embed/edit.native.js +0 -345
  377. package/src/embed/embed-controls.native.js +0 -65
  378. package/src/embed/embed-link-settings.native.js +0 -99
  379. package/src/embed/embed-loading.native.js +0 -29
  380. package/src/embed/embed-no-preview.native.js +0 -230
  381. package/src/embed/embed-placeholder.native.js +0 -178
  382. package/src/embed/embed-preview.native.js +0 -157
  383. package/src/embed/styles.native.scss +0 -196
  384. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  385. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  386. package/src/embed/test/index.native.js +0 -1125
  387. package/src/embed/test/transforms.native.js +0 -44
  388. package/src/embed/transforms.native.js +0 -12
  389. package/src/embed/wp-embed-preview.native.js +0 -80
  390. package/src/file/edit.native.js +0 -605
  391. package/src/file/style.native.scss +0 -79
  392. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  393. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  394. package/src/file/test/edit.native.js +0 -93
  395. package/src/file/test/transforms.native.js +0 -43
  396. package/src/file/transforms.native.js +0 -12
  397. package/src/freeform/edit.native.js +0 -13
  398. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  399. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  400. package/src/freeform/test/index.native.js +0 -57
  401. package/src/freeform/test/transforms.native.js +0 -39
  402. package/src/gallery/gallery-styles.native.scss +0 -8
  403. package/src/gallery/gallery.native.js +0 -124
  404. package/src/gallery/styles.native.scss +0 -7
  405. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  406. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  407. package/src/gallery/test/helpers.native.js +0 -106
  408. package/src/gallery/test/index.native.js +0 -700
  409. package/src/gallery/test/transforms.native.js +0 -53
  410. package/src/gallery/test/use-get-media.native.js +0 -24
  411. package/src/gallery/transforms.native.js +0 -12
  412. package/src/gallery/use-get-media.native.js +0 -49
  413. package/src/group/edit.native.js +0 -137
  414. package/src/group/editor.native.scss +0 -56
  415. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  416. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  417. package/src/group/test/edit.native.js +0 -100
  418. package/src/group/test/transforms.native.js +0 -73
  419. package/src/heading/edit.native.js +0 -159
  420. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  421. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  422. package/src/heading/test/index.native.js +0 -257
  423. package/src/heading/test/transforms.native.js +0 -46
  424. package/src/heading/transforms.native.js +0 -12
  425. package/src/html/transforms.native.js +0 -11
  426. package/src/image/edit.native.js +0 -959
  427. package/src/image/styles.native.scss +0 -70
  428. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  429. package/src/image/test/edit.native.js +0 -459
  430. package/src/image/test/transforms.native.js +0 -49
  431. package/src/image/transforms.native.js +0 -12
  432. package/src/index.native.js +0 -274
  433. package/src/latest-posts/edit.native.js +0 -294
  434. package/src/latest-posts/style.native.scss +0 -47
  435. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  436. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  437. package/src/latest-posts/test/edit.native.js +0 -49
  438. package/src/latest-posts/test/transforms.native.js +0 -61
  439. package/src/list/tag-name.native.js +0 -12
  440. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  441. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  442. package/src/list/test/edit.native.js +0 -602
  443. package/src/list/test/transforms.native.js +0 -56
  444. package/src/list/transforms.native.js +0 -12
  445. package/src/list-item/edit.native.js +0 -175
  446. package/src/list-item/hooks/use-enter.native.js +0 -81
  447. package/src/list-item/icons.native.js +0 -34
  448. package/src/list-item/list-style-type.native.js +0 -146
  449. package/src/list-item/style.native.scss +0 -57
  450. package/src/media-text/edit.native.js +0 -417
  451. package/src/media-text/icon-retry.native.js +0 -11
  452. package/src/media-text/media-container.native.js +0 -393
  453. package/src/media-text/style.native.scss +0 -191
  454. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  455. package/src/media-text/test/edit.native.js +0 -58
  456. package/src/media-text/test/transforms.native.js +0 -116
  457. package/src/media-text/transforms.native.js +0 -12
  458. package/src/missing/edit.native.js +0 -294
  459. package/src/missing/style.native.scss +0 -79
  460. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  461. package/src/missing/test/edit-integration.native.js +0 -168
  462. package/src/missing/test/edit.native.js +0 -81
  463. package/src/more/edit.native.js +0 -36
  464. package/src/more/editor.native.scss +0 -21
  465. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  466. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  467. package/src/more/test/edit.native.js +0 -41
  468. package/src/more/test/transforms.native.js +0 -42
  469. package/src/more/transforms.native.js +0 -12
  470. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  471. package/src/nextpage/edit.native.js +0 -58
  472. package/src/nextpage/editor.native.scss +0 -21
  473. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  474. package/src/nextpage/test/transforms.native.js +0 -42
  475. package/src/nextpage/transforms.native.js +0 -12
  476. package/src/paragraph/edit.native.js +0 -116
  477. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  478. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  479. package/src/paragraph/test/edit.native.js +0 -999
  480. package/src/paragraph/test/transforms.native.js +0 -51
  481. package/src/paragraph/transforms.native.js +0 -12
  482. package/src/preformatted/edit.native.js +0 -48
  483. package/src/preformatted/styles.native.scss +0 -30
  484. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  485. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  486. package/src/preformatted/test/edit.native.js +0 -111
  487. package/src/preformatted/test/transforms.native.js +0 -47
  488. package/src/preformatted/transforms.native.js +0 -12
  489. package/src/pullquote/blockquote.native.js +0 -39
  490. package/src/pullquote/blockquote.native.scss +0 -8
  491. package/src/pullquote/edit.native.js +0 -128
  492. package/src/pullquote/figure.native.js +0 -33
  493. package/src/pullquote/figure.native.scss +0 -16
  494. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  495. package/src/pullquote/test/edit.native.js +0 -73
  496. package/src/pullquote/test/transforms.native.js +0 -46
  497. package/src/pullquote/transforms.native.js +0 -12
  498. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  499. package/src/quote/test/edit.native.js +0 -94
  500. package/src/quote/test/transforms.native.js +0 -69
  501. package/src/quote/transforms.native.js +0 -12
  502. package/src/search/edit.native.js +0 -486
  503. package/src/search/style.native.scss +0 -99
  504. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  505. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  506. package/src/search/test/edit.native.js +0 -170
  507. package/src/search/test/transforms.native.js +0 -40
  508. package/src/separator/separator-settings.native.js +0 -3
  509. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  510. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  511. package/src/separator/test/edit.native.js +0 -41
  512. package/src/separator/test/transforms.native.js +0 -42
  513. package/src/separator/transforms.native.js +0 -12
  514. package/src/shortcode/edit.native.js +0 -77
  515. package/src/shortcode/style.native.scss +0 -44
  516. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  517. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  518. package/src/shortcode/test/edit.native.js +0 -70
  519. package/src/shortcode/test/transforms.native.js +0 -42
  520. package/src/shortcode/transforms.native.js +0 -12
  521. package/src/social-link/edit.native.js +0 -219
  522. package/src/social-link/editor.native.scss +0 -18
  523. package/src/social-links/edit.native.js +0 -147
  524. package/src/social-links/editor.native.scss +0 -25
  525. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  526. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  527. package/src/social-links/test/edit.native.js +0 -266
  528. package/src/social-links/test/transforms.native.js +0 -53
  529. package/src/spacer/controls.native.js +0 -86
  530. package/src/spacer/edit.native.js +0 -110
  531. package/src/spacer/editor.native.scss +0 -18
  532. package/src/spacer/save.native.js +0 -18
  533. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  534. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  535. package/src/spacer/test/index.native.js +0 -257
  536. package/src/spacer/test/transforms.native.js +0 -42
  537. package/src/table/transforms.native.js +0 -11
  538. package/src/text-columns/transforms.native.js +0 -12
  539. package/src/utils/init-block.native.js +0 -40
  540. package/src/utils/transformation-categories.native.js +0 -47
  541. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  542. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  543. package/src/verse/test/edit.native.js +0 -118
  544. package/src/verse/test/transforms.native.js +0 -46
  545. package/src/verse/transforms.native.js +0 -12
  546. package/src/video/edit.native.js +0 -406
  547. package/src/video/icon-retry.native.js +0 -11
  548. package/src/video/style.native.scss +0 -81
  549. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  550. package/src/video/test/edit.native.js +0 -53
  551. package/src/video/test/transforms.native.js +0 -49
  552. package/src/video/transforms.native.js +0 -12
@@ -1,70 +0,0 @@
1
- // @format
2
-
3
- .content {
4
- flex: 1;
5
- }
6
-
7
- .contentCentered {
8
- flex: 1;
9
- justify-content: center;
10
- align-items: center;
11
- }
12
-
13
- .iconPlaceholder {
14
- fill: $gray-dark;
15
- width: 100%;
16
- height: 100%;
17
- }
18
-
19
- .iconPlaceholderDark {
20
- fill: $white;
21
- }
22
-
23
- .is-style-rounded {
24
- border-radius: 9999px;
25
- overflow: hidden;
26
- }
27
-
28
- .panelBody {
29
- padding-left: 0;
30
- padding-right: 0;
31
- padding-bottom: $grid-unit;
32
- }
33
-
34
- .fixedHeight {
35
- height: 150;
36
- overflow: visible;
37
- }
38
-
39
- .featuredImagePanelTitle {
40
- padding-bottom: 0;
41
- }
42
-
43
- .setFeaturedButtonCellContainer {
44
- align-items: flex-start;
45
- }
46
-
47
- .setFeaturedButton {
48
- text-align: left;
49
- color: $blue-50;
50
- padding: $grid-unit-15 0;
51
- }
52
-
53
- .setFeaturedButtonDark {
54
- color: $blue-30;
55
- }
56
-
57
- .removeFeaturedButton {
58
- color: $alert-red;
59
- }
60
-
61
- .image__loading {
62
- align-items: center;
63
- background-color: rgba(10, 10, 10, 0.5);
64
- flex: 1;
65
- height: 100%;
66
- justify-content: center;
67
- position: absolute;
68
- width: 100%;
69
- z-index: 1;
70
- }
@@ -1,49 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`Image block transformations to Columns block 1`] = `
4
- "<!-- wp:columns -->
5
- <div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
6
- <div class="wp-block-column" style="flex-basis:100%"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
7
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
8
- <!-- /wp:image --></div>
9
- <!-- /wp:column --></div>
10
- <!-- /wp:columns -->"
11
- `;
12
-
13
- exports[`Image block transformations to Cover block 1`] = `
14
- "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":1,"dimRatio":50,"style":{"color":{}}} -->
15
- <div class="wp-block-cover"><img class="wp-block-cover__image-background wp-image-1" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><span aria-hidden="true" class="wp-block-cover__background has-background-dim"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","fontSize":"large"} -->
16
- <p class="has-text-align-center has-large-font-size">Mountain</p>
17
- <!-- /wp:paragraph --></div></div>
18
- <!-- /wp:cover -->"
19
- `;
20
-
21
- exports[`Image block transformations to File block 1`] = `
22
- "<!-- wp:file {"id":1,"href":"https://cldup.com/cXyG__fTLN.jpg"} -->
23
- <div class="wp-block-file"><a href="https://cldup.com/cXyG__fTLN.jpg">Mountain</a><a href="https://cldup.com/cXyG__fTLN.jpg" class="wp-block-file__button wp-element-button" download>Download</a></div>
24
- <!-- /wp:file -->"
25
- `;
26
-
27
- exports[`Image block transformations to Gallery block 1`] = `
28
- "<!-- wp:gallery {"linkTo":"none"} -->
29
- <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
30
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
31
- <!-- /wp:image --></figure>
32
- <!-- /wp:gallery -->"
33
- `;
34
-
35
- exports[`Image block transformations to Group block 1`] = `
36
- "<!-- wp:group {"layout":{"type":"constrained"}} -->
37
- <div class="wp-block-group"><!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
38
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
39
- <!-- /wp:image --></div>
40
- <!-- /wp:group -->"
41
- `;
42
-
43
- exports[`Image block transformations to Media & Text block 1`] = `
44
- "<!-- wp:media-text {"mediaId":1,"mediaType":"image"} -->
45
- <div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:paragraph -->
46
- <p></p>
47
- <!-- /wp:paragraph --></div></div>
48
- <!-- /wp:media-text -->"
49
- `;
@@ -1,459 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- act,
6
- fireEvent,
7
- initializeEditor,
8
- getEditorHtml,
9
- render,
10
- setupApiFetch,
11
- } from 'test/helpers';
12
- import { Image } from 'react-native';
13
- import Clipboard from '@react-native-clipboard/clipboard';
14
-
15
- /**
16
- * WordPress dependencies
17
- */
18
- import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
19
- import {
20
- requestMediaPicker,
21
- setFeaturedImage,
22
- sendMediaUpload,
23
- subscribeMediaUpload,
24
- } from '@wordpress/react-native-bridge';
25
- import { select, dispatch } from '@wordpress/data';
26
- import { store as editorStore } from '@wordpress/editor';
27
- import { store as coreStore } from '@wordpress/core-data';
28
- import apiFetch from '@wordpress/api-fetch';
29
-
30
- /**
31
- * Internal dependencies
32
- */
33
- import { registerCoreBlocks } from '../..';
34
- import ImageEdit from '../edit';
35
-
36
- let uploadCallBack;
37
- subscribeMediaUpload.mockImplementation( ( callback ) => {
38
- uploadCallBack = callback;
39
- } );
40
- sendMediaUpload.mockImplementation( ( payload ) => {
41
- uploadCallBack( payload );
42
- } );
43
-
44
- function mockGetMedia( media ) {
45
- jest.spyOn( select( coreStore ), 'getEntityRecord' ).mockReturnValue(
46
- media
47
- );
48
- }
49
-
50
- const FETCH_MEDIA = {
51
- request: {
52
- path: `/wp/v2/media/1?context=edit`,
53
- parse: false,
54
- },
55
- response: {
56
- source_url: 'https://cldup.com/cXyG__fTLN.jpg',
57
- id: 1,
58
- },
59
- };
60
-
61
- const clipboardPromise = Promise.resolve( '' );
62
- Clipboard.getString.mockImplementation( () => clipboardPromise );
63
-
64
- beforeAll( () => {
65
- registerCoreBlocks();
66
-
67
- // Mock Image.getSize to avoid failed attempt to size non-existent image
68
- const getSizeSpy = jest.spyOn( Image, 'getSize' );
69
- getSizeSpy.mockImplementation( ( _url, callback ) => callback( 300, 200 ) );
70
- } );
71
-
72
- beforeEach( () => {
73
- // Mock media fetch requests
74
- setupApiFetch( [ FETCH_MEDIA ] );
75
-
76
- // Invalidate `getEntityRecord` resolutions to allow requesting to the API the same media id
77
- dispatch( coreStore ).invalidateResolution( 'getEntityRecord', [
78
- 'postType',
79
- 'attachment',
80
- 1,
81
- ] );
82
- } );
83
-
84
- afterEach( () => {
85
- apiFetch.mockReset();
86
- } );
87
-
88
- afterAll( () => {
89
- getBlockTypes().forEach( ( { name } ) => {
90
- unregisterBlockType( name );
91
- } );
92
-
93
- // Restore mocks.
94
- Image.getSize.mockRestore();
95
- } );
96
-
97
- describe( 'Image Block', () => {
98
- it( 'sets link to None', async () => {
99
- const initialHtml = `
100
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
101
- <figure class="wp-block-image size-large is-style-default">
102
- <a href="https://cldup.com/cXyG__fTLN.jpg">
103
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
104
- </a>
105
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
106
- <!-- /wp:image -->`;
107
- const screen = await initializeEditor( { initialHtml } );
108
- // Check that image is fetched via `getEntityRecord`
109
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
110
-
111
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
112
- fireEvent.press( imageBlock );
113
- // Awaiting navigation event seemingly required due to React Navigation bug
114
- // https://github.com/react-navigation/react-navigation/issues/9701
115
- await act( () =>
116
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) )
117
- );
118
- fireEvent.press( screen.getByText( 'Media File' ) );
119
- fireEvent.press( screen.getByText( 'None' ) );
120
-
121
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
122
- <figure class="wp-block-image size-large is-style-default"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/><figcaption class="wp-element-caption">Mountain</figcaption></figure>
123
- <!-- /wp:image -->`;
124
- expect( getEditorHtml() ).toBe( expectedHtml );
125
- } );
126
-
127
- it( 'sets link to Media File', async () => {
128
- const initialHtml = `
129
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
130
- <figure class="wp-block-image size-large is-style-default">
131
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
132
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
133
- <!-- /wp:image -->`;
134
- const screen = await initializeEditor( { initialHtml } );
135
- // Check that image is fetched via `getEntityRecord`
136
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
137
-
138
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
139
- fireEvent.press( imageBlock );
140
- // Awaiting navigation event seemingly required due to React Navigation bug
141
- // https://github.com/react-navigation/react-navigation/issues/9701
142
- await act( () =>
143
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) )
144
- );
145
- fireEvent.press( screen.getByText( 'None' ) );
146
- fireEvent.press( screen.getByText( 'Media File' ) );
147
-
148
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
149
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
150
- <!-- /wp:image -->`;
151
- expect( getEditorHtml() ).toBe( expectedHtml );
152
- } );
153
-
154
- it( 'sets link to Custom URL', async () => {
155
- const initialHtml = `
156
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
157
- <figure class="wp-block-image size-large is-style-default">
158
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
159
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
160
- <!-- /wp:image -->`;
161
- const screen = await initializeEditor( { initialHtml } );
162
- // Check that image is fetched via `getEntityRecord`
163
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
164
-
165
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
166
- fireEvent.press( imageBlock );
167
- // Awaiting navigation event seemingly required due to React Navigation bug
168
- // https://github.com/react-navigation/react-navigation/issues/9701
169
- await act( () =>
170
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) )
171
- );
172
- fireEvent.press( screen.getByText( 'None' ) );
173
- fireEvent.press( screen.getByText( 'Custom URL' ) );
174
- // Await asynchronous fetch of clipboard
175
- await act( () => clipboardPromise );
176
- fireEvent.changeText(
177
- screen.getByPlaceholderText( 'Search or type URL' ),
178
- 'wordpress.org'
179
- );
180
- fireEvent.press( screen.getByLabelText( 'Apply' ) );
181
- await act(
182
- () => new Promise( ( resolve ) => setTimeout( resolve, 100 ) )
183
- );
184
-
185
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
186
- <figure class="wp-block-image size-large is-style-default"><a href="http://wordpress.org"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
187
- <!-- /wp:image -->`;
188
- expect( getEditorHtml() ).toBe( expectedHtml );
189
- } );
190
-
191
- it( 'swaps the link between destinations', async () => {
192
- const initialHtml = `
193
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
194
- <figure class="wp-block-image size-large is-style-default">
195
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
196
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
197
- <!-- /wp:image -->`;
198
- const screen = await initializeEditor( { initialHtml } );
199
- // Check that image is fetched via `getEntityRecord`
200
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
201
-
202
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
203
- fireEvent.press( imageBlock );
204
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
205
-
206
- fireEvent.press( screen.getByText( 'None' ) );
207
- fireEvent.press( screen.getByText( 'Custom URL' ) );
208
- fireEvent.changeText(
209
- screen.getByPlaceholderText( 'Search or type URL' ),
210
- 'wordpress.org'
211
- );
212
- fireEvent.press( screen.getByLabelText( 'Apply' ) );
213
- fireEvent.press( await screen.findByText( 'Custom URL' ) );
214
- fireEvent.press( screen.getByText( 'Media File' ) );
215
-
216
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
217
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
218
- <!-- /wp:image -->`;
219
- expect( getEditorHtml() ).toBe( expectedHtml );
220
- } );
221
-
222
- it( 'does not display the Link To URL within the Custom URL input when set to Media File and query parameters are present', async () => {
223
- const initialHtml = `
224
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
225
- <figure class="wp-block-image size-large is-style-default">
226
- <a href="https://cldup.com/cXyG__fTLN.jpg">
227
- <img src="https://cldup.com/cXyG__fTLN.jpg?w=683" alt="" class="wp-image-1"/>
228
- </a>
229
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
230
- <!-- /wp:image -->`;
231
- const screen = await initializeEditor( { initialHtml } );
232
- // Check that image is not fetched via `getEntityRecord` due to the presence of query parameters in the URL.
233
- expect( apiFetch ).not.toHaveBeenCalledWith( FETCH_MEDIA.request );
234
-
235
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
236
- fireEvent.press( imageBlock );
237
- // Awaiting navigation event seemingly required due to React Navigation bug
238
- // https://github.com/react-navigation/react-navigation/issues/9701
239
- await act( () =>
240
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) )
241
- );
242
- fireEvent.press( screen.getByText( 'Media File' ) );
243
-
244
- expect( screen.queryByLabelText( /https:\/\/cldup\.com/ ) ).toBeNull();
245
- } );
246
-
247
- it( 'sets link target', async () => {
248
- const initialHtml = `
249
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
250
- <figure class="wp-block-image size-large is-style-default">
251
- <a href="https://wordpress.org">
252
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
253
- </a>
254
- <figcaption class="wp-element-caption">Mountain</figcaption></figure>
255
- <!-- /wp:image -->`;
256
- const screen = await initializeEditor( { initialHtml } );
257
- // Check that image is fetched via `getEntityRecord`
258
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
259
-
260
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
261
- fireEvent.press( imageBlock );
262
-
263
- const settingsButton = screen.getByLabelText( 'Open Settings' );
264
- // Awaiting navigation event seemingly required due to React Navigation bug
265
- // https://github.com/react-navigation/react-navigation/issues/9701
266
- await act( () => fireEvent.press( settingsButton ) );
267
-
268
- const linkTargetButton = screen.getByText( 'Open in new tab' );
269
- fireEvent.press( linkTargetButton );
270
-
271
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
272
- <figure class="wp-block-image size-large is-style-default"><a href="https://wordpress.org" target="_blank" rel="noopener"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
273
- <!-- /wp:image -->`;
274
- expect( getEditorHtml() ).toBe( expectedHtml );
275
- } );
276
-
277
- it( 'unset link target', async () => {
278
- const initialHtml = `
279
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
280
- <figure class="wp-block-image size-large is-style-default">
281
- <a href="https://wordpress.org" target="_blank" rel="noopener">
282
- <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
283
- </a>
284
- <figcaption class="wp-element-caption">Mountain</figcaption>
285
- </figure>
286
- <!-- /wp:image -->`;
287
- const screen = await initializeEditor( { initialHtml } );
288
- // Check that image is fetched via `getEntityRecord`
289
- expect( apiFetch ).toHaveBeenCalledWith( FETCH_MEDIA.request );
290
-
291
- const [ imageBlock ] = screen.getAllByLabelText( /Image Block/ );
292
- fireEvent.press( imageBlock );
293
-
294
- const settingsButton = screen.getByLabelText( 'Open Settings' );
295
- // Awaiting navigation event seemingly required due to React Navigation bug
296
- // https://github.com/react-navigation/react-navigation/issues/9701
297
- await act( () => fireEvent.press( settingsButton ) );
298
-
299
- const linkTargetButton = screen.getByText( 'Open in new tab' );
300
- fireEvent.press( linkTargetButton );
301
-
302
- const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
303
- <figure class="wp-block-image size-large is-style-default"><a href="https://wordpress.org"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
304
- <!-- /wp:image -->`;
305
- expect( getEditorHtml() ).toBe( expectedHtml );
306
- } );
307
-
308
- describe( "when replacing media for an image set as the post's featured image", () => {
309
- function mockFeaturedMedia( featuredImageId ) {
310
- jest.spyOn(
311
- select( editorStore ),
312
- 'getEditedPostAttribute'
313
- ).mockImplementation( ( attributeName ) =>
314
- attributeName === 'featured_media' ? featuredImageId : undefined
315
- );
316
- }
317
-
318
- it( 'does not prompt to replace featured image during a new image upload', () => {
319
- // Arrange
320
- const INITIAL_IMAGE = { id: 1, url: 'mock-url-1' };
321
- const NEW_IMAGE_PENDING = { id: 2, url: 'mock-url-2' };
322
- mockFeaturedMedia( INITIAL_IMAGE.id );
323
- const screen = render( <ImageEdit attributes={ INITIAL_IMAGE } /> );
324
-
325
- // Act
326
- screen.update( <ImageEdit attributes={ NEW_IMAGE_PENDING } /> );
327
- const MEDIA_UPLOAD_STATE_UPLOADING = 1;
328
- sendMediaUpload( {
329
- state: MEDIA_UPLOAD_STATE_UPLOADING,
330
- mediaId: NEW_IMAGE_PENDING.id,
331
- progress: 0.1,
332
- } );
333
-
334
- // Assert
335
- expect( setFeaturedImage ).not.toHaveBeenCalled();
336
- } );
337
-
338
- it( 'does not prompt to replace featured image after a new image upload fails', () => {
339
- // Arrange
340
- const INITIAL_IMAGE = { id: 1, url: 'mock-url-1' };
341
- const NEW_IMAGE_PENDING = { id: 2, url: 'mock-url-2' };
342
- mockFeaturedMedia( INITIAL_IMAGE.id );
343
- const screen = render(
344
- <ImageEdit
345
- attributes={ INITIAL_IMAGE }
346
- setAttributes={ () => {} }
347
- />
348
- );
349
-
350
- // Act
351
- screen.update(
352
- <ImageEdit
353
- attributes={ NEW_IMAGE_PENDING }
354
- setAttributes={ () => {} }
355
- />
356
- );
357
- const MEDIA_UPLOAD_STATE_UPLOADING = 1;
358
- sendMediaUpload( {
359
- state: MEDIA_UPLOAD_STATE_UPLOADING,
360
- mediaId: NEW_IMAGE_PENDING.id,
361
- progress: 0.1,
362
- } );
363
- const MEDIA_UPLOAD_STATE_FAILED = 3;
364
- sendMediaUpload( {
365
- state: MEDIA_UPLOAD_STATE_FAILED,
366
- mediaId: NEW_IMAGE_PENDING.id,
367
- } );
368
-
369
- // Assert
370
- expect( setFeaturedImage ).not.toHaveBeenCalled();
371
- } );
372
-
373
- it( 'prompts to replace featured image after a new image upload succeeds', () => {
374
- // Arrange
375
- const INITIAL_IMAGE = { id: 1, url: 'mock-url-1' };
376
- const NEW_IMAGE_PENDING = { id: 2, url: 'mock-url-2' };
377
- const NEW_IMAGE_RESOLVED = { id: 3, url: 'mock-url-2' };
378
- mockFeaturedMedia( INITIAL_IMAGE.id );
379
- const screen = render( <ImageEdit attributes={ INITIAL_IMAGE } /> );
380
-
381
- // Act
382
- screen.update( <ImageEdit attributes={ NEW_IMAGE_PENDING } /> );
383
- mockGetMedia( { id: NEW_IMAGE_RESOLVED.id } );
384
- screen.update(
385
- <ImageEdit
386
- attributes={ NEW_IMAGE_RESOLVED }
387
- setAttributes={ () => {} }
388
- />
389
- );
390
-
391
- // Assert
392
- expect( setFeaturedImage ).toHaveBeenCalledTimes( 1 );
393
- expect( setFeaturedImage ).toHaveBeenCalledWith(
394
- NEW_IMAGE_RESOLVED.id
395
- );
396
- } );
397
-
398
- it( 'prompts to replace featured image for a cached image', () => {
399
- // Arrange
400
- const INITIAL_IMAGE = { id: 1, url: 'mock-url-1' };
401
- const NEW_IMAGE_RESOLVED = { id: 3, url: 'mock-url-2' };
402
- mockFeaturedMedia( INITIAL_IMAGE.id );
403
- const screen = render(
404
- <ImageEdit
405
- attributes={ INITIAL_IMAGE }
406
- setAttributes={ () => {} }
407
- />
408
- );
409
-
410
- // Act
411
- mockGetMedia( { id: NEW_IMAGE_RESOLVED.id } );
412
- screen.update(
413
- <ImageEdit
414
- attributes={ NEW_IMAGE_RESOLVED }
415
- setAttributes={ () => {} }
416
- />
417
- );
418
-
419
- // Assert
420
- expect( setFeaturedImage ).toHaveBeenCalledTimes( 1 );
421
- expect( setFeaturedImage ).toHaveBeenCalledWith(
422
- NEW_IMAGE_RESOLVED.id
423
- );
424
- } );
425
- } );
426
-
427
- it( 'sets src and alt attributes when selecting media', async () => {
428
- const IMAGE = { id: 1, url: 'mock-image', alt: 'A beautiful mountain' };
429
- requestMediaPicker.mockImplementationOnce(
430
- ( source, filter, multiple, callback ) => {
431
- callback( {
432
- id: IMAGE.id,
433
- url: IMAGE.url,
434
- alt: IMAGE.alt,
435
- } );
436
- }
437
- );
438
- mockGetMedia( {
439
- id: IMAGE.id,
440
- source_url: IMAGE.url,
441
- } );
442
-
443
- const initialHtml = `
444
- <!-- wp:image -->
445
- <figure class="wp-block-image">
446
- <img alt="" />
447
- </figure>
448
- <!-- /wp:image -->`;
449
- const screen = await initializeEditor( { initialHtml } );
450
-
451
- fireEvent.press( screen.getByText( 'Add image' ) );
452
- fireEvent.press( screen.getByText( 'WordPress Media Library' ) );
453
-
454
- const expectedHtml = `<!-- wp:image {"id":${ IMAGE.id },"sizeSlug":"large","linkDestination":"none"} -->
455
- <figure class="wp-block-image size-large"><img src="${ IMAGE.url }" alt="${ IMAGE.alt }" class="wp-image-${ IMAGE.id }"/></figure>
456
- <!-- /wp:image -->`;
457
- expect( getEditorHtml() ).toBe( expectedHtml );
458
- } );
459
- } );
@@ -1,49 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- getEditorHtml,
6
- initializeEditor,
7
- setupCoreBlocks,
8
- transformBlock,
9
- getBlockTransformOptions,
10
- } from 'test/helpers';
11
-
12
- const block = 'Image';
13
- const initialHtml = `
14
- <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
15
- <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption class="wp-element-caption">Mountain</figcaption></figure>
16
- <!-- /wp:image -->`;
17
-
18
- const transformsWithInnerBlocks = [ 'Gallery', 'Columns', 'Group' ];
19
- const nonMediaTransforms = [ 'File' ];
20
- const blockTransforms = [
21
- 'Cover',
22
- 'Media & Text',
23
- ...transformsWithInnerBlocks,
24
- ...nonMediaTransforms,
25
- ];
26
-
27
- setupCoreBlocks();
28
-
29
- describe( `${ block } block transformations`, () => {
30
- test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
31
- const screen = await initializeEditor( { initialHtml } );
32
- const newBlock = await transformBlock( screen, block, blockTransform, {
33
- isMediaBlock: ! nonMediaTransforms.includes( blockTransform ),
34
- hasInnerBlocks:
35
- transformsWithInnerBlocks.includes( blockTransform ),
36
- } );
37
- expect( newBlock ).toBeVisible();
38
- expect( getEditorHtml() ).toMatchSnapshot();
39
- } );
40
-
41
- it( 'matches expected transformation options', async () => {
42
- const screen = await initializeEditor( { initialHtml } );
43
- const transformOptions = await getBlockTransformOptions(
44
- screen,
45
- block
46
- );
47
- expect( transformOptions ).toHaveLength( blockTransforms.length );
48
- } );
49
- } );
@@ -1,12 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import webTransforms from './transforms.js';
5
- import transformationCategories from '../utils/transformation-categories';
6
-
7
- const transforms = {
8
- ...webTransforms,
9
- supportedMobileTransforms: transformationCategories.media,
10
- };
11
-
12
- export default transforms;