@wordpress/block-library 9.48.0 → 10.0.1-next.v.202606191442.0

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 (951) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/build/breadcrumbs/edit.cjs +1 -1
  3. package/build/breadcrumbs/edit.cjs.map +1 -1
  4. package/build/button/edit.cjs +1 -1
  5. package/build/button/edit.cjs.map +2 -2
  6. package/build/categories/edit.cjs +1 -1
  7. package/build/categories/edit.cjs.map +1 -1
  8. package/build/code/edit.cjs +1 -1
  9. package/build/code/edit.cjs.map +2 -2
  10. package/build/code/index.cjs +1 -1
  11. package/build/code/index.cjs.map +1 -1
  12. package/build/columns/transforms.cjs +65 -0
  13. package/build/columns/transforms.cjs.map +2 -2
  14. package/build/columns/utils.cjs.map +1 -1
  15. package/build/comments/edit/comments-legacy.cjs +1 -1
  16. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  17. package/build/comments/edit/placeholder.cjs +4 -4
  18. package/build/comments/edit/placeholder.cjs.map +1 -1
  19. package/build/comments-pagination-next/edit.cjs +2 -2
  20. package/build/comments-pagination-next/edit.cjs.map +1 -1
  21. package/build/comments-pagination-previous/edit.cjs +2 -2
  22. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  23. package/build/cover/deprecated.cjs +3 -3
  24. package/build/cover/deprecated.cjs.map +2 -2
  25. package/build/cover/edit/block-controls.cjs +13 -0
  26. package/build/cover/edit/block-controls.cjs.map +2 -2
  27. package/build/cover/edit/index.cjs +61 -2
  28. package/build/cover/edit/index.cjs.map +3 -3
  29. package/build/cover/edit/inspector-controls.cjs +93 -35
  30. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  31. package/build/details/edit.cjs +1 -1
  32. package/build/details/edit.cjs.map +2 -2
  33. package/build/embed/embed-placeholder.cjs +1 -1
  34. package/build/embed/embed-placeholder.cjs.map +2 -2
  35. package/build/file/edit.cjs +3 -11
  36. package/build/file/edit.cjs.map +2 -2
  37. package/build/file/index.cjs +3 -1
  38. package/build/file/index.cjs.map +3 -3
  39. package/build/file/transforms.cjs +11 -32
  40. package/build/file/transforms.cjs.map +2 -2
  41. package/build/file/variations.cjs +38 -0
  42. package/build/file/variations.cjs.map +7 -0
  43. package/build/footnotes/edit.cjs +1 -1
  44. package/build/footnotes/edit.cjs.map +2 -2
  45. package/build/form-input/edit.cjs +1 -1
  46. package/build/form-input/edit.cjs.map +2 -2
  47. package/build/freeform/edit.cjs +1 -1
  48. package/build/freeform/edit.cjs.map +1 -1
  49. package/build/gallery/edit.cjs +212 -331
  50. package/build/gallery/edit.cjs.map +2 -2
  51. package/build/gallery/transforms.cjs +43 -0
  52. package/build/gallery/transforms.cjs.map +2 -2
  53. package/build/heading/edit.cjs +0 -1
  54. package/build/heading/edit.cjs.map +2 -2
  55. package/build/home-link/edit.cjs +1 -1
  56. package/build/home-link/edit.cjs.map +2 -2
  57. package/build/html/index.cjs +1 -1
  58. package/build/html/index.cjs.map +2 -2
  59. package/build/html/modal.cjs +3 -3
  60. package/build/html/modal.cjs.map +2 -2
  61. package/build/icon/block.json +12 -0
  62. package/build/icon/edit.cjs +90 -39
  63. package/build/icon/edit.cjs.map +3 -3
  64. package/build/icon/index.cjs +3 -1
  65. package/build/icon/index.cjs.map +3 -3
  66. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  67. package/build/icon/variations.cjs.map +7 -0
  68. package/build/image/block.json +1 -0
  69. package/build/image/edit.cjs +4 -3
  70. package/build/image/edit.cjs.map +2 -2
  71. package/build/image/image.cjs +91 -27
  72. package/build/image/image.cjs.map +2 -2
  73. package/build/image/index.cjs +1 -1
  74. package/build/image/index.cjs.map +2 -2
  75. package/build/image/transforms.cjs +9 -3
  76. package/build/image/transforms.cjs.map +2 -2
  77. package/build/index.cjs +1 -3
  78. package/build/index.cjs.map +2 -2
  79. package/build/latest-posts/edit.cjs +1 -1
  80. package/build/latest-posts/edit.cjs.map +1 -1
  81. package/build/list/edit.cjs +1 -8
  82. package/build/list/edit.cjs.map +2 -2
  83. package/build/list/ordered-list-settings.cjs +1 -44
  84. package/build/list/ordered-list-settings.cjs.map +2 -2
  85. package/build/list-item/hooks/use-merge.cjs +47 -24
  86. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  87. package/build/math/edit.cjs +1 -1
  88. package/build/math/index.cjs +1 -1
  89. package/build/math/index.cjs.map +1 -1
  90. package/build/media-text/constants.cjs +1 -1
  91. package/build/media-text/constants.cjs.map +2 -2
  92. package/build/media-text/index.cjs +1 -1
  93. package/build/media-text/index.cjs.map +2 -2
  94. package/build/missing/edit.cjs +2 -2
  95. package/build/missing/edit.cjs.map +1 -1
  96. package/build/navigation/edit/index.cjs +29 -34
  97. package/build/navigation/edit/index.cjs.map +2 -2
  98. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  99. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  100. package/build/navigation/edit/placeholder/index.cjs +1 -1
  101. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  102. package/build/navigation-link/edit.cjs +1 -2
  103. package/build/navigation-link/edit.cjs.map +2 -2
  104. package/build/navigation-submenu/block.json +7 -0
  105. package/build/navigation-submenu/edit.cjs +3 -2
  106. package/build/navigation-submenu/edit.cjs.map +2 -2
  107. package/build/page-list/block.json +2 -5
  108. package/build/page-list/edit.cjs +1 -11
  109. package/build/page-list/edit.cjs.map +2 -2
  110. package/build/paragraph/deprecated.cjs +1 -0
  111. package/build/paragraph/deprecated.cjs.map +2 -2
  112. package/build/paragraph/edit.cjs +10 -1
  113. package/build/paragraph/edit.cjs.map +3 -3
  114. package/build/playlist/block.json +12 -0
  115. package/build/playlist/edit.cjs +27 -1
  116. package/build/playlist/edit.cjs.map +2 -2
  117. package/build/playlist/save.cjs +8 -1
  118. package/build/playlist/save.cjs.map +2 -2
  119. package/build/playlist/view.cjs +1 -0
  120. package/build/playlist/view.cjs.map +2 -2
  121. package/build/post-author/edit.cjs +1 -1
  122. package/build/post-author/edit.cjs.map +2 -2
  123. package/build/post-author/utils.cjs +1 -1
  124. package/build/post-author/utils.cjs.map +2 -2
  125. package/build/post-date/edit.cjs +2 -2
  126. package/build/post-date/edit.cjs.map +2 -2
  127. package/build/post-excerpt/edit.cjs +2 -2
  128. package/build/post-excerpt/edit.cjs.map +2 -2
  129. package/build/post-featured-image/block.json +1 -0
  130. package/build/post-featured-image/dimension-controls.cjs +90 -178
  131. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  132. package/build/post-featured-image/edit.cjs +47 -17
  133. package/build/post-featured-image/edit.cjs.map +2 -2
  134. package/build/post-navigation-link/edit.cjs +2 -2
  135. package/build/post-navigation-link/edit.cjs.map +2 -2
  136. package/build/post-time-to-read/edit.cjs +1 -1
  137. package/build/post-time-to-read/edit.cjs.map +1 -1
  138. package/build/post-time-to-read/index.cjs +1 -1
  139. package/build/post-time-to-read/index.cjs.map +2 -2
  140. package/build/post-time-to-read/variations.cjs +1 -1
  141. package/build/post-time-to-read/variations.cjs.map +2 -2
  142. package/build/preformatted/edit.cjs +1 -1
  143. package/build/preformatted/edit.cjs.map +2 -2
  144. package/build/pullquote/block.json +1 -3
  145. package/build/pullquote/deprecated.cjs +114 -9
  146. package/build/pullquote/deprecated.cjs.map +3 -3
  147. package/build/pullquote/edit.cjs +43 -66
  148. package/build/pullquote/edit.cjs.map +3 -3
  149. package/build/pullquote/save.cjs +5 -26
  150. package/build/pullquote/save.cjs.map +3 -3
  151. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  152. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  153. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  154. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  155. package/build/query/utils.cjs +2 -2
  156. package/build/query/utils.cjs.map +2 -2
  157. package/build/query-pagination-next/edit.cjs +2 -2
  158. package/build/query-pagination-next/edit.cjs.map +1 -1
  159. package/build/query-pagination-previous/edit.cjs +2 -2
  160. package/build/query-pagination-previous/edit.cjs.map +1 -1
  161. package/build/query-title/edit.cjs +1 -1
  162. package/build/query-title/edit.cjs.map +2 -2
  163. package/build/query-total/edit.cjs +1 -1
  164. package/build/query-total/edit.cjs.map +2 -2
  165. package/build/quote/edit.cjs +4 -9
  166. package/build/quote/edit.cjs.map +2 -2
  167. package/build/quote/index.cjs +1 -1
  168. package/build/quote/index.cjs.map +2 -2
  169. package/build/read-more/edit.cjs +1 -1
  170. package/build/read-more/edit.cjs.map +2 -2
  171. package/build/rss/edit.cjs +1 -1
  172. package/build/rss/edit.cjs.map +2 -2
  173. package/build/search/edit.cjs +3 -3
  174. package/build/search/edit.cjs.map +2 -2
  175. package/build/shortcode/edit.cjs +1 -1
  176. package/build/shortcode/edit.cjs.map +2 -2
  177. package/build/shortcode/transforms.cjs +2 -2
  178. package/build/shortcode/transforms.cjs.map +2 -2
  179. package/build/site-tagline/edit.cjs +1 -1
  180. package/build/site-tagline/edit.cjs.map +2 -2
  181. package/build/site-title/edit.cjs +1 -1
  182. package/build/site-title/edit.cjs.map +2 -2
  183. package/build/tab-list/block.json +34 -21
  184. package/build/tab-list/edit.cjs +116 -12
  185. package/build/tab-list/edit.cjs.map +3 -3
  186. package/build/tab-list/save.cjs +33 -3
  187. package/build/tab-list/save.cjs.map +3 -3
  188. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  189. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  190. package/build/tab-panel/block.json +2 -6
  191. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  192. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  193. package/build/tab-panels/block.json +2 -27
  194. package/build/table/index.cjs +1 -1
  195. package/build/table/index.cjs.map +2 -2
  196. package/build/tabs/block.json +3 -17
  197. package/build/tabs/edit.cjs +7 -21
  198. package/build/tabs/edit.cjs.map +3 -3
  199. package/build/tabs/index.cjs +6 -10
  200. package/build/tabs/index.cjs.map +2 -2
  201. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  202. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  203. package/build/tabs/view.cjs +2 -10
  204. package/build/tabs/view.cjs.map +2 -2
  205. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  206. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  207. package/build/utils/style-state.cjs +164 -0
  208. package/build/utils/style-state.cjs.map +7 -0
  209. package/build/utils/waveform-player.cjs +42 -9
  210. package/build/utils/waveform-player.cjs.map +2 -2
  211. package/build/utils/waveform-utils.cjs +6 -4
  212. package/build/utils/waveform-utils.cjs.map +2 -2
  213. package/build/verse/edit.cjs +1 -1
  214. package/build/verse/edit.cjs.map +2 -2
  215. package/build/video/edit-common-settings.cjs +3 -6
  216. package/build/video/edit-common-settings.cjs.map +2 -2
  217. package/build-module/breadcrumbs/edit.mjs +1 -1
  218. package/build-module/breadcrumbs/edit.mjs.map +1 -1
  219. package/build-module/button/edit.mjs +1 -1
  220. package/build-module/button/edit.mjs.map +2 -2
  221. package/build-module/categories/edit.mjs +1 -1
  222. package/build-module/categories/edit.mjs.map +1 -1
  223. package/build-module/code/edit.mjs +1 -1
  224. package/build-module/code/edit.mjs.map +2 -2
  225. package/build-module/code/index.mjs +1 -1
  226. package/build-module/code/index.mjs.map +1 -1
  227. package/build-module/columns/transforms.mjs +65 -0
  228. package/build-module/columns/transforms.mjs.map +2 -2
  229. package/build-module/columns/utils.mjs.map +1 -1
  230. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  231. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  232. package/build-module/comments/edit/placeholder.mjs +4 -4
  233. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  234. package/build-module/comments-pagination-next/edit.mjs +2 -2
  235. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  236. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  237. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  238. package/build-module/cover/deprecated.mjs +3 -3
  239. package/build-module/cover/deprecated.mjs.map +2 -2
  240. package/build-module/cover/edit/block-controls.mjs +15 -2
  241. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  242. package/build-module/cover/edit/index.mjs +64 -3
  243. package/build-module/cover/edit/index.mjs.map +2 -2
  244. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  245. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  246. package/build-module/details/edit.mjs +1 -1
  247. package/build-module/details/edit.mjs.map +2 -2
  248. package/build-module/embed/embed-placeholder.mjs +1 -1
  249. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  250. package/build-module/file/edit.mjs +5 -13
  251. package/build-module/file/edit.mjs.map +2 -2
  252. package/build-module/file/index.mjs +3 -1
  253. package/build-module/file/index.mjs.map +2 -2
  254. package/build-module/file/transforms.mjs +11 -32
  255. package/build-module/file/transforms.mjs.map +2 -2
  256. package/build-module/file/variations.mjs +17 -0
  257. package/build-module/file/variations.mjs.map +7 -0
  258. package/build-module/footnotes/edit.mjs +1 -1
  259. package/build-module/footnotes/edit.mjs.map +2 -2
  260. package/build-module/form-input/edit.mjs +1 -1
  261. package/build-module/form-input/edit.mjs.map +2 -2
  262. package/build-module/freeform/edit.mjs +1 -1
  263. package/build-module/freeform/edit.mjs.map +1 -1
  264. package/build-module/gallery/edit.mjs +214 -334
  265. package/build-module/gallery/edit.mjs.map +2 -2
  266. package/build-module/gallery/transforms.mjs +43 -0
  267. package/build-module/gallery/transforms.mjs.map +2 -2
  268. package/build-module/heading/edit.mjs +1 -2
  269. package/build-module/heading/edit.mjs.map +2 -2
  270. package/build-module/home-link/edit.mjs +1 -1
  271. package/build-module/home-link/edit.mjs.map +2 -2
  272. package/build-module/html/index.mjs +1 -1
  273. package/build-module/html/index.mjs.map +2 -2
  274. package/build-module/html/modal.mjs +3 -3
  275. package/build-module/html/modal.mjs.map +2 -2
  276. package/build-module/icon/block.json +12 -0
  277. package/build-module/icon/edit.mjs +94 -40
  278. package/build-module/icon/edit.mjs.map +2 -2
  279. package/build-module/icon/index.mjs +3 -1
  280. package/build-module/icon/index.mjs.map +2 -2
  281. package/build-module/icon/variations.mjs +13 -0
  282. package/build-module/icon/variations.mjs.map +7 -0
  283. package/build-module/image/block.json +1 -0
  284. package/build-module/image/edit.mjs +4 -3
  285. package/build-module/image/edit.mjs.map +2 -2
  286. package/build-module/image/image.mjs +96 -27
  287. package/build-module/image/image.mjs.map +2 -2
  288. package/build-module/image/index.mjs +1 -1
  289. package/build-module/image/index.mjs.map +2 -2
  290. package/build-module/image/transforms.mjs +9 -3
  291. package/build-module/image/transforms.mjs.map +2 -2
  292. package/build-module/index.mjs +1 -3
  293. package/build-module/index.mjs.map +2 -2
  294. package/build-module/latest-posts/edit.mjs +1 -1
  295. package/build-module/latest-posts/edit.mjs.map +1 -1
  296. package/build-module/list/edit.mjs +2 -9
  297. package/build-module/list/edit.mjs.map +2 -2
  298. package/build-module/list/ordered-list-settings.mjs +1 -45
  299. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  300. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  301. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  302. package/build-module/math/edit.mjs +1 -1
  303. package/build-module/math/index.mjs +1 -1
  304. package/build-module/math/index.mjs.map +1 -1
  305. package/build-module/media-text/constants.mjs +1 -1
  306. package/build-module/media-text/constants.mjs.map +2 -2
  307. package/build-module/media-text/index.mjs +1 -1
  308. package/build-module/media-text/index.mjs.map +2 -2
  309. package/build-module/missing/edit.mjs +2 -2
  310. package/build-module/missing/edit.mjs.map +1 -1
  311. package/build-module/navigation/edit/index.mjs +30 -41
  312. package/build-module/navigation/edit/index.mjs.map +2 -2
  313. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  314. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  315. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  316. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  317. package/build-module/navigation-link/edit.mjs +1 -2
  318. package/build-module/navigation-link/edit.mjs.map +2 -2
  319. package/build-module/navigation-submenu/block.json +7 -0
  320. package/build-module/navigation-submenu/edit.mjs +3 -2
  321. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  322. package/build-module/page-list/block.json +2 -5
  323. package/build-module/page-list/edit.mjs +1 -11
  324. package/build-module/page-list/edit.mjs.map +2 -2
  325. package/build-module/paragraph/deprecated.mjs +1 -0
  326. package/build-module/paragraph/deprecated.mjs.map +2 -2
  327. package/build-module/paragraph/edit.mjs +12 -2
  328. package/build-module/paragraph/edit.mjs.map +2 -2
  329. package/build-module/playlist/block.json +12 -0
  330. package/build-module/playlist/edit.mjs +27 -1
  331. package/build-module/playlist/edit.mjs.map +2 -2
  332. package/build-module/playlist/save.mjs +8 -1
  333. package/build-module/playlist/save.mjs.map +2 -2
  334. package/build-module/playlist/view.mjs +1 -0
  335. package/build-module/playlist/view.mjs.map +2 -2
  336. package/build-module/post-author/edit.mjs +1 -1
  337. package/build-module/post-author/edit.mjs.map +2 -2
  338. package/build-module/post-author/utils.mjs +1 -1
  339. package/build-module/post-author/utils.mjs.map +2 -2
  340. package/build-module/post-date/edit.mjs +2 -2
  341. package/build-module/post-date/edit.mjs.map +2 -2
  342. package/build-module/post-excerpt/edit.mjs +2 -2
  343. package/build-module/post-excerpt/edit.mjs.map +2 -2
  344. package/build-module/post-featured-image/block.json +1 -0
  345. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  346. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  347. package/build-module/post-featured-image/edit.mjs +47 -17
  348. package/build-module/post-featured-image/edit.mjs.map +2 -2
  349. package/build-module/post-navigation-link/edit.mjs +2 -2
  350. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  351. package/build-module/post-time-to-read/edit.mjs +1 -1
  352. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  353. package/build-module/post-time-to-read/index.mjs +1 -1
  354. package/build-module/post-time-to-read/index.mjs.map +2 -2
  355. package/build-module/post-time-to-read/variations.mjs +2 -2
  356. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  357. package/build-module/preformatted/edit.mjs +1 -1
  358. package/build-module/preformatted/edit.mjs.map +2 -2
  359. package/build-module/pullquote/block.json +1 -3
  360. package/build-module/pullquote/deprecated.mjs +114 -9
  361. package/build-module/pullquote/deprecated.mjs.map +2 -2
  362. package/build-module/pullquote/edit.mjs +44 -72
  363. package/build-module/pullquote/edit.mjs.map +2 -2
  364. package/build-module/pullquote/save.mjs +5 -16
  365. package/build-module/pullquote/save.mjs.map +2 -2
  366. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  367. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  368. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  369. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  370. package/build-module/query/utils.mjs +2 -2
  371. package/build-module/query/utils.mjs.map +2 -2
  372. package/build-module/query-pagination-next/edit.mjs +2 -2
  373. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  374. package/build-module/query-pagination-previous/edit.mjs +2 -2
  375. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  376. package/build-module/query-title/edit.mjs +1 -1
  377. package/build-module/query-title/edit.mjs.map +2 -2
  378. package/build-module/query-total/edit.mjs +1 -1
  379. package/build-module/query-total/edit.mjs.map +2 -2
  380. package/build-module/quote/edit.mjs +5 -10
  381. package/build-module/quote/edit.mjs.map +2 -2
  382. package/build-module/quote/index.mjs +1 -1
  383. package/build-module/quote/index.mjs.map +2 -2
  384. package/build-module/read-more/edit.mjs +1 -1
  385. package/build-module/read-more/edit.mjs.map +2 -2
  386. package/build-module/rss/edit.mjs +1 -1
  387. package/build-module/rss/edit.mjs.map +2 -2
  388. package/build-module/search/edit.mjs +3 -3
  389. package/build-module/search/edit.mjs.map +2 -2
  390. package/build-module/shortcode/edit.mjs +1 -1
  391. package/build-module/shortcode/edit.mjs.map +2 -2
  392. package/build-module/shortcode/transforms.mjs +2 -2
  393. package/build-module/shortcode/transforms.mjs.map +2 -2
  394. package/build-module/site-tagline/edit.mjs +1 -1
  395. package/build-module/site-tagline/edit.mjs.map +2 -2
  396. package/build-module/site-title/edit.mjs +1 -1
  397. package/build-module/site-title/edit.mjs.map +2 -2
  398. package/build-module/tab-list/block.json +34 -21
  399. package/build-module/tab-list/edit.mjs +122 -15
  400. package/build-module/tab-list/edit.mjs.map +2 -2
  401. package/build-module/tab-list/save.mjs +29 -4
  402. package/build-module/tab-list/save.mjs.map +2 -2
  403. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  404. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  405. package/build-module/tab-panel/block.json +2 -6
  406. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  407. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  408. package/build-module/tab-panels/block.json +2 -27
  409. package/build-module/table/index.mjs +1 -1
  410. package/build-module/table/index.mjs.map +2 -2
  411. package/build-module/tabs/block.json +3 -17
  412. package/build-module/tabs/edit.mjs +7 -21
  413. package/build-module/tabs/edit.mjs.map +2 -2
  414. package/build-module/tabs/index.mjs +6 -10
  415. package/build-module/tabs/index.mjs.map +2 -2
  416. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  417. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  418. package/build-module/tabs/view.mjs +2 -10
  419. package/build-module/tabs/view.mjs.map +2 -2
  420. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  421. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  422. package/build-module/utils/style-state.mjs +132 -0
  423. package/build-module/utils/style-state.mjs.map +7 -0
  424. package/build-module/utils/waveform-player.mjs +44 -11
  425. package/build-module/utils/waveform-player.mjs.map +2 -2
  426. package/build-module/utils/waveform-utils.mjs +6 -4
  427. package/build-module/utils/waveform-utils.mjs.map +2 -2
  428. package/build-module/verse/edit.mjs +1 -1
  429. package/build-module/verse/edit.mjs.map +2 -2
  430. package/build-module/video/edit-common-settings.mjs +4 -7
  431. package/build-module/video/edit-common-settings.mjs.map +2 -2
  432. package/build-style/comment-template/style-rtl.css +1 -0
  433. package/build-style/comment-template/style.css +1 -0
  434. package/build-style/common-rtl.css +30 -10
  435. package/build-style/common.css +30 -10
  436. package/build-style/cover/style-rtl.css +2 -1
  437. package/build-style/cover/style.css +2 -1
  438. package/build-style/editor-rtl.css +34 -27
  439. package/build-style/editor.css +34 -27
  440. package/build-style/form-input/style-rtl.css +2 -0
  441. package/build-style/form-input/style.css +2 -0
  442. package/build-style/gallery/style-rtl.css +4 -2
  443. package/build-style/gallery/style.css +4 -2
  444. package/build-style/icon/style-rtl.css +9 -0
  445. package/build-style/icon/style.css +9 -0
  446. package/build-style/media-text/style-rtl.css +2 -1
  447. package/build-style/media-text/style.css +2 -1
  448. package/build-style/playlist/style-rtl.css +3 -0
  449. package/build-style/playlist/style.css +3 -0
  450. package/build-style/query/editor-rtl.css +8 -4
  451. package/build-style/query/editor.css +8 -4
  452. package/build-style/read-more/style-rtl.css +1 -0
  453. package/build-style/read-more/style.css +1 -0
  454. package/build-style/reset-rtl.css +3 -1
  455. package/build-style/reset.css +3 -1
  456. package/build-style/search/style-rtl.css +3 -1
  457. package/build-style/search/style.css +3 -1
  458. package/build-style/site-logo/editor-rtl.css +2 -1
  459. package/build-style/site-logo/editor.css +2 -1
  460. package/build-style/style-rtl.css +64 -41
  461. package/build-style/style.css +64 -41
  462. package/build-style/tab-list/editor-rtl.css +12 -4
  463. package/build-style/tab-list/editor.css +12 -4
  464. package/build-style/{tab → tab-list}/style-rtl.css +5 -3
  465. package/build-style/{tab → tab-list}/style.css +5 -3
  466. package/build-style/tab-panel/style-rtl.css +0 -17
  467. package/build-style/tab-panel/style.css +0 -17
  468. package/build-style/template-part/editor-rtl.css +8 -4
  469. package/build-style/template-part/editor.css +8 -4
  470. package/build-style/video/style-rtl.css +2 -1
  471. package/build-style/video/style.css +2 -1
  472. package/package.json +55 -48
  473. package/src/accordion/README.md +97 -0
  474. package/src/accordion-heading/README.md +81 -0
  475. package/src/accordion-item/README.md +85 -0
  476. package/src/accordion-panel/README.md +74 -0
  477. package/src/archives/README.md +56 -0
  478. package/src/audio/README.md +55 -0
  479. package/src/avatar/README.md +74 -0
  480. package/src/avatar/index.php +2 -2
  481. package/src/block/README.md +56 -0
  482. package/src/block/index.php +2 -26
  483. package/src/breadcrumbs/README.md +67 -0
  484. package/src/button/README.md +93 -0
  485. package/src/buttons/README.md +80 -0
  486. package/src/calendar/README.md +51 -0
  487. package/src/categories/README.md +69 -0
  488. package/src/code/README.md +55 -0
  489. package/src/column/README.md +72 -0
  490. package/src/columns/README.md +90 -0
  491. package/src/columns/test/transforms.js +164 -0
  492. package/src/columns/transforms.js +74 -0
  493. package/src/comment-author-avatar/README.md +63 -0
  494. package/src/comment-author-avatar/index.php +3 -3
  495. package/src/comment-author-name/README.md +67 -0
  496. package/src/comment-author-name/index.php +1 -1
  497. package/src/comment-content/README.md +61 -0
  498. package/src/comment-date/README.md +67 -0
  499. package/src/comment-date/index.php +1 -1
  500. package/src/comment-edit-link/README.md +67 -0
  501. package/src/comment-reply-link/README.md +63 -0
  502. package/src/comment-template/README.md +60 -0
  503. package/src/comments/README.md +88 -0
  504. package/src/comments-pagination/README.md +77 -0
  505. package/src/comments-pagination-next/README.md +64 -0
  506. package/src/comments-pagination-numbers/README.md +64 -0
  507. package/src/comments-pagination-previous/README.md +64 -0
  508. package/src/comments-title/README.md +70 -0
  509. package/src/common.scss +63 -10
  510. package/src/cover/README.md +111 -0
  511. package/src/cover/edit/block-controls.js +14 -2
  512. package/src/cover/edit/index.js +86 -0
  513. package/src/cover/edit/inspector-controls.js +124 -54
  514. package/src/details/README.md +65 -0
  515. package/src/editor.scss +0 -1
  516. package/src/embed/README.md +56 -0
  517. package/src/file/README.md +60 -0
  518. package/src/file/edit.js +3 -16
  519. package/src/file/index.js +2 -0
  520. package/src/file/transforms.js +12 -31
  521. package/src/file/variations.js +17 -0
  522. package/src/footnotes/README.md +64 -0
  523. package/src/form/README.md +90 -0
  524. package/src/form-input/README.md +74 -0
  525. package/src/form-submission-notification/README.md +50 -0
  526. package/src/form-submit-button/README.md +54 -0
  527. package/src/freeform/README.md +49 -0
  528. package/src/gallery/README.md +115 -0
  529. package/src/gallery/edit.js +214 -351
  530. package/src/gallery/test/transforms.js +155 -0
  531. package/src/gallery/transforms.js +47 -0
  532. package/src/group/README.md +80 -0
  533. package/src/heading/README.md +60 -0
  534. package/src/heading/edit.js +1 -2
  535. package/src/home-link/README.md +66 -0
  536. package/src/home-link/index.php +3 -15
  537. package/src/html/README.md +48 -0
  538. package/src/icon/README.md +66 -0
  539. package/src/icon/block.json +12 -0
  540. package/src/icon/edit.js +86 -36
  541. package/src/icon/index.js +3 -1
  542. package/src/icon/index.php +23 -0
  543. package/src/icon/style.scss +12 -0
  544. package/src/icon/variations.js +9 -0
  545. package/src/image/README.md +103 -0
  546. package/src/image/block.json +1 -0
  547. package/src/image/edit.js +8 -3
  548. package/src/image/image.js +120 -54
  549. package/src/image/index.php +4 -5
  550. package/src/image/transforms.js +34 -8
  551. package/src/index.js +4 -11
  552. package/src/latest-comments/README.md +57 -0
  553. package/src/latest-posts/README.md +71 -0
  554. package/src/list/README.md +70 -0
  555. package/src/list/edit.js +2 -9
  556. package/src/list/ordered-list-settings.js +46 -92
  557. package/src/list-item/README.md +71 -0
  558. package/src/list-item/hooks/use-merge.js +53 -46
  559. package/src/loginout/README.md +56 -0
  560. package/src/math/README.md +50 -0
  561. package/src/media-text/README.md +92 -0
  562. package/src/missing/README.md +55 -0
  563. package/src/more/README.md +49 -0
  564. package/src/navigation/README.md +115 -0
  565. package/src/navigation/edit/index.js +33 -40
  566. package/src/navigation/index.php +58 -0
  567. package/src/navigation-link/README.md +93 -0
  568. package/src/navigation-link/edit.js +0 -1
  569. package/src/navigation-link/index.php +1 -15
  570. package/src/navigation-overlay-close/README.md +48 -0
  571. package/src/navigation-submenu/README.md +89 -0
  572. package/src/navigation-submenu/block.json +7 -0
  573. package/src/navigation-submenu/edit.js +1 -0
  574. package/src/navigation-submenu/index.php +1 -17
  575. package/src/nextpage/README.md +50 -0
  576. package/src/page-list/README.md +84 -0
  577. package/src/page-list/block.json +2 -5
  578. package/src/page-list/edit.js +0 -11
  579. package/src/page-list/index.php +4 -16
  580. package/src/page-list-item/README.md +77 -0
  581. package/src/paragraph/README.md +70 -0
  582. package/src/paragraph/deprecated.js +1 -0
  583. package/src/paragraph/edit.js +13 -1
  584. package/src/pattern/README.md +45 -0
  585. package/src/playlist/README.md +86 -0
  586. package/src/playlist/block.json +12 -0
  587. package/src/playlist/edit.js +27 -0
  588. package/src/playlist/index.php +10 -3
  589. package/src/playlist/save.js +9 -1
  590. package/src/playlist/style.scss +7 -0
  591. package/src/playlist/view.js +1 -0
  592. package/src/playlist-track/README.md +69 -0
  593. package/src/post-author/README.md +78 -0
  594. package/src/post-author-biography/README.md +59 -0
  595. package/src/post-author-name/README.md +63 -0
  596. package/src/post-author-name/index.php +1 -1
  597. package/src/post-comment/README.md +61 -0
  598. package/src/post-comments-count/README.md +58 -0
  599. package/src/post-comments-form/README.md +59 -0
  600. package/src/post-comments-link/README.md +60 -0
  601. package/src/post-content/README.md +71 -0
  602. package/src/post-date/README.md +65 -0
  603. package/src/post-date/edit.js +2 -2
  604. package/src/post-date/index.php +1 -1
  605. package/src/post-excerpt/README.md +66 -0
  606. package/src/post-featured-image/README.md +86 -0
  607. package/src/post-featured-image/block.json +1 -0
  608. package/src/post-featured-image/dimension-controls.js +105 -184
  609. package/src/post-featured-image/edit.js +53 -21
  610. package/src/post-featured-image/index.php +25 -23
  611. package/src/post-navigation-link/README.md +63 -0
  612. package/src/post-template/README.md +71 -0
  613. package/src/post-terms/README.md +65 -0
  614. package/src/post-time-to-read/README.md +63 -0
  615. package/src/post-time-to-read/index.js +1 -1
  616. package/src/post-time-to-read/variations.js +2 -2
  617. package/src/post-title/README.md +69 -0
  618. package/src/preformatted/README.md +50 -0
  619. package/src/pullquote/README.md +64 -0
  620. package/src/pullquote/block.json +1 -3
  621. package/src/pullquote/deprecated.js +121 -9
  622. package/src/pullquote/edit.js +8 -38
  623. package/src/pullquote/save.js +2 -13
  624. package/src/query/README.md +64 -0
  625. package/src/query-no-results/README.md +65 -0
  626. package/src/query-pagination/README.md +79 -0
  627. package/src/query-pagination-next/README.md +67 -0
  628. package/src/query-pagination-numbers/README.md +65 -0
  629. package/src/query-pagination-previous/README.md +67 -0
  630. package/src/query-title/README.md +65 -0
  631. package/src/query-total/README.md +66 -0
  632. package/src/quote/README.md +75 -0
  633. package/src/quote/edit.js +3 -9
  634. package/src/read-more/README.md +61 -0
  635. package/src/read-more/index.php +2 -2
  636. package/src/rss/README.md +62 -0
  637. package/src/search/README.md +66 -0
  638. package/src/search/index.php +1 -1
  639. package/src/separator/README.md +62 -0
  640. package/src/shortcode/README.md +44 -0
  641. package/src/shortcode/transforms.js +2 -2
  642. package/src/site-logo/README.md +72 -0
  643. package/src/site-tagline/README.md +56 -0
  644. package/src/site-title/README.md +57 -0
  645. package/src/social-link/README.md +64 -0
  646. package/src/social-links/README.md +98 -0
  647. package/src/spacer/README.md +53 -0
  648. package/src/style.scss +1 -2
  649. package/src/tab-list/README.md +81 -0
  650. package/src/tab-list/block.json +34 -21
  651. package/src/tab-list/edit.js +147 -15
  652. package/src/tab-list/editor.scss +13 -6
  653. package/src/tab-list/index.php +23 -30
  654. package/src/tab-list/save.js +39 -4
  655. package/src/{tab → tab-list}/style.scss +1 -1
  656. package/src/tab-panel/README.md +72 -0
  657. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  658. package/src/tab-panel/block.json +2 -6
  659. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  660. package/src/tab-panel/style.scss +0 -17
  661. package/src/tab-panels/README.md +59 -0
  662. package/src/tab-panels/block.json +2 -27
  663. package/src/table/README.md +71 -0
  664. package/src/table-of-contents/README.md +61 -0
  665. package/src/tabs/README.md +77 -0
  666. package/src/tabs/block.json +3 -17
  667. package/src/tabs/edit.js +8 -19
  668. package/src/tabs/index.js +6 -10
  669. package/src/tabs/index.php +0 -13
  670. package/src/tabs/use-tab-list-items-sync.js +49 -0
  671. package/src/tabs/view.js +2 -10
  672. package/src/tag-cloud/README.md +62 -0
  673. package/src/template-part/README.md +48 -0
  674. package/src/term-count/README.md +59 -0
  675. package/src/term-description/README.md +60 -0
  676. package/src/term-name/README.md +65 -0
  677. package/src/term-template/README.md +65 -0
  678. package/src/terms-query/README.md +58 -0
  679. package/src/text-columns/README.md +51 -0
  680. package/src/utils/style-state.js +151 -0
  681. package/src/utils/test/style-state.js +307 -0
  682. package/src/utils/test/waveform-player.js +254 -0
  683. package/src/utils/waveform-player.js +90 -18
  684. package/src/utils/waveform-utils.js +15 -11
  685. package/src/verse/README.md +58 -0
  686. package/src/video/README.md +58 -0
  687. package/src/video/edit-common-settings.js +4 -7
  688. package/babel-plugin.cjs +0 -150
  689. package/build/tab/block.json +0 -56
  690. package/build/tab/controls.cjs +0 -46
  691. package/build/tab/controls.cjs.map +0 -7
  692. package/build/tab/edit.cjs +0 -135
  693. package/build/tab/edit.cjs.map +0 -7
  694. package/build/tab/index.cjs +0 -58
  695. package/build/tab/index.cjs.map +0 -7
  696. package/build/tab/save.cjs.map +0 -7
  697. package/build/tabs/use-tab-list-sync.cjs +0 -190
  698. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  699. package/build-module/tab/block.json +0 -56
  700. package/build-module/tab/controls.mjs +0 -15
  701. package/build-module/tab/controls.mjs.map +0 -7
  702. package/build-module/tab/edit.mjs +0 -108
  703. package/build-module/tab/edit.mjs.map +0 -7
  704. package/build-module/tab/index.mjs +0 -20
  705. package/build-module/tab/index.mjs.map +0 -7
  706. package/build-module/tab/save.mjs +0 -14
  707. package/build-module/tab/save.mjs.map +0 -7
  708. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  709. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  710. package/build-style/tab/editor-rtl.css +0 -11
  711. package/build-style/tab/editor.css +0 -11
  712. package/build-style/tab-panels/style-rtl.css +0 -4
  713. package/build-style/tab-panels/style.css +0 -4
  714. package/src/audio/edit.native.js +0 -250
  715. package/src/audio/style.native.scss +0 -13
  716. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  717. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  718. package/src/audio/test/edit.native.js +0 -132
  719. package/src/audio/test/transforms.native.js +0 -43
  720. package/src/audio/transforms.native.js +0 -12
  721. package/src/block/edit-title.native.js +0 -67
  722. package/src/block/edit.native.js +0 -247
  723. package/src/block/editor.native.scss +0 -125
  724. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  725. package/src/block/test/edit.native.js +0 -262
  726. package/src/block/test/transforms.native.js +0 -40
  727. package/src/button/color-background.native.js +0 -41
  728. package/src/button/edit.native.js +0 -567
  729. package/src/button/editor.native.scss +0 -70
  730. package/src/button/rich-text.android.scss +0 -6
  731. package/src/button/rich-text.ios.scss +0 -6
  732. package/src/buttons/edit.native.js +0 -157
  733. package/src/buttons/editor.native.scss +0 -11
  734. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  735. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  736. package/src/buttons/test/edit.native.js +0 -485
  737. package/src/buttons/test/transforms.native.js +0 -48
  738. package/src/buttons/transforms.native.js +0 -12
  739. package/src/code/edit.native.js +0 -70
  740. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  741. package/src/code/test/edit.native.js +0 -65
  742. package/src/code/theme.native.scss +0 -22
  743. package/src/code/transforms.native.js +0 -12
  744. package/src/column/column-preview.native.js +0 -58
  745. package/src/column/edit.native.js +0 -273
  746. package/src/column/editor.native.scss +0 -75
  747. package/src/columns/columnCalculations.native.js +0 -178
  748. package/src/columns/edit.native.js +0 -507
  749. package/src/columns/editor.native.scss +0 -17
  750. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  751. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  752. package/src/columns/test/edit.native.js +0 -496
  753. package/src/columns/test/transforms.native.js +0 -89
  754. package/src/columns/transforms.native.js +0 -12
  755. package/src/cover/controls.native.js +0 -307
  756. package/src/cover/edit.native.js +0 -708
  757. package/src/cover/focal-point-settings-button.native.js +0 -53
  758. package/src/cover/overlay-color-settings.native.js +0 -106
  759. package/src/cover/style.native.scss +0 -220
  760. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  761. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  762. package/src/cover/test/edit.native.js +0 -701
  763. package/src/cover/test/transforms.native.js +0 -116
  764. package/src/cover/transforms.native.js +0 -12
  765. package/src/cover/use-cover-is-dark.native.js +0 -51
  766. package/src/embed/edit.native.js +0 -345
  767. package/src/embed/embed-controls.native.js +0 -65
  768. package/src/embed/embed-link-settings.native.js +0 -99
  769. package/src/embed/embed-loading.native.js +0 -29
  770. package/src/embed/embed-no-preview.native.js +0 -230
  771. package/src/embed/embed-placeholder.native.js +0 -178
  772. package/src/embed/embed-preview.native.js +0 -157
  773. package/src/embed/styles.native.scss +0 -196
  774. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  775. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  776. package/src/embed/test/index.native.js +0 -1125
  777. package/src/embed/test/transforms.native.js +0 -44
  778. package/src/embed/transforms.native.js +0 -12
  779. package/src/embed/wp-embed-preview.native.js +0 -80
  780. package/src/file/edit.native.js +0 -605
  781. package/src/file/style.native.scss +0 -79
  782. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  783. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  784. package/src/file/test/edit.native.js +0 -93
  785. package/src/file/test/transforms.native.js +0 -43
  786. package/src/file/transforms.native.js +0 -12
  787. package/src/freeform/edit.native.js +0 -13
  788. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  789. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  790. package/src/freeform/test/index.native.js +0 -57
  791. package/src/freeform/test/transforms.native.js +0 -39
  792. package/src/gallery/gallery-styles.native.scss +0 -8
  793. package/src/gallery/gallery.native.js +0 -124
  794. package/src/gallery/styles.native.scss +0 -7
  795. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  796. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  797. package/src/gallery/test/helpers.native.js +0 -106
  798. package/src/gallery/test/index.native.js +0 -700
  799. package/src/gallery/test/transforms.native.js +0 -53
  800. package/src/gallery/test/use-get-media.native.js +0 -24
  801. package/src/gallery/transforms.native.js +0 -12
  802. package/src/gallery/use-get-media.native.js +0 -49
  803. package/src/group/edit.native.js +0 -137
  804. package/src/group/editor.native.scss +0 -56
  805. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  806. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  807. package/src/group/test/edit.native.js +0 -100
  808. package/src/group/test/transforms.native.js +0 -73
  809. package/src/heading/edit.native.js +0 -159
  810. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  811. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  812. package/src/heading/test/index.native.js +0 -257
  813. package/src/heading/test/transforms.native.js +0 -46
  814. package/src/heading/transforms.native.js +0 -12
  815. package/src/html/transforms.native.js +0 -11
  816. package/src/image/edit.native.js +0 -959
  817. package/src/image/styles.native.scss +0 -70
  818. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  819. package/src/image/test/edit.native.js +0 -459
  820. package/src/image/test/transforms.native.js +0 -49
  821. package/src/image/transforms.native.js +0 -12
  822. package/src/index.native.js +0 -274
  823. package/src/latest-posts/edit.native.js +0 -294
  824. package/src/latest-posts/style.native.scss +0 -47
  825. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  826. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  827. package/src/latest-posts/test/edit.native.js +0 -49
  828. package/src/latest-posts/test/transforms.native.js +0 -61
  829. package/src/list/tag-name.native.js +0 -12
  830. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  831. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  832. package/src/list/test/edit.native.js +0 -602
  833. package/src/list/test/transforms.native.js +0 -56
  834. package/src/list/transforms.native.js +0 -12
  835. package/src/list-item/edit.native.js +0 -175
  836. package/src/list-item/hooks/use-enter.native.js +0 -81
  837. package/src/list-item/icons.native.js +0 -34
  838. package/src/list-item/list-style-type.native.js +0 -146
  839. package/src/list-item/style.native.scss +0 -57
  840. package/src/media-text/edit.native.js +0 -417
  841. package/src/media-text/icon-retry.native.js +0 -11
  842. package/src/media-text/media-container.native.js +0 -393
  843. package/src/media-text/style.native.scss +0 -191
  844. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  845. package/src/media-text/test/edit.native.js +0 -58
  846. package/src/media-text/test/transforms.native.js +0 -116
  847. package/src/media-text/transforms.native.js +0 -12
  848. package/src/missing/edit.native.js +0 -294
  849. package/src/missing/style.native.scss +0 -79
  850. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  851. package/src/missing/test/edit-integration.native.js +0 -168
  852. package/src/missing/test/edit.native.js +0 -81
  853. package/src/more/edit.native.js +0 -36
  854. package/src/more/editor.native.scss +0 -21
  855. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  856. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  857. package/src/more/test/edit.native.js +0 -41
  858. package/src/more/test/transforms.native.js +0 -42
  859. package/src/more/transforms.native.js +0 -12
  860. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  861. package/src/nextpage/edit.native.js +0 -58
  862. package/src/nextpage/editor.native.scss +0 -21
  863. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  864. package/src/nextpage/test/transforms.native.js +0 -42
  865. package/src/nextpage/transforms.native.js +0 -12
  866. package/src/paragraph/edit.native.js +0 -116
  867. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  868. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  869. package/src/paragraph/test/edit.native.js +0 -999
  870. package/src/paragraph/test/transforms.native.js +0 -51
  871. package/src/paragraph/transforms.native.js +0 -12
  872. package/src/preformatted/edit.native.js +0 -48
  873. package/src/preformatted/styles.native.scss +0 -30
  874. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  875. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  876. package/src/preformatted/test/edit.native.js +0 -111
  877. package/src/preformatted/test/transforms.native.js +0 -47
  878. package/src/preformatted/transforms.native.js +0 -12
  879. package/src/pullquote/blockquote.native.js +0 -39
  880. package/src/pullquote/blockquote.native.scss +0 -8
  881. package/src/pullquote/edit.native.js +0 -128
  882. package/src/pullquote/figure.native.js +0 -33
  883. package/src/pullquote/figure.native.scss +0 -16
  884. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  885. package/src/pullquote/test/edit.native.js +0 -73
  886. package/src/pullquote/test/transforms.native.js +0 -46
  887. package/src/pullquote/transforms.native.js +0 -12
  888. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  889. package/src/quote/test/edit.native.js +0 -94
  890. package/src/quote/test/transforms.native.js +0 -69
  891. package/src/quote/transforms.native.js +0 -12
  892. package/src/search/edit.native.js +0 -486
  893. package/src/search/style.native.scss +0 -99
  894. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  895. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  896. package/src/search/test/edit.native.js +0 -170
  897. package/src/search/test/transforms.native.js +0 -40
  898. package/src/separator/separator-settings.native.js +0 -3
  899. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  900. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  901. package/src/separator/test/edit.native.js +0 -41
  902. package/src/separator/test/transforms.native.js +0 -42
  903. package/src/separator/transforms.native.js +0 -12
  904. package/src/shortcode/edit.native.js +0 -77
  905. package/src/shortcode/style.native.scss +0 -44
  906. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  907. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  908. package/src/shortcode/test/edit.native.js +0 -70
  909. package/src/shortcode/test/transforms.native.js +0 -42
  910. package/src/shortcode/transforms.native.js +0 -12
  911. package/src/social-link/edit.native.js +0 -219
  912. package/src/social-link/editor.native.scss +0 -18
  913. package/src/social-links/edit.native.js +0 -147
  914. package/src/social-links/editor.native.scss +0 -25
  915. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  916. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  917. package/src/social-links/test/edit.native.js +0 -266
  918. package/src/social-links/test/transforms.native.js +0 -53
  919. package/src/spacer/controls.native.js +0 -86
  920. package/src/spacer/edit.native.js +0 -110
  921. package/src/spacer/editor.native.scss +0 -18
  922. package/src/spacer/save.native.js +0 -18
  923. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  924. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  925. package/src/spacer/test/index.native.js +0 -257
  926. package/src/spacer/test/transforms.native.js +0 -42
  927. package/src/tab/block.json +0 -56
  928. package/src/tab/controls.js +0 -19
  929. package/src/tab/edit.js +0 -141
  930. package/src/tab/editor.scss +0 -14
  931. package/src/tab/index.js +0 -24
  932. package/src/tab/index.php +0 -70
  933. package/src/tab/save.js +0 -13
  934. package/src/tab-panels/style.scss +0 -4
  935. package/src/table/transforms.native.js +0 -11
  936. package/src/tabs/use-tab-list-sync.js +0 -237
  937. package/src/text-columns/transforms.native.js +0 -12
  938. package/src/utils/init-block.native.js +0 -40
  939. package/src/utils/transformation-categories.native.js +0 -47
  940. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  941. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  942. package/src/verse/test/edit.native.js +0 -118
  943. package/src/verse/test/transforms.native.js +0 -46
  944. package/src/verse/transforms.native.js +0 -12
  945. package/src/video/edit.native.js +0 -406
  946. package/src/video/icon-retry.native.js +0 -11
  947. package/src/video/style.native.scss +0 -81
  948. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  949. package/src/video/test/edit.native.js +0 -53
  950. package/src/video/test/transforms.native.js +0 -49
  951. package/src/video/transforms.native.js +0 -12
