@wordpress/block-library 7.10.0 → 7.12.2-next.d6164808d3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1048) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +9 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/index.js +4 -0
  7. package/build/audio/index.js.map +1 -1
  8. package/build/block/edit.js +4 -2
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/edit.native.js +4 -2
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js +14 -5
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/button/edit.js +2 -1
  15. package/build/button/edit.js.map +1 -1
  16. package/build/button/index.js +1 -1
  17. package/build/buttons/edit.js +1 -1
  18. package/build/buttons/edit.js.map +1 -1
  19. package/build/calendar/edit.js +12 -5
  20. package/build/calendar/edit.js.map +1 -1
  21. package/build/categories/edit.js +3 -1
  22. package/build/categories/edit.js.map +1 -1
  23. package/build/categories/index.js +14 -1
  24. package/build/categories/index.js.map +1 -1
  25. package/build/code/index.js +4 -2
  26. package/build/code/index.js.map +1 -1
  27. package/build/column/index.js +13 -0
  28. package/build/column/index.js.map +1 -1
  29. package/build/columns/deprecated.js +16 -5
  30. package/build/columns/deprecated.js.map +1 -1
  31. package/build/columns/edit.js +6 -2
  32. package/build/columns/edit.js.map +1 -1
  33. package/build/columns/edit.native.js +9 -4
  34. package/build/columns/edit.native.js.map +1 -1
  35. package/build/columns/index.js +13 -0
  36. package/build/columns/index.js.map +1 -1
  37. package/build/comment-author-name/index.js +5 -1
  38. package/build/comment-author-name/index.js.map +1 -1
  39. package/build/comment-content/index.js +5 -1
  40. package/build/comment-content/index.js.map +1 -1
  41. package/build/comment-date/index.js +1 -0
  42. package/build/comment-date/index.js.map +1 -1
  43. package/build/comment-edit-link/index.js +5 -1
  44. package/build/comment-edit-link/index.js.map +1 -1
  45. package/build/comment-reply-link/index.js +5 -1
  46. package/build/comment-reply-link/index.js.map +1 -1
  47. package/build/comment-template/index.js +14 -1
  48. package/build/comment-template/index.js.map +1 -1
  49. package/build/comments/edit/comments-legacy.js +73 -0
  50. package/build/comments/edit/comments-legacy.js.map +1 -0
  51. package/build/comments/{edit.js → edit/index.js} +17 -38
  52. package/build/comments/edit/index.js.map +1 -0
  53. package/build/comments/edit/placeholder.js +117 -0
  54. package/build/comments/edit/placeholder.js.map +1 -0
  55. package/build/comments/edit/template.js +39 -0
  56. package/build/comments/edit/template.js.map +1 -0
  57. package/build/comments/index.js +19 -1
  58. package/build/comments/index.js.map +1 -1
  59. package/build/comments/save.js +12 -4
  60. package/build/comments/save.js.map +1 -1
  61. package/build/comments-pagination/index.js +13 -0
  62. package/build/comments-pagination/index.js.map +1 -1
  63. package/build/comments-pagination-next/index.js +4 -2
  64. package/build/comments-pagination-next/index.js.map +1 -1
  65. package/build/comments-pagination-numbers/edit.js +5 -1
  66. package/build/comments-pagination-numbers/edit.js.map +1 -1
  67. package/build/comments-pagination-numbers/index.js +14 -1
  68. package/build/comments-pagination-numbers/index.js.map +1 -1
  69. package/build/comments-pagination-previous/index.js +4 -2
  70. package/build/comments-pagination-previous/index.js.map +1 -1
  71. package/build/comments-title/deprecated.js +4 -2
  72. package/build/comments-title/deprecated.js.map +1 -1
  73. package/build/comments-title/index.js +4 -2
  74. package/build/comments-title/index.js.map +1 -1
  75. package/build/cover/deprecated.js +20 -5
  76. package/build/cover/deprecated.js.map +1 -1
  77. package/build/cover/edit/resizable-cover.js +6 -0
  78. package/build/cover/edit/resizable-cover.js.map +1 -1
  79. package/build/cover/index.js +13 -0
  80. package/build/cover/index.js.map +1 -1
  81. package/build/cover/shared.js +1 -1
  82. package/build/cover/shared.js.map +1 -1
  83. package/build/cover/transforms.js +3 -2
  84. package/build/cover/transforms.js.map +1 -1
  85. package/build/embed/embed-placeholder.native.js +1 -3
  86. package/build/embed/embed-placeholder.native.js.map +1 -1
  87. package/build/embed/icons.js +1 -1
  88. package/build/embed/icons.js.map +1 -1
  89. package/build/gallery/deprecated.js +6 -1
  90. package/build/gallery/deprecated.js.map +1 -1
  91. package/build/gallery/edit.js +17 -4
  92. package/build/gallery/edit.js.map +1 -1
  93. package/build/gallery/index.js +5 -0
  94. package/build/gallery/index.js.map +1 -1
  95. package/build/gallery/transforms.js +20 -7
  96. package/build/gallery/transforms.js.map +1 -1
  97. package/build/gallery/use-get-media.native.js +59 -0
  98. package/build/gallery/use-get-media.native.js.map +1 -0
  99. package/build/gallery/utils.js +7 -6
  100. package/build/gallery/utils.js.map +1 -1
  101. package/build/group/deprecated.js +108 -12
  102. package/build/group/deprecated.js.map +1 -1
  103. package/build/group/edit.js +23 -1
  104. package/build/group/edit.js.map +1 -1
  105. package/build/group/index.js +11 -2
  106. package/build/group/index.js.map +1 -1
  107. package/build/group/transforms.js +5 -0
  108. package/build/group/transforms.js.map +1 -1
  109. package/build/group/variations.js +9 -9
  110. package/build/group/variations.js.map +1 -1
  111. package/build/heading/deprecated.js +5 -3
  112. package/build/heading/deprecated.js.map +1 -1
  113. package/build/heading/index.js +3 -1
  114. package/build/heading/index.js.map +1 -1
  115. package/build/heading/transforms.js +3 -1
  116. package/build/heading/transforms.js.map +1 -1
  117. package/build/home-link/edit.js +8 -4
  118. package/build/home-link/edit.js.map +1 -1
  119. package/build/image/deprecated.js +77 -9
  120. package/build/image/deprecated.js.map +1 -1
  121. package/build/image/edit.js +16 -2
  122. package/build/image/edit.js.map +1 -1
  123. package/build/image/edit.native.js +18 -8
  124. package/build/image/edit.native.js.map +1 -1
  125. package/build/image/image.js +27 -20
  126. package/build/image/image.js.map +1 -1
  127. package/build/image/index.js +20 -8
  128. package/build/image/index.js.map +1 -1
  129. package/build/image/save.js +8 -2
  130. package/build/image/save.js.map +1 -1
  131. package/build/index.js +1 -3
  132. package/build/index.js.map +1 -1
  133. package/build/index.native.js +16 -10
  134. package/build/index.native.js.map +1 -1
  135. package/build/list/index.js +6 -0
  136. package/build/list/index.js.map +1 -1
  137. package/build/list/transforms.js +4 -63
  138. package/build/list/transforms.js.map +1 -1
  139. package/build/list/v2/edit.js +16 -5
  140. package/build/list/v2/edit.js.map +1 -1
  141. package/build/list/v2/tag-name.js +31 -0
  142. package/build/list/v2/tag-name.js.map +1 -0
  143. package/build/list/v2/tag-name.native.js +32 -0
  144. package/build/list/v2/tag-name.native.js.map +1 -0
  145. package/build/list/v2/transforms.js +1 -38
  146. package/build/list/v2/transforms.js.map +1 -1
  147. package/build/list-item/edit.js +18 -10
  148. package/build/list-item/edit.js.map +1 -1
  149. package/build/list-item/edit.native.js +158 -0
  150. package/build/list-item/edit.native.js.map +1 -0
  151. package/build/list-item/hooks/index.js +12 -4
  152. package/build/list-item/hooks/index.js.map +1 -1
  153. package/build/list-item/hooks/use-copy.js +42 -0
  154. package/build/list-item/hooks/use-copy.js.map +1 -0
  155. package/build/list-item/hooks/use-merge.js +174 -0
  156. package/build/list-item/hooks/use-merge.js.map +1 -0
  157. package/build/list-item/hooks/use-outdent-list-item.js +86 -50
  158. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  159. package/build/list-item/icons.native.js +53 -0
  160. package/build/list-item/icons.native.js.map +1 -0
  161. package/build/list-item/list-style-type.native.js +139 -0
  162. package/build/list-item/list-style-type.native.js.map +1 -0
  163. package/build/list-item/utils.js +125 -1
  164. package/build/list-item/utils.js.map +1 -1
  165. package/build/media-text/deprecated.js +270 -17
  166. package/build/media-text/deprecated.js.map +1 -1
  167. package/build/media-text/edit.js +4 -3
  168. package/build/media-text/edit.js.map +1 -1
  169. package/build/media-text/index.js +13 -0
  170. package/build/media-text/index.js.map +1 -1
  171. package/build/media-text/media-container.js +1 -1
  172. package/build/media-text/media-container.js.map +1 -1
  173. package/build/media-text/save.js +13 -0
  174. package/build/media-text/save.js.map +1 -1
  175. package/build/more/save.js +1 -7
  176. package/build/more/save.js.map +1 -1
  177. package/build/navigation/deprecated.js +6 -1
  178. package/build/navigation/deprecated.js.map +1 -1
  179. package/build/navigation/edit/index.js +180 -154
  180. package/build/navigation/edit/index.js.map +1 -1
  181. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  182. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  183. package/build/navigation/edit/placeholder/index.js +4 -2
  184. package/build/navigation/edit/placeholder/index.js.map +1 -1
  185. package/build/navigation/edit/responsive-wrapper.js +13 -3
  186. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  187. package/build/navigation/edit/unsaved-inner-blocks.js +2 -1
  188. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  189. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  190. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  191. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  192. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  193. package/build/navigation/edit/use-inner-blocks.js +43 -0
  194. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  195. package/build/navigation/edit/utils.js +28 -0
  196. package/build/navigation/edit/utils.js.map +1 -0
  197. package/build/navigation/menu-items-to-blocks.js +1 -7
  198. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  199. package/build/navigation/use-navigation-menu.js +15 -10
  200. package/build/navigation/use-navigation-menu.js.map +1 -1
  201. package/build/navigation-link/edit.js +11 -12
  202. package/build/navigation-link/edit.js.map +1 -1
  203. package/build/navigation-submenu/edit.js +6 -7
  204. package/build/navigation-submenu/edit.js.map +1 -1
  205. package/build/page-list/edit.js +15 -4
  206. package/build/page-list/edit.js.map +1 -1
  207. package/build/paragraph/deprecated.js +18 -10
  208. package/build/paragraph/deprecated.js.map +1 -1
  209. package/build/paragraph/edit.js +8 -11
  210. package/build/paragraph/edit.js.map +1 -1
  211. package/build/paragraph/index.js +5 -0
  212. package/build/paragraph/index.js.map +1 -1
  213. package/build/paragraph/transforms.js +5 -0
  214. package/build/paragraph/transforms.js.map +1 -1
  215. package/build/post-author/edit.js +5 -2
  216. package/build/post-author/edit.js.map +1 -1
  217. package/build/post-author/index.js +4 -2
  218. package/build/post-author/index.js.map +1 -1
  219. package/build/post-author-biography/edit.js +7 -1
  220. package/build/post-author-biography/edit.js.map +1 -1
  221. package/build/post-author-biography/index.js +1 -0
  222. package/build/post-author-biography/index.js.map +1 -1
  223. package/build/post-author-name/index.js +5 -1
  224. package/build/post-author-name/index.js.map +1 -1
  225. package/build/post-comments-count/edit.js +11 -1
  226. package/build/post-comments-count/edit.js.map +1 -1
  227. package/build/post-comments-count/index.js +4 -1
  228. package/build/post-comments-count/index.js.map +1 -1
  229. package/build/post-comments-form/edit.js +4 -45
  230. package/build/post-comments-form/edit.js.map +1 -1
  231. package/build/post-comments-form/form.js +47 -3
  232. package/build/post-comments-form/form.js.map +1 -1
  233. package/build/post-comments-link/index.js +4 -2
  234. package/build/post-comments-link/index.js.map +1 -1
  235. package/build/post-content/edit.js +4 -2
  236. package/build/post-content/edit.js.map +1 -1
  237. package/build/post-date/edit.js +9 -2
  238. package/build/post-date/edit.js.map +1 -1
  239. package/build/post-date/index.js +9 -0
  240. package/build/post-date/index.js.map +1 -1
  241. package/build/post-featured-image/edit.js +43 -14
  242. package/build/post-featured-image/edit.js.map +1 -1
  243. package/build/post-featured-image/index.js +21 -0
  244. package/build/post-featured-image/index.js.map +1 -1
  245. package/build/post-navigation-link/index.js +3 -2
  246. package/build/post-navigation-link/index.js.map +1 -1
  247. package/build/post-template/edit.js +8 -4
  248. package/build/post-template/edit.js.map +1 -1
  249. package/build/post-template/index.js +14 -1
  250. package/build/post-template/index.js.map +1 -1
  251. package/build/post-terms/edit.js +3 -2
  252. package/build/post-terms/edit.js.map +1 -1
  253. package/build/post-terms/index.js +5 -3
  254. package/build/post-terms/index.js.map +1 -1
  255. package/build/post-title/index.js +2 -1
  256. package/build/post-title/index.js.map +1 -1
  257. package/build/preformatted/index.js +4 -2
  258. package/build/preformatted/index.js.map +1 -1
  259. package/build/pullquote/deprecated.js +135 -25
  260. package/build/pullquote/deprecated.js.map +1 -1
  261. package/build/pullquote/edit.js +1 -1
  262. package/build/pullquote/edit.js.map +1 -1
  263. package/build/pullquote/edit.native.js +0 -1
  264. package/build/pullquote/edit.native.js.map +1 -1
  265. package/build/pullquote/index.js +13 -6
  266. package/build/pullquote/index.js.map +1 -1
  267. package/build/pullquote/save.js +2 -2
  268. package/build/pullquote/save.js.map +1 -1
  269. package/build/pullquote/transforms.js +14 -33
  270. package/build/pullquote/transforms.js.map +1 -1
  271. package/build/query/deprecated.js +10 -9
  272. package/build/query/deprecated.js.map +1 -1
  273. package/build/query/edit/index.js +19 -8
  274. package/build/query/edit/index.js.map +1 -1
  275. package/build/query/edit/inspector-controls/index.js +42 -9
  276. package/build/query/edit/inspector-controls/index.js.map +1 -1
  277. package/build/query/edit/inspector-controls/taxonomy-controls.js +22 -14
  278. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  279. package/build/query/edit/query-placeholder.js +6 -1
  280. package/build/query/edit/query-placeholder.js.map +1 -1
  281. package/build/query/utils.js +35 -9
  282. package/build/query/utils.js.map +1 -1
  283. package/build/query-no-results/edit.js +2 -2
  284. package/build/query-no-results/edit.js.map +1 -1
  285. package/build/query-pagination-next/edit.js +2 -1
  286. package/build/query-pagination-next/edit.js.map +1 -1
  287. package/build/query-pagination-previous/edit.js +2 -1
  288. package/build/query-pagination-previous/edit.js.map +1 -1
  289. package/build/query-title/edit.js +30 -8
  290. package/build/query-title/edit.js.map +1 -1
  291. package/build/query-title/index.js +11 -2
  292. package/build/query-title/index.js.map +1 -1
  293. package/build/query-title/variations.js +10 -0
  294. package/build/query-title/variations.js.map +1 -1
  295. package/build/quote/deprecated.js +176 -37
  296. package/build/quote/deprecated.js.map +1 -1
  297. package/build/quote/edit.js +76 -39
  298. package/build/quote/edit.js.map +1 -1
  299. package/build/quote/index.js +9 -45
  300. package/build/quote/index.js.map +1 -1
  301. package/build/quote/save.js +1 -5
  302. package/build/quote/save.js.map +1 -1
  303. package/build/quote/transforms.js +96 -159
  304. package/build/quote/transforms.js.map +1 -1
  305. package/build/separator/deprecated.js +3 -4
  306. package/build/separator/deprecated.js.map +1 -1
  307. package/build/separator/edit.js +1 -1
  308. package/build/separator/edit.js.map +1 -1
  309. package/build/separator/index.js +1 -0
  310. package/build/separator/index.js.map +1 -1
  311. package/build/social-link/icons/index.js +13 -0
  312. package/build/social-link/icons/index.js.map +1 -1
  313. package/build/social-link/icons/reddit.js +1 -1
  314. package/build/social-link/icons/reddit.js.map +1 -1
  315. package/build/social-link/icons/whatsapp.js +25 -0
  316. package/build/social-link/icons/whatsapp.js.map +1 -0
  317. package/build/social-link/variations.js +7 -0
  318. package/build/social-link/variations.js.map +1 -1
  319. package/build/social-links/edit.js +3 -1
  320. package/build/social-links/edit.js.map +1 -1
  321. package/build/spacer/index.js +7 -1
  322. package/build/spacer/index.js.map +1 -1
  323. package/build/table/index.js +4 -0
  324. package/build/table/index.js.map +1 -1
  325. package/build/table/state.js +9 -3
  326. package/build/table/state.js.map +1 -1
  327. package/build/table-of-contents/index.js +11 -1
  328. package/build/table-of-contents/index.js.map +1 -1
  329. package/build/tag-cloud/index.js +5 -1
  330. package/build/tag-cloud/index.js.map +1 -1
  331. package/build/template-part/edit/index.js +21 -10
  332. package/build/template-part/edit/index.js.map +1 -1
  333. package/build/template-part/edit/selection-modal.js +33 -13
  334. package/build/template-part/edit/selection-modal.js.map +1 -1
  335. package/build/template-part/edit/utils/search.js +94 -0
  336. package/build/template-part/edit/utils/search.js.map +1 -0
  337. package/build/template-part/index.js +2 -2
  338. package/build/template-part/index.js.map +1 -1
  339. package/build/term-description/index.js +4 -0
  340. package/build/term-description/index.js.map +1 -1
  341. package/build/text-columns/edit.js +3 -1
  342. package/build/text-columns/edit.js.map +1 -1
  343. package/build/text-columns/save.js +3 -1
  344. package/build/text-columns/save.js.map +1 -1
  345. package/build/verse/index.js +1 -0
  346. package/build/verse/index.js.map +1 -1
  347. package/build/video/index.js +4 -0
  348. package/build/video/index.js.map +1 -1
  349. package/build-module/archives/edit.js +7 -0
  350. package/build-module/archives/edit.js.map +1 -1
  351. package/build-module/archives/index.js +9 -1
  352. package/build-module/archives/index.js.map +1 -1
  353. package/build-module/audio/index.js +4 -0
  354. package/build-module/audio/index.js.map +1 -1
  355. package/build-module/block/edit.js +5 -3
  356. package/build-module/block/edit.js.map +1 -1
  357. package/build-module/block/edit.native.js +5 -3
  358. package/build-module/block/edit.native.js.map +1 -1
  359. package/build-module/button/deprecated.js +14 -4
  360. package/build-module/button/deprecated.js.map +1 -1
  361. package/build-module/button/edit.js +2 -1
  362. package/build-module/button/edit.js.map +1 -1
  363. package/build-module/button/index.js +1 -1
  364. package/build-module/buttons/edit.js +2 -2
  365. package/build-module/buttons/edit.js.map +1 -1
  366. package/build-module/calendar/edit.js +12 -4
  367. package/build-module/calendar/edit.js.map +1 -1
  368. package/build-module/categories/edit.js +4 -2
  369. package/build-module/categories/edit.js.map +1 -1
  370. package/build-module/categories/index.js +14 -1
  371. package/build-module/categories/index.js.map +1 -1
  372. package/build-module/code/index.js +4 -2
  373. package/build-module/code/index.js.map +1 -1
  374. package/build-module/column/index.js +13 -0
  375. package/build-module/column/index.js.map +1 -1
  376. package/build-module/columns/deprecated.js +16 -4
  377. package/build-module/columns/deprecated.js.map +1 -1
  378. package/build-module/columns/edit.js +7 -3
  379. package/build-module/columns/edit.js.map +1 -1
  380. package/build-module/columns/edit.native.js +10 -5
  381. package/build-module/columns/edit.native.js.map +1 -1
  382. package/build-module/columns/index.js +13 -0
  383. package/build-module/columns/index.js.map +1 -1
  384. package/build-module/comment-author-name/index.js +5 -1
  385. package/build-module/comment-author-name/index.js.map +1 -1
  386. package/build-module/comment-content/index.js +5 -1
  387. package/build-module/comment-content/index.js.map +1 -1
  388. package/build-module/comment-date/index.js +1 -0
  389. package/build-module/comment-date/index.js.map +1 -1
  390. package/build-module/comment-edit-link/index.js +5 -1
  391. package/build-module/comment-edit-link/index.js.map +1 -1
  392. package/build-module/comment-reply-link/index.js +5 -1
  393. package/build-module/comment-reply-link/index.js.map +1 -1
  394. package/build-module/comment-template/index.js +14 -1
  395. package/build-module/comment-template/index.js.map +1 -1
  396. package/build-module/comments/edit/comments-legacy.js +59 -0
  397. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  398. package/build-module/comments/edit/index.js +37 -0
  399. package/build-module/comments/edit/index.js.map +1 -0
  400. package/build-module/comments/edit/placeholder.js +102 -0
  401. package/build-module/comments/edit/placeholder.js.map +1 -0
  402. package/build-module/comments/edit/template.js +32 -0
  403. package/build-module/comments/edit/template.js.map +1 -0
  404. package/build-module/comments/index.js +19 -1
  405. package/build-module/comments/index.js.map +1 -1
  406. package/build-module/comments/save.js +9 -4
  407. package/build-module/comments/save.js.map +1 -1
  408. package/build-module/comments-pagination/index.js +13 -0
  409. package/build-module/comments-pagination/index.js.map +1 -1
  410. package/build-module/comments-pagination-next/index.js +4 -2
  411. package/build-module/comments-pagination-next/index.js.map +1 -1
  412. package/build-module/comments-pagination-numbers/edit.js +5 -1
  413. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  414. package/build-module/comments-pagination-numbers/index.js +14 -1
  415. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  416. package/build-module/comments-pagination-previous/index.js +4 -2
  417. package/build-module/comments-pagination-previous/index.js.map +1 -1
  418. package/build-module/comments-title/deprecated.js +4 -2
  419. package/build-module/comments-title/deprecated.js.map +1 -1
  420. package/build-module/comments-title/index.js +4 -2
  421. package/build-module/comments-title/index.js.map +1 -1
  422. package/build-module/cover/deprecated.js +20 -4
  423. package/build-module/cover/deprecated.js.map +1 -1
  424. package/build-module/cover/edit/resizable-cover.js +6 -0
  425. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  426. package/build-module/cover/index.js +13 -0
  427. package/build-module/cover/index.js.map +1 -1
  428. package/build-module/cover/shared.js +1 -1
  429. package/build-module/cover/shared.js.map +1 -1
  430. package/build-module/cover/transforms.js +3 -2
  431. package/build-module/cover/transforms.js.map +1 -1
  432. package/build-module/embed/embed-placeholder.native.js +1 -2
  433. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  434. package/build-module/embed/icons.js +1 -1
  435. package/build-module/embed/icons.js.map +1 -1
  436. package/build-module/gallery/deprecated.js +7 -2
  437. package/build-module/gallery/deprecated.js.map +1 -1
  438. package/build-module/gallery/edit.js +17 -4
  439. package/build-module/gallery/edit.js.map +1 -1
  440. package/build-module/gallery/index.js +5 -0
  441. package/build-module/gallery/index.js.map +1 -1
  442. package/build-module/gallery/transforms.js +20 -7
  443. package/build-module/gallery/transforms.js.map +1 -1
  444. package/build-module/gallery/use-get-media.native.js +50 -0
  445. package/build-module/gallery/use-get-media.native.js.map +1 -0
  446. package/build-module/gallery/utils.js +7 -6
  447. package/build-module/gallery/utils.js.map +1 -1
  448. package/build-module/group/deprecated.js +109 -12
  449. package/build-module/group/deprecated.js.map +1 -1
  450. package/build-module/group/edit.js +25 -2
  451. package/build-module/group/edit.js.map +1 -1
  452. package/build-module/group/index.js +11 -2
  453. package/build-module/group/index.js.map +1 -1
  454. package/build-module/group/transforms.js +5 -0
  455. package/build-module/group/transforms.js.map +1 -1
  456. package/build-module/group/variations.js +10 -10
  457. package/build-module/group/variations.js.map +1 -1
  458. package/build-module/heading/deprecated.js +5 -2
  459. package/build-module/heading/deprecated.js.map +1 -1
  460. package/build-module/heading/index.js +3 -1
  461. package/build-module/heading/index.js.map +1 -1
  462. package/build-module/heading/transforms.js +3 -1
  463. package/build-module/heading/transforms.js.map +1 -1
  464. package/build-module/home-link/edit.js +10 -6
  465. package/build-module/home-link/edit.js.map +1 -1
  466. package/build-module/image/deprecated.js +77 -9
  467. package/build-module/image/deprecated.js.map +1 -1
  468. package/build-module/image/edit.js +19 -5
  469. package/build-module/image/edit.js.map +1 -1
  470. package/build-module/image/edit.native.js +18 -8
  471. package/build-module/image/edit.native.js.map +1 -1
  472. package/build-module/image/image.js +29 -22
  473. package/build-module/image/image.js.map +1 -1
  474. package/build-module/image/index.js +20 -8
  475. package/build-module/image/index.js.map +1 -1
  476. package/build-module/image/save.js +9 -3
  477. package/build-module/image/save.js.map +1 -1
  478. package/build-module/index.js +1 -2
  479. package/build-module/index.js.map +1 -1
  480. package/build-module/index.native.js +15 -9
  481. package/build-module/index.native.js.map +1 -1
  482. package/build-module/list/index.js +1 -1
  483. package/build-module/list/index.js.map +1 -1
  484. package/build-module/list/transforms.js +4 -63
  485. package/build-module/list/transforms.js.map +1 -1
  486. package/build-module/list/v2/edit.js +15 -5
  487. package/build-module/list/v2/edit.js.map +1 -1
  488. package/build-module/list/v2/tag-name.js +21 -0
  489. package/build-module/list/v2/tag-name.js.map +1 -0
  490. package/build-module/list/v2/tag-name.native.js +21 -0
  491. package/build-module/list/v2/tag-name.native.js.map +1 -0
  492. package/build-module/list/v2/transforms.js +3 -39
  493. package/build-module/list/v2/transforms.js.map +1 -1
  494. package/build-module/list-item/edit.js +18 -14
  495. package/build-module/list-item/edit.js.map +1 -1
  496. package/build-module/list-item/edit.native.js +141 -0
  497. package/build-module/list-item/edit.native.js.map +1 -0
  498. package/build-module/list-item/hooks/index.js +2 -1
  499. package/build-module/list-item/hooks/index.js.map +1 -1
  500. package/build-module/list-item/hooks/use-copy.js +32 -0
  501. package/build-module/list-item/hooks/use-copy.js.map +1 -0
  502. package/build-module/list-item/hooks/use-merge.js +160 -0
  503. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  504. package/build-module/list-item/hooks/use-outdent-list-item.js +82 -46
  505. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  506. package/build-module/list-item/icons.native.js +37 -0
  507. package/build-module/list-item/icons.native.js.map +1 -0
  508. package/build-module/list-item/list-style-type.native.js +126 -0
  509. package/build-module/list-item/list-style-type.native.js.map +1 -0
  510. package/build-module/list-item/utils.js +123 -2
  511. package/build-module/list-item/utils.js.map +1 -1
  512. package/build-module/media-text/deprecated.js +273 -19
  513. package/build-module/media-text/deprecated.js.map +1 -1
  514. package/build-module/media-text/edit.js +4 -3
  515. package/build-module/media-text/edit.js.map +1 -1
  516. package/build-module/media-text/index.js +13 -0
  517. package/build-module/media-text/index.js.map +1 -1
  518. package/build-module/media-text/media-container.js +1 -1
  519. package/build-module/media-text/media-container.js.map +1 -1
  520. package/build-module/media-text/save.js +13 -0
  521. package/build-module/media-text/save.js.map +1 -1
  522. package/build-module/more/save.js +1 -6
  523. package/build-module/more/save.js.map +1 -1
  524. package/build-module/navigation/deprecated.js +7 -2
  525. package/build-module/navigation/deprecated.js.map +1 -1
  526. package/build-module/navigation/edit/index.js +178 -154
  527. package/build-module/navigation/edit/index.js.map +1 -1
  528. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  529. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  530. package/build-module/navigation/edit/placeholder/index.js +4 -2
  531. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  532. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  533. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  534. package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -1
  535. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  536. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  537. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  538. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  539. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  540. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  541. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  542. package/build-module/navigation/edit/utils.js +21 -0
  543. package/build-module/navigation/edit/utils.js.map +1 -0
  544. package/build-module/navigation/menu-items-to-blocks.js +1 -6
  545. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  546. package/build-module/navigation/use-navigation-menu.js +15 -10
  547. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  548. package/build-module/navigation-link/edit.js +12 -13
  549. package/build-module/navigation-link/edit.js.map +1 -1
  550. package/build-module/navigation-submenu/edit.js +7 -8
  551. package/build-module/navigation-submenu/edit.js.map +1 -1
  552. package/build-module/page-list/edit.js +15 -3
  553. package/build-module/page-list/edit.js.map +1 -1
  554. package/build-module/paragraph/deprecated.js +18 -9
  555. package/build-module/paragraph/deprecated.js.map +1 -1
  556. package/build-module/paragraph/edit.js +9 -12
  557. package/build-module/paragraph/edit.js.map +1 -1
  558. package/build-module/paragraph/index.js +5 -0
  559. package/build-module/paragraph/index.js.map +1 -1
  560. package/build-module/paragraph/transforms.js +5 -0
  561. package/build-module/paragraph/transforms.js.map +1 -1
  562. package/build-module/post-author/edit.js +5 -2
  563. package/build-module/post-author/edit.js.map +1 -1
  564. package/build-module/post-author/index.js +4 -2
  565. package/build-module/post-author/index.js.map +1 -1
  566. package/build-module/post-author-biography/edit.js +6 -1
  567. package/build-module/post-author-biography/edit.js.map +1 -1
  568. package/build-module/post-author-biography/index.js +1 -0
  569. package/build-module/post-author-biography/index.js.map +1 -1
  570. package/build-module/post-author-name/index.js +5 -1
  571. package/build-module/post-author-name/index.js.map +1 -1
  572. package/build-module/post-comments-count/edit.js +10 -1
  573. package/build-module/post-comments-count/edit.js.map +1 -1
  574. package/build-module/post-comments-count/index.js +4 -1
  575. package/build-module/post-comments-count/index.js.map +1 -1
  576. package/build-module/post-comments-form/edit.js +5 -42
  577. package/build-module/post-comments-form/edit.js.map +1 -1
  578. package/build-module/post-comments-form/form.js +46 -5
  579. package/build-module/post-comments-form/form.js.map +1 -1
  580. package/build-module/post-comments-link/index.js +4 -2
  581. package/build-module/post-comments-link/index.js.map +1 -1
  582. package/build-module/post-content/edit.js +5 -3
  583. package/build-module/post-content/edit.js.map +1 -1
  584. package/build-module/post-date/edit.js +9 -2
  585. package/build-module/post-date/edit.js.map +1 -1
  586. package/build-module/post-date/index.js +9 -0
  587. package/build-module/post-date/index.js.map +1 -1
  588. package/build-module/post-featured-image/edit.js +45 -16
  589. package/build-module/post-featured-image/edit.js.map +1 -1
  590. package/build-module/post-featured-image/index.js +21 -0
  591. package/build-module/post-featured-image/index.js.map +1 -1
  592. package/build-module/post-navigation-link/index.js +3 -2
  593. package/build-module/post-navigation-link/index.js.map +1 -1
  594. package/build-module/post-template/edit.js +8 -4
  595. package/build-module/post-template/edit.js.map +1 -1
  596. package/build-module/post-template/index.js +14 -1
  597. package/build-module/post-template/index.js.map +1 -1
  598. package/build-module/post-terms/edit.js +3 -2
  599. package/build-module/post-terms/edit.js.map +1 -1
  600. package/build-module/post-terms/index.js +5 -3
  601. package/build-module/post-terms/index.js.map +1 -1
  602. package/build-module/post-title/index.js +2 -1
  603. package/build-module/post-title/index.js.map +1 -1
  604. package/build-module/preformatted/index.js +4 -2
  605. package/build-module/preformatted/index.js.map +1 -1
  606. package/build-module/pullquote/deprecated.js +134 -25
  607. package/build-module/pullquote/deprecated.js.map +1 -1
  608. package/build-module/pullquote/edit.js +1 -1
  609. package/build-module/pullquote/edit.js.map +1 -1
  610. package/build-module/pullquote/edit.native.js +0 -1
  611. package/build-module/pullquote/edit.native.js.map +1 -1
  612. package/build-module/pullquote/index.js +13 -6
  613. package/build-module/pullquote/index.js.map +1 -1
  614. package/build-module/pullquote/save.js +2 -2
  615. package/build-module/pullquote/save.js.map +1 -1
  616. package/build-module/pullquote/transforms.js +15 -34
  617. package/build-module/pullquote/transforms.js.map +1 -1
  618. package/build-module/query/deprecated.js +10 -8
  619. package/build-module/query/deprecated.js.map +1 -1
  620. package/build-module/query/edit/index.js +23 -12
  621. package/build-module/query/edit/index.js.map +1 -1
  622. package/build-module/query/edit/inspector-controls/index.js +42 -9
  623. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  624. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +17 -12
  625. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  626. package/build-module/query/edit/query-placeholder.js +6 -1
  627. package/build-module/query/edit/query-placeholder.js.map +1 -1
  628. package/build-module/query/utils.js +32 -7
  629. package/build-module/query/utils.js.map +1 -1
  630. package/build-module/query-no-results/edit.js +3 -3
  631. package/build-module/query-no-results/edit.js.map +1 -1
  632. package/build-module/query-pagination-next/edit.js +2 -1
  633. package/build-module/query-pagination-next/edit.js.map +1 -1
  634. package/build-module/query-pagination-previous/edit.js +2 -1
  635. package/build-module/query-pagination-previous/edit.js.map +1 -1
  636. package/build-module/query-title/edit.js +30 -9
  637. package/build-module/query-title/edit.js.map +1 -1
  638. package/build-module/query-title/index.js +11 -2
  639. package/build-module/query-title/index.js.map +1 -1
  640. package/build-module/query-title/variations.js +10 -0
  641. package/build-module/query-title/variations.js.map +1 -1
  642. package/build-module/quote/deprecated.js +171 -37
  643. package/build-module/quote/deprecated.js.map +1 -1
  644. package/build-module/quote/edit.js +77 -43
  645. package/build-module/quote/edit.js.map +1 -1
  646. package/build-module/quote/index.js +9 -39
  647. package/build-module/quote/index.js.map +1 -1
  648. package/build-module/quote/save.js +4 -8
  649. package/build-module/quote/save.js.map +1 -1
  650. package/build-module/quote/transforms.js +96 -158
  651. package/build-module/quote/transforms.js.map +1 -1
  652. package/build-module/separator/deprecated.js +3 -3
  653. package/build-module/separator/deprecated.js.map +1 -1
  654. package/build-module/separator/edit.js +1 -1
  655. package/build-module/separator/edit.js.map +1 -1
  656. package/build-module/separator/index.js +1 -0
  657. package/build-module/separator/index.js.map +1 -1
  658. package/build-module/social-link/icons/index.js +1 -0
  659. package/build-module/social-link/icons/index.js.map +1 -1
  660. package/build-module/social-link/icons/reddit.js +1 -1
  661. package/build-module/social-link/icons/reddit.js.map +1 -1
  662. package/build-module/social-link/icons/whatsapp.js +15 -0
  663. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  664. package/build-module/social-link/variations.js +8 -1
  665. package/build-module/social-link/variations.js.map +1 -1
  666. package/build-module/social-links/edit.js +3 -1
  667. package/build-module/social-links/edit.js.map +1 -1
  668. package/build-module/spacer/index.js +7 -1
  669. package/build-module/spacer/index.js.map +1 -1
  670. package/build-module/table/index.js +4 -0
  671. package/build-module/table/index.js.map +1 -1
  672. package/build-module/table/state.js +10 -4
  673. package/build-module/table/state.js.map +1 -1
  674. package/build-module/table-of-contents/index.js +11 -1
  675. package/build-module/table-of-contents/index.js.map +1 -1
  676. package/build-module/tag-cloud/index.js +5 -1
  677. package/build-module/tag-cloud/index.js.map +1 -1
  678. package/build-module/template-part/edit/index.js +24 -13
  679. package/build-module/template-part/edit/index.js.map +1 -1
  680. package/build-module/template-part/edit/selection-modal.js +33 -15
  681. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  682. package/build-module/template-part/edit/utils/search.js +84 -0
  683. package/build-module/template-part/edit/utils/search.js.map +1 -0
  684. package/build-module/template-part/index.js +2 -2
  685. package/build-module/template-part/index.js.map +1 -1
  686. package/build-module/term-description/index.js +4 -0
  687. package/build-module/term-description/index.js.map +1 -1
  688. package/build-module/text-columns/edit.js +4 -2
  689. package/build-module/text-columns/edit.js.map +1 -1
  690. package/build-module/text-columns/save.js +4 -2
  691. package/build-module/text-columns/save.js.map +1 -1
  692. package/build-module/verse/index.js +1 -0
  693. package/build-module/verse/index.js.map +1 -1
  694. package/build-module/video/index.js +4 -0
  695. package/build-module/video/index.js.map +1 -1
  696. package/build-style/audio/style-rtl.css +3 -0
  697. package/build-style/audio/style.css +3 -0
  698. package/build-style/button/style-rtl.css +7 -7
  699. package/build-style/button/style.css +7 -7
  700. package/build-style/comments/editor-rtl.css +122 -0
  701. package/build-style/comments/editor.css +122 -0
  702. package/build-style/{post-comments → comments}/style-rtl.css +1 -0
  703. package/build-style/{post-comments → comments}/style.css +1 -0
  704. package/build-style/common-rtl.css +7 -0
  705. package/build-style/common.css +7 -0
  706. package/build-style/cover/style-rtl.css +2 -2
  707. package/build-style/cover/style.css +2 -2
  708. package/build-style/editor-elements-rtl.css +85 -0
  709. package/build-style/editor-elements.css +85 -0
  710. package/build-style/editor-rtl.css +266 -132
  711. package/build-style/editor.css +266 -132
  712. package/build-style/gallery/style-rtl.css +7 -2
  713. package/build-style/gallery/style.css +7 -2
  714. package/build-style/group/editor-rtl.css +27 -8
  715. package/build-style/group/editor.css +27 -8
  716. package/build-style/image/editor-rtl.css +25 -5
  717. package/build-style/image/editor.css +25 -5
  718. package/build-style/image/style-rtl.css +33 -3
  719. package/build-style/image/style.css +33 -3
  720. package/build-style/latest-posts/editor-rtl.css +3 -0
  721. package/build-style/latest-posts/editor.css +3 -0
  722. package/build-style/navigation/editor-rtl.css +8 -4
  723. package/build-style/navigation/editor.css +8 -4
  724. package/build-style/navigation/style-rtl.css +17 -19
  725. package/build-style/navigation/style.css +17 -19
  726. package/build-style/paragraph/editor-rtl.css +1 -1
  727. package/build-style/paragraph/editor.css +1 -1
  728. package/build-style/post-comments-form/style-rtl.css +0 -1
  729. package/build-style/post-comments-form/style.css +0 -1
  730. package/build-style/{post-comments/editor-rtl.css → post-date/style-rtl.css} +2 -2
  731. package/build-style/{post-comments/editor.css → post-date/style.css} +2 -2
  732. package/build-style/post-featured-image/editor-rtl.css +45 -43
  733. package/build-style/post-featured-image/editor.css +45 -43
  734. package/build-style/post-featured-image/style-rtl.css +1 -0
  735. package/build-style/post-featured-image/style.css +1 -0
  736. package/build-style/post-title/style-rtl.css +1 -0
  737. package/build-style/post-title/style.css +1 -0
  738. package/build-style/pullquote/editor-rtl.css +0 -12
  739. package/build-style/pullquote/editor.css +0 -12
  740. package/build-style/pullquote/style-rtl.css +1 -8
  741. package/build-style/pullquote/style.css +1 -8
  742. package/build-style/query/editor-rtl.css +7 -0
  743. package/build-style/query/editor.css +7 -0
  744. package/build-style/query-pagination/style-rtl.css +6 -0
  745. package/build-style/query-pagination/style.css +6 -0
  746. package/build-style/query-title/style-rtl.css +79 -0
  747. package/build-style/query-title/style.css +79 -0
  748. package/build-style/search/style-rtl.css +2 -0
  749. package/build-style/search/style.css +2 -0
  750. package/build-style/site-logo/editor-rtl.css +3 -52
  751. package/build-style/site-logo/editor.css +3 -52
  752. package/build-style/social-link/editor-rtl.css +1 -0
  753. package/build-style/social-link/editor.css +1 -0
  754. package/build-style/social-links/style-rtl.css +10 -2
  755. package/build-style/social-links/style.css +10 -2
  756. package/build-style/style-rtl.css +221 -162
  757. package/build-style/style.css +221 -162
  758. package/build-style/tag-cloud/style-rtl.css +1 -0
  759. package/build-style/tag-cloud/style.css +1 -0
  760. package/build-style/template-part/editor-rtl.css +14 -3
  761. package/build-style/template-part/editor.css +14 -3
  762. package/build-style/video/style-rtl.css +3 -0
  763. package/build-style/video/style.css +3 -0
  764. package/package.json +30 -30
  765. package/src/archives/block.json +9 -1
  766. package/src/archives/edit.js +12 -1
  767. package/src/archives/index.php +5 -3
  768. package/src/audio/block.json +4 -0
  769. package/src/audio/style.scss +2 -0
  770. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  771. package/src/block/edit.js +4 -4
  772. package/src/block/edit.native.js +4 -4
  773. package/src/button/block.json +1 -1
  774. package/src/button/deprecated.js +21 -22
  775. package/src/button/edit.js +1 -0
  776. package/src/button/style.scss +9 -7
  777. package/src/buttons/edit.js +1 -5
  778. package/src/calendar/edit.js +11 -4
  779. package/src/calendar/index.php +2 -2
  780. package/src/categories/block.json +14 -1
  781. package/src/categories/edit.js +2 -2
  782. package/src/code/block.json +4 -2
  783. package/src/column/block.json +13 -0
  784. package/src/columns/block.json +13 -0
  785. package/src/columns/deprecated.js +10 -4
  786. package/src/columns/edit.js +7 -3
  787. package/src/columns/edit.native.js +11 -5
  788. package/src/comment-author-name/block.json +5 -1
  789. package/src/comment-content/block.json +5 -1
  790. package/src/comment-date/block.json +1 -0
  791. package/src/comment-edit-link/block.json +5 -1
  792. package/src/comment-reply-link/block.json +5 -1
  793. package/src/comment-template/block.json +14 -1
  794. package/src/comments/block.json +19 -1
  795. package/src/comments/edit/comments-legacy.js +71 -0
  796. package/src/comments/edit/index.js +35 -0
  797. package/src/comments/edit/placeholder.js +124 -0
  798. package/src/comments/{edit.js → edit/template.js} +1 -28
  799. package/src/comments/editor.scss +9 -0
  800. package/src/comments/index.php +220 -0
  801. package/src/comments/save.js +8 -7
  802. package/src/{post-comments → comments}/style.scss +7 -0
  803. package/src/comments-pagination/block.json +13 -0
  804. package/src/comments-pagination-next/block.json +4 -2
  805. package/src/comments-pagination-numbers/block.json +14 -1
  806. package/src/comments-pagination-numbers/edit.js +12 -3
  807. package/src/comments-pagination-previous/block.json +4 -2
  808. package/src/comments-title/block.json +4 -2
  809. package/src/common.scss +2 -0
  810. package/src/cover/block.json +13 -0
  811. package/src/cover/deprecated.js +11 -4
  812. package/src/cover/edit/resizable-cover.js +6 -0
  813. package/src/cover/index.php +2 -2
  814. package/src/cover/shared.js +2 -1
  815. package/src/cover/style.scss +2 -2
  816. package/src/cover/transforms.js +2 -2
  817. package/src/editor-elements.scss +10 -0
  818. package/src/editor.scss +2 -1
  819. package/src/embed/embed-placeholder.native.js +2 -3
  820. package/src/embed/icons.js +1 -1
  821. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  822. package/src/gallery/block.json +5 -0
  823. package/src/gallery/deprecated.js +4 -2
  824. package/src/gallery/edit.js +26 -4
  825. package/src/gallery/style.scss +10 -1
  826. package/src/gallery/transforms.js +18 -5
  827. package/src/gallery/use-get-media.native.js +44 -0
  828. package/src/gallery/utils.js +11 -7
  829. package/src/group/block.json +11 -2
  830. package/src/group/deprecated.js +89 -2
  831. package/src/group/edit.js +15 -2
  832. package/src/group/editor.scss +28 -3
  833. package/src/group/transforms.js +7 -0
  834. package/src/group/variations.js +6 -5
  835. package/src/heading/block.json +3 -1
  836. package/src/heading/deprecated.js +4 -2
  837. package/src/home-link/edit.js +19 -20
  838. package/src/home-link/index.php +8 -17
  839. package/src/image/block.json +20 -8
  840. package/src/image/deprecated.js +86 -0
  841. package/src/image/edit.js +25 -2
  842. package/src/image/edit.native.js +18 -7
  843. package/src/image/editor.scss +48 -7
  844. package/src/image/image.js +26 -16
  845. package/src/image/index.php +1 -1
  846. package/src/image/save.js +10 -1
  847. package/src/image/style.scss +39 -3
  848. package/src/image/test/edit.native.js +6 -10
  849. package/src/index.js +0 -2
  850. package/src/index.native.js +26 -17
  851. package/src/latest-posts/editor.scss +5 -0
  852. package/src/list/index.js +1 -1
  853. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  854. package/src/list/test/edit.native.js +511 -7
  855. package/src/list/transforms.js +0 -47
  856. package/src/list/v2/edit.js +12 -4
  857. package/src/list/v2/tag-name.js +13 -0
  858. package/src/list/v2/tag-name.native.js +12 -0
  859. package/src/list/v2/transforms.js +3 -49
  860. package/src/list-item/edit.js +13 -14
  861. package/src/list-item/edit.native.js +148 -0
  862. package/src/list-item/hooks/index.js +2 -1
  863. package/src/list-item/hooks/use-copy.js +36 -0
  864. package/src/list-item/hooks/use-merge.js +141 -0
  865. package/src/list-item/hooks/use-outdent-list-item.js +72 -74
  866. package/src/list-item/icons.native.js +34 -0
  867. package/src/list-item/list-style-type.native.js +146 -0
  868. package/src/list-item/style.native.scss +49 -0
  869. package/src/list-item/utils.js +27 -3
  870. package/src/media-text/block.json +13 -0
  871. package/src/media-text/deprecated.js +584 -290
  872. package/src/media-text/edit.js +3 -1
  873. package/src/media-text/media-container.js +3 -1
  874. package/src/media-text/save.js +18 -0
  875. package/src/media-text/test/media-container.js +24 -0
  876. package/src/more/save.js +3 -6
  877. package/src/navigation/deprecated.js +4 -2
  878. package/src/navigation/edit/index.js +234 -237
  879. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  880. package/src/navigation/edit/placeholder/index.js +4 -2
  881. package/src/navigation/edit/responsive-wrapper.js +24 -3
  882. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  883. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +31 -37
  884. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  885. package/src/navigation/edit/use-inner-blocks.js +39 -0
  886. package/src/navigation/edit/utils.js +30 -0
  887. package/src/navigation/editor.scss +3 -2
  888. package/src/navigation/index.php +17 -16
  889. package/src/navigation/menu-items-to-blocks.js +3 -6
  890. package/src/navigation/style.scss +13 -22
  891. package/src/navigation/use-navigation-menu.js +20 -13
  892. package/src/navigation-link/edit.js +13 -16
  893. package/src/navigation-link/index.php +1 -1
  894. package/src/navigation-submenu/edit.js +10 -13
  895. package/src/navigation-submenu/index.php +1 -1
  896. package/src/page-list/edit.js +15 -2
  897. package/src/page-list/index.php +4 -4
  898. package/src/paragraph/block.json +5 -0
  899. package/src/paragraph/deprecated.js +33 -35
  900. package/src/paragraph/edit.js +9 -14
  901. package/src/paragraph/editor.scss +5 -3
  902. package/src/post-author/block.json +4 -2
  903. package/src/post-author/edit.js +6 -3
  904. package/src/post-author-biography/block.json +1 -0
  905. package/src/post-author-biography/edit.js +4 -1
  906. package/src/post-author-name/block.json +5 -1
  907. package/src/post-comments-count/block.json +4 -1
  908. package/src/post-comments-count/edit.js +10 -2
  909. package/src/post-comments-form/edit.js +2 -71
  910. package/src/post-comments-form/form.js +80 -5
  911. package/src/post-comments-form/index.php +1 -1
  912. package/src/post-comments-form/style.scss +0 -1
  913. package/src/post-comments-link/block.json +4 -2
  914. package/src/post-content/edit.js +4 -4
  915. package/src/post-date/block.json +9 -0
  916. package/src/post-date/edit.js +12 -2
  917. package/src/post-date/index.php +10 -2
  918. package/src/post-date/style.scss +4 -0
  919. package/src/post-featured-image/block.json +21 -0
  920. package/src/post-featured-image/edit.js +66 -14
  921. package/src/post-featured-image/editor.scss +44 -53
  922. package/src/post-featured-image/index.php +64 -5
  923. package/src/post-featured-image/style.scss +1 -0
  924. package/src/post-navigation-link/block.json +3 -2
  925. package/src/post-template/block.json +15 -1
  926. package/src/post-template/edit.js +6 -1
  927. package/src/post-template/index.php +7 -4
  928. package/src/post-terms/block.json +5 -3
  929. package/src/post-terms/edit.js +3 -2
  930. package/src/post-title/block.json +2 -1
  931. package/src/post-title/index.php +2 -1
  932. package/src/post-title/style.scss +2 -0
  933. package/src/preformatted/block.json +4 -2
  934. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  935. package/src/pullquote/block.json +11 -4
  936. package/src/pullquote/deprecated.js +490 -412
  937. package/src/pullquote/edit.js +1 -1
  938. package/src/pullquote/edit.native.js +0 -1
  939. package/src/pullquote/editor.scss +0 -16
  940. package/src/pullquote/index.js +1 -3
  941. package/src/pullquote/save.js +1 -1
  942. package/src/pullquote/style.scss +0 -11
  943. package/src/pullquote/transforms.js +17 -33
  944. package/src/query/deprecated.js +4 -9
  945. package/src/query/edit/index.js +28 -15
  946. package/src/query/edit/inspector-controls/index.js +129 -65
  947. package/src/query/edit/inspector-controls/taxonomy-controls.js +18 -11
  948. package/src/query/edit/query-placeholder.js +17 -2
  949. package/src/query/editor.scss +9 -0
  950. package/src/query/utils.js +29 -7
  951. package/src/query-no-results/edit.js +3 -6
  952. package/src/query-pagination/style.scss +14 -0
  953. package/src/query-pagination-next/edit.js +1 -0
  954. package/src/query-pagination-previous/edit.js +1 -0
  955. package/src/query-title/block.json +11 -2
  956. package/src/query-title/edit.js +51 -7
  957. package/src/query-title/index.php +28 -2
  958. package/src/query-title/style.scss +4 -0
  959. package/src/query-title/variations.js +13 -0
  960. package/src/quote/deprecated.js +215 -100
  961. package/src/quote/edit.js +77 -52
  962. package/src/quote/index.js +10 -33
  963. package/src/quote/save.js +5 -5
  964. package/src/quote/{v2/test → test}/migrate.js +2 -7
  965. package/src/quote/transforms.js +98 -146
  966. package/src/search/index.php +1 -1
  967. package/src/search/style.scss +2 -0
  968. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  969. package/src/separator/block.json +1 -0
  970. package/src/separator/deprecated.js +2 -3
  971. package/src/separator/edit.js +1 -1
  972. package/src/separator/test/edit.js +5 -3
  973. package/src/site-logo/editor.scss +8 -66
  974. package/src/site-title/index.php +8 -9
  975. package/src/social-link/editor.scss +3 -0
  976. package/src/social-link/icons/index.js +1 -0
  977. package/src/social-link/icons/reddit.js +1 -1
  978. package/src/social-link/icons/whatsapp.js +10 -0
  979. package/src/social-link/index.php +6 -2
  980. package/src/social-link/socials-with-bg.scss +6 -1
  981. package/src/social-link/socials-without-bg.scss +6 -1
  982. package/src/social-link/variations.js +7 -0
  983. package/src/social-links/edit.js +2 -0
  984. package/src/spacer/block.json +7 -1
  985. package/src/style.scss +3 -2
  986. package/src/table/block.json +4 -0
  987. package/src/table/state.js +21 -19
  988. package/src/table-of-contents/block.json +11 -1
  989. package/src/tag-cloud/block.json +5 -1
  990. package/src/tag-cloud/style.scss +1 -0
  991. package/src/template-part/edit/index.js +40 -27
  992. package/src/template-part/edit/selection-modal.js +68 -40
  993. package/src/template-part/edit/utils/search.js +76 -0
  994. package/src/template-part/editor.scss +21 -9
  995. package/src/template-part/index.js +3 -2
  996. package/src/template-part/index.php +56 -2
  997. package/src/term-description/block.json +4 -0
  998. package/src/text-columns/edit.js +2 -2
  999. package/src/text-columns/save.js +2 -2
  1000. package/src/verse/block.json +1 -0
  1001. package/src/video/block.json +4 -0
  1002. package/src/video/style.scss +2 -0
  1003. package/build/comments/edit.js.map +0 -1
  1004. package/build/list-item/hooks/use-backspace.js +0 -59
  1005. package/build/list-item/hooks/use-backspace.js.map +0 -1
  1006. package/build/post-comments/edit.js +0 -184
  1007. package/build/post-comments/edit.js.map +0 -1
  1008. package/build/post-comments/index.js +0 -72
  1009. package/build/post-comments/index.js.map +0 -1
  1010. package/build/quote/v2/deprecated.js +0 -133
  1011. package/build/quote/v2/deprecated.js.map +0 -1
  1012. package/build/quote/v2/edit.js +0 -139
  1013. package/build/quote/v2/edit.js.map +0 -1
  1014. package/build/quote/v2/index.js +0 -49
  1015. package/build/quote/v2/index.js.map +0 -1
  1016. package/build/quote/v2/save.js +0 -43
  1017. package/build/quote/v2/save.js.map +0 -1
  1018. package/build/quote/v2/transforms.js +0 -156
  1019. package/build/quote/v2/transforms.js.map +0 -1
  1020. package/build-module/comments/edit.js +0 -59
  1021. package/build-module/comments/edit.js.map +0 -1
  1022. package/build-module/list-item/hooks/use-backspace.js +0 -44
  1023. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  1024. package/build-module/post-comments/edit.js +0 -171
  1025. package/build-module/post-comments/edit.js.map +0 -1
  1026. package/build-module/post-comments/index.js +0 -59
  1027. package/build-module/post-comments/index.js.map +0 -1
  1028. package/build-module/quote/v2/deprecated.js +0 -116
  1029. package/build-module/quote/v2/deprecated.js.map +0 -1
  1030. package/build-module/quote/v2/edit.js +0 -122
  1031. package/build-module/quote/v2/edit.js.map +0 -1
  1032. package/build-module/quote/v2/index.js +0 -33
  1033. package/build-module/quote/v2/index.js.map +0 -1
  1034. package/build-module/quote/v2/save.js +0 -30
  1035. package/build-module/quote/v2/save.js.map +0 -1
  1036. package/build-module/quote/v2/transforms.js +0 -147
  1037. package/build-module/quote/v2/transforms.js.map +0 -1
  1038. package/src/list-item/hooks/use-backspace.js +0 -51
  1039. package/src/post-comments/block.json +0 -45
  1040. package/src/post-comments/edit.js +0 -247
  1041. package/src/post-comments/editor.scss +0 -3
  1042. package/src/post-comments/index.js +0 -18
  1043. package/src/post-comments/index.php +0 -87
  1044. package/src/quote/v2/deprecated.js +0 -107
  1045. package/src/quote/v2/edit.js +0 -139
  1046. package/src/quote/v2/index.js +0 -36
  1047. package/src/quote/v2/save.js +0 -26
  1048. package/src/quote/v2/transforms.js +0 -155
