@wordpress/block-library 6.0.12 → 6.0.17-next.33ec3857e2.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 (737) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/index.js +1 -0
  3. package/build/archives/index.js.map +1 -1
  4. package/build/audio/index.js +1 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/block/index.js +1 -0
  7. package/build/block/index.js.map +1 -1
  8. package/build/button/edit.native.js +1 -1
  9. package/build/button/edit.native.js.map +1 -1
  10. package/build/button/index.js +5 -1
  11. package/build/button/index.js.map +1 -1
  12. package/build/buttons/index.js +1 -0
  13. package/build/buttons/index.js.map +1 -1
  14. package/build/buttons/transforms.js +1 -0
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/calendar/index.js +1 -0
  17. package/build/calendar/index.js.map +1 -1
  18. package/build/categories/index.js +1 -0
  19. package/build/categories/index.js.map +1 -1
  20. package/build/code/index.js +6 -1
  21. package/build/code/index.js.map +1 -1
  22. package/build/column/index.js +1 -0
  23. package/build/column/index.js.map +1 -1
  24. package/build/columns/index.js +1 -0
  25. package/build/columns/index.js.map +1 -1
  26. package/build/comment-author-avatar/edit.js +2 -1
  27. package/build/comment-author-avatar/edit.js.map +1 -1
  28. package/build/comment-author-avatar/index.js +7 -2
  29. package/build/comment-author-avatar/index.js.map +1 -1
  30. package/build/comment-author-name/index.js +1 -0
  31. package/build/comment-author-name/index.js.map +1 -1
  32. package/build/comment-content/index.js +1 -0
  33. package/build/comment-content/index.js.map +1 -1
  34. package/build/comment-date/index.js +1 -0
  35. package/build/comment-date/index.js.map +1 -1
  36. package/build/comment-edit-link/index.js +2 -1
  37. package/build/comment-edit-link/index.js.map +1 -1
  38. package/build/comment-reply-link/index.js +1 -0
  39. package/build/comment-reply-link/index.js.map +1 -1
  40. package/build/comment-template/edit.js +98 -23
  41. package/build/comment-template/edit.js.map +1 -1
  42. package/build/comment-template/index.js +4 -2
  43. package/build/comment-template/index.js.map +1 -1
  44. package/build/comment-template/util.js +66 -0
  45. package/build/comment-template/util.js.map +1 -0
  46. package/build/comments-pagination/comments-pagination-arrow-controls.js +39 -0
  47. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  48. package/build/comments-pagination/edit.js +80 -0
  49. package/build/comments-pagination/edit.js.map +1 -0
  50. package/build/comments-pagination/index.js +71 -0
  51. package/build/comments-pagination/index.js.map +1 -0
  52. package/build/comments-pagination/save.js +18 -0
  53. package/build/comments-pagination/save.js.map +1 -0
  54. package/build/comments-pagination-numbers/edit.js +47 -0
  55. package/build/comments-pagination-numbers/edit.js.map +1 -0
  56. package/build/comments-pagination-numbers/index.js +47 -0
  57. package/build/comments-pagination-numbers/index.js.map +1 -0
  58. package/build/comments-query-loop/edit.js +2 -2
  59. package/build/comments-query-loop/edit.js.map +1 -1
  60. package/build/comments-query-loop/index.js +4 -7
  61. package/build/comments-query-loop/index.js.map +1 -1
  62. package/build/comments-query-loop/toolbar.js +3 -3
  63. package/build/comments-query-loop/toolbar.js.map +1 -1
  64. package/build/cover/edit.js +2 -1
  65. package/build/cover/edit.js.map +1 -1
  66. package/build/cover/index.js +1 -0
  67. package/build/cover/index.js.map +1 -1
  68. package/build/embed/deprecated.js +1 -0
  69. package/build/embed/deprecated.js.map +1 -1
  70. package/build/embed/edit.native.js +23 -20
  71. package/build/embed/edit.native.js.map +1 -1
  72. package/build/embed/embed-controls.native.js +69 -0
  73. package/build/embed/embed-controls.native.js.map +1 -0
  74. package/build/embed/embed-link-settings.native.js +101 -0
  75. package/build/embed/embed-link-settings.native.js.map +1 -0
  76. package/build/embed/embed-placeholder.native.js +9 -2
  77. package/build/embed/embed-placeholder.native.js.map +1 -1
  78. package/build/embed/index.js +1 -0
  79. package/build/embed/index.js.map +1 -1
  80. package/build/embed/transforms.js +1 -0
  81. package/build/embed/transforms.js.map +1 -1
  82. package/build/embed/util.js +1 -0
  83. package/build/embed/util.js.map +1 -1
  84. package/build/file/index.js +1 -0
  85. package/build/file/index.js.map +1 -1
  86. package/build/freeform/index.js +1 -0
  87. package/build/freeform/index.js.map +1 -1
  88. package/build/gallery/edit.js +5 -1
  89. package/build/gallery/edit.js.map +1 -1
  90. package/build/gallery/index.js +1 -0
  91. package/build/gallery/index.js.map +1 -1
  92. package/build/group/index.js +8 -1
  93. package/build/group/index.js.map +1 -1
  94. package/build/heading/index.js +1 -0
  95. package/build/heading/index.js.map +1 -1
  96. package/build/heading/transforms.js +1 -0
  97. package/build/heading/transforms.js.map +1 -1
  98. package/build/home-link/index.js +1 -0
  99. package/build/home-link/index.js.map +1 -1
  100. package/build/html/index.js +1 -0
  101. package/build/html/index.js.map +1 -1
  102. package/build/image/edit.js +56 -5
  103. package/build/image/edit.js.map +1 -1
  104. package/build/image/edit.native.js +1 -1
  105. package/build/image/edit.native.js.map +1 -1
  106. package/build/image/image.js +45 -10
  107. package/build/image/image.js.map +1 -1
  108. package/build/image/index.js +5 -1
  109. package/build/image/index.js.map +1 -1
  110. package/build/index.js +5 -1
  111. package/build/index.js.map +1 -1
  112. package/build/latest-comments/index.js +1 -0
  113. package/build/latest-comments/index.js.map +1 -1
  114. package/build/latest-posts/deprecated.js +1 -0
  115. package/build/latest-posts/deprecated.js.map +1 -1
  116. package/build/latest-posts/index.js +1 -0
  117. package/build/latest-posts/index.js.map +1 -1
  118. package/build/list/index.js +1 -0
  119. package/build/list/index.js.map +1 -1
  120. package/build/loginout/index.js +1 -0
  121. package/build/loginout/index.js.map +1 -1
  122. package/build/media-text/index.js +1 -0
  123. package/build/media-text/index.js.map +1 -1
  124. package/build/missing/index.js +1 -0
  125. package/build/missing/index.js.map +1 -1
  126. package/build/more/index.js +1 -0
  127. package/build/more/index.js.map +1 -1
  128. package/build/navigation/edit/index.js +27 -8
  129. package/build/navigation/edit/index.js.map +1 -1
  130. package/build/navigation/edit/navigation-menu-selector.js +7 -1
  131. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  132. package/build/navigation/index.js +1 -0
  133. package/build/navigation/index.js.map +1 -1
  134. package/build/navigation/menu-items-to-blocks.js +8 -2
  135. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  136. package/build/navigation/view.js +2 -2
  137. package/build/navigation/view.js.map +1 -1
  138. package/build/navigation-area/edit.js +2 -1
  139. package/build/navigation-area/edit.js.map +1 -1
  140. package/build/navigation-area/index.js +2 -1
  141. package/build/navigation-area/index.js.map +1 -1
  142. package/build/navigation-link/edit.js +7 -0
  143. package/build/navigation-link/edit.js.map +1 -1
  144. package/build/navigation-link/index.js +1 -0
  145. package/build/navigation-link/index.js.map +1 -1
  146. package/build/navigation-submenu/edit.js +2 -1
  147. package/build/navigation-submenu/edit.js.map +1 -1
  148. package/build/navigation-submenu/index.js +1 -0
  149. package/build/navigation-submenu/index.js.map +1 -1
  150. package/build/nextpage/index.js +1 -0
  151. package/build/nextpage/index.js.map +1 -1
  152. package/build/page-list/index.js +6 -1
  153. package/build/page-list/index.js.map +1 -1
  154. package/build/paragraph/edit.js +12 -2
  155. package/build/paragraph/edit.js.map +1 -1
  156. package/build/paragraph/index.js +1 -0
  157. package/build/paragraph/index.js.map +1 -1
  158. package/build/paragraph/transforms.js +1 -0
  159. package/build/paragraph/transforms.js.map +1 -1
  160. package/build/pattern/index.js +1 -0
  161. package/build/pattern/index.js.map +1 -1
  162. package/build/post-author/index.js +1 -0
  163. package/build/post-author/index.js.map +1 -1
  164. package/build/post-comment/index.js +1 -0
  165. package/build/post-comment/index.js.map +1 -1
  166. package/build/post-comments/index.js +2 -1
  167. package/build/post-comments/index.js.map +1 -1
  168. package/build/post-comments-count/index.js +1 -0
  169. package/build/post-comments-count/index.js.map +1 -1
  170. package/build/post-comments-form/index.js +1 -0
  171. package/build/post-comments-form/index.js.map +1 -1
  172. package/build/post-comments-link/index.js +1 -0
  173. package/build/post-comments-link/index.js.map +1 -1
  174. package/build/post-content/index.js +1 -0
  175. package/build/post-content/index.js.map +1 -1
  176. package/build/post-date/index.js +1 -0
  177. package/build/post-date/index.js.map +1 -1
  178. package/build/post-excerpt/index.js +1 -0
  179. package/build/post-excerpt/index.js.map +1 -1
  180. package/build/post-featured-image/dimension-controls.js +50 -30
  181. package/build/post-featured-image/dimension-controls.js.map +1 -1
  182. package/build/post-featured-image/edit.js +7 -3
  183. package/build/post-featured-image/edit.js.map +1 -1
  184. package/build/post-featured-image/index.js +1 -0
  185. package/build/post-featured-image/index.js.map +1 -1
  186. package/build/post-navigation-link/index.js +1 -0
  187. package/build/post-navigation-link/index.js.map +1 -1
  188. package/build/post-template/edit.js +54 -13
  189. package/build/post-template/edit.js.map +1 -1
  190. package/build/post-template/index.js +1 -0
  191. package/build/post-template/index.js.map +1 -1
  192. package/build/post-terms/index.js +1 -0
  193. package/build/post-terms/index.js.map +1 -1
  194. package/build/post-title/index.js +1 -0
  195. package/build/post-title/index.js.map +1 -1
  196. package/build/preformatted/edit.native.js +2 -1
  197. package/build/preformatted/edit.native.js.map +1 -1
  198. package/build/preformatted/index.js +1 -0
  199. package/build/preformatted/index.js.map +1 -1
  200. package/build/pullquote/index.js +8 -1
  201. package/build/pullquote/index.js.map +1 -1
  202. package/build/query/index.js +1 -0
  203. package/build/query/index.js.map +1 -1
  204. package/build/query-pagination/index.js +1 -0
  205. package/build/query-pagination/index.js.map +1 -1
  206. package/build/query-pagination-next/index.js +1 -0
  207. package/build/query-pagination-next/index.js.map +1 -1
  208. package/build/query-pagination-numbers/index.js +1 -0
  209. package/build/query-pagination-numbers/index.js.map +1 -1
  210. package/build/query-pagination-previous/index.js +1 -0
  211. package/build/query-pagination-previous/index.js.map +1 -1
  212. package/build/query-title/index.js +1 -0
  213. package/build/query-title/index.js.map +1 -1
  214. package/build/quote/index.js +1 -0
  215. package/build/quote/index.js.map +1 -1
  216. package/build/rss/index.js +1 -0
  217. package/build/rss/index.js.map +1 -1
  218. package/build/search/edit.js +5 -3
  219. package/build/search/edit.js.map +1 -1
  220. package/build/search/index.js +8 -1
  221. package/build/search/index.js.map +1 -1
  222. package/build/separator/index.js +1 -0
  223. package/build/separator/index.js.map +1 -1
  224. package/build/shortcode/index.js +1 -0
  225. package/build/shortcode/index.js.map +1 -1
  226. package/build/site-logo/index.js +1 -0
  227. package/build/site-logo/index.js.map +1 -1
  228. package/build/site-tagline/index.js +2 -1
  229. package/build/site-tagline/index.js.map +1 -1
  230. package/build/site-title/index.js +1 -0
  231. package/build/site-title/index.js.map +1 -1
  232. package/build/social-link/index.js +2 -1
  233. package/build/social-link/index.js.map +1 -1
  234. package/build/social-links/index.js +2 -1
  235. package/build/social-links/index.js.map +1 -1
  236. package/build/spacer/index.js +1 -0
  237. package/build/spacer/index.js.map +1 -1
  238. package/build/table/index.js +7 -1
  239. package/build/table/index.js.map +1 -1
  240. package/build/table-of-contents/index.js +1 -0
  241. package/build/table-of-contents/index.js.map +1 -1
  242. package/build/tag-cloud/index.js +1 -0
  243. package/build/tag-cloud/index.js.map +1 -1
  244. package/build/template-part/edit/index.js +7 -1
  245. package/build/template-part/edit/index.js.map +1 -1
  246. package/build/template-part/index.js +26 -9
  247. package/build/template-part/index.js.map +1 -1
  248. package/build/term-description/index.js +1 -0
  249. package/build/term-description/index.js.map +1 -1
  250. package/build/text-columns/index.js +1 -0
  251. package/build/text-columns/index.js.map +1 -1
  252. package/build/verse/index.js +1 -0
  253. package/build/verse/index.js.map +1 -1
  254. package/build/video/index.js +1 -0
  255. package/build/video/index.js.map +1 -1
  256. package/build-module/archives/index.js +1 -0
  257. package/build-module/archives/index.js.map +1 -1
  258. package/build-module/audio/index.js +1 -0
  259. package/build-module/audio/index.js.map +1 -1
  260. package/build-module/block/index.js +1 -0
  261. package/build-module/block/index.js.map +1 -1
  262. package/build-module/button/edit.native.js +1 -1
  263. package/build-module/button/edit.native.js.map +1 -1
  264. package/build-module/button/index.js +5 -1
  265. package/build-module/button/index.js.map +1 -1
  266. package/build-module/buttons/index.js +1 -0
  267. package/build-module/buttons/index.js.map +1 -1
  268. package/build-module/buttons/transforms.js +1 -0
  269. package/build-module/buttons/transforms.js.map +1 -1
  270. package/build-module/calendar/index.js +1 -0
  271. package/build-module/calendar/index.js.map +1 -1
  272. package/build-module/categories/index.js +1 -0
  273. package/build-module/categories/index.js.map +1 -1
  274. package/build-module/code/index.js +6 -1
  275. package/build-module/code/index.js.map +1 -1
  276. package/build-module/column/index.js +1 -0
  277. package/build-module/column/index.js.map +1 -1
  278. package/build-module/columns/index.js +1 -0
  279. package/build-module/columns/index.js.map +1 -1
  280. package/build-module/comment-author-avatar/edit.js +3 -2
  281. package/build-module/comment-author-avatar/edit.js.map +1 -1
  282. package/build-module/comment-author-avatar/index.js +7 -2
  283. package/build-module/comment-author-avatar/index.js.map +1 -1
  284. package/build-module/comment-author-name/index.js +1 -0
  285. package/build-module/comment-author-name/index.js.map +1 -1
  286. package/build-module/comment-content/index.js +1 -0
  287. package/build-module/comment-content/index.js.map +1 -1
  288. package/build-module/comment-date/index.js +1 -0
  289. package/build-module/comment-date/index.js.map +1 -1
  290. package/build-module/comment-edit-link/index.js +2 -1
  291. package/build-module/comment-edit-link/index.js.map +1 -1
  292. package/build-module/comment-reply-link/index.js +1 -0
  293. package/build-module/comment-reply-link/index.js.map +1 -1
  294. package/build-module/comment-template/edit.js +97 -23
  295. package/build-module/comment-template/edit.js.map +1 -1
  296. package/build-module/comment-template/index.js +4 -2
  297. package/build-module/comment-template/index.js.map +1 -1
  298. package/build-module/comment-template/util.js +57 -0
  299. package/build-module/comment-template/util.js.map +1 -0
  300. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +30 -0
  301. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  302. package/build-module/comments-pagination/edit.js +67 -0
  303. package/build-module/comments-pagination/edit.js.map +1 -0
  304. package/build-module/comments-pagination/index.js +57 -0
  305. package/build-module/comments-pagination/index.js.map +1 -0
  306. package/build-module/comments-pagination/save.js +10 -0
  307. package/build-module/comments-pagination/save.js.map +1 -0
  308. package/build-module/comments-pagination-numbers/edit.js +40 -0
  309. package/build-module/comments-pagination-numbers/edit.js.map +1 -0
  310. package/build-module/comments-pagination-numbers/index.js +34 -0
  311. package/build-module/comments-pagination-numbers/index.js.map +1 -0
  312. package/build-module/comments-query-loop/edit.js +2 -2
  313. package/build-module/comments-query-loop/edit.js.map +1 -1
  314. package/build-module/comments-query-loop/index.js +4 -7
  315. package/build-module/comments-query-loop/index.js.map +1 -1
  316. package/build-module/comments-query-loop/toolbar.js +3 -3
  317. package/build-module/comments-query-loop/toolbar.js.map +1 -1
  318. package/build-module/cover/edit.js +2 -1
  319. package/build-module/cover/edit.js.map +1 -1
  320. package/build-module/cover/index.js +1 -0
  321. package/build-module/cover/index.js.map +1 -1
  322. package/build-module/embed/deprecated.js +1 -0
  323. package/build-module/embed/deprecated.js.map +1 -1
  324. package/build-module/embed/edit.native.js +24 -21
  325. package/build-module/embed/edit.native.js.map +1 -1
  326. package/build-module/embed/embed-controls.native.js +54 -0
  327. package/build-module/embed/embed-controls.native.js.map +1 -0
  328. package/build-module/embed/embed-link-settings.native.js +90 -0
  329. package/build-module/embed/embed-link-settings.native.js.map +1 -0
  330. package/build-module/embed/embed-placeholder.native.js +9 -2
  331. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  332. package/build-module/embed/index.js +1 -0
  333. package/build-module/embed/index.js.map +1 -1
  334. package/build-module/embed/transforms.js +1 -0
  335. package/build-module/embed/transforms.js.map +1 -1
  336. package/build-module/embed/util.js +1 -0
  337. package/build-module/embed/util.js.map +1 -1
  338. package/build-module/file/index.js +1 -0
  339. package/build-module/file/index.js.map +1 -1
  340. package/build-module/freeform/index.js +1 -0
  341. package/build-module/freeform/index.js.map +1 -1
  342. package/build-module/gallery/edit.js +5 -1
  343. package/build-module/gallery/edit.js.map +1 -1
  344. package/build-module/gallery/index.js +1 -0
  345. package/build-module/gallery/index.js.map +1 -1
  346. package/build-module/group/index.js +8 -1
  347. package/build-module/group/index.js.map +1 -1
  348. package/build-module/heading/index.js +1 -0
  349. package/build-module/heading/index.js.map +1 -1
  350. package/build-module/heading/transforms.js +1 -0
  351. package/build-module/heading/transforms.js.map +1 -1
  352. package/build-module/home-link/index.js +1 -0
  353. package/build-module/home-link/index.js.map +1 -1
  354. package/build-module/html/index.js +1 -0
  355. package/build-module/html/index.js.map +1 -1
  356. package/build-module/image/edit.js +52 -4
  357. package/build-module/image/edit.js.map +1 -1
  358. package/build-module/image/edit.native.js +1 -1
  359. package/build-module/image/edit.native.js.map +1 -1
  360. package/build-module/image/image.js +47 -12
  361. package/build-module/image/image.js.map +1 -1
  362. package/build-module/image/index.js +5 -1
  363. package/build-module/image/index.js.map +1 -1
  364. package/build-module/index.js +3 -1
  365. package/build-module/index.js.map +1 -1
  366. package/build-module/latest-comments/index.js +1 -0
  367. package/build-module/latest-comments/index.js.map +1 -1
  368. package/build-module/latest-posts/deprecated.js +1 -0
  369. package/build-module/latest-posts/deprecated.js.map +1 -1
  370. package/build-module/latest-posts/index.js +1 -0
  371. package/build-module/latest-posts/index.js.map +1 -1
  372. package/build-module/list/index.js +1 -0
  373. package/build-module/list/index.js.map +1 -1
  374. package/build-module/loginout/index.js +1 -0
  375. package/build-module/loginout/index.js.map +1 -1
  376. package/build-module/media-text/index.js +1 -0
  377. package/build-module/media-text/index.js.map +1 -1
  378. package/build-module/missing/index.js +1 -0
  379. package/build-module/missing/index.js.map +1 -1
  380. package/build-module/more/index.js +1 -0
  381. package/build-module/more/index.js.map +1 -1
  382. package/build-module/navigation/edit/index.js +26 -8
  383. package/build-module/navigation/edit/index.js.map +1 -1
  384. package/build-module/navigation/edit/navigation-menu-selector.js +6 -1
  385. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  386. package/build-module/navigation/index.js +1 -0
  387. package/build-module/navigation/index.js.map +1 -1
  388. package/build-module/navigation/menu-items-to-blocks.js +7 -2
  389. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  390. package/build-module/navigation/view.js +2 -2
  391. package/build-module/navigation/view.js.map +1 -1
  392. package/build-module/navigation-area/edit.js +2 -1
  393. package/build-module/navigation-area/edit.js.map +1 -1
  394. package/build-module/navigation-area/index.js +2 -1
  395. package/build-module/navigation-area/index.js.map +1 -1
  396. package/build-module/navigation-link/edit.js +7 -0
  397. package/build-module/navigation-link/edit.js.map +1 -1
  398. package/build-module/navigation-link/index.js +1 -0
  399. package/build-module/navigation-link/index.js.map +1 -1
  400. package/build-module/navigation-submenu/edit.js +2 -1
  401. package/build-module/navigation-submenu/edit.js.map +1 -1
  402. package/build-module/navigation-submenu/index.js +1 -0
  403. package/build-module/navigation-submenu/index.js.map +1 -1
  404. package/build-module/nextpage/index.js +1 -0
  405. package/build-module/nextpage/index.js.map +1 -1
  406. package/build-module/page-list/index.js +6 -1
  407. package/build-module/page-list/index.js.map +1 -1
  408. package/build-module/paragraph/edit.js +13 -3
  409. package/build-module/paragraph/edit.js.map +1 -1
  410. package/build-module/paragraph/index.js +1 -0
  411. package/build-module/paragraph/index.js.map +1 -1
  412. package/build-module/paragraph/transforms.js +1 -0
  413. package/build-module/paragraph/transforms.js.map +1 -1
  414. package/build-module/pattern/index.js +1 -0
  415. package/build-module/pattern/index.js.map +1 -1
  416. package/build-module/post-author/index.js +1 -0
  417. package/build-module/post-author/index.js.map +1 -1
  418. package/build-module/post-comment/index.js +1 -0
  419. package/build-module/post-comment/index.js.map +1 -1
  420. package/build-module/post-comments/index.js +2 -1
  421. package/build-module/post-comments/index.js.map +1 -1
  422. package/build-module/post-comments-count/index.js +1 -0
  423. package/build-module/post-comments-count/index.js.map +1 -1
  424. package/build-module/post-comments-form/index.js +1 -0
  425. package/build-module/post-comments-form/index.js.map +1 -1
  426. package/build-module/post-comments-link/index.js +1 -0
  427. package/build-module/post-comments-link/index.js.map +1 -1
  428. package/build-module/post-content/index.js +1 -0
  429. package/build-module/post-content/index.js.map +1 -1
  430. package/build-module/post-date/index.js +1 -0
  431. package/build-module/post-date/index.js.map +1 -1
  432. package/build-module/post-excerpt/index.js +1 -0
  433. package/build-module/post-excerpt/index.js.map +1 -1
  434. package/build-module/post-featured-image/dimension-controls.js +52 -29
  435. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  436. package/build-module/post-featured-image/edit.js +8 -4
  437. package/build-module/post-featured-image/edit.js.map +1 -1
  438. package/build-module/post-featured-image/index.js +1 -0
  439. package/build-module/post-featured-image/index.js.map +1 -1
  440. package/build-module/post-navigation-link/index.js +1 -0
  441. package/build-module/post-navigation-link/index.js.map +1 -1
  442. package/build-module/post-template/edit.js +54 -15
  443. package/build-module/post-template/edit.js.map +1 -1
  444. package/build-module/post-template/index.js +1 -0
  445. package/build-module/post-template/index.js.map +1 -1
  446. package/build-module/post-terms/index.js +1 -0
  447. package/build-module/post-terms/index.js.map +1 -1
  448. package/build-module/post-title/index.js +1 -0
  449. package/build-module/post-title/index.js.map +1 -1
  450. package/build-module/preformatted/edit.native.js +2 -1
  451. package/build-module/preformatted/edit.native.js.map +1 -1
  452. package/build-module/preformatted/index.js +1 -0
  453. package/build-module/preformatted/index.js.map +1 -1
  454. package/build-module/pullquote/index.js +8 -1
  455. package/build-module/pullquote/index.js.map +1 -1
  456. package/build-module/query/index.js +1 -0
  457. package/build-module/query/index.js.map +1 -1
  458. package/build-module/query-pagination/index.js +1 -0
  459. package/build-module/query-pagination/index.js.map +1 -1
  460. package/build-module/query-pagination-next/index.js +1 -0
  461. package/build-module/query-pagination-next/index.js.map +1 -1
  462. package/build-module/query-pagination-numbers/index.js +1 -0
  463. package/build-module/query-pagination-numbers/index.js.map +1 -1
  464. package/build-module/query-pagination-previous/index.js +1 -0
  465. package/build-module/query-pagination-previous/index.js.map +1 -1
  466. package/build-module/query-title/index.js +1 -0
  467. package/build-module/query-title/index.js.map +1 -1
  468. package/build-module/quote/index.js +1 -0
  469. package/build-module/quote/index.js.map +1 -1
  470. package/build-module/rss/index.js +1 -0
  471. package/build-module/rss/index.js.map +1 -1
  472. package/build-module/search/edit.js +5 -3
  473. package/build-module/search/edit.js.map +1 -1
  474. package/build-module/search/index.js +8 -1
  475. package/build-module/search/index.js.map +1 -1
  476. package/build-module/separator/index.js +1 -0
  477. package/build-module/separator/index.js.map +1 -1
  478. package/build-module/shortcode/index.js +1 -0
  479. package/build-module/shortcode/index.js.map +1 -1
  480. package/build-module/site-logo/index.js +1 -0
  481. package/build-module/site-logo/index.js.map +1 -1
  482. package/build-module/site-tagline/index.js +2 -1
  483. package/build-module/site-tagline/index.js.map +1 -1
  484. package/build-module/site-title/index.js +1 -0
  485. package/build-module/site-title/index.js.map +1 -1
  486. package/build-module/social-link/index.js +2 -1
  487. package/build-module/social-link/index.js.map +1 -1
  488. package/build-module/social-links/index.js +2 -1
  489. package/build-module/social-links/index.js.map +1 -1
  490. package/build-module/spacer/index.js +1 -0
  491. package/build-module/spacer/index.js.map +1 -1
  492. package/build-module/table/index.js +7 -1
  493. package/build-module/table/index.js.map +1 -1
  494. package/build-module/table-of-contents/index.js +1 -0
  495. package/build-module/table-of-contents/index.js.map +1 -1
  496. package/build-module/tag-cloud/index.js +1 -0
  497. package/build-module/tag-cloud/index.js.map +1 -1
  498. package/build-module/template-part/edit/index.js +6 -1
  499. package/build-module/template-part/edit/index.js.map +1 -1
  500. package/build-module/template-part/index.js +26 -9
  501. package/build-module/template-part/index.js.map +1 -1
  502. package/build-module/term-description/index.js +1 -0
  503. package/build-module/term-description/index.js.map +1 -1
  504. package/build-module/text-columns/index.js +1 -0
  505. package/build-module/text-columns/index.js.map +1 -1
  506. package/build-module/verse/index.js +1 -0
  507. package/build-module/verse/index.js.map +1 -1
  508. package/build-module/video/index.js +1 -0
  509. package/build-module/video/index.js.map +1 -1
  510. package/build-style/columns/style-rtl.css +4 -3
  511. package/build-style/columns/style.css +4 -3
  512. package/build-style/comment-template/style-rtl.css +91 -0
  513. package/build-style/comment-template/style.css +91 -0
  514. package/build-style/{home-link/style.css → comments-pagination/editor-rtl.css} +18 -22
  515. package/build-style/comments-pagination/editor.css +102 -0
  516. package/build-style/{home-link → comments-pagination}/style-rtl.css +21 -21
  517. package/build-style/comments-pagination/style.css +106 -0
  518. package/build-style/comments-pagination-numbers/editor-rtl.css +85 -0
  519. package/build-style/comments-pagination-numbers/editor.css +86 -0
  520. package/build-style/common-rtl.css +29 -0
  521. package/build-style/common.css +29 -0
  522. package/build-style/cover/style-rtl.css +4 -0
  523. package/build-style/cover/style.css +4 -0
  524. package/build-style/editor-rtl.css +70 -23
  525. package/build-style/editor.css +73 -23
  526. package/build-style/gallery/editor-rtl.css +0 -12
  527. package/build-style/gallery/editor.css +0 -12
  528. package/build-style/gallery/style-rtl.css +3 -0
  529. package/build-style/gallery/style.css +3 -0
  530. package/build-style/group/theme-rtl.css +1 -1
  531. package/build-style/group/theme.css +1 -1
  532. package/build-style/image/editor-rtl.css +16 -0
  533. package/build-style/image/editor.css +16 -0
  534. package/build-style/navigation/editor-rtl.css +9 -0
  535. package/build-style/navigation/editor.css +9 -0
  536. package/build-style/navigation/style-rtl.css +13 -7
  537. package/build-style/navigation/style.css +13 -7
  538. package/build-style/post-comments/style-rtl.css +3 -1
  539. package/build-style/post-comments/style.css +3 -1
  540. package/build-style/post-comments-form/style-rtl.css +2 -2
  541. package/build-style/post-comments-form/style.css +2 -2
  542. package/build-style/post-featured-image/editor-rtl.css +0 -7
  543. package/build-style/post-featured-image/editor.css +0 -7
  544. package/build-style/post-featured-image/style-rtl.css +1 -1
  545. package/build-style/post-featured-image/style.css +1 -1
  546. package/build-style/post-title/style-rtl.css +3 -0
  547. package/build-style/post-title/style.css +3 -0
  548. package/build-style/pullquote/style-rtl.css +1 -0
  549. package/build-style/pullquote/style.css +1 -0
  550. package/build-style/query-pagination/editor-rtl.css +0 -4
  551. package/build-style/query-pagination/editor.css +0 -4
  552. package/build-style/query-pagination/style-rtl.css +6 -2
  553. package/build-style/query-pagination/style.css +6 -2
  554. package/build-style/style-rtl.css +131 -61
  555. package/build-style/style.css +133 -61
  556. package/build-style/table/style-rtl.css +1 -0
  557. package/build-style/table/style.css +1 -0
  558. package/build-style/theme-rtl.css +1 -1
  559. package/build-style/theme.css +1 -1
  560. package/package.json +31 -31
  561. package/src/archives/block.json +1 -0
  562. package/src/audio/block.json +1 -0
  563. package/src/block/block.json +1 -0
  564. package/src/button/block.json +5 -1
  565. package/src/button/edit.native.js +1 -1
  566. package/src/buttons/block.json +2 -1
  567. package/src/calendar/block.json +1 -0
  568. package/src/calendar/index.php +35 -39
  569. package/src/categories/block.json +1 -0
  570. package/src/code/block.json +6 -1
  571. package/src/column/block.json +1 -0
  572. package/src/columns/block.json +1 -0
  573. package/src/columns/style.scss +8 -5
  574. package/src/comment-author-avatar/block.json +7 -2
  575. package/src/comment-author-avatar/edit.js +7 -2
  576. package/src/comment-author-avatar/index.php +25 -6
  577. package/src/comment-author-name/block.json +1 -0
  578. package/src/comment-content/block.json +1 -0
  579. package/src/comment-date/block.json +1 -0
  580. package/src/comment-edit-link/block.json +1 -0
  581. package/src/comment-edit-link/index.js +1 -1
  582. package/src/comment-reply-link/block.json +1 -0
  583. package/src/comment-template/block.json +4 -2
  584. package/src/comment-template/edit.js +111 -37
  585. package/src/comment-template/index.php +46 -19
  586. package/src/comment-template/style.scss +17 -0
  587. package/src/comment-template/test/index.js +45 -0
  588. package/src/comment-template/util.js +56 -0
  589. package/src/comments-pagination/block.json +37 -0
  590. package/src/comments-pagination/comments-pagination-arrow-controls.js +44 -0
  591. package/src/comments-pagination/edit.js +78 -0
  592. package/src/comments-pagination/editor.scss +34 -0
  593. package/src/comments-pagination/index.js +20 -0
  594. package/src/comments-pagination/index.php +39 -0
  595. package/src/comments-pagination/save.js +8 -0
  596. package/src/comments-pagination/style.scss +38 -0
  597. package/src/comments-pagination-numbers/block.json +16 -0
  598. package/src/comments-pagination-numbers/edit.js +22 -0
  599. package/src/comments-pagination-numbers/editor.scss +12 -0
  600. package/src/comments-pagination-numbers/index.js +18 -0
  601. package/src/comments-pagination-numbers/index.php +69 -0
  602. package/src/comments-query-loop/block.json +4 -7
  603. package/src/comments-query-loop/edit.js +2 -5
  604. package/src/comments-query-loop/toolbar.js +3 -3
  605. package/src/common.scss +31 -0
  606. package/src/cover/block.json +1 -0
  607. package/src/cover/edit.js +1 -0
  608. package/src/cover/style.scss +4 -0
  609. package/src/editor.scss +14 -0
  610. package/src/embed/block.json +1 -0
  611. package/src/embed/edit.native.js +23 -18
  612. package/src/embed/embed-controls.native.js +65 -0
  613. package/src/embed/embed-link-settings.native.js +100 -0
  614. package/src/embed/embed-placeholder.native.js +8 -0
  615. package/src/embed/test/__snapshots__/index.native.js.snap +10 -0
  616. package/src/embed/test/index.native.js +228 -88
  617. package/src/file/block.json +1 -0
  618. package/src/freeform/block.json +1 -0
  619. package/src/gallery/block.json +1 -0
  620. package/src/gallery/edit.js +13 -0
  621. package/src/gallery/editor.scss +0 -14
  622. package/src/gallery/index.php +7 -8
  623. package/src/gallery/style.scss +4 -0
  624. package/src/gallery/test/use-get-new-images.js +93 -0
  625. package/src/group/block.json +8 -1
  626. package/src/group/theme.scss +4 -5
  627. package/src/heading/block.json +1 -0
  628. package/src/home-link/block.json +1 -0
  629. package/src/home-link/index.php +4 -4
  630. package/src/html/block.json +1 -0
  631. package/src/image/block.json +5 -1
  632. package/src/image/edit.js +44 -0
  633. package/src/image/edit.native.js +1 -1
  634. package/src/image/editor.scss +18 -0
  635. package/src/image/image.js +46 -11
  636. package/src/image/index.php +1 -1
  637. package/src/index.js +4 -0
  638. package/src/latest-comments/block.json +1 -0
  639. package/src/latest-posts/block.json +1 -0
  640. package/src/list/block.json +1 -0
  641. package/src/loginout/block.json +1 -0
  642. package/src/media-text/block.json +1 -0
  643. package/src/missing/block.json +1 -0
  644. package/src/more/block.json +1 -0
  645. package/src/navigation/README.md +13 -0
  646. package/src/navigation/block.json +4 -16
  647. package/src/navigation/edit/index.js +51 -28
  648. package/src/navigation/edit/navigation-menu-selector.js +8 -0
  649. package/src/navigation/editor.scss +12 -0
  650. package/src/navigation/index.php +4 -4
  651. package/src/navigation/menu-items-to-blocks.js +9 -2
  652. package/src/navigation/style.scss +26 -14
  653. package/src/navigation/view.js +2 -2
  654. package/src/navigation-area/block.json +3 -7
  655. package/src/navigation-area/edit.js +2 -1
  656. package/src/navigation-link/block.json +2 -3
  657. package/src/navigation-link/edit.js +5 -0
  658. package/src/navigation-link/index.php +4 -4
  659. package/src/navigation-submenu/block.json +2 -3
  660. package/src/navigation-submenu/edit.js +1 -1
  661. package/src/navigation-submenu/index.php +12 -6
  662. package/src/nextpage/block.json +1 -0
  663. package/src/page-list/block.json +4 -0
  664. package/src/page-list/index.php +12 -7
  665. package/src/paragraph/block.json +1 -0
  666. package/src/paragraph/edit.js +12 -4
  667. package/src/pattern/block.json +1 -0
  668. package/src/post-author/block.json +1 -0
  669. package/src/post-comment/block.json +1 -0
  670. package/src/post-comments/block.json +6 -1
  671. package/src/post-comments/index.php +17 -0
  672. package/src/post-comments/style.scss +7 -3
  673. package/src/post-comments-count/block.json +1 -0
  674. package/src/post-comments-form/block.json +6 -1
  675. package/src/post-comments-form/index.php +6 -4
  676. package/src/post-comments-form/style.scss +7 -5
  677. package/src/post-comments-link/block.json +1 -0
  678. package/src/post-content/block.json +1 -0
  679. package/src/post-date/block.json +1 -0
  680. package/src/post-excerpt/block.json +1 -0
  681. package/src/post-featured-image/block.json +1 -0
  682. package/src/post-featured-image/dimension-controls.js +75 -50
  683. package/src/post-featured-image/edit.js +12 -5
  684. package/src/post-featured-image/editor.scss +0 -8
  685. package/src/post-featured-image/style.scss +1 -1
  686. package/src/post-navigation-link/block.json +1 -0
  687. package/src/post-template/block.json +1 -0
  688. package/src/post-template/edit.js +54 -17
  689. package/src/post-terms/block.json +1 -0
  690. package/src/post-title/block.json +1 -0
  691. package/src/post-title/style.scss +6 -2
  692. package/src/preformatted/block.json +1 -0
  693. package/src/preformatted/edit.native.js +3 -1
  694. package/src/pullquote/block.json +8 -1
  695. package/src/pullquote/style.scss +1 -0
  696. package/src/query/block.json +1 -0
  697. package/src/query-pagination/block.json +1 -0
  698. package/src/query-pagination/editor.scss +0 -4
  699. package/src/query-pagination/style.scss +12 -2
  700. package/src/query-pagination-next/block.json +1 -0
  701. package/src/query-pagination-next/index.php +42 -19
  702. package/src/query-pagination-numbers/block.json +1 -0
  703. package/src/query-pagination-previous/block.json +1 -0
  704. package/src/query-pagination-previous/index.php +45 -13
  705. package/src/query-title/block.json +1 -0
  706. package/src/quote/block.json +1 -0
  707. package/src/rss/block.json +1 -0
  708. package/src/search/block.json +8 -1
  709. package/src/search/edit.js +2 -1
  710. package/src/search/index.php +20 -10
  711. package/src/separator/block.json +1 -0
  712. package/src/shortcode/block.json +1 -0
  713. package/src/site-logo/block.json +1 -0
  714. package/src/site-tagline/block.json +2 -1
  715. package/src/site-title/block.json +1 -0
  716. package/src/social-link/block.json +2 -1
  717. package/src/social-links/block.json +3 -8
  718. package/src/spacer/block.json +1 -0
  719. package/src/style.scss +3 -2
  720. package/src/table/block.json +7 -1
  721. package/src/table/style.scss +1 -0
  722. package/src/table-of-contents/block.json +1 -0
  723. package/src/tag-cloud/block.json +1 -0
  724. package/src/template-part/block.json +1 -8
  725. package/src/template-part/edit/index.js +6 -1
  726. package/src/template-part/index.js +28 -0
  727. package/src/template-part/index.php +5 -2
  728. package/src/term-description/block.json +1 -0
  729. package/src/text-columns/block.json +1 -0
  730. package/src/verse/block.json +1 -0
  731. package/src/video/block.json +1 -0
  732. package/build/embed/embed-bottom-sheet.native.js +0 -85
  733. package/build/embed/embed-bottom-sheet.native.js.map +0 -1
  734. package/build-module/embed/embed-bottom-sheet.native.js +0 -74
  735. package/build-module/embed/embed-bottom-sheet.native.js.map +0 -1
  736. package/src/embed/embed-bottom-sheet.native.js +0 -78
  737. package/src/home-link/style.scss +0 -51
