@wordpress/block-editor 12.4.0 → 12.5.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 (316) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +5 -0
  3. package/build/components/block-heading-level-dropdown/heading-level-icon.js +10 -2
  4. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  5. package/build/components/block-heading-level-dropdown/index.native.js +4 -3
  6. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  7. package/build/components/block-lock/toolbar.js +25 -6
  8. package/build/components/block-lock/toolbar.js.map +1 -1
  9. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -6
  10. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  11. package/build/components/block-parent-selector/index.js +8 -5
  12. package/build/components/block-parent-selector/index.js.map +1 -1
  13. package/build/components/block-removal-warning-modal/index.js +18 -25
  14. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  15. package/build/components/block-toolbar/index.js +8 -5
  16. package/build/components/block-toolbar/index.js.map +1 -1
  17. package/build/components/block-tools/block-contextual-toolbar.js +7 -11
  18. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  19. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  20. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  21. package/build/components/dimensions-tool/index.js +207 -0
  22. package/build/components/dimensions-tool/index.js.map +1 -0
  23. package/build/components/dimensions-tool/scale-tool.js +111 -0
  24. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  25. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  26. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  27. package/build/components/global-styles/color-panel.js +1 -1
  28. package/build/components/global-styles/color-panel.js.map +1 -1
  29. package/build/components/global-styles/filters-panel.js +1 -1
  30. package/build/components/global-styles/filters-panel.js.map +1 -1
  31. package/build/components/global-styles/hooks.js +2 -2
  32. package/build/components/global-styles/hooks.js.map +1 -1
  33. package/build/components/global-styles/typography-panel.js +34 -2
  34. package/build/components/global-styles/typography-panel.js.map +1 -1
  35. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  36. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  37. package/build/components/image-editor/use-save-image.js +1 -2
  38. package/build/components/image-editor/use-save-image.js.map +1 -1
  39. package/build/components/image-size-control/index.js +6 -0
  40. package/build/components/image-size-control/index.js.map +1 -1
  41. package/build/components/index.js +19 -1
  42. package/build/components/index.js.map +1 -1
  43. package/build/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  44. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  45. package/build/components/inserter/block-patterns-tab.js +7 -35
  46. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  47. package/build/components/inserter/hooks/use-block-types-state.js +3 -4
  48. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  49. package/build/components/inserter/hooks/use-patterns-state.js +9 -3
  50. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  51. package/build/components/inserter/media-tab/hooks.js +2 -21
  52. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  53. package/build/components/inserter/reusable-block-rename-hint.js +62 -0
  54. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
  55. package/build/components/inserter/reusable-blocks-tab.js +6 -2
  56. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  57. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  58. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  59. package/build/components/inserter/tabs.native.js +1 -1
  60. package/build/components/inserter/tabs.native.js.map +1 -1
  61. package/build/components/inserter-draggable-blocks/index.js +9 -1
  62. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  63. package/build/components/link-control/constants.js +1 -1
  64. package/build/components/link-control/constants.js.map +1 -1
  65. package/build/components/link-control/index.js +17 -15
  66. package/build/components/link-control/index.js.map +1 -1
  67. package/build/components/link-control/search-create-button.js +5 -21
  68. package/build/components/link-control/search-create-button.js.map +1 -1
  69. package/build/components/link-control/search-input.js +4 -4
  70. package/build/components/link-control/search-input.js.map +1 -1
  71. package/build/components/link-control/search-item.js +13 -30
  72. package/build/components/link-control/search-item.js.map +1 -1
  73. package/build/components/link-control/search-results.js +2 -2
  74. package/build/components/link-control/search-results.js.map +1 -1
  75. package/build/components/link-control/settings-drawer.js +2 -3
  76. package/build/components/link-control/settings-drawer.js.map +1 -1
  77. package/build/components/list-view/appender.js +2 -6
  78. package/build/components/list-view/appender.js.map +1 -1
  79. package/build/components/provider/index.js +5 -2
  80. package/build/components/provider/index.js.map +1 -1
  81. package/build/components/provider/use-block-sync.js +21 -0
  82. package/build/components/provider/use-block-sync.js.map +1 -1
  83. package/build/components/resolution-tool/index.js +55 -0
  84. package/build/components/resolution-tool/index.js.map +1 -0
  85. package/build/components/url-input/index.js +4 -2
  86. package/build/components/url-input/index.js.map +1 -1
  87. package/build/components/writing-flow/use-tab-nav.js +10 -27
  88. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  89. package/build/components/writing-mode-control/index.js +70 -0
  90. package/build/components/writing-mode-control/index.js.map +1 -0
  91. package/build/hooks/behaviors.js +25 -20
  92. package/build/hooks/behaviors.js.map +1 -1
  93. package/build/hooks/supports.js +7 -1
  94. package/build/hooks/supports.js.map +1 -1
  95. package/build/hooks/typography.js +2 -1
  96. package/build/hooks/typography.js.map +1 -1
  97. package/build/hooks/utils.js +4 -2
  98. package/build/hooks/utils.js.map +1 -1
  99. package/build/private-apis.js +10 -1
  100. package/build/private-apis.js.map +1 -1
  101. package/build/private-apis.native.js +3 -0
  102. package/build/private-apis.native.js.map +1 -1
  103. package/build/store/actions.js +195 -1
  104. package/build/store/actions.js.map +1 -1
  105. package/build/store/defaults.js +1 -0
  106. package/build/store/defaults.js.map +1 -1
  107. package/build/store/index.js +10 -1
  108. package/build/store/index.js.map +1 -1
  109. package/build/store/private-actions.js +46 -40
  110. package/build/store/private-actions.js.map +1 -1
  111. package/build/store/private-selectors.js +3 -3
  112. package/build/store/private-selectors.js.map +1 -1
  113. package/build/store/reducer.js +22 -8
  114. package/build/store/reducer.js.map +1 -1
  115. package/build/store/selectors.js +33 -15
  116. package/build/store/selectors.js.map +1 -1
  117. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +9 -2
  118. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  119. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -3
  120. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  121. package/build-module/components/block-lock/toolbar.js +25 -7
  122. package/build-module/components/block-lock/toolbar.js.map +1 -1
  123. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
  124. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  125. package/build-module/components/block-parent-selector/index.js +7 -5
  126. package/build-module/components/block-parent-selector/index.js.map +1 -1
  127. package/build-module/components/block-removal-warning-modal/index.js +20 -24
  128. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  129. package/build-module/components/block-toolbar/index.js +8 -5
  130. package/build-module/components/block-toolbar/index.js.map +1 -1
  131. package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
  132. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  133. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  134. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  135. package/build-module/components/dimensions-tool/index.js +195 -0
  136. package/build-module/components/dimensions-tool/index.js.map +1 -0
  137. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  138. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  139. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  140. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  141. package/build-module/components/global-styles/color-panel.js +1 -1
  142. package/build-module/components/global-styles/color-panel.js.map +1 -1
  143. package/build-module/components/global-styles/filters-panel.js +2 -2
  144. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  145. package/build-module/components/global-styles/hooks.js +2 -2
  146. package/build-module/components/global-styles/hooks.js.map +1 -1
  147. package/build-module/components/global-styles/typography-panel.js +33 -2
  148. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  149. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  150. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  151. package/build-module/components/image-editor/use-save-image.js +1 -2
  152. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  153. package/build-module/components/image-size-control/index.js +5 -0
  154. package/build-module/components/image-size-control/index.js.map +1 -1
  155. package/build-module/components/index.js +6 -0
  156. package/build-module/components/index.js.map +1 -1
  157. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  158. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  159. package/build-module/components/inserter/block-patterns-tab.js +7 -33
  160. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  161. package/build-module/components/inserter/hooks/use-block-types-state.js +3 -4
  162. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  163. package/build-module/components/inserter/hooks/use-patterns-state.js +9 -3
  164. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  165. package/build-module/components/inserter/media-tab/hooks.js +2 -21
  166. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  167. package/build-module/components/inserter/reusable-block-rename-hint.js +48 -0
  168. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
  169. package/build-module/components/inserter/reusable-blocks-tab.js +5 -2
  170. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  171. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  172. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  173. package/build-module/components/inserter/tabs.native.js +1 -1
  174. package/build-module/components/inserter/tabs.native.js.map +1 -1
  175. package/build-module/components/inserter-draggable-blocks/index.js +9 -2
  176. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  177. package/build-module/components/link-control/constants.js +1 -1
  178. package/build-module/components/link-control/constants.js.map +1 -1
  179. package/build-module/components/link-control/index.js +17 -15
  180. package/build-module/components/link-control/index.js.map +1 -1
  181. package/build-module/components/link-control/search-create-button.js +7 -20
  182. package/build-module/components/link-control/search-create-button.js.map +1 -1
  183. package/build-module/components/link-control/search-input.js +4 -4
  184. package/build-module/components/link-control/search-input.js.map +1 -1
  185. package/build-module/components/link-control/search-item.js +14 -28
  186. package/build-module/components/link-control/search-item.js.map +1 -1
  187. package/build-module/components/link-control/search-results.js +3 -3
  188. package/build-module/components/link-control/search-results.js.map +1 -1
  189. package/build-module/components/link-control/settings-drawer.js +4 -5
  190. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  191. package/build-module/components/list-view/appender.js +2 -6
  192. package/build-module/components/list-view/appender.js.map +1 -1
  193. package/build-module/components/provider/index.js +5 -2
  194. package/build-module/components/provider/index.js.map +1 -1
  195. package/build-module/components/provider/use-block-sync.js +21 -0
  196. package/build-module/components/provider/use-block-sync.js.map +1 -1
  197. package/build-module/components/resolution-tool/index.js +45 -0
  198. package/build-module/components/resolution-tool/index.js.map +1 -0
  199. package/build-module/components/url-input/index.js +4 -2
  200. package/build-module/components/url-input/index.js.map +1 -1
  201. package/build-module/components/writing-flow/use-tab-nav.js +8 -26
  202. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  203. package/build-module/components/writing-mode-control/index.js +57 -0
  204. package/build-module/components/writing-mode-control/index.js.map +1 -0
  205. package/build-module/hooks/behaviors.js +26 -20
  206. package/build-module/hooks/behaviors.js.map +1 -1
  207. package/build-module/hooks/supports.js +7 -1
  208. package/build-module/hooks/supports.js.map +1 -1
  209. package/build-module/hooks/typography.js +2 -1
  210. package/build-module/hooks/typography.js.map +1 -1
  211. package/build-module/hooks/utils.js +4 -2
  212. package/build-module/hooks/utils.js.map +1 -1
  213. package/build-module/private-apis.js +7 -1
  214. package/build-module/private-apis.js.map +1 -1
  215. package/build-module/private-apis.native.js +2 -0
  216. package/build-module/private-apis.native.js.map +1 -1
  217. package/build-module/store/actions.js +191 -1
  218. package/build-module/store/actions.js.map +1 -1
  219. package/build-module/store/defaults.js +1 -0
  220. package/build-module/store/defaults.js.map +1 -1
  221. package/build-module/store/index.js +10 -1
  222. package/build-module/store/index.js.map +1 -1
  223. package/build-module/store/private-actions.js +45 -36
  224. package/build-module/store/private-actions.js.map +1 -1
  225. package/build-module/store/private-selectors.js +2 -2
  226. package/build-module/store/private-selectors.js.map +1 -1
  227. package/build-module/store/reducer.js +22 -8
  228. package/build-module/store/reducer.js.map +1 -1
  229. package/build-module/store/selectors.js +33 -15
  230. package/build-module/store/selectors.js.map +1 -1
  231. package/build-style/content-rtl.css +3 -0
  232. package/build-style/content.css +3 -0
  233. package/build-style/style-rtl.css +131 -129
  234. package/build-style/style.css +131 -129
  235. package/package.json +32 -31
  236. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  237. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  238. package/src/components/block-draggable/style.scss +1 -0
  239. package/src/components/block-heading-level-dropdown/heading-level-icon.js +6 -1
  240. package/src/components/block-heading-level-dropdown/index.native.js +8 -4
  241. package/src/components/block-inspector/style.scss +2 -1
  242. package/src/components/block-lock/toolbar.js +34 -6
  243. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -8
  244. package/src/components/block-parent-selector/index.js +13 -8
  245. package/src/components/block-removal-warning-modal/index.js +20 -33
  246. package/src/components/block-toolbar/index.js +9 -6
  247. package/src/components/block-tools/block-contextual-toolbar.js +5 -11
  248. package/src/components/block-tools/style.scss +73 -26
  249. package/src/components/default-block-appender/content.scss +11 -0
  250. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  251. package/src/components/dimensions-tool/index.js +212 -0
  252. package/src/components/dimensions-tool/scale-tool.js +124 -0
  253. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  254. package/src/components/dimensions-tool/stories/index.js +54 -0
  255. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  256. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  257. package/src/components/dimensions-tool/test/index.js +641 -0
  258. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  259. package/src/components/font-family/README.md +71 -0
  260. package/src/components/global-styles/color-panel.js +1 -1
  261. package/src/components/global-styles/filters-panel.js +2 -2
  262. package/src/components/global-styles/hooks.js +2 -0
  263. package/src/components/global-styles/typography-panel.js +40 -0
  264. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  265. package/src/components/image-editor/use-save-image.js +0 -1
  266. package/src/components/image-size-control/index.js +6 -0
  267. package/src/components/index.js +6 -0
  268. package/src/components/inserter/block-patterns-explorer/patterns-list.js +8 -2
  269. package/src/components/inserter/block-patterns-tab.js +8 -56
  270. package/src/components/inserter/hooks/use-block-types-state.js +3 -4
  271. package/src/components/inserter/hooks/use-patterns-state.js +35 -19
  272. package/src/components/inserter/media-tab/hooks.js +2 -22
  273. package/src/components/inserter/reusable-block-rename-hint.js +52 -0
  274. package/src/components/inserter/reusable-blocks-tab.js +5 -1
  275. package/src/components/inserter/reusable-blocks-tab.native.js +2 -2
  276. package/src/components/inserter/style.scss +28 -0
  277. package/src/components/inserter/tabs.native.js +5 -1
  278. package/src/components/inserter-draggable-blocks/index.js +13 -2
  279. package/src/components/link-control/constants.js +1 -1
  280. package/src/components/link-control/index.js +32 -28
  281. package/src/components/link-control/search-create-button.js +8 -26
  282. package/src/components/link-control/search-input.js +4 -3
  283. package/src/components/link-control/search-item.js +21 -43
  284. package/src/components/link-control/search-results.js +48 -46
  285. package/src/components/link-control/settings-drawer.js +6 -5
  286. package/src/components/link-control/style.scss +51 -123
  287. package/src/components/link-control/test/index.js +135 -123
  288. package/src/components/list-view/appender.js +5 -6
  289. package/src/components/list-view/style.scss +1 -2
  290. package/src/components/media-replace-flow/test/index.js +1 -1
  291. package/src/components/panel-color-settings/README.md +98 -0
  292. package/src/components/provider/index.js +9 -2
  293. package/src/components/provider/test/use-block-sync.js +21 -6
  294. package/src/components/provider/use-block-sync.js +19 -0
  295. package/src/components/recursion-provider/README.md +101 -0
  296. package/src/components/resolution-tool/index.js +56 -0
  297. package/src/components/resolution-tool/stories/index.js +48 -0
  298. package/src/components/url-input/index.js +2 -0
  299. package/src/components/writing-flow/use-tab-nav.js +10 -33
  300. package/src/components/writing-mode-control/index.js +68 -0
  301. package/src/components/writing-mode-control/style.scss +18 -0
  302. package/src/hooks/behaviors.js +25 -16
  303. package/src/hooks/supports.js +7 -0
  304. package/src/hooks/typography.js +2 -0
  305. package/src/hooks/utils.js +3 -0
  306. package/src/private-apis.js +6 -0
  307. package/src/private-apis.native.js +2 -0
  308. package/src/store/actions.js +194 -1
  309. package/src/store/defaults.js +1 -0
  310. package/src/store/index.js +10 -0
  311. package/src/store/private-actions.js +39 -39
  312. package/src/store/private-selectors.js +2 -2
  313. package/src/store/reducer.js +22 -8
  314. package/src/store/selectors.js +54 -20
  315. package/src/store/test/actions.js +111 -0
  316. package/src/store/test/private-actions.js +56 -0