@@ -8,13 +8,14 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { useState, useEffect, useRef, useCallback, Platform } from '@wordpress/element';
12
- import { InspectorControls, BlockControls, useBlockProps, __experimentalUseNoRecursiveRenders as useNoRecursiveRenders, store as blockEditorStore, withColors, PanelColorSettings, ContrastChecker, getColorClassName, Warning, __experimentalUseBlockOverlayActive as useBlockOverlayActive } from '@wordpress/block-editor';
11
+ import { useState, useEffect, useRef, Platform } from '@wordpress/element';
12
+ import { InspectorControls, BlockControls, useBlockProps, __experimentalRecursionProvider as RecursionProvider, __experimentalUseHasRecursion as useHasRecursion, store as blockEditorStore, withColors, PanelColorSettings, ContrastChecker, getColorClassName, Warning, __experimentalUseBlockOverlayActive as useBlockOverlayActive } from '@wordpress/block-editor';
13
13
  import { EntityProvider } from '@wordpress/core-data';
14
- import { useDispatch, useSelect, useRegistry } from '@wordpress/data';
14
+ import { useDispatch } from '@wordpress/data';
15
15
  import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, ToolbarGroup, Button, Spinner } from '@wordpress/components';
16
16
  import { __, sprintf } from '@wordpress/i18n';
