@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
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","variations","name","title","description","attributes","layout","type","scope","isActive","blockAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,KAAK,EAAEH,EAAE,CAAE,KAAF,CAFV;AAGCI,EAAAA,WAAW,EAAEJ,EAAE,CAAE,wBAAF,CAHhB;AAICK,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AAAV,GAJb;AAKCC,EAAAA,KAAK,EAAE,CAAE,UAAF,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,0BAAAA,eAAe,CAACJ,MAAhB,gFAAwBC,IAAxB,MAAiC,MADxB;AAAA;AANX,CADkB,CAAnB;AAYA,eAAeN,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nconst variations = [\n\t{\n\t\tname: 'group-row',\n\t\ttitle: __( 'Row' ),\n\t\tdescription: __( 'Blocks shown in a row.' ),\n\t\tattributes: { layout: { type: 'flex' } },\n\t\tscope: [ 'inserter' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex',\n\t},\n];\n\nexport default variations;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","variations","name","title","description","attributes","layout","type","allowOrientation","scope","isActive","blockAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,KAAK,EAAEH,EAAE,CAAE,KAAF,CAFV;AAGCI,EAAAA,WAAW,EAAEJ,EAAE,CAAE,wBAAF,CAHhB;AAICK,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,MAAR;AAAgBC,MAAAA,gBAAgB,EAAE;AAAlC;AAAV,GAJb;AAKCC,EAAAA,KAAK,EAAE,CAAE,UAAF,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,0BAAAA,eAAe,CAACL,MAAhB,gFAAwBC,IAAxB,MAAiC,MADxB;AAAA;AANX,CADkB,CAAnB;AAYA,eAAeN,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nconst variations = [\n\t{\n\t\tname: 'group-row',\n\t\ttitle: __( 'Row' ),\n\t\tdescription: __( 'Blocks shown in a row.' ),\n\t\tattributes: { layout: { type: 'flex', allowOrientation: false } },\n\t\tscope: [ 'inserter' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex',\n\t},\n];\n\nexport default variations;\n"]}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { deburr, trim } from 'lodash';
5
+ /**
6
+ * Object map tracking anchors.
7
+ *
8
+ * @type {Record<string, string | null>}
9
+ */
10
+
11
+ const anchors = {};
12
+ /**
13
+ * Returns the text without markup.
14
+ *
15
+ * @param {string} text The text.
16
+ *
17
+ * @return {string} The text without markup.
18
+ */
19
+
20
+ const getTextWithoutMarkup = text => {
21
+ const dummyElement = document.createElement('div');
22
+ dummyElement.innerHTML = text;
23
+ return dummyElement.innerText;
24
+ };
25
+ /**
26
+ * Get the slug from the content.
27
+ *
28
+ * @param {string} content The block content.
29
+ *
30
+ * @return {string} Returns the slug.
31
+ */
32
+
33
+
34
+ const getSlug = content => {
35
+ // Get the slug.
36
+ return trim(deburr(getTextWithoutMarkup(content)).replace(/[^\p{L}\p{N}]+/gu, '-').toLowerCase(), '-');
37
+ };
38
+ /**
39
+ * Generate the anchor for a heading.
40
+ *
41
+ * @param {string} clientId The block ID.
42
+ * @param {string} content The block content.
43
+ *
44
+ * @return {string|null} Return the heading anchor.
45
+ */
46
+
47
+
48
+ export const generateAnchor = (clientId, content) => {
49
+ const slug = getSlug(content); // If slug is empty, then return null.
50
+ // Returning null instead of an empty string allows us to check again when the content changes.
51
+
52
+ if ('' === slug) {
53
+ return null;
54
+ }
55
+
56
+ delete anchors[clientId];
57
+ let anchor = slug;
58
+ let i = 0; // If the anchor already exists in another heading, append -i.
59
+
60
+ while (Object.values(anchors).includes(anchor)) {
61
+ i += 1;
62
+ anchor = slug + '-' + i;
63
+ }
64
+
65
+ return anchor;
66
+ };
67
+ /**
68
+ * Set the anchor for a heading.
69
+ *
70
+ * @param {string} clientId The block ID.
71
+ * @param {string|null} anchor The block anchor.
72
+ */
73
+
74
+ export const setAnchor = (clientId, anchor) => {
75
+ anchors[clientId] = anchor;
76
+ };
77
+ //# sourceMappingURL=autogenerate-anchors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/autogenerate-anchors.js"],"names":["deburr","trim","anchors","getTextWithoutMarkup","text","dummyElement","document","createElement","innerHTML","innerText","getSlug","content","replace","toLowerCase","generateAnchor","clientId","slug","anchor","i","Object","values","includes","setAnchor"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,IAAjB,QAA6B,QAA7B;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,oBAAoB,GAAKC,IAAF,IAAY;AACxC,QAAMC,YAAY,GAAGC,QAAQ,CAACC,aAAT,CAAwB,KAAxB,CAArB;AACAF,EAAAA,YAAY,CAACG,SAAb,GAAyBJ,IAAzB;AACA,SAAOC,YAAY,CAACI,SAApB;AACA,CAJD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,OAAO,GAAKC,OAAF,IAAe;AAC9B;AACA,SAAOV,IAAI,CACVD,MAAM,CAAEG,oBAAoB,CAAEQ,OAAF,CAAtB,CAAN,CACEC,OADF,CACW,kBADX,EAC+B,GAD/B,EAEEC,WAFF,EADU,EAIV,GAJU,CAAX;AAMA,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMC,cAAc,GAAG,CAAEC,QAAF,EAAYJ,OAAZ,KAAyB;AACtD,QAAMK,IAAI,GAAGN,OAAO,CAAEC,OAAF,CAApB,CADsD,CAEtD;AACA;;AACA,MAAK,OAAOK,IAAZ,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOd,OAAO,CAAEa,QAAF,CAAd;AAEA,MAAIE,MAAM,GAAGD,IAAb;AACA,MAAIE,CAAC,GAAG,CAAR,CAXsD,CAatD;;AACA,SAAQC,MAAM,CAACC,MAAP,CAAelB,OAAf,EAAyBmB,QAAzB,CAAmCJ,MAAnC,CAAR,EAAsD;AACrDC,IAAAA,CAAC,IAAI,CAAL;AACAD,IAAAA,MAAM,GAAGD,IAAI,GAAG,GAAP,GAAaE,CAAtB;AACA;;AAED,SAAOD,MAAP;AACA,CApBM;AAsBP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMK,SAAS,GAAG,CAAEP,QAAF,EAAYE,MAAZ,KAAwB;AAChDf,EAAAA,OAAO,CAAEa,QAAF,CAAP,GAAsBE,MAAtB;AACA,CAFM","sourcesContent":["/**\n * External dependencies\n */\nimport { deburr, trim } from 'lodash';\n\n/**\n * Object map tracking anchors.\n *\n * @type {Record<string, string | null>}\n */\nconst anchors = {};\n\n/**\n * Returns the text without markup.\n *\n * @param {string} text The text.\n *\n * @return {string} The text without markup.\n */\nconst getTextWithoutMarkup = ( text ) => {\n\tconst dummyElement = document.createElement( 'div' );\n\tdummyElement.innerHTML = text;\n\treturn dummyElement.innerText;\n};\n\n/**\n * Get the slug from the content.\n *\n * @param {string} content The block content.\n *\n * @return {string} Returns the slug.\n */\nconst getSlug = ( content ) => {\n\t// Get the slug.\n\treturn trim(\n\t\tdeburr( getTextWithoutMarkup( content ) )\n\t\t\t.replace( /[^\\p{L}\\p{N}]+/gu, '-' )\n\t\t\t.toLowerCase(),\n\t\t'-'\n\t);\n};\n\n/**\n * Generate the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string} content The block content.\n *\n * @return {string|null} Return the heading anchor.\n */\nexport const generateAnchor = ( clientId, content ) => {\n\tconst slug = getSlug( content );\n\t// If slug is empty, then return null.\n\t// Returning null instead of an empty string allows us to check again when the content changes.\n\tif ( '' === slug ) {\n\t\treturn null;\n\t}\n\n\tdelete anchors[ clientId ];\n\n\tlet anchor = slug;\n\tlet i = 0;\n\n\t// If the anchor already exists in another heading, append -i.\n\twhile ( Object.values( anchors ).includes( anchor ) ) {\n\t\ti += 1;\n\t\tanchor = slug + '-' + i;\n\t}\n\n\treturn anchor;\n};\n\n/**\n * Set the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string|null} anchor The block anchor.\n */\nexport const setAnchor = ( clientId, anchor ) => {\n\tanchors[ clientId ] = anchor;\n};\n"]}
@@ -10,13 +10,16 @@ import classnames from 'classnames';
10
10
  */
11
11
 
12
12
  import { __ } from '@wordpress/i18n';
13
- import { createBlock } from '@wordpress/blocks';
14
- import { AlignmentControl, BlockControls, RichText, useBlockProps } from '@wordpress/block-editor';
13
+ import { useEffect } from '@wordpress/element';
14
+ import { useDispatch } from '@wordpress/data';
15
+ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
16
+ import { AlignmentControl, BlockControls, RichText, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
15
17
  /**
16
18
  * Internal dependencies
17
19
  */
18
20
 
19
21
  import HeadingLevelDropdown from './heading-level-dropdown';
22
+ import { generateAnchor, setAnchor } from './autogenerate-anchors';
20
23
 
21
24
  function HeadingEdit({
22
25
  attributes,
@@ -30,7 +33,8 @@ function HeadingEdit({
30
33
  textAlign,
31
34
  content,
32
35
  level,
33
- placeholder
36
+ placeholder,
37
+ anchor
34
38
  } = attributes;
35
39
  const tagName = 'h' + level;
36
40
  const blockProps = useBlockProps({
@@ -39,6 +43,38 @@ function HeadingEdit({
39
43
  }),
40
44
  style
41
45
  });
46
+ const {
47
+ __unstableMarkNextChangeAsNotPersistent
48
+ } = useDispatch(blockEditorStore); // Initially set anchor for headings that have content but no anchor set.
49
+ // This is used when transforming a block to heading, or for legacy anchors.
50
+
51
+ useEffect(() => {
52
+ if (!anchor && content) {
53
+ // This side-effect should not create an undo level.
54
+ __unstableMarkNextChangeAsNotPersistent();
55
+
56
+ setAttributes({
57
+ anchor: generateAnchor(clientId, content)
58
+ });
59
+ }
60
+
61
+ setAnchor(clientId, anchor); // Remove anchor map when block unmounts.
62
+
63
+ return () => setAnchor(clientId, null);
64
+ }, [content, anchor]);
65
+
66
+ const onContentChange = value => {
67
+ const newAttrs = {
68
+ content: value
69
+ };
70
+
71
+ if (!anchor || !value || generateAnchor(clientId, content) === anchor) {
72
+ newAttrs.anchor = generateAnchor(clientId, value);
73
+ }
74
+
75
+ setAttributes(newAttrs);
76
+ };
77
+
42
78
  return createElement(Fragment, null, createElement(BlockControls, {
43
79
  group: "block"
44
80
  }, createElement(HeadingLevelDropdown, {
@@ -57,9 +93,7 @@ function HeadingEdit({
57
93
  identifier: "content",
58
94
  tagName: tagName,
59
95
  value: content,
60
- onChange: value => setAttributes({
61
- content: value
62
- }),
96
+ onChange: onContentChange,
63
97
  onMerge: mergeBlocks,
64
98
  onSplit: (value, isOriginal) => {
65
99
  let block;
@@ -69,7 +103,9 @@ function HeadingEdit({
69
103
  content: value
70
104
  });
71
105
  } else {
72
- block = createBlock('core/paragraph');
106
+ var _getDefaultBlockName;
107
+
108
+ block = createBlock((_getDefaultBlockName = getDefaultBlockName()) !== null && _getDefaultBlockName !== void 0 ? _getDefaultBlockName : 'core/heading');
73
109
  }
74
110
 
75
111
  if (isOriginal) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/edit.js"],"names":["classnames","__","createBlock","AlignmentControl","BlockControls","RichText","useBlockProps","HeadingLevelDropdown","HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","placeholder","tagName","blockProps","className","newLevel","nextAlign","value","isOriginal","block"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,QAHD,EAICC,aAJD,QAKO,yBALP;AAOA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;;AAEA,SAASC,WAAT,CAAsB;AACrBC,EAAAA,UADqB;AAErBC,EAAAA,aAFqB;AAGrBC,EAAAA,WAHqB;AAIrBC,EAAAA,SAJqB;AAKrBC,EAAAA,KALqB;AAMrBC,EAAAA;AANqB,CAAtB,EAOI;AACH,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,OAAb;AAAsBC,IAAAA,KAAtB;AAA6BC,IAAAA;AAA7B,MAA6CT,UAAnD;AACA,QAAMU,OAAO,GAAG,MAAMF,KAAtB;AACA,QAAMG,UAAU,GAAGd,aAAa,CAAE;AACjCe,IAAAA,SAAS,EAAErB,UAAU,CAAE;AACtB,OAAG,kBAAkBe,SAAW,EAAhC,GAAqCA;AADf,KAAF,CADY;AAIjCF,IAAAA;AAJiC,GAAF,CAAhC;AAOA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,oBAAD;AACC,IAAA,aAAa,EAAGI,KADjB;AAEC,IAAA,QAAQ,EAAKK,QAAF,IACVZ,aAAa,CAAE;AAAEO,MAAAA,KAAK,EAAEK;AAAT,KAAF;AAHf,IADD,EAOC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGP,SADT;AAEC,IAAA,QAAQ,EAAKQ,SAAF,IAAiB;AAC3Bb,MAAAA,aAAa,CAAE;AAAEK,QAAAA,SAAS,EAAEQ;AAAb,OAAF,CAAb;AACA;AAJF,IAPD,CADD,EAeC,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,SADZ;AAEC,IAAA,OAAO,EAAGJ,OAFX;AAGC,IAAA,KAAK,EAAGH,OAHT;AAIC,IAAA,QAAQ,EAAKQ,KAAF,IAAad,aAAa,CAAE;AAAEM,MAAAA,OAAO,EAAEQ;AAAX,KAAF,CAJtC;AAKC,IAAA,OAAO,EAAGb,WALX;AAMC,IAAA,OAAO,EAAG,CAAEa,KAAF,EAASC,UAAT,KAAyB;AAClC,UAAIC,KAAJ;;AAEA,UAAKD,UAAU,IAAID,KAAnB,EAA2B;AAC1BE,QAAAA,KAAK,GAAGxB,WAAW,CAAE,cAAF,EAAkB,EACpC,GAAGO,UADiC;AAEpCO,UAAAA,OAAO,EAAEQ;AAF2B,SAAlB,CAAnB;AAIA,OALD,MAKO;AACNE,QAAAA,KAAK,GAAGxB,WAAW,CAAE,gBAAF,CAAnB;AACA;;AAED,UAAKuB,UAAL,EAAkB;AACjBC,QAAAA,KAAK,CAACZ,QAAN,GAAiBA,QAAjB;AACA;;AAED,aAAOY,KAAP;AACA,KAvBF;AAwBC,IAAA,SAAS,EAAGd,SAxBb;AAyBC,IAAA,QAAQ,EAAG,MAAMA,SAAS,CAAE,EAAF,CAzB3B;AA0BC,kBAAaX,EAAE,CAAE,cAAF,CA1BhB;AA2BC,IAAA,WAAW,EAAGiB,WAAW,IAAIjB,EAAE,CAAE,SAAF,CA3BhC;AA4BC,IAAA,SAAS,EAAGc;AA5Bb,KA6BMK,UA7BN,EAfD,CADD;AAiDA;;AAED,eAAeZ,WAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from './heading-level-dropdown';\n\nfunction HeadingEdit( {\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tstyle,\n\tclientId,\n} ) {\n\tconst { textAlign, content, level, placeholder } = attributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( value ) => setAttributes( { content: value } ) }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet block;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tblock = createBlock( 'core/heading', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock = createBlock( 'core/paragraph' );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\taria-label={ __( 'Heading text' ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\ttextAlign={ textAlign }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/edit.js"],"names":["classnames","__","useEffect","useDispatch","createBlock","getDefaultBlockName","AlignmentControl","BlockControls","RichText","useBlockProps","store","blockEditorStore","HeadingLevelDropdown","generateAnchor","setAnchor","HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","placeholder","anchor","tagName","blockProps","className","__unstableMarkNextChangeAsNotPersistent","onContentChange","value","newAttrs","newLevel","nextAlign","isOriginal","block"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from './heading-level-dropdown';\nimport { generateAnchor, setAnchor } from './autogenerate-anchors';\n\nfunction HeadingEdit( {\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tstyle,\n\tclientId,\n} ) {\n\tconst { textAlign, content, level, placeholder, anchor } = attributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\t// Initially set anchor for headings that have content but no anchor set.\n\t// This is used when transforming a block to heading, or for legacy anchors.\n\tuseEffect( () => {\n\t\tif ( ! anchor && content ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tanchor: generateAnchor( clientId, content ),\n\t\t\t} );\n\t\t}\n\t\tsetAnchor( clientId, anchor );\n\n\t\t// Remove anchor map when block unmounts.\n\t\treturn () => setAnchor( clientId, null );\n\t}, [ content, anchor ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\t! anchor ||\n\t\t\t! value ||\n\t\t\tgenerateAnchor( clientId, content ) === anchor\n\t\t) {\n\t\t\tnewAttrs.anchor = generateAnchor( clientId, value );\n\t\t}\n\t\tsetAttributes( newAttrs );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ onContentChange }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet block;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tblock = createBlock( 'core/heading', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock = createBlock(\n\t\t\t\t\t\t\tgetDefaultBlockName() ?? 'core/heading'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\taria-label={ __( 'Heading text' ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\ttextAlign={ textAlign }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"]}
@@ -48,13 +48,25 @@ const metadata = {
48
48
  color: {
49
49
  link: true
50
50
  },
51
+ spacing: {
52
+ margin: true
53
+ },
51
54
  typography: {
52
55
  fontSize: true,
53
56
  lineHeight: true,
54
- __experimentalFontWeight: true
57
+ __experimentalFontStyle: true,
58
+ __experimentalFontWeight: true,
59
+ __experimentalLetterSpacing: true,
60
+ __experimentalTextTransform: true,
61
+ __experimentalDefaultControls: {
62
+ fontSize: true,
63
+ fontAppearance: true,
64
+ textTransform: true
65
+ }
55
66
  },
56
67
  __experimentalSelector: "h1,h2,h3,h4,h5,h6",
57
- __unstablePasteTextInline: true
68
+ __unstablePasteTextInline: true,
69
+ __experimentalSlashInserter: true
58
70
  },
59
71
  editorStyle: "wp-block-heading-editor",
60
72
  style: "wp-block-heading"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/index.js"],"names":["isEmpty","heading","icon","__","sprintf","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","level","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAEX,EAAE,CAAE,gBAAF,CADA;AAEXY,MAAAA,KAAK,EAAE;AAFI;AADJ,GAFc;;AAQvBC,EAAAA,mBAAmB,CAAEH,UAAF,EAAc;AAAEI,IAAAA;AAAF,GAAd,EAA4B;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEH,QAAAA,OAAF;AAAWC,QAAAA;AAAX,UAAqBF,UAA3B;AAEA,aAAOb,OAAO,CAAEc,OAAF,CAAP,GACJV,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,CADH,GAMJX,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,EAIPD,OAJO,CANV;AAYA;AACD,GAzBsB;;AA0BvBN,EAAAA,UA1BuB;AA2BvBH,EAAAA,UA3BuB;;AA4BvBa,EAAAA,KAAK,CAAEL,UAAF,EAAcM,iBAAd,EAAkC;AACtC,WAAO;AACNL,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEK,iBAAiB,CAACL,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GAlCsB;;AAmCvBR,EAAAA,IAnCuB;AAoCvBC,EAAAA;AApCuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { content, level } = attributes;\n\n\t\t\treturn isEmpty( content )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/index.js"],"names":["isEmpty","heading","icon","__","sprintf","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","level","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAEX,EAAE,CAAE,gBAAF,CADA;AAEXY,MAAAA,KAAK,EAAE;AAFI;AADJ,GAFc;;AAQvBC,EAAAA,mBAAmB,CAAEH,UAAF,EAAc;AAAEI,IAAAA;AAAF,GAAd,EAA4B;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEH,QAAAA,OAAF;AAAWC,QAAAA;AAAX,UAAqBF,UAA3B;AAEA,aAAOb,OAAO,CAAEc,OAAF,CAAP,GACJV,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,CADH,GAMJX,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,EAIPD,OAJO,CANV;AAYA;AACD,GAzBsB;;AA0BvBN,EAAAA,UA1BuB;AA2BvBH,EAAAA,UA3BuB;;AA4BvBa,EAAAA,KAAK,CAAEL,UAAF,EAAcM,iBAAd,EAAkC;AACtC,WAAO;AACNL,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEK,iBAAiB,CAACL,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GAlCsB;;AAmCvBR,EAAAA,IAnCuB;AAoCvBC,EAAAA;AApCuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { content, level } = attributes;\n\n\t\t\treturn isEmpty( content )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}
@@ -43,13 +43,25 @@ const {
43
43
  color: {
44
44
  link: true
45
45
  },
46
+ spacing: {
47
+ margin: true
48
+ },
46
49
  typography: {
47
50
  fontSize: true,
48
51
  lineHeight: true,
49
- __experimentalFontWeight: true
52
+ __experimentalFontStyle: true,
53
+ __experimentalFontWeight: true,
54
+ __experimentalLetterSpacing: true,
55
+ __experimentalTextTransform: true,
56
+ __experimentalDefaultControls: {
57
+ fontSize: true,
58
+ fontAppearance: true,
59
+ textTransform: true
60
+ }
50
61
  },
51
62
  __experimentalSelector: "h1,h2,h3,h4,h5,h6",
52
- __unstablePasteTextInline: true
63
+ __unstablePasteTextInline: true,
64
+ __experimentalSlashInserter: true
53
65
  },
54
66
  editorStyle: "wp-block-heading-editor",
55
67
  style: "wp-block-heading"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/transforms.js"],"names":["createBlock","getBlockAttributes","getLevelFromHeadingNodeName","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","name","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","outerHTML","textAlign","style","level","nodeName","align","prefix","Array","join","regExp","RegExp","to"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,kBAAtB,QAAgD,mBAAhD;AAEA;AACA;AACA;;AACA,SAASC,2BAAT,QAA4C,UAA5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAHT;AAICC,IAAAA,SAAS,EAAIC,UAAF,IACVA,UAAU,CAACC,GAAX,CAAgB,CAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KAAF,KACfZ,WAAW,CAAEa,IAAF,EAAQ;AAClBF,MAAAA,OADkB;AAElBC,MAAAA;AAFkB,KAAR,CADZ;AALF,GADK,EAaL;AACCP,IAAAA,IAAI,EAAE,KADP;AAECS,IAAAA,QAAQ,EAAE,mBAFX;AAGCC,IAAAA,MAAM,EAAE,CAAE;AAAEC,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,KAAF,KAA0C;AACjD,YAAMF,MAAM,GAAG;AACdG,QAAAA,QAAQ,EAAEF,qBADI;AAEdP,QAAAA,UAAU,EAAEQ,OAAO,GAAG,EAAH,GAAQ,CAAE,OAAF,EAAW,IAAX;AAFb,OAAf;AAIA,aAAO;AACNE,QAAAA,EAAE,EAAEJ,MADE;AAENK,QAAAA,EAAE,EAAEL,MAFE;AAGNM,QAAAA,EAAE,EAAEN,MAHE;AAINO,QAAAA,EAAE,EAAEP,MAJE;AAKNQ,QAAAA,EAAE,EAAER,MALE;AAMNS,QAAAA,EAAE,EAAET;AANE,OAAP;AAQA,KAhBF;;AAiBCP,IAAAA,SAAS,CAAEiB,IAAF,EAAS;AACjB,YAAMhB,UAAU,GAAGR,kBAAkB,CAAEY,IAAF,EAAQY,IAAI,CAACC,SAAb,CAArC;AACA,YAAM;AAAEC,QAAAA;AAAF,UAAgBF,IAAI,CAACG,KAAL,IAAc,EAApC;AAEAnB,MAAAA,UAAU,CAACoB,KAAX,GAAmB3B,2BAA2B,CAAEuB,IAAI,CAACK,QAAP,CAA9C;;AAEA,UACCH,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,QADd,IAEAA,SAAS,KAAK,OAHf,EAIE;AACDlB,QAAAA,UAAU,CAACsB,KAAX,GAAmBJ,SAAnB;AACA;;AAED,aAAO3B,WAAW,CAAEa,IAAF,EAAQJ,UAAR,CAAlB;AACA;;AAhCF,GAbK,EA+CL,GAAG,CAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAqBC,GAArB,CAA4BmB,KAAF,KAAe;AAC3CxB,IAAAA,IAAI,EAAE,QADqC;AAE3C2B,IAAAA,MAAM,EAAEC,KAAK,CAAEJ,KAAK,GAAG,CAAV,CAAL,CAAmBK,IAAnB,CAAyB,GAAzB,CAFmC;;AAG3C1B,IAAAA,SAAS,CAAEG,OAAF,EAAY;AACpB,aAAOX,WAAW,CAAEa,IAAF,EAAQ;AACzBgB,QAAAA,KADyB;AAEzBlB,QAAAA;AAFyB,OAAR,CAAlB;AAIA;;AAR0C,GAAf,CAA1B,CA/CE,EAyDL,GAAG,CAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAqBD,GAArB,CAA4BmB,KAAF,KAAe;AAC3CxB,IAAAA,IAAI,EAAE,OADqC;AAE3C8B,IAAAA,MAAM,EAAE,IAAIC,MAAJ,CAAa,UAAUP,KAAO,GAA9B,CAFmC;;AAG3CrB,IAAAA,SAAS,CAAEG,OAAF,EAAY;AACpB,aAAOX,WAAW,CAAEa,IAAF,EAAQ;AACzBgB,QAAAA,KADyB;AAEzBlB,QAAAA;AAFyB,OAAR,CAAlB;AAIA;;AAR0C,GAAf,CAA1B,CAzDE,CADY;AAqElB0B,EAAAA,EAAE,EAAE,CACH;AACChC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAHT;AAICC,IAAAA,SAAS,EAAIC,UAAF,IACVA,UAAU,CAACC,GAAX,CAAgB,CAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KAAF,KACfZ,WAAW,CAAE,gBAAF,EAAoB;AAC9BW,MAAAA,OAD8B;AAE9BC,MAAAA;AAF8B,KAApB,CADZ;AALF,GADG;AArEc,CAAnB;AAqFA,eAAeT,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { name } from './block.json';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, anchor } ) =>\n\t\t\t\t\tcreateBlock( name, {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes( name, node.outerHTML );\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( name, attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( name, {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( name, {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, anchor } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/transforms.js"],"names":["createBlock","getBlockAttributes","getLevelFromHeadingNodeName","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","name","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","outerHTML","textAlign","style","level","nodeName","align","prefix","Array","join","regExp","RegExp","to"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { name } from './block.json';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, anchor } ) =>\n\t\t\t\t\tcreateBlock( name, {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes( name, node.outerHTML );\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( name, attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( name, {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( name, {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, anchor } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -5,14 +5,15 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import { View, TouchableWithoutFeedback } from 'react-native';
8
+ import { useRoute } from '@react-navigation/native';
8
9
  /**
9
10
  * WordPress dependencies
10
11
  */
11
12
 
12
- import { Component } from '@wordpress/element';
13
+ import { Component, useEffect } from '@wordpress/element';
13
14
  import { requestMediaImport, mediaUploadSync, requestImageFailedRetryDialog, requestImageUploadCancelDialog, requestImageFullscreenPreview, setFeaturedImage } from '@wordpress/react-native-bridge';
14
15
  import { Icon, PanelBody, ToolbarButton, ToolbarGroup, Image, WIDE_ALIGNMENTS, LinkSettingsNavigation, BottomSheet, BottomSheetTextControl, BottomSheetSelectControl, FooterMessageControl, FooterMessageLink, Badge } from '@wordpress/components';
15
- import { BlockCaption, MediaPlaceholder, MediaUpload, MediaUploadProgress, MEDIA_TYPE_IMAGE, BlockControls, InspectorControls, BlockAlignmentToolbar, BlockStyles, store as blockEditorStore } from '@wordpress/block-editor';
16
+ import { BlockCaption, MediaPlaceholder, MediaUpload, MediaUploadProgress, MEDIA_TYPE_IMAGE, BlockControls, InspectorControls, BlockAlignmentToolbar, BlockStyles, store as blockEditorStore, blockSettingsScreens } from '@wordpress/block-editor';
16
17
  import { __, _x, sprintf } from '@wordpress/i18n';
17
18
  import { getProtocol, hasQueryArg } from '@wordpress/url';
18
19
  import { doAction, hasAction } from '@wordpress/hooks';
@@ -27,7 +28,7 @@ import { store as editPostStore } from '@wordpress/edit-post';
27
28
 
28
29
  import styles from './styles.scss';
29
30
  import { getUpdatedLinkTargetSettings } from './utils';
30
- import { LINK_DESTINATION_CUSTOM, LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_MEDIA, MEDIA_ID_NO_FEATURED_IMAGE_SET } from './constants';
31
+ import { LINK_DESTINATION_NONE, LINK_DESTINATION_CUSTOM, LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_MEDIA, MEDIA_ID_NO_FEATURED_IMAGE_SET } from './constants';
31
32
 
32
33
  const getUrlForSlug = (image, sizeSlug) => {
33
34
  var _image$media_details, _image$media_details$, _image$media_details$2;
@@ -39,6 +40,112 @@ const getUrlForSlug = (image, sizeSlug) => {
39
40
  return image === null || image === void 0 ? void 0 : (_image$media_details = image.media_details) === null || _image$media_details === void 0 ? void 0 : (_image$media_details$ = _image$media_details.sizes) === null || _image$media_details$ === void 0 ? void 0 : (_image$media_details$2 = _image$media_details$[sizeSlug]) === null || _image$media_details$2 === void 0 ? void 0 : _image$media_details$2.source_url;
40
41
  };
41
42
 
43
+ function LinkSettings({
44
+ attributes,
45
+ image,
46
+ isLinkSheetVisible,
47
+ setMappedAttributes
48
+ }) {
49
+ var _route$params;
50
+
51
+ const route = useRoute();
52
+ const {
53
+ href: url,
54
+ label,
55
+ linkDestination,
56
+ linkTarget,
57
+ rel
58
+ } = attributes; // Persist attributes passed from child screen
59
+
60
+ useEffect(() => {
61
+ const {
62
+ inputValue: newUrl
63
+ } = route.params || {};
64
+ let newLinkDestination;
65
+
66
+ switch (newUrl) {
67
+ case attributes.url:
68
+ newLinkDestination = LINK_DESTINATION_MEDIA;
69
+ break;
70
+
71
+ case image === null || image === void 0 ? void 0 : image.link:
72
+ newLinkDestination = LINK_DESTINATION_ATTACHMENT;
73
+ break;
74
+
75
+ case '':
76
+ newLinkDestination = LINK_DESTINATION_NONE;
77
+ break;
78
+
79
+ default:
80
+ newLinkDestination = LINK_DESTINATION_CUSTOM;
81
+ break;
82
+ }
83
+
84
+ setMappedAttributes({
85
+ url: newUrl,
86
+ linkDestination: newLinkDestination
87
+ });
88
+ }, [(_route$params = route.params) === null || _route$params === void 0 ? void 0 : _route$params.inputValue]);
89
+ let valueMask;
90
+
91
+ switch (linkDestination) {
92
+ case LINK_DESTINATION_MEDIA:
93
+ valueMask = __('Media File');
94
+ break;
95
+
96
+ case LINK_DESTINATION_ATTACHMENT:
97
+ valueMask = __('Attachment Page');
98
+ break;
99
+
100
+ case LINK_DESTINATION_CUSTOM:
101
+ valueMask = __('Custom URL');
102
+ break;
103
+
104
+ default:
105
+ valueMask = __('None');
106
+ break;
107
+ }
108
+
109
+ const linkSettingsOptions = {
110
+ url: {
111
+ valueMask,
112
+ autoFocus: false,
113
+ autoFill: true
114
+ },
115
+ openInNewTab: {
116
+ label: __('Open in new tab')
117
+ },
118
+ linkRel: {
119
+ label: __('Link Rel'),
120
+ placeholder: _x('None', 'Link rel attribute value placeholder')
121
+ }
122
+ };
123
+ return createElement(PanelBody, {
124
+ title: __('Link Settings')
125
+ }, createElement(LinkSettingsNavigation, {
126
+ isVisible: isLinkSheetVisible,
127
+ url: url,
128
+ rel: rel,
129
+ label: label,
130
+ linkTarget: linkTarget,
131
+ setAttributes: setMappedAttributes,
132
+ withBottomSheet: false,
133
+ hasPicker: true,
134
+ options: linkSettingsOptions,
135
+ showIcon: false,
136
+ onLinkCellPressed: ({
137
+ navigation
138
+ }) => {
139
+ navigation.navigate(blockSettingsScreens.imageLinkDestinations, {
140
+ inputValue: attributes.href,
141
+ linkDestination: attributes.linkDestination,
142
+ imageUrl: attributes.url,
143
+ attachmentPageUrl: image === null || image === void 0 ? void 0 : image.link
144
+ });
145
+ }
146
+ }));
147
+ }
148
+
42
149
  export class ImageEdit extends Component {
43
150
  constructor(props) {
44
151
  super(props);
@@ -51,7 +158,6 @@ export class ImageEdit extends Component {
51
158
  this.onSelectMediaUploadOption = this.onSelectMediaUploadOption.bind(this);
52
159
  this.updateMediaProgress = this.updateMediaProgress.bind(this);
53
160
  this.updateImageURL = this.updateImageURL.bind(this);
54
- this.onSetLinkDestination = this.onSetLinkDestination.bind(this);
55
161
  this.onSetNewTab = this.onSetNewTab.bind(this);
56
162
  this.onSetSizeSlug = this.onSetSizeSlug.bind(this);
57
163
  this.onImagePressed = this.onImagePressed.bind(this);
@@ -61,21 +167,6 @@ export class ImageEdit extends Component {
61
167
  this.accessibilityLabelCreator = this.accessibilityLabelCreator.bind(this);
62
168
  this.setMappedAttributes = this.setMappedAttributes.bind(this);
63
169
  this.onSizeChangeValue = this.onSizeChangeValue.bind(this);
64
- this.linkSettingsOptions = {
65
- url: {
66
- label: __('Image Link URL'),
67
- placeholder: __('Add URL'),
68
- autoFocus: false,
69
- autoFill: true
70
- },
71
- openInNewTab: {
72
- label: __('Open in new tab')
73
- },
74
- linkRel: {
75
- label: __('Link Rel'),
76
- placeholder: _x('None', 'Link rel attribute value placeholder')
77
- }
78
- };
79
170
  }
80
171
 
81
172
  componentDidMount() {
@@ -242,13 +333,6 @@ export class ImageEdit extends Component {
242
333
  });
243
334
  }
244
335
 
245
- onSetLinkDestination(href) {
246
- this.props.setAttributes({
247
- linkDestination: LINK_DESTINATION_CUSTOM,
248
- href
249
- });
250
- }
251
-
252
336
  onSetNewTab(value) {
253
337
  const updatedLinkTarget = getUpdatedLinkTargetSettings(value, this.props.attributes);
254
338
  this.props.setAttributes(updatedLinkTarget);
@@ -351,44 +435,22 @@ export class ImageEdit extends Component {
351
435
 
352
436
  setMappedAttributes({
353
437
  url: href,
438
+ linkDestination,
354
439
  ...restAttributes
355
440
  }) {
356
441
  const {
357
442
  setAttributes
358
443
  } = this.props;
359
- return href === undefined ? setAttributes({ ...restAttributes,
360
- linkDestination: LINK_DESTINATION_CUSTOM
361
- }) : setAttributes({ ...restAttributes,
362
- href,
363
- linkDestination: LINK_DESTINATION_CUSTOM
364
- });
365
- }
366
444
 
367
- getLinkSettings() {
368
- const {
369
- isLinkSheetVisible
370
- } = this.state;
371
- const {
372
- attributes: {
373
- href: url,
374
- ...unMappedAttributes
375
- }
376
- } = this.props;
377
- const mappedAttributes = { ...unMappedAttributes,
378
- url
379
- };
380
- return createElement(LinkSettingsNavigation, {
381
- isVisible: isLinkSheetVisible,
382
- url: mappedAttributes.url,
383
- rel: mappedAttributes.rel,
384
- label: mappedAttributes.label,
385
- linkTarget: mappedAttributes.linkTarget,
386
- onClose: this.dismissSheet,
387
- setAttributes: this.setMappedAttributes,
388
- withBottomSheet: false,
389
- hasPicker: true,
390
- options: this.linkSettingsOptions,
391
- showIcon: false
445
+ if (!href && !linkDestination) {
446
+ linkDestination = LINK_DESTINATION_NONE;
447
+ } else if (!linkDestination) {
448
+ linkDestination = LINK_DESTINATION_CUSTOM;
449
+ }
450
+
451
+ return href === undefined || href === this.props.attributes.href ? setAttributes(restAttributes) : setAttributes({ ...restAttributes,
452
+ linkDestination,
453
+ href
392
454
  });
393
455
  }
394
456
 
@@ -528,9 +590,12 @@ export class ImageEdit extends Component {
528
590
  options: sizeOptions,
529
591
  onChange: this.onSizeChangeValue,
530
592
  value: selectedSizeOption
531
- }), this.getAltTextSettings()), createElement(PanelBody, {
532
- title: __('Link Settings')
533
- }, this.getLinkSettings(true)), createElement(PanelBody, {
593
+ }), this.getAltTextSettings()), createElement(LinkSettings, {
594
+ attributes: this.props.attributes,
595
+ image: this.props.image,
596
+ isLinkSheetVisible: this.state.isLinkSheetVisible,
597
+ setMappedAttributes: this.setMappedAttributes
598
+ }), createElement(PanelBody, {
534
599
  title: __('Featured Image'),
535
600
  titleStyle: styles.featuredImagePanelTitle
536
601
  }, canImageBeFeatured && this.getFeaturedButtonPanel(isFeaturedImage), createElement(FooterMessageControl, {
@@ -561,7 +626,7 @@ export class ImageEdit extends Component {
561
626
  height: '100%',
562
627
  resizeMode: context !== null && context !== void 0 && context.imageCrop ? 'cover' : 'contain'
563
628
  };
564
- const imageContainerStyles = [hasImageContext && styles.fixedHeight];
629
+ const imageContainerStyles = [(context === null || context === void 0 ? void 0 : context.fixedHeight) && styles.fixedHeight];
565
630
 
566
631
  const getImageComponent = (openMediaOptions, getMediaOptions) => createElement(Badge, {
567
632
  label: __('Featured'),
@@ -597,7 +662,7 @@ export class ImageEdit extends Component {
597
662
  openMediaOptions: openMediaOptions,
598
663
  retryMessage: retryMessage,
599
664
  url: url,
600
- shapeStyle: styles[className],
665
+ shapeStyle: styles[className] || className,
601
666
  width: this.getWidth()
602
667
  }, hasImageContext ? additionalImageProps : {})));
603
668
  }