@@ -160,7 +160,8 @@
160
160
  margin-bottom: 8px;
161
161
  }
162
162
  .block-editor-block-inspector .components-focal-point-picker-control .components-base-control,
163
- .block-editor-block-inspector .components-query-controls .components-base-control {
163
+ .block-editor-block-inspector .components-query-controls .components-base-control,
164
+ .block-editor-block-inspector .components-range-control .components-base-control {
164
165
  margin-bottom: 0;
165
166
  }
166
167
  .block-editor-block-inspector .components-panel__body {
@@ -328,44 +329,77 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
328
329
  .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-toolbar .components-toolbar {
329
330
  border-right-color: #e0e0e0;
330
331
  }
332
+ .block-editor-block-contextual-toolbar:has(.block-editor-block-toolbar:empty) {
333
+ display: none;
334
+ }
331
335
  @media (min-width: 782px) {
332
336
  .block-editor-block-contextual-toolbar.is-fixed {
333
- margin-left: 64px;
337
+ margin-left: 180px;
334
338
  position: fixed;
335
- top: 40px;
339
+ top: 39px;
336
340
  min-height: initial;
337
341
  border-bottom: none;
338
342
  display: flex;
339
343
  }
340
344
  .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
341
345
  width: initial;
342
- margin-left: 216px;
343
346
  }
344
347
  .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
345
- margin-left: 120px;
346
- top: 8px;
348
+ margin-left: 240px;
349
+ top: 7px;
347
350
  }
348
351
  .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
349
352
  width: initial;
350
- margin-left: 280px;
353
+ }
354
+ .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar.is-showing-movers {
355
+ flex-grow: initial;
356
+ width: initial;
357
+ }
358
+ .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar.is-showing-movers::before {
359
+ content: "";
360
+ width: 1px;
361
+ height: 24px;
362
+ margin-top: 12px;
363
+ margin-right: 0;
364
+ background-color: #ddd;
365
+ position: relative;
366
+ left: -2px;
367
+ top: -1px;
351
368
  }