17
17
  import { speak } from '@wordpress/a11y';
18
+ import { createBlock } from '@wordpress/blocks';
18
19
  /**
19
20
  * Internal dependencies
20
21
  */
@@ -31,29 +32,9 @@ import NavigationMenuDeleteControl from './navigation-menu-delete-control';
31
32
  import useNavigationNotice from './use-navigation-notice';
32
33
  import OverlayMenuIcon from './overlay-menu-icon';
33
34
  import useConvertClassicToBlockMenu, { CLASSIC_MENU_CONVERSION_ERROR, CLASSIC_MENU_CONVERSION_PENDING, CLASSIC_MENU_CONVERSION_SUCCESS } from './use-convert-classic-menu-to-block-menu';
34
- import useCreateNavigationMenu, { CREATE_NAVIGATION_MENU_ERROR, CREATE_NAVIGATION_MENU_PENDING, CREATE_NAVIGATION_MENU_SUCCESS } from './use-create-navigation-menu';
35
- const EMPTY_ARRAY = [];
36
-
37
- function getComputedStyle(node) {
38
- return node.ownerDocument.defaultView.getComputedStyle(node);
39
- }
40
-
41
- function detectColors(colorsDetectionElement, setColor, setBackground) {
42
- if (!colorsDetectionElement) {
43
- return;
44
- }
45
-
46
- setColor(getComputedStyle(colorsDetectionElement).color);
47
- let backgroundColorNode = colorsDetectionElement;
48
- let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
49
-
50
- while (backgroundColor === 'rgba(0, 0, 0, 0)' && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) {
51
- backgroundColorNode = backgroundColorNode.parentNode;
52
- backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
53
- }
54
-
55
- setBackground(backgroundColor);
56
- }
35
+ import useCreateNavigationMenu from './use-create-navigation-menu';
36
+ import { useInnerBlocks } from './use-inner-blocks';
37
+ import { detectColors } from './utils';
57
38
 
