@wordpress/block-library 9.44.0 → 9.45.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 (367) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion/edit.cjs +0 -2
  3. package/build/accordion/edit.cjs.map +2 -2
  4. package/build/accordion-item/block.json +1 -0
  5. package/build/button/constants.cjs +1 -1
  6. package/build/button/constants.cjs.map +1 -1
  7. package/build/categories/edit.cjs +5 -1
  8. package/build/categories/edit.cjs.map +2 -2
  9. package/build/embed/edit.cjs +38 -34
  10. package/build/embed/edit.cjs.map +3 -3
  11. package/build/embed/transforms.cjs +3 -1
  12. package/build/embed/transforms.cjs.map +2 -2
  13. package/build/embed/util.cjs +13 -2
  14. package/build/embed/util.cjs.map +2 -2
  15. package/build/form/block.json +1 -1
  16. package/build/form-input/block.json +1 -1
  17. package/build/form-submission-notification/block.json +1 -1
  18. package/build/form-submit-button/block.json +1 -1
  19. package/build/group/block.json +2 -1
  20. package/build/image/constants.cjs +1 -1
  21. package/build/image/constants.cjs.map +2 -2
  22. package/build/image/edit.cjs +2 -4
  23. package/build/image/edit.cjs.map +2 -2
  24. package/build/image/image.cjs +49 -19
  25. package/build/image/image.cjs.map +3 -3
  26. package/build/index.cjs +4 -4
  27. package/build/index.cjs.map +2 -2
  28. package/build/latest-posts/edit.cjs +1 -1
  29. package/build/latest-posts/edit.cjs.map +1 -1
  30. package/build/math/edit.cjs +2 -2
  31. package/build/math/edit.cjs.map +2 -2
  32. package/build/navigation/edit/accessible-description.cjs +2 -2
  33. package/build/navigation/edit/accessible-description.cjs.map +2 -2
  34. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  35. package/build/navigation-link/edit.cjs +2 -1
  36. package/build/navigation-link/edit.cjs.map +2 -2
  37. package/build/navigation-link/link-ui/dialog-wrapper.cjs +2 -1
  38. package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
  39. package/build/navigation-link/link-ui/index.cjs +2 -1
  40. package/build/navigation-link/link-ui/index.cjs.map +2 -2
  41. package/build/paragraph/use-enter.cjs +12 -23
  42. package/build/paragraph/use-enter.cjs.map +2 -2
  43. package/build/post-author/edit.cjs.map +3 -3
  44. package/build/post-comments-form/edit.cjs +2 -2
  45. package/build/post-comments-form/edit.cjs.map +2 -2
  46. package/build/post-featured-image/edit.cjs +2 -5
  47. package/build/post-featured-image/edit.cjs.map +2 -2
  48. package/build/post-template/edit.cjs +8 -2
  49. package/build/post-template/edit.cjs.map +2 -2
  50. package/build/pullquote/block.json +1 -4
  51. package/build/query/edit/inspector-controls/author-control.cjs +1 -1
  52. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  53. package/build/query/edit/inspector-controls/format-controls.cjs +1 -1
  54. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  55. package/build/query/edit/inspector-controls/parent-control.cjs +1 -1
  56. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  57. package/build/query/edit/inspector-controls/taxonomy-controls.cjs +1 -1
  58. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  59. package/build/site-logo/edit.cjs +34 -20
  60. package/build/site-logo/edit.cjs.map +2 -2
  61. package/build/tab/block.json +23 -23
  62. package/build/tab/controls.cjs +5 -48
  63. package/build/tab/controls.cjs.map +3 -3
  64. package/build/tab/edit.cjs +76 -92
  65. package/build/tab/edit.cjs.map +3 -3
  66. package/build/tab/save.cjs +3 -3
  67. package/build/tab/save.cjs.map +2 -2
  68. package/{src/tabs-menu → build/tab-list}/block.json +4 -4
  69. package/build/{tabs-menu → tab-list}/edit.cjs +9 -14
  70. package/build/tab-list/edit.cjs.map +7 -0
  71. package/build/{tabs-menu → tab-list}/index.cjs +5 -5
  72. package/build/tab-list/index.cjs.map +7 -0
  73. package/build/{tabs-menu → tab-list}/save.cjs +1 -1
  74. package/build/{tabs-menu → tab-list}/save.cjs.map +1 -1
  75. package/build/{tab → tab-panel}/add-tab-toolbar-control.cjs +16 -16
  76. package/build/tab-panel/add-tab-toolbar-control.cjs.map +7 -0
  77. package/build/tab-panel/block.json +27 -37
  78. package/build/tab-panel/controls.cjs +89 -0
  79. package/build/tab-panel/controls.cjs.map +7 -0
  80. package/build/tab-panel/edit.cjs +88 -18
  81. package/build/tab-panel/edit.cjs.map +3 -3
  82. package/build/tab-panel/index.cjs +1 -1
  83. package/build/tab-panel/index.cjs.map +1 -1
  84. package/build/{tab → tab-panel}/init.cjs +1 -1
  85. package/build/{tab → tab-panel}/init.cjs.map +1 -1
  86. package/build/{tab → tab-panel}/remove-tab-toolbar-control.cjs +16 -16
  87. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +7 -0
  88. package/build/tab-panel/save.cjs +4 -2
  89. package/build/tab-panel/save.cjs.map +2 -2
  90. package/build/tab-panels/block.json +66 -0
  91. package/build/{tabs-menu-item/controls.cjs → tab-panels/edit.cjs} +25 -11
  92. package/build/tab-panels/edit.cjs.map +7 -0
  93. package/build/{tabs-menu-item → tab-panels}/index.cjs +5 -5
  94. package/build/{tabs-menu → tab-panels}/index.cjs.map +2 -2
  95. package/build/{tabs-menu-item → tab-panels}/save.cjs +4 -6
  96. package/build/tab-panels/save.cjs.map +7 -0
  97. package/build/tabs/block.json +1 -2
  98. package/build/tabs/controls.cjs +2 -2
  99. package/build/tabs/controls.cjs.map +1 -1
  100. package/build/tabs/edit.cjs +29 -100
  101. package/build/tabs/edit.cjs.map +3 -3
  102. package/build/tabs/index.cjs +5 -5
  103. package/build/tabs/index.cjs.map +1 -1
  104. package/build/tabs/use-tab-list-sync.cjs +190 -0
  105. package/build/tabs/use-tab-list-sync.cjs.map +7 -0
  106. package/build/terms-query/edit/inspector-controls/include-control.cjs +1 -1
  107. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  108. package/build/video/tracks-editor.cjs +2 -2
  109. package/build/video/tracks-editor.cjs.map +2 -2
  110. package/build-module/accordion/edit.mjs +0 -2
  111. package/build-module/accordion/edit.mjs.map +2 -2
  112. package/build-module/accordion-item/block.json +1 -0
  113. package/build-module/button/constants.mjs +1 -1
  114. package/build-module/button/constants.mjs.map +1 -1
  115. package/build-module/categories/edit.mjs +5 -2
  116. package/build-module/categories/edit.mjs.map +2 -2
  117. package/build-module/embed/edit.mjs +45 -36
  118. package/build-module/embed/edit.mjs.map +2 -2
  119. package/build-module/embed/transforms.mjs +8 -2
  120. package/build-module/embed/transforms.mjs.map +2 -2
  121. package/build-module/embed/util.mjs +11 -1
  122. package/build-module/embed/util.mjs.map +2 -2
  123. package/build-module/form/block.json +1 -1
  124. package/build-module/form-input/block.json +1 -1
  125. package/build-module/form-submission-notification/block.json +1 -1
  126. package/build-module/form-submit-button/block.json +1 -1
  127. package/build-module/group/block.json +2 -1
  128. package/build-module/image/constants.mjs +1 -1
  129. package/build-module/image/constants.mjs.map +2 -2
  130. package/build-module/image/edit.mjs +2 -4
  131. package/build-module/image/edit.mjs.map +2 -2
  132. package/build-module/image/image.mjs +49 -19
  133. package/build-module/image/image.mjs.map +3 -3
  134. package/build-module/index.mjs +4 -4
  135. package/build-module/index.mjs.map +2 -2
  136. package/build-module/latest-posts/edit.mjs +1 -1
  137. package/build-module/latest-posts/edit.mjs.map +1 -1
  138. package/build-module/math/edit.mjs +2 -2
  139. package/build-module/math/edit.mjs.map +2 -2
  140. package/build-module/navigation/edit/accessible-description.mjs +1 -1
  141. package/build-module/navigation/edit/accessible-description.mjs.map +1 -1
  142. package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
  143. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +1 -1
  144. package/build-module/navigation-link/edit.mjs +2 -5
  145. package/build-module/navigation-link/edit.mjs.map +2 -2
  146. package/build-module/navigation-link/link-ui/dialog-wrapper.mjs +2 -1
  147. package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
  148. package/build-module/navigation-link/link-ui/index.mjs +1 -1
  149. package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
  150. package/build-module/paragraph/use-enter.mjs +13 -23
  151. package/build-module/paragraph/use-enter.mjs.map +2 -2
  152. package/build-module/post-author/edit.mjs +2 -2
  153. package/build-module/post-author/edit.mjs.map +2 -2
  154. package/build-module/post-comments-form/edit.mjs +1 -1
  155. package/build-module/post-comments-form/edit.mjs.map +2 -2
  156. package/build-module/post-featured-image/edit.mjs +2 -5
  157. package/build-module/post-featured-image/edit.mjs.map +2 -2
  158. package/build-module/post-template/edit.mjs +8 -2
  159. package/build-module/post-template/edit.mjs.map +2 -2
  160. package/build-module/pullquote/block.json +1 -4
  161. package/build-module/query/edit/inspector-controls/author-control.mjs +1 -1
  162. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  163. package/build-module/query/edit/inspector-controls/format-controls.mjs +1 -1
  164. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  165. package/build-module/query/edit/inspector-controls/parent-control.mjs +1 -1
  166. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  167. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs +1 -1
  168. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  169. package/build-module/site-logo/edit.mjs +34 -20
  170. package/build-module/site-logo/edit.mjs.map +2 -2
  171. package/build-module/tab/block.json +23 -23
  172. package/build-module/tab/controls.mjs +7 -57
  173. package/build-module/tab/controls.mjs.map +2 -2
  174. package/build-module/tab/edit.mjs +80 -96
  175. package/build-module/tab/edit.mjs.map +3 -3
  176. package/build-module/tab/save.mjs +4 -4
  177. package/build-module/tab/save.mjs.map +2 -2
  178. package/build-module/{tabs-menu → tab-list}/block.json +4 -4
  179. package/build-module/{tabs-menu → tab-list}/edit.mjs +9 -14
  180. package/build-module/tab-list/edit.mjs.map +7 -0
  181. package/build-module/{tabs-menu → tab-list}/index.mjs +2 -2
  182. package/build-module/tab-list/index.mjs.map +7 -0
  183. package/build-module/{tabs-menu → tab-list}/save.mjs +1 -1
  184. package/build-module/{tabs-menu → tab-list}/save.mjs.map +1 -1
  185. package/build-module/{tab → tab-panel}/add-tab-toolbar-control.mjs +16 -16
  186. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +7 -0
  187. package/build-module/tab-panel/block.json +27 -37
  188. package/build-module/tab-panel/controls.mjs +65 -0
  189. package/build-module/tab-panel/controls.mjs.map +7 -0
  190. package/build-module/tab-panel/edit.mjs +90 -20
  191. package/build-module/tab-panel/edit.mjs.map +2 -2
  192. package/build-module/tab-panel/index.mjs +1 -1
  193. package/build-module/tab-panel/index.mjs.map +1 -1
  194. package/build-module/{tab → tab-panel}/init.mjs +1 -1
  195. package/build-module/{tab → tab-panel}/init.mjs.map +1 -1
  196. package/build-module/{tab → tab-panel}/remove-tab-toolbar-control.mjs +16 -16
  197. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +7 -0
  198. package/build-module/tab-panel/save.mjs +4 -2
  199. package/build-module/tab-panel/save.mjs.map +2 -2
  200. package/build-module/tab-panels/block.json +66 -0
  201. package/build-module/tab-panels/edit.mjs +33 -0
  202. package/build-module/tab-panels/edit.mjs.map +7 -0
  203. package/build-module/{tabs-menu-item → tab-panels}/index.mjs +2 -2
  204. package/build-module/{tabs-menu → tab-panels}/index.mjs.map +2 -2
  205. package/build-module/tab-panels/save.mjs +12 -0
  206. package/build-module/tab-panels/save.mjs.map +7 -0
  207. package/build-module/tabs/block.json +1 -2
  208. package/build-module/tabs/controls.mjs +2 -2
  209. package/build-module/tabs/controls.mjs.map +1 -1
  210. package/build-module/tabs/edit.mjs +31 -102
  211. package/build-module/tabs/edit.mjs.map +2 -2
  212. package/build-module/tabs/index.mjs +5 -5
  213. package/build-module/tabs/index.mjs.map +1 -1
  214. package/build-module/tabs/use-tab-list-sync.mjs +169 -0
  215. package/build-module/tabs/use-tab-list-sync.mjs.map +7 -0
  216. package/build-module/terms-query/edit/inspector-controls/include-control.mjs +1 -1
  217. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  218. package/build-module/video/tracks-editor.mjs +2 -2
  219. package/build-module/video/tracks-editor.mjs.map +2 -2
  220. package/build-style/classic-rtl.css +14 -0
  221. package/build-style/classic.css +14 -0
  222. package/build-style/editor-rtl.css +9 -5
  223. package/build-style/editor.css +9 -5
  224. package/build-style/latest-comments/style-rtl.css +4 -4
  225. package/build-style/latest-comments/style.css +4 -4
  226. package/build-style/post-template/style-rtl.css +1 -1
  227. package/build-style/post-template/style.css +1 -1
  228. package/build-style/style-rtl.css +45 -48
  229. package/build-style/style.css +45 -48
  230. package/build-style/tab/editor-rtl.css +11 -0
  231. package/build-style/tab/editor.css +11 -0
  232. package/build-style/tab/style-rtl.css +29 -16
  233. package/build-style/tab/style.css +29 -16
  234. package/build-style/tab-list/editor-rtl.css +6 -0
  235. package/build-style/tab-list/editor.css +6 -0
  236. package/build-style/tab-panel/style-rtl.css +17 -1
  237. package/build-style/tab-panel/style.css +17 -1
  238. package/build-style/tab-panels/style-rtl.css +4 -0
  239. package/build-style/tab-panels/style.css +4 -0
  240. package/build-style/tabs/style-rtl.css +0 -3
  241. package/build-style/tabs/style.css +0 -3
  242. package/build-style/video/editor-rtl.css +4 -0
  243. package/build-style/video/editor.css +4 -0
  244. package/package.json +39 -38
  245. package/src/accordion/edit.js +0 -2
  246. package/src/accordion-item/block.json +1 -0
  247. package/src/block/test/edit.native.js +1 -1
  248. package/src/button/constants.js +1 -1
  249. package/src/button/test/get-updated-link-attributes.js +6 -10
  250. package/src/categories/edit.js +3 -2
  251. package/src/classic.scss +25 -0
  252. package/src/editor.scss +2 -2
  253. package/src/embed/edit.js +61 -52
  254. package/src/embed/edit.native.js +71 -57
  255. package/src/embed/transforms.js +8 -2
  256. package/src/embed/util.js +17 -0
  257. package/src/form/block.json +1 -1
  258. package/src/form-input/block.json +1 -1
  259. package/src/form-submission-notification/block.json +1 -1
  260. package/src/form-submit-button/block.json +1 -1
  261. package/src/group/block.json +2 -1
  262. package/src/image/constants.js +1 -1
  263. package/src/image/edit.js +5 -3
  264. package/src/image/edit.native.js +3 -3
  265. package/src/image/image.js +63 -27
  266. package/src/image/test/edit.native.js +2 -2
  267. package/src/index.js +4 -4
  268. package/src/latest-comments/style.scss +7 -7
  269. package/src/latest-posts/edit.js +1 -1
  270. package/src/latest-posts/index.php +1 -1
  271. package/src/math/edit.js +3 -3
  272. package/src/navigation/edit/accessible-description.js +1 -1
  273. package/src/navigation/edit/overlay-template-part-selector.js +3 -3
  274. package/src/navigation/edit/test/overlay-template-part-selector.js +1 -0
  275. package/src/navigation-link/edit.js +2 -5
  276. package/src/navigation-link/link-ui/dialog-wrapper.js +2 -1
  277. package/src/navigation-link/link-ui/index.js +1 -1
  278. package/src/paragraph/use-enter.js +18 -24
  279. package/src/post-author/edit.js +3 -5
  280. package/src/post-comments-form/edit.js +1 -1
  281. package/src/post-featured-image/edit.js +2 -9
  282. package/src/post-template/edit.js +7 -1
  283. package/src/post-template/index.php +3 -0
  284. package/src/post-template/style.scss +2 -2
  285. package/src/pullquote/block.json +1 -4
  286. package/src/query/edit/inspector-controls/author-control.js +1 -1
  287. package/src/query/edit/inspector-controls/format-controls.js +1 -1
  288. package/src/query/edit/inspector-controls/parent-control.js +1 -1
  289. package/src/query/edit/inspector-controls/taxonomy-controls.js +1 -1
  290. package/src/site-logo/edit.js +40 -20
  291. package/src/style.scss +1 -1
  292. package/src/tab/block.json +23 -23
  293. package/src/tab/controls.js +6 -52
  294. package/src/tab/edit.js +94 -123
  295. package/src/{tabs-menu-item → tab}/editor.scss +3 -3
  296. package/src/tab/index.php +32 -51
  297. package/src/tab/save.js +4 -4
  298. package/src/tab/style.scss +34 -17
  299. package/{build/tabs-menu → src/tab-list}/block.json +4 -4
  300. package/src/{tabs-menu → tab-list}/edit.js +9 -18
  301. package/src/{tabs-menu → tab-list}/editor.scss +2 -2
  302. package/src/{tabs-menu → tab-list}/index.js +1 -1
  303. package/src/tab-list/index.php +80 -0
  304. package/src/{tab → tab-panel}/add-tab-toolbar-control.js +19 -19
  305. package/src/tab-panel/block.json +27 -37
  306. package/src/tab-panel/controls.js +65 -0
  307. package/src/tab-panel/edit.js +121 -20
  308. package/src/tab-panel/index.js +1 -1
  309. package/src/tab-panel/index.php +88 -0
  310. package/src/{tab → tab-panel}/remove-tab-toolbar-control.js +20 -19
  311. package/src/tab-panel/save.js +4 -2
  312. package/src/tab-panel/style.scss +20 -1
  313. package/src/tab-panels/block.json +66 -0
  314. package/src/tab-panels/edit.js +42 -0
  315. package/src/{tabs-menu-item → tab-panels}/index.js +1 -1
  316. package/src/tab-panels/save.js +11 -0
  317. package/src/tab-panels/style.scss +4 -0
  318. package/src/tabs/block.json +1 -2
  319. package/src/tabs/controls.js +2 -2
  320. package/src/tabs/edit.js +32 -150
  321. package/src/tabs/index.js +5 -5
  322. package/src/tabs/index.php +5 -5
  323. package/src/tabs/style.scss +0 -3
  324. package/src/tabs/use-tab-list-sync.js +237 -0
  325. package/src/terms-query/edit/inspector-controls/include-control.js +1 -1
  326. package/src/video/editor.scss +5 -0
  327. package/src/video/tracks-editor.js +2 -2
  328. package/build/tab/add-tab-toolbar-control.cjs.map +0 -7
  329. package/build/tab/remove-tab-toolbar-control.cjs.map +0 -7
  330. package/build/tab/slug-from-label.cjs +0 -37
  331. package/build/tab/slug-from-label.cjs.map +0 -7
  332. package/build/tabs-menu/edit.cjs.map +0 -7
  333. package/build/tabs-menu-item/block.json +0 -59
  334. package/build/tabs-menu-item/controls.cjs.map +0 -7
  335. package/build/tabs-menu-item/edit.cjs +0 -144
  336. package/build/tabs-menu-item/edit.cjs.map +0 -7
  337. package/build/tabs-menu-item/index.cjs.map +0 -7
  338. package/build/tabs-menu-item/save.cjs.map +0 -7
  339. package/build-module/tab/add-tab-toolbar-control.mjs.map +0 -7
  340. package/build-module/tab/remove-tab-toolbar-control.mjs.map +0 -7
  341. package/build-module/tab/slug-from-label.mjs +0 -16
  342. package/build-module/tab/slug-from-label.mjs.map +0 -7
  343. package/build-module/tabs-menu/edit.mjs.map +0 -7
  344. package/build-module/tabs-menu-item/block.json +0 -59
  345. package/build-module/tabs-menu-item/controls.mjs +0 -15
  346. package/build-module/tabs-menu-item/controls.mjs.map +0 -7
  347. package/build-module/tabs-menu-item/edit.mjs +0 -117
  348. package/build-module/tabs-menu-item/edit.mjs.map +0 -7
  349. package/build-module/tabs-menu-item/index.mjs.map +0 -7
  350. package/build-module/tabs-menu-item/save.mjs +0 -14
  351. package/build-module/tabs-menu-item/save.mjs.map +0 -7
  352. package/build-style/tabs-menu/editor-rtl.css +0 -6
  353. package/build-style/tabs-menu/editor.css +0 -6
  354. package/build-style/tabs-menu-item/editor-rtl.css +0 -11
  355. package/build-style/tabs-menu-item/editor.css +0 -11
  356. package/build-style/tabs-menu-item/style-rtl.css +0 -33
  357. package/build-style/tabs-menu-item/style.css +0 -33
  358. package/src/tab/slug-from-label.js +0 -26
  359. package/src/tabs-menu/index.php +0 -80
  360. package/src/tabs-menu-item/block.json +0 -59
  361. package/src/tabs-menu-item/controls.js +0 -19
  362. package/src/tabs-menu-item/edit.js +0 -150
  363. package/src/tabs-menu-item/index.php +0 -70
  364. package/src/tabs-menu-item/save.js +0 -13
  365. package/src/tabs-menu-item/style.scss +0 -40
  366. /package/src/{tabs-menu → tab-list}/save.js +0 -0
  367. /package/src/{tab → tab-panel}/init.js +0 -0
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { Button, VisuallyHidden } from '@wordpress/components';
4
+ import { Button } from '@wordpress/components';
5
5
  import { __, isRTL } from '@wordpress/i18n';
