@wordpress/block-library 8.8.0 → 8.10.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 (437) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/comment-author-name/edit.js +1 -1
  3. package/build/comment-author-name/edit.js.map +1 -1
  4. package/build/comment-edit-link/edit.js +1 -1
  5. package/build/comment-edit-link/edit.js.map +1 -1
  6. package/build/cover/edit/inspector-controls.js +1 -1
  7. package/build/cover/edit/inspector-controls.js.map +1 -1
  8. package/build/cover/index.js +1 -1
  9. package/build/cover/transforms.js +10 -7
  10. package/build/cover/transforms.js.map +1 -1
  11. package/build/cover/variations.js +1 -1
  12. package/build/cover/variations.js.map +1 -1
  13. package/build/details/edit.js +19 -5
  14. package/build/details/edit.js.map +1 -1
  15. package/build/details/index.js +14 -10
  16. package/build/details/index.js.map +1 -1
  17. package/build/details/save.js +4 -1
  18. package/build/details/save.js.map +1 -1
  19. package/build/embed/variations.js +2 -2
  20. package/build/embed/variations.js.map +1 -1
  21. package/build/file/view.js +1 -1
  22. package/build/file/view.js.map +1 -1
  23. package/build/gallery/edit.js +2 -8
  24. package/build/gallery/edit.js.map +1 -1
  25. package/build/group/edit.js +3 -1
  26. package/build/group/edit.js.map +1 -1
  27. package/build/group/index.js +3 -0
  28. package/build/group/index.js.map +1 -1
  29. package/build/image/edit.js +16 -13
  30. package/build/image/edit.js.map +1 -1
  31. package/build/image/index.js +1 -1
  32. package/build/index.js +0 -6
  33. package/build/index.js.map +1 -1
  34. package/build/index.native.js +10 -6
  35. package/build/index.native.js.map +1 -1
  36. package/build/list-item/utils.js +5 -1
  37. package/build/list-item/utils.js.map +1 -1
  38. package/build/loginout/index.js +11 -1
  39. package/build/loginout/index.js.map +1 -1
  40. package/build/media-text/edit.js +4 -2
  41. package/build/media-text/edit.js.map +1 -1
  42. package/build/media-text/index.js +3 -0
  43. package/build/media-text/index.js.map +1 -1
  44. package/build/navigation/constants.js +13 -0
  45. package/build/navigation/constants.js.map +1 -0
  46. package/build/navigation/edit/index.js +26 -68
  47. package/build/navigation/edit/index.js.map +1 -1
  48. package/build/navigation/edit/inner-blocks.js +4 -7
  49. package/build/navigation/edit/inner-blocks.js.map +1 -1
  50. package/build/navigation/edit/unsaved-inner-blocks.js +4 -6
  51. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  52. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  53. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  54. package/build/navigation/interactivity.js +139 -0
  55. package/build/navigation/interactivity.js.map +1 -0
  56. package/build/navigation-link/edit.js +1 -1
  57. package/build/navigation-link/edit.js.map +1 -1
  58. package/build/navigation-submenu/edit.js +1 -1
  59. package/build/navigation-submenu/edit.js.map +1 -1
  60. package/build/paragraph/index.js +5 -1
  61. package/build/paragraph/index.js.map +1 -1
  62. package/build/paragraph/transforms.js +5 -1
  63. package/build/paragraph/transforms.js.map +1 -1
  64. package/build/post-author-name/edit.js +1 -1
  65. package/build/post-author-name/edit.js.map +1 -1
  66. package/build/post-date/edit.js +4 -2
  67. package/build/post-date/edit.js.map +1 -1
  68. package/build/post-excerpt/edit.js +2 -2
  69. package/build/post-excerpt/edit.js.map +1 -1
  70. package/build/post-featured-image/edit.js +6 -4
  71. package/build/post-featured-image/edit.js.map +1 -1
  72. package/build/post-featured-image/overlay.js +5 -0
  73. package/build/post-featured-image/overlay.js.map +1 -1
  74. package/build/post-title/edit.js +14 -4
  75. package/build/post-title/edit.js.map +1 -1
  76. package/build/preformatted/edit.native.js +3 -2
  77. package/build/preformatted/edit.native.js.map +1 -1
  78. package/build/query/deprecated.js +8 -6
  79. package/build/query/deprecated.js.map +1 -1
  80. package/build/query/edit/inspector-controls/create-new-post-link.js +41 -0
  81. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
  82. package/build/query/edit/inspector-controls/index.js +14 -6
  83. package/build/query/edit/inspector-controls/index.js.map +1 -1
  84. package/build/query/edit/pattern-selection-modal.js +2 -1
  85. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  86. package/build/query/index.js +5 -12
  87. package/build/query/index.js.map +1 -1
  88. package/build/quote/transforms.js +16 -27
  89. package/build/quote/transforms.js.map +1 -1
  90. package/build/read-more/edit.js +1 -1
  91. package/build/read-more/edit.js.map +1 -1
  92. package/build/search/edit.js +9 -1
  93. package/build/search/edit.js.map +1 -1
  94. package/build/site-logo/edit.js +114 -16
  95. package/build/site-logo/edit.js.map +1 -1
  96. package/build/site-logo/index.js +1 -1
  97. package/build/site-title/edit/index.js +1 -1
  98. package/build/site-title/edit/index.js.map +1 -1
  99. package/build/social-link/icons/chain.js +1 -1
  100. package/build/social-link/icons/chain.js.map +1 -1
  101. package/build/social-link/icons/mail.js +1 -1
  102. package/build/social-link/icons/mail.js.map +1 -1
  103. package/build/social-links/edit.js +2 -2
  104. package/build/social-links/edit.js.map +1 -1
  105. package/build/spacer/edit.js +117 -11
  106. package/build/spacer/edit.js.map +1 -1
  107. package/build/template-part/edit/index.js +2 -1
  108. package/build/template-part/edit/index.js.map +1 -1
  109. package/build/template-part/edit/utils/hooks.js +2 -2
  110. package/build/template-part/edit/utils/hooks.js.map +1 -1
  111. package/build/utils/interactivity/constants.js +9 -0
  112. package/build/utils/interactivity/constants.js.map +1 -0
  113. package/build/utils/interactivity/directives.js +208 -0
  114. package/build/utils/interactivity/directives.js.map +1 -0
  115. package/build/utils/interactivity/hooks.js +112 -0
  116. package/build/utils/interactivity/hooks.js.map +1 -0
  117. package/build/utils/interactivity/hydration.js +34 -0
  118. package/build/utils/interactivity/hydration.js.map +1 -0
  119. package/build/utils/interactivity/index.js +34 -0
  120. package/build/utils/interactivity/index.js.map +1 -0
  121. package/build/utils/interactivity/store.js +67 -0
  122. package/build/utils/interactivity/store.js.map +1 -0
  123. package/build/utils/interactivity/utils.js +87 -0
  124. package/build/utils/interactivity/utils.js.map +1 -0
  125. package/build/utils/interactivity/vdom.js +109 -0
  126. package/build/utils/interactivity/vdom.js.map +1 -0
  127. package/build/utils/migrate-font-family.js +12 -5
  128. package/build/utils/migrate-font-family.js.map +1 -1
  129. package/build/video/edit.native.js +4 -3
  130. package/build/video/edit.native.js.map +1 -1
  131. package/build-module/comment-author-name/edit.js +1 -1
  132. package/build-module/comment-author-name/edit.js.map +1 -1
  133. package/build-module/comment-edit-link/edit.js +1 -1
  134. package/build-module/comment-edit-link/edit.js.map +1 -1
  135. package/build-module/cover/edit/inspector-controls.js +1 -1
  136. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  137. package/build-module/cover/index.js +1 -1
  138. package/build-module/cover/transforms.js +5 -1
  139. package/build-module/cover/transforms.js.map +1 -1
  140. package/build-module/cover/variations.js +1 -1
  141. package/build-module/cover/variations.js.map +1 -1
  142. package/build-module/details/edit.js +20 -6
  143. package/build-module/details/edit.js.map +1 -1
  144. package/build-module/details/index.js +14 -10
  145. package/build-module/details/index.js.map +1 -1
  146. package/build-module/details/save.js +5 -2
  147. package/build-module/details/save.js.map +1 -1
  148. package/build-module/embed/variations.js +2 -2
  149. package/build-module/embed/variations.js.map +1 -1
  150. package/build-module/file/view.js +1 -1
  151. package/build-module/file/view.js.map +1 -1
  152. package/build-module/gallery/edit.js +2 -8
  153. package/build-module/gallery/edit.js.map +1 -1
  154. package/build-module/group/edit.js +3 -1
  155. package/build-module/group/edit.js.map +1 -1
  156. package/build-module/group/index.js +3 -0
  157. package/build-module/group/index.js.map +1 -1
  158. package/build-module/image/edit.js +16 -13
  159. package/build-module/image/edit.js.map +1 -1
  160. package/build-module/image/index.js +1 -1
  161. package/build-module/index.js +0 -4
  162. package/build-module/index.js.map +1 -1
  163. package/build-module/index.native.js +10 -6
  164. package/build-module/index.native.js.map +1 -1
  165. package/build-module/list-item/utils.js +5 -1
  166. package/build-module/list-item/utils.js.map +1 -1
  167. package/build-module/loginout/index.js +11 -1
  168. package/build-module/loginout/index.js.map +1 -1
  169. package/build-module/media-text/edit.js +4 -2
  170. package/build-module/media-text/edit.js.map +1 -1
  171. package/build-module/media-text/index.js +3 -0
  172. package/build-module/media-text/index.js.map +1 -1
  173. package/build-module/navigation/constants.js +5 -0
  174. package/build-module/navigation/constants.js.map +1 -0
  175. package/build-module/navigation/edit/index.js +28 -69
  176. package/build-module/navigation/edit/index.js.map +1 -1
  177. package/build-module/navigation/edit/inner-blocks.js +1 -4
  178. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  179. package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -4
  180. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  181. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  182. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  183. package/build-module/navigation/interactivity.js +136 -0
  184. package/build-module/navigation/interactivity.js.map +1 -0
  185. package/build-module/navigation-link/edit.js +1 -1
  186. package/build-module/navigation-link/edit.js.map +1 -1
  187. package/build-module/navigation-submenu/edit.js +1 -1
  188. package/build-module/navigation-submenu/edit.js.map +1 -1
  189. package/build-module/paragraph/index.js +5 -1
  190. package/build-module/paragraph/index.js.map +1 -1
  191. package/build-module/paragraph/transforms.js +5 -1
  192. package/build-module/paragraph/transforms.js.map +1 -1
  193. package/build-module/post-author-name/edit.js +1 -1
  194. package/build-module/post-author-name/edit.js.map +1 -1
  195. package/build-module/post-date/edit.js +4 -2
  196. package/build-module/post-date/edit.js.map +1 -1
  197. package/build-module/post-excerpt/edit.js +2 -2
  198. package/build-module/post-excerpt/edit.js.map +1 -1
  199. package/build-module/post-featured-image/edit.js +6 -4
  200. package/build-module/post-featured-image/edit.js.map +1 -1
  201. package/build-module/post-featured-image/overlay.js +5 -0
  202. package/build-module/post-featured-image/overlay.js.map +1 -1
  203. package/build-module/post-title/edit.js +13 -4
  204. package/build-module/post-title/edit.js.map +1 -1
  205. package/build-module/preformatted/edit.native.js +3 -2
  206. package/build-module/preformatted/edit.native.js.map +1 -1
  207. package/build-module/query/deprecated.js +5 -2
  208. package/build-module/query/deprecated.js.map +1 -1
  209. package/build-module/query/edit/inspector-controls/create-new-post-link.js +33 -0
  210. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
  211. package/build-module/query/edit/inspector-controls/index.js +12 -7
  212. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  213. package/build-module/query/edit/pattern-selection-modal.js +2 -1
  214. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  215. package/build-module/query/index.js +5 -10
  216. package/build-module/query/index.js.map +1 -1
  217. package/build-module/quote/transforms.js +16 -27
  218. package/build-module/quote/transforms.js.map +1 -1
  219. package/build-module/read-more/edit.js +1 -1
  220. package/build-module/read-more/edit.js.map +1 -1
  221. package/build-module/search/edit.js +9 -1
  222. package/build-module/search/edit.js.map +1 -1
  223. package/build-module/site-logo/edit.js +115 -18
  224. package/build-module/site-logo/edit.js.map +1 -1
  225. package/build-module/site-logo/index.js +1 -1
  226. package/build-module/site-title/edit/index.js +1 -1
  227. package/build-module/site-title/edit/index.js.map +1 -1
  228. package/build-module/social-link/icons/chain.js +1 -1
  229. package/build-module/social-link/icons/chain.js.map +1 -1
  230. package/build-module/social-link/icons/mail.js +1 -1
  231. package/build-module/social-link/icons/mail.js.map +1 -1
  232. package/build-module/social-links/edit.js +2 -2
  233. package/build-module/social-links/edit.js.map +1 -1
  234. package/build-module/spacer/edit.js +118 -12
  235. package/build-module/spacer/edit.js.map +1 -1
  236. package/build-module/template-part/edit/index.js +2 -1
  237. package/build-module/template-part/edit/index.js.map +1 -1
  238. package/build-module/template-part/edit/utils/hooks.js +2 -2
  239. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  240. package/build-module/utils/interactivity/constants.js +2 -0
  241. package/build-module/utils/interactivity/constants.js.map +1 -0
  242. package/build-module/utils/interactivity/directives.js +193 -0
  243. package/build-module/utils/interactivity/directives.js.map +1 -0
  244. package/build-module/utils/interactivity/hooks.js +98 -0
  245. package/build-module/utils/interactivity/hooks.js.map +1 -0
  246. package/build-module/utils/interactivity/hydration.js +21 -0
  247. package/build-module/utils/interactivity/hydration.js.map +1 -0
  248. package/build-module/utils/interactivity/index.js +17 -0
  249. package/build-module/utils/interactivity/index.js.map +1 -0
  250. package/build-module/utils/interactivity/store.js +56 -0
  251. package/build-module/utils/interactivity/store.js.map +1 -0
  252. package/build-module/utils/interactivity/utils.js +75 -0
  253. package/build-module/utils/interactivity/utils.js.map +1 -0
  254. package/build-module/utils/interactivity/vdom.js +97 -0
  255. package/build-module/utils/interactivity/vdom.js.map +1 -0
  256. package/build-module/utils/migrate-font-family.js +9 -1
  257. package/build-module/utils/migrate-font-family.js.map +1 -1
  258. package/build-module/video/edit.native.js +4 -3
  259. package/build-module/video/edit.native.js.map +1 -1
  260. package/build-style/cover/editor-rtl.css +3 -3
  261. package/build-style/cover/editor.css +3 -3
  262. package/build-style/cover/style-rtl.css +2 -1
  263. package/build-style/cover/style.css +2 -1
  264. package/build-style/{details-summary → details}/editor-rtl.css +1 -1
  265. package/build-style/{details-summary → details}/editor.css +1 -1
  266. package/build-style/details/style-rtl.css +14 -0
  267. package/build-style/details/style.css +14 -0
  268. package/build-style/editor-rtl.css +74 -39
  269. package/build-style/editor.css +74 -39
  270. package/build-style/gallery/editor-rtl.css +0 -4
  271. package/build-style/gallery/editor.css +0 -4
  272. package/build-style/html/editor-rtl.css +2 -2
  273. package/build-style/html/editor.css +2 -2
  274. package/build-style/image/editor-rtl.css +1 -1
  275. package/build-style/image/editor.css +1 -1
  276. package/build-style/query/editor-rtl.css +8 -12
  277. package/build-style/query/editor.css +8 -12
  278. package/build-style/search/editor-rtl.css +1 -0
  279. package/build-style/search/editor.css +1 -0
  280. package/build-style/search/style-rtl.css +2 -0
  281. package/build-style/search/style.css +2 -0
  282. package/build-style/shortcode/editor-rtl.css +3 -4
  283. package/build-style/shortcode/editor.css +3 -4
  284. package/build-style/site-logo/editor-rtl.css +47 -0
  285. package/build-style/site-logo/editor.css +47 -0
  286. package/build-style/style-rtl.css +15 -2
  287. package/build-style/style.css +15 -2
  288. package/build-style/template-part/editor-rtl.css +8 -12
  289. package/build-style/template-part/editor.css +8 -12
  290. package/package.json +36 -32
  291. package/src/buttons/test/__snapshots__/edit.native.js.snap +18 -0
  292. package/src/buttons/test/edit.native.js +123 -2
  293. package/src/comment-author-name/edit.js +1 -1
  294. package/src/comment-edit-link/edit.js +1 -1
  295. package/src/comment-template/index.php +8 -7
  296. package/src/cover/block.json +1 -1
  297. package/src/cover/edit/inspector-controls.js +56 -54
  298. package/src/cover/editor.scss +1 -1
  299. package/src/cover/style.scss +4 -0
  300. package/src/cover/test/edit.js +56 -2
  301. package/src/cover/transforms.js +4 -1
  302. package/src/cover/variations.js +1 -3
  303. package/src/details/block.json +8 -6
  304. package/src/details/edit.js +27 -5
  305. package/src/details/editor.scss +3 -0
  306. package/src/details/index.js +10 -5
  307. package/src/details/save.js +5 -1
  308. package/src/details/style.scss +16 -0
  309. package/src/editor.scss +1 -1
  310. package/src/embed/variations.js +2 -2
  311. package/src/file/view.js +4 -1
  312. package/src/gallery/edit.js +5 -8
  313. package/src/gallery/editor.scss +0 -6
  314. package/src/gallery/test/index.native.js +52 -7
  315. package/src/group/block.json +3 -0
  316. package/src/group/edit.js +8 -2
  317. package/src/heading/test/__snapshots__/index.native.js.snap +12 -0
  318. package/src/heading/test/index.native.js +71 -0
  319. package/src/html/editor.scss +2 -21
  320. package/src/image/block.json +1 -1
  321. package/src/image/edit.js +21 -17
  322. package/src/image/editor.scss +1 -1
  323. package/src/image/test/edit.native.js +38 -16
  324. package/src/index.js +0 -4
  325. package/src/index.native.js +10 -5
  326. package/src/list/test/edit.native.js +7 -7
  327. package/src/loginout/block.json +11 -1
  328. package/src/media-text/block.json +3 -0
  329. package/src/media-text/edit.js +2 -1
  330. package/src/navigation/constants.js +16 -0
  331. package/src/navigation/edit/index.js +77 -163
  332. package/src/navigation/edit/inner-blocks.js +1 -16
  333. package/src/navigation/edit/unsaved-inner-blocks.js +1 -16
  334. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  335. package/src/navigation/index.php +210 -197
  336. package/src/navigation/interactivity.js +144 -0
  337. package/src/navigation-link/edit.js +1 -1
  338. package/src/navigation-submenu/edit.js +1 -1
  339. package/src/paragraph/block.json +5 -1
  340. package/src/paragraph/test/edit.native.js +288 -28
  341. package/src/post-author-name/edit.js +1 -1
  342. package/src/post-date/edit.js +4 -0
  343. package/src/post-date/index.php +17 -8
  344. package/src/post-excerpt/edit.js +1 -1
  345. package/src/post-featured-image/edit.js +5 -4
  346. package/src/post-featured-image/overlay.js +4 -0
  347. package/src/post-terms/index.php +2 -2
  348. package/src/post-title/edit.js +8 -1
  349. package/src/preformatted/edit.native.js +1 -3
  350. package/src/preformatted/test/edit.native.js +6 -9
  351. package/src/pullquote/test/edit.native.js +7 -12
  352. package/src/query/deprecated.js +4 -1
  353. package/src/query/edit/inspector-controls/create-new-post-link.js +26 -0
  354. package/src/query/edit/inspector-controls/index.js +13 -6
  355. package/src/query/edit/pattern-selection-modal.js +1 -0
  356. package/src/query/editor.scss +8 -11
  357. package/src/query/index.js +1 -7
  358. package/src/quote/test/edit.native.js +6 -10
  359. package/src/quote/transforms.js +0 -6
  360. package/src/read-more/edit.js +1 -1
  361. package/src/search/edit.js +9 -4
  362. package/src/search/editor.scss +1 -0
  363. package/src/search/style.scss +3 -0
  364. package/src/shortcode/editor.scss +1 -21
  365. package/src/site-logo/block.json +1 -1
  366. package/src/site-logo/edit.js +123 -9
  367. package/src/site-logo/editor.scss +58 -0
  368. package/src/site-title/edit/index.js +1 -1
  369. package/src/social-link/icons/chain.js +1 -1
  370. package/src/social-link/icons/mail.js +1 -1
  371. package/src/social-link/index.php +2 -2
  372. package/src/social-links/edit.js +33 -31
  373. package/src/spacer/edit.js +157 -18
  374. package/src/style.scss +0 -1
  375. package/src/template-part/edit/index.js +1 -0
  376. package/src/template-part/edit/utils/hooks.js +2 -2
  377. package/src/template-part/editor.scss +9 -11
  378. package/src/template-part/index.php +20 -5
  379. package/src/utils/interactivity/constants.js +1 -0
  380. package/src/utils/interactivity/directives.js +179 -0
  381. package/src/utils/interactivity/hooks.js +76 -0
  382. package/src/utils/interactivity/hydration.js +22 -0
  383. package/src/utils/interactivity/index.js +17 -0
  384. package/src/utils/interactivity/store.js +45 -0
  385. package/src/utils/interactivity/utils.js +66 -0
  386. package/src/utils/interactivity/vdom.js +94 -0
  387. package/src/utils/migrate-font-family.js +8 -1
  388. package/src/verse/test/edit.native.js +4 -9
  389. package/src/video/edit.native.js +2 -2
  390. package/tsconfig.json +2 -0
  391. package/tsconfig.tsbuildinfo +1 -1
  392. package/build/details-content/edit.js +0 -34
  393. package/build/details-content/edit.js.map +0 -1
  394. package/build/details-content/index.js +0 -94
  395. package/build/details-content/index.js.map +0 -1
  396. package/build/details-content/save.js +0 -20
  397. package/build/details-content/save.js.map +0 -1
  398. package/build/details-summary/edit.js +0 -42
  399. package/build/details-summary/edit.js.map +0 -1
  400. package/build/details-summary/index.js +0 -97
  401. package/build/details-summary/index.js.map +0 -1
  402. package/build/details-summary/save.js +0 -24
  403. package/build/details-summary/save.js.map +0 -1
  404. package/build/query/hooks.js +0 -72
  405. package/build/query/hooks.js.map +0 -1
  406. package/build/utils/clean-empty-object.js +0 -37
  407. package/build/utils/clean-empty-object.js.map +0 -1
  408. package/build-module/details-content/edit.js +0 -23
  409. package/build-module/details-content/edit.js.map +0 -1
  410. package/build-module/details-content/index.js +0 -76
  411. package/build-module/details-content/index.js.map +0 -1
  412. package/build-module/details-content/save.js +0 -11
  413. package/build-module/details-content/save.js.map +0 -1
  414. package/build-module/details-summary/edit.js +0 -30
  415. package/build-module/details-summary/edit.js.map +0 -1
  416. package/build-module/details-summary/index.js +0 -79
  417. package/build-module/details-summary/index.js.map +0 -1
  418. package/build-module/details-summary/save.js +0 -16
  419. package/build-module/details-summary/save.js.map +0 -1
  420. package/build-module/query/hooks.js +0 -59
  421. package/build-module/query/hooks.js.map +0 -1
  422. package/build-module/utils/clean-empty-object.js +0 -28
  423. package/build-module/utils/clean-empty-object.js.map +0 -1
  424. package/build-style/details-summary/style-rtl.css +0 -91
  425. package/build-style/details-summary/style.css +0 -91
  426. package/src/details-content/block.json +0 -50
  427. package/src/details-content/edit.js +0 -29
  428. package/src/details-content/index.js +0 -23
  429. package/src/details-content/save.js +0 -12
  430. package/src/details-summary/block.json +0 -53
  431. package/src/details-summary/edit.js +0 -27
  432. package/src/details-summary/editor.scss +0 -3
  433. package/src/details-summary/index.js +0 -23
  434. package/src/details-summary/save.js +0 -13
  435. package/src/details-summary/style.scss +0 -3
  436. package/src/query/hooks.js +0 -53
  437. package/src/utils/clean-empty-object.js +0 -28