352
369
  .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar {
353
370
  border: none;
354
371
  }
355
- .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar::after {
372
+ .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon svg {
373
+ display: none;
374
+ }
375
+ .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar .components-button.has-icon::after {
376
+ content: attr(aria-label);
377
+ font-size: 12px;
378
+ }
379
+ .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar::before {
356
380
  content: "";
357
381
  width: 1px;
358
382
  height: 24px;
359
383
  margin-top: 12px;
360
- margin-bottom: 12px;
384
+ margin-right: 8px;
361
385
  background-color: #ddd;
362
- position: absolute;
363
- left: 44px;
386
+ position: relative;
387
+ left: 0;
364
388
  top: -1px;
365
389
  }
366
390
  .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-expand-fixed-toolbar {
367
391
  border: none;
368
392
  }
393
+ .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-expand-fixed-toolbar {
394
+ width: 256px;
395
+ }
396
+ .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon svg {
397
+ display: none;
398
+ }
399
+ .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-expand-fixed-toolbar .components-button.has-icon::after {
400
+ content: attr(aria-label);
401
+ font-size: 12px;
402
+ }
369
403
  .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-expand-fixed-toolbar::before {
370
404
  content: "";
371
405
  width: 1px;
@@ -373,20 +407,15 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
373
407
  margin-bottom: 12px;
374
408
  background-color: #ddd;
375
409
  position: relative;
376
- left: -12px;
410
+ left: -8px;
377
411
  height: 24px;
412
+ top: -1px;
378
413
  }
379
414
  .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
380
- margin-left: 64px;
381
- }
382
- .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
383
- margin-left: 384px;
415
+ margin-left: 80px;
384
416
  }
