@wordpress/block-library 11.0.0 → 11.1.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 (811) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +7 -7
  3. package/build/accordion/block.json +4 -1
  4. package/build/accordion-item/block.json +7 -1
  5. package/build/accordion-panel/block.json +9 -1
  6. package/build/archives/block.json +9 -0
  7. package/build/archives/edit.cjs.map +3 -3
  8. package/build/audio/block.json +8 -0
  9. package/build/audio/edit.cjs.map +3 -3
  10. package/build/avatar/hooks.cjs.map +2 -2
  11. package/build/breadcrumbs/block.json +3 -0
  12. package/build/breadcrumbs/edit.cjs.map +3 -3
  13. package/build/button/edit.cjs.map +2 -2
  14. package/build/buttons/block.json +9 -0
  15. package/build/categories/block.json +12 -1
  16. package/build/categories/edit.cjs.map +3 -3
  17. package/build/code/block.json +10 -0
  18. package/build/code/save.cjs.map +2 -2
  19. package/build/column/block.json +9 -0
  20. package/build/columns/block.json +9 -0
  21. package/build/comment-author-name/block.json +3 -0
  22. package/build/comment-content/block.json +5 -0
  23. package/build/comment-date/block.json +3 -0
  24. package/build/comment-edit-link/block.json +3 -0
  25. package/build/comment-reply-link/block.json +3 -0
  26. package/build/comment-template/hooks.cjs.map +2 -2
  27. package/build/comments/block.json +10 -0
  28. package/build/comments-pagination/block.json +3 -0
  29. package/build/comments-pagination-next/block.json +3 -0
  30. package/build/comments-pagination-numbers/block.json +3 -0
  31. package/build/comments-pagination-previous/block.json +6 -0
  32. package/build/comments-title/block.json +3 -0
  33. package/build/cover/edit/index.cjs +4 -1
  34. package/build/cover/edit/index.cjs.map +2 -2
  35. package/build/cover/edit/inspector-controls.cjs +52 -13
  36. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  37. package/build/cover/transforms.cjs.map +2 -2
  38. package/build/details/block.json +12 -0
  39. package/build/details/index.cjs.map +2 -2
  40. package/build/embed/embed-controls.cjs.map +2 -2
  41. package/build/file/block.json +9 -0
  42. package/build/file/deprecated.cjs.map +2 -2
  43. package/build/file/edit.cjs.map +2 -2
  44. package/build/file/inspector.cjs.map +3 -3
  45. package/build/file/save.cjs.map +2 -2
  46. package/build/footnotes/block.json +10 -0
  47. package/build/footnotes/edit.cjs.map +2 -2
  48. package/build/gallery/block.json +9 -0
  49. package/build/gallery/dynamic-gallery.cjs.map +3 -3
  50. package/build/gallery/edit.cjs +65 -39
  51. package/build/gallery/edit.cjs.map +3 -3
  52. package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
  53. package/build/gallery/gallery-styles.cjs.map +7 -0
  54. package/build/gallery/responsive-styles.cjs +27 -5
  55. package/build/gallery/responsive-styles.cjs.map +2 -2
  56. package/build/group/block.json +1 -0
  57. package/build/heading/block.json +11 -0
  58. package/build/heading/index.cjs.map +2 -2
  59. package/build/home-link/block.json +18 -0
  60. package/build/home-link/edit.cjs.map +3 -3
  61. package/build/html/modal.cjs +3 -6
  62. package/build/html/modal.cjs.map +2 -2
  63. package/build/image/edit.cjs.map +2 -2
  64. package/build/image/image.cjs +10 -8
  65. package/build/image/image.cjs.map +3 -3
  66. package/build/image/use-open-image-media-editor-modal.cjs +20 -0
  67. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  68. package/build/index.cjs.map +2 -2
  69. package/build/latest-comments/block.json +10 -0
  70. package/build/latest-comments/edit.cjs.map +3 -3
  71. package/build/latest-posts/block.json +10 -0
  72. package/build/latest-posts/edit.cjs.map +2 -2
  73. package/build/list/ordered-list-settings.cjs.map +3 -3
  74. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  75. package/build/loginout/block.json +10 -0
  76. package/build/math/block.json +12 -0
  77. package/build/math/deprecated.cjs +29 -12
  78. package/build/math/deprecated.cjs.map +2 -2
  79. package/build/math/edit.cjs +67 -46
  80. package/build/math/edit.cjs.map +2 -2
  81. package/build/math/save.cjs +2 -2
  82. package/build/math/save.cjs.map +2 -2
  83. package/build/media-text/block.json +1 -0
  84. package/build/media-text/constants.cjs +3 -0
  85. package/build/media-text/constants.cjs.map +2 -2
  86. package/build/media-text/deprecated.cjs.map +2 -2
  87. package/build/media-text/edit.cjs +40 -0
  88. package/build/media-text/edit.cjs.map +3 -3
  89. package/build/media-text/image-fill.cjs.map +2 -2
  90. package/build/media-text/media-container.cjs +3 -3
  91. package/build/media-text/media-container.cjs.map +2 -2
  92. package/build/navigation/edit/index.cjs +1 -4
  93. package/build/navigation/edit/index.cjs.map +2 -2
  94. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  95. package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
  96. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  97. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  98. package/build/navigation/view.cjs +2 -2
  99. package/build/navigation/view.cjs.map +2 -2
  100. package/build/navigation-link/edit.cjs.map +2 -2
  101. package/build/navigation-link/link-ui/page-creator.cjs.map +3 -3
  102. package/build/navigation-link/shared/controls.cjs.map +3 -3
  103. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  104. package/build/navigation-link/shared/use-link-preview.cjs +13 -13
  105. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  106. package/build/navigation-overlay-close/block.json +7 -0
  107. package/build/navigation-submenu/block.json +6 -0
  108. package/build/navigation-submenu/edit.cjs +9 -1
  109. package/build/navigation-submenu/edit.cjs.map +3 -3
  110. package/build/page-list/block.json +10 -0
  111. package/build/paragraph/block.json +1 -0
  112. package/build/paragraph/edit.cjs +1 -2
  113. package/build/paragraph/edit.cjs.map +2 -2
  114. package/build/paragraph/index.cjs +6 -0
  115. package/build/paragraph/index.cjs.map +3 -3
  116. package/build/playlist/block.json +1 -0
  117. package/build/playlist/edit.cjs +2 -1
  118. package/build/playlist/edit.cjs.map +3 -3
  119. package/build/post-author/edit.cjs.map +3 -3
  120. package/build/post-author-biography/block.json +4 -0
  121. package/build/post-author-name/block.json +5 -0
  122. package/build/post-author-name/edit.cjs.map +2 -2
  123. package/build/post-comments-count/block.json +3 -0
  124. package/build/post-comments-form/block.json +10 -0
  125. package/build/post-content/block.json +3 -0
  126. package/build/post-date/block.json +3 -0
  127. package/build/post-date/edit.cjs.map +2 -2
  128. package/build/post-excerpt/block.json +6 -0
  129. package/build/post-excerpt/edit.cjs.map +2 -2
  130. package/build/post-featured-image/edit.cjs +11 -9
  131. package/build/post-featured-image/edit.cjs.map +2 -2
  132. package/build/post-navigation-link/block.json +30 -0
  133. package/build/post-navigation-link/edit.cjs +13 -2
  134. package/build/post-navigation-link/edit.cjs.map +3 -3
  135. package/build/post-template/block.json +13 -1
  136. package/build/post-terms/block.json +6 -0
  137. package/build/post-time-to-read/block.json +6 -0
  138. package/build/post-time-to-read/edit.cjs.map +2 -2
  139. package/build/post-title/block.json +10 -0
  140. package/build/preformatted/block.json +7 -0
  141. package/build/pullquote/block.json +1 -0
  142. package/build/pullquote/deprecated.cjs.map +2 -2
  143. package/build/query/deprecated.cjs.map +2 -2
  144. package/build/query/edit/inspector-controls/index.cjs.map +3 -3
  145. package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
  146. package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
  147. package/build/query/view.cjs.map +2 -2
  148. package/build/query-no-results/block.json +10 -2
  149. package/build/query-pagination/block.json +3 -0
  150. package/build/query-pagination-next/block.json +3 -0
  151. package/build/query-pagination-numbers/block.json +3 -0
  152. package/build/query-pagination-previous/block.json +3 -0
  153. package/build/query-title/block.json +3 -0
  154. package/build/query-title/use-archive-label.cjs.map +2 -2
  155. package/build/query-total/block.json +6 -0
  156. package/build/quote/block.json +1 -0
  157. package/build/quote/deprecated.cjs.map +2 -2
  158. package/build/quote/transforms.cjs.map +2 -2
  159. package/build/read-more/block.json +6 -0
  160. package/build/rss/block.json +6 -0
  161. package/build/search/edit.cjs.map +3 -3
  162. package/build/separator/edit.cjs.map +3 -3
  163. package/build/site-tagline/block.json +8 -1
  164. package/build/site-title/block.json +7 -1
  165. package/build/social-links/block.json +3 -0
  166. package/build/social-links/edit.cjs +2 -3
  167. package/build/social-links/edit.cjs.map +3 -3
  168. package/build/tab-panel/block.json +25 -0
  169. package/build/tab-panel/controls.cjs.map +3 -3
  170. package/build/tab-panels/block.json +18 -1
  171. package/build/table/state.cjs.map +2 -2
  172. package/build/table-of-contents/block.json +7 -0
  173. package/build/table-of-contents/edit.cjs.map +3 -3
  174. package/build/table-of-contents/utils.cjs.map +2 -2
  175. package/build/tabs/block.json +24 -1
  176. package/build/tabs/use-tab-actions.cjs.map +2 -2
  177. package/build/tag-cloud/block.json +19 -0
  178. package/build/tag-cloud/edit.cjs.map +3 -3
  179. package/build/template-part/edit/advanced-controls.cjs.map +3 -3
  180. package/build/template-part/edit/import-controls.cjs.map +3 -3
  181. package/build/template-part/edit/index.cjs.map +2 -2
  182. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  183. package/build/template-part/edit/placeholder.cjs.map +2 -2
  184. package/build/template-part/edit/selection-modal.cjs.map +1 -1
  185. package/build/term-count/block.json +7 -0
  186. package/build/term-count/use-term-count.cjs.map +2 -2
  187. package/build/term-description/block.json +9 -0
  188. package/build/term-description/use-term-description.cjs.map +2 -2
  189. package/build/term-name/block.json +10 -0
  190. package/build/term-name/use-term-name.cjs.map +2 -2
  191. package/build/term-template/block.json +10 -1
  192. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  193. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  194. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +3 -3
  195. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
  196. package/build/utils/hooks.cjs.map +2 -2
  197. package/build/utils/media-control.cjs +5 -1
  198. package/build/utils/media-control.cjs.map +2 -2
  199. package/build/utils/poster-image.cjs.map +2 -2
  200. package/build/utils/search-patterns.cjs +7 -43
  201. package/build/utils/search-patterns.cjs.map +3 -3
  202. package/build/utils/style-state.cjs +4 -6
  203. package/build/utils/style-state.cjs.map +2 -2
  204. package/build/verse/block.json +1 -0
  205. package/build/video/block.json +6 -0
  206. package/build/video/edit-common-settings.cjs.map +3 -3
  207. package/build/video/edit.cjs +23 -15
  208. package/build/video/edit.cjs.map +3 -3
  209. package/build/video/index.cjs +0 -2
  210. package/build/video/index.cjs.map +3 -3
  211. package/build/video/save.cjs +5 -1
  212. package/build/video/save.cjs.map +3 -3
  213. package/build/video/tracks-editor.cjs.map +3 -3
  214. package/build-module/accordion/block.json +4 -1
  215. package/build-module/accordion-item/block.json +7 -1
  216. package/build-module/accordion-panel/block.json +9 -1
  217. package/build-module/archives/block.json +9 -0
  218. package/build-module/archives/edit.mjs +2 -2
  219. package/build-module/archives/edit.mjs.map +2 -2
  220. package/build-module/audio/block.json +8 -0
  221. package/build-module/audio/edit.mjs +2 -2
  222. package/build-module/audio/edit.mjs.map +2 -2
  223. package/build-module/avatar/hooks.mjs.map +2 -2
  224. package/build-module/breadcrumbs/block.json +3 -0
  225. package/build-module/breadcrumbs/edit.mjs +3 -3
  226. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  227. package/build-module/button/edit.mjs.map +2 -2
  228. package/build-module/buttons/block.json +9 -0
  229. package/build-module/categories/block.json +12 -1
  230. package/build-module/categories/edit.mjs +2 -2
  231. package/build-module/categories/edit.mjs.map +2 -2
  232. package/build-module/code/block.json +10 -0
  233. package/build-module/code/save.mjs.map +2 -2
  234. package/build-module/column/block.json +9 -0
  235. package/build-module/columns/block.json +9 -0
  236. package/build-module/comment-author-name/block.json +3 -0
  237. package/build-module/comment-content/block.json +5 -0
  238. package/build-module/comment-date/block.json +3 -0
  239. package/build-module/comment-edit-link/block.json +3 -0
  240. package/build-module/comment-reply-link/block.json +3 -0
  241. package/build-module/comment-template/hooks.mjs.map +2 -2
  242. package/build-module/comments/block.json +10 -0
  243. package/build-module/comments-pagination/block.json +3 -0
  244. package/build-module/comments-pagination-next/block.json +3 -0
  245. package/build-module/comments-pagination-numbers/block.json +3 -0
  246. package/build-module/comments-pagination-previous/block.json +6 -0
  247. package/build-module/comments-title/block.json +3 -0
  248. package/build-module/cover/edit/index.mjs +4 -1
  249. package/build-module/cover/edit/index.mjs.map +2 -2
  250. package/build-module/cover/edit/inspector-controls.mjs +57 -14
  251. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  252. package/build-module/cover/transforms.mjs.map +2 -2
  253. package/build-module/details/block.json +12 -0
  254. package/build-module/details/index.mjs.map +2 -2
  255. package/build-module/embed/embed-controls.mjs.map +2 -2
  256. package/build-module/file/block.json +9 -0
  257. package/build-module/file/deprecated.mjs.map +2 -2
  258. package/build-module/file/edit.mjs.map +2 -2
  259. package/build-module/file/inspector.mjs +2 -2
  260. package/build-module/file/inspector.mjs.map +2 -2
  261. package/build-module/file/save.mjs.map +2 -2
  262. package/build-module/footnotes/block.json +10 -0
  263. package/build-module/footnotes/edit.mjs.map +2 -2
  264. package/build-module/gallery/block.json +9 -0
  265. package/build-module/gallery/dynamic-gallery.mjs +2 -2
  266. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  267. package/build-module/gallery/edit.mjs +68 -42
  268. package/build-module/gallery/edit.mjs.map +2 -2
  269. package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
  270. package/build-module/gallery/gallery-styles.mjs.map +7 -0
  271. package/build-module/gallery/responsive-styles.mjs +25 -4
  272. package/build-module/gallery/responsive-styles.mjs.map +2 -2
  273. package/build-module/group/block.json +1 -0
  274. package/build-module/heading/block.json +11 -0
  275. package/build-module/heading/index.mjs.map +2 -2
  276. package/build-module/home-link/block.json +18 -0
  277. package/build-module/home-link/edit.mjs +2 -2
  278. package/build-module/home-link/edit.mjs.map +2 -2
  279. package/build-module/html/modal.mjs +3 -6
  280. package/build-module/html/modal.mjs.map +2 -2
  281. package/build-module/image/edit.mjs.map +2 -2
  282. package/build-module/image/image.mjs +12 -10
  283. package/build-module/image/image.mjs.map +2 -2
  284. package/build-module/image/use-open-image-media-editor-modal.mjs +20 -0
  285. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  286. package/build-module/index.mjs.map +2 -2
  287. package/build-module/latest-comments/block.json +10 -0
  288. package/build-module/latest-comments/edit.mjs +2 -2
  289. package/build-module/latest-comments/edit.mjs.map +2 -2
  290. package/build-module/latest-posts/block.json +10 -0
  291. package/build-module/latest-posts/edit.mjs.map +2 -2
  292. package/build-module/list/ordered-list-settings.mjs +2 -2
  293. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  294. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  295. package/build-module/loginout/block.json +10 -0
  296. package/build-module/math/block.json +12 -0
  297. package/build-module/math/deprecated.mjs +29 -12
  298. package/build-module/math/deprecated.mjs.map +2 -2
  299. package/build-module/math/edit.mjs +68 -47
  300. package/build-module/math/edit.mjs.map +2 -2
  301. package/build-module/math/save.mjs +2 -2
  302. package/build-module/math/save.mjs.map +2 -2
  303. package/build-module/media-text/block.json +1 -0
  304. package/build-module/media-text/constants.mjs +2 -0
  305. package/build-module/media-text/constants.mjs.map +2 -2
  306. package/build-module/media-text/deprecated.mjs.map +2 -2
  307. package/build-module/media-text/edit.mjs +42 -1
  308. package/build-module/media-text/edit.mjs.map +2 -2
  309. package/build-module/media-text/image-fill.mjs.map +2 -2
  310. package/build-module/media-text/media-container.mjs +1 -1
  311. package/build-module/media-text/media-container.mjs.map +2 -2
  312. package/build-module/navigation/edit/index.mjs +1 -4
  313. package/build-module/navigation/edit/index.mjs.map +2 -2
  314. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  315. package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
  316. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  317. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  318. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  319. package/build-module/navigation/view.mjs +2 -2
  320. package/build-module/navigation/view.mjs.map +2 -2
  321. package/build-module/navigation-link/edit.mjs.map +2 -2
  322. package/build-module/navigation-link/link-ui/page-creator.mjs +2 -2
  323. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  324. package/build-module/navigation-link/shared/controls.mjs +2 -2
  325. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  326. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  327. package/build-module/navigation-link/shared/use-link-preview.mjs +13 -13
  328. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  329. package/build-module/navigation-overlay-close/block.json +7 -0
  330. package/build-module/navigation-submenu/block.json +6 -0
  331. package/build-module/navigation-submenu/edit.mjs +11 -2
  332. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  333. package/build-module/page-list/block.json +10 -0
  334. package/build-module/paragraph/block.json +1 -0
  335. package/build-module/paragraph/edit.mjs +1 -2
  336. package/build-module/paragraph/edit.mjs.map +2 -2
  337. package/build-module/paragraph/index.mjs +6 -0
  338. package/build-module/paragraph/index.mjs.map +2 -2
  339. package/build-module/playlist/block.json +1 -0
  340. package/build-module/playlist/edit.mjs +5 -4
  341. package/build-module/playlist/edit.mjs.map +2 -2
  342. package/build-module/post-author/edit.mjs +2 -2
  343. package/build-module/post-author/edit.mjs.map +2 -2
  344. package/build-module/post-author-biography/block.json +4 -0
  345. package/build-module/post-author-name/block.json +5 -0
  346. package/build-module/post-author-name/edit.mjs.map +2 -2
  347. package/build-module/post-comments-count/block.json +3 -0
  348. package/build-module/post-comments-form/block.json +10 -0
  349. package/build-module/post-content/block.json +3 -0
  350. package/build-module/post-date/block.json +3 -0
  351. package/build-module/post-date/edit.mjs.map +2 -2
  352. package/build-module/post-excerpt/block.json +6 -0
  353. package/build-module/post-excerpt/edit.mjs.map +2 -2
  354. package/build-module/post-featured-image/edit.mjs +11 -9
  355. package/build-module/post-featured-image/edit.mjs.map +2 -2
  356. package/build-module/post-navigation-link/block.json +30 -0
  357. package/build-module/post-navigation-link/edit.mjs +19 -5
  358. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  359. package/build-module/post-template/block.json +13 -1
  360. package/build-module/post-terms/block.json +6 -0
  361. package/build-module/post-time-to-read/block.json +6 -0
  362. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  363. package/build-module/post-title/block.json +10 -0
  364. package/build-module/preformatted/block.json +7 -0
  365. package/build-module/pullquote/block.json +1 -0
  366. package/build-module/pullquote/deprecated.mjs.map +2 -2
  367. package/build-module/query/deprecated.mjs.map +2 -2
  368. package/build-module/query/edit/inspector-controls/index.mjs +2 -2
  369. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  370. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  371. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  372. package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
  373. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  374. package/build-module/query/view.mjs.map +2 -2
  375. package/build-module/query-no-results/block.json +10 -2
  376. package/build-module/query-pagination/block.json +3 -0
  377. package/build-module/query-pagination-next/block.json +3 -0
  378. package/build-module/query-pagination-numbers/block.json +3 -0
  379. package/build-module/query-pagination-previous/block.json +3 -0
  380. package/build-module/query-title/block.json +3 -0
  381. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  382. package/build-module/query-total/block.json +6 -0
  383. package/build-module/quote/block.json +1 -0
  384. package/build-module/quote/deprecated.mjs.map +2 -2
  385. package/build-module/quote/transforms.mjs.map +2 -2
  386. package/build-module/read-more/block.json +6 -0
  387. package/build-module/rss/block.json +6 -0
  388. package/build-module/search/edit.mjs +3 -3
  389. package/build-module/search/edit.mjs.map +2 -2
  390. package/build-module/separator/edit.mjs +5 -2
  391. package/build-module/separator/edit.mjs.map +2 -2
  392. package/build-module/site-tagline/block.json +8 -1
  393. package/build-module/site-title/block.json +7 -1
  394. package/build-module/social-links/block.json +3 -0
  395. package/build-module/social-links/edit.mjs +4 -5
  396. package/build-module/social-links/edit.mjs.map +2 -2
  397. package/build-module/tab-panel/block.json +25 -0
  398. package/build-module/tab-panel/controls.mjs +2 -2
  399. package/build-module/tab-panel/controls.mjs.map +2 -2
  400. package/build-module/tab-panels/block.json +18 -1
  401. package/build-module/table/state.mjs.map +2 -2
  402. package/build-module/table-of-contents/block.json +7 -0
  403. package/build-module/table-of-contents/edit.mjs +2 -2
  404. package/build-module/table-of-contents/edit.mjs.map +2 -2
  405. package/build-module/table-of-contents/utils.mjs.map +2 -2
  406. package/build-module/tabs/block.json +24 -1
  407. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  408. package/build-module/tag-cloud/block.json +19 -0
  409. package/build-module/tag-cloud/edit.mjs +2 -2
  410. package/build-module/tag-cloud/edit.mjs.map +2 -2
  411. package/build-module/template-part/edit/advanced-controls.mjs +5 -2
  412. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  413. package/build-module/template-part/edit/import-controls.mjs +2 -2
  414. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  415. package/build-module/template-part/edit/index.mjs.map +2 -2
  416. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  417. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  418. package/build-module/template-part/edit/selection-modal.mjs.map +1 -1
  419. package/build-module/term-count/block.json +7 -0
  420. package/build-module/term-count/use-term-count.mjs.map +2 -2
  421. package/build-module/term-description/block.json +9 -0
  422. package/build-module/term-description/use-term-description.mjs.map +2 -2
  423. package/build-module/term-name/block.json +10 -0
  424. package/build-module/term-name/use-term-name.mjs.map +2 -2
  425. package/build-module/term-template/block.json +10 -1
  426. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  427. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  428. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  429. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  430. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +2 -2
  431. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  432. package/build-module/utils/hooks.mjs.map +2 -2
  433. package/build-module/utils/media-control.mjs +5 -1
  434. package/build-module/utils/media-control.mjs.map +2 -2
  435. package/build-module/utils/poster-image.mjs.map +2 -2
  436. package/build-module/utils/search-patterns.mjs +7 -32
  437. package/build-module/utils/search-patterns.mjs.map +2 -2
  438. package/build-module/utils/style-state.mjs +6 -4
  439. package/build-module/utils/style-state.mjs.map +2 -2
  440. package/build-module/verse/block.json +1 -0
  441. package/build-module/video/block.json +6 -0
  442. package/build-module/video/edit-common-settings.mjs +2 -2
  443. package/build-module/video/edit-common-settings.mjs.map +2 -2
  444. package/build-module/video/edit.mjs +25 -16
  445. package/build-module/video/edit.mjs.map +2 -2
  446. package/build-module/video/index.mjs +0 -2
  447. package/build-module/video/index.mjs.map +2 -2
  448. package/build-module/video/save.mjs +7 -2
  449. package/build-module/video/save.mjs.map +2 -2
  450. package/build-module/video/tracks-editor.mjs +2 -2
  451. package/build-module/video/tracks-editor.mjs.map +2 -2
  452. package/build-style/button/style-rtl.css +2 -1
  453. package/build-style/button/style.css +2 -1
  454. package/build-style/columns/style-rtl.css +1 -1
  455. package/build-style/columns/style.css +1 -1
  456. package/build-style/comments/editor-rtl.css +1 -1
  457. package/build-style/comments/editor.css +1 -1
  458. package/build-style/comments/style-rtl.css +1 -1
  459. package/build-style/comments/style.css +1 -1
  460. package/build-style/common-rtl.css +1 -1
  461. package/build-style/common.css +1 -1
  462. package/build-style/cover/style-rtl.css +6 -0
  463. package/build-style/cover/style.css +6 -0
  464. package/build-style/editor-rtl.css +21 -7
  465. package/build-style/editor.css +21 -7
  466. package/build-style/embed/editor-rtl.css +2 -1
  467. package/build-style/embed/editor.css +2 -1
  468. package/build-style/gallery/style-rtl.css +1 -2
  469. package/build-style/gallery/style.css +1 -2
  470. package/build-style/image/editor-rtl.css +6 -0
  471. package/build-style/image/editor.css +6 -0
  472. package/build-style/image/style-rtl.css +6 -9
  473. package/build-style/image/style.css +6 -9
  474. package/build-style/math/editor-rtl.css +5 -0
  475. package/build-style/math/editor.css +5 -0
  476. package/build-style/navigation/editor-rtl.css +1 -0
  477. package/build-style/navigation/editor.css +1 -0
  478. package/build-style/navigation/style-rtl.css +19 -4
  479. package/build-style/navigation/style.css +19 -4
  480. package/build-style/navigation-link/editor-rtl.css +3 -1
  481. package/build-style/navigation-link/editor.css +3 -1
  482. package/build-style/navigation-overlay-close/style-rtl.css +1 -1
  483. package/build-style/navigation-overlay-close/style.css +1 -1
  484. package/build-style/navigation-submenu/editor-rtl.css +3 -1
  485. package/build-style/navigation-submenu/editor.css +3 -1
  486. package/build-style/post-navigation-link/style-rtl.css +3 -0
  487. package/build-style/post-navigation-link/style.css +3 -0
  488. package/build-style/post-title/style-rtl.css +2 -2
  489. package/build-style/post-title/style.css +2 -2
  490. package/build-style/query-pagination/editor-rtl.css +0 -3
  491. package/build-style/query-pagination/editor.css +0 -3
  492. package/build-style/search/theme-rtl.css +1 -1
  493. package/build-style/search/theme.css +1 -1
  494. package/build-style/style-rtl.css +47 -23
  495. package/build-style/style.css +47 -23
  496. package/build-style/tab-panel/style-rtl.css +2 -0
  497. package/build-style/tab-panel/style.css +2 -0
  498. package/build-style/theme-rtl.css +1 -1
  499. package/build-style/theme.css +1 -1
  500. package/build-style/verse/style-rtl.css +2 -1
  501. package/build-style/verse/style.css +2 -1
  502. package/package.json +42 -43
  503. package/src/accordion/README.md +3 -0
  504. package/src/accordion/block.json +4 -1
  505. package/src/accordion-item/README.md +5 -0
  506. package/src/accordion-item/block.json +7 -1
  507. package/src/accordion-panel/README.md +7 -0
  508. package/src/accordion-panel/block.json +9 -1
  509. package/src/archives/README.md +4 -0
  510. package/src/archives/block.json +9 -0
  511. package/src/archives/edit.jsx +2 -2
  512. package/src/audio/README.md +4 -0
  513. package/src/audio/block.json +8 -0
  514. package/src/audio/edit.jsx +2 -2
  515. package/src/avatar/hooks.js +2 -2
  516. package/src/breadcrumbs/README.md +2 -0
  517. package/src/breadcrumbs/block.json +3 -0
  518. package/src/breadcrumbs/edit.jsx +3 -3
  519. package/src/breadcrumbs/index.php +1 -1
  520. package/src/button/edit.jsx +1 -1
  521. package/src/button/style.scss +2 -2
  522. package/src/buttons/README.md +4 -0
  523. package/src/buttons/block.json +9 -0
  524. package/src/calendar/index.php +1 -1
  525. package/src/categories/README.md +6 -0
  526. package/src/categories/block.json +12 -1
  527. package/src/categories/edit.jsx +2 -2
  528. package/src/code/README.md +5 -0
  529. package/src/code/block.json +10 -0
  530. package/src/code/save.jsx +1 -1
  531. package/src/column/README.md +4 -0
  532. package/src/column/block.json +9 -0
  533. package/src/columns/README.md +4 -0
  534. package/src/columns/block.json +9 -0
  535. package/src/columns/style.scss +2 -3
  536. package/src/comment-author-name/README.md +2 -0
  537. package/src/comment-author-name/block.json +3 -0
  538. package/src/comment-content/README.md +4 -0
  539. package/src/comment-content/block.json +5 -0
  540. package/src/comment-date/README.md +2 -0
  541. package/src/comment-date/block.json +3 -0
  542. package/src/comment-edit-link/README.md +2 -0
  543. package/src/comment-edit-link/block.json +3 -0
  544. package/src/comment-reply-link/README.md +2 -0
  545. package/src/comment-reply-link/block.json +3 -0
  546. package/src/comment-template/hooks.js +1 -1
  547. package/src/comments/README.md +5 -0
  548. package/src/comments/block.json +10 -0
  549. package/src/comments/style.scss +1 -1
  550. package/src/comments-pagination/README.md +2 -0
  551. package/src/comments-pagination/block.json +3 -0
  552. package/src/comments-pagination-next/README.md +2 -0
  553. package/src/comments-pagination-next/block.json +3 -0
  554. package/src/comments-pagination-numbers/README.md +2 -0
  555. package/src/comments-pagination-numbers/block.json +3 -0
  556. package/src/comments-pagination-previous/README.md +2 -0
  557. package/src/comments-pagination-previous/block.json +6 -0
  558. package/src/comments-title/README.md +2 -0
  559. package/src/comments-title/block.json +3 -0
  560. package/src/common.scss +1 -2
  561. package/src/cover/edit/index.jsx +5 -2
  562. package/src/cover/edit/inspector-controls.jsx +66 -15
  563. package/src/cover/style.scss +10 -0
  564. package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +122 -147
  565. package/src/cover/transforms.js +3 -3
  566. package/src/details/README.md +7 -0
  567. package/src/details/block.json +12 -0
  568. package/src/details/index.js +1 -1
  569. package/src/embed/editor.scss +2 -2
  570. package/src/embed/embed-controls.jsx +2 -2
  571. package/src/file/README.md +4 -0
  572. package/src/file/block.json +9 -0
  573. package/src/file/deprecated.jsx +3 -3
  574. package/src/file/edit.jsx +5 -3
  575. package/src/file/inspector.jsx +3 -3
  576. package/src/file/save.jsx +2 -2
  577. package/src/footnotes/README.md +5 -0
  578. package/src/footnotes/block.json +10 -0
  579. package/src/footnotes/edit.jsx +1 -1
  580. package/src/gallery/README.md +4 -0
  581. package/src/gallery/block.json +9 -0
  582. package/src/gallery/dynamic-gallery.jsx +4 -4
  583. package/src/gallery/edit.jsx +122 -70
  584. package/src/gallery/gallery-styles.js +117 -0
  585. package/src/gallery/index.php +181 -67
  586. package/src/gallery/responsive-styles.js +59 -5
  587. package/src/gallery/test/edit.jsdom.test.js +71 -3
  588. package/src/gallery/test/responsive-styles.js +59 -5
  589. package/src/group/README.md +1 -0
  590. package/src/group/block.json +1 -0
  591. package/src/heading/README.md +6 -0
  592. package/src/heading/block.json +11 -0
  593. package/src/heading/index.js +2 -2
  594. package/src/home-link/README.md +5 -0
  595. package/src/home-link/block.json +18 -0
  596. package/src/home-link/edit.jsx +2 -2
  597. package/src/html/modal.jsx +0 -3
  598. package/src/icon/index.php +9 -0
  599. package/src/image/edit.jsx +1 -1
  600. package/src/image/editor.scss +8 -0
  601. package/src/image/image.jsx +20 -18
  602. package/src/image/index.php +10 -4
  603. package/src/image/style.scss +1 -0
  604. package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +140 -1
  605. package/src/image/use-open-image-media-editor-modal.js +37 -0
  606. package/src/index.jsx +1 -1
  607. package/src/latest-comments/README.md +5 -0
  608. package/src/latest-comments/block.json +10 -0
  609. package/src/latest-comments/edit.jsx +2 -2
  610. package/src/latest-posts/README.md +5 -0
  611. package/src/latest-posts/block.json +10 -0
  612. package/src/latest-posts/edit.jsx +1 -1
  613. package/src/list/ordered-list-settings.jsx +2 -2
  614. package/src/list-item/hooks/use-enter.js +1 -1
  615. package/src/loginout/README.md +5 -0
  616. package/src/loginout/block.json +10 -0
  617. package/src/math/README.md +7 -2
  618. package/src/math/block.json +12 -0
  619. package/src/math/deprecated.jsx +38 -12
  620. package/src/math/edit.jsx +49 -20
  621. package/src/math/editor.scss +5 -0
  622. package/src/math/save.jsx +20 -4
  623. package/src/media-text/README.md +1 -0
  624. package/src/media-text/block.json +1 -0
  625. package/src/media-text/constants.js +1 -0
  626. package/src/media-text/deprecated.jsx +3 -3
  627. package/src/media-text/edit.jsx +48 -3
  628. package/src/media-text/image-fill.js +2 -2
  629. package/src/media-text/media-container.jsx +1 -1
  630. package/src/navigation/edit/index.jsx +3 -5
  631. package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
  632. package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
  633. package/src/navigation/edit/responsive-wrapper.jsx +1 -1
  634. package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
  635. package/src/navigation/editor.scss +1 -0
  636. package/src/navigation/index.php +12 -0
  637. package/src/navigation/style.scss +41 -5
  638. package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
  639. package/src/navigation/test/view.jsdom.test.js +23 -0
  640. package/src/navigation/view.js +9 -6
  641. package/src/navigation-link/edit.jsx +1 -1
  642. package/src/navigation-link/editor.scss +6 -1
  643. package/src/navigation-link/link-ui/page-creator.jsx +2 -2
  644. package/src/navigation-link/shared/controls.jsx +2 -2
  645. package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
  646. package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +22 -22
  647. package/src/navigation-link/shared/use-link-preview.js +15 -14
  648. package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
  649. package/src/navigation-overlay-close/README.md +1 -0
  650. package/src/navigation-overlay-close/block.json +7 -0
  651. package/src/navigation-overlay-close/style.scss +1 -1
  652. package/src/navigation-submenu/README.md +7 -0
  653. package/src/navigation-submenu/block.json +6 -0
  654. package/src/navigation-submenu/edit.jsx +12 -2
  655. package/src/navigation-submenu/editor.scss +6 -1
  656. package/src/navigation-submenu/index.php +11 -0
  657. package/src/page-list/README.md +5 -0
  658. package/src/page-list/block.json +10 -0
  659. package/src/paragraph/README.md +1 -0
  660. package/src/paragraph/block.json +1 -0
  661. package/src/paragraph/edit.jsx +2 -4
  662. package/src/paragraph/index.js +7 -0
  663. package/src/pattern/index.php +2 -2
  664. package/src/playlist/README.md +1 -0
  665. package/src/playlist/block.json +1 -0
  666. package/src/playlist/edit.jsx +6 -4
  667. package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
  668. package/src/post-author/edit.jsx +2 -2
  669. package/src/post-author-biography/README.md +3 -0
  670. package/src/post-author-biography/block.json +4 -0
  671. package/src/post-author-name/README.md +4 -0
  672. package/src/post-author-name/block.json +5 -0
  673. package/src/post-author-name/edit.jsx +1 -1
  674. package/src/post-comments-count/README.md +2 -0
  675. package/src/post-comments-count/block.json +3 -0
  676. package/src/post-comments-form/README.md +5 -0
  677. package/src/post-comments-form/block.json +10 -0
  678. package/src/post-content/README.md +3 -0
  679. package/src/post-content/block.json +3 -0
  680. package/src/post-date/README.md +2 -0
  681. package/src/post-date/block.json +3 -0
  682. package/src/post-date/edit.jsx +2 -2
  683. package/src/post-excerpt/README.md +5 -0
  684. package/src/post-excerpt/block.json +6 -0
  685. package/src/post-excerpt/edit.jsx +1 -1
  686. package/src/post-featured-image/edit.jsx +13 -11
  687. package/src/post-navigation-link/README.md +12 -0
  688. package/src/post-navigation-link/block.json +30 -0
  689. package/src/post-navigation-link/edit.jsx +27 -6
  690. package/src/post-navigation-link/index.php +94 -5
  691. package/src/post-navigation-link/style.scss +2 -0
  692. package/src/post-template/README.md +7 -0
  693. package/src/post-template/block.json +13 -1
  694. package/src/post-terms/README.md +5 -0
  695. package/src/post-terms/block.json +6 -0
  696. package/src/post-time-to-read/README.md +5 -0
  697. package/src/post-time-to-read/block.json +6 -0
  698. package/src/post-time-to-read/edit.jsx +2 -2
  699. package/src/post-title/README.md +5 -0
  700. package/src/post-title/block.json +10 -0
  701. package/src/post-title/style.scss +2 -3
  702. package/src/preformatted/README.md +6 -0
  703. package/src/preformatted/block.json +7 -0
  704. package/src/pullquote/README.md +1 -0
  705. package/src/pullquote/block.json +1 -0
  706. package/src/pullquote/deprecated.jsx +1 -1
  707. package/src/query/deprecated.jsx +1 -1
  708. package/src/query/edit/inspector-controls/index.jsx +4 -4
  709. package/src/query/edit/inspector-controls/order-control.jsx +2 -2
  710. package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
  711. package/src/query/view.js +6 -9
  712. package/src/query-no-results/README.md +7 -0
  713. package/src/query-no-results/block.json +10 -2
  714. package/src/query-pagination/README.md +2 -0
  715. package/src/query-pagination/block.json +3 -0
  716. package/src/query-pagination/editor.scss +0 -3
  717. package/src/query-pagination-next/README.md +2 -0
  718. package/src/query-pagination-next/block.json +3 -0
  719. package/src/query-pagination-numbers/README.md +2 -0
  720. package/src/query-pagination-numbers/block.json +3 -0
  721. package/src/query-pagination-previous/README.md +2 -0
  722. package/src/query-pagination-previous/block.json +3 -0
  723. package/src/query-title/README.md +2 -0
  724. package/src/query-title/block.json +3 -0
  725. package/src/query-title/use-archive-label.js +1 -1
  726. package/src/query-total/README.md +5 -0
  727. package/src/query-total/block.json +6 -0
  728. package/src/quote/README.md +1 -0
  729. package/src/quote/block.json +1 -0
  730. package/src/quote/deprecated.jsx +2 -2
  731. package/src/quote/transforms.js +3 -3
  732. package/src/read-more/README.md +5 -0
  733. package/src/read-more/block.json +6 -0
  734. package/src/rss/README.md +5 -0
  735. package/src/rss/block.json +6 -0
  736. package/src/search/edit.jsx +6 -6
  737. package/src/search/theme.scss +1 -1
  738. package/src/separator/edit.jsx +7 -4
  739. package/src/site-tagline/README.md +6 -0
  740. package/src/site-tagline/block.json +8 -1
  741. package/src/site-title/README.md +5 -0
  742. package/src/site-title/block.json +7 -1
  743. package/src/social-links/README.md +2 -0
  744. package/src/social-links/block.json +3 -0
  745. package/src/social-links/edit.jsx +4 -5
  746. package/src/tab-panel/README.md +9 -0
  747. package/src/tab-panel/block.json +25 -0
  748. package/src/tab-panel/controls.jsx +2 -2
  749. package/src/tab-panel/style.scss +5 -2
  750. package/src/tab-panels/README.md +7 -0
  751. package/src/tab-panels/block.json +18 -1
  752. package/src/table/state.js +1 -1
  753. package/src/table-of-contents/README.md +6 -0
  754. package/src/table-of-contents/block.json +7 -0
  755. package/src/table-of-contents/edit.jsx +6 -6
  756. package/src/table-of-contents/utils.ts +2 -2
  757. package/src/tabs/README.md +9 -0
  758. package/src/tabs/block.json +24 -1
  759. package/src/tabs/use-tab-actions.js +1 -1
  760. package/src/tag-cloud/README.md +9 -0
  761. package/src/tag-cloud/block.json +19 -0
  762. package/src/tag-cloud/edit.jsx +2 -2
  763. package/src/template-part/edit/advanced-controls.jsx +5 -2
  764. package/src/template-part/edit/import-controls.jsx +2 -2
  765. package/src/template-part/edit/index.jsx +2 -2
  766. package/src/template-part/edit/inner-blocks.jsx +1 -1
  767. package/src/template-part/edit/placeholder.jsx +2 -2
  768. package/src/template-part/edit/selection-modal.jsx +1 -1
  769. package/src/term-count/README.md +6 -0
  770. package/src/term-count/block.json +7 -0
  771. package/src/term-count/use-term-count.js +1 -1
  772. package/src/term-description/README.md +5 -0
  773. package/src/term-description/block.json +9 -0
  774. package/src/term-description/use-term-description.js +1 -1
  775. package/src/term-name/README.md +5 -0
  776. package/src/term-name/block.json +10 -0
  777. package/src/term-name/index.php +1 -1
  778. package/src/term-name/use-term-name.js +1 -1
  779. package/src/term-template/README.md +5 -0
  780. package/src/term-template/block.json +10 -1
  781. package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
  782. package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
  783. package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
  784. package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
  785. package/src/utils/hooks.js +1 -1
  786. package/src/utils/media-control.jsx +16 -10
  787. package/src/utils/poster-image.jsx +2 -2
  788. package/src/utils/search-patterns.js +9 -53
  789. package/src/utils/style-state.js +6 -4
  790. package/src/utils/test/{search-patterns.js → search-patterns.jsdom.test.js} +1 -22
  791. package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
  792. package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
  793. package/src/verse/README.md +1 -0
  794. package/src/verse/block.json +1 -0
  795. package/src/verse/style.scss +2 -2
  796. package/src/video/README.md +7 -0
  797. package/src/video/block.json +6 -0
  798. package/src/video/edit-common-settings.jsx +3 -3
  799. package/src/video/edit.jsx +56 -51
  800. package/src/video/index.js +0 -2
  801. package/src/video/save.jsx +10 -1
  802. package/src/video/tracks-editor.jsx +2 -2
  803. package/build/gallery/flex-styles.cjs.map +0 -7
  804. package/build/video/variations.cjs +0 -75
  805. package/build/video/variations.cjs.map +0 -7
  806. package/build-module/gallery/flex-styles.mjs.map +0 -7
  807. package/build-module/video/variations.mjs +0 -50
  808. package/build-module/video/variations.mjs.map +0 -7
  809. package/src/gallery/flex-styles.js +0 -99
  810. package/src/video/test/variations.js +0 -63
  811. package/src/video/variations.js +0 -62