@@ -67,57 +67,7 @@ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
67
67
  }
68
68
  }
69
69
 
70
- /**
71
- * Turns menu item data into a nested array of parsed blocks
72
- *
73
- * @param array $menu_items An array of menu items that represent
74
- * an individual level of a menu.
75
- * @param array $menu_items_by_parent_id An array keyed by the id of the
76
- * parent menu where each element is an
77
- * array of menu items that belong to
78
- * that parent.
79
- * @return array An array of parsed block data.
80
- */
81
- function block_core_navigation_parse_blocks_from_menu_items( $menu_items, $menu_items_by_parent_id ) {
82
- if ( empty( $menu_items ) ) {
83
- return array();
84
- }
85
-
86
- $blocks = array();
87
-
88
- foreach ( $menu_items as $menu_item ) {
89
- $class_name = ! empty( $menu_item->classes ) ? implode( ' ', (array) $menu_item->classes ) : null;
90
- $id = ( null !== $menu_item->object_id && 'custom' !== $menu_item->object ) ? $menu_item->object_id : null;
91
- $opens_in_new_tab = null !== $menu_item->target && '_blank' === $menu_item->target;
92
- $rel = ( null !== $menu_item->xfn && '' !== $menu_item->xfn ) ? $menu_item->xfn : null;
93
- $kind = null !== $menu_item->type ? str_replace( '_', '-', $menu_item->type ) : 'custom';
94
-
95
- $block = array(
96
- 'blockName' => isset( $menu_items_by_parent_id[ $menu_item->ID ] ) ? 'core/navigation-submenu' : 'core/navigation-link',
97
- 'attrs' => array(
98
- 'className' => $class_name,
99
- 'description' => $menu_item->description,
100
- 'id' => $id,
101
- 'kind' => $kind,
102
- 'label' => $menu_item->title,
103
- 'opensInNewTab' => $opens_in_new_tab,
104
- 'rel' => $rel,
105
- 'title' => $menu_item->attr_title,
106
- 'type' => $menu_item->object,
107
- 'url' => $menu_item->url,
108
- ),
109
- );
110
-
111
- $block['innerBlocks'] = isset( $menu_items_by_parent_id[ $menu_item->ID ] )
112
- ? block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[ $menu_item->ID ], $menu_items_by_parent_id )
113
- : array();
114
- $block['innerContent'] = array_map( 'serialize_block', $block['innerBlocks'] );
115
-
116
- $blocks[] = $block;
117
- }
118
70
 