58
39
  function Navigation(_ref) {
59
40
  var _attributes$style, _attributes$style$typ;
@@ -90,7 +71,6 @@ function Navigation(_ref) {
90
71
  hasIcon
91
72
  } = attributes;
92
73
  const ref = attributes.ref;
93
- const registry = useRegistry();
94
74
 
95
75
  const setRef = postId => {
96
76
  setAttributes({
@@ -98,69 +78,53 @@ function Navigation(_ref) {
98
78
  });
99
79
  };
100
80
 
101
- const [hasAlreadyRendered, RecursionProvider] = useNoRecursiveRenders(`navigationMenu/${ref}`); // Preload classic menus, so that they don't suddenly pop-in when viewing
81
+ const recursionId = `navigationMenu/${ref}`;
82
+ const hasAlreadyRendered = useHasRecursion(recursionId); // Preload classic menus, so that they don't suddenly pop-in when viewing
102
83
  // the Select Menu dropdown.
103
84
 
104
85
  useNavigationEntities();
105
- const [showNavigationMenuDeleteNotice] = useNavigationNotice({
106
- name: 'block-library/core/navigation/delete'
86
+ const [showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice] = useNavigationNotice({
87
+ name: 'block-library/core/navigation/status'
107
88
  });
108
- const [showNavigationMenuCreateNotice, hideNavigationMenuCreateNotice] = useNavigationNotice({
109
- name: 'block-library/core/navigation/create'
89
+ const [showClassicMenuConversionNotice, hideClassicMenuConversionNotice] = useNavigationNotice({
90
+ name: 'block-library/core/navigation/classic-menu-conversion'
91
+ });
92
+ const [showNavigationMenuPermissionsNotice, hideNavigationMenuPermissionsNotice] = useNavigationNotice({
93
+ name: 'block-library/core/navigation/permissions/update'
110
94
  });
111
95
  const {
112
96
  create: createNavigationMenu,
113
97
  status: createNavigationMenuStatus,
114
98
  error: createNavigationMenuError,
115
- value: createNavigationMenuPost
99
+ value: createNavigationMenuPost,
100
+ isPending: isCreatingNavigationMenu,
101
+ isSuccess: createNavigationMenuIsSuccess,
102
+ isError: createNavigationMenuIsError
116
103
  } = useCreateNavigationMenu(clientId);
117
- const isCreatingNavigationMenu = createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;
118
104
  useEffect(() => {
119
- hideNavigationMenuCreateNotice();
105
+ hideNavigationMenuStatusNotice();
120
106
 
121
- if (createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING) {
107
+ if (isCreatingNavigationMenu) {
122
108
  speak(__(`Creating Navigation Menu.`));
123
109
  }
124
110
 
125
- if (createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS) {
111
+ if (createNavigationMenuIsSuccess) {
126
112
  setRef(createNavigationMenuPost.id);
127
113
  selectBlock(clientId);
128
- showNavigationMenuCreateNotice(__(`Navigation Menu successfully created.`));
114
+ showNavigationMenuStatusNotice(__(`Navigation Menu successfully created.`));
129
115
  }
130
116
 
131
- if (createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR) {
132
- showNavigationMenuCreateNotice(__('Failed to create Navigation Menu.'));
117
+ if (createNavigationMenuIsError) {
118
+ showNavigationMenuStatusNotice(__('Failed to create Navigation Menu.'));
133
119
  }
134
120
  }, [createNavigationMenu, createNavigationMenuStatus, createNavigationMenuError, createNavigationMenuPost]);
135
121
  const {
136
122
  hasUncontrolledInnerBlocks,
137
123
  uncontrolledInnerBlocks,
138
124
  isInnerBlockSelected,
139
- hasSubmenus
140
- } = useSelect(select => {
141
- const {
142
- getBlock,
143
- getBlocks,
144
- hasSelectedInnerBlock
145
- } = select(blockEditorStore); // This relies on the fact that `getBlock` won't return controlled
146
- // inner blocks, while `getBlocks` does. It might be more stable to
147
- // introduce a selector like `getUncontrolledInnerBlocks`, just in
148
- // case `getBlock` is fixed.
149
-
150
- const _uncontrolledInnerBlocks = getBlock(clientId).innerBlocks;
151
-
152
- const _hasUncontrolledInnerBlocks = !!(_uncontrolledInnerBlocks !== null && _uncontrolledInnerBlocks !== void 0 && _uncontrolledInnerBlocks.length);
153
-
154
- const _controlledInnerBlocks = _hasUncontrolledInnerBlocks ? EMPTY_ARRAY : getBlocks(clientId);
155
-
156
- const innerBlocks = _hasUncontrolledInnerBlocks ? _uncontrolledInnerBlocks : _controlledInnerBlocks;
157
- return {
158
- hasSubmenus: !!innerBlocks.find(block => block.name === 'core/navigation-submenu'),
159
- hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
160
- uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
161
- isInnerBlockSelected: hasSelectedInnerBlock(clientId, true)
162
- };
163
- }, [clientId]);
125
+ innerBlocks
126
+ } = useInnerBlocks(clientId);
127
+ const hasSubmenus = !!innerBlocks.find(block => block.name === 'core/navigation-submenu');
164
128
  const {
165
129
  replaceInnerBlocks,
166
130
  selectBlock,
@@ -182,24 +146,43 @@ function Navigation(_ref) {
182
146
  canUserCreateNavigationMenu,
183
147
  isResolvingCanUserCreateNavigationMenu,
184
148
  hasResolvedCanUserCreateNavigationMenu
185
- } = useNavigationMenu(ref); // Attempt to retrieve and prioritize any existing navigation menu unless
186
- // a specific ref is allocated or the user is explicitly creating a new menu. The aim is
187
- // for the block to "just work" from a user perspective using existing data.
149
+ } = useNavigationMenu(ref);
150
+ const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing; // Attempt to retrieve and prioritize any existing navigation menu unless:
151
+ // - the are uncontrolled inner blocks already present in the block.
152
+ // - the user is creating a new menu.
153
+ // - there are no menus to choose from.
154
+ // This attempts to pick the first menu if there is a single Navigation Post. If more
155
+ // than 1 exists then use the most recent.
156
+ // The aim is for the block to "just work" from a user perspective using existing data.
188
157
 
189
158
  useEffect(() => {
190
- if (isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length) || (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1) {
159
+ if (hasUncontrolledInnerBlocks || isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length)) {
191
160
  return;
192
161
  }
193
162
 
163
+ navigationMenus.sort((menuA, menuB) => {
164
+ const menuADate = new Date(menuA.date);
165
+ const menuBDate = new Date(menuB.date);
166
+ return menuADate.getTime() < menuBDate.getTime();
167
+ });
168
+ /**
169
+ * This fallback displays (both in editor and on front)
170
+ * a list of pages only if no menu (user assigned or
171
+ * automatically picked) is available.
172
+ * The fallback should not request a save (entity dirty state)
173
+ * nor to be undoable, hence why it is marked as non persistent
174
+ */
175
+
176
+ __unstableMarkNextChangeAsNotPersistent();
177
+
194
178
  setRef(navigationMenus[0].id);
195
179
  }, [navigationMenus]);
196
180
  const navRef = useRef();
197
181
  const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
198
182
  const {
199
- convert,
183
+ convert: convertClassicMenu,
200
184
  status: classicMenuConversionStatus,
201
- error: classicMenuConversionError,
202
- value: classicMenuConversionResult
185
+ error: classicMenuConversionError
203
186
  } = useConvertClassicToBlockMenu(clientId);
204
187
  const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING; // The standard HTML5 tag for the block wrapper.
205
188
 
@@ -210,10 +193,23 @@ function Navigation(_ref) {
210
193
  // - there are no uncontrolled blocks.
211
194
 
212
195
  const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && !hasUncontrolledInnerBlocks;
196
+
197
+ if (isPlaceholder && !ref) {
198
+ /**
199
+ * this fallback only displays (both in editor and on front)
200
+ * the list of pages block if no menu is available as a fallback.
201
+ * We don't want the fallback to request a save,
202
+ * nor to be undoable, hence we mark it non persistent.
203
+ */
204
+ __unstableMarkNextChangeAsNotPersistent();
205
+
206
+ replaceInnerBlocks(clientId, [createBlock('core/page-list')]);
207
+ }
208
+
213
209
  const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved; // "loading" state:
214
210
  // - there is a menu creation process in progress.
215
211
  // - there is a classic menu conversion process in progress.
216
- // OR
212
+ // OR:
217
213
  // - there is a ref attribute pointing to a Navigation Post
218
214
  // - the Navigation Post isn't available (hasn't resolved) yet.
219
215
 
@@ -241,50 +237,34 @@ function Navigation(_ref) {
241
237
  color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
242
238
  backgroundColor: !(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug) && (backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.color)
243
239
  }
244
- }, {
245
- __unstableIsDisabled: hasBlockOverlay
246
- });
247
- const overlayClassnames = classnames({
248
- 'has-text-color': !!overlayTextColor.color || !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.class),
249
- [getColorClassName('color', overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.slug)]: !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug),
250
- 'has-background': !!overlayBackgroundColor.color || (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.class),
251
- [getColorClassName('background-color', overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.slug)]: !!(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug)
252
- });
253
- const overlayStyles = {
254
- color: !(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug) && (overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.color),
255
- backgroundColor: !(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug) && (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.color) && overlayBackgroundColor.color
256
- }; // Turn on contrast checker for web only since it's not supported on mobile yet.
240
+ }); // Turn on contrast checker for web only since it's not supported on mobile yet.
257
241
 
258
242
  const enableContrastChecking = Platform.OS === 'web';
259
243
  const [detectedBackgroundColor, setDetectedBackgroundColor] = useState();
260
244
  const [detectedColor, setDetectedColor] = useState();
261
245
  const [detectedOverlayBackgroundColor, setDetectedOverlayBackgroundColor] = useState();
262
246
  const [detectedOverlayColor, setDetectedOverlayColor] = useState();
263
- const [showClassicMenuConversionErrorNotice, hideClassicMenuConversionErrorNotice] = useNavigationNotice({
264
- name: 'block-library/core/navigation/classic-menu-conversion/error'
265
- });
266
247
 
267
- function handleUpdateMenu(menuId) {
248
+ const handleUpdateMenu = menuId => {
268
249
  setRef(menuId);
269
250
  selectBlock(clientId);
270
- }
251
+ };
271
252
 
272
253
  useEffect(() => {
254
+ hideClassicMenuConversionNotice();
255
+
273
256
  if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING) {
274
257
  speak(__('Classic menu importing.'));
275
258
  }
276
259
 
277
- if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS && classicMenuConversionResult) {
278
- handleUpdateMenu(classicMenuConversionResult === null || classicMenuConversionResult === void 0 ? void 0 : classicMenuConversionResult.id);
279
- hideClassicMenuConversionErrorNotice();
280
- speak(__('Classic menu imported successfully.'));
260
+ if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS) {
261
+ showClassicMenuConversionNotice(__('Classic menu imported successfully.'));
281
262
  }
282
263
 
283
264
  if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR) {
284
- showClassicMenuConversionErrorNotice(classicMenuConversionError);
285
- speak(__('Classic menu import failed.'));
265
+ showClassicMenuConversionNotice(__('Classic menu import failed.'));
286
266
  }
287
- }, [classicMenuConversionStatus, classicMenuConversionResult, classicMenuConversionError]); // Spacer block needs orientation from context. This is a patch until
267
+ }, [classicMenuConversionStatus, classicMenuConversionError]); // Spacer block needs orientation from context. This is a patch until
288
268
  // https://github.com/WordPress/gutenberg/issues/36197 is addressed.
