@wordpress/block-library 6.0.1 → 6.0.5

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 (1093) hide show
  1. package/build/block/edit.js +1 -1
  2. package/build/block/edit.js.map +1 -1
  3. package/build/button/deprecated.js +155 -10
  4. package/build/button/deprecated.js.map +1 -1
  5. package/build/button/edit.native.js +257 -330
  6. package/build/button/edit.native.js.map +1 -1
  7. package/build/button/index.js +4 -1
  8. package/build/button/index.js.map +1 -1
  9. package/build/buttons/deprecated.js +84 -2
  10. package/build/buttons/deprecated.js.map +1 -1
  11. package/build/buttons/edit.js +6 -42
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/buttons/index.js +16 -14
  14. package/build/buttons/index.js.map +1 -1
  15. package/build/buttons/save.js +4 -20
  16. package/build/buttons/save.js.map +1 -1
  17. package/build/buttons/transforms.js +15 -10
  18. package/build/buttons/transforms.js.map +1 -1
  19. package/build/categories/edit.js +16 -6
  20. package/build/categories/edit.js.map +1 -1
  21. package/build/categories/index.js +4 -0
  22. package/build/categories/index.js.map +1 -1
  23. package/build/code/edit.native.js +8 -5
  24. package/build/code/edit.native.js.map +1 -1
  25. package/build/code/index.js +24 -1
  26. package/build/code/index.js.map +1 -1
  27. package/build/column/edit.js +4 -2
  28. package/build/column/edit.js.map +1 -1
  29. package/build/column/index.js +4 -0
  30. package/build/column/index.js.map +1 -1
  31. package/build/column/save.js +7 -3
  32. package/build/column/save.js.map +1 -1
  33. package/build/columns/edit.js +1 -1
  34. package/build/columns/edit.js.map +1 -1
  35. package/build/columns/index.js +1 -0
  36. package/build/columns/index.js.map +1 -1
  37. package/build/columns/save.js +7 -2
  38. package/build/columns/save.js.map +1 -1
  39. package/build/comment-author-avatar/edit.js +83 -0
  40. package/build/comment-author-avatar/edit.js.map +1 -0
  41. package/build/{post-comment-date → comment-author-avatar}/index.js +25 -9
  42. package/build/comment-author-avatar/index.js.map +1 -0
  43. package/build/comment-author-name/deprecated.js +69 -0
  44. package/build/comment-author-name/deprecated.js.map +1 -0
  45. package/build/comment-author-name/edit.js +112 -0
  46. package/build/comment-author-name/edit.js.map +1 -0
  47. package/build/comment-author-name/index.js +77 -0
  48. package/build/comment-author-name/index.js.map +1 -0
  49. package/build/comment-content/edit.js +74 -0
  50. package/build/comment-content/edit.js.map +1 -0
  51. package/build/comment-content/index.js +68 -0
  52. package/build/comment-content/index.js.map +1 -0
  53. package/build/comment-date/deprecated.js +68 -0
  54. package/build/comment-date/deprecated.js.map +1 -0
  55. package/build/comment-date/edit.js +95 -0
  56. package/build/comment-date/edit.js.map +1 -0
  57. package/build/comment-date/index.js +72 -0
  58. package/build/comment-date/index.js.map +1 -0
  59. package/build/comment-edit-link/edit.js +61 -0
  60. package/build/comment-edit-link/edit.js.map +1 -0
  61. package/build/comment-edit-link/index.js +67 -0
  62. package/build/comment-edit-link/index.js.map +1 -0
  63. package/build/comment-reply-link/edit.js +63 -0
  64. package/build/comment-reply-link/edit.js.map +1 -0
  65. package/build/comment-reply-link/index.js +63 -0
  66. package/build/comment-reply-link/index.js.map +1 -0
  67. package/build/comment-template/edit.js +82 -0
  68. package/build/comment-template/edit.js.map +1 -0
  69. package/build/{post-comment-content → comment-template}/index.js +13 -8
  70. package/build/comment-template/index.js.map +1 -0
  71. package/build/comment-template/save.js +18 -0
  72. package/build/comment-template/save.js.map +1 -0
  73. package/build/comments-query-loop/edit.js +64 -0
  74. package/build/comments-query-loop/edit.js.map +1 -0
  75. package/build/comments-query-loop/index.js +67 -0
  76. package/build/comments-query-loop/index.js.map +1 -0
  77. package/build/comments-query-loop/save.js +22 -0
  78. package/build/comments-query-loop/save.js.map +1 -0
  79. package/build/comments-query-loop/toolbar.js +54 -0
  80. package/build/comments-query-loop/toolbar.js.map +1 -0
  81. package/build/cover/deprecated.js +180 -20
  82. package/build/cover/deprecated.js.map +1 -1
  83. package/build/cover/edit.js +62 -28
  84. package/build/cover/edit.js.map +1 -1
  85. package/build/cover/edit.native.js +6 -2
  86. package/build/cover/edit.native.js.map +1 -1
  87. package/build/cover/index.js +12 -1
  88. package/build/cover/index.js.map +1 -1
  89. package/build/cover/save.js +17 -14
  90. package/build/cover/save.js.map +1 -1
  91. package/build/cover/shared.js +3 -2
  92. package/build/cover/shared.js.map +1 -1
  93. package/build/embed/edit.native.js +4 -8
  94. package/build/embed/edit.native.js.map +1 -1
  95. package/build/embed/embed-bottom-sheet.native.js +4 -5
  96. package/build/embed/embed-bottom-sheet.native.js.map +1 -1
  97. package/build/embed/embed-no-preview.native.js +2 -1
  98. package/build/embed/embed-no-preview.native.js.map +1 -1
  99. package/build/embed/icons.js +16 -1
  100. package/build/embed/icons.js.map +1 -1
  101. package/build/embed/transforms.native.js +3 -1
  102. package/build/embed/transforms.native.js.map +1 -1
  103. package/build/embed/variations.js +20 -0
  104. package/build/embed/variations.js.map +1 -1
  105. package/build/freeform/edit.js +16 -4
  106. package/build/freeform/edit.js.map +1 -1
  107. package/build/gallery/edit.js +7 -0
  108. package/build/gallery/edit.js.map +1 -1
  109. package/build/gallery/gallery.js +1 -1
  110. package/build/gallery/gallery.js.map +1 -1
  111. package/build/gallery/gallery.native.js +1 -1
  112. package/build/gallery/gallery.native.js.map +1 -1
  113. package/build/gallery/index.js +6 -1
  114. package/build/gallery/index.js.map +1 -1
  115. package/build/gallery/save.js +7 -2
  116. package/build/gallery/save.js.map +1 -1
  117. package/build/gallery/shared.js +0 -7
  118. package/build/gallery/shared.js.map +1 -1
  119. package/build/gallery/use-get-media.js +4 -10
  120. package/build/gallery/use-get-media.js.map +1 -1
  121. package/build/gallery/use-mobile-warning.js +43 -0
  122. package/build/gallery/use-mobile-warning.js.map +1 -0
  123. package/build/group/edit.js +1 -1
  124. package/build/group/edit.js.map +1 -1
  125. package/build/group/index.js +1 -0
  126. package/build/group/index.js.map +1 -1
  127. package/build/group/save.js +4 -5
  128. package/build/group/save.js.map +1 -1
  129. package/build/group/variations.js +2 -1
  130. package/build/group/variations.js.map +1 -1
  131. package/build/heading/autogenerate-anchors.js +90 -0
  132. package/build/heading/autogenerate-anchors.js.map +1 -0
  133. package/build/heading/edit.js +42 -5
  134. package/build/heading/edit.js.map +1 -1
  135. package/build/heading/index.js +14 -2
  136. package/build/heading/index.js.map +1 -1
  137. package/build/heading/transforms.js +14 -2
  138. package/build/heading/transforms.js.map +1 -1
  139. package/build/image/edit.native.js +126 -60
  140. package/build/image/edit.native.js.map +1 -1
  141. package/build/image/index.js +1 -1
  142. package/build/image/transforms.js +2 -1
  143. package/build/image/transforms.js.map +1 -1
  144. package/build/index.js +83 -70
  145. package/build/index.js.map +1 -1
  146. package/build/index.native.js +3 -1
  147. package/build/index.native.js.map +1 -1
  148. package/build/list/deprecated.js +111 -0
  149. package/build/list/deprecated.js.map +1 -0
  150. package/build/list/index.js +15 -3
  151. package/build/list/index.js.map +1 -1
  152. package/build/media-text/edit.js +1 -1
  153. package/build/media-text/edit.js.map +1 -1
  154. package/build/media-text/save.js +3 -3
  155. package/build/media-text/save.js.map +1 -1
  156. package/build/navigation/deprecated.js +340 -23
  157. package/build/navigation/deprecated.js.map +1 -1
  158. package/build/navigation/edit/index.js +372 -0
  159. package/build/navigation/edit/index.js.map +1 -0
  160. package/build/navigation/edit/inner-blocks.js +100 -0
  161. package/build/navigation/edit/inner-blocks.js.map +1 -0
  162. package/build/navigation/edit/navigation-menu-delete-control.js +60 -0
  163. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  164. package/build/navigation/edit/navigation-menu-name-control.js +27 -0
  165. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -0
  166. package/build/navigation/edit/navigation-menu-name-modal.js +54 -0
  167. package/build/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  168. package/build/navigation/edit/navigation-menu-publish-button.js +53 -0
  169. package/build/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  170. package/build/navigation/edit/navigation-menu-selector.js +49 -0
  171. package/build/navigation/edit/navigation-menu-selector.js.map +1 -0
  172. package/build/navigation/edit/placeholder/index.js +207 -0
  173. package/build/navigation/edit/placeholder/index.js.map +1 -0
  174. package/build/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +14 -2
  175. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  176. package/build/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +9 -5
  177. package/build/navigation/edit/responsive-wrapper.js.map +1 -0
  178. package/build/navigation/edit/unsaved-inner-blocks.js +153 -0
  179. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  180. package/build/navigation/{block-navigation-list.js → edit/use-list-view-modal.js} +34 -3
  181. package/build/navigation/edit/use-list-view-modal.js.map +1 -0
  182. package/build/navigation/index.js +25 -13
  183. package/build/navigation/index.js.map +1 -1
  184. package/build/navigation/save.js +10 -1
  185. package/build/navigation/save.js.map +1 -1
  186. package/build/navigation/use-navigation-menu.js +40 -0
  187. package/build/navigation/use-navigation-menu.js.map +1 -0
  188. package/build/navigation/use-template-part-area-label.js +74 -0
  189. package/build/navigation/use-template-part-area-label.js.map +1 -0
  190. package/build/navigation/view.js +29 -26
  191. package/build/navigation/view.js.map +1 -1
  192. package/build/navigation-area/edit.js +97 -0
  193. package/build/navigation-area/edit.js.map +1 -0
  194. package/build/navigation-area/index.js +61 -0
  195. package/build/navigation-area/index.js.map +1 -0
  196. package/build/navigation-area/inner-blocks.js +33 -0
  197. package/build/navigation-area/inner-blocks.js.map +1 -0
  198. package/build/navigation-area/save.js +18 -0
  199. package/build/navigation-area/save.js.map +1 -0
  200. package/build/navigation-link/edit.js +69 -7
  201. package/build/navigation-link/edit.js.map +1 -1
  202. package/build/navigation-link/transforms.js +5 -1
  203. package/build/navigation-link/transforms.js.map +1 -1
  204. package/build/navigation-submenu/edit.js +2 -2
  205. package/build/navigation-submenu/edit.js.map +1 -1
  206. package/build/page-list/edit.js +125 -84
  207. package/build/page-list/edit.js.map +1 -1
  208. package/build/page-list/index.js +1 -35
  209. package/build/page-list/index.js.map +1 -1
  210. package/build/paragraph/edit.native.js +2 -1
  211. package/build/paragraph/edit.native.js.map +1 -1
  212. package/build/paragraph/index.js +8 -1
  213. package/build/paragraph/index.js.map +1 -1
  214. package/build/paragraph/transforms.js +8 -1
  215. package/build/paragraph/transforms.js.map +1 -1
  216. package/build/pattern/edit.js +43 -0
  217. package/build/pattern/edit.js.map +1 -0
  218. package/build/{post-comment-author → pattern}/index.js +11 -10
  219. package/build/pattern/index.js.map +1 -0
  220. package/build/post-author/index.js +12 -1
  221. package/build/post-author/index.js.map +1 -1
  222. package/build/post-comment/edit.js +7 -8
  223. package/build/post-comment/edit.js.map +1 -1
  224. package/build/post-comment/index.js +4 -3
  225. package/build/post-comment/index.js.map +1 -1
  226. package/build/post-comment/save.js +5 -1
  227. package/build/post-comment/save.js.map +1 -1
  228. package/build/post-comments/index.js +8 -1
  229. package/build/post-comments/index.js.map +1 -1
  230. package/build/post-comments-count/index.js +7 -1
  231. package/build/post-comments-count/index.js.map +1 -1
  232. package/build/post-comments-form/index.js +9 -2
  233. package/build/post-comments-form/index.js.map +1 -1
  234. package/build/post-comments-link/index.js +8 -1
  235. package/build/post-comments-link/index.js.map +1 -1
  236. package/build/post-content/edit.js +2 -2
  237. package/build/post-content/edit.js.map +1 -1
  238. package/build/post-date/deprecated.js +71 -0
  239. package/build/post-date/deprecated.js.map +1 -0
  240. package/build/post-date/edit.js +1 -1
  241. package/build/post-date/edit.js.map +1 -1
  242. package/build/post-date/index.js +12 -2
  243. package/build/post-date/index.js.map +1 -1
  244. package/build/post-excerpt/edit.js +1 -1
  245. package/build/post-excerpt/edit.js.map +1 -1
  246. package/build/post-excerpt/index.js +12 -1
  247. package/build/post-excerpt/index.js.map +1 -1
  248. package/build/post-featured-image/index.js +5 -1
  249. package/build/post-featured-image/index.js.map +1 -1
  250. package/build/post-navigation-link/index.js +8 -1
  251. package/build/post-navigation-link/index.js.map +1 -1
  252. package/build/post-template/edit.js +8 -4
  253. package/build/post-template/edit.js.map +1 -1
  254. package/build/post-terms/edit.js +2 -6
  255. package/build/post-terms/edit.js.map +1 -1
  256. package/build/post-terms/index.js +7 -1
  257. package/build/post-terms/index.js.map +1 -1
  258. package/build/post-terms/use-post-terms.js +3 -1
  259. package/build/post-terms/use-post-terms.js.map +1 -1
  260. package/build/post-title/deprecated.js +84 -0
  261. package/build/post-title/deprecated.js.map +1 -0
  262. package/build/post-title/edit.js +1 -1
  263. package/build/post-title/edit.js.map +1 -1
  264. package/build/post-title/index.js +14 -2
  265. package/build/post-title/index.js.map +1 -1
  266. package/build/preformatted/edit.js +5 -2
  267. package/build/preformatted/edit.js.map +1 -1
  268. package/build/preformatted/edit.native.js +16 -6
  269. package/build/preformatted/edit.native.js.map +1 -1
  270. package/build/preformatted/index.js +9 -1
  271. package/build/preformatted/index.js.map +1 -1
  272. package/build/pullquote/blockquote.native.js +14 -2
  273. package/build/pullquote/blockquote.native.js.map +1 -1
  274. package/build/pullquote/edit.native.js +124 -0
  275. package/build/pullquote/edit.native.js.map +1 -0
  276. package/build/pullquote/figure.native.js +20 -8
  277. package/build/pullquote/figure.native.js.map +1 -1
  278. package/build/pullquote/index.js +12 -0
  279. package/build/pullquote/index.js.map +1 -1
  280. package/build/query/edit/index.js +1 -1
  281. package/build/query/edit/index.js.map +1 -1
  282. package/build/query/save.js +5 -1
  283. package/build/query/save.js.map +1 -1
  284. package/build/query-pagination/edit.js +1 -1
  285. package/build/query-pagination/edit.js.map +1 -1
  286. package/build/query-pagination-next/index.js +8 -1
  287. package/build/query-pagination-next/index.js.map +1 -1
  288. package/build/query-pagination-previous/index.js +8 -1
  289. package/build/query-pagination-previous/index.js.map +1 -1
  290. package/build/query-title/deprecated.js +70 -0
  291. package/build/query-title/deprecated.js.map +1 -0
  292. package/build/query-title/index.js +17 -2
  293. package/build/query-title/index.js.map +1 -1
  294. package/build/quote/deprecated.js +9 -0
  295. package/build/quote/deprecated.js.map +1 -1
  296. package/build/quote/index.js +17 -1
  297. package/build/quote/index.js.map +1 -1
  298. package/build/search/edit.js +27 -1
  299. package/build/search/edit.js.map +1 -1
  300. package/build/search/edit.native.js +38 -7
  301. package/build/search/edit.native.js.map +1 -1
  302. package/build/separator/separator-settings.js +1 -0
  303. package/build/separator/separator-settings.js.map +1 -1
  304. package/build/site-logo/edit.js +46 -21
  305. package/build/site-logo/edit.js.map +1 -1
  306. package/build/site-logo/index.js +6 -0
  307. package/build/site-logo/index.js.map +1 -1
  308. package/build/site-tagline/deprecated.js +68 -0
  309. package/build/site-tagline/deprecated.js.map +1 -0
  310. package/build/site-tagline/index.js +11 -3
  311. package/build/site-tagline/index.js.map +1 -1
  312. package/build/site-title/deprecated.js +81 -0
  313. package/build/site-title/deprecated.js.map +1 -0
  314. package/build/site-title/index.js +15 -2
  315. package/build/site-title/index.js.map +1 -1
  316. package/build/social-links/edit.js +2 -1
  317. package/build/social-links/edit.js.map +1 -1
  318. package/build/social-links/index.js +1 -0
  319. package/build/social-links/index.js.map +1 -1
  320. package/build/social-links/save.js +7 -2
  321. package/build/social-links/save.js.map +1 -1
  322. package/build/table/index.js +11 -0
  323. package/build/table/index.js.map +1 -1
  324. package/build/template-part/edit/inner-blocks.js +1 -1
  325. package/build/template-part/edit/inner-blocks.js.map +1 -1
  326. package/build/template-part/edit/placeholder/index.js +3 -3
  327. package/build/template-part/edit/placeholder/index.js.map +1 -1
  328. package/build/template-part/edit/placeholder/patterns-setup.js +3 -2
  329. package/build/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  330. package/build/template-part/edit/selection/template-part-previews.js +1 -1
  331. package/build/template-part/edit/selection/template-part-previews.js.map +1 -1
  332. package/build/template-part/variations.js +1 -1
  333. package/build/template-part/variations.js.map +1 -1
  334. package/build/term-description/edit.js +1 -1
  335. package/build/term-description/edit.js.map +1 -1
  336. package/build/term-description/index.js +4 -1
  337. package/build/term-description/index.js.map +1 -1
  338. package/build/utils/clean-empty-object.js +31 -0
  339. package/build/utils/clean-empty-object.js.map +1 -0
  340. package/build/utils/migrate-font-family.js +49 -0
  341. package/build/utils/migrate-font-family.js.map +1 -0
  342. package/build/verse/deprecated.js +93 -14
  343. package/build/verse/deprecated.js.map +1 -1
  344. package/build/verse/index.js +10 -1
  345. package/build/verse/index.js.map +1 -1
  346. package/build-module/block/edit.js +1 -1
  347. package/build-module/block/edit.js.map +1 -1
  348. package/build-module/button/deprecated.js +155 -11
  349. package/build-module/button/deprecated.js.map +1 -1
  350. package/build-module/button/edit.native.js +259 -331
  351. package/build-module/button/edit.native.js.map +1 -1
  352. package/build-module/button/index.js +4 -1
  353. package/build-module/button/index.js.map +1 -1
  354. package/build-module/buttons/deprecated.js +82 -3
  355. package/build-module/buttons/deprecated.js.map +1 -1
  356. package/build-module/buttons/edit.js +6 -39
  357. package/build-module/buttons/edit.js.map +1 -1
  358. package/build-module/buttons/index.js +16 -13
  359. package/build-module/buttons/index.js.map +1 -1
  360. package/build-module/buttons/save.js +4 -18
  361. package/build-module/buttons/save.js.map +1 -1
  362. package/build-module/buttons/transforms.js +15 -10
  363. package/build-module/buttons/transforms.js.map +1 -1
  364. package/build-module/categories/edit.js +16 -6
  365. package/build-module/categories/edit.js.map +1 -1
  366. package/build-module/categories/index.js +4 -0
  367. package/build-module/categories/index.js.map +1 -1
  368. package/build-module/code/edit.native.js +9 -5
  369. package/build-module/code/edit.native.js.map +1 -1
  370. package/build-module/code/index.js +24 -1
  371. package/build-module/code/index.js.map +1 -1
  372. package/build-module/column/edit.js +4 -2
  373. package/build-module/column/edit.js.map +1 -1
  374. package/build-module/column/index.js +4 -0
  375. package/build-module/column/index.js.map +1 -1
  376. package/build-module/column/save.js +6 -4
  377. package/build-module/column/save.js.map +1 -1
  378. package/build-module/columns/edit.js +1 -1
  379. package/build-module/columns/edit.js.map +1 -1
  380. package/build-module/columns/index.js +1 -0
  381. package/build-module/columns/index.js.map +1 -1
  382. package/build-module/columns/save.js +5 -3
  383. package/build-module/columns/save.js.map +1 -1
  384. package/build-module/comment-author-avatar/edit.js +69 -0
  385. package/build-module/comment-author-avatar/edit.js.map +1 -0
  386. package/build-module/comment-author-avatar/index.js +52 -0
  387. package/build-module/comment-author-avatar/index.js.map +1 -0
  388. package/build-module/comment-author-name/deprecated.js +58 -0
  389. package/build-module/comment-author-name/deprecated.js.map +1 -0
  390. package/build-module/comment-author-name/edit.js +97 -0
  391. package/build-module/comment-author-name/edit.js.map +1 -0
  392. package/build-module/comment-author-name/index.js +63 -0
  393. package/build-module/comment-author-name/index.js.map +1 -0
  394. package/build-module/comment-content/edit.js +61 -0
  395. package/build-module/comment-content/edit.js.map +1 -0
  396. package/build-module/comment-content/index.js +55 -0
  397. package/build-module/comment-content/index.js.map +1 -0
  398. package/build-module/comment-date/deprecated.js +57 -0
  399. package/build-module/comment-date/deprecated.js.map +1 -0
  400. package/build-module/comment-date/edit.js +85 -0
  401. package/build-module/comment-date/edit.js.map +1 -0
  402. package/build-module/comment-date/index.js +58 -0
  403. package/build-module/comment-date/index.js.map +1 -0
  404. package/build-module/comment-edit-link/edit.js +48 -0
  405. package/build-module/comment-edit-link/edit.js.map +1 -0
  406. package/build-module/comment-edit-link/index.js +54 -0
  407. package/build-module/comment-edit-link/index.js.map +1 -0
  408. package/build-module/comment-reply-link/edit.js +50 -0
  409. package/build-module/comment-reply-link/edit.js.map +1 -0
  410. package/build-module/comment-reply-link/index.js +50 -0
  411. package/build-module/comment-reply-link/index.js.map +1 -0
  412. package/build-module/comment-template/edit.js +71 -0
  413. package/build-module/comment-template/edit.js.map +1 -0
  414. package/build-module/comment-template/index.js +35 -0
  415. package/build-module/comment-template/index.js.map +1 -0
  416. package/build-module/comment-template/save.js +10 -0
  417. package/build-module/comment-template/save.js.map +1 -0
  418. package/build-module/comments-query-loop/edit.js +50 -0
  419. package/build-module/comments-query-loop/edit.js.map +1 -0
  420. package/build-module/comments-query-loop/index.js +53 -0
  421. package/build-module/comments-query-loop/index.js.map +1 -0
  422. package/build-module/comments-query-loop/save.js +14 -0
  423. package/build-module/comments-query-loop/save.js.map +1 -0
  424. package/build-module/comments-query-loop/toolbar.js +44 -0
  425. package/build-module/comments-query-loop/toolbar.js.map +1 -0
  426. package/build-module/cover/deprecated.js +183 -21
  427. package/build-module/cover/deprecated.js.map +1 -1
  428. package/build-module/cover/edit.js +62 -28
  429. package/build-module/cover/edit.js.map +1 -1
  430. package/build-module/cover/edit.native.js +6 -2
  431. package/build-module/cover/edit.native.js.map +1 -1
  432. package/build-module/cover/index.js +12 -1
  433. package/build-module/cover/index.js.map +1 -1
  434. package/build-module/cover/save.js +18 -15
  435. package/build-module/cover/save.js.map +1 -1
  436. package/build-module/cover/shared.js +3 -2
  437. package/build-module/cover/shared.js.map +1 -1
  438. package/build-module/embed/edit.native.js +4 -8
  439. package/build-module/embed/edit.native.js.map +1 -1
  440. package/build-module/embed/embed-bottom-sheet.native.js +4 -5
  441. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
  442. package/build-module/embed/embed-no-preview.native.js +2 -1
  443. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  444. package/build-module/embed/icons.js +13 -0
  445. package/build-module/embed/icons.js.map +1 -1
  446. package/build-module/embed/transforms.native.js +2 -1
  447. package/build-module/embed/transforms.native.js.map +1 -1
  448. package/build-module/embed/variations.js +21 -1
  449. package/build-module/embed/variations.js.map +1 -1
  450. package/build-module/freeform/edit.js +16 -5
  451. package/build-module/freeform/edit.js.map +1 -1
  452. package/build-module/gallery/edit.js +6 -0
  453. package/build-module/gallery/edit.js.map +1 -1
  454. package/build-module/gallery/gallery.js +1 -1
  455. package/build-module/gallery/gallery.js.map +1 -1
  456. package/build-module/gallery/gallery.native.js +1 -1
  457. package/build-module/gallery/gallery.native.js.map +1 -1
  458. package/build-module/gallery/index.js +6 -1
  459. package/build-module/gallery/index.js.map +1 -1
  460. package/build-module/gallery/save.js +5 -3
  461. package/build-module/gallery/save.js.map +1 -1
  462. package/build-module/gallery/shared.js +0 -6
  463. package/build-module/gallery/shared.js.map +1 -1
  464. package/build-module/gallery/use-get-media.js +4 -10
  465. package/build-module/gallery/use-get-media.js.map +1 -1
  466. package/build-module/gallery/use-mobile-warning.js +32 -0
  467. package/build-module/gallery/use-mobile-warning.js.map +1 -0
  468. package/build-module/group/edit.js +1 -1
  469. package/build-module/group/edit.js.map +1 -1
  470. package/build-module/group/index.js +1 -0
  471. package/build-module/group/index.js.map +1 -1
  472. package/build-module/group/save.js +5 -6
  473. package/build-module/group/save.js.map +1 -1
  474. package/build-module/group/variations.js +2 -1
  475. package/build-module/group/variations.js.map +1 -1
  476. package/build-module/heading/autogenerate-anchors.js +77 -0
  477. package/build-module/heading/autogenerate-anchors.js.map +1 -0
  478. package/build-module/heading/edit.js +43 -7
  479. package/build-module/heading/edit.js.map +1 -1
  480. package/build-module/heading/index.js +14 -2
  481. package/build-module/heading/index.js.map +1 -1
  482. package/build-module/heading/transforms.js +14 -2
  483. package/build-module/heading/transforms.js.map +1 -1
  484. package/build-module/image/edit.native.js +128 -63
  485. package/build-module/image/edit.native.js.map +1 -1
  486. package/build-module/image/index.js +1 -1
  487. package/build-module/image/transforms.js +2 -1
  488. package/build-module/image/transforms.js.map +1 -1
  489. package/build-module/index.js +59 -53
  490. package/build-module/index.js.map +1 -1
  491. package/build-module/index.native.js +1 -2
  492. package/build-module/index.native.js.map +1 -1
  493. package/build-module/list/deprecated.js +99 -0
  494. package/build-module/list/deprecated.js.map +1 -0
  495. package/build-module/list/index.js +14 -3
  496. package/build-module/list/index.js.map +1 -1
  497. package/build-module/media-text/edit.js +1 -1
  498. package/build-module/media-text/edit.js.map +1 -1
  499. package/build-module/media-text/save.js +4 -4
  500. package/build-module/media-text/save.js.map +1 -1
  501. package/build-module/navigation/deprecated.js +336 -23
  502. package/build-module/navigation/deprecated.js.map +1 -1
  503. package/build-module/navigation/edit/index.js +346 -0
  504. package/build-module/navigation/edit/index.js.map +1 -0
  505. package/build-module/navigation/edit/inner-blocks.js +87 -0
  506. package/build-module/navigation/edit/inner-blocks.js.map +1 -0
  507. package/build-module/navigation/edit/navigation-menu-delete-control.js +50 -0
  508. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  509. package/build-module/navigation/edit/navigation-menu-name-control.js +17 -0
  510. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -0
  511. package/build-module/navigation/edit/navigation-menu-name-modal.js +46 -0
  512. package/build-module/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  513. package/build-module/navigation/edit/navigation-menu-publish-button.js +40 -0
  514. package/build-module/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  515. package/build-module/navigation/edit/navigation-menu-selector.js +36 -0
  516. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -0
  517. package/build-module/navigation/edit/placeholder/index.js +189 -0
  518. package/build-module/navigation/edit/placeholder/index.js.map +1 -0
  519. package/build-module/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +11 -2
  520. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  521. package/build-module/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +9 -5
  522. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -0
  523. package/build-module/navigation/edit/unsaved-inner-blocks.js +136 -0
  524. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  525. package/build-module/navigation/{block-navigation-list.js → edit/use-list-view-modal.js} +31 -2
  526. package/build-module/navigation/edit/use-list-view-modal.js.map +1 -0
  527. package/build-module/navigation/index.js +25 -12
  528. package/build-module/navigation/index.js.map +1 -1
  529. package/build-module/navigation/save.js +10 -1
  530. package/build-module/navigation/save.js.map +1 -1
  531. package/build-module/navigation/use-navigation-menu.js +31 -0
  532. package/build-module/navigation/use-navigation-menu.js.map +1 -0
  533. package/build-module/navigation/use-template-part-area-label.js +63 -0
  534. package/build-module/navigation/use-template-part-area-label.js.map +1 -0
  535. package/build-module/navigation/view.js +28 -26
  536. package/build-module/navigation/view.js.map +1 -1
  537. package/build-module/navigation-area/edit.js +82 -0
  538. package/build-module/navigation-area/edit.js.map +1 -0
  539. package/build-module/navigation-area/index.js +47 -0
  540. package/build-module/navigation-area/index.js.map +1 -0
  541. package/build-module/navigation-area/inner-blocks.js +25 -0
  542. package/build-module/navigation-area/inner-blocks.js.map +1 -0
  543. package/build-module/navigation-area/save.js +10 -0
  544. package/build-module/navigation-area/save.js.map +1 -0
  545. package/build-module/navigation-link/edit.js +72 -10
  546. package/build-module/navigation-link/edit.js.map +1 -1
  547. package/build-module/navigation-link/transforms.js +5 -1
  548. package/build-module/navigation-link/transforms.js.map +1 -1
  549. package/build-module/navigation-submenu/edit.js +2 -2
  550. package/build-module/navigation-submenu/edit.js.map +1 -1
  551. package/build-module/page-list/edit.js +127 -86
  552. package/build-module/page-list/edit.js.map +1 -1
  553. package/build-module/page-list/index.js +1 -35
  554. package/build-module/page-list/index.js.map +1 -1
  555. package/build-module/paragraph/edit.native.js +2 -1
  556. package/build-module/paragraph/edit.native.js.map +1 -1
  557. package/build-module/paragraph/index.js +8 -1
  558. package/build-module/paragraph/index.js.map +1 -1
  559. package/build-module/paragraph/transforms.js +8 -1
  560. package/build-module/paragraph/transforms.js.map +1 -1
  561. package/build-module/pattern/edit.js +35 -0
  562. package/build-module/pattern/edit.js.map +1 -0
  563. package/build-module/pattern/index.js +29 -0
  564. package/build-module/pattern/index.js.map +1 -0
  565. package/build-module/post-author/index.js +12 -1
  566. package/build-module/post-author/index.js.map +1 -1
  567. package/build-module/post-comment/edit.js +8 -9
  568. package/build-module/post-comment/edit.js.map +1 -1
  569. package/build-module/post-comment/index.js +4 -3
  570. package/build-module/post-comment/index.js.map +1 -1
  571. package/build-module/post-comment/save.js +4 -2
  572. package/build-module/post-comment/save.js.map +1 -1
  573. package/build-module/post-comments/index.js +8 -1
  574. package/build-module/post-comments/index.js.map +1 -1
  575. package/build-module/post-comments-count/index.js +7 -1
  576. package/build-module/post-comments-count/index.js.map +1 -1
  577. package/build-module/post-comments-form/index.js +9 -2
  578. package/build-module/post-comments-form/index.js.map +1 -1
  579. package/build-module/post-comments-link/index.js +8 -1
  580. package/build-module/post-comments-link/index.js.map +1 -1
  581. package/build-module/post-content/edit.js +2 -2
  582. package/build-module/post-content/edit.js.map +1 -1
  583. package/build-module/post-date/deprecated.js +60 -0
  584. package/build-module/post-date/deprecated.js.map +1 -0
  585. package/build-module/post-date/edit.js +1 -1
  586. package/build-module/post-date/edit.js.map +1 -1
  587. package/build-module/post-date/index.js +11 -2
  588. package/build-module/post-date/index.js.map +1 -1
  589. package/build-module/post-excerpt/edit.js +1 -1
  590. package/build-module/post-excerpt/edit.js.map +1 -1
  591. package/build-module/post-excerpt/index.js +12 -1
  592. package/build-module/post-excerpt/index.js.map +1 -1
  593. package/build-module/post-featured-image/index.js +5 -1
  594. package/build-module/post-featured-image/index.js.map +1 -1
  595. package/build-module/post-navigation-link/index.js +8 -1
  596. package/build-module/post-navigation-link/index.js.map +1 -1
  597. package/build-module/post-template/edit.js +10 -5
  598. package/build-module/post-template/edit.js.map +1 -1
  599. package/build-module/post-terms/edit.js +2 -6
  600. package/build-module/post-terms/edit.js.map +1 -1
  601. package/build-module/post-terms/index.js +7 -1
  602. package/build-module/post-terms/index.js.map +1 -1
  603. package/build-module/post-terms/use-post-terms.js +3 -1
  604. package/build-module/post-terms/use-post-terms.js.map +1 -1
  605. package/build-module/post-title/deprecated.js +73 -0
  606. package/build-module/post-title/deprecated.js.map +1 -0
  607. package/build-module/post-title/edit.js +1 -1
  608. package/build-module/post-title/edit.js.map +1 -1
  609. package/build-module/post-title/index.js +13 -2
  610. package/build-module/post-title/index.js.map +1 -1
  611. package/build-module/preformatted/edit.js +5 -2
  612. package/build-module/preformatted/edit.js.map +1 -1
  613. package/build-module/preformatted/edit.native.js +17 -6
  614. package/build-module/preformatted/edit.native.js.map +1 -1
  615. package/build-module/preformatted/index.js +9 -1
  616. package/build-module/preformatted/index.js.map +1 -1
  617. package/build-module/pullquote/blockquote.native.js +14 -2
  618. package/build-module/pullquote/blockquote.native.js.map +1 -1
  619. package/build-module/pullquote/edit.native.js +112 -0
  620. package/build-module/pullquote/edit.native.js.map +1 -0
  621. package/build-module/pullquote/figure.native.js +20 -9
  622. package/build-module/pullquote/figure.native.js.map +1 -1
  623. package/build-module/pullquote/index.js +12 -0
  624. package/build-module/pullquote/index.js.map +1 -1
  625. package/build-module/query/edit/index.js +1 -1
  626. package/build-module/query/edit/index.js.map +1 -1
  627. package/build-module/query/save.js +4 -2
  628. package/build-module/query/save.js.map +1 -1
  629. package/build-module/query-pagination/edit.js +1 -1
  630. package/build-module/query-pagination/edit.js.map +1 -1
  631. package/build-module/query-pagination-next/index.js +8 -1
  632. package/build-module/query-pagination-next/index.js.map +1 -1
  633. package/build-module/query-pagination-previous/index.js +8 -1
  634. package/build-module/query-pagination-previous/index.js.map +1 -1
  635. package/build-module/query-title/deprecated.js +59 -0
  636. package/build-module/query-title/deprecated.js.map +1 -0
  637. package/build-module/query-title/index.js +16 -2
  638. package/build-module/query-title/index.js.map +1 -1
  639. package/build-module/quote/deprecated.js +9 -0
  640. package/build-module/quote/deprecated.js.map +1 -1
  641. package/build-module/quote/index.js +17 -1
  642. package/build-module/quote/index.js.map +1 -1
  643. package/build-module/search/edit.js +28 -2
  644. package/build-module/search/edit.js.map +1 -1
  645. package/build-module/search/edit.native.js +38 -7
  646. package/build-module/search/edit.native.js.map +1 -1
  647. package/build-module/separator/separator-settings.js +1 -0
  648. package/build-module/separator/separator-settings.js.map +1 -1
  649. package/build-module/site-logo/edit.js +49 -26
  650. package/build-module/site-logo/edit.js.map +1 -1
  651. package/build-module/site-logo/index.js +6 -0
  652. package/build-module/site-logo/index.js.map +1 -1
  653. package/build-module/site-tagline/deprecated.js +57 -0
  654. package/build-module/site-tagline/deprecated.js.map +1 -0
  655. package/build-module/site-tagline/index.js +10 -3
  656. package/build-module/site-tagline/index.js.map +1 -1
  657. package/build-module/site-title/deprecated.js +70 -0
  658. package/build-module/site-title/deprecated.js.map +1 -0
  659. package/build-module/site-title/index.js +14 -2
  660. package/build-module/site-title/index.js.map +1 -1
  661. package/build-module/social-links/edit.js +2 -1
  662. package/build-module/social-links/edit.js.map +1 -1
  663. package/build-module/social-links/index.js +1 -0
  664. package/build-module/social-links/index.js.map +1 -1
  665. package/build-module/social-links/save.js +5 -3
  666. package/build-module/social-links/save.js.map +1 -1
  667. package/build-module/table/index.js +11 -0
  668. package/build-module/table/index.js.map +1 -1
  669. package/build-module/template-part/edit/inner-blocks.js +1 -1
  670. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  671. package/build-module/template-part/edit/placeholder/index.js +3 -3
  672. package/build-module/template-part/edit/placeholder/index.js.map +1 -1
  673. package/build-module/template-part/edit/placeholder/patterns-setup.js +3 -2
  674. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  675. package/build-module/template-part/edit/selection/template-part-previews.js +1 -1
  676. package/build-module/template-part/edit/selection/template-part-previews.js.map +1 -1
  677. package/build-module/template-part/variations.js +2 -2
  678. package/build-module/template-part/variations.js.map +1 -1
  679. package/build-module/term-description/edit.js +1 -1
  680. package/build-module/term-description/edit.js.map +1 -1
  681. package/build-module/term-description/index.js +4 -1
  682. package/build-module/term-description/index.js.map +1 -1
  683. package/build-module/utils/clean-empty-object.js +22 -0
  684. package/build-module/utils/clean-empty-object.js.map +1 -0
  685. package/build-module/utils/migrate-font-family.js +38 -0
  686. package/build-module/utils/migrate-font-family.js.map +1 -0
  687. package/build-module/verse/deprecated.js +90 -15
  688. package/build-module/verse/deprecated.js.map +1 -1
  689. package/build-module/verse/index.js +10 -1
  690. package/build-module/verse/index.js.map +1 -1
  691. package/build-style/button/editor-rtl.css +0 -1
  692. package/build-style/button/editor.css +0 -1
  693. package/build-style/button/style-rtl.css +15 -27
  694. package/build-style/button/style.css +15 -27
  695. package/build-style/buttons/editor-rtl.css +4 -8
  696. package/build-style/buttons/editor.css +4 -8
  697. package/build-style/buttons/style-rtl.css +1 -35
  698. package/build-style/buttons/style.css +1 -48
  699. package/build-style/columns/style-rtl.css +1 -1
  700. package/build-style/columns/style.css +1 -1
  701. package/build-style/common-rtl.css +2 -16
  702. package/build-style/common.css +2 -16
  703. package/build-style/cover/editor-rtl.css +14 -32
  704. package/build-style/cover/editor.css +14 -32
  705. package/build-style/cover/style-rtl.css +28 -40
  706. package/build-style/cover/style.css +28 -40
  707. package/build-style/editor-rtl.css +198 -145
  708. package/build-style/editor.css +198 -145
  709. package/build-style/image/editor-rtl.css +1 -0
  710. package/build-style/image/editor.css +1 -0
  711. package/build-style/image/style-rtl.css +4 -0
  712. package/build-style/image/style.css +4 -0
  713. package/build-style/media-text/style-rtl.css +1 -0
  714. package/build-style/media-text/style.css +1 -0
  715. package/build-style/navigation/editor-rtl.css +58 -16
  716. package/build-style/navigation/editor.css +58 -16
  717. package/build-style/navigation/style-rtl.css +51 -112
  718. package/build-style/navigation/style.css +51 -112
  719. package/build-style/navigation-link/editor-rtl.css +31 -14
  720. package/build-style/navigation-link/editor.css +31 -14
  721. package/build-style/navigation-link/style-rtl.css +1 -1
  722. package/build-style/navigation-link/style.css +1 -1
  723. package/build-style/navigation-submenu/editor-rtl.css +1 -1
  724. package/build-style/navigation-submenu/editor.css +1 -1
  725. package/build-style/navigation-submenu/style-rtl.css +2 -0
  726. package/build-style/navigation-submenu/style.css +2 -0
  727. package/build-style/page-list/style-rtl.css +4 -16
  728. package/build-style/page-list/style.css +4 -16
  729. package/build-style/post-author/style-rtl.css +0 -1
  730. package/build-style/post-author/style.css +0 -1
  731. package/build-style/post-comments/style-rtl.css +21 -1
  732. package/build-style/post-comments/style.css +21 -1
  733. package/build-style/post-comments-form/style-rtl.css +29 -0
  734. package/build-style/post-comments-form/style.css +29 -0
  735. package/build-style/post-featured-image/editor-rtl.css +1 -1
  736. package/build-style/post-featured-image/editor.css +1 -1
  737. package/build-style/post-featured-image/style-rtl.css +1 -1
  738. package/build-style/post-featured-image/style.css +1 -1
  739. package/build-style/quote/theme-rtl.css +1 -1
  740. package/build-style/quote/theme.css +1 -1
  741. package/build-style/reset-rtl.css +0 -5
  742. package/build-style/reset.css +0 -5
  743. package/build-style/search/style-rtl.css +18 -6
  744. package/build-style/search/style.css +18 -6
  745. package/build-style/separator/style-rtl.css +0 -1
  746. package/build-style/separator/style.css +0 -1
  747. package/build-style/site-logo/editor-rtl.css +82 -14
  748. package/build-style/site-logo/editor.css +82 -14
  749. package/build-style/site-logo/style-rtl.css +6 -2
  750. package/build-style/site-logo/style.css +6 -2
  751. package/build-style/social-link/editor-rtl.css +4 -0
  752. package/build-style/social-link/editor.css +4 -0
  753. package/build-style/social-links/editor-rtl.css +4 -0
  754. package/build-style/social-links/editor.css +4 -0
  755. package/build-style/social-links/style-rtl.css +7 -1
  756. package/build-style/social-links/style.css +7 -1
  757. package/build-style/style-rtl.css +192 -261
  758. package/build-style/style.css +192 -274
  759. package/build-style/template-part/editor-rtl.css +0 -7
  760. package/build-style/template-part/editor.css +0 -7
  761. package/build-style/theme-rtl.css +1 -1
  762. package/build-style/theme.css +1 -1
  763. package/package.json +20 -19
  764. package/src/audio/test/edit.native.js +4 -0
  765. package/src/block/edit.js +1 -1
  766. package/src/button/block.json +4 -1
  767. package/src/button/deprecated.js +149 -4
  768. package/src/button/edit.native.js +319 -366
  769. package/src/button/editor.scss +0 -1
  770. package/src/button/style.scss +18 -41
  771. package/src/buttons/block.json +15 -10
  772. package/src/buttons/deprecated.js +76 -3
  773. package/src/buttons/edit.js +4 -49
  774. package/src/buttons/editor.scss +8 -9
  775. package/src/buttons/index.js +0 -2
  776. package/src/buttons/save.js +4 -21
  777. package/src/buttons/style.scss +1 -51
  778. package/src/categories/block.json +4 -0
  779. package/src/categories/edit.js +36 -18
  780. package/src/categories/index.php +3 -0
  781. package/src/code/block.json +24 -1
  782. package/src/code/edit.native.js +12 -14
  783. package/src/column/block.json +4 -0
  784. package/src/column/edit.js +8 -2
  785. package/src/column/save.js +9 -12
  786. package/src/columns/block.json +1 -0
  787. package/src/columns/edit.js +1 -1
  788. package/src/columns/save.js +5 -6
  789. package/src/columns/style.scss +1 -1
  790. package/src/comment-author-avatar/block.json +34 -0
  791. package/src/comment-author-avatar/edit.js +96 -0
  792. package/src/comment-author-avatar/index.js +18 -0
  793. package/src/comment-author-avatar/index.php +62 -0
  794. package/src/comment-author-name/block.json +43 -0
  795. package/src/comment-author-name/deprecated.js +50 -0
  796. package/src/comment-author-name/edit.js +124 -0
  797. package/src/comment-author-name/index.js +20 -0
  798. package/src/comment-author-name/index.php +57 -0
  799. package/src/comment-content/block.json +37 -0
  800. package/src/comment-content/edit.js +80 -0
  801. package/src/{post-comment-content → comment-content}/index.js +1 -1
  802. package/src/comment-content/index.php +56 -0
  803. package/src/comment-date/block.json +38 -0
  804. package/src/comment-date/deprecated.js +49 -0
  805. package/src/comment-date/edit.js +106 -0
  806. package/src/{post-comment-date → comment-date}/index.js +2 -0
  807. package/src/comment-date/index.php +56 -0
  808. package/src/comment-edit-link/block.json +36 -0
  809. package/src/comment-edit-link/edit.js +68 -0
  810. package/src/{post-comment-author → comment-edit-link}/index.js +5 -5
  811. package/src/comment-edit-link/index.php +58 -0
  812. package/src/comment-reply-link/block.json +32 -0
  813. package/src/comment-reply-link/edit.js +59 -0
  814. package/src/comment-reply-link/index.js +18 -0
  815. package/src/comment-reply-link/index.php +80 -0
  816. package/src/comment-template/block.json +15 -0
  817. package/src/comment-template/edit.js +100 -0
  818. package/src/comment-template/index.js +20 -0
  819. package/src/comment-template/index.php +65 -0
  820. package/src/comment-template/save.js +8 -0
  821. package/src/comments-query-loop/block.json +33 -0
  822. package/src/comments-query-loop/edit.js +53 -0
  823. package/src/comments-query-loop/index.js +20 -0
  824. package/src/comments-query-loop/save.js +14 -0
  825. package/src/comments-query-loop/toolbar.js +57 -0
  826. package/src/common.scss +3 -17
  827. package/src/cover/block.json +12 -1
  828. package/src/cover/deprecated.js +707 -510
  829. package/src/cover/edit.js +70 -42
  830. package/src/cover/edit.native.js +5 -1
  831. package/src/cover/editor.scss +20 -38
  832. package/src/cover/save.js +30 -26
  833. package/src/cover/shared.js +3 -2
  834. package/src/cover/style.scss +9 -7
  835. package/src/editor.scss +4 -20
  836. package/src/embed/edit.native.js +6 -9
  837. package/src/embed/embed-bottom-sheet.native.js +4 -5
  838. package/src/embed/embed-no-preview.native.js +1 -0
  839. package/src/embed/icons.js +11 -0
  840. package/src/embed/test/__snapshots__/index.native.js.snap +181 -0
  841. package/src/embed/test/index.native.js +991 -0
  842. package/src/embed/transforms.native.js +2 -0
  843. package/src/embed/variations.js +21 -0
  844. package/src/file/test/__snapshots__/edit.native.js.snap +6 -3
  845. package/src/file/test/edit.native.js +4 -0
  846. package/src/freeform/edit.js +14 -4
  847. package/src/gallery/block.json +6 -1
  848. package/src/gallery/edit.js +7 -0
  849. package/src/gallery/editor.scss +0 -1
  850. package/src/gallery/gallery.js +1 -4
  851. package/src/gallery/gallery.native.js +1 -4
  852. package/src/gallery/index.php +52 -0
  853. package/src/gallery/save.js +9 -3
  854. package/src/gallery/shared.js +0 -7
  855. package/src/gallery/use-get-media.js +6 -11
  856. package/src/gallery/use-mobile-warning.js +28 -0
  857. package/src/group/block.json +1 -0
  858. package/src/group/edit.js +1 -1
  859. package/src/group/save.js +3 -8
  860. package/src/group/variations.js +1 -1
  861. package/src/heading/autogenerate-anchors.js +81 -0
  862. package/src/heading/block.json +14 -2
  863. package/src/heading/edit.js +42 -4
  864. package/src/home-link/index.php +3 -1
  865. package/src/image/block.json +1 -1
  866. package/src/image/edit.native.js +120 -64
  867. package/src/image/editor.scss +1 -0
  868. package/src/image/index.php +42 -0
  869. package/src/image/style.scss +8 -2
  870. package/src/image/test/edit.native.js +225 -40
  871. package/src/image/transforms.js +4 -0
  872. package/src/index.js +96 -88
  873. package/src/index.native.js +1 -1
  874. package/src/list/block.json +11 -2
  875. package/src/list/deprecated.js +79 -0
  876. package/src/list/index.js +2 -0
  877. package/src/media-text/edit.js +1 -1
  878. package/src/media-text/save.js +6 -4
  879. package/src/media-text/style.scss +1 -0
  880. package/src/navigation/block.json +41 -13
  881. package/src/navigation/deprecated.js +336 -27
  882. package/src/navigation/edit/index.js +510 -0
  883. package/src/navigation/edit/inner-blocks.js +134 -0
  884. package/src/navigation/edit/navigation-menu-delete-control.js +81 -0
  885. package/src/navigation/edit/navigation-menu-name-control.js +22 -0
  886. package/src/navigation/edit/navigation-menu-name-modal.js +69 -0
  887. package/src/navigation/edit/navigation-menu-publish-button.js +57 -0
  888. package/src/navigation/edit/navigation-menu-selector.js +42 -0
  889. package/src/navigation/edit/placeholder/index.js +257 -0
  890. package/src/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +13 -2
  891. package/src/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +8 -6
  892. package/src/navigation/edit/unsaved-inner-blocks.js +197 -0
  893. package/src/navigation/edit/use-list-view-modal.js +72 -0
  894. package/src/navigation/editor.scss +86 -31
  895. package/src/navigation/index.js +0 -2
  896. package/src/navigation/index.php +54 -107
  897. package/src/navigation/save.js +7 -1
  898. package/src/navigation/style.scss +81 -155
  899. package/src/navigation/use-navigation-menu.js +60 -0
  900. package/src/navigation/use-template-part-area-label.js +78 -0
  901. package/src/navigation/view.js +33 -32
  902. package/src/navigation-area/block.json +27 -0
  903. package/src/navigation-area/edit.js +105 -0
  904. package/src/navigation-area/index.js +26 -0
  905. package/src/navigation-area/index.php +21 -0
  906. package/src/navigation-area/inner-blocks.js +24 -0
  907. package/src/navigation-area/save.js +8 -0
  908. package/src/navigation-link/edit.js +97 -12
  909. package/src/navigation-link/editor.scss +30 -19
  910. package/src/navigation-link/index.php +8 -10
  911. package/src/navigation-link/style.scss +1 -1
  912. package/src/navigation-link/transforms.js +5 -1
  913. package/src/navigation-submenu/edit.js +2 -2
  914. package/src/navigation-submenu/editor.scss +1 -1
  915. package/src/navigation-submenu/index.php +10 -9
  916. package/src/navigation-submenu/style.scss +5 -0
  917. package/src/page-list/block.json +0 -33
  918. package/src/page-list/edit.js +168 -110
  919. package/src/page-list/index.php +27 -26
  920. package/src/page-list/style.scss +4 -23
  921. package/src/paragraph/block.json +8 -1
  922. package/src/paragraph/edit.native.js +1 -0
  923. package/src/pattern/block.json +17 -0
  924. package/src/pattern/edit.js +41 -0
  925. package/src/pattern/index.js +12 -0
  926. package/src/pattern/index.php +44 -0
  927. package/src/post-author/block.json +12 -1
  928. package/src/post-author/style.scss +0 -1
  929. package/src/post-comment/block.json +4 -3
  930. package/src/post-comment/edit.js +16 -13
  931. package/src/post-comment/save.js +4 -6
  932. package/src/post-comments/block.json +8 -1
  933. package/src/post-comments/index.php +12 -3
  934. package/src/post-comments/style.scss +27 -1
  935. package/src/post-comments-count/block.json +7 -1
  936. package/src/post-comments-form/block.json +9 -2
  937. package/src/post-comments-form/index.php +0 -14
  938. package/src/post-comments-form/style.scss +47 -7
  939. package/src/post-comments-link/block.json +8 -1
  940. package/src/post-content/edit.js +2 -2
  941. package/src/post-date/block.json +8 -1
  942. package/src/post-date/deprecated.js +52 -0
  943. package/src/post-date/edit.js +1 -1
  944. package/src/post-date/index.js +2 -0
  945. package/src/post-excerpt/block.json +12 -1
  946. package/src/post-excerpt/edit.js +1 -7
  947. package/src/post-excerpt/index.php +7 -1
  948. package/src/post-featured-image/block.json +5 -1
  949. package/src/post-featured-image/editor.scss +1 -1
  950. package/src/post-featured-image/style.scss +1 -1
  951. package/src/post-navigation-link/block.json +8 -1
  952. package/src/post-navigation-link/index.php +1 -2
  953. package/src/post-template/edit.js +8 -3
  954. package/src/post-template/index.php +0 -11
  955. package/src/post-terms/block.json +7 -1
  956. package/src/post-terms/edit.js +2 -14
  957. package/src/post-terms/use-post-terms.js +1 -1
  958. package/src/post-title/block.json +10 -1
  959. package/src/post-title/deprecated.js +65 -0
  960. package/src/post-title/edit.js +1 -1
  961. package/src/post-title/index.js +2 -0
  962. package/src/post-title/index.php +7 -2
  963. package/src/preformatted/block.json +9 -1
  964. package/src/preformatted/edit.js +2 -1
  965. package/src/preformatted/edit.native.js +20 -6
  966. package/src/preformatted/styles.native.scss +5 -0
  967. package/src/preformatted/test/__snapshots__/edit.native.js.snap +20 -2
  968. package/src/pullquote/block.json +12 -0
  969. package/src/pullquote/blockquote.native.js +12 -2
  970. package/src/pullquote/edit.native.js +129 -0
  971. package/src/pullquote/figure.native.js +17 -7
  972. package/src/query/edit/index.js +1 -1
  973. package/src/query/save.js +4 -6
  974. package/src/query-pagination/edit.js +1 -1
  975. package/src/query-pagination-next/block.json +8 -1
  976. package/src/query-pagination-previous/block.json +8 -1
  977. package/src/query-title/block.json +13 -1
  978. package/src/query-title/deprecated.js +51 -0
  979. package/src/query-title/index.js +2 -0
  980. package/src/quote/block.json +15 -1
  981. package/src/quote/deprecated.js +10 -0
  982. package/src/quote/theme.scss +1 -0
  983. package/src/reset.scss +0 -9
  984. package/src/search/edit.js +29 -0
  985. package/src/search/edit.native.js +46 -12
  986. package/src/search/style.scss +54 -52
  987. package/src/search/test/__snapshots__/edit.native.js.snap +33 -5
  988. package/src/search/test/edit.native.js +4 -0
  989. package/src/separator/separator-settings.js +1 -0
  990. package/src/separator/style.scss +0 -1
  991. package/src/site-logo/block.json +6 -0
  992. package/src/site-logo/edit.js +59 -34
  993. package/src/site-logo/editor.scss +101 -16
  994. package/src/site-logo/index.php +20 -19
  995. package/src/site-logo/style.scss +8 -2
  996. package/src/site-tagline/block.json +7 -2
  997. package/src/site-tagline/deprecated.js +49 -0
  998. package/src/site-tagline/index.js +2 -0
  999. package/src/site-title/block.json +11 -1
  1000. package/src/site-title/deprecated.js +62 -0
  1001. package/src/site-title/index.js +2 -0
  1002. package/src/site-title/index.php +3 -0
  1003. package/src/social-link/editor.scss +4 -0
  1004. package/src/social-links/block.json +1 -0
  1005. package/src/social-links/edit.js +2 -1
  1006. package/src/social-links/editor.scss +4 -0
  1007. package/src/social-links/save.js +4 -6
  1008. package/src/social-links/style.scss +8 -1
  1009. package/src/table/block.json +11 -0
  1010. package/src/template-part/edit/inner-blocks.js +1 -1
  1011. package/src/template-part/edit/placeholder/index.js +5 -3
  1012. package/src/template-part/edit/placeholder/patterns-setup.js +3 -2
  1013. package/src/template-part/edit/selection/template-part-previews.js +3 -1
  1014. package/src/template-part/editor.scss +0 -16
  1015. package/src/template-part/index.php +6 -3
  1016. package/src/template-part/variations.js +2 -2
  1017. package/src/term-description/block.json +4 -1
  1018. package/src/term-description/edit.js +1 -1
  1019. package/src/utils/clean-empty-object.js +23 -0
  1020. package/src/utils/migrate-font-family.js +37 -0
  1021. package/src/verse/block.json +10 -1
  1022. package/src/verse/deprecated.js +86 -25
  1023. package/build/buttons/variations.js +0 -33
  1024. package/build/buttons/variations.js.map +0 -1
  1025. package/build/navigation/block-navigation-list.js.map +0 -1
  1026. package/build/navigation/edit.js +0 -304
  1027. package/build/navigation/edit.js.map +0 -1
  1028. package/build/navigation/placeholder-preview.js.map +0 -1
  1029. package/build/navigation/placeholder.js +0 -129
  1030. package/build/navigation/placeholder.js.map +0 -1
  1031. package/build/navigation/responsive-wrapper.js.map +0 -1
  1032. package/build/navigation/use-block-navigator.js +0 -51
  1033. package/build/navigation/use-block-navigator.js.map +0 -1
  1034. package/build/navigation/variations.js +0 -32
  1035. package/build/navigation/variations.js.map +0 -1
  1036. package/build/post-comment-author/edit.js +0 -51
  1037. package/build/post-comment-author/edit.js.map +0 -1
  1038. package/build/post-comment-author/index.js.map +0 -1
  1039. package/build/post-comment-content/edit.js +0 -37
  1040. package/build/post-comment-content/edit.js.map +0 -1
  1041. package/build/post-comment-content/index.js.map +0 -1
  1042. package/build/post-comment-date/edit.js +0 -62
  1043. package/build/post-comment-date/edit.js.map +0 -1
  1044. package/build/post-comment-date/index.js.map +0 -1
  1045. package/build-module/buttons/variations.js +0 -24
  1046. package/build-module/buttons/variations.js.map +0 -1
  1047. package/build-module/navigation/block-navigation-list.js.map +0 -1
  1048. package/build-module/navigation/edit.js +0 -284
  1049. package/build-module/navigation/edit.js.map +0 -1
  1050. package/build-module/navigation/placeholder-preview.js.map +0 -1
  1051. package/build-module/navigation/placeholder.js +0 -113
  1052. package/build-module/navigation/placeholder.js.map +0 -1
  1053. package/build-module/navigation/responsive-wrapper.js.map +0 -1
  1054. package/build-module/navigation/use-block-navigator.js +0 -39
  1055. package/build-module/navigation/use-block-navigator.js.map +0 -1
  1056. package/build-module/navigation/variations.js +0 -23
  1057. package/build-module/navigation/variations.js.map +0 -1
  1058. package/build-module/post-comment-author/edit.js +0 -40
  1059. package/build-module/post-comment-author/edit.js.map +0 -1
  1060. package/build-module/post-comment-author/index.js +0 -31
  1061. package/build-module/post-comment-author/index.js.map +0 -1
  1062. package/build-module/post-comment-content/edit.js +0 -27
  1063. package/build-module/post-comment-content/edit.js.map +0 -1
  1064. package/build-module/post-comment-content/index.js +0 -31
  1065. package/build-module/post-comment-content/index.js.map +0 -1
  1066. package/build-module/post-comment-date/edit.js +0 -52
  1067. package/build-module/post-comment-date/edit.js.map +0 -1
  1068. package/build-module/post-comment-date/index.js +0 -36
  1069. package/build-module/post-comment-date/index.js.map +0 -1
  1070. package/build-style/post-author/editor-rtl.css +0 -104
  1071. package/build-style/post-author/editor.css +0 -104
  1072. package/build-style/query-title/editor-rtl.css +0 -80
  1073. package/build-style/query-title/editor.css +0 -80
  1074. package/build-style/term-description/editor-rtl.css +0 -80
  1075. package/build-style/term-description/editor.css +0 -80
  1076. package/src/buttons/variations.js +0 -24
  1077. package/src/navigation/block-navigation-list.js +0 -38
  1078. package/src/navigation/edit.js +0 -411
  1079. package/src/navigation/placeholder.js +0 -154
  1080. package/src/navigation/use-block-navigator.js +0 -46
  1081. package/src/navigation/variations.js +0 -23
  1082. package/src/post-author/editor.scss +0 -35
  1083. package/src/post-comment-author/block.json +0 -13
  1084. package/src/post-comment-author/edit.js +0 -35
  1085. package/src/post-comment-author/index.php +0 -41
  1086. package/src/post-comment-content/block.json +0 -13
  1087. package/src/post-comment-content/edit.js +0 -32
  1088. package/src/post-comment-content/index.php +0 -42
  1089. package/src/post-comment-date/block.json +0 -18
  1090. package/src/post-comment-date/edit.js +0 -54
  1091. package/src/post-comment-date/index.php +0 -44
  1092. package/src/query-title/editor.scss +0 -4
  1093. package/src/term-description/editor.scss +0 -4