119
- return $blocks;
120
- }
121
71
 
122
72
  /**
123
73
  * Build an array with CSS classes and inline styles defining the colors
@@ -248,148 +198,9 @@ function block_core_navigation_render_submenu_icon() {
248
198
  return '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg>';
249
199
  }
250
200
 
251
- /**
252
- * Get the classic navigation menu to use as a fallback.
253
- *
254
- * @return object WP_Term The classic navigation.
255
- */
256
- function block_core_navigation_get_classic_menu_fallback() {
257
- $classic_nav_menus = wp_get_nav_menus();
258
-
259
- // If menus exist.
260
- if ( $classic_nav_menus && ! is_wp_error( $classic_nav_menus ) ) {
261
- // Handles simple use case where user has a classic menu and switches to a block theme.
262
-
263
- // Returns the menu assigned to location `primary`.
264
- $locations = get_nav_menu_locations();
265
- if ( isset( $locations['primary'] ) ) {
266
- $primary_menu = wp_get_nav_menu_object( $locations['primary'] );
267
- if ( $primary_menu ) {
268
- return $primary_menu;
269
- }
270
- }
271
-
272
- // Returns a menu if `primary` is its slug.
273
- foreach ( $classic_nav_menus as $classic_nav_menu ) {
274
- if ( 'primary' === $classic_nav_menu->slug ) {
275
- return $classic_nav_menu;
276
- }
277
- }
278
-
279
- // Otherwise return the most recently created classic menu.
280
- usort(
281
- $classic_nav_menus,
282
- function( $a, $b ) {
283
- return $b->term_id - $a->term_id;
284
- }
285
- );
286
- return $classic_nav_menus[0];
287
- }
288
- }
289
-
290
- /**
291
- * Converts a classic navigation to blocks.
292
- *
293
- * @param object $classic_nav_menu WP_Term The classic navigation object to convert.
294
- * @return array the normalized parsed blocks.
295
- */
296
- function block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu ) {
297
- // BEGIN: Code that already exists in wp_nav_menu().
298
- $menu_items = wp_get_nav_menu_items( $classic_nav_menu->term_id, array( 'update_post_term_cache' => false ) );
299
-
300
- // Set up the $menu_item variables.
301
- _wp_menu_item_classes_by_context( $menu_items );
302
-
303
- $sorted_menu_items = array();
304
- foreach ( (array) $menu_items as $menu_item ) {
305
- $sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
306
- }
307
-
308
- unset( $menu_items, $menu_item );
309
-
310
- // END: Code that already exists in wp_nav_menu().
311
-
312
- $menu_items_by_parent_id = array();
313
- foreach ( $sorted_menu_items as $menu_item ) {
314
- $menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
315
- }
316
-
317
- $inner_blocks = block_core_navigation_parse_blocks_from_menu_items(
318
- isset( $menu_items_by_parent_id[0] )
319
- ? $menu_items_by_parent_id[0]
320
- : array(),
321
- $menu_items_by_parent_id
322
- );
323
-
324
- return serialize_blocks( $inner_blocks );
325
- }
326
-
327
- /**
328
- * If there's a the classic menu then use it as a fallback.
329
- *
330
- * @return array the normalized parsed blocks.
331
- */
332
- function block_core_navigation_maybe_use_classic_menu_fallback() {
333
- // See if we have a classic menu.
334
- $classic_nav_menu = block_core_navigation_get_classic_menu_fallback();
335
201
 
336
- if ( ! $classic_nav_menu ) {
337
- return;
338
- }
339
202
 
340
- // If we have a classic menu then convert it to blocks.
341
- $classic_nav_menu_blocks = block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu );
342
203
 