289
269
 
290
270
  useEffect(() => {
@@ -310,47 +290,23 @@ function Navigation(_ref) {
310
290
  detectColors(subMenuElement, setDetectedOverlayColor, setDetectedOverlayBackgroundColor);
311
291
  }
312
292
  });
313
- const [showCantEditNotice, hideCantEditNotice] = useNavigationNotice({
314
- name: 'block-library/core/navigation/permissions/update',
315
- message: __('You do not have permission to edit this Menu. Any changes made will not be saved.')
316
- });
317
- const [showCantCreateNotice, hideCantCreateNotice] = useNavigationNotice({
318
- name: 'block-library/core/navigation/permissions/create',
319
- message: __('You do not have permission to create Navigation Menus.')
320
- });
321
293
  useEffect(() => {
322
294
  if (!isSelected && !isInnerBlockSelected) {
323
- hideCantEditNotice();
324
- hideCantCreateNotice();
295
+ hideNavigationMenuPermissionsNotice();
325
296
  }
326
297
 
327
298
  if (isSelected || isInnerBlockSelected) {
328
- if (ref && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
329
- showCantEditNotice();
299
+ if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
300
+ showNavigationMenuPermissionsNotice(__('You do not have permission to edit this Menu. Any changes made will not be saved.'));
330
301
  }
331
302
 
332
303
  if (!ref && hasResolvedCanUserCreateNavigationMenu && !canUserCreateNavigationMenu) {
333
- showCantCreateNotice();
304
+ showNavigationMenuPermissionsNotice(__('You do not have permission to create Navigation Menus.'));
334
305
  }
335
306
  }
336
307
  }, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu, canUserCreateNavigationMenu, hasResolvedCanUserCreateNavigationMenu, ref]);