@@ -2,11 +2,12 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { View, TouchableWithoutFeedback } from 'react-native';
5
+ import { useRoute } from '@react-navigation/native';
5
6
 
6
7
  /**
7
8
  * WordPress dependencies
8
9
  */
9
- import { Component } from '@wordpress/element';
10
+ import { Component, useEffect } from '@wordpress/element';
10
11
  import {
11
12
  requestMediaImport,
12
13
  mediaUploadSync,
@@ -41,6 +42,7 @@ import {
41
42
  BlockAlignmentToolbar,
42
43
  BlockStyles,
43
44
  store as blockEditorStore,
45
+ blockSettingsScreens,
44
46
  } from '@wordpress/block-editor';
45
47
  import { __, _x, sprintf } from '@wordpress/i18n';
46
48
  import { getProtocol, hasQueryArg } from '@wordpress/url';
@@ -63,6 +65,7 @@ import styles from './styles.scss';
63
65
  import { getUpdatedLinkTargetSettings } from './utils';
64
66
 
65
67
  import {
68
+ LINK_DESTINATION_NONE,
66
69
  LINK_DESTINATION_CUSTOM,
67
70
  LINK_DESTINATION_ATTACHMENT,
68
71
  LINK_DESTINATION_MEDIA,
@@ -76,6 +79,101 @@ const getUrlForSlug = ( image, sizeSlug ) => {
76
79
  return image?.media_details?.sizes?.[ sizeSlug ]?.source_url;
77
80
  };
78
81
 
82
+ function LinkSettings( {
83
+ attributes,
84
+ image,
85
+ isLinkSheetVisible,
86
+ setMappedAttributes,
87
+ } ) {
88
+ const route = useRoute();
89
+ const { href: url, label, linkDestination, linkTarget, rel } = attributes;
90
+
91
+ // Persist attributes passed from child screen
92
+ useEffect( () => {
93
+ const { inputValue: newUrl } = route.params || {};
94
+
95
+ let newLinkDestination;
96
+ switch ( newUrl ) {
97
+ case attributes.url:
98
+ newLinkDestination = LINK_DESTINATION_MEDIA;
99
+ break;
100
+ case image?.link:
101
+ newLinkDestination = LINK_DESTINATION_ATTACHMENT;
102
+ break;
103
+ case '':
104
+ newLinkDestination = LINK_DESTINATION_NONE;
105
+ break;
106
+ default:
107
+ newLinkDestination = LINK_DESTINATION_CUSTOM;
108
+ break;
109
+ }
110
+
111
+ setMappedAttributes( {
112
+ url: newUrl,
113
+ linkDestination: newLinkDestination,
114
+ } );
115
+ }, [ route.params?.inputValue ] );
116
+
117
+ let valueMask;
118
+ switch ( linkDestination ) {
119
+ case LINK_DESTINATION_MEDIA:
120
+ valueMask = __( 'Media File' );
121
+ break;
122
+ case LINK_DESTINATION_ATTACHMENT:
123
+ valueMask = __( 'Attachment Page' );
124
+ break;
125
+ case LINK_DESTINATION_CUSTOM:
126
+ valueMask = __( 'Custom URL' );
127
+ break;
128
+ default:
129
+ valueMask = __( 'None' );
130
+ break;
131
+ }
132
+
133
+ const linkSettingsOptions = {
134
+ url: {
135
+ valueMask,
136
+ autoFocus: false,
137
+ autoFill: true,
138
+ },
139
+ openInNewTab: {
140
+ label: __( 'Open in new tab' ),
141
+ },
142
+ linkRel: {
143
+ label: __( 'Link Rel' ),
144
+ placeholder: _x( 'None', 'Link rel attribute value placeholder' ),
145
+ },
146
+ };
147
+
148
+ return (
149
+ <PanelBody title={ __( 'Link Settings' ) }>
150
+ <LinkSettingsNavigation
151
+ isVisible={ isLinkSheetVisible }
152
+ url={ url }
153
+ rel={ rel }
154
+ label={ label }
155
+ linkTarget={ linkTarget }
156
+ setAttributes={ setMappedAttributes }
157
+ withBottomSheet={ false }
158
+ hasPicker
159
+ options={ linkSettingsOptions }
160
+ showIcon={ false }
161
+ onLinkCellPressed={ ( { navigation } ) => {
162
+ navigation.navigate(
163
+ blockSettingsScreens.imageLinkDestinations,
164
+ {
165
+ inputValue: attributes.href,
166
+ linkDestination: attributes.linkDestination,
167
+ imageUrl: attributes.url,
168
+ attachmentPageUrl: image?.link,
169
+ }
170
+ );
171
+ } }
172
+ />
173
+ </PanelBody>
174
+ );
175
+ }
176
+
79
177
  export class ImageEdit extends Component {
80
178
  constructor( props ) {
81
179
  super( props );
@@ -96,7 +194,6 @@ export class ImageEdit extends Component {
96
194
  );
97
195
  this.updateMediaProgress = this.updateMediaProgress.bind( this );
98
196
  this.updateImageURL = this.updateImageURL.bind( this );
99
- this.onSetLinkDestination = this.onSetLinkDestination.bind( this );
100
197
  this.onSetNewTab = this.onSetNewTab.bind( this );
101
198
  this.onSetSizeSlug = this.onSetSizeSlug.bind( this );
102
199
  this.onImagePressed = this.onImagePressed.bind( this );
@@ -108,25 +205,6 @@ export class ImageEdit extends Component {
108
205
  );
109
206
  this.setMappedAttributes = this.setMappedAttributes.bind( this );
110
207
  this.onSizeChangeValue = this.onSizeChangeValue.bind( this );
111
-
112
- this.linkSettingsOptions = {
113
- url: {
114
- label: __( 'Image Link URL' ),
115
- placeholder: __( 'Add URL' ),
116
- autoFocus: false,
117
- autoFill: true,
118
- },
119
- openInNewTab: {
120
- label: __( 'Open in new tab' ),
121
- },
122
- linkRel: {
123
- label: __( 'Link Rel' ),
124
- placeholder: _x(
125
- 'None',
126
- 'Link rel attribute value placeholder'
127
- ),
128
- },
129
- };
130
208
  }
131
209
 
132
210
  componentDidMount() {
@@ -282,13 +360,6 @@ export class ImageEdit extends Component {
282
360
  } );
283
361
  }
284
362
 
285
- onSetLinkDestination( href ) {
286
- this.props.setAttributes( {
287
- linkDestination: LINK_DESTINATION_CUSTOM,
288
- href,
289
- } );
290
- }
291
-
292
363
  onSetNewTab( value ) {
293
364
  const updatedLinkTarget = getUpdatedLinkTargetSettings(
294
365
  value,
@@ -383,45 +454,23 @@ export class ImageEdit extends Component {
383
454
  : width;
384
455
  }
385
456
 
386
- setMappedAttributes( { url: href, ...restAttributes } ) {
457
+ setMappedAttributes( { url: href, linkDestination, ...restAttributes } ) {
387
458
  const { setAttributes } = this.props;
459
+ if ( ! href && ! linkDestination ) {
460
+ linkDestination = LINK_DESTINATION_NONE;
461
+ } else if ( ! linkDestination ) {
462
+ linkDestination = LINK_DESTINATION_CUSTOM;
463
+ }
388
464
 
389
- return href === undefined
390
- ? setAttributes( {
391
- ...restAttributes,
392
- linkDestination: LINK_DESTINATION_CUSTOM,
393
- } )
465
+ return href === undefined || href === this.props.attributes.href
466
+ ? setAttributes( restAttributes )
394
467
  : setAttributes( {
395
468
  ...restAttributes,
469
+ linkDestination,
396
470
  href,
397
- linkDestination: LINK_DESTINATION_CUSTOM,
398
471
  } );
399
472
  }
400
473
 
401
- getLinkSettings() {
402
- const { isLinkSheetVisible } = this.state;
403
- const {
404
- attributes: { href: url, ...unMappedAttributes },
405
- } = this.props;
406
- const mappedAttributes = { ...unMappedAttributes, url };
407
-
408
- return (
409
- <LinkSettingsNavigation
410
- isVisible={ isLinkSheetVisible }
411
- url={ mappedAttributes.url }
412
- rel={ mappedAttributes.rel }
413
- label={ mappedAttributes.label }
414
- linkTarget={ mappedAttributes.linkTarget }
415
- onClose={ this.dismissSheet }
416
- setAttributes={ this.setMappedAttributes }
417
- withBottomSheet={ false }
418
- hasPicker
419
- options={ this.linkSettingsOptions }
420
- showIcon={ false }
421
- />
422
- );
423
- }
424
-
425
474
  getAltTextSettings() {
426
475
  const {
427
476
  attributes: { alt },
@@ -583,9 +632,12 @@ export class ImageEdit extends Component {
583
632
  ) }
584
633
  { this.getAltTextSettings() }
585
634
  </PanelBody>
586
- <PanelBody title={ __( 'Link Settings' ) }>
587
- { this.getLinkSettings( true ) }
588
- </PanelBody>
635
+ <LinkSettings
636
+ attributes={ this.props.attributes }
637
+ image={ this.props.image }
638
+ isLinkSheetVisible={ this.state.isLinkSheetVisible }
639
+ setMappedAttributes={ this.setMappedAttributes }
640
+ />
589
641
  <PanelBody
590
642
  title={ __( 'Featured Image' ) }
591
643
  titleStyle={ styles.featuredImagePanelTitle }
@@ -633,7 +685,9 @@ export class ImageEdit extends Component {
633
685
  resizeMode: context?.imageCrop ? 'cover' : 'contain',
634
686
  };
635
687
 
636
- const imageContainerStyles = [ hasImageContext && styles.fixedHeight ];
688
+ const imageContainerStyles = [
689
+ context?.fixedHeight && styles.fixedHeight,
690
+ ];
637
691
 
638
692
  const getImageComponent = ( openMediaOptions, getMediaOptions ) => (
639
693
  <Badge label={ __( 'Featured' ) } show={ isFeaturedImage }>
@@ -689,7 +743,9 @@ export class ImageEdit extends Component {
689
743
  }
690
744
  retryMessage={ retryMessage }
691
745
  url={ url }
692
- shapeStyle={ styles[ className ] }
746
+ shapeStyle={
747
+ styles[ className ] || className
748
+ }
693
749
  width={ this.getWidth() }
694
750
  { ...( hasImageContext
695
751
  ? additionalImageProps
@@ -52,6 +52,7 @@ figure.wp-block-image:not(.wp-block) {
52
52
  [data-align="wide"] > .wp-block-image,
53
53
  [data-align="full"] > .wp-block-image {
54
54
  img {
55
+ height: auto;
55
56
  width: 100%;
56
57
  }
57
58
  }
@@ -0,0 +1,42 @@
1
+ <?php
2
+ /**
3
+ * Server-side rendering of the `core/image` block.
4
+ *
5
+ * @package gutenberg
6
+ */
7
+
8
+ /**
9
+ * Renders the `core/image` block on the server,
10
+ * adding a data-id attribute to the element if core/gallery has added on pre-render.
11
+ *
12
+ * @param array $attributes The block attributes.
13
+ * @param array $content The block content.
14
+ * @return string Returns the block content with the data-id attribute added.
15
+ */
16
+ function render_block_core_image( $attributes, $content ) {
17
+ if ( isset( $attributes['data-id'] ) ) {
18
+ // Add the data-id="$id" attribute to the img element
19
+ // to provide backwards compatibility for the Gallery Block,
20
+ // which now wraps Image Blocks within innerBlocks.
21
+ // The data-id attribute is added in a core/gallery `render_block_data` hook.
22
+ $data_id_attribute = 'data-id="' . esc_attr( $attributes['data-id'] ) . '"';
23
+ if ( ! strpos( $content, $data_id_attribute ) ) {
24
+ $content = str_replace( '<img', '<img ' . $data_id_attribute . ' ', $content );
25
+ }
26
+ }
27
+ return $content;
28
+ }
29
+
30
+
31
+ /**
32
+ * Registers the `core/image` block on server.
33
+ */
34
+ function register_block_core_image() {
35
+ register_block_type_from_metadata(
36
+ __DIR__ . '/image',
37
+ array(
38
+ 'render_callback' => 'render_block_core_image',
39
+ )
40
+ );
41
+ }
42
+ add_action( 'init', 'register_block_core_image' );
@@ -2,11 +2,16 @@
2
2
  margin: 0 0 1em 0;
3
3
 
4
4
  img {
5
+ height: auto;
5
6
  max-width: 100%;
7
+ vertical-align: bottom;
6
8
  }
7
9
 
8
- &:not(.is-style-rounded) img {
9
- border-radius: inherit;
10
+ &:not(.is-style-rounded) {
11
+ > a,
12
+ img {
13
+ border-radius: inherit;
14
+ }
10
15
  }
11
16
 
12
17
  &.aligncenter {
@@ -15,6 +20,7 @@
15
20
 
16
21
  &.alignfull img,
17
22
  &.alignwide img {
23
+ height: auto;
18
24
  width: 100%;
19
25
  }
20
26
 
@@ -1,65 +1,250 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import renderer from 'react-test-renderer';
4
+ import { act, fireEvent, initializeEditor, getEditorHtml } from 'test/helpers';
5
+ import { Image } from 'react-native';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
11
+ import { apiFetch } from '@wordpress/data-controls';
5
12
 
6
13
  /**
7
14
  * Internal dependencies
8
15
  */
9
- import { ImageEdit } from '../edit';
10
- import { NEW_TAB_REL } from '../constants';
16
+ import { registerCoreBlocks } from '../..';
17
+
18
+ jest.mock( '@wordpress/data-controls', () => {
19
+ const dataControls = jest.requireActual( '@wordpress/data-controls' );
20
+ return {
21
+ ...dataControls,
22
+ apiFetch: jest.fn(),
23
+ };
24
+ } );
11
25
 
12
- const getStylesFromColorScheme = () => {
13
- return { color: 'white' };
14
- };
26
+ const apiFetchPromise = Promise.resolve( {} );
27
+ apiFetch.mockImplementation( () => apiFetchPromise );
15
28
 
16
- const setAttributes = jest.fn();
29
+ beforeAll( () => {
30
+ registerCoreBlocks();
31
+
32
+ // Mock Image.getSize to avoid failed attempt to size non-existant image
33
+ const getSizeSpy = jest.spyOn( Image, 'getSize' );
34
+ getSizeSpy.mockImplementation( ( _url, callback ) => callback( 300, 200 ) );
35
+ } );
36
+
37
+ afterAll( () => {
38
+ getBlockTypes().forEach( ( { name } ) => {
39
+ unregisterBlockType( name );
40
+ } );
17
41
 
18
- const getImageComponent = ( attributes = {} ) => (
19
- <ImageEdit
20
- setAttributes={ setAttributes }
21
- attributes={ attributes }
22
- getStylesFromColorScheme={ getStylesFromColorScheme }
23
- />
24
- );
42
+ // Restore mocks
43
+ Image.getSize.mockRestore();
44
+ } );
25
45
 
26
46
  describe( 'Image Block', () => {
27
- beforeEach( () => {
28
- setAttributes.mockReset();
47
+ it( 'sets link to None', async () => {
48
+ const initialHtml = `
49
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
50
+ <figure class="wp-block-image size-large is-style-default">
51
+ <a href="https://cldup.com/cXyG__fTLN.jpg">
52
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
53
+ </a>
54
+ <figcaption>Mountain</figcaption></figure>
55
+ <!-- /wp:image -->`;
56
+ const screen = await initializeEditor( { initialHtml } );
57
+ // We must await the image fetch via `getMedia`
58
+ await act( () => apiFetchPromise );
59
+
60
+ fireEvent.press( screen.getByA11yLabel( /Image Block/ ) );
61
+ // Awaiting navigation event seemingly required due to React Navigation bug
62
+ // https://git.io/Ju35Z
63
+ await act( () =>
64
+ fireEvent.press( screen.getByA11yLabel( 'Open Settings' ) )
65
+ );
66
+ fireEvent.press( screen.getByText( 'Media File' ) );
67
+ fireEvent.press( screen.getByText( 'None' ) );
68
+
69
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
70
+ <figure class="wp-block-image size-large is-style-default"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/><figcaption>Mountain</figcaption></figure>
71
+ <!-- /wp:image -->`;
72
+ expect( getEditorHtml() ).toBe( expectedHtml );
73
+ } );
74
+
75
+ it( 'sets link to Media File', async () => {
76
+ const initialHtml = `
77
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
78
+ <figure class="wp-block-image size-large is-style-default">
79
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
80
+ <figcaption>Mountain</figcaption></figure>
81
+ <!-- /wp:image -->`;
82
+ const screen = await initializeEditor( { initialHtml } );
83
+ // We must await the image fetch via `getMedia`
84
+ await act( () => apiFetchPromise );
85
+
86
+ fireEvent.press( screen.getByA11yLabel( /Image Block/ ) );
87
+ // Awaiting navigation event seemingly required due to React Navigation bug
88
+ // https://git.io/Ju35Z
89
+ await act( () =>
90
+ fireEvent.press( screen.getByA11yLabel( 'Open Settings' ) )
91
+ );
92
+ fireEvent.press( screen.getByText( 'None' ) );
93
+ fireEvent.press( screen.getByText( 'Media File' ) );
94
+
95
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
96
+ <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption>Mountain</figcaption></figure>
97
+ <!-- /wp:image -->`;
98
+ expect( getEditorHtml() ).toBe( expectedHtml );
29
99
  } );
30
100
 
31
- it( 'renders without crashing', () => {
32
- const component = renderer.create( getImageComponent() );
33
- const rendered = component.toJSON();
34
- expect( rendered ).toBeTruthy();
101
+ it( 'sets link to Custom URL', async () => {
102
+ const initialHtml = `
103
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
104
+ <figure class="wp-block-image size-large is-style-default">
105
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
106
+ <figcaption>Mountain</figcaption></figure>
107
+ <!-- /wp:image -->`;
108
+ const screen = await initializeEditor( { initialHtml } );
109
+ // We must await the image fetch via `getMedia`
110
+ await act( () => apiFetchPromise );
111
+
112
+ fireEvent.press( screen.getByA11yLabel( /Image Block/ ) );
113
+ // Awaiting navigation event seemingly required due to React Navigation bug
114
+ // https://git.io/Ju35Z
115
+ await act( () =>
116
+ fireEvent.press( screen.getByA11yLabel( 'Open Settings' ) )
117
+ );
118
+ fireEvent.press( screen.getByText( 'None' ) );
119
+ fireEvent.press( screen.getByText( 'Custom URL' ) );
120
+ fireEvent.changeText(
121
+ screen.getByPlaceholderText( 'Search or type URL' ),
122
+ 'wordpress.org'
123
+ );
124
+ fireEvent.press( screen.getByA11yLabel( 'Apply' ) );
125
+
126
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
127
+ <figure class="wp-block-image size-large is-style-default"><a href="http://wordpress.org"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption>Mountain</figcaption></figure>
128
+ <!-- /wp:image -->`;
129
+ expect( getEditorHtml() ).toBe( expectedHtml );
35
130
  } );
36
131
 
37
- it( 'sets link target', () => {
38
- const component = renderer.create( getImageComponent() );
39
- const instance = component.getInstance();
132
+ it( 'swaps the link between destinations', async () => {
133
+ const initialHtml = `
134
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none","className":"is-style-default"} -->
135
+ <figure class="wp-block-image size-large is-style-default">
136
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
137
+ <figcaption>Mountain</figcaption></figure>
138
+ <!-- /wp:image -->`;
139
+ const screen = await initializeEditor( { initialHtml } );
140
+ // We must await the image fetch via `getMedia`
141
+ await act( () => apiFetchPromise );
40
142
 
41
- instance.onSetNewTab( true );
143
+ fireEvent.press( screen.getByA11yLabel( /Image Block/ ) );
144
+ // Awaiting navigation event seemingly required due to React Navigation bug
145
+ // https://git.io/Ju35Z
146
+ await act( () =>
147
+ fireEvent.press( screen.getByA11yLabel( 'Open Settings' ) )
148
+ );
149
+ fireEvent.press( screen.getByText( 'None' ) );
150
+ fireEvent.press( screen.getByText( 'Media File' ) );
151
+ fireEvent.press( screen.getByText( 'Custom URL' ) );
152
+ fireEvent.changeText(
153
+ screen.getByPlaceholderText( 'Search or type URL' ),
154
+ 'wordpress.org'
155
+ );
156
+ fireEvent.press( screen.getByA11yLabel( 'Apply' ) );
157
+ fireEvent.press( screen.getByText( 'Custom URL' ) );
158
+ fireEvent.press( screen.getByText( 'Media File' ) );
42
159
 
43
- expect( setAttributes ).toHaveBeenCalledWith( {
44
- linkTarget: '_blank',
45
- rel: undefined,
46
- } );
160
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
161
+ <figure class="wp-block-image size-large is-style-default"><a href="https://cldup.com/cXyG__fTLN.jpg"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption>Mountain</figcaption></figure>
162
+ <!-- /wp:image -->`;
163
+ expect( getEditorHtml() ).toBe( expectedHtml );
47
164
  } );
48
165
 
49
- it( 'unset link target', () => {
50
- const component = renderer.create(
51
- getImageComponent( {
52
- linkTarget: '_blank',
53
- rel: NEW_TAB_REL.join( ' ' ),
54
- } )
166
+ it( 'does not display the Link To URL within the Custom URL input when set to Media File and query parameters are present', async () => {
167
+ const initialHtml = `
168
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"media","className":"is-style-default"} -->
169
+ <figure class="wp-block-image size-large is-style-default">
170
+ <a href="https://cldup.com/cXyG__fTLN.jpg">
171
+ <img src="https://cldup.com/cXyG__fTLN.jpg?w=683" alt="" class="wp-image-1"/>
172
+ </a>
173
+ <figcaption>Mountain</figcaption></figure>
174
+ <!-- /wp:image -->`;
175
+ const screen = await initializeEditor( { initialHtml } );
176
+ // We must await the image fetch via `getMedia`
177
+ await act( () => apiFetchPromise );
178
+
179
+ fireEvent.press( screen.getByA11yLabel( /Image Block/ ) );
180
+ // Awaiting navigation event seemingly required due to React Navigation bug
181
+ // https://git.io/Ju35Z
182
+ await act( () =>
183
+ fireEvent.press( screen.getByA11yLabel( 'Open Settings' ) )
55
184
  );
56
- const instance = component.getInstance();
185
+ fireEvent.press( screen.getByText( 'Media File' ) );
186
+
187
+ expect( screen.queryByA11yLabel( /https:\/\/cldup\.com/ ) ).toBeNull();
188
+ } );
189
+
190
+ it( 'sets link target', async () => {
191
+ const initialHtml = `
192
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
193
+ <figure class="wp-block-image size-large is-style-default">
194
+ <a href="https://wordpress.org">
195
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
196
+ </a>
197
+ <figcaption>Mountain</figcaption></figure>
198
+ <!-- /wp:image -->`;
199
+ const screen = await initializeEditor( { initialHtml } );
200
+ // We must await the image fetch via `getMedia`
201
+ await act( () => apiFetchPromise );
202
+
203
+ const imageBlock = screen.getByA11yLabel( /Image Block/ );
204
+ fireEvent.press( imageBlock );
205
+
206
+ const settingsButton = screen.getByA11yLabel( 'Open Settings' );
207
+ // Awaiting navigation event seemingly required due to React Navigation bug
208
+ // https://git.io/Ju35Z
209
+ await act( () => fireEvent.press( settingsButton ) );
210
+
211
+ const linkTargetButton = screen.getByText( 'Open in new tab' );
212
+ fireEvent.press( linkTargetButton );
213
+
214
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
215
+ <figure class="wp-block-image size-large is-style-default"><a href="https://wordpress.org" target="_blank" rel="noreferrer noopener"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption>Mountain</figcaption></figure>
216
+ <!-- /wp:image -->`;
217
+ expect( getEditorHtml() ).toBe( expectedHtml );
218
+ } );
219
+
220
+ it( 'unset link target', async () => {
221
+ const initialHtml = `
222
+ <!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
223
+ <figure class="wp-block-image size-large is-style-default">
224
+ <a href="https://wordpress.org" target="_blank" rel="noreferrer noopener">
225
+ <img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/>
226
+ </a>
227
+ <figcaption>Mountain</figcaption>
228
+ </figure>
229
+ <!-- /wp:image -->`;
230
+ const screen = await initializeEditor( { initialHtml } );
231
+ // We must await the image fetch via `getMedia`
232
+ await act( () => apiFetchPromise );
233
+
234
+ const imageBlock = screen.getByA11yLabel( /Image Block/ );
235
+ fireEvent.press( imageBlock );
236
+
237
+ const settingsButton = screen.getByA11yLabel( 'Open Settings' );
238
+ // Awaiting navigation event seemingly required due to React Navigation bug
239
+ // https://git.io/Ju35Z
240
+ await act( () => fireEvent.press( settingsButton ) );
57
241
 
58
- instance.onSetNewTab( false );
242
+ const linkTargetButton = screen.getByText( 'Open in new tab' );
243
+ fireEvent.press( linkTargetButton );
59
244
 
60
- expect( setAttributes ).toHaveBeenCalledWith( {
61
- linkTarget: undefined,
62
- rel: undefined,
63
- } );
245
+ const expectedHtml = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"custom","className":"is-style-default"} -->
246
+ <figure class="wp-block-image size-large is-style-default"><a href="https://wordpress.org"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></a><figcaption>Mountain</figcaption></figure>
247
+ <!-- /wp:image -->`;
248
+ expect( getEditorHtml() ).toBe( expectedHtml );
64
249
  } );
65
250
  } );
@@ -136,7 +136,11 @@ const transforms = {
136
136
  // creating a new gallery.
137
137
  type: 'files',
138
138
  isMatch( files ) {
139
+ // The following check is intended to catch non-image files when dropped together with images.
139
140
  if (
141
+ files.some(
142
+ ( file ) => file.type.indexOf( 'image/' ) === 0
143
+ ) &&
140
144
  files.some(
141
145
  ( file ) => file.type.indexOf( 'image/' ) !== 0
142
146
  )