@@ -37,6 +37,16 @@ jest.mock( 'react-native-modal', () => {
37
37
  const mockComponent = require( 'react-native/jest/mockComponent' );
38
38
  return mockComponent( 'react-native-modal' );
39
39
  } );
40
+
41
+ // Mock debounce to prevent potentially belated state updates.
42
+ jest.mock( 'lodash', () => ( {
43
+ ...jest.requireActual( 'lodash' ),
44
+ debounce: ( fn ) => {
45
+ fn.cancel = jest.fn();
46
+ return fn;
47
+ },
48
+ } ) );
49
+
40
50
  const MODAL_DISMISS_EVENT = Platform.OS === 'ios' ? 'onDismiss' : 'onModalHide';
41
51
 
42
52
  // oEmbed response mocks
@@ -175,10 +185,10 @@ beforeAll( () => {
175
185
  } );
176
186
 
177
187
  beforeEach( () => {
178
- // Invalidate embed preview resolutions
179
- dispatch( coreStore ).invalidateResolutionForStoreSelector(
180
- 'getEmbedPreview'
181
- );
188
+ // Invalidate all resolutions of core-data to prevent
189
+ // caching embed preview and theme supports requests.
190
+ dispatch( coreStore ).invalidateResolutionForStore();
191
+
182
192
  // Mock embed responses
183
193
  mockEmbedResponses( [
184
194
  RICH_TEXT_EMBED_SUCCESS_RESPONSE,
@@ -236,7 +246,6 @@ describe( 'Embed block', () => {
236
246
  const expectedURL = 'https://twitter.com/notnownikki';
237
247
 
238
248
  const {
239
- getByA11yLabel,
240
249
  getByPlaceholderText,
241
250
  getByTestId,
242
251
  } = await insertEmbedBlock();
@@ -254,12 +263,15 @@ describe( 'Embed block', () => {
254
263
  fireEvent( embedEditURLModal, 'backdropPress' );
255
264
  fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
256
265
 
257
- // Wait for block settings button to be present
258
- const settingsButton = await waitFor( () =>
259
- getByA11yLabel( 'Open Settings' )
266
+ const blockSettingsModal = await waitFor( () =>
267
+ getByTestId( 'block-settings-modal' )
260
268
  );
269
+ // Get Twitter link field
270
+ const twitterLinkField = within(
271
+ blockSettingsModal
272
+ ).getByA11yLabel( `Twitter link, ${ expectedURL }` );
261
273
 
262
- expect( settingsButton ).toBeDefined();
274
+ expect( twitterLinkField ).toBeDefined();
263
275
  expect( getEditorHtml() ).toMatchSnapshot();
264
276
  } );
265
277
 
@@ -269,30 +281,31 @@ describe( 'Embed block', () => {
269
281
  // Mock clipboard
270
282
  Clipboard.getString.mockResolvedValue( clipboardURL );
271
283
 
272
- const {
273
- getByA11yLabel,
274
- getByTestId,
275
- getByText,
276
- } = await insertEmbedBlock();
284
+ const { getByTestId, getByText } = await insertEmbedBlock();
277
285
 
278
286
  // Wait for edit URL modal to be visible
279
287
  const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
280
288
  await waitFor( () => embedEditURLModal.props.isVisible );
281
289
 
282
- // Get embed link
283
- const embedLink = await waitFor( () => getByText( clipboardURL ) );
290
+ // Get embed link with auto-pasted URL
291
+ const autopastedLinkField = await waitFor( () =>
292
+ getByText( clipboardURL )
293
+ );
284
294
 
285
295
  // Dismiss the edit URL modal
286
296
  fireEvent( embedEditURLModal, 'backdropPress' );
287
297
  fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
288
298
 
289
- // Wait for block settings button to be present
290
- const settingsButton = await waitFor( () =>
291
- getByA11yLabel( 'Open Settings' )
299
+ const blockSettingsModal = await waitFor( () =>
300
+ getByTestId( 'block-settings-modal' )
292
301
  );
302
+ // Get Twitter link field
303
+ const twitterLinkField = within(
304
+ blockSettingsModal
305
+ ).getByA11yLabel( `Twitter link, ${ clipboardURL }` );
293
306
 
294
- expect( embedLink ).toBeDefined();
295
- expect( settingsButton ).toBeDefined();
307
+ expect( autopastedLinkField ).toBeDefined();
308
+ expect( twitterLinkField ).toBeDefined();
296
309
  expect( getEditorHtml() ).toMatchSnapshot();
297
310
 
298
311
  Clipboard.getString.mockReset();
@@ -323,7 +336,6 @@ describe( 'Embed block', () => {
323
336
  const expectedURL = 'https://twitter.com/notnownikki';
324
337
 
325
338
  const {
326
- getByA11yLabel,
327
339
  getByPlaceholderText,
328
340
  getByTestId,
329
341
  getByText,
@@ -345,12 +357,15 @@ describe( 'Embed block', () => {
345
357
  fireEvent( embedEditURLModal, 'backdropPress' );
346
358
  fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
347
359
 
348
- // Wait for block settings button to be present
349
- const settingsButton = await waitFor( () =>
350
- getByA11yLabel( 'Open Settings' )
360
+ const blockSettingsModal = await waitFor( () =>
361
+ getByTestId( 'block-settings-modal' )
351
362
  );
363
+ // Get Twitter link field
364
+ const twitterLinkField = within(
365
+ blockSettingsModal
366
+ ).getByA11yLabel( `Twitter link, ${ expectedURL }` );
352
367
 
353
- expect( settingsButton ).toBeDefined();
368
+ expect( twitterLinkField ).toBeDefined();
354
369
  expect( getEditorHtml() ).toMatchSnapshot();
355
370
  } );
356
371
 
@@ -360,11 +375,9 @@ describe( 'Embed block', () => {
360
375
  // Mock clipboard
361
376
  Clipboard.getString.mockResolvedValue( clipboardURL );
362
377
 
363
- const {
364
- getByA11yLabel,
365
- getByTestId,
366
- getByText,
367
- } = await initializeWithEmbedBlock( EMPTY_EMBED_HTML );
378
+ const { getByTestId, getByText } = await initializeWithEmbedBlock(
379
+ EMPTY_EMBED_HTML
380
+ );
368
381
 
369
382
  // Edit URL
370
383
  fireEvent.press( getByText( 'ADD LINK' ) );
@@ -380,13 +393,16 @@ describe( 'Embed block', () => {
380
393
  fireEvent( embedEditURLModal, 'backdropPress' );
381
394
  fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
382
395
 
383
- // Wait for block settings button to be present
384
- const settingsButton = await waitFor( () =>
385
- getByA11yLabel( 'Open Settings' )
396
+ const blockSettingsModal = await waitFor( () =>
397
+ getByTestId( 'block-settings-modal' )
386
398
  );
399
+ // Get Twitter link field
400
+ const twitterLinkField = within(
401
+ blockSettingsModal
402
+ ).getByA11yLabel( `Twitter link, ${ clipboardURL }` );
387
403
 
388
404
  expect( embedLink ).toBeDefined();
389
- expect( settingsButton ).toBeDefined();
405
+ expect( twitterLinkField ).toBeDefined();
390
406
  expect( getEditorHtml() ).toMatchSnapshot();
391
407
 
392
408
  Clipboard.getString.mockReset();
@@ -400,18 +416,18 @@ describe( 'Embed block', () => {
400
416
  getByTestId,
401
417
  } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
402
418
 
403
- // Edit URL
419
+ // Open Block Settings
404
420
  fireEvent.press(
405
- await waitFor( () => getByA11yLabel( 'Edit URL' ) )
421
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
406
422
  );
407
423
 
408
- // Wait for edit URL modal to be visible
409
- const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
410
- await waitFor( () => embedEditURLModal.props.isVisible );
424
+ // Wait for Block Settings to be visible
425
+ const blockSettingsModal = getByTestId( 'block-settings-modal' );
426
+ await waitFor( () => blockSettingsModal.props.isVisible );
411
427
 
412
- // Dismiss the edit URL modal
413
- fireEvent( embedEditURLModal, 'backdropPress' );
414
- fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
428
+ // Dismiss the Block Settings modal
429
+ fireEvent( blockSettingsModal, 'backdropPress' );
430
+ fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
415
431
 
416
432
  expect( getEditorHtml() ).toMatchSnapshot();
417
433
  } );
@@ -426,18 +442,20 @@ describe( 'Embed block', () => {
426
442
  getByTestId,
427
443
  } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
428
444
 
429
- // Edit URL
445
+ // Open Block Settings
430
446
  fireEvent.press(
431
- await waitFor( () => getByA11yLabel( 'Edit URL' ) )
447
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
432
448
  );
433
449
 
434
- // Wait for edit URL modal to be visible
435
- const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
436
- await waitFor( () => embedEditURLModal.props.isVisible );
450
+ // Wait for Block Settings to be visible
451
+ const blockSettingsModal = getByTestId( 'block-settings-modal' );
452
+ await waitFor( () => blockSettingsModal.props.isVisible );
437
453
 
438
454
  // Start editing link
439
455
  fireEvent.press(
440
- getByA11yLabel( `Twitter link, ${ initialURL }` )
456
+ within( blockSettingsModal ).getByA11yLabel(
457
+ `Twitter link, ${ initialURL }`
458
+ )
441
459
  );
442
460
 
443
461
  // Replace URL
@@ -445,13 +463,15 @@ describe( 'Embed block', () => {
445
463
  fireEvent( linkTextInput, 'focus' );
446
464
  fireEvent.changeText( linkTextInput, expectedURL );
447
465
 
448
- // Dismiss the edit URL modal
449
- fireEvent( embedEditURLModal, 'backdropPress' );
450
- fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
466
+ // Dismiss the Block Settings modal
467
+ fireEvent( blockSettingsModal, 'backdropPress' );
468
+ fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
451
469
 
452
470
  // Get YouTube link field
453
471
  const youtubeLinkField = await waitFor( () =>
454
- getByA11yLabel( `YouTube link, ${ expectedURL }` )
472
+ within( blockSettingsModal ).getByA11yLabel(
473
+ `YouTube link, ${ expectedURL }`
474
+ )
455
475
  );
456
476
 
457
477
  expect( youtubeLinkField ).toBeDefined();
@@ -469,18 +489,20 @@ describe( 'Embed block', () => {
469
489
  getByText,
470
490
  } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
471
491
 
472
- // Edit URL
492
+ // Open Block Settings
473
493
  fireEvent.press(
474
- await waitFor( () => getByA11yLabel( 'Edit URL' ) )
494
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
475
495
  );
476
496
 
477
- // Wait for edit URL modal to be visible
478
- const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
479
- await waitFor( () => embedEditURLModal.props.isVisible );
497
+ // Wait for Block Settings to be visible
498
+ const blockSettingsModal = getByTestId( 'block-settings-modal' );
499
+ await waitFor( () => blockSettingsModal.props.isVisible );
480
500
 
481
501
  // Start editing link
482
502
  fireEvent.press(
483
- getByA11yLabel( `Twitter link, ${ previousURL }` )
503
+ within( blockSettingsModal ).getByA11yLabel(
504
+ `Twitter link, ${ previousURL }`
505
+ )
484
506
  );
485
507
 
486
508
  // Replace URL
@@ -488,9 +510,9 @@ describe( 'Embed block', () => {
488
510
  fireEvent( linkTextInput, 'focus' );
489
511
  fireEvent.changeText( linkTextInput, invalidURL );
490
512
 
491
- // Dismiss the edit URL modal
492
- fireEvent( embedEditURLModal, 'backdropPress' );
493
- fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
513
+ // Dismiss the Block Settings modal
514
+ fireEvent( blockSettingsModal, 'backdropPress' );
515
+ fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
494
516
 
495
517
  const errorNotice = await waitFor( () =>
496
518
  getByText( 'Invalid URL. Please enter a valid URL.' )
@@ -500,6 +522,49 @@ describe( 'Embed block', () => {
500
522
  expect( getEditorHtml() ).toMatchSnapshot();
501
523
  } );
502
524
 
525
+ it( 'sets empty state when setting an empty URL', async () => {
526
+ const previousURL = 'https://twitter.com/notnownikki';
527
+
528
+ const {
529
+ getByA11yLabel,
530
+ getByDisplayValue,
531
+ getByTestId,
532
+ getByPlaceholderText,
533
+ } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
534
+
535
+ // Open Block Settings
536
+ fireEvent.press(
537
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
538
+ );
539
+
540
+ // Get Block Settings modal
541
+ const blockSettingsModal = getByTestId( 'block-settings-modal' );
542
+
543
+ // Start editing link
544
+ fireEvent.press(
545
+ within( blockSettingsModal ).getByA11yLabel(
546
+ `Twitter link, ${ previousURL }`
547
+ )
548
+ );
549
+
550
+ // Replace URL with empty value
551
+ const linkTextInput = getByDisplayValue( previousURL );
552
+ fireEvent( linkTextInput, 'focus' );
553
+ fireEvent.changeText( linkTextInput, '' );
554
+
555
+ // Dismiss the Block Settings modal
556
+ fireEvent( blockSettingsModal, 'backdropPress' );
557
+ fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
558
+
559
+ // Get empty embed link
560
+ const emptyLinkTextInput = await waitFor( () =>
561
+ getByPlaceholderText( 'Add link' )
562
+ );
563
+
564
+ expect( emptyLinkTextInput ).toBeDefined();
565
+ expect( getEditorHtml() ).toMatchSnapshot();
566
+ } );
567
+
503
568
  // This test case covers the bug fixed in PR #35460
504
569
  it( 'edits URL after dismissing two times the edit URL bottom sheet with empty value', async () => {
505
570
  const { block, getByTestId, getByText } = await insertEmbedBlock();
@@ -549,7 +614,7 @@ describe( 'Embed block', () => {
549
614
  } = await insertEmbedBlock();
550
615
 
551
616
  // Wait for edit URL modal to be visible
552
- let embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
617
+ const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
553
618
  await waitFor( () => embedEditURLModal.props.isVisible );
554
619
 
555
620
  // Set an bad URL
@@ -561,30 +626,36 @@ describe( 'Embed block', () => {
561
626
  fireEvent( embedEditURLModal, 'backdropPress' );
562
627
  fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
563
628
 
564
- // Edit URL
629
+ // Open Block Settings
565
630
  fireEvent.press(
566
- await waitFor( () => getByA11yLabel( 'Edit URL' ) )
631
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
567
632
  );
568
633
 
569
- // Wait for edit URL modal to be visible
570
- embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
571
- await waitFor( () => embedEditURLModal.props.isVisible );
634
+ // Wait for Block Settings to be visible
635
+ const blockSettingsModal = getByTestId( 'block-settings-modal' );
636
+ await waitFor( () => blockSettingsModal.props.isVisible );
572
637
 
573
638
  // Start editing link
574
- fireEvent.press( getByA11yLabel( `Embed link, ${ badURL }` ) );
639
+ fireEvent.press(
640
+ within( blockSettingsModal ).getByA11yLabel(
641
+ `Embed link, ${ badURL }`
642
+ )
643
+ );
575
644
 
576
645
  // Replace URL
577
646
  linkTextInput = getByDisplayValue( badURL );
578
647
  fireEvent( linkTextInput, 'focus' );
579
648
  fireEvent.changeText( linkTextInput, expectedURL );
580
649
 
581
- // Dismiss the edit URL modal
582
- fireEvent( embedEditURLModal, 'backdropPress' );
583
- fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
650
+ // Dismiss the Block Settings modal
651
+ fireEvent( blockSettingsModal, 'backdropPress' );
652
+ fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
584
653
 
585
654
  // Get Twitter link field
586
655
  const twitterLinkField = await waitFor( () =>
587
- getByA11yLabel( `Twitter link, ${ expectedURL }` )
656
+ within( blockSettingsModal ).getByA11yLabel(
657
+ `Twitter link, ${ expectedURL }`
658
+ )
588
659
  );
589
660
 
590
661
  expect( twitterLinkField ).toBeDefined();
@@ -623,6 +694,8 @@ describe( 'Embed block', () => {
623
694
 
624
695
  describe( 'retry', () => {
625
696
  it( 'retries loading the preview if initial request failed', async () => {
697
+ const expectedURL = 'https://twitter.com/notnownikki';
698
+
626
699
  // Return bad response for the first request to oembed endpoint
627
700
  // and success response for the rest of requests.
628
701
  let isFirstEmbedRequest = true;
@@ -640,23 +713,26 @@ describe( 'Embed block', () => {
640
713
  return Promise.resolve( response );
641
714
  } );
642
715
 
643
- const {
644
- getByA11yLabel,
645
- getByText,
646
- } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
716
+ const { getByTestId, getByText } = await initializeWithEmbedBlock(
717
+ RICH_TEXT_EMBED_HTML
718
+ );
647
719
 
648
720
  // Retry request
649
721
  fireEvent.press( getByText( 'More options' ) );
650
722
  fireEvent.press( getByText( 'Retry' ) );
651
723
 
652
- // Wait for edit URL button to be present
653
- const editURLButton = await waitFor( () =>
654
- getByA11yLabel( 'Edit URL' )
724
+ const blockSettingsModal = await waitFor( () =>
725
+ getByTestId( 'block-settings-modal' )
655
726
  );
727
+ // Get Twitter link field
728
+ const twitterLinkField = within(
729
+ blockSettingsModal
730
+ ).getByA11yLabel( `Twitter link, ${ expectedURL }` );
656
731
 
657
- expect( editURLButton ).toBeDefined();
732
+ expect( twitterLinkField ).toBeDefined();
658
733
  expect( getEditorHtml() ).toMatchSnapshot();
659
734
  } );
735
+
660
736
  it( 'converts to link if preview request failed', async () => {
661
737
  // Return bad response for requests to oembed endpoint.
662
738
  fetchRequest.mockImplementation( ( { path } ) => {
@@ -683,6 +759,61 @@ describe( 'Embed block', () => {
683
759
  expect( paragraphBlock ).toBeDefined();
684
760
  expect( getEditorHtml() ).toMatchSnapshot();
685
761
  } );
762
+
763
+ it( 'allows editing link if request failed', async () => {
764
+ const failURL = 'https://wordpress.org/news/2021/07/tatum/';
765
+ const successURL = 'https://twitter.com/notnownikki';
766
+
767
+ // Return bad response for WordPress URL and success for Twitter URL.
768
+ fetchRequest.mockImplementation( ( { path } ) => {
769
+ const matchesPath = ( url ) =>
770
+ path ===
771
+ `/oembed/1.0/proxy?url=${ encodeURIComponent( url ) }`;
772
+
773
+ let response = {};
774
+ if ( matchesPath( failURL ) ) {
775
+ response = MOCK_BAD_WORDPRESS_RESPONSE;
776
+ } else if ( matchesPath( successURL ) ) {
777
+ response = RICH_TEXT_EMBED_SUCCESS_RESPONSE;
778
+ }
779
+
780
+ return Promise.resolve( response );
781
+ } );
782
+
783
+ const {
784
+ getByA11yLabel,
785
+ getByText,
786
+ getByTestId,
787
+ getByDisplayValue,
788
+ } = await initializeWithEmbedBlock( WP_EMBED_HTML );
789
+
790
+ fireEvent.press( getByText( 'More options' ) );
791
+ fireEvent.press( getByText( 'Edit link' ) );
792
+
793
+ // Start editing link
794
+ fireEvent.press( getByA11yLabel( `WordPress link, ${ failURL }` ) );
795
+
796
+ // Set an URL
797
+ const linkTextInput = getByDisplayValue( failURL );
798
+ fireEvent( linkTextInput, 'focus' );
799
+ fireEvent.changeText( linkTextInput, successURL );
800
+
801
+ // Dismiss the edit URL modal
802
+ const embedEditURLModal = getByTestId( 'embed-edit-url-modal' );
803
+ fireEvent( embedEditURLModal, 'backdropPress' );
804
+ fireEvent( embedEditURLModal, MODAL_DISMISS_EVENT );
805
+
806
+ const blockSettingsModal = await waitFor( () =>
807
+ getByTestId( 'block-settings-modal' )
808
+ );
809
+ // Get Twitter link field
810
+ const twitterLinkField = within(
811
+ blockSettingsModal
812
+ ).getByA11yLabel( `Twitter link, ${ successURL }` );
813
+
814
+ expect( twitterLinkField ).toBeDefined();
815
+ expect( getEditorHtml() ).toMatchSnapshot();
816
+ } );
686
817
  } );
687
818
 
688
819
  describe( 'preview coming soon', () => {
@@ -960,10 +1091,12 @@ describe( 'Embed block', () => {
960
1091
  getByText,
961
1092
  } = await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
962
1093
 
1094
+ // Open Block Settings
963
1095
  fireEvent.press(
964
1096
  await waitFor( () => getByA11yLabel( 'Open Settings' ) )
965
1097
  );
966
1098
 
1099
+ // Untoggle resize for smaller devices
967
1100
  fireEvent.press(
968
1101
  await waitFor( () => getByText( /Resize for smaller devices/ ) )
969
1102
  );
@@ -971,21 +1104,28 @@ describe( 'Embed block', () => {
971
1104
  expect( getEditorHtml() ).toMatchSnapshot();
972
1105
  } );
973
1106
 
974
- it( 'does not show settings button if responsive is not supported', async () => {
975
- const { getByA11yLabel } = await initializeWithEmbedBlock(
976
- WP_EMBED_HTML
1107
+ it( 'does not show media settings panel if responsive is not supported', async () => {
1108
+ const {
1109
+ getByA11yLabel,
1110
+ getByText,
1111
+ } = await initializeWithEmbedBlock( WP_EMBED_HTML );
1112
+
1113
+ // Open Block Settings
1114
+ fireEvent.press(
1115
+ await waitFor( () => getByA11yLabel( 'Open Settings' ) )
977
1116
  );
978
1117
 
979
- let settingsButton;
1118
+ // Wait for media settings panel
1119
+ let mediaSettingsPanel;
980
1120
  try {
981
- settingsButton = await waitFor( () =>
982
- getByA11yLabel( 'Open Settings' )
1121
+ mediaSettingsPanel = await waitFor( () =>
1122
+ getByText( 'Media settings' )
983
1123
  );
984
1124
  } catch ( e ) {
985
1125
  // NOOP
986
1126
  }
987
1127
 
988
- expect( settingsButton ).not.toBeDefined();
1128
+ expect( mediaSettingsPanel ).not.toBeDefined();
989
1129
  } );
990
1130
  } );
991
1131
  } );
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
2
3
  "apiVersion": 2,
3
4
  "name": "core/file",
4
5
  "title": "File",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
2
3
  "apiVersion": 2,
3
4
  "name": "core/freeform",
4
5
  "title": "Classic",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
2
3
  "apiVersion": 2,
3
4
  "name": "core/gallery",
4
5
  "title": "Gallery",
@@ -123,6 +123,16 @@ function GalleryEdit( props ) {
123
123
  [ clientId ]
124
124
  );
125
125
 
126
+ const wasBlockJustInserted = useSelect(
127
+ ( select ) => {
128
+ return select( blockEditorStore ).wasBlockJustInserted(
129
+ clientId,
130
+ 'inserter_menu'
131
+ );
132
+ },
133
+ [ clientId ]
134
+ );
135
+
126
136
  const images = useMemo(
127
137
  () =>
128
138
  innerBlockImages?.map( ( block ) => ( {
@@ -435,6 +445,9 @@ function GalleryEdit( props ) {
435
445
  value={ hasImageIds ? images : {} }
436
446
  onError={ onUploadError }
437
447
  notices={ hasImages ? undefined : noticeUI }
448
+ autoOpenMediaUpload={
449
+ ! hasImages && isSelected && wasBlockJustInserted
450
+ }
438
451
  />
439
452
  );
440
453
 
@@ -45,20 +45,6 @@ figure.wp-block-gallery {
45
45
  }
46
46
  .block-editor-media-placeholder {
47
47
  margin: 0;
48
-
49
- &::before {
50
- box-shadow: 0 0 0 $border-width $white inset, 0 0 0 3px var(--wp-admin-theme-color) inset;
51
- content: "";
52
- // Shown in Windows 10 high contrast mode.
53
- outline: 2px solid transparent;
54
- position: absolute;
55
- top: 0;
56
- right: 0;
57
- bottom: 0;
58
- left: 0;
59
- z-index: 1;
60
- pointer-events: none;
61
- }
62
48
  .components-placeholder__label {
63
49
  display: flex;
64
50
  }
@@ -1,6 +1,6 @@
1
1
  <?php
2
2
  /**
3
- * Server-side rendering of the `core/image` block.
3
+ * Server-side rendering of the `core/gallery` block.
4
4
  *
5
5
  * @package WordPress
6
6
  */
@@ -13,11 +13,10 @@
13
13
  * we add a custom `data-id` attribute before rendering the gallery
14
14
  * so that the Image Block can pick it up in its render_callback.
15
15
  *
16
- * @param array $parsed_block A single parsed block object.
17
- *
18
- * @return array The migrated block object.
16
+ * @param array $parsed_block The block being rendered.
17
+ * @return array The migrated block object.
19
18
  */
20
- function render_block_core_gallery_data( $parsed_block ) {
19
+ function block_core_gallery_data_id_backcompatibility( $parsed_block ) {
21
20
  if ( 'core/gallery' === $parsed_block['blockName'] ) {
22
21
  foreach ( $parsed_block['innerBlocks'] as $key => $inner_block ) {
23
22
  if ( 'core/image' === $inner_block['blockName'] ) {
@@ -31,14 +30,14 @@ function render_block_core_gallery_data( $parsed_block ) {
31
30
  return $parsed_block;
32
31
  }
33
32
 
34
- add_filter( 'render_block_data', 'render_block_core_gallery_data' );
33
+ add_filter( 'render_block_data', 'block_core_gallery_data_id_backcompatibility' );
35
34
 
36
35
  /**
37
36
  * Registers the `core/gallery` block on server.
38
37
  * This render callback needs to be here
39
38
  * so that the gallery styles are loaded in block-based themes.
40
39
  */
41
- function gutenberg_register_block_core_gallery() {
40
+ function register_block_core_gallery() {
42
41
  register_block_type_from_metadata(
43
42
  __DIR__ . '/gallery',
44
43
  array(
@@ -49,4 +48,4 @@ function gutenberg_register_block_core_gallery() {
49
48
  );
50
49
  }
51
50
 
52
- add_action( 'init', 'gutenberg_register_block_core_gallery', 20 );
51
+ add_action( 'init', 'register_block_core_gallery', 20 );
@@ -63,6 +63,10 @@
63
63
  img {
64
64
  display: inline;
65
65
  }
66
+
67
+ a {
68
+ color: inherit;
69
+ }
66
70
  }
67
71
 
68
72
  &.is-style-rounded {