@wordpress/block-library 7.0.1 → 7.1.0-next.e230fbab09.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 (608) hide show
  1. package/README.md +16 -0
  2. package/build/audio/edit.js +4 -4
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js +4 -4
  5. package/build/audio/edit.native.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +3 -9
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +3 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/edit.native.js +4 -4
  13. package/build/button/edit.native.js.map +1 -1
  14. package/build/buttons/transforms.js +8 -8
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/categories/edit.js +15 -26
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/code/index.js +0 -1
  19. package/build/code/index.js.map +1 -1
  20. package/build/columns/columnCalculations.native.js +1 -1
  21. package/build/columns/columnCalculations.native.js.map +1 -1
  22. package/build/columns/edit.js +1 -1
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/edit.native.js +3 -3
  25. package/build/columns/edit.native.js.map +1 -1
  26. package/build/columns/index.js +12 -0
  27. package/build/columns/index.js.map +1 -1
  28. package/build/comment-author-avatar/edit.js +17 -4
  29. package/build/comment-author-avatar/edit.js.map +1 -1
  30. package/build/comment-template/edit.js +94 -36
  31. package/build/comment-template/edit.js.map +1 -1
  32. package/build/comment-template/hooks.js +175 -0
  33. package/build/comment-template/hooks.js.map +1 -0
  34. package/build/comment-template/index.js +1 -1
  35. package/build/comment-template/util.js.map +1 -1
  36. package/build/comments-pagination-next/index.js +1 -1
  37. package/build/comments-pagination-numbers/index.js +1 -1
  38. package/build/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  39. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  40. package/build/comments-query-loop/edit.js +1 -19
  41. package/build/comments-query-loop/edit.js.map +1 -1
  42. package/build/comments-query-loop/index.js +5 -0
  43. package/build/comments-query-loop/index.js.map +1 -1
  44. package/build/cover/controls.native.js +5 -5
  45. package/build/cover/controls.native.js.map +1 -1
  46. package/build/cover/deprecated.js +188 -17
  47. package/build/cover/deprecated.js.map +1 -1
  48. package/build/cover/edit.js +29 -33
  49. package/build/cover/edit.js.map +1 -1
  50. package/build/cover/edit.native.js +15 -13
  51. package/build/cover/edit.native.js.map +1 -1
  52. package/build/cover/overlay-color-settings.native.js +7 -6
  53. package/build/cover/overlay-color-settings.native.js.map +1 -1
  54. package/build/cover/save.js +1 -1
  55. package/build/cover/save.js.map +1 -1
  56. package/build/cover/shared.js +2 -2
  57. package/build/cover/shared.js.map +1 -1
  58. package/build/cover/transforms.js +4 -2
  59. package/build/cover/transforms.js.map +1 -1
  60. package/build/embed/edit.js +1 -1
  61. package/build/embed/edit.js.map +1 -1
  62. package/build/embed/edit.native.js +1 -1
  63. package/build/embed/edit.native.js.map +1 -1
  64. package/build/embed/util.js +2 -2
  65. package/build/embed/util.js.map +1 -1
  66. package/build/embed/variations.js +1 -1
  67. package/build/embed/variations.js.map +1 -1
  68. package/build/file/edit.js +20 -17
  69. package/build/file/edit.js.map +1 -1
  70. package/build/file/edit.native.js +1 -1
  71. package/build/file/edit.native.js.map +1 -1
  72. package/build/file/save.js +7 -3
  73. package/build/file/save.js.map +1 -1
  74. package/build/freeform/edit.js +2 -2
  75. package/build/freeform/edit.js.map +1 -1
  76. package/build/gallery/edit.js +1 -1
  77. package/build/gallery/edit.js.map +1 -1
  78. package/build/gallery/gallery.native.js +1 -1
  79. package/build/gallery/gallery.native.js.map +1 -1
  80. package/build/gallery/v1/edit.js +3 -3
  81. package/build/gallery/v1/edit.js.map +1 -1
  82. package/build/gallery/v1/gallery-image.native.js +3 -3
  83. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  84. package/build/gallery/v1/gallery.native.js +2 -2
  85. package/build/gallery/v1/gallery.native.js.map +1 -1
  86. package/build/group/index.js +4 -37
  87. package/build/group/index.js.map +1 -1
  88. package/build/group/transforms.js +45 -0
  89. package/build/group/transforms.js.map +1 -0
  90. package/build/heading/edit.js +14 -2
  91. package/build/heading/edit.js.map +1 -1
  92. package/build/home-link/edit.js +1 -1
  93. package/build/home-link/edit.js.map +1 -1
  94. package/build/image/deprecated.js +89 -5
  95. package/build/image/deprecated.js.map +1 -1
  96. package/build/image/edit.js +7 -6
  97. package/build/image/edit.js.map +1 -1
  98. package/build/image/edit.native.js +25 -10
  99. package/build/image/edit.native.js.map +1 -1
  100. package/build/image/save.js +0 -7
  101. package/build/image/save.js.map +1 -1
  102. package/build/image/transforms.js +1 -1
  103. package/build/image/transforms.js.map +1 -1
  104. package/build/index.js +3 -4
  105. package/build/index.js.map +1 -1
  106. package/build/index.native.js +2 -2
  107. package/build/index.native.js.map +1 -1
  108. package/build/latest-posts/edit.js +1 -0
  109. package/build/latest-posts/edit.js.map +1 -1
  110. package/build/media-text/edit.js +21 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/media-text/edit.native.js +2 -2
  113. package/build/media-text/edit.native.js.map +1 -1
  114. package/build/media-text/media-container.native.js +1 -1
  115. package/build/media-text/media-container.native.js.map +1 -1
  116. package/build/missing/edit.native.js +1 -1
  117. package/build/missing/edit.native.js.map +1 -1
  118. package/build/more/transforms.js +2 -2
  119. package/build/more/transforms.js.map +1 -1
  120. package/build/navigation/edit/index.js +144 -68
  121. package/build/navigation/edit/index.js.map +1 -1
  122. package/build/navigation/edit/inner-blocks.js +8 -3
  123. package/build/navigation/edit/inner-blocks.js.map +1 -1
  124. package/build/navigation/edit/navigation-menu-selector.js +82 -52
  125. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  126. package/build/navigation/edit/placeholder/index.js +32 -61
  127. package/build/navigation/edit/placeholder/index.js.map +1 -1
  128. package/build/navigation/edit/placeholder/placeholder-preview.js +3 -12
  129. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  130. package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
  131. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  132. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +120 -0
  133. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  134. package/build/navigation/edit/use-create-navigation-menu.js +53 -4
  135. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  136. package/build/navigation/edit/use-navigation-notice.js +3 -3
  137. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  138. package/build/navigation/menu-items-to-blocks.js +1 -1
  139. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  140. package/build/navigation/use-navigation-entities.js +25 -49
  141. package/build/navigation/use-navigation-entities.js.map +1 -1
  142. package/build/navigation/use-navigation-menu.js +8 -6
  143. package/build/navigation/use-navigation-menu.js.map +1 -1
  144. package/build/navigation-link/fallback-variations.js +1 -1
  145. package/build/navigation-link/fallback-variations.js.map +1 -1
  146. package/build/navigation-link/hooks.js +2 -2
  147. package/build/navigation-link/hooks.js.map +1 -1
  148. package/build/navigation-submenu/edit.js +43 -11
  149. package/build/navigation-submenu/edit.js.map +1 -1
  150. package/build/page-list/convert-to-links-modal.js +13 -23
  151. package/build/page-list/convert-to-links-modal.js.map +1 -1
  152. package/build/page-list/edit.js +19 -39
  153. package/build/page-list/edit.js.map +1 -1
  154. package/build/post-author-name/edit.js +2 -1
  155. package/build/post-author-name/edit.js.map +1 -1
  156. package/build/post-comments-form/edit.js +3 -1
  157. package/build/post-comments-form/edit.js.map +1 -1
  158. package/build/post-excerpt/edit.js +7 -4
  159. package/build/post-excerpt/edit.js.map +1 -1
  160. package/build/post-terms/edit.js +3 -1
  161. package/build/post-terms/edit.js.map +1 -1
  162. package/build/query-title/edit.js +0 -1
  163. package/build/query-title/edit.js.map +1 -1
  164. package/build/search/edit.js +4 -1
  165. package/build/search/edit.js.map +1 -1
  166. package/build/search/edit.native.js +1 -1
  167. package/build/search/edit.native.js.map +1 -1
  168. package/build/separator/save.js +4 -4
  169. package/build/separator/save.js.map +1 -1
  170. package/build/separator/separator-settings.native.js +1 -1
  171. package/build/separator/separator-settings.native.js.map +1 -1
  172. package/build/site-logo/edit.js +1 -1
  173. package/build/site-logo/edit.js.map +1 -1
  174. package/build/social-link/edit.native.js +11 -3
  175. package/build/social-link/edit.native.js.map +1 -1
  176. package/build/social-links/deprecated.js +1 -62
  177. package/build/social-links/deprecated.js.map +1 -1
  178. package/build/spacer/controls.js +5 -5
  179. package/build/spacer/controls.js.map +1 -1
  180. package/build/spacer/controls.native.js +5 -5
  181. package/build/spacer/controls.native.js.map +1 -1
  182. package/build/table/edit.js +2 -2
  183. package/build/table/edit.js.map +1 -1
  184. package/build/template-part/edit/index.js +36 -64
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/placeholder.js +64 -0
  187. package/build/template-part/edit/placeholder.js.map +1 -0
  188. package/build/template-part/edit/selection-modal.js +103 -0
  189. package/build/template-part/edit/selection-modal.js.map +1 -0
  190. package/build/template-part/edit/title-modal.js +54 -0
  191. package/build/template-part/edit/title-modal.js.map +1 -0
  192. package/build/template-part/edit/utils/hooks.js +156 -0
  193. package/build/template-part/edit/utils/hooks.js.map +1 -0
  194. package/build/template-part/index.js +3 -1
  195. package/build/template-part/index.js.map +1 -1
  196. package/build/video/edit.js +4 -4
  197. package/build/video/edit.js.map +1 -1
  198. package/build/video/edit.native.js +3 -3
  199. package/build/video/edit.native.js.map +1 -1
  200. package/build-module/audio/edit.js +4 -4
  201. package/build-module/audio/edit.js.map +1 -1
  202. package/build-module/audio/edit.native.js +4 -4
  203. package/build-module/audio/edit.native.js.map +1 -1
  204. package/build-module/audio/transforms.js +1 -1
  205. package/build-module/audio/transforms.js.map +1 -1
  206. package/build-module/block/edit.js +5 -11
  207. package/build-module/block/edit.js.map +1 -1
  208. package/build-module/button/edit.js +3 -2
  209. package/build-module/button/edit.js.map +1 -1
  210. package/build-module/button/edit.native.js +6 -6
  211. package/build-module/button/edit.native.js.map +1 -1
  212. package/build-module/buttons/transforms.js +8 -8
  213. package/build-module/buttons/transforms.js.map +1 -1
  214. package/build-module/categories/edit.js +15 -25
  215. package/build-module/categories/edit.js.map +1 -1
  216. package/build-module/code/index.js +0 -1
  217. package/build-module/code/index.js.map +1 -1
  218. package/build-module/columns/columnCalculations.native.js +1 -1
  219. package/build-module/columns/columnCalculations.native.js.map +1 -1
  220. package/build-module/columns/edit.js +1 -1
  221. package/build-module/columns/edit.js.map +1 -1
  222. package/build-module/columns/edit.native.js +3 -3
  223. package/build-module/columns/edit.native.js.map +1 -1
  224. package/build-module/columns/index.js +12 -0
  225. package/build-module/columns/index.js.map +1 -1
  226. package/build-module/comment-author-avatar/edit.js +18 -6
  227. package/build-module/comment-author-avatar/edit.js.map +1 -1
  228. package/build-module/comment-template/edit.js +95 -37
  229. package/build-module/comment-template/edit.js.map +1 -1
  230. package/build-module/comment-template/hooks.js +156 -0
  231. package/build-module/comment-template/hooks.js.map +1 -0
  232. package/build-module/comment-template/index.js +1 -1
  233. package/build-module/comment-template/util.js.map +1 -1
  234. package/build-module/comments-pagination-next/index.js +1 -1
  235. package/build-module/comments-pagination-numbers/index.js +1 -1
  236. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  237. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  238. package/build-module/comments-query-loop/edit.js +2 -19
  239. package/build-module/comments-query-loop/edit.js.map +1 -1
  240. package/build-module/comments-query-loop/index.js +5 -0
  241. package/build-module/comments-query-loop/index.js.map +1 -1
  242. package/build-module/cover/controls.native.js +5 -5
  243. package/build-module/cover/controls.native.js.map +1 -1
  244. package/build-module/cover/deprecated.js +190 -17
  245. package/build-module/cover/deprecated.js.map +1 -1
  246. package/build-module/cover/edit.js +31 -35
  247. package/build-module/cover/edit.js.map +1 -1
  248. package/build-module/cover/edit.native.js +18 -16
  249. package/build-module/cover/edit.native.js.map +1 -1
  250. package/build-module/cover/overlay-color-settings.native.js +7 -7
  251. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  252. package/build-module/cover/save.js +1 -1
  253. package/build-module/cover/save.js.map +1 -1
  254. package/build-module/cover/shared.js +2 -2
  255. package/build-module/cover/shared.js.map +1 -1
  256. package/build-module/cover/transforms.js +4 -2
  257. package/build-module/cover/transforms.js.map +1 -1
  258. package/build-module/embed/edit.js +1 -1
  259. package/build-module/embed/edit.js.map +1 -1
  260. package/build-module/embed/edit.native.js +1 -1
  261. package/build-module/embed/edit.native.js.map +1 -1
  262. package/build-module/embed/util.js +2 -2
  263. package/build-module/embed/util.js.map +1 -1
  264. package/build-module/embed/variations.js +1 -1
  265. package/build-module/embed/variations.js.map +1 -1
  266. package/build-module/file/edit.js +21 -18
  267. package/build-module/file/edit.js.map +1 -1
  268. package/build-module/file/edit.native.js +1 -1
  269. package/build-module/file/edit.native.js.map +1 -1
  270. package/build-module/file/save.js +7 -3
  271. package/build-module/file/save.js.map +1 -1
  272. package/build-module/freeform/edit.js +2 -2
  273. package/build-module/freeform/edit.js.map +1 -1
  274. package/build-module/gallery/edit.js +1 -1
  275. package/build-module/gallery/edit.js.map +1 -1
  276. package/build-module/gallery/gallery.native.js +1 -1
  277. package/build-module/gallery/gallery.native.js.map +1 -1
  278. package/build-module/gallery/v1/edit.js +3 -3
  279. package/build-module/gallery/v1/edit.js.map +1 -1
  280. package/build-module/gallery/v1/gallery-image.native.js +3 -3
  281. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  282. package/build-module/gallery/v1/gallery.native.js +2 -2
  283. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  284. package/build-module/group/index.js +3 -36
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/transforms.js +36 -0
  287. package/build-module/group/transforms.js.map +1 -0
  288. package/build-module/heading/edit.js +15 -3
  289. package/build-module/heading/edit.js.map +1 -1
  290. package/build-module/home-link/edit.js +1 -1
  291. package/build-module/home-link/edit.js.map +1 -1
  292. package/build-module/image/deprecated.js +90 -7
  293. package/build-module/image/deprecated.js.map +1 -1
  294. package/build-module/image/edit.js +7 -6
  295. package/build-module/image/edit.js.map +1 -1
  296. package/build-module/image/edit.native.js +25 -10
  297. package/build-module/image/edit.native.js.map +1 -1
  298. package/build-module/image/save.js +0 -7
  299. package/build-module/image/save.js.map +1 -1
  300. package/build-module/image/transforms.js +1 -1
  301. package/build-module/image/transforms.js.map +1 -1
  302. package/build-module/index.js +4 -5
  303. package/build-module/index.js.map +1 -1
  304. package/build-module/index.native.js +2 -2
  305. package/build-module/index.native.js.map +1 -1
  306. package/build-module/latest-posts/edit.js +1 -0
  307. package/build-module/latest-posts/edit.js.map +1 -1
  308. package/build-module/media-text/edit.js +20 -2
  309. package/build-module/media-text/edit.js.map +1 -1
  310. package/build-module/media-text/edit.native.js +2 -2
  311. package/build-module/media-text/edit.native.js.map +1 -1
  312. package/build-module/media-text/media-container.native.js +1 -1
  313. package/build-module/media-text/media-container.native.js.map +1 -1
  314. package/build-module/missing/edit.native.js +1 -1
  315. package/build-module/missing/edit.native.js.map +1 -1
  316. package/build-module/more/transforms.js +2 -2
  317. package/build-module/more/transforms.js.map +1 -1
  318. package/build-module/navigation/edit/index.js +138 -68
  319. package/build-module/navigation/edit/index.js.map +1 -1
  320. package/build-module/navigation/edit/inner-blocks.js +8 -3
  321. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  322. package/build-module/navigation/edit/navigation-menu-selector.js +82 -48
  323. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  324. package/build-module/navigation/edit/placeholder/index.js +33 -59
  325. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  326. package/build-module/navigation/edit/placeholder/placeholder-preview.js +3 -9
  327. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  328. package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
  329. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  330. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +100 -0
  331. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  332. package/build-module/navigation/edit/use-create-navigation-menu.js +48 -5
  333. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  334. package/build-module/navigation/edit/use-navigation-notice.js +3 -3
  335. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  336. package/build-module/navigation/menu-items-to-blocks.js +1 -1
  337. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  338. package/build-module/navigation/use-navigation-entities.js +26 -50
  339. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  340. package/build-module/navigation/use-navigation-menu.js +8 -6
  341. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  342. package/build-module/navigation-link/fallback-variations.js +1 -1
  343. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  344. package/build-module/navigation-link/hooks.js +2 -2
  345. package/build-module/navigation-link/hooks.js.map +1 -1
  346. package/build-module/navigation-submenu/edit.js +43 -12
  347. package/build-module/navigation-submenu/edit.js.map +1 -1
  348. package/build-module/page-list/convert-to-links-modal.js +15 -25
  349. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  350. package/build-module/page-list/edit.js +21 -41
  351. package/build-module/page-list/edit.js.map +1 -1
  352. package/build-module/post-author-name/edit.js +2 -1
  353. package/build-module/post-author-name/edit.js.map +1 -1
  354. package/build-module/post-comments-form/edit.js +4 -2
  355. package/build-module/post-comments-form/edit.js.map +1 -1
  356. package/build-module/post-excerpt/edit.js +9 -6
  357. package/build-module/post-excerpt/edit.js.map +1 -1
  358. package/build-module/post-terms/edit.js +2 -1
  359. package/build-module/post-terms/edit.js.map +1 -1
  360. package/build-module/query-title/edit.js +0 -1
  361. package/build-module/query-title/edit.js.map +1 -1
  362. package/build-module/search/edit.js +3 -1
  363. package/build-module/search/edit.js.map +1 -1
  364. package/build-module/search/edit.native.js +1 -1
  365. package/build-module/search/edit.native.js.map +1 -1
  366. package/build-module/separator/save.js +4 -4
  367. package/build-module/separator/save.js.map +1 -1
  368. package/build-module/separator/separator-settings.native.js +1 -1
  369. package/build-module/separator/separator-settings.native.js.map +1 -1
  370. package/build-module/site-logo/edit.js +1 -1
  371. package/build-module/site-logo/edit.js.map +1 -1
  372. package/build-module/social-link/edit.native.js +11 -3
  373. package/build-module/social-link/edit.native.js.map +1 -1
  374. package/build-module/social-links/deprecated.js +1 -62
  375. package/build-module/social-links/deprecated.js.map +1 -1
  376. package/build-module/spacer/controls.js +5 -5
  377. package/build-module/spacer/controls.js.map +1 -1
  378. package/build-module/spacer/controls.native.js +5 -5
  379. package/build-module/spacer/controls.native.js.map +1 -1
  380. package/build-module/table/edit.js +2 -2
  381. package/build-module/table/edit.js.map +1 -1
  382. package/build-module/template-part/edit/index.js +37 -65
  383. package/build-module/template-part/edit/index.js.map +1 -1
  384. package/build-module/template-part/edit/placeholder.js +52 -0
  385. package/build-module/template-part/edit/placeholder.js.map +1 -0
  386. package/build-module/template-part/edit/selection-modal.js +89 -0
  387. package/build-module/template-part/edit/selection-modal.js.map +1 -0
  388. package/build-module/template-part/edit/title-modal.js +46 -0
  389. package/build-module/template-part/edit/title-modal.js.map +1 -0
  390. package/build-module/template-part/edit/utils/hooks.js +135 -0
  391. package/build-module/template-part/edit/utils/hooks.js.map +1 -0
  392. package/build-module/template-part/index.js +2 -1
  393. package/build-module/template-part/index.js.map +1 -1
  394. package/build-module/video/edit.js +4 -4
  395. package/build-module/video/edit.js.map +1 -1
  396. package/build-module/video/edit.native.js +3 -3
  397. package/build-module/video/edit.native.js.map +1 -1
  398. package/build-style/button/editor-rtl.css +0 -3
  399. package/build-style/button/editor.css +0 -3
  400. package/build-style/code/style-rtl.css +2 -1
  401. package/build-style/code/style.css +2 -1
  402. package/build-style/code/theme-rtl.css +0 -3
  403. package/build-style/code/theme.css +0 -3
  404. package/build-style/comment-author-avatar/editor-rtl.css +83 -0
  405. package/build-style/comment-author-avatar/editor.css +83 -0
  406. package/build-style/common-rtl.css +1 -1
  407. package/build-style/common.css +1 -1
  408. package/build-style/cover/style-rtl.css +5 -5
  409. package/build-style/cover/style.css +5 -5
  410. package/build-style/editor-rtl.css +43 -84
  411. package/build-style/editor.css +43 -84
  412. package/build-style/image/editor-rtl.css +0 -16
  413. package/build-style/image/editor.css +0 -16
  414. package/build-style/image/style-rtl.css +4 -1
  415. package/build-style/image/style.css +4 -1
  416. package/build-style/navigation/editor-rtl.css +16 -0
  417. package/build-style/navigation/editor.css +16 -0
  418. package/build-style/navigation/style-rtl.css +14 -3
  419. package/build-style/navigation/style.css +14 -3
  420. package/build-style/page-list/editor-rtl.css +0 -9
  421. package/build-style/page-list/editor.css +0 -9
  422. package/build-style/style-rtl.css +32 -13
  423. package/build-style/style.css +32 -13
  424. package/build-style/tag-cloud/style-rtl.css +6 -2
  425. package/build-style/tag-cloud/style.css +6 -2
  426. package/build-style/template-part/editor-rtl.css +19 -56
  427. package/build-style/template-part/editor.css +19 -56
  428. package/build-style/theme-rtl.css +0 -3
  429. package/build-style/theme.css +0 -3
  430. package/package.json +32 -28
  431. package/src/archives/index.php +1 -1
  432. package/src/audio/edit.js +4 -4
  433. package/src/audio/edit.native.js +4 -4
  434. package/src/audio/transforms.js +1 -1
  435. package/src/block/edit.js +7 -22
  436. package/src/block/test/edit.native.js +9 -9
  437. package/src/button/edit.js +2 -1
  438. package/src/button/edit.native.js +5 -5
  439. package/src/button/editor.scss +0 -5
  440. package/src/buttons/test/edit.native.js +3 -3
  441. package/src/buttons/transforms.js +8 -8
  442. package/src/categories/edit.js +12 -22
  443. package/src/code/block.json +0 -1
  444. package/src/code/style.scss +4 -2
  445. package/src/code/theme.scss +0 -3
  446. package/src/columns/block.json +12 -0
  447. package/src/columns/columnCalculations.native.js +1 -1
  448. package/src/columns/edit.js +1 -1
  449. package/src/columns/edit.native.js +3 -3
  450. package/src/comment-author-avatar/edit.js +13 -8
  451. package/src/comment-author-avatar/editor.scss +7 -0
  452. package/src/comment-template/block.json +7 -1
  453. package/src/comment-template/edit.js +102 -40
  454. package/src/comment-template/hooks.js +151 -0
  455. package/src/comment-template/index.php +8 -0
  456. package/src/comment-template/util.js +1 -0
  457. package/src/comments-pagination-next/block.json +8 -1
  458. package/src/comments-pagination-next/index.php +6 -8
  459. package/src/comments-pagination-numbers/block.json +7 -1
  460. package/src/comments-pagination-numbers/index.php +3 -10
  461. package/src/comments-query-loop/block.json +5 -0
  462. package/src/comments-query-loop/edit/comments-inspector-controls.js +22 -4
  463. package/src/comments-query-loop/edit.js +1 -16
  464. package/src/common.scss +1 -1
  465. package/src/cover/controls.native.js +1 -1
  466. package/src/cover/deprecated.js +214 -1
  467. package/src/cover/edit.js +21 -36
  468. package/src/cover/edit.native.js +23 -15
  469. package/src/cover/overlay-color-settings.native.js +6 -7
  470. package/src/cover/save.js +4 -3
  471. package/src/cover/shared.js +2 -2
  472. package/src/cover/style.scss +5 -3
  473. package/src/cover/test/edit.native.js +39 -39
  474. package/src/cover/transforms.js +2 -0
  475. package/src/editor.scss +1 -0
  476. package/src/embed/edit.js +1 -1
  477. package/src/embed/edit.native.js +1 -1
  478. package/src/embed/test/index.native.js +105 -105
  479. package/src/embed/util.js +2 -2
  480. package/src/embed/variations.js +1 -1
  481. package/src/file/edit.js +19 -17
  482. package/src/file/edit.native.js +1 -1
  483. package/src/file/save.js +9 -3
  484. package/src/file/style.native.scss +1 -0
  485. package/src/freeform/edit.js +2 -2
  486. package/src/gallery/edit.js +1 -1
  487. package/src/gallery/gallery.native.js +1 -1
  488. package/src/gallery/index.php +1 -8
  489. package/src/gallery/test/__snapshots__/index.native.js.snap +164 -0
  490. package/src/gallery/test/helpers.native.js +293 -0
  491. package/src/gallery/test/index.native.js +583 -65
  492. package/src/gallery/v1/edit.js +3 -4
  493. package/src/gallery/v1/gallery-image.native.js +3 -3
  494. package/src/gallery/v1/gallery.native.js +2 -2
  495. package/src/group/block.json +1 -0
  496. package/src/group/index.js +2 -54
  497. package/src/group/transforms.js +52 -0
  498. package/src/heading/edit.js +18 -5
  499. package/src/home-link/edit.js +1 -1
  500. package/src/home-link/index.php +1 -19
  501. package/src/image/deprecated.js +105 -1
  502. package/src/image/edit.js +7 -6
  503. package/src/image/edit.native.js +25 -8
  504. package/src/image/editor.scss +0 -18
  505. package/src/image/save.js +0 -8
  506. package/src/image/style.scss +5 -1
  507. package/src/image/test/edit.native.js +1 -11
  508. package/src/image/transforms.js +1 -1
  509. package/src/index.js +2 -3
  510. package/src/index.native.js +2 -2
  511. package/src/latest-posts/edit.js +1 -0
  512. package/src/latest-posts/index.php +1 -1
  513. package/src/media-text/edit.js +20 -2
  514. package/src/media-text/edit.native.js +2 -2
  515. package/src/media-text/media-container.native.js +1 -1
  516. package/src/media-text/style.native.scss +1 -0
  517. package/src/missing/edit.native.js +1 -1
  518. package/src/missing/test/edit-integration.native.js +4 -4
  519. package/src/missing/test/edit.native.js +2 -2
  520. package/src/more/transforms.js +2 -2
  521. package/src/navigation/edit/index.js +212 -88
  522. package/src/navigation/edit/inner-blocks.js +11 -4
  523. package/src/navigation/edit/navigation-menu-selector.js +121 -58
  524. package/src/navigation/edit/placeholder/index.js +64 -111
  525. package/src/navigation/edit/placeholder/placeholder-preview.js +3 -10
  526. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  527. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +137 -0
  528. package/src/navigation/edit/use-create-navigation-menu.js +59 -8
  529. package/src/navigation/edit/use-navigation-notice.js +3 -3
  530. package/src/navigation/editor.scss +23 -1
  531. package/src/navigation/index.php +4 -4
  532. package/src/navigation/menu-items-to-blocks.js +1 -1
  533. package/src/navigation/style.scss +22 -3
  534. package/src/navigation/test/menu-items-to-blocks.js +1 -1
  535. package/src/navigation/use-navigation-entities.js +26 -60
  536. package/src/navigation/use-navigation-menu.js +11 -6
  537. package/src/navigation-link/fallback-variations.js +1 -1
  538. package/src/navigation-link/hooks.js +2 -2
  539. package/src/navigation-link/index.php +3 -22
  540. package/src/navigation-link/test/edit.js +5 -5
  541. package/src/navigation-submenu/edit.js +52 -14
  542. package/src/navigation-submenu/index.php +3 -21
  543. package/src/page-list/convert-to-links-modal.js +17 -31
  544. package/src/page-list/edit.js +35 -48
  545. package/src/page-list/editor.scss +0 -10
  546. package/src/page-list/index.php +4 -4
  547. package/src/post-author-name/edit.js +1 -0
  548. package/src/post-author-name/index.php +1 -1
  549. package/src/post-comments-form/edit.js +7 -3
  550. package/src/post-excerpt/edit.js +9 -12
  551. package/src/post-navigation-link/index.php +3 -3
  552. package/src/post-terms/edit.js +2 -1
  553. package/src/query-title/edit.js +0 -1
  554. package/src/search/edit.js +6 -0
  555. package/src/search/edit.native.js +1 -1
  556. package/src/search/index.php +8 -4
  557. package/src/search/test/edit.native.js +0 -1
  558. package/src/separator/save.js +4 -4
  559. package/src/separator/separator-settings.native.js +1 -1
  560. package/src/site-logo/edit.js +1 -1
  561. package/src/site-logo/index.php +1 -1
  562. package/src/social-link/edit.native.js +17 -8
  563. package/src/social-link/test/index.native.js +138 -0
  564. package/src/social-links/deprecated.js +0 -59
  565. package/src/spacer/controls.js +1 -1
  566. package/src/spacer/controls.native.js +1 -1
  567. package/src/table/edit.js +2 -2
  568. package/src/tag-cloud/style.scss +12 -7
  569. package/src/template-part/edit/index.js +61 -71
  570. package/src/template-part/edit/placeholder.js +78 -0
  571. package/src/template-part/edit/selection-modal.js +115 -0
  572. package/src/template-part/edit/title-modal.js +59 -0
  573. package/src/template-part/edit/utils/hooks.js +158 -0
  574. package/src/template-part/editor.scss +16 -74
  575. package/src/template-part/index.js +4 -1
  576. package/src/video/edit.js +4 -4
  577. package/src/video/edit.native.js +3 -3
  578. package/src/video/style.native.scss +1 -0
  579. package/build/navigation/edit/existing-menus-options.js +0 -62
  580. package/build/navigation/edit/existing-menus-options.js.map +0 -1
  581. package/build/navigation/use-convert-classic-menu.js +0 -59
  582. package/build/navigation/use-convert-classic-menu.js.map +0 -1
  583. package/build/template-part/edit/placeholder/index.js +0 -141
  584. package/build/template-part/edit/placeholder/index.js.map +0 -1
  585. package/build/template-part/edit/placeholder/patterns-setup.js +0 -100
  586. package/build/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  587. package/build/template-part/edit/selection/index.js +0 -45
  588. package/build/template-part/edit/selection/index.js.map +0 -1
  589. package/build/template-part/edit/selection/template-part-previews.js +0 -317
  590. package/build/template-part/edit/selection/template-part-previews.js.map +0 -1
  591. package/build-module/navigation/edit/existing-menus-options.js +0 -53
  592. package/build-module/navigation/edit/existing-menus-options.js.map +0 -1
  593. package/build-module/navigation/use-convert-classic-menu.js +0 -47
  594. package/build-module/navigation/use-convert-classic-menu.js.map +0 -1
  595. package/build-module/template-part/edit/placeholder/index.js +0 -124
  596. package/build-module/template-part/edit/placeholder/index.js.map +0 -1
  597. package/build-module/template-part/edit/placeholder/patterns-setup.js +0 -91
  598. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  599. package/build-module/template-part/edit/selection/index.js +0 -35
  600. package/build-module/template-part/edit/selection/index.js.map +0 -1
  601. package/build-module/template-part/edit/selection/template-part-previews.js +0 -298
  602. package/build-module/template-part/edit/selection/template-part-previews.js.map +0 -1
  603. package/src/navigation/edit/existing-menus-options.js +0 -70
  604. package/src/navigation/use-convert-classic-menu.js +0 -58
  605. package/src/template-part/edit/placeholder/index.js +0 -172
  606. package/src/template-part/edit/placeholder/patterns-setup.js +0 -124
  607. package/src/template-part/edit/selection/index.js +0 -37
  608. package/src/template-part/edit/selection/template-part-previews.js +0 -372
