@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
@@ -24,11 +24,31 @@ import {
24
24
  IMAGE_BACKGROUND_TYPE,
25
25
  VIDEO_BACKGROUND_TYPE,
26
26
  backgroundImageStyles,
27
- dimRatioToClass,
28
27
  getPositionClassName,
29
28
  isContentPositionCenter,
30
29
  } from './shared';
31
30
 
31
+ /**
32
+ * Original function to determine the background opacity classname
33
+ *
34
+ * Used in deprecations: v1-7.
35
+ *
36
+ * @param {number} ratio ratio to use for opacity.
37
+ * @return {string} background opacity class .
38
+ */
39
+ function dimRatioToClassV1( ratio ) {
40
+ return ratio === 0 || ratio === 50 || ! ratio
41
+ ? null
42
+ : 'has-background-dim-' + 10 * Math.round( ratio / 10 );
43
+ }
44
+
45
+ function migrateDimRatio( attributes ) {
46
+ return {
47
+ ...attributes,
48
+ dimRatio: ! attributes.url ? 100 : attributes.dimRatio,
49
+ };
50
+ }
51
+
32
52
  const blockAttributes = {
33
53
  url: {
34
54
  type: 'string',
@@ -59,556 +79,733 @@ const blockAttributes = {
59
79
  },
60
80
  };
61
81
 
62
- const deprecated = [
63
- {
64
- attributes: {
65
- ...blockAttributes,
66
- isRepeated: {
67
- type: 'boolean',
68
- default: false,
69
- },
70
- minHeight: {
71
- type: 'number',
72
- },
73
- minHeightUnit: {
74
- type: 'string',
75
- },
76
- gradient: {
77
- type: 'string',
78
- },
79
- customGradient: {
80
- type: 'string',
81
- },
82
- contentPosition: {
83
- type: 'string',
82
+ const v7 = {
83
+ attributes: {
84
+ ...blockAttributes,
85
+ isRepeated: {
86
+ type: 'boolean',
87
+ default: false,
88
+ },
89
+ minHeight: {
90
+ type: 'number',
91
+ },
92
+ minHeightUnit: {
93
+ type: 'string',
94
+ },
95
+ gradient: {
96
+ type: 'string',
97
+ },
98
+ customGradient: {
99
+ type: 'string',
100
+ },
101
+ contentPosition: {
102
+ type: 'string',
103
+ },
104
+ alt: {
105
+ type: 'string',
106
+ source: 'attribute',
107
+ selector: 'img',
108
+ attribute: 'alt',
109
+ default: '',
110
+ },
111
+ },
112
+ supports: {
113
+ anchor: true,
114
+ align: true,
115
+ html: false,
116
+ spacing: {
117
+ padding: true,
118
+ __experimentalDefaultControls: {
119
+ padding: true,
84
120
  },
85
121
  },
86
- supports: {
87
- align: true,
122
+ color: {
123
+ __experimentalDuotone:
124
+ '> .wp-block-cover__image-background, > .wp-block-cover__video-background',
125
+ text: false,
126
+ background: false,
88
127
  },
89
- save( { attributes } ) {
90
- const {
91
- backgroundType,
92
- gradient,
93
- contentPosition,
94
- customGradient,
95
- customOverlayColor,
96
- dimRatio,
97
- focalPoint,
98
- hasParallax,
99
- isRepeated,
100
- overlayColor,
101
- url,
102
- minHeight: minHeightProp,
103
- minHeightUnit,
104
- } = attributes;
105
- const overlayColorClass = getColorClassName(
106
- 'background-color',
107
- overlayColor
108
- );
109
- const gradientClass = __experimentalGetGradientClass( gradient );
110
- const minHeight = minHeightUnit
111
- ? `${ minHeightProp }${ minHeightUnit }`
112
- : minHeightProp;
113
-
114
- const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
115
- const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
116
-
117
- const style = isImageBackground ? backgroundImageStyles( url ) : {};
118
- const videoStyle = {};
119
-
120
- if ( ! overlayColorClass ) {
121
- style.backgroundColor = customOverlayColor;
122
- }
128
+ },
129
+ save( { attributes } ) {
130
+ const {
131
+ backgroundType,
132
+ gradient,
133
+ contentPosition,
134
+ customGradient,
135
+ customOverlayColor,
136
+ dimRatio,
137
+ focalPoint,
138
+ hasParallax,
139
+ isRepeated,
140
+ overlayColor,
141
+ url,
142
+ alt,
143
+ id,
144
+ minHeight: minHeightProp,
145
+ minHeightUnit,
146
+ } = attributes;
147
+ const overlayColorClass = getColorClassName(
148
+ 'background-color',
149
+ overlayColor
150
+ );
151
+ const gradientClass = __experimentalGetGradientClass( gradient );
152
+ const minHeight = minHeightUnit
153
+ ? `${ minHeightProp }${ minHeightUnit }`
154
+ : minHeightProp;
123
155
 
124
- if ( customGradient && ! url ) {
125
- style.background = customGradient;
126
- }
127
- style.minHeight = minHeight || undefined;
156
+ const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
157
+ const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
128
158
 
129
- let positionValue;
159
+ const isImgElement = ! ( hasParallax || isRepeated );
130
160
 
131
- if ( focalPoint ) {
132
- positionValue = `${ Math.round(
133
- focalPoint.x * 100
134
- ) }% ${ Math.round( focalPoint.y * 100 ) }%`;
161
+ const style = {
162
+ ...( isImageBackground && ! isImgElement
163
+ ? backgroundImageStyles( url )
164
+ : {} ),
165
+ backgroundColor: ! overlayColorClass
166
+ ? customOverlayColor
167
+ : undefined,
168
+ background: customGradient && ! url ? customGradient : undefined,
169
+ minHeight: minHeight || undefined,
170
+ };
135
171
 
136
- if ( isImageBackground && ! hasParallax ) {
137
- style.backgroundPosition = positionValue;
138
- }
172
+ const objectPosition =
173
+ // prettier-ignore
174
+ focalPoint && isImgElement
175
+ ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`
176
+ : undefined;
139
177
 
140
- if ( isVideoBackground ) {
141
- videoStyle.objectPosition = positionValue;
142
- }
143
- }
178
+ const classes = classnames(
179
+ dimRatioToClassV1( dimRatio ),
180
+ overlayColorClass,
181
+ {
182
+ 'has-background-dim': dimRatio !== 0,
183
+ 'has-parallax': hasParallax,
184
+ 'is-repeated': isRepeated,
185
+ 'has-background-gradient': gradient || customGradient,
186
+ [ gradientClass ]: ! url && gradientClass,
187
+ 'has-custom-content-position': ! isContentPositionCenter(
188
+ contentPosition
189
+ ),
190
+ },
191
+ getPositionClassName( contentPosition )
192
+ );
144
193
 
145
- const classes = classnames(
146
- dimRatioToClass( dimRatio ),
147
- overlayColorClass,
148
- {
149
- 'has-background-dim': dimRatio !== 0,
150
- 'has-parallax': hasParallax,
151
- 'is-repeated': isRepeated,
152
- 'has-background-gradient': gradient || customGradient,
153
- [ gradientClass ]: ! url && gradientClass,
154
- 'has-custom-content-position': ! isContentPositionCenter(
155
- contentPosition
156
- ),
157
- },
158
- getPositionClassName( contentPosition )
159
- );
160
-
161
- return (
162
- <div { ...useBlockProps.save( { className: classes, style } ) }>
163
- { url &&
164
- ( gradient || customGradient ) &&
165
- dimRatio !== 0 && (
166
- <span
167
- aria-hidden="true"
168
- className={ classnames(
169
- 'wp-block-cover__gradient-background',
170
- gradientClass
171
- ) }
172
- style={
173
- customGradient
174
- ? { background: customGradient }
175
- : undefined
176
- }
177
- />
194
+ return (
195
+ <div { ...useBlockProps.save( { className: classes, style } ) }>
196
+ { url && ( gradient || customGradient ) && dimRatio !== 0 && (
197
+ <span
198
+ aria-hidden="true"
199
+ className={ classnames(
200
+ 'wp-block-cover__gradient-background',
201
+ gradientClass
202
+ ) }
203
+ style={
204
+ customGradient
205
+ ? { background: customGradient }
206
+ : undefined
207
+ }
208
+ />
209
+ ) }
210
+ { isImageBackground && isImgElement && url && (
211
+ <img
212
+ className={ classnames(
213
+ 'wp-block-cover__image-background',
214
+ id ? `wp-image-${ id }` : null
215
+ ) }
216
+ alt={ alt }
217
+ src={ url }
218
+ style={ { objectPosition } }
219
+ data-object-fit="cover"
220
+ data-object-position={ objectPosition }
221
+ />
222
+ ) }
223
+ { isVideoBackground && url && (
224
+ <video
225
+ className={ classnames(
226
+ 'wp-block-cover__video-background',
227
+ 'intrinsic-ignore'
178
228
  ) }
179
- { isVideoBackground && url && (
180
- <video
181
- className="wp-block-cover__video-background"
182
- autoPlay
183
- muted
184
- loop
185
- playsInline
186
- src={ url }
187
- style={ videoStyle }
188
- />
189
- ) }
190
- <div className="wp-block-cover__inner-container">
191
- <InnerBlocks.Content />
192
- </div>
229
+ autoPlay
230
+ muted
231
+ loop
232
+ playsInline
233
+ src={ url }
234
+ style={ { objectPosition } }
235
+ data-object-fit="cover"
236
+ data-object-position={ objectPosition }
237
+ />
238
+ ) }
239
+ <div className="wp-block-cover__inner-container">
240
+ <InnerBlocks.Content />
193
241
  </div>
194
- );
195
- },
242
+ </div>
243
+ );
196
244
  },
197
- {
198
- attributes: {
199
- ...blockAttributes,
200
- minHeight: {
201
- type: 'number',
202
- },
203
- gradient: {
204
- type: 'string',
205
- },
206
- customGradient: {
207
- type: 'string',
208
- },
245
+ migrate: migrateDimRatio,
246
+ };
247
+
248
+ const v6 = {
249
+ attributes: {
250
+ ...blockAttributes,
251
+ isRepeated: {
252
+ type: 'boolean',
253
+ default: false,
209
254
  },
210
- supports: {
211
- align: true,
255
+ minHeight: {
256
+ type: 'number',
212
257
  },
213
- save( { attributes } ) {
214
- const {
215
- backgroundType,
216
- gradient,
217
- customGradient,
218
- customOverlayColor,
219
- dimRatio,
220
- focalPoint,
221
- hasParallax,
222
- overlayColor,
223
- url,
224
- minHeight,
225
- } = attributes;
226
- const overlayColorClass = getColorClassName(
227
- 'background-color',
228
- overlayColor
229
- );
230
- const gradientClass = __experimentalGetGradientClass( gradient );
231
-
232
- const style =
233
- backgroundType === IMAGE_BACKGROUND_TYPE
234
- ? backgroundImageStyles( url )
235
- : {};
236
- if ( ! overlayColorClass ) {
237
- style.backgroundColor = customOverlayColor;
238
- }
239
- if ( focalPoint && ! hasParallax ) {
240
- style.backgroundPosition = `${ Math.round(
241
- focalPoint.x * 100
242
- ) }% ${ Math.round( focalPoint.y * 100 ) }%`;
258
+ minHeightUnit: {
259
+ type: 'string',
260
+ },
261
+ gradient: {
262
+ type: 'string',
263
+ },
264
+ customGradient: {
265
+ type: 'string',
266
+ },
267
+ contentPosition: {
268
+ type: 'string',
269
+ },
270
+ },
271
+ supports: {
272
+ align: true,
273
+ },
274
+ save( { attributes } ) {
275
+ const {
276
+ backgroundType,
277
+ gradient,
278
+ contentPosition,
279
+ customGradient,
280
+ customOverlayColor,
281
+ dimRatio,
282
+ focalPoint,
283
+ hasParallax,
284
+ isRepeated,
285
+ overlayColor,
286
+ url,
287
+ minHeight: minHeightProp,
288
+ minHeightUnit,
289
+ } = attributes;
290
+ const overlayColorClass = getColorClassName(
291
+ 'background-color',
292
+ overlayColor
293
+ );
294
+ const gradientClass = __experimentalGetGradientClass( gradient );
295
+ const minHeight = minHeightUnit
296
+ ? `${ minHeightProp }${ minHeightUnit }`
297
+ : minHeightProp;
298
+
299
+ const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
300
+ const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
301
+
302
+ const style = isImageBackground ? backgroundImageStyles( url ) : {};
303
+ const videoStyle = {};
304
+
305
+ if ( ! overlayColorClass ) {
306
+ style.backgroundColor = customOverlayColor;
307
+ }
308
+
309
+ if ( customGradient && ! url ) {
310
+ style.background = customGradient;
311
+ }
312
+ style.minHeight = minHeight || undefined;
313
+
314
+ let positionValue;
315
+
316
+ if ( focalPoint ) {
317
+ positionValue = `${ Math.round(
318
+ focalPoint.x * 100
319
+ ) }% ${ Math.round( focalPoint.y * 100 ) }%`;
320
+
321
+ if ( isImageBackground && ! hasParallax ) {
322
+ style.backgroundPosition = positionValue;
243
323
  }
244
- if ( customGradient && ! url ) {
245
- style.background = customGradient;
324
+
325
+ if ( isVideoBackground ) {
326
+ videoStyle.objectPosition = positionValue;
246
327
  }
247
- style.minHeight = minHeight || undefined;
248
-
249
- const classes = classnames(
250
- dimRatioToClass( dimRatio ),
251
- overlayColorClass,
252
- {
253
- 'has-background-dim': dimRatio !== 0,
254
- 'has-parallax': hasParallax,
255
- 'has-background-gradient': customGradient,
256
- [ gradientClass ]: ! url && gradientClass,
257
- }
258
- );
259
-
260
- return (
261
- <div className={ classes } style={ style }>
262
- { url &&
263
- ( gradient || customGradient ) &&
264
- dimRatio !== 0 && (
265
- <span
266
- aria-hidden="true"
267
- className={ classnames(
268
- 'wp-block-cover__gradient-background',
269
- gradientClass
270
- ) }
271
- style={
272
- customGradient
273
- ? { background: customGradient }
274
- : undefined
275
- }
276
- />
328
+ }
329
+
330
+ const classes = classnames(
331
+ dimRatioToClassV1( dimRatio ),
332
+ overlayColorClass,
333
+ {
334
+ 'has-background-dim': dimRatio !== 0,
335
+ 'has-parallax': hasParallax,
336
+ 'is-repeated': isRepeated,
337
+ 'has-background-gradient': gradient || customGradient,
338
+ [ gradientClass ]: ! url && gradientClass,
339
+ 'has-custom-content-position': ! isContentPositionCenter(
340
+ contentPosition
341
+ ),
342
+ },
343
+ getPositionClassName( contentPosition )
344
+ );
345
+
346
+ return (
347
+ <div { ...useBlockProps.save( { className: classes, style } ) }>
348
+ { url && ( gradient || customGradient ) && dimRatio !== 0 && (
349
+ <span
350
+ aria-hidden="true"
351
+ className={ classnames(
352
+ 'wp-block-cover__gradient-background',
353
+ gradientClass
277
354
  ) }
278
- { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
279
- <video
280
- className="wp-block-cover__video-background"
281
- autoPlay
282
- muted
283
- loop
284
- src={ url }
285
- />
286
- ) }
287
- <div className="wp-block-cover__inner-container">
288
- <InnerBlocks.Content />
289
- </div>
355
+ style={
356
+ customGradient
357
+ ? { background: customGradient }
358
+ : undefined
359
+ }
360
+ />
361
+ ) }
362
+ { isVideoBackground && url && (
363
+ <video
364
+ className="wp-block-cover__video-background"
365
+ autoPlay
366
+ muted
367
+ loop
368
+ playsInline
369
+ src={ url }
370
+ style={ videoStyle }
371
+ />
372
+ ) }
373
+ <div className="wp-block-cover__inner-container">
374
+ <InnerBlocks.Content />
290
375
  </div>
291
- );
292
- },
376
+ </div>
377
+ );
293
378
  },
294
- {
295
- attributes: {
296
- ...blockAttributes,
297
- minHeight: {
298
- type: 'number',
299
- },
300
- gradient: {
301
- type: 'string',
302
- },
303
- customGradient: {
304
- type: 'string',
305
- },
379
+ migrate: migrateDimRatio,
380
+ };
381
+
382
+ const v5 = {
383
+ attributes: {
384
+ ...blockAttributes,
385
+ minHeight: {
386
+ type: 'number',
306
387
  },
307
- supports: {
308
- align: true,
388
+ gradient: {
389
+ type: 'string',
309
390
  },
310
- save( { attributes } ) {
311
- const {
312
- backgroundType,
313
- gradient,
314
- customGradient,
315
- customOverlayColor,
316
- dimRatio,
317
- focalPoint,
318
- hasParallax,
319
- overlayColor,
320
- url,
321
- minHeight,
322
- } = attributes;
323
- const overlayColorClass = getColorClassName(
324
- 'background-color',
325
- overlayColor
326
- );
327
- const gradientClass = __experimentalGetGradientClass( gradient );
328
-
329
- const style =
330
- backgroundType === IMAGE_BACKGROUND_TYPE
331
- ? backgroundImageStyles( url )
332
- : {};
333
- if ( ! overlayColorClass ) {
334
- style.backgroundColor = customOverlayColor;
335
- }
336
- if ( focalPoint && ! hasParallax ) {
337
- style.backgroundPosition = `${ focalPoint.x * 100 }% ${
338
- focalPoint.y * 100
339
- }%`;
340
- }
341
- if ( customGradient && ! url ) {
342
- style.background = customGradient;
391
+ customGradient: {
392
+ type: 'string',
393
+ },
394
+ },
395
+ supports: {
396
+ align: true,
397
+ },
398
+ save( { attributes } ) {
399
+ const {
400
+ backgroundType,
401
+ gradient,
402
+ customGradient,
403
+ customOverlayColor,
404
+ dimRatio,
405
+ focalPoint,
406
+ hasParallax,
407
+ overlayColor,
408
+ url,
409
+ minHeight,
410
+ } = attributes;
411
+ const overlayColorClass = getColorClassName(
412
+ 'background-color',
413
+ overlayColor
414
+ );
415
+ const gradientClass = __experimentalGetGradientClass( gradient );
416
+
417
+ const style =
418
+ backgroundType === IMAGE_BACKGROUND_TYPE
419
+ ? backgroundImageStyles( url )
420
+ : {};
421
+ if ( ! overlayColorClass ) {
422
+ style.backgroundColor = customOverlayColor;
423
+ }
424
+ if ( focalPoint && ! hasParallax ) {
425
+ style.backgroundPosition = `${ Math.round(
426
+ focalPoint.x * 100
427
+ ) }% ${ Math.round( focalPoint.y * 100 ) }%`;
428
+ }
429
+ if ( customGradient && ! url ) {
430
+ style.background = customGradient;
431
+ }
432
+ style.minHeight = minHeight || undefined;
433
+
434
+ const classes = classnames(
435
+ dimRatioToClassV1( dimRatio ),
436
+ overlayColorClass,
437
+ {
438
+ 'has-background-dim': dimRatio !== 0,
439
+ 'has-parallax': hasParallax,
440
+ 'has-background-gradient': customGradient,
441
+ [ gradientClass ]: ! url && gradientClass,
343
442
  }
344
- style.minHeight = minHeight || undefined;
345
-
346
- const classes = classnames(
347
- dimRatioToClass( dimRatio ),
348
- overlayColorClass,
349
- {
350
- 'has-background-dim': dimRatio !== 0,
351
- 'has-parallax': hasParallax,
352
- 'has-background-gradient': customGradient,
353
- [ gradientClass ]: ! url && gradientClass,
354
- }
355
- );
356
-
357
- return (
358
- <div className={ classes } style={ style }>
359
- { url &&
360
- ( gradient || customGradient ) &&
361
- dimRatio !== 0 && (
362
- <span
363
- aria-hidden="true"
364
- className={ classnames(
365
- 'wp-block-cover__gradient-background',
366
- gradientClass
367
- ) }
368
- style={
369
- customGradient
370
- ? { background: customGradient }
371
- : undefined
372
- }
373
- />
443
+ );
444
+
445
+ return (
446
+ <div className={ classes } style={ style }>
447
+ { url && ( gradient || customGradient ) && dimRatio !== 0 && (
448
+ <span
449
+ aria-hidden="true"
450
+ className={ classnames(
451
+ 'wp-block-cover__gradient-background',
452
+ gradientClass
374
453
  ) }
375
- { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
376
- <video
377
- className="wp-block-cover__video-background"
378
- autoPlay
379
- muted
380
- loop
381
- src={ url }
382
- />
383
- ) }
384
- <div className="wp-block-cover__inner-container">
385
- <InnerBlocks.Content />
386
- </div>
454
+ style={
455
+ customGradient
456
+ ? { background: customGradient }
457
+ : undefined
458
+ }
459
+ />
460
+ ) }
461
+ { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
462
+ <video
463
+ className="wp-block-cover__video-background"
464
+ autoPlay
465
+ muted
466
+ loop
467
+ src={ url }
468
+ />
469
+ ) }
470
+ <div className="wp-block-cover__inner-container">
471
+ <InnerBlocks.Content />
387
472
  </div>
388
- );
389
- },
473
+ </div>
474
+ );
390
475
  },
391
- {
392
- attributes: {
393
- ...blockAttributes,
394
- title: {
395
- type: 'string',
396
- source: 'html',
397
- selector: 'p',
398
- },
399
- contentAlign: {
400
- type: 'string',
401
- default: 'center',
402
- },
476
+ migrate: migrateDimRatio,
477
+ };
478
+
479
+ const v4 = {
480
+ attributes: {
481
+ ...blockAttributes,
482
+ minHeight: {
483
+ type: 'number',
403
484
  },
404
- supports: {
405
- align: true,
485
+ gradient: {
486
+ type: 'string',
406
487
  },
407
- save( { attributes } ) {
408
- const {
409
- backgroundType,
410
- contentAlign,
411
- customOverlayColor,
412
- dimRatio,
413
- focalPoint,
414
- hasParallax,
415
- overlayColor,
416
- title,
417
- url,
418
- } = attributes;
419
- const overlayColorClass = getColorClassName(
420
- 'background-color',
421
- overlayColor
422
- );
423
- const style =
424
- backgroundType === IMAGE_BACKGROUND_TYPE
425
- ? backgroundImageStyles( url )
426
- : {};
427
- if ( ! overlayColorClass ) {
428
- style.backgroundColor = customOverlayColor;
429
- }
430
- if ( focalPoint && ! hasParallax ) {
431
- style.backgroundPosition = `${ focalPoint.x * 100 }% ${
432
- focalPoint.y * 100
433
- }%`;
488
+ customGradient: {
489
+ type: 'string',
490
+ },
491
+ },
492
+ supports: {
493
+ align: true,
494
+ },
495
+ save( { attributes } ) {
496
+ const {
497
+ backgroundType,
498
+ gradient,
499
+ customGradient,
500
+ customOverlayColor,
501
+ dimRatio,
502
+ focalPoint,
503
+ hasParallax,
504
+ overlayColor,
505
+ url,
506
+ minHeight,
507
+ } = attributes;
508
+ const overlayColorClass = getColorClassName(
509
+ 'background-color',
510
+ overlayColor
511
+ );
512
+ const gradientClass = __experimentalGetGradientClass( gradient );
513
+
514
+ const style =
515
+ backgroundType === IMAGE_BACKGROUND_TYPE
516
+ ? backgroundImageStyles( url )
517
+ : {};
518
+ if ( ! overlayColorClass ) {
519
+ style.backgroundColor = customOverlayColor;
520
+ }
521
+ if ( focalPoint && ! hasParallax ) {
522
+ style.backgroundPosition = `${ focalPoint.x * 100 }% ${
523
+ focalPoint.y * 100
524
+ }%`;
525
+ }
526
+ if ( customGradient && ! url ) {
527
+ style.background = customGradient;
528
+ }
529
+ style.minHeight = minHeight || undefined;
530
+
531
+ const classes = classnames(
532
+ dimRatioToClassV1( dimRatio ),
533
+ overlayColorClass,
534
+ {
535
+ 'has-background-dim': dimRatio !== 0,
536
+ 'has-parallax': hasParallax,
537
+ 'has-background-gradient': customGradient,
538
+ [ gradientClass ]: ! url && gradientClass,
434
539
  }
540
+ );
435
541
 
436
- const classes = classnames(
437
- dimRatioToClass( dimRatio ),
438
- overlayColorClass,
439
- {
440
- 'has-background-dim': dimRatio !== 0,
441
- 'has-parallax': hasParallax,
442
- [ `has-${ contentAlign }-content` ]:
443
- contentAlign !== 'center',
444
- }
445
- );
446
-
447
- return (
448
- <div className={ classes } style={ style }>
449
- { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
450
- <video
451
- className="wp-block-cover__video-background"
452
- autoPlay
453
- muted
454
- loop
455
- src={ url }
456
- />
457
- ) }
458
- { ! RichText.isEmpty( title ) && (
459
- <RichText.Content
460
- tagName="p"
461
- className="wp-block-cover-text"
462
- value={ title }
463
- />
464
- ) }
542
+ return (
543
+ <div className={ classes } style={ style }>
544
+ { url && ( gradient || customGradient ) && dimRatio !== 0 && (
545
+ <span
546
+ aria-hidden="true"
547
+ className={ classnames(
548
+ 'wp-block-cover__gradient-background',
549
+ gradientClass
550
+ ) }
551
+ style={
552
+ customGradient
553
+ ? { background: customGradient }
554
+ : undefined
555
+ }
556
+ />
557
+ ) }
558
+ { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
559
+ <video
560
+ className="wp-block-cover__video-background"
561
+ autoPlay
562
+ muted
563
+ loop
564
+ src={ url }
565
+ />
566
+ ) }
567
+ <div className="wp-block-cover__inner-container">
568
+ <InnerBlocks.Content />
465
569
  </div>
466
- );
467
- },
468
- migrate( attributes ) {
469
- return [
470
- omit( attributes, [ 'title', 'contentAlign' ] ),
471
- [
472
- createBlock( 'core/paragraph', {
473
- content: attributes.title,
474
- align: attributes.contentAlign,
475
- fontSize: 'large',
476
- placeholder: __( 'Write title…' ),
477
- } ),
478
- ],
479
- ];
480
- },
570
+ </div>
571
+ );
481
572
  },
482
- {
483
- attributes: {
484
- ...blockAttributes,
485
- title: {
486
- type: 'string',
487
- source: 'html',
488
- selector: 'p',
489
- },
490
- contentAlign: {
491
- type: 'string',
492
- default: 'center',
493
- },
494
- align: {
495
- type: 'string',
496
- },
573
+ migrate: migrateDimRatio,
574
+ };
575
+
576
+ const v3 = {
577
+ attributes: {
578
+ ...blockAttributes,
579
+ title: {
580
+ type: 'string',
581
+ source: 'html',
582
+ selector: 'p',
497
583
  },
498
- supports: {
499
- className: false,
584
+ contentAlign: {
585
+ type: 'string',
586
+ default: 'center',
500
587
  },
501
- save( { attributes } ) {
502
- const {
503
- url,
504
- title,
505
- hasParallax,
506
- dimRatio,
507
- align,
508
- contentAlign,
509
- overlayColor,
510
- customOverlayColor,
511
- } = attributes;
512
- const overlayColorClass = getColorClassName(
513
- 'background-color',
514
- overlayColor
515
- );
516
- const style = backgroundImageStyles( url );
517
- if ( ! overlayColorClass ) {
518
- style.backgroundColor = customOverlayColor;
588
+ },
589
+ supports: {
590
+ align: true,
591
+ },
592
+ save( { attributes } ) {
593
+ const {
594
+ backgroundType,
595
+ contentAlign,
596
+ customOverlayColor,
597
+ dimRatio,
598
+ focalPoint,
599
+ hasParallax,
600
+ overlayColor,
601
+ title,
602
+ url,
603
+ } = attributes;
604
+ const overlayColorClass = getColorClassName(
605
+ 'background-color',
606
+ overlayColor
607
+ );
608
+ const style =
609
+ backgroundType === IMAGE_BACKGROUND_TYPE
610
+ ? backgroundImageStyles( url )
611
+ : {};
612
+ if ( ! overlayColorClass ) {
613
+ style.backgroundColor = customOverlayColor;
614
+ }
615
+ if ( focalPoint && ! hasParallax ) {
616
+ style.backgroundPosition = `${ focalPoint.x * 100 }% ${
617
+ focalPoint.y * 100
618
+ }%`;
619
+ }
620
+
621
+ const classes = classnames(
622
+ dimRatioToClassV1( dimRatio ),
623
+ overlayColorClass,
624
+ {
625
+ 'has-background-dim': dimRatio !== 0,
626
+ 'has-parallax': hasParallax,
627
+ [ `has-${ contentAlign }-content` ]: contentAlign !== 'center',
519
628
  }
629
+ );
520
630
 
521
- const classes = classnames(
522
- 'wp-block-cover-image',
523
- dimRatioToClass( dimRatio ),
524
- overlayColorClass,
525
- {
526
- 'has-background-dim': dimRatio !== 0,
527
- 'has-parallax': hasParallax,
528
- [ `has-${ contentAlign }-content` ]:
529
- contentAlign !== 'center',
530
- },
531
- align ? `align${ align }` : null
532
- );
533
-
534
- return (
535
- <div className={ classes } style={ style }>
536
- { ! RichText.isEmpty( title ) && (
537
- <RichText.Content
538
- tagName="p"
539
- className="wp-block-cover-image-text"
540
- value={ title }
541
- />
542
- ) }
543
- </div>
544
- );
631
+ return (
632
+ <div className={ classes } style={ style }>
633
+ { VIDEO_BACKGROUND_TYPE === backgroundType && url && (
634
+ <video
635
+ className="wp-block-cover__video-background"
636
+ autoPlay
637
+ muted
638
+ loop
639
+ src={ url }
640
+ />
641
+ ) }
642
+ { ! RichText.isEmpty( title ) && (
643
+ <RichText.Content
644
+ tagName="p"
645
+ className="wp-block-cover-text"
646
+ value={ title }
647
+ />
648
+ ) }
649
+ </div>
650
+ );
651
+ },
652
+ migrate( attributes ) {
653
+ const newAttribs = {
654
+ ...attributes,
655
+ dimRatio: ! attributes.url ? 100 : attributes.dimRatio,
656
+ };
657
+
658
+ return [
659
+ omit( newAttribs, [ 'title', 'contentAlign' ] ),
660
+ [
661
+ createBlock( 'core/paragraph', {
662
+ content: attributes.title,
663
+ align: attributes.contentAlign,
664
+ fontSize: 'large',
665
+ placeholder: __( 'Write title…' ),
666
+ } ),
667
+ ],
668
+ ];
669
+ },
670
+ };
671
+
672
+ const v2 = {
673
+ attributes: {
674
+ ...blockAttributes,
675
+ title: {
676
+ type: 'string',
677
+ source: 'html',
678
+ selector: 'p',
679
+ },
680
+ contentAlign: {
681
+ type: 'string',
682
+ default: 'center',
545
683
  },
546
- migrate( attributes ) {
547
- return [
548
- omit( attributes, [ 'title', 'contentAlign', 'align' ] ),
549
- [
550
- createBlock( 'core/paragraph', {
551
- content: attributes.title,
552
- align: attributes.contentAlign,
553
- fontSize: 'large',
554
- placeholder: __( 'Write title…' ),
555
- } ),
556
- ],
557
- ];
684
+ align: {
685
+ type: 'string',
558
686
  },
559
687
  },
560
- {
561
- attributes: {
562
- ...blockAttributes,
563
- title: {
564
- type: 'string',
565
- source: 'html',
566
- selector: 'h2',
567
- },
568
- align: {
569
- type: 'string',
570
- },
571
- contentAlign: {
572
- type: 'string',
573
- default: 'center',
688
+ supports: {
689
+ className: false,
690
+ },
691
+ save( { attributes } ) {
692
+ const {
693
+ url,
694
+ title,
695
+ hasParallax,
696
+ dimRatio,
697
+ align,
698
+ contentAlign,
699
+ overlayColor,
700
+ customOverlayColor,
701
+ } = attributes;
702
+ const overlayColorClass = getColorClassName(
703
+ 'background-color',
704
+ overlayColor
705
+ );
706
+ const style = backgroundImageStyles( url );
707
+ if ( ! overlayColorClass ) {
708
+ style.backgroundColor = customOverlayColor;
709
+ }
710
+
711
+ const classes = classnames(
712
+ 'wp-block-cover-image',
713
+ dimRatioToClassV1( dimRatio ),
714
+ overlayColorClass,
715
+ {
716
+ 'has-background-dim': dimRatio !== 0,
717
+ 'has-parallax': hasParallax,
718
+ [ `has-${ contentAlign }-content` ]: contentAlign !== 'center',
574
719
  },
720
+ align ? `align${ align }` : null
721
+ );
722
+
723
+ return (
724
+ <div className={ classes } style={ style }>
725
+ { ! RichText.isEmpty( title ) && (
726
+ <RichText.Content
727
+ tagName="p"
728
+ className="wp-block-cover-image-text"
729
+ value={ title }
730
+ />
731
+ ) }
732
+ </div>
733
+ );
734
+ },
735
+ migrate( attributes ) {
736
+ const newAttribs = {
737
+ ...attributes,
738
+ dimRatio: ! attributes.url ? 100 : attributes.dimRatio,
739
+ };
740
+ return [
741
+ omit( newAttribs, [ 'title', 'contentAlign', 'align' ] ),
742
+ [
743
+ createBlock( 'core/paragraph', {
744
+ content: attributes.title,
745
+ align: attributes.contentAlign,
746
+ fontSize: 'large',
747
+ placeholder: __( 'Write title…' ),
748
+ } ),
749
+ ],
750
+ ];
751
+ },
752
+ };
753
+
754
+ const v1 = {
755
+ attributes: {
756
+ ...blockAttributes,
757
+ title: {
758
+ type: 'string',
759
+ source: 'html',
760
+ selector: 'h2',
575
761
  },
576
- supports: {
577
- className: false,
578
- },
579
- save( { attributes } ) {
580
- const { url, title, hasParallax, dimRatio, align } = attributes;
581
- const style = backgroundImageStyles( url );
582
- const classes = classnames(
583
- 'wp-block-cover-image',
584
- dimRatioToClass( dimRatio ),
585
- {
586
- 'has-background-dim': dimRatio !== 0,
587
- 'has-parallax': hasParallax,
588
- },
589
- align ? `align${ align }` : null
590
- );
591
-
592
- return (
593
- <section className={ classes } style={ style }>
594
- <RichText.Content tagName="h2" value={ title } />
595
- </section>
596
- );
762
+ align: {
763
+ type: 'string',
597
764
  },
598
- migrate( attributes ) {
599
- return [
600
- omit( attributes, [ 'title', 'contentAlign', 'align' ] ),
601
- [
602
- createBlock( 'core/paragraph', {
603
- content: attributes.title,
604
- align: attributes.contentAlign,
605
- fontSize: 'large',
606
- placeholder: __( 'Write title…' ),
607
- } ),
608
- ],
609
- ];
765
+ contentAlign: {
766
+ type: 'string',
767
+ default: 'center',
610
768
  },
611
769
  },
612
- ];
770
+ supports: {
771
+ className: false,
772
+ },
773
+ save( { attributes } ) {
774
+ const { url, title, hasParallax, dimRatio, align } = attributes;
775
+ const style = backgroundImageStyles( url );
776
+ const classes = classnames(
777
+ 'wp-block-cover-image',
778
+ dimRatioToClassV1( dimRatio ),
779
+ {
780
+ 'has-background-dim': dimRatio !== 0,
781
+ 'has-parallax': hasParallax,
782
+ },
783
+ align ? `align${ align }` : null
784
+ );
785
+
786
+ return (
787
+ <section className={ classes } style={ style }>
788
+ <RichText.Content tagName="h2" value={ title } />
789
+ </section>
790
+ );
791
+ },
792
+ migrate( attributes ) {
793
+ const newAttribs = {
794
+ ...attributes,
795
+ dimRatio: ! attributes.url ? 100 : attributes.dimRatio,
796
+ };
797
+ return [
798
+ omit( newAttribs, [ 'title', 'contentAlign', 'align' ] ),
799
+ [
800
+ createBlock( 'core/paragraph', {
801
+ content: attributes.title,
802
+ align: attributes.contentAlign,
803
+ fontSize: 'large',
804
+ placeholder: __( 'Write title…' ),
805
+ } ),
806
+ ],
807
+ ];
808
+ },
809
+ };
613
810
 
614
- export default deprecated;
811
+ export default [ v7, v6, v5, v4, v3, v2, v1 ];