@wordpress/block-library 9.48.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 (519) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/build/columns/transforms.cjs +65 -0
  3. package/build/columns/transforms.cjs.map +2 -2
  4. package/build/gallery/edit.cjs +212 -331
  5. package/build/gallery/edit.cjs.map +2 -2
  6. package/build/gallery/transforms.cjs +43 -0
  7. package/build/gallery/transforms.cjs.map +2 -2
  8. package/build/heading/edit.cjs +0 -1
  9. package/build/heading/edit.cjs.map +2 -2
  10. package/build/list/edit.cjs +1 -8
  11. package/build/list/edit.cjs.map +2 -2
  12. package/build/list/ordered-list-settings.cjs +1 -44
  13. package/build/list/ordered-list-settings.cjs.map +2 -2
  14. package/build/list-item/hooks/use-merge.cjs +47 -24
  15. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  16. package/build/navigation/edit/index.cjs +15 -26
  17. package/build/navigation/edit/index.cjs.map +2 -2
  18. package/build/navigation-link/edit.cjs +0 -1
  19. package/build/navigation-link/edit.cjs.map +2 -2
  20. package/build/navigation-submenu/edit.cjs +2 -1
  21. package/build/navigation-submenu/edit.cjs.map +2 -2
  22. package/build/paragraph/deprecated.cjs +1 -0
  23. package/build/paragraph/deprecated.cjs.map +2 -2
  24. package/build/paragraph/edit.cjs +10 -1
  25. package/build/paragraph/edit.cjs.map +3 -3
  26. package/build/playlist/block.json +12 -0
  27. package/build/playlist/edit.cjs +27 -1
  28. package/build/playlist/edit.cjs.map +2 -2
  29. package/build/playlist/save.cjs +8 -1
  30. package/build/playlist/save.cjs.map +2 -2
  31. package/build/playlist/view.cjs +1 -0
  32. package/build/playlist/view.cjs.map +2 -2
  33. package/build/post-time-to-read/index.cjs +1 -1
  34. package/build/post-time-to-read/index.cjs.map +2 -2
  35. package/build/post-time-to-read/variations.cjs +1 -1
  36. package/build/post-time-to-read/variations.cjs.map +2 -2
  37. package/build/pullquote/edit.cjs +2 -7
  38. package/build/pullquote/edit.cjs.map +2 -2
  39. package/build/quote/edit.cjs +4 -9
  40. package/build/quote/edit.cjs.map +2 -2
  41. package/build/shortcode/transforms.cjs +2 -2
  42. package/build/shortcode/transforms.cjs.map +2 -2
  43. package/build/utils/waveform-player.cjs +42 -9
  44. package/build/utils/waveform-player.cjs.map +2 -2
  45. package/build/utils/waveform-utils.cjs +6 -4
  46. package/build/utils/waveform-utils.cjs.map +2 -2
  47. package/build/video/edit-common-settings.cjs +3 -6
  48. package/build/video/edit-common-settings.cjs.map +2 -2
  49. package/build-module/columns/transforms.mjs +65 -0
  50. package/build-module/columns/transforms.mjs.map +2 -2
  51. package/build-module/gallery/edit.mjs +214 -334
  52. package/build-module/gallery/edit.mjs.map +2 -2
  53. package/build-module/gallery/transforms.mjs +43 -0
  54. package/build-module/gallery/transforms.mjs.map +2 -2
  55. package/build-module/heading/edit.mjs +1 -2
  56. package/build-module/heading/edit.mjs.map +2 -2
  57. package/build-module/list/edit.mjs +2 -9
  58. package/build-module/list/edit.mjs.map +2 -2
  59. package/build-module/list/ordered-list-settings.mjs +1 -45
  60. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  61. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  62. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  63. package/build-module/navigation/edit/index.mjs +16 -33
  64. package/build-module/navigation/edit/index.mjs.map +2 -2
  65. package/build-module/navigation-link/edit.mjs +0 -1
  66. package/build-module/navigation-link/edit.mjs.map +2 -2
  67. package/build-module/navigation-submenu/edit.mjs +2 -1
  68. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  69. package/build-module/paragraph/deprecated.mjs +1 -0
  70. package/build-module/paragraph/deprecated.mjs.map +2 -2
  71. package/build-module/paragraph/edit.mjs +12 -2
  72. package/build-module/paragraph/edit.mjs.map +2 -2
  73. package/build-module/playlist/block.json +12 -0
  74. package/build-module/playlist/edit.mjs +27 -1
  75. package/build-module/playlist/edit.mjs.map +2 -2
  76. package/build-module/playlist/save.mjs +8 -1
  77. package/build-module/playlist/save.mjs.map +2 -2
  78. package/build-module/playlist/view.mjs +1 -0
  79. package/build-module/playlist/view.mjs.map +2 -2
  80. package/build-module/post-time-to-read/index.mjs +1 -1
  81. package/build-module/post-time-to-read/index.mjs.map +2 -2
  82. package/build-module/post-time-to-read/variations.mjs +2 -2
  83. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  84. package/build-module/pullquote/edit.mjs +2 -7
  85. package/build-module/pullquote/edit.mjs.map +2 -2
  86. package/build-module/quote/edit.mjs +5 -10
  87. package/build-module/quote/edit.mjs.map +2 -2
  88. package/build-module/shortcode/transforms.mjs +2 -2
  89. package/build-module/shortcode/transforms.mjs.map +2 -2
  90. package/build-module/utils/waveform-player.mjs +44 -11
  91. package/build-module/utils/waveform-player.mjs.map +2 -2
  92. package/build-module/utils/waveform-utils.mjs +6 -4
  93. package/build-module/utils/waveform-utils.mjs.map +2 -2
  94. package/build-module/video/edit-common-settings.mjs +4 -7
  95. package/build-module/video/edit-common-settings.mjs.map +2 -2
  96. package/build-style/comment-template/style-rtl.css +1 -0
  97. package/build-style/comment-template/style.css +1 -0
  98. package/build-style/common-rtl.css +30 -10
  99. package/build-style/common.css +30 -10
  100. package/build-style/cover/style-rtl.css +2 -1
  101. package/build-style/cover/style.css +2 -1
  102. package/build-style/editor-rtl.css +22 -11
  103. package/build-style/editor.css +22 -11
  104. package/build-style/form-input/style-rtl.css +2 -0
  105. package/build-style/form-input/style.css +2 -0
  106. package/build-style/gallery/style-rtl.css +4 -2
  107. package/build-style/gallery/style.css +4 -2
  108. package/build-style/media-text/style-rtl.css +2 -1
  109. package/build-style/media-text/style.css +2 -1
  110. package/build-style/playlist/style-rtl.css +3 -0
  111. package/build-style/playlist/style.css +3 -0
  112. package/build-style/query/editor-rtl.css +8 -4
  113. package/build-style/query/editor.css +8 -4
  114. package/build-style/read-more/style-rtl.css +1 -0
  115. package/build-style/read-more/style.css +1 -0
  116. package/build-style/reset-rtl.css +3 -1
  117. package/build-style/reset.css +3 -1
  118. package/build-style/search/style-rtl.css +3 -1
  119. package/build-style/search/style.css +3 -1
  120. package/build-style/site-logo/editor-rtl.css +2 -1
  121. package/build-style/site-logo/editor.css +2 -1
  122. package/build-style/style-rtl.css +53 -17
  123. package/build-style/style.css +53 -17
  124. package/build-style/tab/style-rtl.css +3 -1
  125. package/build-style/tab/style.css +3 -1
  126. package/build-style/template-part/editor-rtl.css +8 -4
  127. package/build-style/template-part/editor.css +8 -4
  128. package/build-style/video/style-rtl.css +2 -1
  129. package/build-style/video/style.css +2 -1
  130. package/package.json +49 -45
  131. package/src/accordion/README.md +97 -0
  132. package/src/accordion-heading/README.md +81 -0
  133. package/src/accordion-item/README.md +85 -0
  134. package/src/accordion-panel/README.md +74 -0
  135. package/src/archives/README.md +56 -0
  136. package/src/audio/README.md +55 -0
  137. package/src/avatar/README.md +74 -0
  138. package/src/block/README.md +56 -0
  139. package/src/breadcrumbs/README.md +67 -0
  140. package/src/button/README.md +93 -0
  141. package/src/buttons/README.md +80 -0
  142. package/src/calendar/README.md +51 -0
  143. package/src/categories/README.md +69 -0
  144. package/src/code/README.md +55 -0
  145. package/src/column/README.md +72 -0
  146. package/src/columns/README.md +90 -0
  147. package/src/columns/test/transforms.js +164 -0
  148. package/src/columns/transforms.js +74 -0
  149. package/src/comment-author-avatar/README.md +63 -0
  150. package/src/comment-author-name/README.md +67 -0
  151. package/src/comment-content/README.md +61 -0
  152. package/src/comment-date/README.md +67 -0
  153. package/src/comment-edit-link/README.md +67 -0
  154. package/src/comment-reply-link/README.md +63 -0
  155. package/src/comment-template/README.md +60 -0
  156. package/src/comments/README.md +88 -0
  157. package/src/comments-pagination/README.md +77 -0
  158. package/src/comments-pagination-next/README.md +64 -0
  159. package/src/comments-pagination-numbers/README.md +64 -0
  160. package/src/comments-pagination-previous/README.md +64 -0
  161. package/src/comments-title/README.md +70 -0
  162. package/src/common.scss +63 -10
  163. package/src/cover/README.md +111 -0
  164. package/src/details/README.md +65 -0
  165. package/src/embed/README.md +56 -0
  166. package/src/file/README.md +60 -0
  167. package/src/footnotes/README.md +64 -0
  168. package/src/form/README.md +90 -0
  169. package/src/form-input/README.md +74 -0
  170. package/src/form-submission-notification/README.md +50 -0
  171. package/src/form-submit-button/README.md +54 -0
  172. package/src/freeform/README.md +49 -0
  173. package/src/gallery/README.md +115 -0
  174. package/src/gallery/edit.js +213 -350
  175. package/src/gallery/test/transforms.js +155 -0
  176. package/src/gallery/transforms.js +47 -0
  177. package/src/group/README.md +80 -0
  178. package/src/heading/README.md +60 -0
  179. package/src/heading/edit.js +1 -2
  180. package/src/home-link/README.md +66 -0
  181. package/src/home-link/index.php +3 -15
  182. package/src/html/README.md +48 -0
  183. package/src/icon/README.md +63 -0
  184. package/src/image/README.md +102 -0
  185. package/src/image/index.php +4 -4
  186. package/src/latest-comments/README.md +57 -0
  187. package/src/latest-posts/README.md +71 -0
  188. package/src/list/README.md +70 -0
  189. package/src/list/edit.js +2 -9
  190. package/src/list/ordered-list-settings.js +46 -92
  191. package/src/list-item/README.md +71 -0
  192. package/src/list-item/hooks/use-merge.js +53 -46
  193. package/src/loginout/README.md +56 -0
  194. package/src/math/README.md +50 -0
  195. package/src/media-text/README.md +92 -0
  196. package/src/missing/README.md +55 -0
  197. package/src/more/README.md +49 -0
  198. package/src/navigation/README.md +115 -0
  199. package/src/navigation/edit/index.js +10 -30
  200. package/src/navigation-link/README.md +93 -0
  201. package/src/navigation-link/edit.js +0 -1
  202. package/src/navigation-link/index.php +1 -15
  203. package/src/navigation-overlay-close/README.md +48 -0
  204. package/src/navigation-submenu/README.md +84 -0
  205. package/src/navigation-submenu/edit.js +1 -0
  206. package/src/navigation-submenu/index.php +1 -17
  207. package/src/nextpage/README.md +50 -0
  208. package/src/page-list/README.md +84 -0
  209. package/src/page-list/index.php +3 -15
  210. package/src/page-list-item/README.md +77 -0
  211. package/src/paragraph/README.md +70 -0
  212. package/src/paragraph/deprecated.js +1 -0
  213. package/src/paragraph/edit.js +13 -1
  214. package/src/pattern/README.md +45 -0
  215. package/src/playlist/README.md +86 -0
  216. package/src/playlist/block.json +12 -0
  217. package/src/playlist/edit.js +27 -0
  218. package/src/playlist/index.php +10 -3
  219. package/src/playlist/save.js +9 -1
  220. package/src/playlist/style.scss +7 -0
  221. package/src/playlist/view.js +1 -0
  222. package/src/playlist-track/README.md +69 -0
  223. package/src/post-author/README.md +78 -0
  224. package/src/post-author-biography/README.md +59 -0
  225. package/src/post-author-name/README.md +63 -0
  226. package/src/post-author-name/index.php +1 -1
  227. package/src/post-comment/README.md +61 -0
  228. package/src/post-comments-count/README.md +58 -0
  229. package/src/post-comments-form/README.md +59 -0
  230. package/src/post-comments-link/README.md +60 -0
  231. package/src/post-content/README.md +71 -0
  232. package/src/post-date/README.md +65 -0
  233. package/src/post-date/index.php +1 -1
  234. package/src/post-excerpt/README.md +66 -0
  235. package/src/post-featured-image/README.md +85 -0
  236. package/src/post-featured-image/index.php +1 -1
  237. package/src/post-navigation-link/README.md +63 -0
  238. package/src/post-template/README.md +71 -0
  239. package/src/post-terms/README.md +65 -0
  240. package/src/post-time-to-read/README.md +63 -0
  241. package/src/post-time-to-read/index.js +1 -1
  242. package/src/post-time-to-read/variations.js +2 -2
  243. package/src/post-title/README.md +69 -0
  244. package/src/preformatted/README.md +50 -0
  245. package/src/pullquote/README.md +64 -0
  246. package/src/pullquote/edit.js +1 -7
  247. package/src/query/README.md +64 -0
  248. package/src/query-no-results/README.md +65 -0
  249. package/src/query-pagination/README.md +79 -0
  250. package/src/query-pagination-next/README.md +67 -0
  251. package/src/query-pagination-numbers/README.md +65 -0
  252. package/src/query-pagination-previous/README.md +67 -0
  253. package/src/query-title/README.md +65 -0
  254. package/src/query-total/README.md +66 -0
  255. package/src/quote/README.md +75 -0
  256. package/src/quote/edit.js +3 -9
  257. package/src/read-more/README.md +61 -0
  258. package/src/read-more/index.php +2 -2
  259. package/src/rss/README.md +62 -0
  260. package/src/search/README.md +66 -0
  261. package/src/separator/README.md +62 -0
  262. package/src/shortcode/README.md +44 -0
  263. package/src/shortcode/transforms.js +2 -2
  264. package/src/site-logo/README.md +72 -0
  265. package/src/site-tagline/README.md +56 -0
  266. package/src/site-title/README.md +57 -0
  267. package/src/social-link/README.md +64 -0
  268. package/src/social-links/README.md +98 -0
  269. package/src/spacer/README.md +53 -0
  270. package/src/tab/README.md +69 -0
  271. package/src/tab-list/README.md +79 -0
  272. package/src/tab-panel/README.md +75 -0
  273. package/src/tab-panels/README.md +75 -0
  274. package/src/table/README.md +71 -0
  275. package/src/table-of-contents/README.md +61 -0
  276. package/src/tabs/README.md +83 -0
  277. package/src/tag-cloud/README.md +62 -0
  278. package/src/template-part/README.md +48 -0
  279. package/src/term-count/README.md +59 -0
  280. package/src/term-description/README.md +60 -0
  281. package/src/term-name/README.md +65 -0
  282. package/src/term-template/README.md +65 -0
  283. package/src/terms-query/README.md +58 -0
  284. package/src/text-columns/README.md +51 -0
  285. package/src/utils/test/waveform-player.js +254 -0
  286. package/src/utils/waveform-player.js +90 -18
  287. package/src/utils/waveform-utils.js +15 -11
  288. package/src/verse/README.md +58 -0
  289. package/src/video/README.md +58 -0
  290. package/src/video/edit-common-settings.js +4 -7
  291. package/src/audio/edit.native.js +0 -250
  292. package/src/audio/style.native.scss +0 -13
  293. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  294. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  295. package/src/audio/test/edit.native.js +0 -132
  296. package/src/audio/test/transforms.native.js +0 -43
  297. package/src/audio/transforms.native.js +0 -12
  298. package/src/block/edit-title.native.js +0 -67
  299. package/src/block/edit.native.js +0 -247
  300. package/src/block/editor.native.scss +0 -125
  301. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  302. package/src/block/test/edit.native.js +0 -262
  303. package/src/block/test/transforms.native.js +0 -40
  304. package/src/button/color-background.native.js +0 -41
  305. package/src/button/edit.native.js +0 -567
  306. package/src/button/editor.native.scss +0 -70
  307. package/src/button/rich-text.android.scss +0 -6
  308. package/src/button/rich-text.ios.scss +0 -6
  309. package/src/buttons/edit.native.js +0 -157
  310. package/src/buttons/editor.native.scss +0 -11
  311. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  312. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  313. package/src/buttons/test/edit.native.js +0 -485
  314. package/src/buttons/test/transforms.native.js +0 -48
  315. package/src/buttons/transforms.native.js +0 -12
  316. package/src/code/edit.native.js +0 -70
  317. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  318. package/src/code/test/edit.native.js +0 -65
  319. package/src/code/theme.native.scss +0 -22
  320. package/src/code/transforms.native.js +0 -12
  321. package/src/column/column-preview.native.js +0 -58
  322. package/src/column/edit.native.js +0 -273
  323. package/src/column/editor.native.scss +0 -75
  324. package/src/columns/columnCalculations.native.js +0 -178
  325. package/src/columns/edit.native.js +0 -507
  326. package/src/columns/editor.native.scss +0 -17
  327. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  328. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  329. package/src/columns/test/edit.native.js +0 -496
  330. package/src/columns/test/transforms.native.js +0 -89
  331. package/src/columns/transforms.native.js +0 -12
  332. package/src/cover/controls.native.js +0 -307
  333. package/src/cover/edit.native.js +0 -708
  334. package/src/cover/focal-point-settings-button.native.js +0 -53
  335. package/src/cover/overlay-color-settings.native.js +0 -106
  336. package/src/cover/style.native.scss +0 -220
  337. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  338. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  339. package/src/cover/test/edit.native.js +0 -701
  340. package/src/cover/test/transforms.native.js +0 -116
  341. package/src/cover/transforms.native.js +0 -12
  342. package/src/cover/use-cover-is-dark.native.js +0 -51
  343. package/src/embed/edit.native.js +0 -345
  344. package/src/embed/embed-controls.native.js +0 -65
  345. package/src/embed/embed-link-settings.native.js +0 -99
  346. package/src/embed/embed-loading.native.js +0 -29
  347. package/src/embed/embed-no-preview.native.js +0 -230
  348. package/src/embed/embed-placeholder.native.js +0 -178
  349. package/src/embed/embed-preview.native.js +0 -157
  350. package/src/embed/styles.native.scss +0 -196
  351. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  352. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  353. package/src/embed/test/index.native.js +0 -1125
  354. package/src/embed/test/transforms.native.js +0 -44
  355. package/src/embed/transforms.native.js +0 -12
  356. package/src/embed/wp-embed-preview.native.js +0 -80
  357. package/src/file/edit.native.js +0 -605
  358. package/src/file/style.native.scss +0 -79
  359. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  360. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  361. package/src/file/test/edit.native.js +0 -93
  362. package/src/file/test/transforms.native.js +0 -43
  363. package/src/file/transforms.native.js +0 -12
  364. package/src/freeform/edit.native.js +0 -13
  365. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  366. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  367. package/src/freeform/test/index.native.js +0 -57
  368. package/src/freeform/test/transforms.native.js +0 -39
  369. package/src/gallery/gallery-styles.native.scss +0 -8
  370. package/src/gallery/gallery.native.js +0 -124
  371. package/src/gallery/styles.native.scss +0 -7
  372. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  373. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  374. package/src/gallery/test/helpers.native.js +0 -106
  375. package/src/gallery/test/index.native.js +0 -700
  376. package/src/gallery/test/transforms.native.js +0 -53
  377. package/src/gallery/test/use-get-media.native.js +0 -24
  378. package/src/gallery/transforms.native.js +0 -12
  379. package/src/gallery/use-get-media.native.js +0 -49
  380. package/src/group/edit.native.js +0 -137
  381. package/src/group/editor.native.scss +0 -56
  382. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  383. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  384. package/src/group/test/edit.native.js +0 -100
  385. package/src/group/test/transforms.native.js +0 -73
  386. package/src/heading/edit.native.js +0 -159
  387. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  388. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  389. package/src/heading/test/index.native.js +0 -257
  390. package/src/heading/test/transforms.native.js +0 -46
  391. package/src/heading/transforms.native.js +0 -12
  392. package/src/html/transforms.native.js +0 -11
  393. package/src/image/edit.native.js +0 -959
  394. package/src/image/styles.native.scss +0 -70
  395. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  396. package/src/image/test/edit.native.js +0 -459
  397. package/src/image/test/transforms.native.js +0 -49
  398. package/src/image/transforms.native.js +0 -12
  399. package/src/index.native.js +0 -274
  400. package/src/latest-posts/edit.native.js +0 -294
  401. package/src/latest-posts/style.native.scss +0 -47
  402. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  403. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  404. package/src/latest-posts/test/edit.native.js +0 -49
  405. package/src/latest-posts/test/transforms.native.js +0 -61
  406. package/src/list/tag-name.native.js +0 -12
  407. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  408. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  409. package/src/list/test/edit.native.js +0 -602
  410. package/src/list/test/transforms.native.js +0 -56
  411. package/src/list/transforms.native.js +0 -12
  412. package/src/list-item/edit.native.js +0 -175
  413. package/src/list-item/hooks/use-enter.native.js +0 -81
  414. package/src/list-item/icons.native.js +0 -34
  415. package/src/list-item/list-style-type.native.js +0 -146
  416. package/src/list-item/style.native.scss +0 -57
  417. package/src/media-text/edit.native.js +0 -417
  418. package/src/media-text/icon-retry.native.js +0 -11
  419. package/src/media-text/media-container.native.js +0 -393
  420. package/src/media-text/style.native.scss +0 -191
  421. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  422. package/src/media-text/test/edit.native.js +0 -58
  423. package/src/media-text/test/transforms.native.js +0 -116
  424. package/src/media-text/transforms.native.js +0 -12
  425. package/src/missing/edit.native.js +0 -294
  426. package/src/missing/style.native.scss +0 -79
  427. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  428. package/src/missing/test/edit-integration.native.js +0 -168
  429. package/src/missing/test/edit.native.js +0 -81
  430. package/src/more/edit.native.js +0 -36
  431. package/src/more/editor.native.scss +0 -21
  432. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  433. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  434. package/src/more/test/edit.native.js +0 -41
  435. package/src/more/test/transforms.native.js +0 -42
  436. package/src/more/transforms.native.js +0 -12
  437. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  438. package/src/nextpage/edit.native.js +0 -58
  439. package/src/nextpage/editor.native.scss +0 -21
  440. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  441. package/src/nextpage/test/transforms.native.js +0 -42
  442. package/src/nextpage/transforms.native.js +0 -12
  443. package/src/paragraph/edit.native.js +0 -116
  444. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  445. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  446. package/src/paragraph/test/edit.native.js +0 -999
  447. package/src/paragraph/test/transforms.native.js +0 -51
  448. package/src/paragraph/transforms.native.js +0 -12
  449. package/src/preformatted/edit.native.js +0 -48
  450. package/src/preformatted/styles.native.scss +0 -30
  451. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  452. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  453. package/src/preformatted/test/edit.native.js +0 -111
  454. package/src/preformatted/test/transforms.native.js +0 -47
  455. package/src/preformatted/transforms.native.js +0 -12
  456. package/src/pullquote/blockquote.native.js +0 -39
  457. package/src/pullquote/blockquote.native.scss +0 -8
  458. package/src/pullquote/edit.native.js +0 -128
  459. package/src/pullquote/figure.native.js +0 -33
  460. package/src/pullquote/figure.native.scss +0 -16
  461. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  462. package/src/pullquote/test/edit.native.js +0 -73
  463. package/src/pullquote/test/transforms.native.js +0 -46
  464. package/src/pullquote/transforms.native.js +0 -12
  465. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  466. package/src/quote/test/edit.native.js +0 -94
  467. package/src/quote/test/transforms.native.js +0 -69
  468. package/src/quote/transforms.native.js +0 -12
  469. package/src/search/edit.native.js +0 -486
  470. package/src/search/style.native.scss +0 -99
  471. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  472. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  473. package/src/search/test/edit.native.js +0 -170
  474. package/src/search/test/transforms.native.js +0 -40
  475. package/src/separator/separator-settings.native.js +0 -3
  476. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  477. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  478. package/src/separator/test/edit.native.js +0 -41
  479. package/src/separator/test/transforms.native.js +0 -42
  480. package/src/separator/transforms.native.js +0 -12
  481. package/src/shortcode/edit.native.js +0 -77
  482. package/src/shortcode/style.native.scss +0 -44
  483. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  484. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  485. package/src/shortcode/test/edit.native.js +0 -70
  486. package/src/shortcode/test/transforms.native.js +0 -42
  487. package/src/shortcode/transforms.native.js +0 -12
  488. package/src/social-link/edit.native.js +0 -219
  489. package/src/social-link/editor.native.scss +0 -18
  490. package/src/social-links/edit.native.js +0 -147
  491. package/src/social-links/editor.native.scss +0 -25
  492. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  493. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  494. package/src/social-links/test/edit.native.js +0 -266
  495. package/src/social-links/test/transforms.native.js +0 -53
  496. package/src/spacer/controls.native.js +0 -86
  497. package/src/spacer/edit.native.js +0 -110
  498. package/src/spacer/editor.native.scss +0 -18
  499. package/src/spacer/save.native.js +0 -18
  500. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  501. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  502. package/src/spacer/test/index.native.js +0 -257
  503. package/src/spacer/test/transforms.native.js +0 -42
  504. package/src/table/transforms.native.js +0 -11
  505. package/src/text-columns/transforms.native.js +0 -12
  506. package/src/utils/init-block.native.js +0 -40
  507. package/src/utils/transformation-categories.native.js +0 -47
  508. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  509. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  510. package/src/verse/test/edit.native.js +0 -118
  511. package/src/verse/test/transforms.native.js +0 -46
  512. package/src/verse/transforms.native.js +0 -12
  513. package/src/video/edit.native.js +0 -406
  514. package/src/video/icon-retry.native.js +0 -11
  515. package/src/video/style.native.scss +0 -81
  516. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  517. package/src/video/test/edit.native.js +0 -53
  518. package/src/video/test/transforms.native.js +0 -49
  519. 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;