@wordpress/block-library 9.48.0 → 10.0.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 (1102) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/build/audio/edit.cjs +8 -1
  3. package/build/audio/edit.cjs.map +2 -2
  4. package/build/breadcrumbs/edit.cjs +1 -2
  5. package/build/breadcrumbs/edit.cjs.map +2 -2
  6. package/build/button/edit.cjs +1 -2
  7. package/build/button/edit.cjs.map +2 -2
  8. package/build/categories/edit.cjs +1 -1
  9. package/build/categories/edit.cjs.map +1 -1
  10. package/build/code/edit.cjs +1 -1
  11. package/build/code/edit.cjs.map +2 -2
  12. package/build/code/index.cjs +1 -1
  13. package/build/code/index.cjs.map +1 -1
  14. package/build/columns/transforms.cjs +65 -0
  15. package/build/columns/transforms.cjs.map +2 -2
  16. package/build/columns/utils.cjs.map +1 -1
  17. package/build/comments/edit/comments-legacy.cjs +1 -1
  18. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  19. package/build/comments/edit/placeholder.cjs +4 -4
  20. package/build/comments/edit/placeholder.cjs.map +1 -1
  21. package/build/comments-pagination-next/edit.cjs +2 -2
  22. package/build/comments-pagination-next/edit.cjs.map +1 -1
  23. package/build/comments-pagination-previous/edit.cjs +2 -2
  24. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  25. package/build/cover/deprecated.cjs +3 -3
  26. package/build/cover/deprecated.cjs.map +2 -2
  27. package/build/cover/edit/block-controls.cjs +13 -0
  28. package/build/cover/edit/block-controls.cjs.map +2 -2
  29. package/build/cover/edit/embed-video-url-input.cjs +0 -1
  30. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  31. package/build/cover/edit/index.cjs +61 -2
  32. package/build/cover/edit/index.cjs.map +3 -3
  33. package/build/cover/edit/inspector-controls.cjs +93 -35
  34. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  35. package/build/details/edit.cjs +1 -2
  36. package/build/details/edit.cjs.map +2 -2
  37. package/build/embed/embed-placeholder.cjs +1 -1
  38. package/build/embed/embed-placeholder.cjs.map +2 -2
  39. package/build/file/edit.cjs +3 -11
  40. package/build/file/edit.cjs.map +2 -2
  41. package/build/file/index.cjs +3 -1
  42. package/build/file/index.cjs.map +3 -3
  43. package/build/file/transforms.cjs +11 -32
  44. package/build/file/transforms.cjs.map +2 -2
  45. package/build/{freeform/convert-to-blocks-button.cjs → file/variations.cjs} +16 -18
  46. package/build/file/variations.cjs.map +7 -0
  47. package/build/footnotes/edit.cjs +1 -1
  48. package/build/footnotes/edit.cjs.map +2 -2
  49. package/build/form/edit.cjs +0 -2
  50. package/build/form/edit.cjs.map +2 -2
  51. package/build/form-input/edit.cjs +1 -3
  52. package/build/form-input/edit.cjs.map +2 -2
  53. package/build/freeform/edit.cjs +6 -15
  54. package/build/freeform/edit.cjs.map +3 -3
  55. package/build/freeform/migration-notice.cjs.map +2 -2
  56. package/build/gallery/edit.cjs +212 -331
  57. package/build/gallery/edit.cjs.map +2 -2
  58. package/build/gallery/transforms.cjs +43 -0
  59. package/build/gallery/transforms.cjs.map +2 -2
  60. package/build/heading/edit.cjs +0 -1
  61. package/build/heading/edit.cjs.map +2 -2
  62. package/build/home-link/edit.cjs +1 -2
  63. package/build/home-link/edit.cjs.map +2 -2
  64. package/build/html/index.cjs +1 -1
  65. package/build/html/index.cjs.map +2 -2
  66. package/build/html/modal.cjs +9 -6
  67. package/build/html/modal.cjs.map +2 -2
  68. package/build/icon/block.json +12 -0
  69. package/build/icon/edit.cjs +90 -41
  70. package/build/icon/edit.cjs.map +3 -3
  71. package/build/icon/index.cjs +3 -1
  72. package/build/icon/index.cjs.map +3 -3
  73. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  74. package/build/icon/variations.cjs.map +7 -0
  75. package/build/image/block.json +1 -0
  76. package/build/image/edit.cjs +4 -3
  77. package/build/image/edit.cjs.map +2 -2
  78. package/build/image/image.cjs +91 -29
  79. package/build/image/image.cjs.map +2 -2
  80. package/build/image/index.cjs +1 -1
  81. package/build/image/index.cjs.map +2 -2
  82. package/build/image/transforms.cjs +9 -3
  83. package/build/image/transforms.cjs.map +2 -2
  84. package/build/image/use-open-image-media-editor-modal.cjs +5 -25
  85. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  86. package/build/index.cjs +1 -3
  87. package/build/index.cjs.map +2 -2
  88. package/build/latest-posts/edit.cjs +1 -1
  89. package/build/latest-posts/edit.cjs.map +1 -1
  90. package/build/list/edit.cjs +1 -8
  91. package/build/list/edit.cjs.map +2 -2
  92. package/build/list/ordered-list-settings.cjs +1 -45
  93. package/build/list/ordered-list-settings.cjs.map +2 -2
  94. package/build/list-item/hooks/use-merge.cjs +47 -24
  95. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  96. package/build/math/edit.cjs +1 -1
  97. package/build/math/index.cjs +1 -1
  98. package/build/math/index.cjs.map +1 -1
  99. package/build/media-text/constants.cjs +1 -1
  100. package/build/media-text/constants.cjs.map +2 -2
  101. package/build/media-text/index.cjs +1 -1
  102. package/build/media-text/index.cjs.map +2 -2
  103. package/build/missing/edit.cjs +2 -2
  104. package/build/missing/edit.cjs.map +1 -1
  105. package/build/navigation/edit/index.cjs +34 -39
  106. package/build/navigation/edit/index.cjs.map +2 -2
  107. package/build/navigation/edit/navigation-menu-name-control.cjs +0 -1
  108. package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
  109. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  110. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  111. package/build/navigation/edit/placeholder/index.cjs +1 -1
  112. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  113. package/build/navigation-link/block.json +1 -1
  114. package/build/navigation-link/edit.cjs +1 -2
  115. package/build/navigation-link/edit.cjs.map +2 -2
  116. package/build/navigation-link/link-ui/page-creator.cjs +0 -1
  117. package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
  118. package/build/navigation-link/shared/controls.cjs +0 -2
  119. package/build/navigation-link/shared/controls.cjs.map +2 -2
  120. package/build/navigation-submenu/block.json +7 -0
  121. package/build/navigation-submenu/edit.cjs +3 -2
  122. package/build/navigation-submenu/edit.cjs.map +2 -2
  123. package/build/page-list/block.json +2 -5
  124. package/build/page-list/edit.cjs +1 -11
  125. package/build/page-list/edit.cjs.map +2 -2
  126. package/build/paragraph/deprecated.cjs +1 -0
  127. package/build/paragraph/deprecated.cjs.map +2 -2
  128. package/build/paragraph/edit.cjs +10 -1
  129. package/build/paragraph/edit.cjs.map +3 -3
  130. package/build/playlist/block.json +12 -0
  131. package/build/playlist/edit.cjs +27 -1
  132. package/build/playlist/edit.cjs.map +2 -2
  133. package/build/playlist/save.cjs +8 -1
  134. package/build/playlist/save.cjs.map +2 -2
  135. package/build/playlist/view.cjs +1 -0
  136. package/build/playlist/view.cjs.map +2 -2
  137. package/build/playlist-track/edit.cjs +0 -3
  138. package/build/playlist-track/edit.cjs.map +2 -2
  139. package/build/post-author/edit.cjs +1 -1
  140. package/build/post-author/edit.cjs.map +2 -2
  141. package/build/post-author/utils.cjs +1 -1
  142. package/build/post-author/utils.cjs.map +2 -2
  143. package/build/post-comment/edit.cjs +0 -1
  144. package/build/post-comment/edit.cjs.map +2 -2
  145. package/build/post-date/edit.cjs +2 -2
  146. package/build/post-date/edit.cjs.map +2 -2
  147. package/build/post-excerpt/edit.cjs +2 -2
  148. package/build/post-excerpt/edit.cjs.map +2 -2
  149. package/build/post-featured-image/block.json +1 -0
  150. package/build/post-featured-image/dimension-controls.cjs +90 -178
  151. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  152. package/build/post-featured-image/edit.cjs +47 -18
  153. package/build/post-featured-image/edit.cjs.map +2 -2
  154. package/build/post-navigation-link/edit.cjs +2 -2
  155. package/build/post-navigation-link/edit.cjs.map +2 -2
  156. package/build/post-terms/edit.cjs +0 -1
  157. package/build/post-terms/edit.cjs.map +2 -2
  158. package/build/post-time-to-read/edit.cjs +1 -1
  159. package/build/post-time-to-read/edit.cjs.map +1 -1
  160. package/build/post-time-to-read/index.cjs +1 -1
  161. package/build/post-time-to-read/index.cjs.map +2 -2
  162. package/build/post-time-to-read/variations.cjs +1 -1
  163. package/build/post-time-to-read/variations.cjs.map +2 -2
  164. package/build/post-title/edit.cjs +0 -1
  165. package/build/post-title/edit.cjs.map +2 -2
  166. package/build/preformatted/edit.cjs +1 -1
  167. package/build/preformatted/edit.cjs.map +2 -2
  168. package/build/pullquote/block.json +1 -3
  169. package/build/pullquote/deprecated.cjs +114 -9
  170. package/build/pullquote/deprecated.cjs.map +3 -3
  171. package/build/pullquote/edit.cjs +43 -66
  172. package/build/pullquote/edit.cjs.map +3 -3
  173. package/build/pullquote/save.cjs +5 -26
  174. package/build/pullquote/save.cjs.map +3 -3
  175. package/build/query/edit/enhanced-pagination-modal.cjs +10 -1
  176. package/build/query/edit/enhanced-pagination-modal.cjs.map +3 -3
  177. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  178. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  179. package/build/query/edit/inspector-controls/index.cjs +0 -1
  180. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  181. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  182. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  183. package/build/query/utils.cjs +2 -2
  184. package/build/query/utils.cjs.map +2 -2
  185. package/build/query-pagination-next/edit.cjs +2 -2
  186. package/build/query-pagination-next/edit.cjs.map +1 -1
  187. package/build/query-pagination-previous/edit.cjs +2 -2
  188. package/build/query-pagination-previous/edit.cjs.map +1 -1
  189. package/build/query-title/edit.cjs +1 -1
  190. package/build/query-title/edit.cjs.map +2 -2
  191. package/build/query-total/edit.cjs +1 -1
  192. package/build/query-total/edit.cjs.map +2 -2
  193. package/build/quote/edit.cjs +4 -9
  194. package/build/quote/edit.cjs.map +2 -2
  195. package/build/quote/index.cjs +1 -1
  196. package/build/quote/index.cjs.map +2 -2
  197. package/build/read-more/edit.cjs +1 -1
  198. package/build/read-more/edit.cjs.map +2 -2
  199. package/build/rss/edit.cjs +1 -2
  200. package/build/rss/edit.cjs.map +2 -2
  201. package/build/search/block.json +4 -0
  202. package/build/search/edit.cjs +244 -206
  203. package/build/search/edit.cjs.map +2 -2
  204. package/build/shortcode/edit.cjs +1 -1
  205. package/build/shortcode/edit.cjs.map +2 -2
  206. package/build/shortcode/transforms.cjs +2 -2
  207. package/build/shortcode/transforms.cjs.map +2 -2
  208. package/build/site-logo/edit.cjs +2 -1
  209. package/build/site-logo/edit.cjs.map +2 -2
  210. package/build/site-tagline/edit.cjs +1 -1
  211. package/build/site-tagline/edit.cjs.map +2 -2
  212. package/build/site-title/edit.cjs +1 -1
  213. package/build/site-title/edit.cjs.map +2 -2
  214. package/build/social-link/edit.cjs +0 -3
  215. package/build/social-link/edit.cjs.map +2 -2
  216. package/build/tab-list/block.json +33 -20
  217. package/build/tab-list/edit.cjs +122 -12
  218. package/build/tab-list/edit.cjs.map +3 -3
  219. package/build/tab-list/init.cjs +28 -0
  220. package/build/tab-list/init.cjs.map +7 -0
  221. package/build/tab-list/save.cjs +33 -3
  222. package/build/tab-list/save.cjs.map +3 -3
  223. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  224. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  225. package/build/tab-panel/block.json +2 -6
  226. package/build/tab-panel/edit.cjs +0 -9
  227. package/build/tab-panel/edit.cjs.map +2 -2
  228. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  229. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  230. package/build/tab-panel/save.cjs +2 -1
  231. package/build/tab-panel/save.cjs.map +2 -2
  232. package/build/tab-panels/block.json +2 -28
  233. package/build/tab-panels/init.cjs +28 -0
  234. package/build/tab-panels/init.cjs.map +7 -0
  235. package/build/table/edit.cjs +0 -2
  236. package/build/table/edit.cjs.map +2 -2
  237. package/build/table/index.cjs +1 -1
  238. package/build/table/index.cjs.map +2 -2
  239. package/build/tabs/block.json +3 -17
  240. package/build/tabs/edit.cjs +7 -21
  241. package/build/tabs/edit.cjs.map +3 -3
  242. package/build/tabs/index.cjs +6 -10
  243. package/build/tabs/index.cjs.map +2 -2
  244. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  245. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  246. package/build/tabs/view.cjs +22 -104
  247. package/build/tabs/view.cjs.map +2 -2
  248. package/build/template-part/edit/advanced-controls.cjs +0 -1
  249. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  250. package/build/template-part/edit/title-modal.cjs +1 -2
  251. package/build/template-part/edit/title-modal.cjs.map +2 -2
  252. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  253. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  254. package/build/utils/style-state.cjs +164 -0
  255. package/build/utils/style-state.cjs.map +7 -0
  256. package/build/utils/waveform-player.cjs +42 -9
  257. package/build/utils/waveform-player.cjs.map +2 -2
  258. package/build/utils/waveform-utils.cjs +6 -4
  259. package/build/utils/waveform-utils.cjs.map +2 -2
  260. package/build/verse/edit.cjs +1 -1
  261. package/build/verse/edit.cjs.map +2 -2
  262. package/build/video/edit-common-settings.cjs +3 -6
  263. package/build/video/edit-common-settings.cjs.map +2 -2
  264. package/build/video/edit.cjs +3 -2
  265. package/build/video/edit.cjs.map +2 -2
  266. package/build/video/tracks-editor.cjs +0 -2
  267. package/build/video/tracks-editor.cjs.map +2 -2
  268. package/build-module/audio/edit.mjs +8 -2
  269. package/build-module/audio/edit.mjs.map +2 -2
  270. package/build-module/breadcrumbs/edit.mjs +1 -2
  271. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  272. package/build-module/button/edit.mjs +1 -2
  273. package/build-module/button/edit.mjs.map +2 -2
  274. package/build-module/categories/edit.mjs +1 -1
  275. package/build-module/categories/edit.mjs.map +1 -1
  276. package/build-module/code/edit.mjs +1 -1
  277. package/build-module/code/edit.mjs.map +2 -2
  278. package/build-module/code/index.mjs +1 -1
  279. package/build-module/code/index.mjs.map +1 -1
  280. package/build-module/columns/transforms.mjs +65 -0
  281. package/build-module/columns/transforms.mjs.map +2 -2
  282. package/build-module/columns/utils.mjs.map +1 -1
  283. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  284. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  285. package/build-module/comments/edit/placeholder.mjs +4 -4
  286. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  287. package/build-module/comments-pagination-next/edit.mjs +2 -2
  288. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  289. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  290. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  291. package/build-module/cover/deprecated.mjs +3 -3
  292. package/build-module/cover/deprecated.mjs.map +2 -2
  293. package/build-module/cover/edit/block-controls.mjs +15 -2
  294. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  295. package/build-module/cover/edit/embed-video-url-input.mjs +0 -1
  296. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  297. package/build-module/cover/edit/index.mjs +64 -3
  298. package/build-module/cover/edit/index.mjs.map +2 -2
  299. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  300. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  301. package/build-module/details/edit.mjs +1 -2
  302. package/build-module/details/edit.mjs.map +2 -2
  303. package/build-module/embed/embed-placeholder.mjs +1 -1
  304. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  305. package/build-module/file/edit.mjs +5 -13
  306. package/build-module/file/edit.mjs.map +2 -2
  307. package/build-module/file/index.mjs +3 -1
  308. package/build-module/file/index.mjs.map +2 -2
  309. package/build-module/file/transforms.mjs +11 -32
  310. package/build-module/file/transforms.mjs.map +2 -2
  311. package/build-module/file/variations.mjs +17 -0
  312. package/build-module/file/variations.mjs.map +7 -0
  313. package/build-module/footnotes/edit.mjs +1 -1
  314. package/build-module/footnotes/edit.mjs.map +2 -2
  315. package/build-module/form/edit.mjs +0 -2
  316. package/build-module/form/edit.mjs.map +2 -2
  317. package/build-module/form-input/edit.mjs +1 -3
  318. package/build-module/form-input/edit.mjs.map +2 -2
  319. package/build-module/freeform/edit.mjs +6 -15
  320. package/build-module/freeform/edit.mjs.map +2 -2
  321. package/build-module/freeform/migration-notice.mjs.map +2 -2
  322. package/build-module/gallery/edit.mjs +214 -334
  323. package/build-module/gallery/edit.mjs.map +2 -2
  324. package/build-module/gallery/transforms.mjs +43 -0
  325. package/build-module/gallery/transforms.mjs.map +2 -2
  326. package/build-module/heading/edit.mjs +1 -2
  327. package/build-module/heading/edit.mjs.map +2 -2
  328. package/build-module/home-link/edit.mjs +1 -2
  329. package/build-module/home-link/edit.mjs.map +2 -2
  330. package/build-module/html/index.mjs +1 -1
  331. package/build-module/html/index.mjs.map +2 -2
  332. package/build-module/html/modal.mjs +9 -6
  333. package/build-module/html/modal.mjs.map +2 -2
  334. package/build-module/icon/block.json +12 -0
  335. package/build-module/icon/edit.mjs +94 -42
  336. package/build-module/icon/edit.mjs.map +2 -2
  337. package/build-module/icon/index.mjs +3 -1
  338. package/build-module/icon/index.mjs.map +2 -2
  339. package/build-module/icon/variations.mjs +13 -0
  340. package/build-module/icon/variations.mjs.map +7 -0
  341. package/build-module/image/block.json +1 -0
  342. package/build-module/image/edit.mjs +4 -3
  343. package/build-module/image/edit.mjs.map +2 -2
  344. package/build-module/image/image.mjs +96 -29
  345. package/build-module/image/image.mjs.map +2 -2
  346. package/build-module/image/index.mjs +1 -1
  347. package/build-module/image/index.mjs.map +2 -2
  348. package/build-module/image/transforms.mjs +9 -3
  349. package/build-module/image/transforms.mjs.map +2 -2
  350. package/build-module/image/use-open-image-media-editor-modal.mjs +5 -25
  351. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  352. package/build-module/index.mjs +1 -3
  353. package/build-module/index.mjs.map +2 -2
  354. package/build-module/latest-posts/edit.mjs +1 -1
  355. package/build-module/latest-posts/edit.mjs.map +1 -1
  356. package/build-module/list/edit.mjs +2 -9
  357. package/build-module/list/edit.mjs.map +2 -2
  358. package/build-module/list/ordered-list-settings.mjs +1 -46
  359. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  360. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  361. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  362. package/build-module/math/edit.mjs +1 -1
  363. package/build-module/math/index.mjs +1 -1
  364. package/build-module/math/index.mjs.map +1 -1
  365. package/build-module/media-text/constants.mjs +1 -1
  366. package/build-module/media-text/constants.mjs.map +2 -2
  367. package/build-module/media-text/index.mjs +1 -1
  368. package/build-module/media-text/index.mjs.map +2 -2
  369. package/build-module/missing/edit.mjs +2 -2
  370. package/build-module/missing/edit.mjs.map +1 -1
  371. package/build-module/navigation/edit/index.mjs +35 -46
  372. package/build-module/navigation/edit/index.mjs.map +2 -2
  373. package/build-module/navigation/edit/navigation-menu-name-control.mjs +0 -1
  374. package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
  375. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  376. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  377. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  378. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  379. package/build-module/navigation-link/block.json +1 -1
  380. package/build-module/navigation-link/edit.mjs +1 -2
  381. package/build-module/navigation-link/edit.mjs.map +2 -2
  382. package/build-module/navigation-link/link-ui/page-creator.mjs +0 -1
  383. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  384. package/build-module/navigation-link/shared/controls.mjs +0 -2
  385. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  386. package/build-module/navigation-submenu/block.json +7 -0
  387. package/build-module/navigation-submenu/edit.mjs +3 -2
  388. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  389. package/build-module/page-list/block.json +2 -5
  390. package/build-module/page-list/edit.mjs +1 -11
  391. package/build-module/page-list/edit.mjs.map +2 -2
  392. package/build-module/paragraph/deprecated.mjs +1 -0
  393. package/build-module/paragraph/deprecated.mjs.map +2 -2
  394. package/build-module/paragraph/edit.mjs +12 -2
  395. package/build-module/paragraph/edit.mjs.map +2 -2
  396. package/build-module/playlist/block.json +12 -0
  397. package/build-module/playlist/edit.mjs +27 -1
  398. package/build-module/playlist/edit.mjs.map +2 -2
  399. package/build-module/playlist/save.mjs +8 -1
  400. package/build-module/playlist/save.mjs.map +2 -2
  401. package/build-module/playlist/view.mjs +1 -0
  402. package/build-module/playlist/view.mjs.map +2 -2
  403. package/build-module/playlist-track/edit.mjs +0 -3
  404. package/build-module/playlist-track/edit.mjs.map +2 -2
  405. package/build-module/post-author/edit.mjs +1 -1
  406. package/build-module/post-author/edit.mjs.map +2 -2
  407. package/build-module/post-author/utils.mjs +1 -1
  408. package/build-module/post-author/utils.mjs.map +2 -2
  409. package/build-module/post-comment/edit.mjs +0 -1
  410. package/build-module/post-comment/edit.mjs.map +2 -2
  411. package/build-module/post-date/edit.mjs +2 -2
  412. package/build-module/post-date/edit.mjs.map +2 -2
  413. package/build-module/post-excerpt/edit.mjs +2 -2
  414. package/build-module/post-excerpt/edit.mjs.map +2 -2
  415. package/build-module/post-featured-image/block.json +1 -0
  416. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  417. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  418. package/build-module/post-featured-image/edit.mjs +47 -18
  419. package/build-module/post-featured-image/edit.mjs.map +2 -2
  420. package/build-module/post-navigation-link/edit.mjs +2 -2
  421. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  422. package/build-module/post-terms/edit.mjs +0 -1
  423. package/build-module/post-terms/edit.mjs.map +2 -2
  424. package/build-module/post-time-to-read/edit.mjs +1 -1
  425. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  426. package/build-module/post-time-to-read/index.mjs +1 -1
  427. package/build-module/post-time-to-read/index.mjs.map +2 -2
  428. package/build-module/post-time-to-read/variations.mjs +2 -2
  429. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  430. package/build-module/post-title/edit.mjs +0 -1
  431. package/build-module/post-title/edit.mjs.map +2 -2
  432. package/build-module/preformatted/edit.mjs +1 -1
  433. package/build-module/preformatted/edit.mjs.map +2 -2
  434. package/build-module/pullquote/block.json +1 -3
  435. package/build-module/pullquote/deprecated.mjs +114 -9
  436. package/build-module/pullquote/deprecated.mjs.map +2 -2
  437. package/build-module/pullquote/edit.mjs +44 -72
  438. package/build-module/pullquote/edit.mjs.map +2 -2
  439. package/build-module/pullquote/save.mjs +5 -16
  440. package/build-module/pullquote/save.mjs.map +2 -2
  441. package/build-module/query/edit/enhanced-pagination-modal.mjs +10 -1
  442. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
  443. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  444. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  445. package/build-module/query/edit/inspector-controls/index.mjs +0 -1
  446. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  447. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  448. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  449. package/build-module/query/utils.mjs +2 -2
  450. package/build-module/query/utils.mjs.map +2 -2
  451. package/build-module/query-pagination-next/edit.mjs +2 -2
  452. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  453. package/build-module/query-pagination-previous/edit.mjs +2 -2
  454. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  455. package/build-module/query-title/edit.mjs +1 -1
  456. package/build-module/query-title/edit.mjs.map +2 -2
  457. package/build-module/query-total/edit.mjs +1 -1
  458. package/build-module/query-total/edit.mjs.map +2 -2
  459. package/build-module/quote/edit.mjs +5 -10
  460. package/build-module/quote/edit.mjs.map +2 -2
  461. package/build-module/quote/index.mjs +1 -1
  462. package/build-module/quote/index.mjs.map +2 -2
  463. package/build-module/read-more/edit.mjs +1 -1
  464. package/build-module/read-more/edit.mjs.map +2 -2
  465. package/build-module/rss/edit.mjs +1 -2
  466. package/build-module/rss/edit.mjs.map +2 -2
  467. package/build-module/search/block.json +4 -0
  468. package/build-module/search/edit.mjs +244 -206
  469. package/build-module/search/edit.mjs.map +2 -2
  470. package/build-module/shortcode/edit.mjs +1 -1
  471. package/build-module/shortcode/edit.mjs.map +2 -2
  472. package/build-module/shortcode/transforms.mjs +2 -2
  473. package/build-module/shortcode/transforms.mjs.map +2 -2
  474. package/build-module/site-logo/edit.mjs +2 -1
  475. package/build-module/site-logo/edit.mjs.map +2 -2
  476. package/build-module/site-tagline/edit.mjs +1 -1
  477. package/build-module/site-tagline/edit.mjs.map +2 -2
  478. package/build-module/site-title/edit.mjs +1 -1
  479. package/build-module/site-title/edit.mjs.map +2 -2
  480. package/build-module/social-link/edit.mjs +0 -3
  481. package/build-module/social-link/edit.mjs.map +2 -2
  482. package/build-module/tab-list/block.json +33 -20
  483. package/build-module/tab-list/edit.mjs +128 -15
  484. package/build-module/tab-list/edit.mjs.map +2 -2
  485. package/build-module/tab-list/init.mjs +7 -0
  486. package/build-module/tab-list/init.mjs.map +7 -0
  487. package/build-module/tab-list/save.mjs +29 -4
  488. package/build-module/tab-list/save.mjs.map +2 -2
  489. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  490. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  491. package/build-module/tab-panel/block.json +2 -6
  492. package/build-module/tab-panel/edit.mjs +1 -10
  493. package/build-module/tab-panel/edit.mjs.map +2 -2
  494. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  495. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  496. package/build-module/tab-panel/save.mjs +2 -1
  497. package/build-module/tab-panel/save.mjs.map +2 -2
  498. package/build-module/tab-panels/block.json +2 -28
  499. package/build-module/tab-panels/init.mjs +7 -0
  500. package/build-module/tab-panels/init.mjs.map +7 -0
  501. package/build-module/table/edit.mjs +0 -2
  502. package/build-module/table/edit.mjs.map +2 -2
  503. package/build-module/table/index.mjs +1 -1
  504. package/build-module/table/index.mjs.map +2 -2
  505. package/build-module/tabs/block.json +3 -17
  506. package/build-module/tabs/edit.mjs +7 -21
  507. package/build-module/tabs/edit.mjs.map +2 -2
  508. package/build-module/tabs/index.mjs +6 -10
  509. package/build-module/tabs/index.mjs.map +2 -2
  510. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  511. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  512. package/build-module/tabs/view.mjs +22 -104
  513. package/build-module/tabs/view.mjs.map +2 -2
  514. package/build-module/template-part/edit/advanced-controls.mjs +0 -1
  515. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  516. package/build-module/template-part/edit/title-modal.mjs +1 -2
  517. package/build-module/template-part/edit/title-modal.mjs.map +2 -2
  518. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  519. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  520. package/build-module/utils/style-state.mjs +132 -0
  521. package/build-module/utils/style-state.mjs.map +7 -0
  522. package/build-module/utils/waveform-player.mjs +44 -11
  523. package/build-module/utils/waveform-player.mjs.map +2 -2
  524. package/build-module/utils/waveform-utils.mjs +6 -4
  525. package/build-module/utils/waveform-utils.mjs.map +2 -2
  526. package/build-module/verse/edit.mjs +1 -1
  527. package/build-module/verse/edit.mjs.map +2 -2
  528. package/build-module/video/edit-common-settings.mjs +4 -7
  529. package/build-module/video/edit-common-settings.mjs.map +2 -2
  530. package/build-module/video/edit.mjs +3 -3
  531. package/build-module/video/edit.mjs.map +2 -2
  532. package/build-module/video/tracks-editor.mjs +0 -2
  533. package/build-module/video/tracks-editor.mjs.map +2 -2
  534. package/build-style/comment-template/style-rtl.css +1 -0
  535. package/build-style/comment-template/style.css +1 -0
  536. package/build-style/common-rtl.css +30 -10
  537. package/build-style/common.css +30 -10
  538. package/build-style/cover/style-rtl.css +2 -1
  539. package/build-style/cover/style.css +2 -1
  540. package/build-style/editor-rtl.css +22 -30
  541. package/build-style/editor.css +22 -30
  542. package/build-style/form-input/style-rtl.css +2 -0
  543. package/build-style/form-input/style.css +2 -0
  544. package/build-style/gallery/style-rtl.css +4 -2
  545. package/build-style/gallery/style.css +4 -2
  546. package/build-style/icon/style-rtl.css +9 -0
  547. package/build-style/icon/style.css +9 -0
  548. package/build-style/media-text/style-rtl.css +2 -1
  549. package/build-style/media-text/style.css +2 -1
  550. package/build-style/playlist/style-rtl.css +3 -0
  551. package/build-style/playlist/style.css +3 -0
  552. package/build-style/query/editor-rtl.css +8 -4
  553. package/build-style/query/editor.css +8 -4
  554. package/build-style/read-more/style-rtl.css +1 -0
  555. package/build-style/read-more/style.css +1 -0
  556. package/build-style/reset-rtl.css +3 -1
  557. package/build-style/reset.css +3 -1
  558. package/build-style/search/style-rtl.css +3 -1
  559. package/build-style/search/style.css +3 -1
  560. package/build-style/site-logo/editor-rtl.css +2 -1
  561. package/build-style/site-logo/editor.css +2 -1
  562. package/build-style/style-rtl.css +64 -41
  563. package/build-style/style.css +64 -41
  564. package/build-style/{tab → tab-list}/style-rtl.css +5 -3
  565. package/build-style/{tab → tab-list}/style.css +5 -3
  566. package/build-style/tab-panel/style-rtl.css +0 -17
  567. package/build-style/tab-panel/style.css +0 -17
  568. package/build-style/template-part/editor-rtl.css +8 -4
  569. package/build-style/template-part/editor.css +8 -4
  570. package/build-style/video/style-rtl.css +2 -1
  571. package/build-style/video/style.css +2 -1
  572. package/package.json +55 -48
  573. package/src/accordion/README.md +97 -0
  574. package/src/accordion-heading/README.md +81 -0
  575. package/src/accordion-item/README.md +85 -0
  576. package/src/accordion-panel/README.md +74 -0
  577. package/src/archives/README.md +56 -0
  578. package/src/audio/README.md +55 -0
  579. package/src/audio/edit.js +5 -9
  580. package/src/avatar/README.md +74 -0
  581. package/src/avatar/index.php +2 -2
  582. package/src/block/README.md +56 -0
  583. package/src/block/index.php +2 -26
  584. package/src/breadcrumbs/README.md +67 -0
  585. package/src/breadcrumbs/edit.js +0 -1
  586. package/src/button/README.md +93 -0
  587. package/src/button/edit.js +0 -1
  588. package/src/buttons/README.md +80 -0
  589. package/src/calendar/README.md +51 -0
  590. package/src/categories/README.md +69 -0
  591. package/src/code/README.md +55 -0
  592. package/src/column/README.md +72 -0
  593. package/src/columns/README.md +90 -0
  594. package/src/columns/test/transforms.js +164 -0
  595. package/src/columns/transforms.js +74 -0
  596. package/src/comment-author-avatar/README.md +63 -0
  597. package/src/comment-author-avatar/index.php +3 -3
  598. package/src/comment-author-name/README.md +67 -0
  599. package/src/comment-author-name/index.php +1 -1
  600. package/src/comment-content/README.md +61 -0
  601. package/src/comment-date/README.md +67 -0
  602. package/src/comment-date/index.php +1 -1
  603. package/src/comment-edit-link/README.md +67 -0
  604. package/src/comment-reply-link/README.md +63 -0
  605. package/src/comment-template/README.md +60 -0
  606. package/src/comments/README.md +88 -0
  607. package/src/comments-pagination/README.md +77 -0
  608. package/src/comments-pagination-next/README.md +64 -0
  609. package/src/comments-pagination-numbers/README.md +64 -0
  610. package/src/comments-pagination-previous/README.md +64 -0
  611. package/src/comments-title/README.md +70 -0
  612. package/src/common.scss +63 -10
  613. package/src/cover/README.md +111 -0
  614. package/src/cover/edit/block-controls.js +14 -2
  615. package/src/cover/edit/embed-video-url-input.js +0 -1
  616. package/src/cover/edit/index.js +86 -0
  617. package/src/cover/edit/inspector-controls.js +124 -54
  618. package/src/cover/test/edit.js +51 -2
  619. package/src/details/README.md +65 -0
  620. package/src/details/edit.js +0 -1
  621. package/src/editor.scss +0 -2
  622. package/src/embed/README.md +56 -0
  623. package/src/file/README.md +60 -0
  624. package/src/file/edit.js +3 -16
  625. package/src/file/index.js +2 -0
  626. package/src/file/transforms.js +12 -31
  627. package/src/file/variations.js +17 -0
  628. package/src/footnotes/README.md +64 -0
  629. package/src/form/README.md +90 -0
  630. package/src/form/edit.js +0 -2
  631. package/src/form-input/README.md +74 -0
  632. package/src/form-input/edit.js +0 -2
  633. package/src/form-submission-notification/README.md +50 -0
  634. package/src/form-submit-button/README.md +54 -0
  635. package/src/freeform/README.md +49 -0
  636. package/src/freeform/edit.js +6 -29
  637. package/src/freeform/migration-notice.js +2 -4
  638. package/src/gallery/README.md +115 -0
  639. package/src/gallery/edit.js +214 -351
  640. package/src/gallery/test/transforms.js +155 -0
  641. package/src/gallery/transforms.js +47 -0
  642. package/src/group/README.md +80 -0
  643. package/src/heading/README.md +60 -0
  644. package/src/heading/edit.js +1 -2
  645. package/src/home-link/README.md +66 -0
  646. package/src/home-link/edit.js +0 -1
  647. package/src/home-link/index.php +3 -15
  648. package/src/html/README.md +48 -0
  649. package/src/html/modal.js +3 -0
  650. package/src/icon/README.md +66 -0
  651. package/src/icon/block.json +12 -0
  652. package/src/icon/edit.js +85 -37
  653. package/src/icon/index.js +3 -1
  654. package/src/icon/index.php +23 -0
  655. package/src/icon/style.scss +12 -0
  656. package/src/icon/variations.js +9 -0
  657. package/src/image/README.md +103 -0
  658. package/src/image/block.json +1 -0
  659. package/src/image/edit.js +8 -3
  660. package/src/image/image.js +120 -56
  661. package/src/image/index.php +4 -5
  662. package/src/image/test/use-open-image-media-editor-modal.js +20 -26
  663. package/src/image/transforms.js +34 -8
  664. package/src/image/use-open-image-media-editor-modal.js +24 -42
  665. package/src/index.js +4 -11
  666. package/src/latest-comments/README.md +57 -0
  667. package/src/latest-posts/README.md +71 -0
  668. package/src/list/README.md +70 -0
  669. package/src/list/edit.js +2 -9
  670. package/src/list/ordered-list-settings.js +46 -93
  671. package/src/list-item/README.md +71 -0
  672. package/src/list-item/hooks/use-merge.js +53 -46
  673. package/src/loginout/README.md +56 -0
  674. package/src/math/README.md +50 -0
  675. package/src/media-text/README.md +92 -0
  676. package/src/missing/README.md +55 -0
  677. package/src/more/README.md +49 -0
  678. package/src/navigation/README.md +115 -0
  679. package/src/navigation/edit/index.js +35 -46
  680. package/src/navigation/edit/navigation-menu-name-control.js +0 -1
  681. package/src/navigation/index.php +58 -0
  682. package/src/navigation-link/README.md +93 -0
  683. package/src/navigation-link/block.json +1 -1
  684. package/src/navigation-link/edit.js +0 -1
  685. package/src/navigation-link/index.php +1 -15
  686. package/src/navigation-link/link-ui/page-creator.js +0 -1
  687. package/src/navigation-link/shared/controls.js +0 -2
  688. package/src/navigation-link/test/__snapshots__/hooks.js.snap +5 -0
  689. package/src/navigation-overlay-close/README.md +48 -0
  690. package/src/navigation-submenu/README.md +89 -0
  691. package/src/navigation-submenu/block.json +7 -0
  692. package/src/navigation-submenu/edit.js +1 -0
  693. package/src/navigation-submenu/index.php +1 -17
  694. package/src/nextpage/README.md +50 -0
  695. package/src/page-list/README.md +84 -0
  696. package/src/page-list/block.json +2 -5
  697. package/src/page-list/edit.js +0 -11
  698. package/src/page-list/index.php +4 -16
  699. package/src/page-list-item/README.md +77 -0
  700. package/src/paragraph/README.md +70 -0
  701. package/src/paragraph/deprecated.js +1 -0
  702. package/src/paragraph/edit.js +13 -1
  703. package/src/pattern/README.md +45 -0
  704. package/src/playlist/README.md +86 -0
  705. package/src/playlist/block.json +12 -0
  706. package/src/playlist/edit.js +27 -0
  707. package/src/playlist/index.php +10 -3
  708. package/src/playlist/save.js +9 -1
  709. package/src/playlist/style.scss +7 -0
  710. package/src/playlist/view.js +1 -0
  711. package/src/playlist-track/README.md +69 -0
  712. package/src/playlist-track/edit.js +0 -3
  713. package/src/post-author/README.md +78 -0
  714. package/src/post-author-biography/README.md +59 -0
  715. package/src/post-author-name/README.md +63 -0
  716. package/src/post-author-name/index.php +1 -1
  717. package/src/post-comment/README.md +61 -0
  718. package/src/post-comment/edit.js +0 -1
  719. package/src/post-comments-count/README.md +58 -0
  720. package/src/post-comments-form/README.md +59 -0
  721. package/src/post-comments-link/README.md +60 -0
  722. package/src/post-content/README.md +71 -0
  723. package/src/post-date/README.md +65 -0
  724. package/src/post-date/edit.js +2 -2
  725. package/src/post-date/index.php +1 -1
  726. package/src/post-excerpt/README.md +66 -0
  727. package/src/post-featured-image/README.md +86 -0
  728. package/src/post-featured-image/block.json +1 -0
  729. package/src/post-featured-image/dimension-controls.js +105 -184
  730. package/src/post-featured-image/edit.js +53 -22
  731. package/src/post-featured-image/index.php +25 -23
  732. package/src/post-navigation-link/README.md +63 -0
  733. package/src/post-template/README.md +71 -0
  734. package/src/post-terms/README.md +65 -0
  735. package/src/post-terms/edit.js +0 -1
  736. package/src/post-time-to-read/README.md +63 -0
  737. package/src/post-time-to-read/index.js +1 -1
  738. package/src/post-time-to-read/variations.js +2 -2
  739. package/src/post-title/README.md +69 -0
  740. package/src/post-title/edit.js +0 -1
  741. package/src/preformatted/README.md +50 -0
  742. package/src/pullquote/README.md +64 -0
  743. package/src/pullquote/block.json +1 -3
  744. package/src/pullquote/deprecated.js +121 -9
  745. package/src/pullquote/edit.js +8 -38
  746. package/src/pullquote/save.js +2 -13
  747. package/src/query/README.md +64 -0
  748. package/src/query/edit/enhanced-pagination-modal.js +11 -1
  749. package/src/query/edit/inspector-controls/index.js +0 -1
  750. package/src/query-no-results/README.md +65 -0
  751. package/src/query-pagination/README.md +79 -0
  752. package/src/query-pagination-next/README.md +67 -0
  753. package/src/query-pagination-numbers/README.md +65 -0
  754. package/src/query-pagination-previous/README.md +67 -0
  755. package/src/query-title/README.md +65 -0
  756. package/src/query-total/README.md +66 -0
  757. package/src/quote/README.md +75 -0
  758. package/src/quote/edit.js +3 -9
  759. package/src/read-more/README.md +61 -0
  760. package/src/read-more/index.php +2 -2
  761. package/src/rss/README.md +62 -0
  762. package/src/rss/edit.js +0 -1
  763. package/src/search/README.md +67 -0
  764. package/src/search/block.json +4 -0
  765. package/src/search/edit.js +106 -55
  766. package/src/search/index.php +25 -1
  767. package/src/separator/README.md +62 -0
  768. package/src/shortcode/README.md +44 -0
  769. package/src/shortcode/transforms.js +2 -2
  770. package/src/site-logo/README.md +72 -0
  771. package/src/site-logo/edit.js +3 -1
  772. package/src/site-tagline/README.md +56 -0
  773. package/src/site-title/README.md +57 -0
  774. package/src/social-link/README.md +64 -0
  775. package/src/social-link/edit.js +0 -3
  776. package/src/social-links/README.md +98 -0
  777. package/src/spacer/README.md +53 -0
  778. package/src/style.scss +1 -2
  779. package/src/tab-list/README.md +81 -0
  780. package/src/tab-list/block.json +33 -20
  781. package/src/tab-list/edit.js +153 -15
  782. package/src/tab-list/index.php +24 -33
  783. package/src/tab-list/init.js +6 -0
  784. package/src/tab-list/save.js +39 -4
  785. package/src/{tab → tab-list}/style.scss +2 -3
  786. package/src/tab-panel/README.md +72 -0
  787. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  788. package/src/tab-panel/block.json +2 -6
  789. package/src/tab-panel/edit.js +1 -14
  790. package/src/tab-panel/index.php +2 -25
  791. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  792. package/src/tab-panel/save.js +1 -0
  793. package/src/tab-panel/style.scss +0 -17
  794. package/src/tab-panels/README.md +59 -0
  795. package/src/tab-panels/block.json +2 -28
  796. package/src/tab-panels/init.js +6 -0
  797. package/src/table/README.md +71 -0
  798. package/src/table/edit.js +0 -2
  799. package/src/table-of-contents/README.md +61 -0
  800. package/src/tabs/README.md +77 -0
  801. package/src/tabs/block.json +3 -17
  802. package/src/tabs/edit.js +8 -19
  803. package/src/tabs/index.js +6 -10
  804. package/src/tabs/index.php +12 -32
  805. package/src/tabs/use-tab-list-items-sync.js +49 -0
  806. package/src/tabs/view.js +22 -110
  807. package/src/tag-cloud/README.md +62 -0
  808. package/src/template-part/README.md +48 -0
  809. package/src/template-part/edit/advanced-controls.js +0 -1
  810. package/src/template-part/edit/title-modal.js +0 -1
  811. package/src/term-count/README.md +59 -0
  812. package/src/term-description/README.md +60 -0
  813. package/src/term-name/README.md +65 -0
  814. package/src/term-template/README.md +65 -0
  815. package/src/terms-query/README.md +58 -0
  816. package/src/text-columns/README.md +51 -0
  817. package/src/utils/style-state.js +151 -0
  818. package/src/utils/test/style-state.js +307 -0
  819. package/src/utils/test/waveform-player.js +254 -0
  820. package/src/utils/waveform-player.js +90 -18
  821. package/src/utils/waveform-utils.js +15 -11
  822. package/src/verse/README.md +58 -0
  823. package/src/video/README.md +58 -0
  824. package/src/video/edit-common-settings.js +4 -7
  825. package/src/video/edit.js +9 -16
  826. package/src/video/tracks-editor.js +0 -2
  827. package/babel-plugin.cjs +0 -150
  828. package/build/freeform/convert-to-blocks-button.cjs.map +0 -7
  829. package/build/list-item/utils.cjs +0 -57
  830. package/build/list-item/utils.cjs.map +0 -7
  831. package/build/tab/block.json +0 -56
  832. package/build/tab/controls.cjs +0 -46
  833. package/build/tab/controls.cjs.map +0 -7
  834. package/build/tab/edit.cjs +0 -135
  835. package/build/tab/edit.cjs.map +0 -7
  836. package/build/tab/index.cjs +0 -58
  837. package/build/tab/index.cjs.map +0 -7
  838. package/build/tab/save.cjs.map +0 -7
  839. package/build/tabs/use-tab-list-sync.cjs +0 -190
  840. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  841. package/build-module/freeform/convert-to-blocks-button.mjs +0 -19
  842. package/build-module/freeform/convert-to-blocks-button.mjs.map +0 -7
  843. package/build-module/list-item/utils.mjs +0 -32
  844. package/build-module/list-item/utils.mjs.map +0 -7
  845. package/build-module/tab/block.json +0 -56
  846. package/build-module/tab/controls.mjs +0 -15
  847. package/build-module/tab/controls.mjs.map +0 -7
  848. package/build-module/tab/edit.mjs +0 -108
  849. package/build-module/tab/edit.mjs.map +0 -7
  850. package/build-module/tab/index.mjs +0 -20
  851. package/build-module/tab/index.mjs.map +0 -7
  852. package/build-module/tab/save.mjs +0 -14
  853. package/build-module/tab/save.mjs.map +0 -7
  854. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  855. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  856. package/build-style/tab/editor-rtl.css +0 -11
  857. package/build-style/tab/editor.css +0 -11
  858. package/build-style/tab-list/editor-rtl.css +0 -6
  859. package/build-style/tab-list/editor.css +0 -6
  860. package/build-style/tab-panels/style-rtl.css +0 -4
  861. package/build-style/tab-panels/style.css +0 -4
  862. package/src/audio/edit.native.js +0 -250
  863. package/src/audio/style.native.scss +0 -13
  864. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  865. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  866. package/src/audio/test/edit.native.js +0 -132
  867. package/src/audio/test/transforms.native.js +0 -43
  868. package/src/audio/transforms.native.js +0 -12
  869. package/src/block/edit-title.native.js +0 -67
  870. package/src/block/edit.native.js +0 -247
  871. package/src/block/editor.native.scss +0 -125
  872. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  873. package/src/block/test/edit.native.js +0 -262
  874. package/src/block/test/transforms.native.js +0 -40
  875. package/src/button/color-background.native.js +0 -41
  876. package/src/button/edit.native.js +0 -567
  877. package/src/button/editor.native.scss +0 -70
  878. package/src/button/rich-text.android.scss +0 -6
  879. package/src/button/rich-text.ios.scss +0 -6
  880. package/src/buttons/edit.native.js +0 -157
  881. package/src/buttons/editor.native.scss +0 -11
  882. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  883. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  884. package/src/buttons/test/edit.native.js +0 -485
  885. package/src/buttons/test/transforms.native.js +0 -48
  886. package/src/buttons/transforms.native.js +0 -12
  887. package/src/code/edit.native.js +0 -70
  888. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  889. package/src/code/test/edit.native.js +0 -65
  890. package/src/code/theme.native.scss +0 -22
  891. package/src/code/transforms.native.js +0 -12
  892. package/src/column/column-preview.native.js +0 -58
  893. package/src/column/edit.native.js +0 -273
  894. package/src/column/editor.native.scss +0 -75
  895. package/src/columns/columnCalculations.native.js +0 -178
  896. package/src/columns/edit.native.js +0 -507
  897. package/src/columns/editor.native.scss +0 -17
  898. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  899. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  900. package/src/columns/test/edit.native.js +0 -496
  901. package/src/columns/test/transforms.native.js +0 -89
  902. package/src/columns/transforms.native.js +0 -12
  903. package/src/cover/controls.native.js +0 -307
  904. package/src/cover/edit.native.js +0 -708
  905. package/src/cover/focal-point-settings-button.native.js +0 -53
  906. package/src/cover/overlay-color-settings.native.js +0 -106
  907. package/src/cover/style.native.scss +0 -220
  908. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  909. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  910. package/src/cover/test/edit.native.js +0 -701
  911. package/src/cover/test/transforms.native.js +0 -116
  912. package/src/cover/transforms.native.js +0 -12
  913. package/src/cover/use-cover-is-dark.native.js +0 -51
  914. package/src/embed/edit.native.js +0 -345
  915. package/src/embed/embed-controls.native.js +0 -65
  916. package/src/embed/embed-link-settings.native.js +0 -99
  917. package/src/embed/embed-loading.native.js +0 -29
  918. package/src/embed/embed-no-preview.native.js +0 -230
  919. package/src/embed/embed-placeholder.native.js +0 -178
  920. package/src/embed/embed-preview.native.js +0 -157
  921. package/src/embed/styles.native.scss +0 -196
  922. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  923. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  924. package/src/embed/test/index.native.js +0 -1125
  925. package/src/embed/test/transforms.native.js +0 -44
  926. package/src/embed/transforms.native.js +0 -12
  927. package/src/embed/wp-embed-preview.native.js +0 -80
  928. package/src/file/edit.native.js +0 -605
  929. package/src/file/style.native.scss +0 -79
  930. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  931. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  932. package/src/file/test/edit.native.js +0 -93
  933. package/src/file/test/transforms.native.js +0 -43
  934. package/src/file/transforms.native.js +0 -12
  935. package/src/freeform/convert-to-blocks-button.js +0 -18
  936. package/src/freeform/edit.native.js +0 -13
  937. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  938. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  939. package/src/freeform/test/index.native.js +0 -57
  940. package/src/freeform/test/transforms.native.js +0 -39
  941. package/src/gallery/gallery-styles.native.scss +0 -8
  942. package/src/gallery/gallery.native.js +0 -124
  943. package/src/gallery/styles.native.scss +0 -7
  944. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  945. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  946. package/src/gallery/test/helpers.native.js +0 -106
  947. package/src/gallery/test/index.native.js +0 -700
  948. package/src/gallery/test/transforms.native.js +0 -53
  949. package/src/gallery/test/use-get-media.native.js +0 -24
  950. package/src/gallery/transforms.native.js +0 -12
  951. package/src/gallery/use-get-media.native.js +0 -49
  952. package/src/group/edit.native.js +0 -137
  953. package/src/group/editor.native.scss +0 -56
  954. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  955. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  956. package/src/group/test/edit.native.js +0 -100
  957. package/src/group/test/transforms.native.js +0 -73
  958. package/src/heading/edit.native.js +0 -159
  959. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  960. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  961. package/src/heading/test/index.native.js +0 -257
  962. package/src/heading/test/transforms.native.js +0 -46
  963. package/src/heading/transforms.native.js +0 -12
  964. package/src/html/transforms.native.js +0 -11
  965. package/src/image/edit.native.js +0 -959
  966. package/src/image/styles.native.scss +0 -70
  967. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  968. package/src/image/test/edit.native.js +0 -459
  969. package/src/image/test/transforms.native.js +0 -49
  970. package/src/image/transforms.native.js +0 -12
  971. package/src/index.native.js +0 -274
  972. package/src/latest-posts/edit.native.js +0 -294
  973. package/src/latest-posts/style.native.scss +0 -47
  974. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  975. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  976. package/src/latest-posts/test/edit.native.js +0 -49
  977. package/src/latest-posts/test/transforms.native.js +0 -61
  978. package/src/list/tag-name.native.js +0 -12
  979. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  980. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  981. package/src/list/test/edit.native.js +0 -602
  982. package/src/list/test/transforms.native.js +0 -56
  983. package/src/list/transforms.native.js +0 -12
  984. package/src/list-item/edit.native.js +0 -175
  985. package/src/list-item/hooks/use-enter.native.js +0 -81
  986. package/src/list-item/icons.native.js +0 -34
  987. package/src/list-item/list-style-type.native.js +0 -146
  988. package/src/list-item/style.native.scss +0 -57
  989. package/src/list-item/utils.js +0 -34
  990. package/src/media-text/edit.native.js +0 -417
  991. package/src/media-text/icon-retry.native.js +0 -11
  992. package/src/media-text/media-container.native.js +0 -393
  993. package/src/media-text/style.native.scss +0 -191
  994. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  995. package/src/media-text/test/edit.native.js +0 -58
  996. package/src/media-text/test/transforms.native.js +0 -116
  997. package/src/media-text/transforms.native.js +0 -12
  998. package/src/missing/edit.native.js +0 -294
  999. package/src/missing/style.native.scss +0 -79
  1000. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  1001. package/src/missing/test/edit-integration.native.js +0 -168
  1002. package/src/missing/test/edit.native.js +0 -81
  1003. package/src/more/edit.native.js +0 -36
  1004. package/src/more/editor.native.scss +0 -21
  1005. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  1006. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  1007. package/src/more/test/edit.native.js +0 -41
  1008. package/src/more/test/transforms.native.js +0 -42
  1009. package/src/more/transforms.native.js +0 -12
  1010. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  1011. package/src/nextpage/edit.native.js +0 -58
  1012. package/src/nextpage/editor.native.scss +0 -21
  1013. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  1014. package/src/nextpage/test/transforms.native.js +0 -42
  1015. package/src/nextpage/transforms.native.js +0 -12
  1016. package/src/paragraph/edit.native.js +0 -116
  1017. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  1018. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  1019. package/src/paragraph/test/edit.native.js +0 -999
  1020. package/src/paragraph/test/transforms.native.js +0 -51
  1021. package/src/paragraph/transforms.native.js +0 -12
  1022. package/src/preformatted/edit.native.js +0 -48
  1023. package/src/preformatted/styles.native.scss +0 -30
  1024. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  1025. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  1026. package/src/preformatted/test/edit.native.js +0 -111
  1027. package/src/preformatted/test/transforms.native.js +0 -47
  1028. package/src/preformatted/transforms.native.js +0 -12
  1029. package/src/pullquote/blockquote.native.js +0 -39
  1030. package/src/pullquote/blockquote.native.scss +0 -8
  1031. package/src/pullquote/edit.native.js +0 -128
  1032. package/src/pullquote/figure.native.js +0 -33
  1033. package/src/pullquote/figure.native.scss +0 -16
  1034. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  1035. package/src/pullquote/test/edit.native.js +0 -73
  1036. package/src/pullquote/test/transforms.native.js +0 -46
  1037. package/src/pullquote/transforms.native.js +0 -12
  1038. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  1039. package/src/quote/test/edit.native.js +0 -94
  1040. package/src/quote/test/transforms.native.js +0 -69
  1041. package/src/quote/transforms.native.js +0 -12
  1042. package/src/search/edit.native.js +0 -486
  1043. package/src/search/style.native.scss +0 -99
  1044. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  1045. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  1046. package/src/search/test/edit.native.js +0 -170
  1047. package/src/search/test/transforms.native.js +0 -40
  1048. package/src/separator/separator-settings.native.js +0 -3
  1049. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  1050. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  1051. package/src/separator/test/edit.native.js +0 -41
  1052. package/src/separator/test/transforms.native.js +0 -42
  1053. package/src/separator/transforms.native.js +0 -12
  1054. package/src/shortcode/edit.native.js +0 -77
  1055. package/src/shortcode/style.native.scss +0 -44
  1056. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  1057. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  1058. package/src/shortcode/test/edit.native.js +0 -70
  1059. package/src/shortcode/test/transforms.native.js +0 -42
  1060. package/src/shortcode/transforms.native.js +0 -12
  1061. package/src/social-link/edit.native.js +0 -219
  1062. package/src/social-link/editor.native.scss +0 -18
  1063. package/src/social-links/edit.native.js +0 -147
  1064. package/src/social-links/editor.native.scss +0 -25
  1065. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  1066. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  1067. package/src/social-links/test/edit.native.js +0 -266
  1068. package/src/social-links/test/transforms.native.js +0 -53
  1069. package/src/spacer/controls.native.js +0 -86
  1070. package/src/spacer/edit.native.js +0 -110
  1071. package/src/spacer/editor.native.scss +0 -18
  1072. package/src/spacer/save.native.js +0 -18
  1073. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  1074. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  1075. package/src/spacer/test/index.native.js +0 -257
  1076. package/src/spacer/test/transforms.native.js +0 -42
  1077. package/src/tab/block.json +0 -56
  1078. package/src/tab/controls.js +0 -19
  1079. package/src/tab/edit.js +0 -141
  1080. package/src/tab/editor.scss +0 -14
  1081. package/src/tab/index.js +0 -24
  1082. package/src/tab/index.php +0 -70
  1083. package/src/tab/save.js +0 -13
  1084. package/src/tab-list/editor.scss +0 -10
  1085. package/src/tab-panels/style.scss +0 -4
  1086. package/src/table/transforms.native.js +0 -11
  1087. package/src/tabs/use-tab-list-sync.js +0 -237
  1088. package/src/text-columns/transforms.native.js +0 -12
  1089. package/src/utils/init-block.native.js +0 -40
  1090. package/src/utils/transformation-categories.native.js +0 -47
  1091. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  1092. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  1093. package/src/verse/test/edit.native.js +0 -118
  1094. package/src/verse/test/transforms.native.js +0 -46
  1095. package/src/verse/transforms.native.js +0 -12
  1096. package/src/video/edit.native.js +0 -406
  1097. package/src/video/icon-retry.native.js +0 -11
  1098. package/src/video/style.native.scss +0 -81
  1099. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  1100. package/src/video/test/edit.native.js +0 -53
  1101. package/src/video/test/transforms.native.js +0 -49
  1102. 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
- } );