385
417
  .is-fullscreen-mode .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
386
- margin-left: 128px;
387
- }
388
- .is-fullscreen-mode .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
389
- margin-left: 448px;
418
+ margin-left: 144px;
390
419
  }
391
420
  .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button::after {
392
421
  left: 0;
@@ -444,7 +473,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
444
473
  }
445
474
  @media (min-width: 960px) {
446
475
  .block-editor-block-contextual-toolbar.is-fixed {
447
- width: initial;
476
+ width: calc(100% - 240px - 256px);
448
477
  }
449
478
  }
450
479
 
@@ -765,6 +794,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
765
794
  padding: 0 13px;
766
795
  -webkit-user-select: none;
767
796
  user-select: none;
797
+ width: max-content;
768
798
  }
769
799
  .block-editor-block-draggable-chip svg {
770
800
  fill: currentColor;
@@ -1870,6 +1900,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1870
1900
  }
1871
1901
 
1872
1902
  .block-editor-link-control__search-input-wrapper {
1903
+ margin-bottom: 8px;
1873
1904
  position: relative;
1874
1905
  }
1875
1906
 
@@ -1884,15 +1915,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1884
1915
  .block-editor-link-control__field {
1885
1916
  margin: 16px;
1886
1917
  }
1887
- .block-editor-link-control__field > .components-base-control__field {
1888
- display: flex;
1889
- align-items: center;
1890
- }
1891
- .block-editor-link-control__field .components-base-control__label {
1892
- margin-right: 16px;
1893
- margin-bottom: 0;
1894
- min-width: 29px;
1895
- }
1896
1918
  .block-editor-link-control__field input[type=text], .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input {
1897
1919
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
1898
1920
  padding: 6px 8px;
@@ -1904,13 +1926,14 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1904
1926
  font-size: 16px;
1905
1927
  /* Override core line-height. To be reviewed. */
1906
1928
  line-height: normal;
1907
- width: calc(100% - 32px);
1908
1929
  display: block;
1909
- padding: 11px 16px;
1930
+ border: 1px solid #949494;
1931
+ border-radius: 2px;
1932
+ height: 40px;
1910
1933
  margin: 0;
1934
+ padding: 8px 16px;
1911
1935
  position: relative;
1912
- border: 1px solid #ddd;
1913
- border-radius: 2px;
1936
+ width: 100%;
1914
1937
  }