@@ -1,700 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- act,
6
- typeInRichText,
7
- fireEvent,
8
- getBlock,
9
- getEditorHtml,
10
- initializeEditor,
11
- openBlockSettings,
12
- setupCoreBlocks,
13
- setupMediaPicker,
14
- setupMediaUpload,
15
- triggerBlockListLayout,
16
- within,
17
- setupPicker,
18
- } from 'test/helpers';
19
- import { ActionSheetIOS } from 'react-native';
20
-
21
- /**
22
- * WordPress dependencies
23
- */
24
- import { Platform } from '@wordpress/element';
25
- import {
26
- getOtherMediaOptions,
27
- requestImageFailedRetryDialog,
28
- requestImageUploadCancelDialog,
29
- } from '@wordpress/react-native-bridge';
30
- import { store as blockEditorStore } from '@wordpress/block-editor';
31
- import { select } from '@wordpress/data';
32
-
33
- /**
34
- * Internal dependencies
35
- */
36
- import {
37
- addGalleryBlock,
38
- initializeWithGalleryBlock,
39
- getGalleryItem,
40
- generateGalleryBlock,
41
- } from './helpers';
42
-
43
- const MEDIA_OPTIONS = [
44
- 'Choose from device',
45
- 'Take a Photo',
46
- 'WordPress Media Library',
47
- ];
48
-
49
- const media = [
50
- {
51
- localId: 1,
52
- localUrl: 'file:///local-image-1.jpeg',
53
- serverId: 2000,
54
- serverUrl: 'https://test-site.files.wordpress.com/local-image-1.jpeg',
55
- },
56
- {
57
- localId: 2,
58
- localUrl: 'file:///local-image-2.jpeg',
59
- serverId: 2001,
60
- serverUrl: 'https://test-site.files.wordpress.com/local-image-2.jpeg',
61
- },
62
- {
63
- localId: 3,
64
- localUrl: 'file:///local-image-3.jpeg',
65
- serverId: 2002,
66
- serverUrl: 'https://test-site.files.wordpress.com/local-image-3.jpeg',
67
- },
68
- ];
69
-
70
- setupCoreBlocks();
71
-
72
- describe( 'Gallery block', () => {
73
- it( 'inserts block', async () => {
74
- const screen = await addGalleryBlock();
75
-
76
- expect( getBlock( screen, 'Gallery' ) ).toBeVisible();
77
- expect( getEditorHtml() ).toMatchSnapshot();
78
- } );
79
-
80
- it( "renders gallery block placeholder correctly if the block doesn't have inner blocks", async () => {
81
- const getBlockSpy = jest
82
- .spyOn( select( blockEditorStore ), 'getBlock' )
83
- .mockReturnValue( {
84
- innerBlocks: undefined,
85
- attributes: {
86
- content: '',
87
- },
88
- } );
89
-
90
- const screen = await addGalleryBlock();
91
-
92
- expect( getBlock( screen, 'Gallery' ) ).toBeVisible();
93
- expect( getEditorHtml() ).toMatchSnapshot();
94
-
95
- getBlockSpy.mockRestore();
96
- } );
97
-
98
- it( 'selects a gallery item', async () => {
99
- const { galleryBlock } = await initializeWithGalleryBlock( {
100
- numberOfItems: 1,
101
- media,
102
- selected: false,
103
- } );
104
-
105
- const galleryItem = getGalleryItem( galleryBlock, 1 );
106
- fireEvent.press( galleryItem );
107
-
108
- expect( galleryItem ).toBeVisible();
109
- } );
110
-
111
- it( 'shows appender button when gallery has images', async () => {
112
- const { galleryBlock, getByText } = await initializeWithGalleryBlock( {
113
- numberOfItems: 1,
114
- media,
115
- } );
116
-
117
- const appenderButton = within( galleryBlock ).getByTestId(
118
- 'media-placeholder-appender-icon'
119
- );
120
- fireEvent.press( appenderButton );
121
-
122
- expect( getByText( 'Choose from device' ) ).toBeVisible();
123
- expect( getByText( 'Take a Photo' ) ).toBeVisible();
124
- expect( getByText( 'WordPress Media Library' ) ).toBeVisible();
125
- } );
126
-
127
- it( 'displays correct media options picker', async () => {
128
- // Initialize with an empty gallery
129
- const screen = await initializeEditor( {
130
- initialHtml: generateGalleryBlock( 0 ),
131
- } );
132
- const { getByText } = screen;
133
-
134
- // Tap on Gallery block
135
- const block = await getBlock( screen, 'Gallery' );
136
- fireEvent.press( block );
137
- fireEvent.press( within( block ).getByText( 'Add media' ) );
138
-
139
- // Observe that media options picker is displayed
140
- /* eslint-disable jest/no-conditional-expect */
141
- if ( Platform.isIOS ) {
142
- // On iOS the picker is rendered natively, so we have
143
- // to check the arguments passed to `ActionSheetIOS`.
144
- expect(
145
- ActionSheetIOS.showActionSheetWithOptions
146
- ).toHaveBeenCalledWith(
147
- expect.objectContaining( {
148
- title: 'Choose images',
149
- options: [ 'Cancel', ...MEDIA_OPTIONS ],
150
- } ),
151
- expect.any( Function )
152
- );
153
- } else {
154
- expect( getByText( 'Choose images' ) ).toBeVisible();
155
- MEDIA_OPTIONS.forEach( ( option ) =>
156
- expect( getByText( option ) ).toBeVisible()
157
- );
158
- }
159
- /* eslint-enable jest/no-conditional-expect */
160
- } );
161
-
162
- it( 'block remains selected after dismissing the media options picker', async () => {
163
- // Initialize with an empty gallery
164
- const { getByLabelText, getByText, getByTestId } =
165
- await initializeEditor( {
166
- initialHtml: generateGalleryBlock( 0 ),
167
- } );
168
-
169
- // Tap on Gallery block
170
- fireEvent.press( getByText( 'Add media' ) );
171
-
172
- // Observe that media options picker is displayed
173
- expect( getByText( 'Choose images' ) ).toBeVisible();
174
- expect( getByText( 'WordPress Media Library' ) ).toBeVisible();
175
-
176
- // Dismiss the picker
177
- if ( Platform.isIOS ) {
178
- fireEvent.press( getByText( 'Cancel' ) );
179
- } else {
180
- fireEvent( getByTestId( 'media-options-picker' ), 'backdropPress' );
181
- }
182
-
183
- // Observe that the block is selected, this is done by checking if the block settings
184
- // button is visible
185
- const blockActionsButton = getByLabelText( /Open Block Actions Menu/ );
186
- expect( blockActionsButton ).toBeVisible();
187
- } );
188
-
189
- // Test case related to TC001 - Close/Re-open post with an ongoing image upload
190
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc001
191
- it( 'finishes pending uploads upon opening the editor', async () => {
192
- const { notifyUploadingState, notifySucceedState } = setupMediaUpload();
193
-
194
- // Initialize with a gallery that contains two items that are being uploaded
195
- const { galleryBlock } = await initializeWithGalleryBlock( {
196
- numberOfItems: 2,
197
- media,
198
- useLocalUrl: true,
199
- } );
200
-
201
- // Notify that the media items are uploading
202
- await notifyUploadingState( media[ 0 ] );
203
- await notifyUploadingState( media[ 1 ] );
204
-
205
- // Check that images are showing a loading state
206
- expect(
207
- within( getGalleryItem( galleryBlock, 1 ) ).getByTestId( 'spinner' )
208
- ).toBeVisible();
209
- expect(
210
- within( getGalleryItem( galleryBlock, 2 ) ).getByTestId( 'spinner' )
211
- ).toBeVisible();
212
-
213
- // Notify that the media items upload succeeded
214
- await notifySucceedState( media[ 0 ] );
215
- await notifySucceedState( media[ 1 ] );
216
-
217
- expect( getEditorHtml() ).toMatchSnapshot();
218
- } );
219
-
220
- // Test case related to TC003 - Add caption to gallery
221
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc003
222
- it( 'sets caption to gallery', async () => {
223
- // Initialize with a gallery that contains one item
224
- const { getByLabelText } = await initializeWithGalleryBlock( {
225
- numberOfItems: 1,
226
- media,
227
- } );
228
-
229
- // Check gallery item caption is not visible
230
- const galleryItemCaption = getByLabelText( /Image caption. Empty/, {
231
- hidden: true,
232
- } );
233
- expect( galleryItemCaption ).not.toBeVisible();
234
-
235
- // Set gallery caption
236
- const captionField = within(
237
- getByLabelText( /Gallery caption. Empty/ )
238
- ).getByPlaceholderText( 'Add caption' );
239
- typeInRichText(
240
- captionField,
241
- '<strong>Bold</strong> <em>italic</em> <s>strikethrough</s> gallery caption'
242
- );
243
-
244
- expect( getEditorHtml() ).toMatchSnapshot();
245
- } );
246
-
247
- // Test case related to TC004 - Add caption to gallery images
248
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc004
249
- it( 'sets caption to gallery items', async () => {
250
- // Initialize with a gallery that contains one item
251
- const { galleryBlock } = await initializeWithGalleryBlock( {
252
- numberOfItems: 1,
253
- media,
254
- } );
255
-
256
- // Select gallery item
257
- const galleryItem = getGalleryItem( galleryBlock, 1 );
258
- fireEvent.press( galleryItem );
259
-
260
- // Set gallery item caption
261
- const captionField =
262
- within( galleryItem ).getByPlaceholderText( 'Add caption' );
263
- typeInRichText(
264
- captionField,
265
- '<strong>Bold</strong> <em>italic</em> <s>strikethrough</s> image caption'
266
- );
267
-
268
- expect( getEditorHtml() ).toMatchSnapshot();
269
- } );
270
-
271
- // Test case related to TC005 - Choose from device (stay in editor) - Successful upload
272
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc005
273
- it( 'successfully uploads items', async () => {
274
- const { notifyUploadingState, notifySucceedState } = setupMediaUpload();
275
- const { expectMediaPickerCall, mediaPickerCallback } =
276
- setupMediaPicker();
277
-
278
- // Initialize with an empty gallery
279
- const screen = await initializeWithGalleryBlock();
280
- const { galleryBlock, getByText } = screen;
281
- const { selectOption } = setupPicker( screen, MEDIA_OPTIONS );
282
-
283
- // Upload images from device
284
- fireEvent.press( getByText( 'Add media' ) );
285
- selectOption( 'Choose from device' );
286
- expectMediaPickerCall( 'DEVICE_MEDIA_LIBRARY', [ 'image' ], true );
287
-
288
- // Return media items picked
289
- await mediaPickerCallback( media[ 0 ], media[ 1 ] );
290
-
291
- // Check that gallery items are visible
292
- await triggerBlockListLayout( galleryBlock );
293
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
294
- const galleryItem2 = getGalleryItem( galleryBlock, 2 );
295
- expect( galleryItem1 ).toBeVisible();
296
- expect( galleryItem2 ).toBeVisible();
297
-
298
- // Check that images are showing a loading state
299
- await notifyUploadingState( media[ 0 ] );
300
- await notifyUploadingState( media[ 1 ] );
301
- expect( within( galleryItem1 ).getByTestId( 'spinner' ) ).toBeVisible();
302
- expect( within( galleryItem2 ).getByTestId( 'spinner' ) ).toBeVisible();
303
-
304
- // Notify that the media items upload succeeded
305
- await notifySucceedState( media[ 0 ] );
306
- await notifySucceedState( media[ 1 ] );
307
-
308
- expect( getEditorHtml() ).toMatchSnapshot();
309
- } );
310
-
311
- // Test case related to TC006 - Choose from device (stay in editor) - Failed upload
312
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc006
313
- it( 'handles failed uploads', async () => {
314
- const { notifyUploadingState, notifyFailedState } = setupMediaUpload();
315
- const { expectMediaPickerCall, mediaPickerCallback } =
316
- setupMediaPicker();
317
-
318
- // Initialize with an empty gallery
319
- const { galleryBlock, getByText } = await initializeWithGalleryBlock();
320
-
321
- // Upload images from device
322
- fireEvent.press( getByText( 'Add media' ) );
323
- fireEvent.press( getByText( 'Choose from device' ) );
324
- expectMediaPickerCall( 'DEVICE_MEDIA_LIBRARY', [ 'image' ], true );
325
-
326
- // Return media items picked
327
- await mediaPickerCallback( media[ 0 ], media[ 1 ] );
328
-
329
- // Check that gallery items are visible
330
- await triggerBlockListLayout( galleryBlock );
331
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
332
- const galleryItem2 = getGalleryItem( galleryBlock, 2 );
333
- expect( galleryItem1 ).toBeVisible();
334
- expect( galleryItem2 ).toBeVisible();
335
-
336
- // Check that images are showing a loading state
337
- await notifyUploadingState( media[ 0 ] );
338
- await notifyUploadingState( media[ 1 ] );
339
- expect( within( galleryItem1 ).getByTestId( 'spinner' ) ).toBeVisible();
340
- expect( within( galleryItem2 ).getByTestId( 'spinner' ) ).toBeVisible();
341
-
342
- // Notify that the media items uploads failed
343
- await notifyFailedState( media[ 0 ] );
344
- await notifyFailedState( media[ 1 ] );
345
-
346
- // Check that failed images provide the option to retry the upload
347
- fireEvent.press( galleryItem1 );
348
- fireEvent.press(
349
- within( galleryItem1 ).getByText( /Failed to insert media/ )
350
- );
351
- expect( requestImageFailedRetryDialog ).toHaveBeenCalledWith(
352
- media[ 0 ].localId
353
- );
354
- fireEvent.press( galleryItem2 );
355
- fireEvent.press(
356
- within( galleryItem2 ).getByText( /Failed to insert media/ )
357
- );
358
- expect( requestImageFailedRetryDialog ).toHaveBeenCalledWith(
359
- media[ 1 ].localId
360
- );
361
-
362
- expect( getEditorHtml() ).toMatchSnapshot();
363
- } );
364
-
365
- // Test case related to TC007 - Take a photo
366
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc007
367
- it( 'takes a photo', async () => {
368
- const { notifyUploadingState, notifySucceedState } = setupMediaUpload();
369
- const { expectMediaPickerCall, mediaPickerCallback } =
370
- setupMediaPicker();
371
-
372
- // Initialize with an empty gallery
373
- const { galleryBlock, getByText } = await initializeWithGalleryBlock();
374
-
375
- // Take a photo
376
- fireEvent.press( getByText( 'Add media' ) );
377
- fireEvent.press( getByText( 'Take a Photo' ) );
378
- expectMediaPickerCall( 'DEVICE_CAMERA', [ 'image' ], true );
379
-
380
- // Return media item from photo taken
381
- await mediaPickerCallback( media[ 0 ] );
382
-
383
- // Check gallery item is visible
384
- await triggerBlockListLayout( galleryBlock );
385
- const galleryItem = getGalleryItem( galleryBlock, 1 );
386
- expect( galleryItem ).toBeVisible();
387
-
388
- // Check image is showing a loading state
389
- await notifyUploadingState( media[ 0 ] );
390
- expect( within( galleryItem ).getByTestId( 'spinner' ) ).toBeVisible();
391
-
392
- // Notify that the media item upload succeeded
393
- await notifySucceedState( media[ 0 ] );
394
-
395
- expect( getEditorHtml() ).toMatchSnapshot();
396
- } );
397
-
398
- // Test case related to TC008 - Choose from the free photo library
399
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc008
400
- it( 'uploads from free photo library', async () => {
401
- const freePhotoMedia = [ ...media ].map( ( item, index ) => ( {
402
- ...item,
403
- localUrl: `https://images.pexels.com/photos/110854/pexels-photo-${
404
- index + 1
405
- }.jpeg`,
406
- } ) );
407
- const { notifyUploadingState, notifySucceedState } = setupMediaUpload();
408
- const { expectMediaPickerCall, mediaPickerCallback } =
409
- setupMediaPicker();
410
-
411
- let otherMediaOptionsCallback;
412
- getOtherMediaOptions.mockImplementation( ( filter, callback ) => {
413
- otherMediaOptionsCallback = callback;
414
- } );
415
-
416
- // Initialize with an empty gallery
417
- const { galleryBlock, getByText } = await initializeWithGalleryBlock();
418
-
419
- // Notify other media options
420
- act( () =>
421
- otherMediaOptionsCallback( [
422
- {
423
- label: 'Free Photo Library',
424
- value: 'stock-photo-library',
425
- },
426
- ] )
427
- );
428
-
429
- // Upload images from free photo library
430
- fireEvent.press( getByText( 'Add media' ) );
431
- fireEvent.press( getByText( 'Free Photo Library' ) );
432
- expectMediaPickerCall( 'stock-photo-library', [ 'image' ], true );
433
-
434
- // Return media items picked
435
- await act( async () =>
436
- mediaPickerCallback( freePhotoMedia[ 0 ], freePhotoMedia[ 1 ] )
437
- );
438
-
439
- // Check that gallery items are visible
440
- await triggerBlockListLayout( galleryBlock );
441
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
442
- const galleryItem2 = getGalleryItem( galleryBlock, 2 );
443
- expect( galleryItem1 ).toBeVisible();
444
- expect( galleryItem2 ).toBeVisible();
445
-
446
- // Check that images are showing a loading state
447
- await notifyUploadingState( freePhotoMedia[ 0 ] );
448
- await notifyUploadingState( freePhotoMedia[ 1 ] );
449
- expect( within( galleryItem1 ).getByTestId( 'spinner' ) ).toBeVisible();
450
- expect( within( galleryItem2 ).getByTestId( 'spinner' ) ).toBeVisible();
451
-
452
- // Notify that the media items upload succeeded
453
- await notifySucceedState( freePhotoMedia[ 0 ] );
454
- await notifySucceedState( freePhotoMedia[ 1 ] );
455
-
456
- expect( getEditorHtml() ).toMatchSnapshot();
457
- } );
458
-
459
- // Test case related to TC009 - Choose from device (stay in editor) - Cancel upload
460
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc009
461
- it( 'cancels uploads', async () => {
462
- const { notifyUploadingState, notifyResetState } = setupMediaUpload();
463
- const { expectMediaPickerCall, mediaPickerCallback } =
464
- setupMediaPicker();
465
-
466
- // Initialize with an empty gallery
467
- const { galleryBlock, getByText } = await initializeWithGalleryBlock();
468
-
469
- // Upload images from device
470
- fireEvent.press( getByText( 'Add media' ) );
471
- fireEvent.press( getByText( 'Choose from device' ) );
472
- expectMediaPickerCall( 'DEVICE_MEDIA_LIBRARY', [ 'image' ], true );
473
-
474
- // Return media items picked
475
- await mediaPickerCallback( media[ 0 ], media[ 1 ] );
476
-
477
- // Check that gallery items are visible
478
- await triggerBlockListLayout( galleryBlock );
479
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
480
- const galleryItem2 = getGalleryItem( galleryBlock, 2 );
481
- expect( galleryItem1 ).toBeVisible();
482
- expect( galleryItem2 ).toBeVisible();
483
-
484
- // Check that images are showing a loading state
485
- await notifyUploadingState( media[ 0 ] );
486
- await notifyUploadingState( media[ 1 ] );
487
- expect( within( galleryItem1 ).getByTestId( 'spinner' ) ).toBeVisible();
488
- expect( within( galleryItem2 ).getByTestId( 'spinner' ) ).toBeVisible();
489
-
490
- // Cancel uploads
491
- fireEvent.press( galleryItem1 );
492
- fireEvent.press( within( galleryItem1 ).getByTestId( 'spinner' ) );
493
- expect( requestImageUploadCancelDialog ).toHaveBeenCalledWith(
494
- media[ 0 ].localId
495
- );
496
- await notifyResetState( media[ 0 ] );
497
-
498
- fireEvent.press( galleryItem2 );
499
- fireEvent.press( within( galleryItem2 ).getByTestId( 'spinner' ) );
500
- expect( requestImageUploadCancelDialog ).toHaveBeenCalledWith(
501
- media[ 1 ].localId
502
- );
503
- await notifyResetState( media[ 1 ] );
504
-
505
- expect( getEditorHtml() ).toMatchSnapshot();
506
- } );
507
-
508
- // Test case related to TC010 - Rearrange images in Gallery
509
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc010
510
- it( 'rearranges gallery items', async () => {
511
- // Initialize with a gallery that contains three items
512
- const { getByLabelText, galleryBlock } =
513
- await initializeWithGalleryBlock( {
514
- numberOfItems: 3,
515
- media,
516
- } );
517
-
518
- // Rearrange items (final disposition will be: Image 3 - Image 1 - Image 2)
519
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
520
- const galleryItem3 = getGalleryItem( galleryBlock, 3 );
521
-
522
- fireEvent.press( galleryItem3 );
523
- await act( () =>
524
- fireEvent.press(
525
- getByLabelText(
526
- /Move block left from position 3 to position 2/
527
- )
528
- )
529
- );
530
-
531
- fireEvent.press( galleryItem1 );
532
- await act( () =>
533
- fireEvent.press(
534
- getByLabelText(
535
- /Move block right from position 1 to position 2/
536
- )
537
- )
538
- );
539
-
540
- expect( getEditorHtml() ).toMatchSnapshot();
541
- } );
542
-
543
- // Test case related to TC011 - Choose from Other Apps (iOS Files App)
544
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc011
545
- it( 'uploads from other apps', async () => {
546
- const otherAppsMedia = [ ...media ].map( ( item, index ) => ( {
547
- ...item,
548
- localUrl: `file:///IMG_${ index + 1 }.JPG`,
549
- } ) );
550
- const { notifyUploadingState, notifySucceedState } = setupMediaUpload();
551
- const { expectMediaPickerCall, mediaPickerCallback } =
552
- setupMediaPicker();
553
-
554
- let otherMediaOptionsCallback;
555
- getOtherMediaOptions.mockImplementation( ( filter, callback ) => {
556
- otherMediaOptionsCallback = callback;
557
- } );
558
-
559
- // Initialize with an empty gallery
560
- const { galleryBlock, getByText } = await initializeWithGalleryBlock();
561
-
562
- // Notify other media options
563
- act( () =>
564
- otherMediaOptionsCallback( [
565
- { label: 'Other Apps', value: 'other-files' },
566
- ] )
567
- );
568
-
569
- // Upload images from other apps
570
- fireEvent.press( getByText( 'Add media' ) );
571
- fireEvent.press( getByText( 'Other Apps' ) );
572
- expectMediaPickerCall( 'other-files', [ 'image' ], true );
573
-
574
- // Return media items picked
575
- await mediaPickerCallback( otherAppsMedia[ 0 ], otherAppsMedia[ 1 ] );
576
-
577
- // Check that gallery items are visible
578
- await triggerBlockListLayout( galleryBlock );
579
- const galleryItem1 = getGalleryItem( galleryBlock, 1 );
580
- const galleryItem2 = getGalleryItem( galleryBlock, 2 );
581
- expect( galleryItem1 ).toBeVisible();
582
- expect( galleryItem2 ).toBeVisible();
583
-
584
- // Check that images are showing a loading state
585
- await notifyUploadingState( otherAppsMedia[ 0 ] );
586
- await notifyUploadingState( otherAppsMedia[ 1 ] );
587
- expect( within( galleryItem1 ).getByTestId( 'spinner' ) ).toBeVisible();
588
- expect( within( galleryItem2 ).getByTestId( 'spinner' ) ).toBeVisible();
589
-
590
- // Notify that the media items upload succeeded
591
- await notifySucceedState( otherAppsMedia[ 0 ] );
592
- await notifySucceedState( otherAppsMedia[ 1 ] );
593
-
594
- expect( getEditorHtml() ).toMatchSnapshot();
595
- } );
596
-
597
- // Test case related to TC012 - Settings - Link
598
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc012
599
- it( 'overrides "Link" setting of gallery items', async () => {
600
- // Initialize with a gallery that contains two items, the latter includes "linkDestination" attribute
601
- const screen = await initializeWithGalleryBlock( {
602
- html: `<!-- wp:gallery {"linkTo":"none"} -->
603
- <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":${ media[ 0 ].localId }} -->
604
- <figure class="wp-block-image"><img src="${ media[ 0 ].localUrl }" alt="" class="wp-image-${ media[ 0 ].localId }"/></figure>
605
- <!-- /wp:image -->
606
-
607
- <!-- wp:image {"id":${ media[ 1 ].localId },"linkDestination":"attachment"} -->
608
- <figure class="wp-block-image"><img src="${ media[ 1 ].localUrl }" alt="" class="wp-image-${ media[ 1 ].localId }"/></figure>
609
- <!-- /wp:image --></figure>
610
- <!-- /wp:gallery -->`,
611
- numberOfItems: 2,
612
- } );
613
- const { getByText } = screen;
614
-
615
- // Set "Link" setting via Gallery block settings
616
- await openBlockSettings( screen );
617
- fireEvent.press( getByText( 'Link' ) );
618
- fireEvent.press( getByText( 'Link images to media files' ) );
619
-
620
- expect( getEditorHtml() ).toMatchSnapshot();
621
- } );
622
-
623
- it( 'does not display MediaReplaceFlow component within the block toolbar', async () => {
624
- const screen = await initializeWithGalleryBlock( {
625
- numberOfItems: 3,
626
- media,
627
- } );
628
- const { queryByTestId } = screen;
629
-
630
- fireEvent.press( getBlock( screen, 'Gallery' ) );
631
-
632
- // Expect the native MediaReplaceFlow component to not be present in the block toolbar
633
- const mediaReplaceFlow = queryByTestId( 'media-replace-flow' );
634
- expect( mediaReplaceFlow ).toBeNull();
635
- } );
636
-
637
- // Test cases related to TC013 - Settings - Columns
638
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc013
639
- describe( 'Columns setting', () => {
640
- it( 'does not increment due to maximum value', async () => {
641
- // Initialize with a gallery that contains three items
642
- const screen = await initializeWithGalleryBlock( {
643
- numberOfItems: 3,
644
- media,
645
- } );
646
- const { getByLabelText } = screen;
647
-
648
- await openBlockSettings( screen );
649
-
650
- // Can't increment due to maximum value
651
- // NOTE: Default columns value is 3
652
- fireEvent(
653
- getByLabelText( /Columns\. Value is 3/ ),
654
- 'accessibilityAction',
655
- {
656
- nativeEvent: { actionName: 'increment' },
657
- }
658
- );
659
- expect( getEditorHtml() ).toMatchSnapshot();
660
- } );
661
-
662
- it( 'decrements columns', async () => {
663
- // Initialize with a gallery that contains three items
664
- const screen = await initializeWithGalleryBlock( {
665
- numberOfItems: 3,
666
- media,
667
- } );
668
- const { getByLabelText } = screen;
669
-
670
- await openBlockSettings( screen );
671
-
672
- // Decrement columns
673
- fireEvent(
674
- getByLabelText( /Columns\. Value is 3/ ),
675
- 'accessibilityAction',
676
- {
677
- nativeEvent: { actionName: 'decrement' },
678
- }
679
- );
680
- expect( getEditorHtml() ).toMatchSnapshot();
681
- } );
682
- } );
683
-
684
- // Test case related to TC014 - Settings - Crop images
685
- // Reference: https://github.com/wordpress-mobile/test-cases/blob/trunk/test-cases/gutenberg/gallery.md#tc014
686
- it( 'disables crop images setting', async () => {
687
- // Initialize with a gallery that contains one item
688
- const screen = await initializeWithGalleryBlock( {
689
- numberOfItems: 1,
690
- media,
691
- } );
692
- const { getByText } = screen;
693
-
694
- await openBlockSettings( screen );
695
-
696
- // Disable crop images setting
697
- fireEvent.press( getByText( 'Crop images to fit' ) );
698
- expect( getEditorHtml() ).toMatchSnapshot();
699
- } );
700
- } );