@@ -3,7 +3,7 @@ import { InspectorControls } from '@wordpress/block-editor';
3
3
  import {
4
4
  TextControl,
5
5
  ToggleControl,
6
- SelectControl,
6
+ SelectControl as WCSelectControl,
7
7
  __experimentalToolsPanel as ToolsPanel,
8
8
  __experimentalToolsPanelItem as ToolsPanelItem,
9
9
  } from '@wordpress/components';
@@ -58,7 +58,7 @@ const OrderedListSettings = ( { setAttributes, reversed, start, type } ) => {
58
58
  } )
59
59
  }
60
60
  >
61
- <SelectControl
61
+ <WCSelectControl
62
62
  label={ __( 'List style' ) }
63
63
  options={ LIST_STYLE_OPTIONS }
64
64
  value={ type || 'decimal' }
@@ -69,7 +69,7 @@ export default function useEnter( clientId ) {
69
69
  ...topParentListBlock,
70
70
  innerBlocks: after,
71
71
  } ),
72
- ]
72
+ ]
73
73
  : [];
74
74
  replaceBlocks(
75
75
  topParentListBlock.clientId,
@@ -24,6 +24,10 @@ _Defined via the [`supports`](https://developer.wordpress.org/block-editor/refer
24
24
 
25
25
  - [`anchor`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#anchor): `true`
26
26
  - [`className`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#classname): `true`
27
+ - [`background`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#background):
28
+ - `backgroundImage`: `true`
29
+ - `backgroundSize`: `true`
30
+ - `gradient`: `true`
27
31
  - [`color`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color):
28
32
  - [`background`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-background): `true`
29
33
  - [`text`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-text): `false`
@@ -35,6 +39,7 @@ _Defined via the [`supports`](https://developer.wordpress.org/block-editor/refer
35
39
  - [`typography`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography):
36
40
  - [`fontSize`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography-fontsize): `true`
37
41
  - [`lineHeight`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography-lineheight): `true`
42
+ - [`shadow`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#shadow): `true`
38
43
  - [`interactivity`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#interactivity):
39
44
  - `clientNavigation`: `true`
40
45
 
@@ -23,6 +23,15 @@
23
23
  "supports": {
24
24
  "anchor": true,
25
25
  "className": true,
26
+ "background": {
27
+ "backgroundImage": true,
28
+ "backgroundSize": true,
29
+ "gradient": true,
30
+ "__experimentalDefaultControls": {
31
+ "backgroundImage": true,
32
+ "gradient": true
33
+ }
34
+ },
26
35
  "color": {
27
36
  "background": true,
28
37
  "text": false,
@@ -56,6 +65,7 @@
56
65
  "width": true,
57
66
  "style": true
58
67
  },
68
+ "shadow": true,
59
69
  "interactivity": {
60
70
  "clientNavigation": true
61
71
  }
@@ -15,7 +15,7 @@ _Defined via the [`attributes`](https://developer.wordpress.org/block-editor/ref
15
15
 
16
16
  | Attribute | [Type](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#type-validation) | [Default](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#default-value) | Description |
17
17
  |-----------|------|---------|-------------|
18
- | `latex` | `string` | — | [Role](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#role): `content` |
18
+ | `latex` | `string` | — | [Source](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#value-source): `text`. [Selector](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#value-source): `math annotation[encoding="application/x-tex"]`. [Role](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#role): `content` |
19
19
  | `mathML` | `string` | — | [Source](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#value-source): `html`. [Selector](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#value-source): `math` |
20
20
 
21
21
  ## Supports
@@ -24,8 +24,13 @@ _Defined via the [`supports`](https://developer.wordpress.org/block-editor/refer
24
24
 
25
25
  - [`anchor`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#anchor): `true`
26
26
  - [`html`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#html): `false`
27
+ - [`background`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#background):
28
+ - `backgroundImage`: `true`
29
+ - `backgroundSize`: `true`
30
+ - `gradient`: `true`
27
31
  - [`color`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color):
28
32
  - [`gradients`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-gradients): `true`
33
+ - [`shadow`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#shadow): `true`
29
34
  - [`spacing`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#spacing):
30
35
  - `margin`: `true`
31
36
  - `padding`: `true`
@@ -39,7 +44,7 @@ _Defined via the [`supports`](https://developer.wordpress.org/block-editor/refer
39
44
  This is a [**static block**](https://developer.wordpress.org/block-editor/getting-started/fundamentals/static-dynamic-rendering/). The markup is saved directly in the post content.
40
45
 
41
46
  ```html
42
- <!-- wp:math {"latex":"x = \u005cfrac{-b \u005cpm \u005csqrt{b^2-4ac}}{2a}"} -->
47
+ <!-- wp:math -->
43
48
  <div class="wp-block-math"><math display="block"><semantics><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo lspace="0em" rspace="0em">−</mo><mi>b</mi><mo>±</mo><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}</annotation></semantics></math></div>
44
49
  <!-- /wp:math -->
45
50
  ```
@@ -16,6 +16,15 @@
16
16
  "style": true,
17
17
  "width": true
18
18
  },
19
+ "background": {
20
+ "backgroundImage": true,
21
+ "backgroundSize": true,
22
+ "gradient": true,
23
+ "__experimentalDefaultControls": {
24
+ "backgroundImage": true,
25
+ "gradient": true
26
+ }
27
+ },
19
28
  "color": {
20
29
  "gradients": true,
21
30
  "__experimentalDefaultControls": {
@@ -23,6 +32,7 @@
23
32
  "text": true
24
33
  }
25
34
  },
35
+ "shadow": true,
26
36
  "spacing": {
27
37
  "margin": true,
28
38
  "padding": true,
@@ -44,6 +54,8 @@
44
54
  "attributes": {
45
55
  "latex": {
46
56
  "type": "string",
57
+ "source": "text",
58
+ "selector": "math annotation[encoding=\"application/x-tex\"]",
47
59
  "role": "content"
48
60
  },
49
61
  "mathML": {
@@ -1,18 +1,44 @@
1
1
  import { useBlockProps } from '@wordpress/block-editor';
2
2
 
3
+ // Earlier versions stored the LaTeX source in the block comment. Content that
4
+ // could not be rendered was saved with an empty `<math>`, so the source is
5
+ // only available from the comment attribute for such blocks.
6
+ const legacyAttributes = {
7
+ latex: {
8
+ type: 'string',
9
+ role: 'content',
10
+ },
11
+ mathML: {
12
+ type: 'string',
13
+ source: 'html',
14
+ selector: 'math',
15
+ },
16
+ };
17
+
18
+ // v2: The LaTeX source was stored in the block comment.
19
+ const v2 = {
20
+ attributes: legacyAttributes,
21
+ save( { attributes } ) {
22
+ const { latex, mathML } = attributes;
23
+
24
+ if ( ! latex ) {
25
+ return null;
26
+ }
27
+
28
+ return (
29
+ <div { ...useBlockProps.save() }>
30
+ <math
31
+ display="block"
32
+ dangerouslySetInnerHTML={ { __html: mathML } }
33
+ />
34
+ </div>
35
+ );
36
+ },
37
+ };
38
+
3
39
  // v1: Add a wrapper div around the math element.
4
40
  const v1 = {
5
- attributes: {
6
- latex: {
7
- type: 'string',
8
- role: 'content',
9
- },
10
- mathML: {
11
- type: 'string',
12
- source: 'html',
13
- selector: 'math',
14
- },
15
- },
41
+ attributes: legacyAttributes,
16
42
  save( { attributes } ) {
17
43
  const { latex, mathML } = attributes;
18
44
 
@@ -38,4 +64,4 @@ const v1 = {
38
64
  *
39
65
  * See block-deprecation.md
40
66
  */
41
- export default [ v1 ];
67
+ export default [ v2, v1 ];
package/src/math/edit.jsx CHANGED
@@ -4,37 +4,43 @@ import {
4
4
  store as blockEditorStore,
5
5
  } from '@wordpress/block-editor';
6
6
  import { Popover } from '@wordpress/components';
7
- import { ValidatedTextareaControl } from '@wordpress/ui';
7
+ import { ValidatedTextareaControl, Link } from '@wordpress/ui';
8
8
  import { useState, useEffect, useRef } from '@wordpress/element';
9
9
  import { useDispatch } from '@wordpress/data';
10
+ import { useEvent } from '@wordpress/compose';
10
11
 
11
12
  export default function MathEdit( { attributes, setAttributes, isSelected } ) {
12
13
  const { latex, mathML } = attributes;
13
14
  const [ blockRef, setBlockRef ] = useState();
14
15
  const [ error, setError ] = useState( null );
15
16
  const [ latexToMathML, setLatexToMathML ] = useState();
16
- const initialLatex = useRef( latex );
17
17
  const formRef = useRef();
18
18
  const { __unstableMarkNextChangeAsNotPersistent } =
19
19
  useDispatch( blockEditorStore );
20
20
 
21
+ // Re-render once the converter loads, so MathML saved from a corrupted
22
+ // source is repaired and a source typed before the converter loaded is
23
+ // rendered. The converter loads asynchronously, and the user can type in
24
+ // the meantime, so read the source at that time rather than on mount.
25
+ const renderLatest = useEvent( ( convert ) => {
26
+ if ( ! latex ) {
27
+ return;
28
+ }
29
+ try {
30
+ const newMathML = convert( latex, { displayMode: true } );
31
+ __unstableMarkNextChangeAsNotPersistent();
32
+ setAttributes( { mathML: newMathML } );
33
+ } catch ( err ) {
34
+ setError( err.message );
35
+ }
36
+ } );
37
+
21
38
  useEffect( () => {
22
39
  import( '@wordpress/latex-to-mathml' ).then( ( module ) => {
23
40
  setLatexToMathML( () => module.default );
24
- if ( initialLatex.current ) {
25
- __unstableMarkNextChangeAsNotPersistent();
26
- setAttributes( {
27
- mathML: module.default( initialLatex.current, {
28
- displayMode: true,
29
- } ),
30
- } );
31
- }
41
+ renderLatest( module.default );
32
42
  } );
33
- }, [
34
- initialLatex,
35
- setAttributes,
36
- __unstableMarkNextChangeAsNotPersistent,
37
- ] );
43
+ }, [ renderLatest ] );
38
44
 
39
45
  const blockProps = useBlockProps( {
40
46
  ref: setBlockRef,
@@ -52,7 +58,15 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
52
58
  dangerouslySetInnerHTML={ { __html: mathML } }
53
59
  />
54
60
  ) : (
55
- '\u200B'
61
+ // Show the source until it renders, as the front end does.
62
+ <math display="block">
63
+ <semantics>
64
+ { /* eslint-disable-next-line react/no-unknown-property -- MathML attribute. */ }
65
+ <annotation encoding="application/x-tex">
66
+ { latex || '\u200B' }
67
+ </annotation>
68
+ </semantics>
69
+ </math>
56
70
  ) }
57
71
  { isSelected && (
58
72
  <Popover
@@ -67,12 +81,11 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
67
81
  >
68
82
  <form
69
83
  ref={ formRef }
70
- style={ { padding: '4px', minWidth: '300px' } }
84
+ style={ { padding: '16px', minWidth: '300px' } }
71
85
  onSubmit={ ( event ) => event.preventDefault() }
72
86
  >
73
87
  <ValidatedTextareaControl
74
88
  label={ __( 'LaTeX math syntax' ) }
75
- hideLabelFromVision
76
89
  value={ latex ?? '' }
77
90
  className="wp-block-math__textarea-control"
78
91
  customValidity={
@@ -82,7 +95,12 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
82
95
  }
83
96
  onValueChange={ ( newLatex ) => {
84
97
  if ( ! latexToMathML ) {
85
- setAttributes( { latex: newLatex } );
98
+ // The source is read back from the MathML,
99
+ // so clear a stale render along with it.
100
+ setAttributes( {
101
+ latex: newLatex,
102
+ mathML: '',
103
+ } );
86
104
  return;
87
105
  }
88
106
  let newMathML = '';
@@ -99,8 +117,19 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
99
117
  latex: newLatex,
100
118
  } );
101
119
  } }
102
- placeholder={ __( 'e.g., x^2, \\frac{a}{b}' ) }
120
+ placeholder={ __(
121
+ 'e.g., x^2, \\frac{a}{b}, \\sqrt{x}'
122
+ ) }
103
123
  />
124
+ <Link
125
+ openInNewTab
126
+ className="wp-block-math__learn-more"
127
+ href={ __(
128
+ 'https://wordpress.org/documentation/article/math-block/'
129
+ ) }
130
+ >
131
+ { __( 'Learn more about LaTeX syntax' ) }
132
+ </Link>
104
133
  </form>
105
134
  </Popover>
106
135
  ) }
@@ -5,3 +5,8 @@
5
5
  /*rtl:ignore*/
6
6
  direction: ltr;
7
7
  }
8
+
9
+ .wp-block-math__learn-more {
10
+ display: inline-block;
11
+ margin-top: var(--wpds-dimension-gap-sm);
12
+ }
package/src/math/save.jsx CHANGED
@@ -7,12 +7,28 @@ export default function save( { attributes } ) {
7
7
  return null;
8
8
  }
9
9
 
10
+ // The LaTeX source lives in the `<annotation>` inside the MathML, where
11
+ // it is HTML-escaped, so `wp_kses` leaves characters such as `&` and `<`
12
+ // alone. Until the source renders, save it on its own: with the
13
+ // annotation as the only child of `<semantics>`, browsers display the
14
+ // source text.
10
15
  return (
11
16
  <div { ...useBlockProps.save() }>
12
- <math
13
- display="block"
14
- dangerouslySetInnerHTML={ { __html: mathML } }
15
- />
17
+ { mathML ? (
18
+ <math
19
+ display="block"
20
+ dangerouslySetInnerHTML={ { __html: mathML } }
21
+ />
22
+ ) : (
23
+ <math display="block">
24
+ <semantics>
25
+ { /* eslint-disable-next-line react/no-unknown-property -- MathML attribute. */ }
26
+ <annotation encoding="application/x-tex">
27
+ { latex }
28
+ </annotation>
29
+ </semantics>
30
+ </math>
31
+ ) }
16
32
  </div>
17
33
  );
18
34
  }
@@ -46,6 +46,7 @@ _Defined via the [`supports`](https://developer.wordpress.org/block-editor/refer
46
46
  - [`gradients`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-gradients): `true`
47
47
  - [`heading`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-heading): `true`
48
48
  - [`link`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-link): `true`
49
+ - [`button`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-button): `true`
49
50
  - [`spacing`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#spacing):
50
51
  - `margin`: `true`
51
52
  - `padding`: `true`
@@ -116,6 +116,7 @@
116
116
  "gradients": true,
117
117
  "heading": true,
118
118
  "link": true,
119
+ "button": true,
119
120
  "__experimentalDefaultControls": {
120
121
  "background": true,
121
122
  "text": true
@@ -1,5 +1,6 @@
1
1
  import { _x } from '@wordpress/i18n';
2
2
 
3
+ export const ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];
3
4
  export const DEFAULT_MEDIA_SIZE_SLUG = 'full';
4
5
  export const WIDTH_CONSTRAINT_PERCENTAGE = 15;
5
6
  export const LINK_DESTINATION_NONE = 'none';
@@ -15,7 +15,7 @@ const v1ToV5ImageFillStyles = ( url, focalPoint ) => {
15
15
  backgroundPosition: focalPoint
16
16
  ? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`
17
17
  : `50% 50%`,
18
- }
18
+ }
19
19
  : {};
20
20
  };
21
21
 
@@ -26,9 +26,9 @@ const v6ToV7ImageFillStyles = ( url, focalPoint ) => {
26
26
  backgroundPosition: focalPoint
27
27
  ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(
28
28
  focalPoint.y * 100
29
- ) }%`
29
+ ) }%`
30
30
  : `50% 50%`,
31
- }
31
+ }
32
32
  : {};
33
33
  };
34
34
 
@@ -1,6 +1,6 @@
1
1
  import clsx from 'clsx';
2
2
  import { __ } from '@wordpress/i18n';
3
- import { useSelect } from '@wordpress/data';
3
+ import { useDispatch, useSelect } from '@wordpress/data';
4
4
  import { useState, useRef } from '@wordpress/element';
5
5
  import {
6
6
  BlockControls,
@@ -26,8 +26,11 @@ import {
26
26
  import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
27
27
  import { pullLeft, pullRight } from '@wordpress/icons';
28
28
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
29
+ import { store as noticesStore } from '@wordpress/notices';
30
+ import { getFilename } from '@wordpress/url';
29
31
  import MediaContainer from './media-container';
30
32
  import {
33
+ ALLOWED_MEDIA_TYPES,
31
34
  DEFAULT_MEDIA_SIZE_SLUG,
32
35
  WIDTH_CONSTRAINT_PERCENTAGE,
33
36
  LINK_DESTINATION_NONE,
@@ -36,6 +39,7 @@ import {
36
39
  } from './constants';
37
40
  import { unlock } from '../lock-unlock';
38
41
  import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
42
+ import { MediaControl } from '../utils/media-control';
39
43
 
40
44
  const { ResolutionTool } = unlock( blockEditorPrivateApis );
41
45
 
@@ -221,7 +225,7 @@ function MediaTextEdit( {
221
225
  {
222
226
  context: 'view',
223
227
  }
224
- )
228
+ )
225
229
  : undefined,
226
230
  };
227
231
  },
@@ -240,7 +244,7 @@ function MediaTextEdit( {
240
244
  {
241
245
  context: 'view',
242
246
  }
243
- )
247
+ )
244
248
  : null,
245
249
  };
246
250
  },
@@ -332,6 +336,46 @@ function MediaTextEdit( {
332
336
  };
333
337
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
334
338
 
339
+ const { createErrorNotice } = useDispatch( noticesStore );
340
+
341
+ const onUploadError = ( message ) => {
342
+ createErrorNotice( message, { type: 'snackbar' } );
343
+ };
344
+
345
+ const mediaInspectorPanel = isSelected ? (
346
+ <InspectorControls group="content">
347
+ <ToolsPanel
348
+ label={ __( 'Media' ) }
349
+ resetAll={ () => onSelectMedia( undefined ) }
350
+ dropdownMenuProps={ dropdownMenuProps }
351
+ >
352
+ <ToolsPanelItem
353
+ label={ __( 'Media' ) }
354
+ hasValue={ () => !! mediaUrl || !! useFeaturedImage }
355
+ onDeselect={ () => onSelectMedia( undefined ) }
356
+ isShownByDefault
357
+ >
358
+ <MediaControl
359
+ mediaId={ mediaId }
360
+ mediaUrl={ mediaUrl || featuredImageURL }
361
+ filename={
362
+ image?.media_details?.sizes?.full?.file ||
363
+ image?.slug ||
364
+ getFilename( mediaUrl )
365
+ }
366
+ allowedTypes={ ALLOWED_MEDIA_TYPES }
367
+ onSelect={ onSelectMedia }
368
+ onError={ onUploadError }
369
+ onReset={ () => onSelectMedia( undefined ) }
370
+ useFeaturedImage={ useFeaturedImage }
371
+ onToggleFeaturedImage={ toggleUseFeaturedImage }
372
+ emptyLabel={ __( 'Add media' ) }
373
+ />
374
+ </ToolsPanelItem>
375
+ </ToolsPanel>
376
+ </InspectorControls>
377
+ ) : null;
378
+
335
379
  const mediaTextGeneralSettings = (
336
380
  <ToolsPanel
337
381
  label={ __( 'Settings' ) }
@@ -480,6 +524,7 @@ function MediaTextEdit( {
480
524
 
481
525
  return (
482
526
  <>
527
+ { mediaInspectorPanel }
483
528
  <InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>
484
529
  <BlockControls group="block">
485
530
  { blockEditingMode === 'default' && (
@@ -4,8 +4,8 @@ export function imageFillStyles( url, focalPoint ) {
4
4
  objectPosition: focalPoint
5
5
  ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(
6
6
  focalPoint.y * 100
7
- ) }%`
7
+ ) }%`
8
8
  : `50% 50%`,
9
- }
9
+ }
10
10
  : {};
11
11
  }
@@ -15,11 +15,11 @@ import { createBlobURL, isBlobURL } from '@wordpress/blob';
15
15
  import { store as noticesStore } from '@wordpress/notices';
16
16
  import { media as icon } from '@wordpress/icons';
17
17
  import { imageFillStyles } from './image-fill';
18
+ import { ALLOWED_MEDIA_TYPES } from './constants';
18
19
 
19
20
  /**
20
21
  * Constants
21
22
  */
22
- const ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];
23
23
  const noop = () => {};
24
24
 
25
25
  const ResizableBoxContainer = forwardRef(
@@ -295,10 +295,8 @@ function Navigation( {
295
295
  hasSelectedStyleState,
296
296
  } = useSelect(
297
297
  ( select ) => {
298
- const {
299
- getSettings,
300
- hasSelectedStyleState: hasSelectedBlockStyleState,
301
- } = unlock( select( blockEditorStore ) );
298
+ const { getSettings, hasSelectedBlockStyleState } =
299
+ select( blockEditorStore );
302
300
  const settings = getSettings();
303
301
 
304
302
  return {
@@ -770,7 +768,7 @@ function Navigation( {
770
768
  submenuVisibility !== 'always'
771
769
  ? __(
772
770
  'The current menu options offer reduced accessibility for users and are not recommended. Enabling either "Open on Click" or "Show arrow" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'
773
- )
771
+ )
774
772
  : '';
775
773
 
776
774
  const isFirstRender = useRef( true ); // Don't speak on first render.
@@ -60,10 +60,10 @@ const MainContent = ( {
60
60
  /* translators: %s: The name of a menu. */
61
61
  __( 'Structure for Navigation Menu: %s' ),
62
62
  navigationMenu?.title || __( 'Untitled menu' )
63
- )
63
+ )
64
64
  : __(
65
65
  'You have not yet created any menus. Displaying a list of your Pages'
66
- );
66
+ );
67
67
 
68
68
  return (
69
69
  <div className="wp-block-navigation__menu-inspector-controls">
@@ -3,7 +3,7 @@ import { useInstanceId } from '@wordpress/compose';
3
3
  import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
4
4
  import { useDispatch, useSelect } from '@wordpress/data';
5
5
  import {
6
- SelectControl,
6
+ SelectControl as WCSelectControl,
7
7
  Button,
8
8
  FlexBlock,
9
9
  FlexItem,
@@ -255,7 +255,7 @@ export default function OverlayTemplatePartSelector( {
255
255
  selectedTemplatePart.title?.rendered
256
256
  ? decodeEntities( selectedTemplatePart.title.rendered )
257
257
  : selectedTemplatePart.slug
258
- )
258
+ )
259
259
  : __( 'Edit overlay' );
260
260
  }, [ selectedTemplatePart ] );
261
261
 
@@ -301,7 +301,7 @@ export default function OverlayTemplatePartSelector( {
301
301
  className="wp-block-navigation__overlay-selector-controls"
302
302
  >
303
303
  <FlexBlock>
304
- <SelectControl
304
+ <WCSelectControl
305
305
  label={ __( 'Overlay template' ) }
306
306
  hideLabelFromVision
307
307
  aria-labelledby={ headingId }
@@ -62,7 +62,7 @@ export default function ResponsiveWrapper( {
62
62
  ! overlayBackgroundColor?.slug &&
63
63
  overlayBackgroundColor?.color &&
64
64
  overlayBackgroundColor.color,
65
- }
65
+ }
66
66
  : {};
67
67
 
68
68
  const openButtonClasses = clsx(
@@ -46,9 +46,9 @@ export default function useGenerateDefaultNavigationTitle( clientId ) {
46
46
  // translators: %s: the name of a menu (e.g. Header menu).
47
47
  __( '%s menu' ),
48
48
  area
49
- )
49
+ )
50
50
  : // translators: 'menu' as in website navigation menu.
51
- __( 'Menu' );
51
+ __( 'Menu' );
52
52
 
53
53
  // Determine how many menus start with the automatic title.
54
54
  const matchingMenuTitleCount = [
@@ -217,6 +217,7 @@ $color-control-label-height: 20px;
217
217
  background-color: $gray-900;
218
218
  color: $white;
219
219
  height: $button-size-small;
220
+ width: $button-size-small;
220
221
 
221
222
  // This needs specificity to override an inherited padding.
222
223
  // That source padding in turn has high specificity to protect
@@ -832,6 +832,14 @@ class WP_Navigation_Block_Renderer {
832
832
  $responsive_container_content_directives = '
833
833
  data-wp-watch="callbacks.focusFirstElement"
834
834
  ';
835
+
836
+ // The default overlay displays every submenu it contains; a custom overlay
837
+ // opts out through the `disable-default-overlay` class on this container.
838
+ // Submenus inherit this flag to tell the two apart, derived from the same
839
+ // value as that class so the markup and the styles cannot disagree.
840
+ if ( $has_custom_overlay ) {
841
+ $responsive_container_directives .= ' ' . wp_interactivity_data_wp_context( array( 'hasCustomOverlay' => true ) );
842
+ }
835
843
  }
836
844
 
837
845
  // Don't apply overlay inline styles if using a custom overlay template part.
@@ -1048,6 +1056,10 @@ class WP_Navigation_Block_Renderer {
1048
1056
 
1049
1057
  unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] );
1050
1058
 
1059
+ // Submenu detection is memoized while a navigation block renders. Reset it so
1060
+ // the result of a previously rendered navigation block is not reused for this one.
1061
+ static::$has_submenus = false;
1062
+
1051
1063
  $inner_blocks = static::get_inner_blocks( $attributes, $block );
1052
1064
  // Prevent navigation blocks referencing themselves from rendering.
1053
1065
  if ( block_core_navigation_block_tree_has_block_type(