343
- if ( empty( $classic_nav_menu_blocks ) ) {
344
- return;
345
- }
346
-
347
- // Create a new navigation menu from the classic menu.
348
- $wp_insert_post_result = wp_insert_post(
349
- array(
350
- 'post_content' => $classic_nav_menu_blocks,
351
- 'post_title' => $classic_nav_menu->name,
352
- 'post_name' => $classic_nav_menu->slug,
353
- 'post_status' => 'publish',
354
- 'post_type' => 'wp_navigation',
355
- ),
356
- true // So that we can check whether the result is an error.
357
- );
358
-
359
- if ( is_wp_error( $wp_insert_post_result ) ) {
360
- return;
361
- }
362
-
363
- // Fetch the most recently published navigation which will be the classic one created above.
364
- return block_core_navigation_get_most_recently_published_navigation();
365
- }
366
-
367
- /**
368
- * Finds the most recently published `wp_navigation` Post.
369
- *
370
- * @return WP_Post|null the first non-empty Navigation or null.
371
- */
372
- function block_core_navigation_get_most_recently_published_navigation() {
373
-
374
- // Default to the most recently created menu.
375
- $parsed_args = array(
376
- 'post_type' => 'wp_navigation',
377
- 'no_found_rows' => true,
378
- 'update_post_meta_cache' => false,
379
- 'update_post_term_cache' => false,
380
- 'order' => 'DESC',
381
- 'orderby' => 'date',
382
- 'post_status' => 'publish',
383
- 'posts_per_page' => 1, // get only the most recent.
384
- );
385
-
386
- $navigation_post = new WP_Query( $parsed_args );
387
- if ( count( $navigation_post->posts ) > 0 ) {
388
- return $navigation_post->posts[0];
389
- }
390
-
391
- return null;
392
- }
393
204
 