337
308
  const navigationSelectorRef = useRef();
338
- const [shouldFocusNavigationSelector, setShouldFocusNavigationSelector] = useState(false);
339
- const handleSelectNavigation = useCallback(navPostOrClassicMenu => {
340
- if (!navPostOrClassicMenu) {
341
- return;
342
- }
343
-
344
- const isClassicMenu = navPostOrClassicMenu.hasOwnProperty('auto_add');
345
-
346
- if (isClassicMenu) {
347
- convert(navPostOrClassicMenu.id, navPostOrClassicMenu.name);
348
- } else {
349
- handleUpdateMenu(navPostOrClassicMenu.id);
350
- }
351
-
352
- setShouldFocusNavigationSelector(true);
353
- }, [convert, handleUpdateMenu]); // Focus support after menu selection.
309
+ const [shouldFocusNavigationSelector, setShouldFocusNavigationSelector] = useState(false); // Focus support after menu selection.
354
310
 
355
311
  useEffect(() => {
356
312
  var _navigationSelectorRe;
@@ -362,17 +318,6 @@ function Navigation(_ref) {
362
318
  navigationSelectorRef === null || navigationSelectorRef === void 0 ? void 0 : (_navigationSelectorRe = navigationSelectorRef.current) === null || _navigationSelectorRe === void 0 ? void 0 : _navigationSelectorRe.focus();
363
319
  setShouldFocusNavigationSelector(false);
364
320
  }, [isDraftNavigationMenu, isEntityAvailable, shouldFocusNavigationSelector]);
365
- const resetToEmptyBlock = useCallback(() => {
366
- registry.batch(() => {
367
- setAttributes({
368
- ref: undefined
369
- });
370
-
371
- if (!ref) {
372
- replaceInnerBlocks(clientId, []);
373
- }
374
- });
375
- }, [clientId, ref]);
376
321
  const isResponsive = 'never' !== overlayMenu;
377
322
  const overlayMenuPreviewClasses = classnames('wp-block-navigation__overlay-menu-preview', {
378
323
  open: overlayMenuPreview
@@ -468,14 +413,37 @@ function Navigation(_ref) {
468
413
  const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
469
414
 
470
415
  if (hasUnsavedBlocks) {
471
- return createElement(TagName, blockProps, stylingInspectorControls, createElement(ResponsiveWrapper, {
416
+ return createElement(TagName, blockProps, createElement(BlockControls, null, createElement(ToolbarGroup, {
417
+ className: "wp-block-navigation__toolbar-menu-selector"
418
+ }, createElement(NavigationMenuSelector, {
419
+ ref: null,
420
+ currentMenuId: null,
421
+ clientId: clientId,
422
+ onSelectNavigationMenu: menuId => {
423
+ handleUpdateMenu(menuId);
424
+ setShouldFocusNavigationSelector(true);
425
+ },
426
+ onSelectClassicMenu: async classicMenu => {
427
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
428
+
429
+ if (navMenu) {
430
+ handleUpdateMenu(navMenu.id);
431
+ setShouldFocusNavigationSelector(true);
432
+ }
433
+ },
434
+ onCreateNew: () => createNavigationMenu('', [])
435
+ /* translators: %s: The name of a menu. */
436
+ ,
437
+ actionLabel: __("Switch to '%s'"),
438
+ showManageActions: true
439
+ }))), stylingInspectorControls, createElement(ResponsiveWrapper, {
472
440
  id: clientId,
473
441
  onToggle: setResponsiveMenuVisibility,
474
442
  isOpen: isResponsiveMenuOpen,
475
443
  isResponsive: 'never' !== overlayMenu,
476
444
  isHiddenByDefault: 'always' === overlayMenu,
477
- classNames: overlayClassnames,
478
- styles: overlayStyles
445
+ overlayBackgroundColor: overlayBackgroundColor,
446
+ overlayTextColor: overlayTextColor
479
447
  }, createElement(UnsavedInnerBlocks, {
480
448
  blockProps: blockProps,
481
449
  blocks: uncontrolledInnerBlocks,
@@ -488,7 +456,7 @@ function Navigation(_ref) {
488
456
  setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
489
457
 
490
458
  setRef(post.id);
491
- showNavigationMenuCreateNotice(__(`New Navigation Menu created.`));
459
+ showNavigationMenuStatusNotice(__(`New Navigation Menu created.`));
492
460
  }
493
461
  })));
494
462
  } // Show a warning if the selected menu is no longer available.
@@ -496,8 +464,31 @@ function Navigation(_ref) {
496
464
 
497
465
 
498
466
  if (ref && isNavigationMenuMissing) {
499
- return createElement("div", blockProps, createElement(Warning, null, __('Navigation menu has been deleted or is unavailable. '), createElement(Button, {
500
- onClick: resetToEmptyBlock,
467
+ return createElement(TagName, blockProps, createElement(BlockControls, null, createElement(ToolbarGroup, {
468
+ className: "wp-block-navigation__toolbar-menu-selector"
469
+ }, createElement(NavigationMenuSelector, {
470
+ ref: navigationSelectorRef,
471
+ currentMenuId: ref,
472
+ clientId: clientId,
473
+ onSelectNavigationMenu: menuId => {
474
+ handleUpdateMenu(menuId);
475
+ setShouldFocusNavigationSelector(true);
476
+ },
477
+ onSelectClassicMenu: async classicMenu => {
478
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
479
+
480
+ if (navMenu) {
481
+ handleUpdateMenu(navMenu.id);
482
+ setShouldFocusNavigationSelector(true);
483
+ }
484
+ },
485
+ onCreateNew: () => createNavigationMenu('', [])
486
+ /* translators: %s: The name of a menu. */
487
+ ,
488
+ actionLabel: __("Switch to '%s'"),
489
+ showManageActions: true
490
+ }))), createElement(Warning, null, __('Navigation menu has been deleted or is unavailable. '), createElement(Button, {
491
+ onClick: () => createNavigationMenu('', []),
501
492
  variant: "link"
502
493
  }, __('Create a new menu?'))));
503
494
  }
@@ -507,15 +498,35 @@ function Navigation(_ref) {
507
498
  }
508
499
 
509
500
  const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : Placeholder;
510
-
511
- if (isPlaceholder) {
501
+ /**
502
+ * Historically the navigation block has supported custom placeholders.
503
+ * Even though the current UX tries as hard as possible not to
504
+ * end up in a placeholder state, the block continues to support
505
+ * this extensibility point, via a CustomPlaceholder.
506
+ * When CustomPlaceholder is present it becomes the default fallback
507
+ * for an empty navigation block, instead of the default fallbacks.
508
+ *
509
+ */
510
+
511
+ if (isPlaceholder && CustomPlaceholder) {
512
512
  return createElement(TagName, blockProps, createElement(PlaceholderComponent, {
513
513
  isSelected: isSelected,
514
514
  currentMenuId: ref,
515
515
  clientId: clientId,
516
516
  canUserCreateNavigationMenu: canUserCreateNavigationMenu,
517
517
  isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
518
- onFinish: handleSelectNavigation,
518
+ onSelectNavigationMenu: menuId => {
519
+ handleUpdateMenu(menuId);
520
+ setShouldFocusNavigationSelector(true);
521
+ },
522
+ onSelectClassicMenu: async classicMenu => {
523
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
524
+
525
+ if (navMenu) {
526
+ handleUpdateMenu(navMenu.id);
527
+ setShouldFocusNavigationSelector(true);
528
+ }
529
+ },
519
530
  onCreateEmpty: () => createNavigationMenu('', [])
520
531
  }));
521
532
  }
@@ -524,14 +535,27 @@ function Navigation(_ref) {
524
535
  kind: "postType",
525
536
  type: "wp_navigation",
526
537
  id: ref
527
- }, createElement(RecursionProvider, null, createElement(BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && createElement(ToolbarGroup, {
538
+ }, createElement(RecursionProvider, {
539
+ uniqueId: recursionId
540
+ }, createElement(BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && createElement(ToolbarGroup, {
528
541
  className: "wp-block-navigation__toolbar-menu-selector"
529
542
  }, createElement(NavigationMenuSelector, {
530
543
  ref: navigationSelectorRef,
531
544
  currentMenuId: ref,
532
545
  clientId: clientId,
533
- onSelect: handleSelectNavigation,
534
- onCreateNew: resetToEmptyBlock
546
+ onSelectNavigationMenu: menuId => {
547
+ handleUpdateMenu(menuId);
548
+ setShouldFocusNavigationSelector(true);
549
+ },
550
+ onSelectClassicMenu: async classicMenu => {
551
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
552
+
553
+ if (navMenu) {
554
+ handleUpdateMenu(navMenu.id);
555
+ setShouldFocusNavigationSelector(true);
556
+ }
557
+ },
558
+ onCreateNew: () => createNavigationMenu('', [])
535
559
  /* translators: %s: The name of a menu. */
536
560
  ,
537
561
  actionLabel: __("Switch to '%s'"),
@@ -541,8 +565,8 @@ function Navigation(_ref) {
541
565
  }, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && createElement(NavigationMenuNameControl, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && createElement(NavigationMenuDeleteControl, {
542
566
  onDelete: function () {
543
567
  let deletedMenuTitle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
544
- resetToEmptyBlock();
545
- showNavigationMenuDeleteNotice(sprintf( // translators: %s: the name of a menu (e.g. Header navigation).
568
+ replaceInnerBlocks(clientId, []);
569
+ showNavigationMenuStatusNotice(sprintf( // translators: %s: the name of a menu (e.g. Header navigation).
546
570
  __('Navigation menu %s successfully deleted.'), deletedMenuTitle));
547
571
  }
548
572
  })), isLoading && createElement(TagName, blockProps, createElement(Spinner, {
@@ -555,8 +579,8 @@ function Navigation(_ref) {
555
579
  isOpen: isResponsiveMenuOpen,
556
580
  isResponsive: isResponsive,
557
581
  isHiddenByDefault: 'always' === overlayMenu,
558
- classNames: overlayClassnames,
559
- styles: overlayStyles
582
+ overlayBackgroundColor: overlayBackgroundColor,
583
+ overlayTextColor: overlayTextColor
560
584
  }, isEntityAvailable && createElement(NavigationInnerBlocks, {
561
585
  clientId: clientId,
562
586
  hasCustomPlaceholder: !!CustomPlaceholder,