6
6
  import { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';
7
7
  import { useInstanceId, useFocusOnMount } from '@wordpress/compose';
8
+ import { VisuallyHidden } from '@wordpress/ui';
8
9
 
9
10
  /**
10
11
  * Shared BackButton component for consistent navigation across LinkUI sub-components.
@@ -5,7 +5,6 @@ import { __unstableStripHTML as stripHTML, focus } from '@wordpress/dom';
5
5
  import {
6
6
  Popover,
7
7
  Button,
8
- VisuallyHidden,
9
8
  __experimentalVStack as VStack,
10
9
  } from '@wordpress/components';
11
10
  import { __ } from '@wordpress/i18n';
@@ -20,6 +19,7 @@ import {
20
19
  import { useResourcePermissions } from '@wordpress/core-data';
21
20
  import { plus } from '@wordpress/icons';
22
21
  import { useInstanceId } from '@wordpress/compose';
22
+ import { VisuallyHidden } from '@wordpress/ui';
23
23
  import { isURL } from '@wordpress/url';
24
24
 
25
25
  /**
@@ -9,24 +9,20 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
9
9
  import {
10
10
  hasBlockSupport,
11
11
  createBlock,
12
+ cloneBlock,
12
13
  getDefaultBlockName,
13
14
  } from '@wordpress/blocks';
14
15
 
15
16
  export function useOnEnter( props ) {
16
17
  const { batch } = useRegistry();
17
- const {
18
- moveBlocksToPosition,
19
- replaceInnerBlocks,
20
- duplicateBlocks,
21
- insertBlock,
22
- } = useDispatch( blockEditorStore );
18
+ const { moveBlocksToPosition, replaceBlocks, selectionChange } =
19
+ useDispatch( blockEditorStore );
23
20
  const {
24
21
  getBlockRootClientId,
25
22
  getBlockIndex,
26
23
  getBlockOrder,
27
24
  getBlockName,
28
25
  getBlock,
29
- getNextBlockClientId,
30
26
  canInsertBlockType,
31
27
  } = useSelect( blockEditorStore );
32
28
  const propsRef = useRef( props );
@@ -104,24 +100,22 @@ export function useOnEnter( props ) {
104
100
 
105
101
  // If it is in the middle, split the block in two.
106
102
  const wrapperBlock = getBlock( wrapperClientId );
103
+ const head = cloneBlock( {
104
+ ...wrapperBlock,
105
+ innerBlocks: wrapperBlock.innerBlocks.slice( 0, position ),
106
+ } );
107
+ const middle = createBlock( defaultBlockName );
108
+ const tail = cloneBlock( {
109
+ ...wrapperBlock,
110
+ innerBlocks: wrapperBlock.innerBlocks.slice( position + 1 ),
111
+ } );
112
+
107
113
  batch( () => {
108
- duplicateBlocks( [ wrapperClientId ] );
109
- const blockIndex = getBlockIndex( wrapperClientId );
110
-
111
- replaceInnerBlocks(
112
- wrapperClientId,
113
- wrapperBlock.innerBlocks.slice( 0, position )
114
- );
115
- replaceInnerBlocks(
116
- getNextBlockClientId( wrapperClientId ),
117
- wrapperBlock.innerBlocks.slice( position + 1 )
118
- );
119
- insertBlock(
120
- createBlock( defaultBlockName ),
121
- blockIndex + 1,
122
- grandparentClientId,
123
- true
124
- );
114
+ replaceBlocks( wrapperClientId, [ head, middle, tail ] );
115
+ // The selected paragraph is a descendant of the replaced
116
+ // wrapper, so `replaceBlocks` leaves the selection stale.
117
+ // Move it to the new default block explicitly.
118
+ selectionChange( middle.clientId );
125
119
  } );
126
120
  }
127
121
 
@@ -20,7 +20,7 @@ import {
20
20
  ComboboxControl,
21
21
  SelectControl,
22
22
  ToggleControl,
23
- __experimentalText as Text,
23
+ __experimentalText as WCText,
24
24
  __experimentalVStack as VStack,
25
25
  __experimentalToolsPanel as ToolsPanel,
26
26
  __experimentalToolsPanelItem as ToolsPanelItem,
@@ -341,11 +341,11 @@ function PostAuthorEdit( {
341
341
  alignment="left"
342
342
  spacing={ 4 }
343
343
  >
344
- <Text as="p">
344
+ <WCText as="p">
345
345
  { __(
346
346
  'This block is no longer supported. Recreate its design with the Avatar, Author Name and Author Biography blocks.'
347
347
  ) }
348
- </Text>
348
+ </WCText>
349
349
  <Button
350
350
  variant="primary"
351
351
  onClick={ transformBlock }
@@ -356,7 +356,6 @@ function PostAuthorEdit( {
356
356
  </VStack>
357
357
  </InspectorControlsLastItem>
358
358
  ) }
359
-
360
359
  <BlockControls group="block">
361
360
  <AlignmentControl
362
361
  value={ textAlign }
@@ -365,7 +364,6 @@ function PostAuthorEdit( {
365
364
  } }
366
365
  />
367
366
  </BlockControls>
368
-
369
367
  <div { ...blockProps }>
370
368
  { showAvatar && (
371
369
  <div className="wp-block-post-author__avatar">
@@ -2,9 +2,9 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useBlockProps } from '@wordpress/block-editor';
5
- import { VisuallyHidden } from '@wordpress/components';
6
5
  import { useInstanceId } from '@wordpress/compose';
7
6
  import { __, sprintf } from '@wordpress/i18n';
7
+ import { VisuallyHidden } from '@wordpress/ui';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
@@ -278,15 +278,8 @@ export default function PostFeaturedImageEdit( {
278
278
  }
279
279
  >
280
280
  <ToggleControl
281
- label={
282
- postType?.labels.singular_name
283
- ? sprintf(
284
- // translators: %s: Name of the post type e.g: "post".
285
- __( 'Link to %s' ),
286
- postType.labels.singular_name
287
- )
288
- : __( 'Link to post' )
289
- }
281
+ __nextHasNoMarginBottom
282
+ label={ __( 'Make image a link' ) }
290
283
  onChange={ () =>
291
284
  setAttributes( { isLink: ! isLink } )
292
285
  }
@@ -116,7 +116,11 @@ export default function PostTemplateEdit( {
116
116
  attributes: { layout },
117
117
  __unstableLayoutClassNames,
118
118
  } ) {
119
- const { type: layoutType, columnCount = 3 } = layout || {};
119
+ const {
120
+ type: layoutType,
121
+ columnCount = 3,
122
+ minimumColumnWidth,
123
+ } = layout || {};
120
124
  const [ activeBlockContextId, setActiveBlockContextId ] = useState();
121
125
  const { posts, blocks } = useSelect(
122
126
  ( select ) => {
@@ -281,6 +285,8 @@ export default function PostTemplateEdit( {
281
285
  className: clsx( __unstableLayoutClassNames, {
282
286
  [ `columns-${ columnCount }` ]:
283
287
  layoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.
288
+ 'has-native-responsive-grid':
289
+ layoutType === 'grid' && columnCount && minimumColumnWidth, // Flag native responsive grid when minimum column width is provided.
284
290
  } ),
285
291
  } );
286
292
 
@@ -94,6 +94,9 @@ function render_block_core_post_template( $attributes, $content, $block ) {
94
94
  if ( isset( $attributes['layout']['type'] ) && 'grid' === $attributes['layout']['type'] && ! empty( $attributes['layout']['columnCount'] ) ) {
95
95
  $classnames .= ' ' . sanitize_title( 'columns-' . $attributes['layout']['columnCount'] );
96
96
  }
97
+ if ( isset( $attributes['layout']['type'] ) && 'grid' === $attributes['layout']['type'] && ! empty( $attributes['layout']['columnCount'] ) && ! empty( $attributes['layout']['minimumColumnWidth'] ) ) {
98
+ $classnames .= ' has-native-responsive-grid';
99
+ }
97
100
 
98
101
  $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => trim( $classnames ) ) );
99
102
 
@@ -32,9 +32,9 @@
32
32
  }
33
33
  }
34
34
 
35
- @media ( max-width: $break-small ) {
35
+ @media (max-width: $break-small) {
36
36
  // Temporary specificity bump until "wp-container" layout specificity is revisited.
37
- .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
37
+ .wp-block-post-template-is-layout-grid[class*="columns-"]:not(.has-native-responsive-grid) {
38
38
  grid-template-columns: 1fr;
39
39
  }
40
40
  }
@@ -43,10 +43,7 @@
43
43
  }
44
44
  },
45
45
  "dimensions": {
46
- "minHeight": true,
47
- "__experimentalDefaultControls": {
48
- "minHeight": false
49
- }
46
+ "minHeight": true
50
47
  },
51
48
  "spacing": {
52
49
  "margin": true,
@@ -75,7 +75,7 @@ function AuthorControl( { value, onChange } ) {
75
75
  value={ sanitizedValue }
76
76
  suggestions={ authorsInfo.names }
77
77
  onChange={ onAuthorChange }
78
- __experimentalShowHowTo={ false }
78
+ help=""
79
79
  __next40pxDefaultSize
80
80
  />
81
81
  );
@@ -81,7 +81,7 @@ export default function FormatControls( { onChange, query: { format } } ) {
81
81
  format: formatNamesToValues( newValues, formats ),
82
82
  } );
83
83
  } }
84
- __experimentalShowHowTo={ false }
84
+ help=""
85
85
  __experimentalExpandOnFocus
86
86
  __next40pxDefaultSize
87
87
  />
@@ -138,7 +138,7 @@ function ParentControl( { parents, postType, onChange } ) {
138
138
  onInputChange={ debouncedSearch }
139
139
  suggestions={ suggestions }
140
140
  onChange={ onParentChange }
141
- __experimentalShowHowTo={ false }
141
+ help=""
142
142
  />
143
143
  );
144
144
  }
@@ -242,7 +242,7 @@ function TaxonomyItem( {
242
242
  suggestions={ suggestions }
243
243
  displayTransform={ decodeEntities }
244
244
  onChange={ onTermsChange }
245
- __experimentalShowHowTo={ false }
245
+ help=""
246
246
  __next40pxDefaultSize
247
247
  />
248
248
  </div>
@@ -51,7 +51,9 @@ import { unlock } from '../lock-unlock';
51
51
  import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
52
52
 
53
53
  const ALLOWED_MEDIA_TYPES = [ 'image' ];
54
- const { mediaEditKey } = unlock( blockEditorPrivateApis );
54
+ const { mediaEditKey, openMediaEditorModalKey } = unlock(
55
+ blockEditorPrivateApis
56
+ );
55
57
 
56
58
  const SiteLogo = ( {
57
59
  alt,
@@ -78,22 +80,26 @@ const SiteLogo = ( {
78
80
  const blockEditingMode = useBlockEditingMode();
79
81
  const isContentOnlyMode = blockEditingMode === 'contentOnly';
80
82
 
81
- const { imageEditing, maxWidth, title, editMediaEntity } = useSelect(
82
- ( select ) => {
83
- const settings = select( blockEditorStore ).getSettings();
84
- const siteEntities = select( coreStore ).getEntityRecord(
85
- 'root',
86
- '__unstableBase'
87
- );
88
- return {
89
- title: siteEntities?.name,
90
- imageEditing: settings.imageEditing,
91
- maxWidth: settings.maxWidth,
92
- editMediaEntity: settings?.[ mediaEditKey ],
93
- };
94
- },
95
- []
96
- );
83
+ const {
84
+ imageEditing,
85
+ maxWidth,
86
+ title,
87
+ editMediaEntity,
88
+ openMediaEditorModal,
89
+ } = useSelect( ( select ) => {
90
+ const settings = select( blockEditorStore ).getSettings();
91
+ const siteEntities = select( coreStore ).getEntityRecord(
92
+ 'root',
93
+ '__unstableBase'
94
+ );
95
+ return {
96
+ title: siteEntities?.name,
97
+ imageEditing: settings.imageEditing,
98
+ maxWidth: settings.maxWidth,
99
+ editMediaEntity: settings?.[ mediaEditKey ],
100
+ openMediaEditorModal: settings?.[ openMediaEditorModalKey ],
101
+ };
102
+ }, [] );
97
103
 
98
104
  useEffect( () => {
99
105
  // Turn the `Use as site icon` toggle off if it is on but the logo and icon have
@@ -110,6 +116,12 @@ const SiteLogo = ( {
110
116
  }
111
117
  }, [ isSelected ] );
112
118
 
119
+ const handleMediaUpdate = ( { id: newId } ) => {
120
+ if ( typeof newId === 'number' && newId !== logoId ) {
121
+ setLogo( newId );
122
+ }
123
+ };
124
+
113
125
  function onResizeStart() {
114
126
  toggleSelection( false );
115
127
  }
@@ -282,11 +294,11 @@ const SiteLogo = ( {
282
294
  ),
283
295
  {
284
296
  a: (
285
- // eslint-disable-next-line jsx-a11y/anchor-has-content
297
+ // eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-no-target-blank
286
298
  <a
287
299
  href={ siteIconSettingsUrl }
288
300
  target="_blank"
289
- rel="noopener noreferrer"
301
+ rel="noopener"
290
302
  />
291
303
  ),
292
304
  }
@@ -388,7 +400,15 @@ const SiteLogo = ( {
388
400
  shouldShowCropAndDimensions && (
389
401
  <BlockControls group="block">
390
402
  <ToolbarButton
391
- onClick={ () => setIsEditingImage( true ) }
403
+ onClick={
404
+ openMediaEditorModal && logoId
405
+ ? () =>
406
+ openMediaEditorModal( {
407
+ id: logoId,
408
+ onUpdate: handleMediaUpdate,
409
+ } )
410
+ : () => setIsEditingImage( true )
411
+ }
392
412
  icon={ crop }
393
413
  label={ __( 'Crop' ) }
394
414
  />
package/src/style.scss CHANGED
@@ -76,10 +76,10 @@
76
76
  @use "./tag-cloud/style.scss" as *;
77
77
  @use "./tab/style.scss" as *;
78
78
  @use "./tab-panel/style.scss" as *;
79
+ @use "./tab-panels/style.scss" as *;
79
80
  @use "./table/style.scss" as *;
80
81
  @use "./table-of-contents/style.scss" as *;
81
82
  @use "./tabs/style.scss" as *;
82
- @use "./tabs-menu-item/style.scss" as *;
83
83
  @use "./term-count/style.scss" as *;
84
84
  @use "./term-description/style.scss" as *;
85
85
  @use "./term-name/style.scss" as *;
@@ -4,26 +4,23 @@
4
4
  "apiVersion": 3,
5
5
  "name": "core/tab",
6
6
  "title": "Tab",
7
- "description": "Content for a tab in a tabbed interface.",
8
- "version": "1.0.0",
7
+ "description": "A single tab button in the tab list.",
9
8
  "category": "design",
10
9
  "textdomain": "default",
11
- "attributes": {
12
- "label": {
13
- "type": "string",
14
- "default": ""
15
- }
16
- },
17
- "parent": [ "core/tab-panel" ],
10
+ "parent": [ "core/tab-list" ],
18
11
  "usesContext": [
12
+ "core/tabs-list",
19
13
  "core/tabs-activeTabIndex",
20
14
  "core/tabs-editorActiveTabIndex",
21
- "core/tabs-id"
15
+ "core/tab-index",
16
+ "core/tab-id",
17
+ "core/tab-label"
22
18
  ],
23
19
  "supports": {
24
- "anchor": true,
25
20
  "html": false,
26
21
  "reusable": false,
22
+ "visibility": false,
23
+ "lock": false,
27
24
  "color": {
28
25
  "background": true,
29
26
  "text": true,
@@ -32,25 +29,28 @@
32
29
  "text": true
33
30
  }
34
31
  },
35
- "layout": true,
36
- "spacing": {
37
- "blockGap": true,
38
- "padding": true,
39
- "margin": false
40
- },
41
32
  "typography": {
42
33
  "fontSize": true,
43
34
  "__experimentalFontFamily": true,
35
+ "textAlign": true,
44
36
  "__experimentalDefaultControls": {
45
- "fontSize": true,
46
- "__experimentalFontFamily": true
37
+ "fontSize": true
47
38
  }
48
39
  },
49
- "renaming": true
50
- },
51
- "providesContext": {
52
- "core/tab-label": "label"
40
+ "spacing": {
41
+ "padding": true,
42
+ "__experimentalDefaultControls": {
43
+ "padding": true
44
+ }
45
+ },
46
+ "__experimentalBorder": {
47
+ "radius": true,
48
+ "color": true,
49
+ "width": true,
50
+ "style": true
51
+ }
53
52
  },
54
53
  "editorScript": "file:./index.js",
54
+ "editorStyle": "file:./editor.css",
55
55
  "style": "file:./style-index.css"
56
56
  }
@@ -1,65 +1,19 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import {
5
- InspectorControls,
6
- store as blockEditorStore,
7
- } from '@wordpress/block-editor';
8
- import {
9
- CheckboxControl,
10
- __experimentalToolsPanel as ToolsPanel,
11
- __experimentalToolsPanelItem as ToolsPanelItem,
12
- } from '@wordpress/components';
13
- import { __ } from '@wordpress/i18n';
14
- import { useDispatch } from '@wordpress/data';
4
+ import { BlockControls } from '@wordpress/block-editor';
15
5
 
16
6
  /**
17
7
  * Internal dependencies
18
8
  */
19
- import AddTabToolbarControl from './add-tab-toolbar-control';
20
- import RemoveTabToolbarControl from './remove-tab-toolbar-control';
21
- import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
22
-
23
- export default function Controls( { tabsClientId, blockIndex, isDefaultTab } ) {
24
- const { updateBlockAttributes } = useDispatch( blockEditorStore );
25
- const dropdownMenuProps = useToolsPanelDropdownMenuProps();
9
+ import AddTabToolbarControl from '../tab-panel/add-tab-toolbar-control';
10
+ import RemoveTabToolbarControl from '../tab-panel/remove-tab-toolbar-control';
26
11
 
12
+ export default function Controls( { tabsClientId } ) {
27
13
  return (
28
- <>
14
+ <BlockControls>
29
15
  <AddTabToolbarControl tabsClientId={ tabsClientId } />
30
16
  <RemoveTabToolbarControl tabsClientId={ tabsClientId } />
31
- <InspectorControls>
32
- <ToolsPanel
33
- label={ __( 'Settings' ) }
34
- resetAll={ () => {
35
- updateBlockAttributes( tabsClientId, {
36
- activeTabIndex: 0,
37
- } );
38
- } }
39
- dropdownMenuProps={ dropdownMenuProps }
40
- >
41
- <ToolsPanelItem
42
- label={ __( 'Default tab' ) }
43
- hasValue={ () => isDefaultTab && blockIndex !== 0 }
44
- onDeselect={ () => {
45
- updateBlockAttributes( tabsClientId, {
46
- activeTabIndex: 0,
47
- } );
48
- } }
49
- isShownByDefault
50
- >
51
- <CheckboxControl
52
- label={ __( 'Default tab' ) }
53
- checked={ isDefaultTab }
54
- onChange={ ( value ) => {
55
- updateBlockAttributes( tabsClientId, {
56
- activeTabIndex: value ? blockIndex : 0,
57
- } );
58
- } }
59
- />
60
- </ToolsPanelItem>
61
- </ToolsPanel>
62
- </InspectorControls>
63
- </>
17
+ </BlockControls>
64
18
  );
65
19
  }