394
205
  /**
395
206
  * Filter out empty "null" blocks from the block list.
@@ -452,14 +263,7 @@ function block_core_navigation_get_fallback_blocks() {
452
263
  // If `core/page-list` is not registered then return empty blocks.
453
264
  $fallback_blocks = $registry->is_registered( 'core/page-list' ) ? $page_list_fallback : array();
454
265
 
455
- // Default to a list of Pages.
456
- $navigation_post = block_core_navigation_get_most_recently_published_navigation();
457
-
458
- // If there are no navigation posts then try to find a classic menu
459
- // and convert it into a block based navigation menu.
460
- if ( ! $navigation_post ) {
461
- $navigation_post = block_core_navigation_maybe_use_classic_menu_fallback();
462
- }
266
+ $navigation_post = WP_Navigation_Fallback_Gutenberg::get_fallback();
463
267
 
464
268
  // Use the first non-empty Navigation as fallback if available.
465
269
  if ( $navigation_post ) {
@@ -874,3 +678,212 @@ function block_core_navigation_typographic_presets_backcompatibility( $parsed_bl
874
678
  }
875
679
 
876
680
  add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' );
681
+
682
+ /**
683
+ * Turns menu item data into a nested array of parsed blocks
684
+ *
685
+ * @param array $menu_items An array of menu items that represent
686
+ * an individual level of a menu.
687
+ * @param array $menu_items_by_parent_id An array keyed by the id of the
688
+ * parent menu where each element is an
689
+ * array of menu items that belong to
690
+ * that parent.
691
+ * @return array An array of parsed block data.
692
+ */
693
+ function block_core_navigation_parse_blocks_from_menu_items( $menu_items, $menu_items_by_parent_id ) {
694
+
695
+ _deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback_Gutenberg::parse_blocks_from_menu_items' );
696
+
697
+ if ( empty( $menu_items ) ) {
698
+ return array();
699
+ }
700
+
701
+ $blocks = array();
702
+
703
+ foreach ( $menu_items as $menu_item ) {
704
+ $class_name = ! empty( $menu_item->classes ) ? implode( ' ', (array) $menu_item->classes ) : null;
705
+ $id = ( null !== $menu_item->object_id && 'custom' !== $menu_item->object ) ? $menu_item->object_id : null;
706
+ $opens_in_new_tab = null !== $menu_item->target && '_blank' === $menu_item->target;
707
+ $rel = ( null !== $menu_item->xfn && '' !== $menu_item->xfn ) ? $menu_item->xfn : null;
708
+ $kind = null !== $menu_item->type ? str_replace( '_', '-', $menu_item->type ) : 'custom';
709
+
710
+ $block = array(
711
+ 'blockName' => isset( $menu_items_by_parent_id[ $menu_item->ID ] ) ? 'core/navigation-submenu' : 'core/navigation-link',
712
+ 'attrs' => array(
713
+ 'className' => $class_name,
714
+ 'description' => $menu_item->description,
715
+ 'id' => $id,
716
+ 'kind' => $kind,
717
+ 'label' => $menu_item->title,
718
+ 'opensInNewTab' => $opens_in_new_tab,
719
+ 'rel' => $rel,
720
+ 'title' => $menu_item->attr_title,
721
+ 'type' => $menu_item->object,
722
+ 'url' => $menu_item->url,
723
+ ),
724
+ );
725
+
726
+ $block['innerBlocks'] = isset( $menu_items_by_parent_id[ $menu_item->ID ] )
727
+ ? block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[ $menu_item->ID ], $menu_items_by_parent_id )
728
+ : array();
729
+ $block['innerContent'] = array_map( 'serialize_block', $block['innerBlocks'] );
730
+
731
+ $blocks[] = $block;
732
+ }
733
+
734
+ return $blocks;
735
+ }
736
+
737
+ /**
738
+ * Get the classic navigation menu to use as a fallback.
739
+ *
740
+ * @return object WP_Term The classic navigation.
741
+ */
742
+ function block_core_navigation_get_classic_menu_fallback() {
743
+
744
+ _deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback_Gutenberg::get_classic_menu_fallback' );
745
+
746
+ $classic_nav_menus = wp_get_nav_menus();
747
+
748
+ // If menus exist.
749
+ if ( $classic_nav_menus && ! is_wp_error( $classic_nav_menus ) ) {
750
+ // Handles simple use case where user has a classic menu and switches to a block theme.
751
+
752
+ // Returns the menu assigned to location `primary`.
753
+ $locations = get_nav_menu_locations();
754
+ if ( isset( $locations['primary'] ) ) {
755
+ $primary_menu = wp_get_nav_menu_object( $locations['primary'] );
756
+ if ( $primary_menu ) {
757
+ return $primary_menu;
758
+ }
759
+ }
760
+
761
+ // Returns a menu if `primary` is its slug.
762
+ foreach ( $classic_nav_menus as $classic_nav_menu ) {
763
+ if ( 'primary' === $classic_nav_menu->slug ) {
764
+ return $classic_nav_menu;
765
+ }
766
+ }
767
+
768
+ // Otherwise return the most recently created classic menu.
769
+ usort(
770
+ $classic_nav_menus,
771
+ function( $a, $b ) {
772
+ return $b->term_id - $a->term_id;
773
+ }
774
+ );
775
+ return $classic_nav_menus[0];
776
+ }
777
+ }
778
+
779
+ /**
780
+ * Converts a classic navigation to blocks.
781
+ *
782
+ * @param object $classic_nav_menu WP_Term The classic navigation object to convert.
783
+ * @return array the normalized parsed blocks.
784
+ */
785
+ function block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu ) {
786
+
787
+ _deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback_Gutenberg::get_classic_menu_fallback_blocks' );
788
+
789
+ // BEGIN: Code that already exists in wp_nav_menu().
790
+ $menu_items = wp_get_nav_menu_items( $classic_nav_menu->term_id, array( 'update_post_term_cache' => false ) );
791
+
792
+ // Set up the $menu_item variables.
793
+ _wp_menu_item_classes_by_context( $menu_items );
794
+
795
+ $sorted_menu_items = array();
796
+ foreach ( (array) $menu_items as $menu_item ) {
797
+ $sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
798
+ }
799
+
800
+ unset( $menu_items, $menu_item );
801
+
802
+ // END: Code that already exists in wp_nav_menu().
803
+
804
+ $menu_items_by_parent_id = array();
805
+ foreach ( $sorted_menu_items as $menu_item ) {
806
+ $menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
807
+ }
808
+
809
+ $inner_blocks = block_core_navigation_parse_blocks_from_menu_items(
810
+ isset( $menu_items_by_parent_id[0] )
811
+ ? $menu_items_by_parent_id[0]
812
+ : array(),
813
+ $menu_items_by_parent_id
814
+ );
815
+
816
+ return serialize_blocks( $inner_blocks );
817
+ }
818
+
819
+ /**
820
+ * If there's a the classic menu then use it as a fallback.
821
+ *
822
+ * @return array the normalized parsed blocks.
823
+ */
824
+ function block_core_navigation_maybe_use_classic_menu_fallback() {
825
+
826
+ _deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback_Gutenberg::create_classic_menu_fallback' );
827
+
828
+ // See if we have a classic menu.
829
+ $classic_nav_menu = block_core_navigation_get_classic_menu_fallback();
830
+
831
+ if ( ! $classic_nav_menu ) {
832
+ return;
833
+ }
834
+
835
+ // If we have a classic menu then convert it to blocks.
836
+ $classic_nav_menu_blocks = block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu );
837
+
838
+ if ( empty( $classic_nav_menu_blocks ) ) {
839
+ return;
840
+ }
841
+
842
+ // Create a new navigation menu from the classic menu.
843
+ $wp_insert_post_result = wp_insert_post(
844
+ array(
845
+ 'post_content' => $classic_nav_menu_blocks,
846
+ 'post_title' => $classic_nav_menu->name,
847
+ 'post_name' => $classic_nav_menu->slug,
848
+ 'post_status' => 'publish',
849
+ 'post_type' => 'wp_navigation',
850
+ ),
851
+ true // So that we can check whether the result is an error.
852
+ );
853
+
854
+ if ( is_wp_error( $wp_insert_post_result ) ) {
855
+ return;
856
+ }
857
+
858
+ // Fetch the most recently published navigation which will be the classic one created above.
859
+ return block_core_navigation_get_most_recently_published_navigation();
860
+ }
861
+
862
+ /**
863
+ * Finds the most recently published `wp_navigation` Post.
864
+ *
865
+ * @return WP_Post|null the first non-empty Navigation or null.
866
+ */
867
+ function block_core_navigation_get_most_recently_published_navigation() {
868
+
869
+ _deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback_Gutenberg::get_most_recently_published_navigation' );
870
+
871
+ // Default to the most recently created menu.
872
+ $parsed_args = array(
873
+ 'post_type' => 'wp_navigation',
874
+ 'no_found_rows' => true,
875
+ 'update_post_meta_cache' => false,
876
+ 'update_post_term_cache' => false,
877
+ 'order' => 'DESC',
878
+ 'orderby' => 'date',
879
+ 'post_status' => 'publish',
880
+ 'posts_per_page' => 1, // get only the most recent.
881
+ );
882
+
883
+ $navigation_post = new WP_Query( $parsed_args );
884
+ if ( count( $navigation_post->posts ) > 0 ) {
885
+ return $navigation_post->posts[0];
886
+ }
887
+
888
+ return null;
889
+ }
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { store } from '../utils/interactivity';
5
+
6
+ const focusableSelectors = [
7
+ 'a[href]',
8
+ 'area[href]',
9
+ 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
10
+ 'select:not([disabled]):not([aria-hidden])',
11
+ 'textarea:not([disabled]):not([aria-hidden])',
12
+ 'button:not([disabled]):not([aria-hidden])',
13
+ 'iframe',
14
+ 'object',
15
+ 'embed',
16
+ '[contenteditable]',
17
+ '[tabindex]:not([tabindex^="-"])',
18
+ ];
19
+
20
+ store( {
21
+ effects: {
22
+ core: {
23
+ navigation: {
24
+ initModal: async ( { context, ref } ) => {
25
+ if ( context.core.navigation.isMenuOpen ) {
26
+ const focusableElements =
27
+ ref.querySelectorAll( focusableSelectors );
28
+ context.core.navigation.modal = ref;
29
+ context.core.navigation.firstFocusableElement =
30
+ focusableElements[ 0 ];
31
+ context.core.navigation.lastFocusableElement =
32
+ focusableElements[ focusableElements.length - 1 ];
33
+ }
34
+ },
35
+ focusFirstElement: async ( { context, ref } ) => {
36
+ if ( context.core.navigation.isMenuOpen ) {
37
+ ref.querySelector(
38
+ '.wp-block-navigation-item > *:first-child'
39
+ ).focus();
40
+ }
41
+ },
42
+ },
43
+ },
44
+ },
45
+ selectors: {
46
+ core: {
47
+ navigation: {
48
+ roleAttribute: ( { context } ) => {
49
+ return context.core.navigation.overlay &&
50
+ context.core.navigation.isMenuOpen
51
+ ? 'dialog'
52
+ : '';
53
+ },
54
+ },
55
+ },
56
+ },
57
+ actions: {
58
+ core: {
59
+ navigation: {
60
+ openMenu: ( { context, ref } ) => {
61
+ context.core.navigation.isMenuOpen = true;
62
+ context.core.navigation.previousFocus = ref;
63
+ if ( context.core.navigation.overlay ) {
64
+ // It adds a `has-modal-open` class to the <html> root
65
+ document.documentElement.classList.add(
66
+ 'has-modal-open'
67
+ );
68
+ }
69
+ },
70
+ closeMenu: ( { context } ) => {
71
+ if ( context.core.navigation.isMenuOpen ) {
72
+ context.core.navigation.isMenuOpen = false;
73
+ if (
74
+ context.core.navigation.modal.contains(
75
+ window.document.activeElement
76
+ )
77
+ ) {
78
+ context.core.navigation.previousFocus.focus();
79
+ }
80
+ context.core.navigation.modal = null;
81
+ context.core.navigation.previousFocus = null;
82
+ if ( context.core.navigation.overlay ) {
83
+ document.documentElement.classList.remove(
84
+ 'has-modal-open'
85
+ );
86
+ }
87
+ }
88
+ },
89
+ handleMenuKeydown: ( { actions, context, event } ) => {
90
+ if ( context.core.navigation.isMenuOpen ) {
91
+ // If Escape close the menu
92
+ if (
93
+ event?.key === 'Escape' ||
94
+ event?.keyCode === 27
95
+ ) {
96
+ actions.core.navigation.closeMenu( { context } );
97
+ return;
98
+ }
99
+
100
+ // Trap focus if it is an overlay (main menu)
101
+ if (
102
+ context.core.navigation.overlay &&
103
+ ( event.key === 'Tab' || event.keyCode === 9 )
104
+ ) {
105
+ // If shift + tab it change the direction
106
+ if (
107
+ event.shiftKey &&
108
+ window.document.activeElement ===
109
+ context.core.navigation
110
+ .firstFocusableElement
111
+ ) {
112
+ event.preventDefault();
113
+ context.core.navigation.lastFocusableElement.focus();
114
+ } else if (
115
+ ! event.shiftKey &&
116
+ window.document.activeElement ===
117
+ context.core.navigation.lastFocusableElement
118
+ ) {
119
+ event.preventDefault();
120
+ context.core.navigation.firstFocusableElement.focus();
121
+ }
122
+ }
123
+ }
124
+ },
125
+ handleMenuFocusout: ( { actions, context, event } ) => {
126
+ if ( context.core.navigation.isMenuOpen ) {
127
+ // If focus is outside modal, and in the document, close menu
128
+ // event.target === The element losing focus
129
+ // event.relatedTarget === The element receiving focus (if any)
130
+ // When focusout is outsite the document, `window.document.activeElement` doesn't change
131
+ if (
132
+ ! context.core.navigation.modal.contains(
133
+ event.relatedTarget
134
+ ) &&
135
+ event.target !== window.document.activeElement
136
+ ) {
137
+ actions.core.navigation.closeMenu( { context } );
138
+ }
139
+ }
140
+ },
141
+ },
142
+ },
143
+ },
144
+ } );
@@ -429,7 +429,7 @@ export default function NavigationLinkEdit( {
429
429
  </BlockControls>
430
430
  { /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }
431
431
  <InspectorControls>
432
- <PanelBody title={ __( 'Link settings' ) }>
432
+ <PanelBody title={ __( 'Settings' ) }>
433
433
  <TextControl
434
434
  __nextHasNoMarginBottom
435
435
  value={ label ? stripHTML( label ) : '' }
@@ -384,7 +384,7 @@ export default function NavigationSubmenuEdit( {
384
384
  </BlockControls>
385
385
  { /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }
386
386
  <InspectorControls>
387
- <PanelBody title={ __( 'Link settings' ) }>
387
+ <PanelBody title={ __( 'Settings' ) }>
388
388
  <TextControl
389
389
  __nextHasNoMarginBottom
390
390
  value={ label || '' }
@@ -43,7 +43,11 @@
43
43
  },
44
44
  "spacing": {
45
45
  "margin": true,
46
- "padding": true
46
+ "padding": true,
47
+ "__experimentalDefaultControls": {
48
+ "margin": false,
49
+ "padding": false
50
+ }
47
51
  },
48
52
  "typography": {
49
53
  "fontSize": true,