@@ -4,23 +4,58 @@
4
4
  import { serialize } from '@wordpress/blocks';
5
5
  import { store as coreStore } from '@wordpress/core-data';
6
6
  import { useDispatch } from '@wordpress/data';
7
- import { useCallback } from '@wordpress/element';
7
+ import { useState, useCallback } from '@wordpress/element';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
12
  import useGenerateDefaultNavigationTitle from './use-generate-default-navigation-title';
13
13
 
14
+ export const CREATE_NAVIGATION_MENU_SUCCESS = 'success';
15
+ export const CREATE_NAVIGATION_MENU_ERROR = 'error';
16
+ export const CREATE_NAVIGATION_MENU_PENDING = 'pending';
17
+ export const CREATE_NAVIGATION_MENU_IDLE = 'idle';
18
+
14
19
  export default function useCreateNavigationMenu( clientId ) {
20
+ const [ status, setStatus ] = useState( CREATE_NAVIGATION_MENU_IDLE );
21
+ const [ value, setValue ] = useState( null );
22
+ const [ error, setError ] = useState( null );
23
+
15
24
  const { saveEntityRecord } = useDispatch( coreStore );
16
25
  const generateDefaultTitle = useGenerateDefaultNavigationTitle( clientId );
17
26
 
18
27
  // This callback uses data from the two placeholder steps and only creates
19
28
  // a new navigation menu when the user completes the final step.
20
- return useCallback(
29
+ const create = useCallback(
21
30
  async ( title = null, blocks = [] ) => {
31
+ // Guard against creating Navigations without a title.
32
+ // Note you can pass no title, but if one is passed it must be
33
+ // a string otherwise the title may end up being empty.
34
+ if ( title && typeof title !== 'string' ) {
35
+ setError(
36
+ 'Invalid title supplied when creating Navigation Menu.'
37
+ );
38
+ setStatus( CREATE_NAVIGATION_MENU_ERROR );
39
+ throw new Error(
40
+ `Value of supplied title argument was not a string.`
41
+ );
42
+ }
43
+
44
+ setStatus( CREATE_NAVIGATION_MENU_PENDING );
45
+ setValue( null );
46
+ setError( null );
47
+
22
48
  if ( ! title ) {
23
- title = await generateDefaultTitle();
49
+ title = await generateDefaultTitle().catch( ( err ) => {
50
+ setError( err?.message );
51
+ setStatus( CREATE_NAVIGATION_MENU_ERROR );
52
+ throw new Error(
53
+ 'Failed to create title when saving new Navigation Menu.',
54
+ {
55
+ cause: err,
56
+ }
57
+ );
58
+ } );
24
59
  }
25
60
  const record = {
26
61
  title,
@@ -28,12 +63,28 @@ export default function useCreateNavigationMenu( clientId ) {
28
63
  status: 'publish',
29
64
  };
30
65
 
31
- return await saveEntityRecord(
32
- 'postType',
33
- 'wp_navigation',
34
- record
35
- );
66
+ // Return affords ability to await on this function directly
67
+ return saveEntityRecord( 'postType', 'wp_navigation', record )
68
+ .then( ( response ) => {
69
+ setValue( response );
70
+ setStatus( CREATE_NAVIGATION_MENU_SUCCESS );
71
+ return response;
72
+ } )
73
+ .catch( ( err ) => {
74
+ setError( err?.message );
75
+ setStatus( CREATE_NAVIGATION_MENU_ERROR );
76
+ throw new Error( 'Unable to save new Navigation Menu', {
77
+ cause: err,
78
+ } );
79
+ } );
36
80
  },
37
81
  [ serialize, saveEntityRecord ]
38
82
  );
83
+
84
+ return {
85
+ create,
86
+ status,
87
+ value,
88
+ error,
89
+ };
39
90
  }
@@ -5,19 +5,19 @@ import { useRef } from '@wordpress/element';
5
5
  import { useDispatch } from '@wordpress/data';
6
6
  import { store as noticeStore } from '@wordpress/notices';
7
7
 
8
- function useNavigationNotice( { name, message } = {} ) {
8
+ function useNavigationNotice( { name, message = '' } = {} ) {
9
9
  const noticeRef = useRef();
10
10
 
11
11
  const { createWarningNotice, removeNotice } = useDispatch( noticeStore );
12
12
 
13
- const showNotice = () => {
13
+ const showNotice = ( customMsg ) => {
14
14
  if ( noticeRef.current ) {
15
15
  return;
16
16
  }
17
17
 
18
18
  noticeRef.current = name;
19
19
 
20
- createWarningNotice( message, {
20
+ createWarningNotice( customMsg || message, {
21
21
  id: noticeRef.current,
22
22
  type: 'snackbar',
23
23
  } );
@@ -119,7 +119,6 @@
119
119
  display: none;
120
120
  }
121
121
 
122
-
123
122
  /**
124
123
  * Colors Selector component
125
124
  */
@@ -262,6 +261,10 @@ $color-control-label-height: 20px;
262
261
  }
263
262
  }
264
263
 
264
+ .wp-block-navigation-placeholder .components-spinner {
265
+ margin-top: 0;
266
+ }
267
+
265
268
  // Unselected state.
266
269
  .wp-block-navigation-placeholder__preview {
267
270
  display: flex;
@@ -558,6 +561,12 @@ body.editor-styles-wrapper
558
561
  }
559
562
  }
560
563
 
564
+ // Space spinner to give it breathing
565
+ // room when block is selected and has focus outline.
566
+ .wp-block-navigation .components-spinner {
567
+ padding: $grid-unit-10 $grid-unit-15;
568
+ }
569
+
561
570
  .wp-block-navigation__unsaved-changes {
562
571
  position: relative;
563
572
 
@@ -608,3 +617,16 @@ body.editor-styles-wrapper
608
617
  background-color: $white;
609
618
  }
610
619
  }
620
+
621
+ // Temp - hide toolbar component when Nav Menu Selector is empty.
622
+ // TODO - extract state to common hook or parent component to avoid render.
623
+ .wp-block-navigation__toolbar-menu-selector.components-toolbar-group:empty {
624
+ display: none;
625
+ }
626
+
627
+ // Temp - hide adjacent <hr>s when Nav Menu Selector is empty.
628
+ // TODO - extract state to common hook or parent component to avoid render of <hr>.
629
+ .wp-block-navigation-placeholder__actions hr + hr {
630
+ display: none;
631
+ }
632
+
@@ -515,7 +515,7 @@ function render_block_core_navigation( $attributes, $content, $block ) {
515
515
  )
516
516
  );
517
517
 
518
- $modal_unique_id = uniqid();
518
+ $modal_unique_id = wp_unique_id( 'modal-' );
519
519
 
520
520
  // Determine whether or not navigation elements should be wrapped in the markup required to make it responsive,
521
521
  // return early if they don't.
@@ -544,12 +544,12 @@ function render_block_core_navigation( $attributes, $content, $block ) {
544
544
  $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : 'Menu';
545
545
 
546
546
  $responsive_container_markup = sprintf(
547
- '<button aria-haspopup="true" aria-label="%3$s" class="%6$s" data-micromodal-trigger="modal-%1$s">%9$s</button>
548
- <div class="%5$s" style="%7$s" id="modal-%1$s">
547
+ '<button aria-haspopup="true" aria-label="%3$s" class="%6$s" data-micromodal-trigger="%1$s">%9$s</button>
548
+ <div class="%5$s" style="%7$s" id="%1$s">
549
549
  <div class="wp-block-navigation__responsive-close" tabindex="-1" data-micromodal-close>
550
550
  <div class="wp-block-navigation__responsive-dialog" aria-label="%8$s">
551
551
  <button aria-label="%4$s" data-micromodal-close class="wp-block-navigation__responsive-container-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"></path></svg></button>
552
- <div class="wp-block-navigation__responsive-container-content" id="modal-%1$s-content">
552
+ <div class="wp-block-navigation__responsive-container-content" id="%1$s-content">
553
553
  %2$s
554
554
  </div>
555
555
  </div>
@@ -78,7 +78,7 @@ function mapMenuItemsToBlocks( menuItems ) {
78
78
  // Create block with nested "innerBlocks".
79
79
  const block = createBlock( blockType, attributes, nestedBlocks );
80
80
 
81
- // Create mapping for menuItem -> block
81
+ // Create mapping for menuItem -> block.
82
82
  mapping[ menuItem.id ] = block.clientId;
83
83
 
84
84
  return block;
@@ -85,7 +85,6 @@ $navigation-icon-size: 24px;
85
85
  align-self: center; // This one affects nested submenu indicators.
86
86
  line-height: 0;
87
87
  display: inline-block;
88
- vertical-align: middle;
89
88
  font-size: inherit;
90
89
 
91
90
  // Affect the button as well.
@@ -95,15 +94,18 @@ $navigation-icon-size: 24px;
95
94
  border: none;
96
95
 
97
96
  // Scale to font size.
98
- margin-left: 0.25em;
99
97
  width: 0.6em;
100
98
  height: 0.6em;
99
+ margin-left: 0.25em;
101
100
 
102
101
  svg {
103
102
  display: inline-block;
104
103
  stroke: currentColor;
105
104
  width: inherit;
106
105
  height: inherit;
106
+
107
+ // Position the arrow to balance with the the text.
108
+ margin-top: 0.075em;
107
109
  }
108
110
  }
109
111
 
@@ -216,6 +218,11 @@ $navigation-icon-size: 24px;
216
218
  }
217
219
  }
218
220
 
221
+ // Push inwards from right edge of submenu.
222
+ .wp-block-navigation__submenu-icon {
223
+ margin-right: 0.25em;
224
+ }
225
+
219
226
  // Reset the submenu indicator for horizontal flyouts.
220
227
  .wp-block-navigation__submenu-icon svg {
221
228
  transform: rotate(-90deg);
@@ -245,7 +252,7 @@ $navigation-icon-size: 24px;
245
252
  }
246
253
 
247
254
  // Show submenus on click.
248
- .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-container {
255
+ .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
249
256
  visibility: visible;
250
257
  overflow: visible;
251
258
  opacity: 1;
@@ -300,6 +307,18 @@ button.wp-block-navigation-item__content {
300
307
  cursor: pointer;
301
308
  }
302
309
 
310
+ // When set to open on click, a button element is used.
311
+ // We pad it to include the arrow icon in the clickable area.
312
+ // The padding can be blanket for click, since you can't set click and hide the icon.
313
+ .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle {
314
+ padding-right: 0.6em + 0.25em; // Same size as icon plus margin.
315
+
316
+ + .wp-block-navigation__submenu-icon {
317
+ margin-left: -0.6em;
318
+ pointer-events: none; // Make the icon inert to allow click on the button.
319
+ }
320
+ }
321
+
303
322
 
304
323
  /**
305
324
  * Margins
@@ -320,7 +320,7 @@ describe( 'converting menu items to blocks', () => {
320
320
  type_label: 'Custom Link',
321
321
  object: 'custom',
322
322
  parent: 0,
323
- menu_order: 0, // capturing 0 edge case.
323
+ menu_order: 0, // Capturing 0 edge case.
324
324
  target: '',
325
325
  classes: [ '' ],
326
326
  xfn: [ '' ],
@@ -2,7 +2,10 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect } from '@wordpress/data';
5
- import { store as coreStore } from '@wordpress/core-data';
5
+ import {
6
+ store as coreStore,
7
+ __experimentalUseEntityRecords as useEntityRecords,
8
+ } from '@wordpress/core-data';
6
9
 
7
10
  /**
8
11
  * @typedef {Object} NavigationEntitiesData
@@ -34,31 +37,17 @@ export default function useNavigationEntities( menuId ) {
34
37
  }
35
38
 
36
39
  function useMenuEntities() {
37
- const { menus, isResolvingMenus, hasResolvedMenus } = useSelect(
38
- ( select ) => {
39
- const { getMenus, isResolving, hasFinishedResolution } = select(
40
- coreStore
41
- );
42
-
43
- const menusParameters = [ { per_page: -1, context: 'view' } ];
44
-
45
- return {
46
- menus: getMenus( ...menusParameters ),
47
- isResolvingMenus: isResolving( 'getMenus', menusParameters ),
48
- hasResolvedMenus: hasFinishedResolution(
49
- 'getMenus',
50
- menusParameters
51
- ),
52
- };
53
- },
54
- []
40
+ const { records, isResolving, hasResolved } = useEntityRecords(
41
+ 'root',
42
+ 'menu',
43
+ { per_page: -1, context: 'view' }
55
44
  );
56
45
 
57
46
  return {
58
- menus,
59
- isResolvingMenus,
60
- hasResolvedMenus,
61
- hasMenus: !! ( hasResolvedMenus && menus?.length ),
47
+ menus: records,
48
+ isResolvingMenus: isResolving,
49
+ hasResolvedMenus: hasResolved,
50
+ hasMenus: !! ( hasResolved && records?.length ),
62
51
  };
63
52
  }
64
53
 
@@ -100,45 +89,22 @@ function useMenuItemEntities( menuId ) {
100
89
  }
101
90
 
102
91
  function usePageEntities() {
103
- const { pages, isResolvingPages, hasResolvedPages } = useSelect(
104
- ( select ) => {
105
- const {
106
- getEntityRecords,
107
- isResolving,
108
- hasFinishedResolution,
109
- } = select( coreStore );
110
-
111
- const pagesParameters = [
112
- 'postType',
113
- 'page',
114
- {
115
- parent: 0,
116
- order: 'asc',
117
- orderby: 'id',
118
- per_page: -1,
119
- context: 'view',
120
- },
121
- ];
122
-
123
- return {
124
- pages: getEntityRecords( ...pagesParameters ) || null,
125
- isResolvingPages: isResolving(
126
- 'getEntityRecords',
127
- pagesParameters
128
- ),
129
- hasResolvedPages: hasFinishedResolution(
130
- 'getEntityRecords',
131
- pagesParameters
132
- ),
133
- };
134
- },
135
- []
92
+ const { records, isResolving, hasResolved } = useEntityRecords(
93
+ 'postType',
94
+ 'page',
95
+ {
96
+ parent: 0,
97
+ order: 'asc',
98
+ orderby: 'id',
99
+ per_page: -1,
100
+ context: 'view',
101
+ }
136
102
  );
137
103
 
138
104
  return {
139
- pages,
140
- isResolvingPages,
141
- hasResolvedPages,
142
- hasPages: !! ( hasResolvedPages && pages?.length ),
105
+ pages: records,
106
+ isResolvingPages: isResolving,
107
+ hasResolvedPages: hasResolved,
108
+ hasPages: !! ( hasResolved && records?.length ),
143
109
  };
144
110
  }
@@ -12,6 +12,7 @@ export default function useNavigationMenu( ref ) {
12
12
  getEditedEntityRecord,
13
13
  getEntityRecords,
14
14
  hasFinishedResolution,
15
+ isResolving,
15
16
  canUser,
16
17
  } = select( coreStore );
17
18
 
@@ -65,22 +66,26 @@ export default function useNavigationMenu( ref ) {
65
66
  ),
66
67
  navigationMenu,
67
68
  navigationMenus,
68
- canUserUpdateNavigationEntity: ref
69
+ canUserUpdateNavigationMenu: ref
69
70
  ? canUser( 'update', 'navigation', ref )
70
71
  : undefined,
71
- hasResolvedCanUserUpdateNavigationEntity: hasFinishedResolution(
72
+ hasResolvedCanUserUpdateNavigationMenu: hasFinishedResolution(
72
73
  'canUser',
73
74
  [ 'update', 'navigation', ref ]
74
75
  ),
75
- canUserDeleteNavigationEntity: ref
76
+ canUserDeleteNavigationMenu: ref
76
77
  ? canUser( 'delete', 'navigation', ref )
77
78
  : undefined,
78
- hasResolvedCanUserDeleteNavigationEntity: hasFinishedResolution(
79
+ hasResolvedCanUserDeleteNavigationMenu: hasFinishedResolution(
79
80
  'canUser',
80
81
  [ 'delete', 'navigation', ref ]
81
82
  ),
82
- canUserCreateNavigation: canUser( 'create', 'navigation' ),
83
- hasResolvedCanUserCreateNavigation: hasFinishedResolution(
83
+ canUserCreateNavigationMenu: canUser( 'create', 'navigation' ),
84
+ isResolvingCanUserCreateNavigationMenu: isResolving(
85
+ 'canUser',
86
+ [ 'create', 'navigation' ]
87
+ ),
88
+ hasResolvedCanUserCreateNavigationMenu: hasFinishedResolution(
84
89
  'canUser',
85
90
  [ 'create', 'navigation' ]
86
91
  ),
@@ -12,7 +12,7 @@ import {
12
12
  // FALLBACK: this is only used when the server does not understand the variations property in the
13
13
  // register_block_type call. see navigation-link/index.php.
14
14
  // Delete this file when supported WP ranges understand the `variations` property when passed to
15
- // register_block_type in index.php
15
+ // register_block_type in index.php.
16
16
  const fallbackVariations = [
17
17
  {
18
18
  name: 'link',
@@ -35,7 +35,7 @@ export function enhanceNavigationLinkVariations( settings, name ) {
35
35
  }
36
36
 
37
37
  // Fallback handling may be deleted after supported WP ranges understand the `variations`
38
- // property when passed to register_block_type in index.php
38
+ // property when passed to register_block_type in index.php.
39
39
  if ( ! settings.variations ) {
40
40
  return {
41
41
  ...settings,
@@ -43,7 +43,7 @@ export function enhanceNavigationLinkVariations( settings, name ) {
43
43
  };
44
44
  }
45
45
 
46
- // Otherwise decorate server passed variations with an icon and isActive function
46
+ // Otherwise decorate server passed variations with an icon and isActive function.
47
47
  if ( settings.variations ) {
48
48
  const isActive = ( blockAttributes, variationAttributes ) => {
49
49
  return blockAttributes.type === variationAttributes.type;
@@ -193,37 +193,18 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
193
193
  '<span class="wp-block-navigation-item__label">';
194
194
 
195
195
  if ( isset( $attributes['label'] ) ) {
196
- $html .= wp_kses(
197
- $attributes['label'],
198
- array(
199
- 'code' => array(),
200
- 'em' => array(),
201
- 'img' => array(
202
- 'scale' => array(),
203
- 'class' => array(),
204
- 'style' => array(),
205
- 'src' => array(),
206
- 'alt' => array(),
207
- ),
208
- 's' => array(),
209
- 'span' => array(
210
- 'style' => array(),
211
- ),
212
- 'strong' => array(),
213
- )
214
- );
196
+ $html .= wp_kses_post( $attributes['label'] );
215
197
  }
216
198
 
217
199
  $html .= '</span>';
200
+ $html .= '</a>';
201
+ // End anchor tag content.
218
202
 
219
203
  if ( isset( $block->context['showSubmenuIcon'] ) && $block->context['showSubmenuIcon'] && $has_submenu ) {
220
204
  // The submenu icon can be hidden by a CSS rule on the Navigation Block.
221
205
  $html .= '<span class="wp-block-navigation__submenu-icon">' . block_core_navigation_link_render_submenu_icon() . '</span>';
222
206
  }
223
207
 
224
- $html .= '</a>';
225
- // End anchor tag content.
226
-
227
208
  if ( $has_submenu ) {
228
209
  $inner_blocks_html = '';
229
210
  foreach ( $block->inner_blocks as $inner_block ) {
@@ -5,8 +5,8 @@ import { updateNavigationLinkBlockAttributes } from '../edit';
5
5
 
6
6
  describe( 'edit', () => {
7
7
  describe( 'updateNavigationLinkBlockAttributes', () => {
8
- // data shapes are linked to fetchLinkSuggestions from
9
- // core-data/src/fetch/__experimental-fetch-link-suggestions.js
8
+ // Data shapes are linked to fetchLinkSuggestions from
9
+ // core-data/src/fetch/__experimental-fetch-link-suggestions.js.
10
10
  it( 'can update a post link', () => {
11
11
  const setAttributes = jest.fn();
12
12
  const linkSuggestion = {
@@ -193,7 +193,7 @@ describe( 'edit', () => {
193
193
  setAttributes
194
194
  );
195
195
  // post_format returns a slug ID value from the Search API
196
- // we do not persist this ID since we expect this value to be a post or term ID
196
+ // we do not persist this ID since we expect this value to be a post or term ID.
197
197
  expect( setAttributes ).toHaveBeenCalledWith( {
198
198
  kind: 'taxonomy',
199
199
  opensInNewTab: false,
@@ -443,7 +443,7 @@ describe( 'edit', () => {
443
443
  type: 'post',
444
444
  url: 'https://wordpress.local/menu-test/',
445
445
  } );
446
- //click on the existing link control, and toggle opens new tab
446
+ // Click on the existing link control, and toggle opens new tab.
447
447
  updateNavigationLinkBlockAttributes(
448
448
  {
449
449
  url: 'https://wordpress.local/menu-test/',
@@ -488,7 +488,7 @@ describe( 'edit', () => {
488
488
  type: 'post',
489
489
  url: 'https://wordpress.local/menu-test/',
490
490
  } );
491
- //click on the existing link control, and toggle opens new tab
491
+ // Click on the existing link control, and toggle opens new tab.
492
492
  updateNavigationLinkBlockAttributes(
493
493
  {
494
494
  url: 'https://wordpress.local/foo/',