1915
1938
  @media (prefers-reduced-motion: reduce) {
1916
1939
  .block-editor-link-control__field input[type=text], .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input {
@@ -1950,12 +1973,12 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1950
1973
  flex-direction: row-reverse;
1951
1974
  justify-content: flex-start;
1952
1975
  gap: 8px;
1976
+ padding: 8px;
1953
1977
  order: 20;
1954
1978
  }
1955
1979
 
1956
1980
  .block-editor-link-control__search-results-wrapper {
1957
1981
  position: relative;
1958
- margin-top: -15px;
1959
1982
  }
1960
1983
  .block-editor-link-control__search-results-wrapper::before, .block-editor-link-control__search-results-wrapper::after {
1961
1984
  content: "";
@@ -1978,8 +2001,8 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1978
2001
  }
1979
2002
 
1980
2003
  .block-editor-link-control__search-results {
1981
- margin: 0;
1982
- padding: 8px 16px 8px;
2004
+ margin-top: -16px;
2005
+ padding: 8px;
1983
2006
  max-height: 200px;
1984
2007
  overflow-y: auto;
1985
2008
  }
@@ -1987,35 +2010,23 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1987
2010
  opacity: 0.2;
1988
2011
  }
1989
2012
 
1990
- .block-editor-link-control__search-item {
1991
- position: relative;
1992
- display: flex;
1993
- align-items: flex-start;
1994
- font-size: 13px;
1995
- cursor: pointer;
1996
- background: #fff;
1997
- width: 100%;
1998
- border: none;
1999
- text-align: left;
2000
- padding: 12px 16px;
2001
- border-radius: 2px;
2013
+ .block-editor-link-control__search-item.components-button.components-menu-item__button {
2002
2014
  height: auto;
2015
+ text-align: left;
2003
2016
  }
2004
- .block-editor-link-control__search-item:hover, .block-editor-link-control__search-item:focus {
2005
- background-color: #f0f0f0;
2006
- }
2007
- .block-editor-link-control__search-item:hover .block-editor-link-control__search-item-type, .block-editor-link-control__search-item:focus .block-editor-link-control__search-item-type {
2008
- background: #fff;
2017
+ .block-editor-link-control__search-item .components-menu-item__item {
2018
+ overflow: hidden;
2019
+ text-overflow: ellipsis;
2020
+ display: inline-block;
2009
2021
  }
2010
- .block-editor-link-control__search-item:focus:not(:disabled) {
2011
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset;
2022
+ .block-editor-link-control__search-item .components-menu-item__shortcut {
2023
+ color: #757575;
2024
+ text-transform: capitalize;
2025
+ white-space: nowrap;
2012
2026
  }
2013
- .block-editor-link-control__search-item.is-selected {
2027
+ .block-editor-link-control__search-item[aria-selected] {
2014
2028
  background: #f0f0f0;
2015
2029
  }
2016
- .block-editor-link-control__search-item.is-selected .block-editor-link-control__search-item-type {
2017
- background: #fff;
2018
- }
2019
2030
  .block-editor-link-control__search-item.is-current {
2020
2031
  flex-direction: column;
2021
2032
  background: transparent;
@@ -2044,7 +2055,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2044
2055
  }
2045
2056
  .block-editor-link-control__search-item .block-editor-link-control__search-item-icon {
2046
2057
  position: relative;
2047
- top: 0.2em;
2048
2058
  margin-right: 8px;
2049
2059
  max-height: 24px;
2050
2060
  flex-shrink: 0;
@@ -2060,17 +2070,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2060
2070
  width: 32px;
2061
2071
  max-height: 32px;
2062
2072
  }
2063
- .block-editor-link-control__search-item .block-editor-link-control__search-item-info,
2064
- .block-editor-link-control__search-item .block-editor-link-control__search-item-title {
2065
- overflow: hidden;
2066
- text-overflow: ellipsis;
2067
- }
2068
- .block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon,
2069
- .block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon {
2070
- position: absolute;
2071
- right: 0;
2072
- margin-top: 0;
2073
- }
2074
2073
  .block-editor-link-control__search-item .block-editor-link-control__search-item-title {
2075
2074
  display: block;
2076
2075
  margin-bottom: 0.2em;
@@ -2088,25 +2087,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2088
2087
  .block-editor-link-control__search-item .block-editor-link-control__search-item-title svg {
2089
2088
  display: none;
2090
2089
  }
2091
- .block-editor-link-control__search-item .block-editor-link-control__search-item-info {
2092
- display: block;
2093
- color: #757575;
2094
- font-size: 0.9em;
2095
- line-height: 1.3;
2096
- }
2097
- .block-editor-link-control__search-item .block-editor-link-control__search-item-error-notice {
2098
- font-style: italic;
2099
- font-size: 1.1em;
2100
- }
2101
- .block-editor-link-control__search-item .block-editor-link-control__search-item-type {
2102
- display: block;
2103
- padding: 3px 6px;
2104
- margin-left: auto;
2105
- font-size: 0.9em;
2106
- background-color: #f0f0f0;
2107
- border-radius: 2px;
2108
- white-space: nowrap;
2109
- }
2110
2090
  .block-editor-link-control__search-item .block-editor-link-control__search-item-description {
2111
2091
  padding-top: 12px;
2112
2092
  margin: 0;
@@ -2221,10 +2201,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2221
2201
  top: 0;
2222
2202
  }
2223
2203
 
2224
- .block-editor-link-control__search-results div[role=menu] > .block-editor-link-control__search-item.block-editor-link-control__search-item {
2225
- padding: 10px;
2226
- }
2227
-
2228
2204
  .block-editor-link-control__drawer {
2229
2205
  display: flex;
2230
2206
  order: 30;
@@ -2236,48 +2212,18 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2236
2212
  display: flex;
2237
2213
  flex-direction: column;
2238
2214
  flex-basis: 100%;
2239
- margin-top: 16px;
2240
- padding-top: 16px;
2241
2215
  position: relative;
2242
2216
  }
2243
- .block-editor-link-control__drawer-inner::after {
2244
- content: "";
2245
- display: block;
2246
- height: 1px;
2247
- background-color: #ddd;
2248
- position: absolute;
2249
- left: -16px;
2250
- right: -16px;
2251
- top: 0;
2252
- }
2253
-
2254
- .block-editor-link-control__tools {
2255
- display: flex;
2256
- flex-wrap: wrap;
2257
- align-items: center;
2258
- justify-content: space-between;
2259
- margin: 0;
2260
- padding: 16px;
2261
- margin-top: calc(var(--wp-admin-border-width-focus) * -1);
2262
- padding-top: var(--wp-admin-border-width-focus);
2263
- overflow: hidden;
2264
- }
2265
2217
 
2266
2218
  .block-editor-link-control__unlink {
2267
2219
  padding-left: 16px;
2268
2220
  padding-right: 16px;
2269
2221
  }
2270
2222
 
2271
- .block-editor-link-control__settings {
2272
- flex: 1;
2273
- margin: 0;
2274
- }
2275
- .is-alternate .block-editor-link-control__settings {
2276
- border-top: 1px solid #1e1e1e;
2277
- }
2278
-
2279
2223
  .block-editor-link-control__setting {
2280
2224
  margin-bottom: 16px;
2225
+ flex: 1;
2226
+ padding: 8px 0 8px 24px;
2281
2227
  }
2282
2228
  .block-editor-link-control__setting input {
2283
2229
  margin-left: 0;
@@ -2286,6 +2232,37 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2286
2232
  margin-bottom: 0;
2287
2233
  }
2288
2234
 
2235
+ .block-editor-link-control__tools {
2236
+ padding: 8px 8px 0 8px;
2237
+ margin-top: -16px;
2238
+ }
2239
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle {
2240
+ padding-left: 0;
2241
+ gap: 0;
2242
+ }
2243
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg {
2244
+ visibility: visible;
2245
+ transition: transform 0.1s ease;
2246
+ transform: rotate(90deg);
2247
+ }
2248
+ @media (prefers-reduced-motion: reduce) {
2249
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg {
2250
+ transition-duration: 0s;
2251
+ transition-delay: 0s;
2252
+ }
2253
+ }
2254
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg {
2255
+ visibility: visible;
2256
+ transform: rotate(0deg);
2257
+ transition: transform 0.1s ease;
2258
+ }
2259
+ @media (prefers-reduced-motion: reduce) {
2260
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=false] svg {
2261
+ transition-duration: 0s;
2262
+ transition-delay: 0s;
2263
+ }
2264
+ }
2265
+
2289
2266
  .block-editor-link-control .block-editor-link-control__search-input .components-spinner {
2290
2267
  display: block;
2291
2268
  }
@@ -2659,8 +2636,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2659
2636
  }
2660
2637
  .block-editor-list-view-drop-indicator .block-editor-list-view-drop-indicator__line {
2661
2638
  background: var(--wp-admin-theme-color);
2662
- height: 6px;
2663
- border: 1px solid #fff;
2639
+ height: 4px;
2664
2640
  border-radius: 4px;
2665
2641
  }
2666
2642
 
@@ -4120,6 +4096,32 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
4120
4096
  margin: 0;
4121
4097
  }
4122
4098
 
4099
+ .block-editor-inserter__hint {
4100
+ margin: 16px 16px 0;
4101
+ }
4102
+
4103
+ .reusable-blocks-menu-items__rename-hint {
4104
+ align-items: top;
4105
+ background: #f0f0f0;
4106
+ border-radius: 2px;
4107
+ color: #1e1e1e;
4108
+ display: flex;
4109
+ flex-direction: row;
4110
+ max-width: 380px;
4111
+ }
4112
+
4113
+ .reusable-blocks-menu-items__rename-hint-content {
4114
+ margin: 12px 0 12px 12px;
4115
+ }
4116
+
4117
+ .reusable-blocks-menu-items__rename-hint-dismiss {
4118
+ margin: 4px 4px 4px 0;
4119
+ }
4120
+
4121
+ .components-menu-group .reusable-blocks-menu-items__rename-hint {
4122
+ margin: 0;
4123
+ }
4124
+
4123
4125
  .block-editor-post-preview__dropdown {
4124
4126
  padding: 0;
4125
4127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "12.4.0",
3
+ "version": "12.5.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -32,36 +32,37 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.16.0",
35
+ "@emotion/styled": "^11.6.0",
35
36
  "@react-spring/web": "^9.4.5",
36
- "@wordpress/a11y": "^3.36.0",
37
- "@wordpress/api-fetch": "^6.33.0",
38
- "@wordpress/blob": "^3.36.0",
39
- "@wordpress/blocks": "^12.13.0",
40
- "@wordpress/components": "^25.2.0",
41
- "@wordpress/compose": "^6.13.0",
42
- "@wordpress/data": "^9.6.0",
43
- "@wordpress/date": "^4.36.0",
44
- "@wordpress/deprecated": "^3.36.0",
45
- "@wordpress/dom": "^3.36.0",
46
- "@wordpress/element": "^5.13.0",
47
- "@wordpress/escape-html": "^2.36.0",
48
- "@wordpress/hooks": "^3.36.0",
49
- "@wordpress/html-entities": "^3.36.0",
50
- "@wordpress/i18n": "^4.36.0",
51
- "@wordpress/icons": "^9.27.0",
52
- "@wordpress/is-shallow-equal": "^4.36.0",
53
- "@wordpress/keyboard-shortcuts": "^4.13.0",
54
- "@wordpress/keycodes": "^3.36.0",
55
- "@wordpress/notices": "^4.4.0",
56
- "@wordpress/preferences": "^3.13.0",
57
- "@wordpress/private-apis": "^0.18.0",
58
- "@wordpress/rich-text": "^6.13.0",
59
- "@wordpress/shortcode": "^3.36.0",
60
- "@wordpress/style-engine": "^1.19.0",
61
- "@wordpress/token-list": "^2.36.0",
62
- "@wordpress/url": "^3.37.0",
63
- "@wordpress/warning": "^2.36.0",
64
- "@wordpress/wordcount": "^3.36.0",
37
+ "@wordpress/a11y": "^3.37.0",
38
+ "@wordpress/api-fetch": "^6.34.0",
39
+ "@wordpress/blob": "^3.37.0",
40
+ "@wordpress/blocks": "^12.14.0",
41
+ "@wordpress/components": "^25.3.0",
42
+ "@wordpress/compose": "^6.14.0",
43
+ "@wordpress/data": "^9.7.0",
44
+ "@wordpress/date": "^4.37.0",
45
+ "@wordpress/deprecated": "^3.37.0",
46
+ "@wordpress/dom": "^3.37.0",
47
+ "@wordpress/element": "^5.14.0",
48
+ "@wordpress/escape-html": "^2.37.0",
49
+ "@wordpress/hooks": "^3.37.0",
50
+ "@wordpress/html-entities": "^3.37.0",
51
+ "@wordpress/i18n": "^4.37.0",
52
+ "@wordpress/icons": "^9.28.0",
53
+ "@wordpress/is-shallow-equal": "^4.37.0",
54
+ "@wordpress/keyboard-shortcuts": "^4.14.0",
55
+ "@wordpress/keycodes": "^3.37.0",
56
+ "@wordpress/notices": "^4.5.0",
57
+ "@wordpress/preferences": "^3.14.0",
58
+ "@wordpress/private-apis": "^0.19.0",
59
+ "@wordpress/rich-text": "^6.14.0",
60
+ "@wordpress/shortcode": "^3.37.0",
61
+ "@wordpress/style-engine": "^1.20.0",
62
+ "@wordpress/token-list": "^2.37.0",
63
+ "@wordpress/url": "^3.38.0",
64
+ "@wordpress/warning": "^2.37.0",
65
+ "@wordpress/wordcount": "^3.37.0",
65
66
  "change-case": "^4.1.2",
66
67
  "classnames": "^2.3.1",
67
68
  "colord": "^2.7.0",
@@ -84,5 +85,5 @@
84
85
  "publishConfig": {
85
86
  "access": "public"
86
87
  },
87
- "gitHead": "d47d8069e1aae05d4a16dc287902eb90edcbff50"
88
+ "gitHead": "bcd13d59b22553b3c9dc5869077bff1e864cf9f5"
88
89
  }
@@ -25,7 +25,7 @@ exports[`AlignmentUI should allow custom alignment controls to be specified 1`]
25
25
  xmlns="http://www.w3.org/2000/svg"
26
26
  >
27
27
  <path
28
- d="M4 19.8h8.9v-1.5H4v1.5zm8.9-15.6H4v1.5h8.9V4.2zm-8.9 7v1.5h16v-1.5H4z"
28
+ d="M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z"
29
29
  />
30
30
  </svg>
31
31
  </button>
@@ -48,7 +48,7 @@ exports[`AlignmentUI should allow custom alignment controls to be specified 1`]
48
48
  xmlns="http://www.w3.org/2000/svg"
49
49
  >
50
50
  <path
51
- d="M16.4 4.2H7.6v1.5h8.9V4.2zM4 11.2v1.5h16v-1.5H4zm3.6 8.6h8.9v-1.5H7.6v1.5z"
51
+ d="M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z"
52
52
  />
53
53
  </svg>
54
54
  </button>
@@ -80,7 +80,7 @@ exports[`AlignmentUI should match snapshot when controls are hidden 1`] = `
80
80
  xmlns="http://www.w3.org/2000/svg"
81
81
  >
82
82
  <path
83
- d="M4 19.8h8.9v-1.5H4v1.5zm8.9-15.6H4v1.5h8.9V4.2zm-8.9 7v1.5h16v-1.5H4z"
83
+ d="M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z"
84
84
  />
85
85
  </svg>
86
86
  </button>
@@ -113,7 +113,7 @@ exports[`AlignmentUI should match snapshot when controls are visible 1`] = `
113
113
  xmlns="http://www.w3.org/2000/svg"
114
114
  >
115
115
  <path
116
- d="M4 19.8h8.9v-1.5H4v1.5zm8.9-15.6H4v1.5h8.9V4.2zm-8.9 7v1.5h16v-1.5H4z"
116
+ d="M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z"
117
117
  />
118
118
  </svg>
119
119
  </button>
@@ -136,7 +136,7 @@ exports[`AlignmentUI should match snapshot when controls are visible 1`] = `
136
136
  xmlns="http://www.w3.org/2000/svg"
137
137
  >
138
138
  <path
139
- d="M16.4 4.2H7.6v1.5h8.9V4.2zM4 11.2v1.5h16v-1.5H4zm3.6 8.6h8.9v-1.5H7.6v1.5z"
139
+ d="M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z"
140
140
  />
141
141
  </svg>
142
142
  </button>
@@ -159,7 +159,7 @@ exports[`AlignmentUI should match snapshot when controls are visible 1`] = `
159
159
  xmlns="http://www.w3.org/2000/svg"
160
160
  >
161
161
  <path
162
- d="M11.1 19.8H20v-1.5h-8.9v1.5zm0-15.6v1.5H20V4.2h-8.9zM4 12.8h16v-1.5H4v1.5z"
162
+ d="M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z"
163
163
  />
164
164
  </svg>
165
165
  </button>
@@ -23,7 +23,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are hidden 1`] = `
23
23
  xmlns="http://www.w3.org/2000/svg"
24
24
  >
25
25
  <path
26
- d="M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z"
26
+ d="M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z"
27
27
  />
28
28
  </svg>
29
29
  </button>
@@ -55,7 +55,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are visible 1`] =
55
55
  xmlns="http://www.w3.org/2000/svg"
56
56
  >
57
57
  <path
58
- d="M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z"
58
+ d="M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z"
59
59
  />
60
60
  </svg>
61
61
  </button>
@@ -77,7 +77,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are visible 1`] =
77
77
  xmlns="http://www.w3.org/2000/svg"
78
78
  >
79
79
  <path
80
- d="M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z"
80
+ d="M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z"
81
81
  />
82
82
  </svg>
83
83
  </button>
@@ -99,7 +99,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are visible 1`] =
99
99
  xmlns="http://www.w3.org/2000/svg"
100
100
  >
101
101
  <path
102
- d="M7 9v6h10V9H7zM5 19.8h14v-1.5H5v1.5zM5 4.3v1.5h14V4.3H5z"
102
+ d="M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z"
103
103
  />
104
104
  </svg>
105
105
  </button>
@@ -121,7 +121,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are visible 1`] =
121
121
  xmlns="http://www.w3.org/2000/svg"
