@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,999 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- act,
6
- addBlock,
7
- dismissModal,
8
- getBlock,
9
- typeInRichText,
10
- fireEvent,
11
- getEditorHtml,
12
- initializeEditor,
13
- render,
14
- setupCoreBlocks,
15
- triggerBlockListLayout,
16
- waitFor,
17
- within,
18
- withFakeTimers,
19
- waitForElementToBeRemoved,
20
- waitForModalVisible,
21
- } from 'test/helpers';
22
- import Clipboard from '@react-native-clipboard/clipboard';
23
- import TextInputState from 'react-native/Libraries/Components/TextInput/TextInputState';
24
-
25
- /**
26
- * WordPress dependencies
27
- */
28
- import { BACKSPACE, ENTER } from '@wordpress/keycodes';
29
-
30
- /**
31
- * Internal dependencies
32
- */
33
- import Paragraph from '../edit';
34
-
35
- // Mock debounce to prevent potentially belated state updates.
36
- jest.mock( '@wordpress/compose/src/utils/debounce', () => ( {
37
- debounce: ( fn ) => {
38
- fn.cancel = jest.fn();
39
- return fn;
40
- },
41
- } ) );
42
- // Mock link suggestions that are fetched by the link picker
43
- // when typing a search query.
44
- jest.mock( '@wordpress/core-data/src/fetch', () => ( {
45
- __experimentalFetchLinkSuggestions: jest.fn().mockResolvedValue( [ {} ] ),
46
- } ) );
47
-
48
- setupCoreBlocks();
49
-
50
- const getTestComponentWithContent = ( content ) => {
51
- return render(
52
- <Paragraph
53
- attributes={ { content } }
54
- setAttributes={ jest.fn() }
55
- onReplace={ jest.fn() }
56
- insertBlocksAfter={ jest.fn() }
57
- />
58
- );
59
- };
60
-
61
- describe( 'Paragraph block', () => {
62
- it( 'should render without crashing and match snapshot', () => {
63
- const screen = getTestComponentWithContent( '' );
64
- expect( screen.toJSON() ).toMatchSnapshot();
65
- } );
66
-
67
- it( 'should prevent deleting the first Paragraph block when pressing backspace at the start', async () => {
68
- // Arrange
69
- const screen = await initializeEditor();
70
- await addBlock( screen, 'Paragraph' );
71
-
72
- // Act
73
- const paragraphBlock = getBlock( screen, 'Paragraph' );
74
- fireEvent.press( paragraphBlock );
75
- const paragraphTextInput =
76
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
77
- typeInRichText(
78
- paragraphTextInput,
79
- 'A quick brown fox jumps over the lazy dog.',
80
- { finalSelectionStart: 0, finalSelectionEnd: 0 }
81
- );
82
-
83
- fireEvent( paragraphTextInput, 'onKeyDown', {
84
- nativeEvent: {},
85
- preventDefault() {},
86
- keyCode: BACKSPACE,
87
- } );
88
-
89
- // Assert
90
- expect( getEditorHtml() ).toMatchSnapshot();
91
- } );
92
-
93
- it( 'should be able to use a prefix to create a Heading block', async () => {
94
- const screen = await initializeEditor();
95
- await addBlock( screen, 'Paragraph' );
96
- const text = '# ';
97
-
98
- const paragraphBlock = getBlock( screen, 'Paragraph' );
99
- fireEvent.press( paragraphBlock );
100
- const paragraphTextInput =
101
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
102
- typeInRichText( paragraphTextInput, text, {
103
- finalSelectionStart: 1,
104
- finalSelectionEnd: 1,
105
- } );
106
-
107
- fireEvent( paragraphTextInput, 'onChange', {
108
- nativeEvent: { text },
109
- preventDefault() {},
110
- } );
111
-
112
- const headingBlock = getBlock( screen, 'Heading' );
113
- expect( headingBlock ).toBeVisible();
114
- expect( getEditorHtml() ).toMatchSnapshot();
115
- } );
116
-
117
- it( 'should be able to use a prefix to create a Quote block', async () => {
118
- const screen = await initializeEditor();
119
- await addBlock( screen, 'Paragraph' );
120
- const text = '> ';
121
-
122
- const paragraphBlock = getBlock( screen, 'Paragraph' );
123
- fireEvent.press( paragraphBlock );
124
- const paragraphTextInput =
125
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
126
- typeInRichText( paragraphTextInput, text, {
127
- finalSelectionStart: 1,
128
- finalSelectionEnd: 1,
129
- } );
130
-
131
- fireEvent( paragraphTextInput, 'onChange', {
132
- nativeEvent: { text },
133
- preventDefault() {},
134
- } );
135
- const quoteBlock = getBlock( screen, 'Quote' );
136
- await triggerBlockListLayout( quoteBlock );
137
-
138
- expect( quoteBlock ).toBeVisible();
139
- expect( getEditorHtml() ).toMatchSnapshot();
140
- } );
141
-
142
- it( 'should be able to use a prefix to create a List block', async () => {
143
- const screen = await initializeEditor();
144
- await addBlock( screen, 'Paragraph' );
145
- const text = '- ';
146
-
147
- const paragraphBlock = getBlock( screen, 'Paragraph' );
148
- fireEvent.press( paragraphBlock );
149
- const paragraphTextInput =
150
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
151
- typeInRichText( paragraphTextInput, text, {
152
- finalSelectionStart: 1,
153
- finalSelectionEnd: 1,
154
- } );
155
-
156
- fireEvent( paragraphTextInput, 'onChange', {
157
- nativeEvent: { text },
158
- preventDefault() {},
159
- } );
160
- const listBlock = getBlock( screen, 'List' );
161
- await triggerBlockListLayout( listBlock );
162
-
163
- expect( listBlock ).toBeVisible();
164
- expect( getEditorHtml() ).toMatchSnapshot();
165
- } );
166
-
167
- it( 'should be able to use a prefix to create a numbered List block', async () => {
168
- const screen = await initializeEditor();
169
- await addBlock( screen, 'Paragraph' );
170
- const text = '1. ';
171
-
172
- const paragraphBlock = getBlock( screen, 'Paragraph' );
173
- fireEvent.press( paragraphBlock );
174
- const paragraphTextInput =
175
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
176
- typeInRichText( paragraphTextInput, text, {
177
- finalSelectionStart: 2,
178
- finalSelectionEnd: 2,
179
- } );
180
-
181
- fireEvent( paragraphTextInput, 'onChange', {
182
- nativeEvent: { text },
183
- preventDefault() {},
184
- } );
185
- const listBlock = getBlock( screen, 'List' );
186
- await triggerBlockListLayout( listBlock );
187
-
188
- expect( listBlock ).toBeVisible();
189
- expect( getEditorHtml() ).toMatchSnapshot();
190
- } );
191
-
192
- it( 'should bold text', async () => {
193
- // Arrange
194
- const screen = await initializeEditor();
195
- await addBlock( screen, 'Paragraph' );
196
-
197
- // Act
198
- const paragraphBlock = getBlock( screen, 'Paragraph' );
199
- fireEvent.press( paragraphBlock );
200
- const paragraphTextInput =
201
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
202
- typeInRichText(
203
- paragraphTextInput,
204
- 'A quick brown fox jumps over the lazy dog.',
205
- { finalSelectionStart: 2, finalSelectionEnd: 7 }
206
- );
207
- fireEvent.press( screen.getByLabelText( 'Bold' ) );
208
-
209
- // Assert
210
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
211
- "<!-- wp:paragraph -->
212
- <p>A <strong>quick</strong> brown fox jumps over the lazy dog.</p>
213
- <!-- /wp:paragraph -->"
214
- ` );
215
- } );
216
-
217
- it( 'should italicize text', async () => {
218
- // Arrange
219
- const screen = await initializeEditor();
220
- await addBlock( screen, 'Paragraph' );
221
-
222
- // Act
223
- const paragraphBlock = getBlock( screen, 'Paragraph' );
224
- fireEvent.press( paragraphBlock );
225
- const paragraphTextInput =
226
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
227
- typeInRichText(
228
- paragraphTextInput,
229
- 'A quick brown fox jumps over the lazy dog.',
230
- { finalSelectionStart: 2, finalSelectionEnd: 7 }
231
- );
232
- fireEvent.press( screen.getByLabelText( 'Italic' ) );
233
-
234
- // Assert
235
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
236
- "<!-- wp:paragraph -->
237
- <p>A <em>quick</em> brown fox jumps over the lazy dog.</p>
238
- <!-- /wp:paragraph -->"
239
- ` );
240
- } );
241
-
242
- it( 'should strikethrough text', async () => {
243
- // Arrange
244
- const screen = await initializeEditor();
245
- await addBlock( screen, 'Paragraph' );
246
-
247
- // Act
248
- const paragraphBlock = getBlock( screen, 'Paragraph' );
249
- fireEvent.press( paragraphBlock );
250
- const paragraphTextInput =
251
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
252
- typeInRichText(
253
- paragraphTextInput,
254
- 'A quick brown fox jumps over the lazy dog.',
255
- { finalSelectionStart: 2, finalSelectionEnd: 7 }
256
- );
257
- fireEvent.press( screen.getByLabelText( 'Strikethrough' ) );
258
-
259
- // Assert
260
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
261
- "<!-- wp:paragraph -->
262
- <p>A <s>quick</s> brown fox jumps over the lazy dog.</p>
263
- <!-- /wp:paragraph -->"
264
- ` );
265
- } );
266
-
267
- it( 'should left align text', async () => {
268
- // Arrange
269
- const screen = await initializeEditor();
270
- await addBlock( screen, 'Paragraph' );
271
-
272
- // Act
273
- const paragraphBlock = getBlock( screen, 'Paragraph' );
274
- fireEvent.press( paragraphBlock );
275
- const paragraphTextInput =
276
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
277
- typeInRichText(
278
- paragraphTextInput,
279
- 'A quick brown fox jumps over the lazy dog.'
280
- );
281
- fireEvent.press( screen.getByLabelText( 'Align text' ) );
282
- fireEvent.press( screen.getByLabelText( 'Align text left' ) );
283
-
284
- // Assert
285
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
286
- "<!-- wp:paragraph {"style":{"typography":{"textAlign":"left"}}} -->
287
- <p class="has-text-align-left">A quick brown fox jumps over the lazy dog.</p>
288
- <!-- /wp:paragraph -->"
289
- ` );
290
- } );
291
-
292
- it( 'should center align text', async () => {
293
- // Arrange
294
- const screen = await initializeEditor();
295
- await addBlock( screen, 'Paragraph' );
296
-
297
- // Act
298
- const paragraphBlock = getBlock( screen, 'Paragraph' );
299
- fireEvent.press( paragraphBlock );
300
- const paragraphTextInput =
301
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
302
- typeInRichText(
303
- paragraphTextInput,
304
- 'A quick brown fox jumps over the lazy dog.'
305
- );
306
- fireEvent.press( screen.getByLabelText( 'Align text' ) );
307
- fireEvent.press( screen.getByLabelText( 'Align text center' ) );
308
-
309
- // Assert
310
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
311
- "<!-- wp:paragraph {"style":{"typography":{"textAlign":"center"}}} -->
312
- <p class="has-text-align-center">A quick brown fox jumps over the lazy dog.</p>
313
- <!-- /wp:paragraph -->"
314
- ` );
315
- } );
316
-
317
- it( 'should right align text', async () => {
318
- // Arrange
319
- const screen = await initializeEditor();
320
- await addBlock( screen, 'Paragraph' );
321
-
322
- // Act
323
- const paragraphBlock = getBlock( screen, 'Paragraph' );
324
- fireEvent.press( paragraphBlock );
325
- const paragraphTextInput =
326
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
327
- typeInRichText(
328
- paragraphTextInput,
329
- 'A quick brown fox jumps over the lazy dog.'
330
- );
331
- fireEvent.press( screen.getByLabelText( 'Align text' ) );
332
- fireEvent.press( screen.getByLabelText( 'Align text right' ) );
333
-
334
- // Assert
335
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
336
- "<!-- wp:paragraph {"style":{"typography":{"textAlign":"right"}}} -->
337
- <p class="has-text-align-right">A quick brown fox jumps over the lazy dog.</p>
338
- <!-- /wp:paragraph -->"
339
- ` );
340
- } );
341
-
342
- it( 'should inherit parent alignment', async () => {
343
- // Arrange
344
- const screen = await initializeEditor();
345
- await addBlock( screen, 'Quote' );
346
- await triggerBlockListLayout( getBlock( screen, 'Quote' ) );
347
-
348
- // Act
349
- const paragraphBlock = getBlock( screen, 'Paragraph' );
350
- fireEvent.press( paragraphBlock );
351
- const paragraphTextInput =
352
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
353
- typeInRichText(
354
- paragraphTextInput,
355
- 'A quick brown fox jumps over the lazy dog.'
356
- );
357
- fireEvent.press( screen.getByLabelText( 'Navigate Up' ) );
358
- fireEvent.press( screen.getByLabelText( 'Align text' ) );
359
- fireEvent.press( screen.getByLabelText( 'Align text right' ) );
360
-
361
- // Assert
362
- // This not an ideal assertion, as it relies implementation details of the
363
- // component: prop names. However, the only aspect we can assert is the prop
364
- // passed to Aztec, the native module controlling visual alignment. A less
365
- // brittle alternative might be snapshotting, but RNTL does not yet support
366
- // focused snapshots, which means the snapshot would be huge.
367
- // https://github.com/facebook/react/pull/25329
368
- expect(
369
- screen.UNSAFE_queryAllByProps( {
370
- value: '<p>A quick brown fox jumps over the lazy dog.</p>',
371
- placeholder: 'Start writing…',
372
- textAlign: 'right',
373
- } ).length
374
- ).toBe( 2 ); // One for Aztec mock, one for the TextInput.
375
- } );
376
-
377
- it( 'should preserve alignment when split', async () => {
378
- // Arrange
379
- const screen = await initializeEditor();
380
- await addBlock( screen, 'Paragraph' );
381
-
382
- // Act
383
- const paragraphBlock = getBlock( screen, 'Paragraph' );
384
- fireEvent.press( paragraphBlock );
385
- fireEvent.press( screen.getByLabelText( 'Align text' ) );
386
- fireEvent.press( screen.getByLabelText( 'Align text center' ) );
387
- const paragraphTextInput =
388
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
389
- const string = 'A quick brown fox jumps over the lazy dog.';
390
- typeInRichText( paragraphTextInput, string, {
391
- finalSelectionStart: string.length / 2,
392
- finalSelectionEnd: string.length / 2,
393
- } );
394
- fireEvent( paragraphTextInput, 'onKeyDown', {
395
- nativeEvent: {},
396
- preventDefault() {},
397
- keyCode: ENTER,
398
- } );
399
-
400
- // Assert
401
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
402
- "<!-- wp:paragraph {"style":{"typography":{"textAlign":"center"}}} -->
403
- <p class="has-text-align-center">A quick brown fox jum</p>
404
- <!-- /wp:paragraph -->
405
-
406
- <!-- wp:paragraph {"style":{"typography":{"textAlign":"center"}}} -->
407
- <p class="has-text-align-center">ps over the lazy dog.</p>
408
- <!-- /wp:paragraph -->"
409
- ` );
410
- } );
411
-
412
- it( 'should link text without selection', async () => {
413
- // Arrange
414
- const screen = await initializeEditor();
415
- await addBlock( screen, 'Paragraph' );
416
-
417
- // Act
418
- const paragraphBlock = getBlock( screen, 'Paragraph' );
419
- fireEvent.press( paragraphBlock );
420
- fireEvent.press( screen.getByLabelText( 'Link' ) );
421
-
422
- fireEvent.changeText(
423
- screen.getByPlaceholderText( 'Add link text' ),
424
- 'WordPress'
425
- );
426
- fireEvent.press(
427
- screen.getByLabelText( 'Link to, Search or type URL' )
428
- );
429
- const typeURLInput = await waitFor( () =>
430
- screen.getByPlaceholderText( 'Search or type URL' )
431
- );
432
- fireEvent.changeText( typeURLInput, 'wordpress.org' );
433
- await waitForElementToBeRemoved( () =>
434
- screen.getByTestId( 'link-picker-loading' )
435
- );
436
- // Back navigation from link picker uses `setTimeout`
437
- await withFakeTimers( () => {
438
- fireEvent.press( screen.getByLabelText( 'Apply' ) );
439
- act( () => jest.runOnlyPendingTimers() );
440
- } );
441
-
442
- // Assert
443
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
444
- "<!-- wp:paragraph -->
445
- <p><a href="http://wordpress.org">WordPress</a></p>
446
- <!-- /wp:paragraph -->"
447
- ` );
448
- } );
449
-
450
- it( 'should link text with selection', async () => {
451
- // Arrange
452
- const screen = await initializeEditor();
453
- await addBlock( screen, 'Paragraph' );
454
-
455
- // Act
456
- const paragraphBlock = getBlock( screen, 'Paragraph' );
457
- fireEvent.press( paragraphBlock );
458
- const paragraphTextInput =
459
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
460
- typeInRichText(
461
- paragraphTextInput,
462
- 'A quick brown fox jumps over the lazy dog.',
463
- {
464
- finalSelectionStart: 2,
465
- finalSelectionEnd: 7,
466
- }
467
- );
468
- fireEvent.press( screen.getByLabelText( 'Link' ) );
469
- fireEvent.press(
470
- screen.getByLabelText( 'Link to, Search or type URL' )
471
- );
472
- const typeURLInput = await waitFor( () =>
473
- screen.getByPlaceholderText( 'Search or type URL' )
474
- );
475
- fireEvent.changeText( typeURLInput, 'wordpress.org' );
476
- await waitForElementToBeRemoved( () =>
477
- screen.getByTestId( 'link-picker-loading' )
478
- );
479
- // Back navigation from link picker uses `setTimeout`
480
- await withFakeTimers( () => {
481
- fireEvent.press( screen.getByLabelText( 'Apply' ) );
482
- act( () => jest.runOnlyPendingTimers() );
483
- } );
484
-
485
- // Assert
486
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
487
- "<!-- wp:paragraph -->
488
- <p>A <a href="http://wordpress.org">quick</a> brown fox jumps over the lazy dog.</p>
489
- <!-- /wp:paragraph -->"
490
- ` );
491
- } );
492
-
493
- it( 'should link text with clipboard contents', async () => {
494
- // Arrange
495
- Clipboard.getString.mockResolvedValue( 'https://wordpress.org' );
496
- const screen = await initializeEditor();
497
- await addBlock( screen, 'Paragraph' );
498
-
499
- // Act
500
- const paragraphBlock = getBlock( screen, 'Paragraph' );
501
- fireEvent.press( paragraphBlock );
502
- const paragraphTextInput =
503
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
504
- typeInRichText(
505
- paragraphTextInput,
506
- 'A quick brown fox jumps over the lazy dog.',
507
- {
508
- finalSelectionStart: 2,
509
- finalSelectionEnd: 7,
510
- }
511
- );
512
- // Await React Navigation: https://github.com/WordPress/gutenberg/issues/35685#issuecomment-961919931
513
- await act( () => fireEvent.press( screen.getByLabelText( 'Link' ) ) );
514
- // Await React Navigation: https://github.com/WordPress/gutenberg/issues/35685#issuecomment-961919931
515
- await act( () =>
516
- fireEvent.press(
517
- screen.getByLabelText( 'Link to, Search or type URL' )
518
- )
519
- );
520
-
521
- // Assert
522
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
523
- "<!-- wp:paragraph -->
524
- <p>A <a href="https://wordpress.org">quick</a> brown fox jumps over the lazy dog.</p>
525
- <!-- /wp:paragraph -->"
526
- ` );
527
-
528
- Clipboard.getString.mockReset();
529
- } );
530
-
531
- it( 'should not remove leading or trailing whitespace when formatting', async () => {
532
- // Arrange
533
- const screen = await initializeEditor();
534
- await addBlock( screen, 'Paragraph' );
535
-
536
- // Act
537
- const paragraphBlock = getBlock( screen, 'Paragraph' );
538
- fireEvent.press( paragraphBlock );
539
- const paragraphTextInput =
540
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
541
- typeInRichText( paragraphTextInput, ' some text ', {
542
- finalSelectionStart: 5,
543
- finalSelectionEnd: 14,
544
- } );
545
- fireEvent.press( screen.getByLabelText( 'Italic' ) );
546
-
547
- // Assert
548
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
549
- "<!-- wp:paragraph -->
550
- <p> <em>some text</em> </p>
551
- <!-- /wp:paragraph -->"
552
- ` );
553
- } );
554
-
555
- it( 'should set a text color', async () => {
556
- // Arrange
557
- const screen = await initializeEditor();
558
- await addBlock( screen, 'Paragraph' );
559
-
560
- // Act
561
- const paragraphBlock = getBlock( screen, 'Paragraph' );
562
- fireEvent.press( paragraphBlock );
563
- const paragraphTextInput =
564
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
565
- typeInRichText(
566
- paragraphTextInput,
567
- 'A quick brown fox jumps over the lazy dog.'
568
- );
569
- // Open Block Settings.
570
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
571
-
572
- // Wait for Block Settings to be visible.
573
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
574
- await waitFor( () => blockSettingsModal.props.isVisible );
575
-
576
- // Open Text color settings
577
- fireEvent.press( screen.getByLabelText( 'Text, Default' ) );
578
-
579
- // Tap one color
580
- fireEvent.press( screen.getByLabelText( 'Pale pink' ) );
581
- // TODO(jest-console): Fix the warning and remove the expect below.
582
- expect( console ).toHaveWarnedWith(
583
- `Non-serializable values were found in the navigation state. Check:\n\nColor > params.onColorChange (Function)\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`
584
- );
585
-
586
- // Dismiss the Block Settings modal.
587
- fireEvent( blockSettingsModal, 'backdropPress' );
588
-
589
- // Assert
590
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
591
- "<!-- wp:paragraph {"textColor":"pale-pink"} -->
592
- <p class="has-pale-pink-color has-text-color">A quick brown fox jumps over the lazy dog.</p>
593
- <!-- /wp:paragraph -->"
594
- ` );
595
- } );
596
-
597
- it( 'should set a background color', async () => {
598
- // Arrange
599
- const screen = await initializeEditor();
600
- await addBlock( screen, 'Paragraph' );
601
-
602
- // Act
603
- const paragraphBlock = getBlock( screen, 'Paragraph' );
604
- fireEvent.press( paragraphBlock );
605
- const paragraphTextInput =
606
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
607
- typeInRichText(
608
- paragraphTextInput,
609
- 'A quick brown fox jumps over the lazy dog.'
610
- );
611
- // Open Block Settings.
612
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
613
-
614
- // Wait for Block Settings to be visible.
615
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
616
- await waitFor( () => blockSettingsModal.props.isVisible );
617
-
618
- // Open Background color settings
619
- fireEvent.press( screen.getByLabelText( 'Background, Default' ) );
620
-
621
- // Tap one color
622
- fireEvent.press( screen.getByLabelText( 'Luminous vivid orange' ) );
623
-
624
- // Dismiss the Block Settings modal.
625
- fireEvent( blockSettingsModal, 'backdropPress' );
626
-
627
- // Assert
628
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
629
- "<!-- wp:paragraph {"backgroundColor":"luminous-vivid-orange"} -->
630
- <p class="has-luminous-vivid-orange-background-color has-background">A quick brown fox jumps over the lazy dog.</p>
631
- <!-- /wp:paragraph -->"
632
- ` );
633
- } );
634
-
635
- it( 'should set a text and background color', async () => {
636
- // Arrange
637
- const screen = await initializeEditor();
638
- await addBlock( screen, 'Paragraph' );
639
-
640
- // Act
641
- const paragraphBlock = getBlock( screen, 'Paragraph' );
642
- fireEvent.press( paragraphBlock );
643
- const paragraphTextInput =
644
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
645
- typeInRichText(
646
- paragraphTextInput,
647
- 'A quick brown fox jumps over the lazy dog.'
648
- );
649
- // Open Block Settings.
650
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
651
-
652
- // Wait for Block Settings to be visible.
653
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
654
- await waitFor( () => blockSettingsModal.props.isVisible );
655
-
656
- // Open Text color settings
657
- fireEvent.press( screen.getByLabelText( 'Text, Default' ) );
658
-
659
- // Tap one color
660
- fireEvent.press( screen.getByLabelText( 'White' ) );
661
-
662
- // Go back to the settings menu
663
- fireEvent.press( screen.getByLabelText( 'Go back' ) );
664
-
665
- // Open Background color settings
666
- fireEvent.press( screen.getByLabelText( 'Background, Default' ) );
667
-
668
- // Tap one color
669
- fireEvent.press( screen.getByLabelText( 'Luminous vivid orange' ) );
670
-
671
- // Dismiss the Block Settings modal.
672
- fireEvent( blockSettingsModal, 'backdropPress' );
673
-
674
- // Assert
675
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
676
- "<!-- wp:paragraph {"backgroundColor":"luminous-vivid-orange","textColor":"white"} -->
677
- <p class="has-white-color has-luminous-vivid-orange-background-color has-text-color has-background">A quick brown fox jumps over the lazy dog.</p>
678
- <!-- /wp:paragraph -->"
679
- ` );
680
- } );
681
-
682
- it( 'should remove text and background colors', async () => {
683
- // Arrange
684
- const screen = await initializeEditor( {
685
- initialHtml: `<!-- wp:paragraph {"backgroundColor":"luminous-vivid-orange","textColor":"white"} -->
686
- <p class="has-white-color has-luminous-vivid-orange-background-color has-text-color has-background">A quick brown fox jumps over the lazy dog.</p>
687
- <!-- /wp:paragraph -->`,
688
- } );
689
-
690
- // Act
691
- const paragraphBlock = getBlock( screen, 'Paragraph' );
692
- fireEvent.press( paragraphBlock );
693
-
694
- // Open Block Settings.
695
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
696
-
697
- // Wait for Block Settings to be visible.
698
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
699
- await waitFor( () => blockSettingsModal.props.isVisible );
700
-
701
- // Open Text color settings
702
- fireEvent.press( screen.getByLabelText( 'Text. Empty' ) );
703
-
704
- // Reset color
705
- fireEvent.press( await screen.findByText( 'Reset' ) );
706
-
707
- // Go back to the settings menu
708
- fireEvent.press( screen.getByLabelText( 'Go back' ) );
709
-
710
- // Open Background color settings
711
- fireEvent.press( screen.getByLabelText( 'Background. Empty' ) );
712
-
713
- // Reset color
714
- fireEvent.press( await screen.findByText( 'Reset' ) );
715
-
716
- // Dismiss the Block Settings modal.
717
- fireEvent( blockSettingsModal, 'backdropPress' );
718
-
719
- // Assert
720
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
721
- "<!-- wp:paragraph -->
722
- <p>A quick brown fox jumps over the lazy dog.</p>
723
- <!-- /wp:paragraph -->"
724
- ` );
725
- } );
726
-
727
- it( 'should not have a gradient background color option', async () => {
728
- // Arrange
729
- const screen = await initializeEditor();
730
- await addBlock( screen, 'Paragraph' );
731
-
732
- // Act
733
- const paragraphBlock = getBlock( screen, 'Paragraph' );
734
- fireEvent.press( paragraphBlock );
735
- const paragraphTextInput =
736
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
737
- typeInRichText(
738
- paragraphTextInput,
739
- 'A quick brown fox jumps over the lazy dog.'
740
- );
741
- // Open Block Settings.
742
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
743
-
744
- // Wait for Block Settings to be visible.
745
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
746
- await waitFor( () => blockSettingsModal.props.isVisible );
747
-
748
- // Open Background color settings
749
- fireEvent.press( screen.getByLabelText( 'Background, Default' ) );
750
-
751
- // Assert
752
- const colorButton = screen.getByLabelText( 'Luminous vivid orange' );
753
- expect( colorButton ).toBeDefined();
754
-
755
- const gradientButton = screen.queryByLabelText( 'Gradient' );
756
- expect( gradientButton ).toBeNull();
757
- } );
758
-
759
- it( 'should set a theme text color', async () => {
760
- // Arrange
761
- const screen = await initializeEditor( { withGlobalStyles: true } );
762
- await addBlock( screen, 'Paragraph' );
763
-
764
- // Act
765
- const paragraphBlock = getBlock( screen, 'Paragraph' );
766
- fireEvent.press( paragraphBlock );
767
- const paragraphTextInput =
768
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
769
- typeInRichText(
770
- paragraphTextInput,
771
- 'A quick brown fox jumps over the lazy dog.'
772
- );
773
- // Open Block Settings.
774
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
775
-
776
- // Wait for Block Settings to be visible.
777
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
778
- await waitFor( () => blockSettingsModal.props.isVisible );
779
-
780
- // Open Text color settings
781
- fireEvent.press( screen.getByLabelText( 'Text, Default' ) );
782
-
783
- // Tap one color
784
- fireEvent.press( screen.getByLabelText( 'Tertiary' ) );
785
-
786
- // Dismiss the Block Settings modal.
787
- fireEvent( blockSettingsModal, 'backdropPress' );
788
-
789
- // Assert
790
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
791
- "<!-- wp:paragraph {"textColor":"tertiary"} -->
792
- <p class="has-tertiary-color has-text-color">A quick brown fox jumps over the lazy dog.</p>
793
- <!-- /wp:paragraph -->"
794
- ` );
795
- } );
796
-
797
- it( 'should show the contrast check warning', async () => {
798
- // Arrange
799
- const screen = await initializeEditor( {
800
- initialHtml: `<!-- wp:paragraph {"backgroundColor":"white","textColor":"white"} -->
801
- <p class="has-white-color has-white-background-color has-text-color has-background">A quick brown fox jumps over the lazy dog.</p>
802
- <!-- /wp:paragraph -->`,
803
- } );
804
-
805
- // Act
806
- const paragraphBlock = getBlock( screen, 'Paragraph' );
807
- fireEvent.press( paragraphBlock );
808
-
809
- // Open Block Settings.
810
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
811
-
812
- // Wait for Block Settings to be visible.
813
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
814
- await waitFor( () => blockSettingsModal.props.isVisible );
815
-
816
- // Assert
817
- const contrastCheckElement = screen.getByText(
818
- /This color combination/
819
- );
820
- expect( contrastCheckElement ).toBeDefined();
821
- } );
822
-
823
- it( 'should highlight text with selection', async () => {
824
- // Arrange
825
- const screen = await initializeEditor( { withGlobalStyles: true } );
826
- await addBlock( screen, 'Paragraph' );
827
-
828
- // Act
829
- const paragraphBlock = getBlock( screen, 'Paragraph' );
830
- fireEvent.press( paragraphBlock );
831
- const paragraphTextInput =
832
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
833
- typeInRichText(
834
- paragraphTextInput,
835
- 'A quick brown fox jumps over the lazy dog.',
836
- { finalSelectionStart: 2, finalSelectionEnd: 7 }
837
- );
838
- fireEvent.press( screen.getByLabelText( 'Text color' ) );
839
- fireEvent.press( await screen.findByLabelText( 'Tertiary' ) );
840
- // TODO(jest-console): Fix the warning and remove the expect below.
841
- expect( console ).toHaveWarnedWith(
842
- `Non-serializable values were found in the navigation state. Check:\n\ntext-color > Palette > params.onColorChange (Function)\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`
843
- );
844
-
845
- // Assert
846
- expect( getEditorHtml() ).toMatchInlineSnapshot( `
847
- "<!-- wp:paragraph -->
848
- <p>A <mark style="background-color:rgba(0, 0, 0, 0);color:#2411a4" class="has-inline-color has-tertiary-color">quick</mark> brown fox jumps over the lazy dog.</p>
849
- <!-- /wp:paragraph -->"
850
- ` );
851
- } );
852
-
853
- it( 'should show the expected font sizes values', async () => {
854
- // Arrange
855
- const screen = await initializeEditor( { withGlobalStyles: true } );
856
- await addBlock( screen, 'Paragraph' );
857
-
858
- // Act
859
- const paragraphBlock = getBlock( screen, 'Paragraph' );
860
- fireEvent.press( paragraphBlock );
861
- const paragraphTextInput =
862
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
863
- typeInRichText(
864
- paragraphTextInput,
865
- 'A quick brown fox jumps over the lazy dog.'
866
- );
867
- // Open Block Settings.
868
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
869
-
870
- // Wait for Block Settings to be visible.
871
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
872
- await waitForModalVisible( blockSettingsModal );
873
-
874
- // Open Font size settings
875
- fireEvent.press( screen.getByLabelText( 'Font Size, Custom' ) );
876
- await waitFor( () => screen.getByLabelText( 'Selected: Default' ) );
877
-
878
- // Assert
879
- const modalContent = within( blockSettingsModal );
880
- expect( modalContent.getByLabelText( 'Small' ) ).toBeVisible();
881
- expect( modalContent.getByText( '14px' ) ).toBeVisible();
882
- expect( modalContent.getByLabelText( 'Medium' ) ).toBeVisible();
883
- expect( modalContent.getByText( '17px' ) ).toBeVisible();
884
- expect( modalContent.getByLabelText( 'Large' ) ).toBeVisible();
885
- expect( modalContent.getByText( '30px' ) ).toBeVisible();
886
- expect( modalContent.getByLabelText( 'Extra Large' ) ).toBeVisible();
887
- expect( modalContent.getByText( '40px' ) ).toBeVisible();
888
- expect(
889
- modalContent.getByLabelText( 'Extra Extra Large' )
890
- ).toBeVisible();
891
- expect( modalContent.getByText( '52px' ) ).toBeVisible();
892
- } );
893
-
894
- it( 'should set a font size value', async () => {
895
- // Arrange
896
- const screen = await initializeEditor( { withGlobalStyles: true } );
897
- await addBlock( screen, 'Paragraph' );
898
-
899
- // Act
900
- const paragraphBlock = getBlock( screen, 'Paragraph' );
901
- fireEvent.press( paragraphBlock );
902
- const paragraphTextInput =
903
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
904
- typeInRichText(
905
- paragraphTextInput,
906
- 'A quick brown fox jumps over the lazy dog.'
907
- );
908
- // Open Block Settings.
909
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
910
-
911
- // Wait for Block Settings to be visible.
912
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
913
- await waitForModalVisible( blockSettingsModal );
914
-
915
- // Open Font size settings
916
- fireEvent.press( screen.getByLabelText( 'Font Size, Custom' ) );
917
-
918
- // Tap one font size
919
- fireEvent.press( screen.getByLabelText( 'Large' ) );
920
-
921
- // Dismiss the Block Settings modal.
922
- await dismissModal( blockSettingsModal );
923
-
924
- // Assert
925
- expect( getEditorHtml() ).toMatchSnapshot();
926
- } );
927
-
928
- it( 'should set a line height value', async () => {
929
- // Arrange
930
- const screen = await initializeEditor( { withGlobalStyles: true } );
931
- await addBlock( screen, 'Paragraph' );
932
-
933
- // Act
934
- const paragraphBlock = getBlock( screen, 'Paragraph' );
935
- fireEvent.press( paragraphBlock );
936
- const paragraphTextInput =
937
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
938
- typeInRichText(
939
- paragraphTextInput,
940
- 'A quick brown fox jumps over the lazy dog.'
941
- );
942
- // Open Block Settings.
943
- fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
944
-
945
- // Wait for Block Settings to be visible.
946
- const blockSettingsModal = screen.getByTestId( 'block-settings-modal' );
947
- await waitForModalVisible( blockSettingsModal );
948
-
949
- const lineHeightControl = screen.getByLabelText( /Line Height/ );
950
- fireEvent.press(
951
- within( lineHeightControl ).getByText( '1.5', { hidden: true } )
952
- );
953
- const lineHeightTextInput = within(
954
- lineHeightControl
955
- ).getByDisplayValue( '1.5', { hidden: true } );
956
- fireEvent.changeText( lineHeightTextInput, '1.8' );
957
-
958
- // Dismiss the Block Settings modal.
959
- await dismissModal( blockSettingsModal );
960
-
961
- // Assert
962
- expect( getEditorHtml() ).toMatchSnapshot();
963
- } );
964
-
965
- it( 'should focus on the previous Paragraph block when backspacing in an empty Paragraph block', async () => {
966
- // Arrange
967
- const screen = await initializeEditor();
968
- await addBlock( screen, 'Paragraph' );
969
-
970
- // Act
971
- const paragraphBlock = getBlock( screen, 'Paragraph' );
972
- fireEvent.press( paragraphBlock );
973
- const paragraphTextInput =
974
- within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
975
- typeInRichText( paragraphTextInput, 'A quick brown fox jumps' );
976
-
977
- await addBlock( screen, 'Paragraph' );
978
- const secondParagraphBlock = getBlock( screen, 'Paragraph', {
979
- rowIndex: 2,
980
- } );
981
- fireEvent.press( secondParagraphBlock );
982
-
983
- // Clear mock history
984
- TextInputState.focusTextInput.mockClear();
985
-
986
- const secondParagraphTextInput =
987
- within( secondParagraphBlock ).getByPlaceholderText(
988
- 'Start writing…'
989
- );
990
- fireEvent( secondParagraphTextInput, 'onKeyDown', {
991
- nativeEvent: {},
992
- preventDefault() {},
993
- keyCode: BACKSPACE,
994
- } );
995
-
996
- // Assert
997
- expect( TextInputState.focusTextInput ).toHaveBeenCalled();
998
- } );
999
- } );