122
122
  >
123
123
  <path
124
- d="M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z"
124
+ d="M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z"
125
125
  />
126
126
  </svg>
127
127
  </button>
@@ -15,6 +15,7 @@
15
15
  height: $block-toolbar-height;
16
16
  padding: 0 ( $grid-unit-15 + $border-width );
17
17
  user-select: none;
18
+ width: max-content;
18
19
 
19
20
  svg {
20
21
  fill: currentColor;
@@ -10,6 +10,7 @@ import {
10
10
  headingLevel6,
11
11
  paragraph,
12
12
  } from '@wordpress/icons';
13
+ import { Icon } from '@wordpress/components';
13
14
 
14
15
  /** @typedef {import('@wordpress/element').WPComponent} WPComponent */
15
16
 
@@ -39,5 +40,9 @@ const LEVEL_TO_PATH = {
39
40
  * @return {?WPComponent} The icon.
40
41
  */
41
42
  export default function HeadingLevelIcon( { level } ) {
42
- return LEVEL_TO_PATH[ level ] ?? null;
43
+ if ( LEVEL_TO_PATH[ level ] ) {
44
+ return <Icon icon={ LEVEL_TO_PATH[ level ] } />;
45
+ }
46
+
47
+ return null;
43
48
  }
@@ -30,7 +30,11 @@ const HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];
30
30
  *
31
31
  * @return {WPComponent} The toolbar.
32
32
  */
33
- export default function HeadingLevelDropdown( { selectedLevel, onChange } ) {
33
+ export default function HeadingLevelDropdown( {
34
+ options = HEADING_LEVELS,
35
+ value,
36
+ onChange,
37
+ } ) {
34
38
  const createLevelControl = (
35
39
  targetLevel,
36
40
  currentLevel,
@@ -53,9 +57,9 @@ export default function HeadingLevelDropdown( { selectedLevel, onChange } ) {
53
57
 
54
58
  return (
55
59
  <DropdownMenu
56
- icon={ <HeadingLevelIcon level={ selectedLevel } /> }
57
- controls={ HEADING_LEVELS.map( ( index ) =>
58
- createLevelControl( index, selectedLevel, onChange )
60
+ icon={ <HeadingLevelIcon level={ value } /> }
61
+ controls={ options.map( ( index ) =>
62
+ createLevelControl( index, value, onChange )
59
63
  ) }
60
64
  label={ __( 'Change level' ) }
61
65
  />