@wordpress/block-editor 14.1.0 → 14.2.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 (630) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -10
  3. package/build/components/block-alignment-matrix-control/index.js +2 -2
  4. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +8 -2
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-canvas/index.js +8 -1
  8. package/build/components/block-canvas/index.js.map +1 -1
  9. package/build/components/block-compare/block-view.js +4 -1
  10. package/build/components/block-compare/block-view.js.map +1 -1
  11. package/build/components/block-draggable/index.js +4 -4
  12. package/build/components/block-draggable/index.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  14. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  15. package/build/components/block-edit/multiple-usage-warning.js +8 -2
  16. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  17. package/build/components/block-inspector/index.js +27 -9
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-invalid-warning.js +6 -3
  20. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  21. package/build/components/block-list/block.js +5 -1
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/use-block-props/index.js +5 -1
  24. package/build/components/block-list/use-block-props/index.js.map +1 -1
  25. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  26. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +46 -0
  28. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  29. package/build/components/block-lock/toolbar.js +3 -3
  30. package/build/components/block-lock/toolbar.js.map +1 -1
  31. package/build/components/block-mover/button.js +4 -1
  32. package/build/components/block-mover/button.js.map +1 -1
  33. package/build/components/block-mover/index.js +4 -1
  34. package/build/components/block-mover/index.js.map +1 -1
  35. package/build/components/block-navigation/dropdown.js +4 -1
  36. package/build/components/block-navigation/dropdown.js.map +1 -1
  37. package/build/components/block-pattern-setup/index.js +1 -4
  38. package/build/components/block-pattern-setup/index.js.map +1 -1
  39. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  40. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  41. package/build/components/block-patterns-list/index.js +11 -14
  42. package/build/components/block-patterns-list/index.js.map +1 -1
  43. package/build/components/block-patterns-paging/index.js +12 -3
  44. package/build/components/block-patterns-paging/index.js.map +1 -1
  45. package/build/components/block-popover/index.js +2 -15
  46. package/build/components/block-popover/index.js.map +1 -1
  47. package/build/components/block-quick-navigation/index.js +4 -1
  48. package/build/components/block-quick-navigation/index.js.map +1 -1
  49. package/build/components/block-settings-menu-controls/index.js +4 -0
  50. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  51. package/build/components/block-switcher/index.js +22 -17
  52. package/build/components/block-switcher/index.js.map +1 -1
  53. package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
  54. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  55. package/build/components/block-toolbar/index.js +12 -11
  56. package/build/components/block-toolbar/index.js.map +1 -1
  57. package/build/components/block-toolbar/shuffle.js +6 -2
  58. package/build/components/block-toolbar/shuffle.js.map +1 -1
  59. package/build/components/block-tools/block-selection-button.js +8 -2
  60. package/build/components/block-tools/block-selection-button.js.map +1 -1
  61. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  62. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  63. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  64. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  65. package/build/components/block-tools/zoom-out-mode-inserters.js +4 -9
  66. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  67. package/build/components/block-tools/zoom-out-popover.js +3 -4
  68. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  69. package/build/components/block-tools/zoom-out-toolbar.js +14 -5
  70. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  71. package/build/components/block-variation-picker/index.js +4 -1
  72. package/build/components/block-variation-picker/index.js.map +1 -1
  73. package/build/components/block-variation-transforms/index.js +4 -1
  74. package/build/components/block-variation-transforms/index.js.map +1 -1
  75. package/build/components/button-block-appender/index.js +14 -3
  76. package/build/components/button-block-appender/index.js.map +1 -1
  77. package/build/components/colors-gradients/dropdown.js +4 -1
  78. package/build/components/colors-gradients/dropdown.js.map +1 -1
  79. package/build/components/content-lock/index.js +13 -0
  80. package/build/components/content-lock/index.js.map +1 -0
  81. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  82. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  83. package/build/components/editor-styles/index.js +4 -3
  84. package/build/components/editor-styles/index.js.map +1 -1
  85. package/build/components/global-styles/background-panel.js +8 -12
  86. package/build/components/global-styles/background-panel.js.map +1 -1
  87. package/build/components/global-styles/color-panel.js +8 -5
  88. package/build/components/global-styles/color-panel.js.map +1 -1
  89. package/build/components/global-styles/color-panel.native.js +1 -1
  90. package/build/components/global-styles/color-panel.native.js.map +1 -1
  91. package/build/components/global-styles/dimensions-panel.js +34 -37
  92. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  93. package/build/components/global-styles/filters-panel.js +4 -1
  94. package/build/components/global-styles/filters-panel.js.map +1 -1
  95. package/build/components/global-styles/shadow-panel-components.js +13 -7
  96. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  97. package/build/components/global-styles/typography-utils.js +17 -6
  98. package/build/components/global-styles/typography-utils.js.map +1 -1
  99. package/build/components/global-styles/utils.js +4 -6
  100. package/build/components/global-styles/utils.js.map +1 -1
  101. package/build/components/grid/grid-item-movers.js +2 -2
  102. package/build/components/grid/grid-item-movers.js.map +1 -1
  103. package/build/components/iframe/index.js +5 -5
  104. package/build/components/iframe/index.js.map +1 -1
  105. package/build/components/inner-blocks/index.js +2 -4
  106. package/build/components/inner-blocks/index.js.map +1 -1
  107. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  108. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  109. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  110. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  111. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  112. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  113. package/build/components/inserter/library.js +2 -4
  114. package/build/components/inserter/library.js.map +1 -1
  115. package/build/components/inserter/media-tab/hooks.js +3 -3
  116. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  117. package/build/components/inserter/media-tab/media-list.js +1 -4
  118. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  119. package/build/components/inserter/media-tab/media-preview.js +8 -2
  120. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  121. package/build/components/inserter/media-tab/media-tab.js +4 -1
  122. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  123. package/build/components/inserter/menu.js +7 -24
  124. package/build/components/inserter/menu.js.map +1 -1
  125. package/build/components/inserter/quick-inserter.js +4 -1
  126. package/build/components/inserter/quick-inserter.js.map +1 -1
  127. package/build/components/inserter-list-item/index.js +4 -4
  128. package/build/components/inserter-list-item/index.js.map +1 -1
  129. package/build/components/inserter-listbox/index.js +3 -7
  130. package/build/components/inserter-listbox/index.js.map +1 -1
  131. package/build/components/inserter-listbox/item.js +4 -1
  132. package/build/components/inserter-listbox/item.js.map +1 -1
  133. package/build/components/inspector-controls/groups.js +2 -0
  134. package/build/components/inspector-controls/groups.js.map +1 -1
  135. package/build/components/inspector-controls-tabs/index.js +4 -1
  136. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  137. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  138. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  139. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  140. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  141. package/build/components/inspector-popover-header/index.js +8 -2
  142. package/build/components/inspector-popover-header/index.js.map +1 -1
  143. package/build/components/letter-spacing-control/index.js +7 -4
  144. package/build/components/letter-spacing-control/index.js.map +1 -1
  145. package/build/components/link-control/index.js +19 -10
  146. package/build/components/link-control/index.js.map +1 -1
  147. package/build/components/link-control/settings-drawer.js +4 -1
  148. package/build/components/link-control/settings-drawer.js.map +1 -1
  149. package/build/components/list-view/block-select-button.js +4 -1
  150. package/build/components/list-view/block-select-button.js.map +1 -1
  151. package/build/components/media-placeholder/index.js +28 -7
  152. package/build/components/media-placeholder/index.js.map +1 -1
  153. package/build/components/media-replace-flow/index.js +8 -1
  154. package/build/components/media-replace-flow/index.js.map +1 -1
  155. package/build/components/provider/use-block-sync.js +19 -19
  156. package/build/components/provider/use-block-sync.js.map +1 -1
  157. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  158. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  159. package/build/components/rich-text/index.js +38 -30
  160. package/build/components/rich-text/index.js.map +1 -1
  161. package/build/components/rich-text/use-mark-persistent.js +5 -5
  162. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  163. package/build/components/skip-to-selected-block/index.js +4 -1
  164. package/build/components/skip-to-selected-block/index.js.map +1 -1
  165. package/build/components/tool-selector/index.js +4 -1
  166. package/build/components/tool-selector/index.js.map +1 -1
  167. package/build/components/url-input/button.js +12 -3
  168. package/build/components/url-input/button.js.map +1 -1
  169. package/build/components/url-input/index.js +4 -1
  170. package/build/components/url-input/index.js.map +1 -1
  171. package/build/components/use-block-drop-zone/index.js +4 -6
  172. package/build/components/use-block-drop-zone/index.js.map +1 -1
  173. package/build/components/writing-flow/index.js +2 -1
  174. package/build/components/writing-flow/index.js.map +1 -1
  175. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  176. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  177. package/build/components/writing-flow/use-event-redirect.js +66 -0
  178. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  179. package/build/components/writing-flow/use-input.js +31 -1
  180. package/build/components/writing-flow/use-input.js.map +1 -1
  181. package/build/components/writing-flow/use-select-all.js +14 -1
  182. package/build/components/writing-flow/use-select-all.js.map +1 -1
  183. package/build/components/writing-flow/use-selection-observer.js +20 -6
  184. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  185. package/build/components/writing-flow/use-tab-nav.js +4 -4
  186. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  187. package/build/components/writing-flow/utils.js +27 -0
  188. package/build/components/writing-flow/utils.js.map +1 -1
  189. package/build/hooks/block-bindings.js +32 -29
  190. package/build/hooks/block-bindings.js.map +1 -1
  191. package/build/hooks/content-lock-ui.js +8 -26
  192. package/build/hooks/content-lock-ui.js.map +1 -1
  193. package/build/hooks/duotone.js +0 -4
  194. package/build/hooks/duotone.js.map +1 -1
  195. package/build/hooks/layout.js +4 -1
  196. package/build/hooks/layout.js.map +1 -1
  197. package/build/hooks/spacing-visualizer.js +3 -3
  198. package/build/hooks/spacing-visualizer.js.map +1 -1
  199. package/build/hooks/style.js +1 -5
  200. package/build/hooks/style.js.map +1 -1
  201. package/build/hooks/use-bindings-attributes.js +19 -20
  202. package/build/hooks/use-bindings-attributes.js.map +1 -1
  203. package/build/hooks/use-zoom-out.js +7 -7
  204. package/build/hooks/use-zoom-out.js.map +1 -1
  205. package/build/layouts/constrained.js +41 -41
  206. package/build/layouts/constrained.js.map +1 -1
  207. package/build/layouts/flex.js +4 -1
  208. package/build/layouts/flex.js.map +1 -1
  209. package/build/layouts/utils.js +1 -7
  210. package/build/layouts/utils.js.map +1 -1
  211. package/build/private-apis.js +2 -1
  212. package/build/private-apis.js.map +1 -1
  213. package/build/store/actions.js +2 -7
  214. package/build/store/actions.js.map +1 -1
  215. package/build/store/private-actions.js +1 -0
  216. package/build/store/private-actions.js.map +1 -1
  217. package/build/store/private-keys.js +2 -1
  218. package/build/store/private-keys.js.map +1 -1
  219. package/build/store/private-selectors.js +13 -15
  220. package/build/store/private-selectors.js.map +1 -1
  221. package/build/store/reducer.js +1 -8
  222. package/build/store/reducer.js.map +1 -1
  223. package/build/store/selectors.js +19 -43
  224. package/build/store/selectors.js.map +1 -1
  225. package/build/store/utils.js +48 -0
  226. package/build/store/utils.js.map +1 -1
  227. package/build/utils/block-bindings.js +16 -11
  228. package/build/utils/block-bindings.js.map +1 -1
  229. package/build/utils/dom.js +101 -0
  230. package/build/utils/dom.js.map +1 -1
  231. package/build/utils/get-font-styles-and-weights.js +4 -4
  232. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  233. package/build/utils/transform-styles/index.js +120 -16
  234. package/build/utils/transform-styles/index.js.map +1 -1
  235. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  236. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  237. package/build-module/components/block-breadcrumb/index.js +8 -2
  238. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  239. package/build-module/components/block-canvas/index.js +9 -1
  240. package/build-module/components/block-canvas/index.js.map +1 -1
  241. package/build-module/components/block-compare/block-view.js +4 -1
  242. package/build-module/components/block-compare/block-view.js.map +1 -1
  243. package/build-module/components/block-draggable/index.js +4 -4
  244. package/build-module/components/block-draggable/index.js.map +1 -1
  245. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  246. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  247. package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
  248. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  249. package/build-module/components/block-inspector/index.js +27 -9
  250. package/build-module/components/block-inspector/index.js.map +1 -1
  251. package/build-module/components/block-list/block-invalid-warning.js +6 -3
  252. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  253. package/build-module/components/block-list/block.js +5 -1
  254. package/build-module/components/block-list/block.js.map +1 -1
  255. package/build-module/components/block-list/use-block-props/index.js +5 -1
  256. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  257. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  258. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  259. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
  260. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  261. package/build-module/components/block-lock/toolbar.js +3 -3
  262. package/build-module/components/block-lock/toolbar.js.map +1 -1
  263. package/build-module/components/block-mover/button.js +4 -1
  264. package/build-module/components/block-mover/button.js.map +1 -1
  265. package/build-module/components/block-mover/index.js +4 -1
  266. package/build-module/components/block-mover/index.js.map +1 -1
  267. package/build-module/components/block-navigation/dropdown.js +4 -1
  268. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  269. package/build-module/components/block-pattern-setup/index.js +1 -4
  270. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  271. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  272. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  273. package/build-module/components/block-patterns-list/index.js +11 -14
  274. package/build-module/components/block-patterns-list/index.js.map +1 -1
  275. package/build-module/components/block-patterns-paging/index.js +12 -3
  276. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  277. package/build-module/components/block-popover/index.js +2 -15
  278. package/build-module/components/block-popover/index.js.map +1 -1
  279. package/build-module/components/block-quick-navigation/index.js +4 -1
  280. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  281. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  282. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  283. package/build-module/components/block-switcher/index.js +22 -17
  284. package/build-module/components/block-switcher/index.js.map +1 -1
  285. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
  286. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  287. package/build-module/components/block-toolbar/index.js +12 -11
  288. package/build-module/components/block-toolbar/index.js.map +1 -1
  289. package/build-module/components/block-toolbar/shuffle.js +6 -2
  290. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  291. package/build-module/components/block-tools/block-selection-button.js +8 -2
  292. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  293. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  294. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  295. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  296. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  297. package/build-module/components/block-tools/zoom-out-mode-inserters.js +4 -9
  298. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  299. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  300. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  301. package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
  302. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  303. package/build-module/components/block-variation-picker/index.js +4 -1
  304. package/build-module/components/block-variation-picker/index.js.map +1 -1
  305. package/build-module/components/block-variation-transforms/index.js +4 -1
  306. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  307. package/build-module/components/button-block-appender/index.js +15 -4
  308. package/build-module/components/button-block-appender/index.js.map +1 -1
  309. package/build-module/components/colors-gradients/dropdown.js +4 -1
  310. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  311. package/build-module/components/content-lock/index.js +2 -0
  312. package/build-module/components/content-lock/index.js.map +1 -0
  313. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  314. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  315. package/build-module/components/editor-styles/index.js +4 -3
  316. package/build-module/components/editor-styles/index.js.map +1 -1
  317. package/build-module/components/global-styles/background-panel.js +8 -12
  318. package/build-module/components/global-styles/background-panel.js.map +1 -1
  319. package/build-module/components/global-styles/color-panel.js +7 -4
  320. package/build-module/components/global-styles/color-panel.js.map +1 -1
  321. package/build-module/components/global-styles/color-panel.native.js +2 -2
  322. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  323. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  324. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  325. package/build-module/components/global-styles/filters-panel.js +4 -1
  326. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  327. package/build-module/components/global-styles/shadow-panel-components.js +13 -7
  328. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  329. package/build-module/components/global-styles/typography-utils.js +17 -6
  330. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  331. package/build-module/components/global-styles/utils.js +4 -6
  332. package/build-module/components/global-styles/utils.js.map +1 -1
  333. package/build-module/components/grid/grid-item-movers.js +3 -3
  334. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  335. package/build-module/components/iframe/index.js +5 -5
  336. package/build-module/components/iframe/index.js.map +1 -1
  337. package/build-module/components/inner-blocks/index.js +2 -4
  338. package/build-module/components/inner-blocks/index.js.map +1 -1
  339. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  340. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  341. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  342. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  343. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  344. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  345. package/build-module/components/inserter/library.js +2 -4
  346. package/build-module/components/inserter/library.js.map +1 -1
  347. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  348. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  349. package/build-module/components/inserter/media-tab/media-list.js +1 -4
  350. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  351. package/build-module/components/inserter/media-tab/media-preview.js +8 -2
  352. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  353. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  354. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  355. package/build-module/components/inserter/menu.js +7 -24
  356. package/build-module/components/inserter/menu.js.map +1 -1
  357. package/build-module/components/inserter/quick-inserter.js +4 -1
  358. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  359. package/build-module/components/inserter-list-item/index.js +4 -4
  360. package/build-module/components/inserter-list-item/index.js.map +1 -1
  361. package/build-module/components/inserter-listbox/index.js +3 -7
  362. package/build-module/components/inserter-listbox/index.js.map +1 -1
  363. package/build-module/components/inserter-listbox/item.js +4 -1
  364. package/build-module/components/inserter-listbox/item.js.map +1 -1
  365. package/build-module/components/inspector-controls/groups.js +2 -0
  366. package/build-module/components/inspector-controls/groups.js.map +1 -1
  367. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  368. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  369. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  370. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  371. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  372. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  373. package/build-module/components/inspector-popover-header/index.js +8 -2
  374. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  375. package/build-module/components/letter-spacing-control/index.js +7 -4
  376. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  377. package/build-module/components/link-control/index.js +19 -10
  378. package/build-module/components/link-control/index.js.map +1 -1
  379. package/build-module/components/link-control/settings-drawer.js +4 -1
  380. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  381. package/build-module/components/list-view/block-select-button.js +4 -1
  382. package/build-module/components/list-view/block-select-button.js.map +1 -1
  383. package/build-module/components/media-placeholder/index.js +28 -7
  384. package/build-module/components/media-placeholder/index.js.map +1 -1
  385. package/build-module/components/media-replace-flow/index.js +8 -1
  386. package/build-module/components/media-replace-flow/index.js.map +1 -1
  387. package/build-module/components/provider/use-block-sync.js +19 -19
  388. package/build-module/components/provider/use-block-sync.js.map +1 -1
  389. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  390. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  391. package/build-module/components/rich-text/index.js +39 -31
  392. package/build-module/components/rich-text/index.js.map +1 -1
  393. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  394. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  395. package/build-module/components/skip-to-selected-block/index.js +4 -1
  396. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  397. package/build-module/components/tool-selector/index.js +4 -1
  398. package/build-module/components/tool-selector/index.js.map +1 -1
  399. package/build-module/components/url-input/button.js +12 -3
  400. package/build-module/components/url-input/button.js.map +1 -1
  401. package/build-module/components/url-input/index.js +4 -1
  402. package/build-module/components/url-input/index.js.map +1 -1
  403. package/build-module/components/use-block-drop-zone/index.js +4 -6
  404. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  405. package/build-module/components/writing-flow/index.js +2 -1
  406. package/build-module/components/writing-flow/index.js.map +1 -1
  407. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  408. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  409. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  410. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  411. package/build-module/components/writing-flow/use-input.js +31 -1
  412. package/build-module/components/writing-flow/use-input.js.map +1 -1
  413. package/build-module/components/writing-flow/use-select-all.js +14 -1
  414. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  415. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  416. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  417. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  418. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  419. package/build-module/components/writing-flow/utils.js +26 -0
  420. package/build-module/components/writing-flow/utils.js.map +1 -1
  421. package/build-module/hooks/block-bindings.js +34 -31
  422. package/build-module/hooks/block-bindings.js.map +1 -1
  423. package/build-module/hooks/content-lock-ui.js +10 -30
  424. package/build-module/hooks/content-lock-ui.js.map +1 -1
  425. package/build-module/hooks/duotone.js +0 -4
  426. package/build-module/hooks/duotone.js.map +1 -1
  427. package/build-module/hooks/layout.js +4 -1
  428. package/build-module/hooks/layout.js.map +1 -1
  429. package/build-module/hooks/spacing-visualizer.js +3 -3
  430. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  431. package/build-module/hooks/style.js +1 -5
  432. package/build-module/hooks/style.js.map +1 -1
  433. package/build-module/hooks/use-bindings-attributes.js +19 -20
  434. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  435. package/build-module/hooks/use-zoom-out.js +7 -7
  436. package/build-module/hooks/use-zoom-out.js.map +1 -1
  437. package/build-module/layouts/constrained.js +43 -43
  438. package/build-module/layouts/constrained.js.map +1 -1
  439. package/build-module/layouts/flex.js +4 -1
  440. package/build-module/layouts/flex.js.map +1 -1
  441. package/build-module/layouts/utils.js +1 -7
  442. package/build-module/layouts/utils.js.map +1 -1
  443. package/build-module/private-apis.js +3 -2
  444. package/build-module/private-apis.js.map +1 -1
  445. package/build-module/store/actions.js +2 -7
  446. package/build-module/store/actions.js.map +1 -1
  447. package/build-module/store/private-actions.js +1 -0
  448. package/build-module/store/private-actions.js.map +1 -1
  449. package/build-module/store/private-keys.js +1 -0
  450. package/build-module/store/private-keys.js.map +1 -1
  451. package/build-module/store/private-selectors.js +12 -15
  452. package/build-module/store/private-selectors.js.map +1 -1
  453. package/build-module/store/reducer.js +1 -7
  454. package/build-module/store/reducer.js.map +1 -1
  455. package/build-module/store/selectors.js +22 -46
  456. package/build-module/store/selectors.js.map +1 -1
  457. package/build-module/store/utils.js +46 -0
  458. package/build-module/store/utils.js.map +1 -1
  459. package/build-module/utils/block-bindings.js +17 -12
  460. package/build-module/utils/block-bindings.js.map +1 -1
  461. package/build-module/utils/dom.js +99 -0
  462. package/build-module/utils/dom.js.map +1 -1
  463. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  464. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  465. package/build-module/utils/transform-styles/index.js +120 -16
  466. package/build-module/utils/transform-styles/index.js.map +1 -1
  467. package/build-style/content-rtl.css +2 -11
  468. package/build-style/content.css +2 -11
  469. package/build-style/style-rtl.css +17 -38
  470. package/build-style/style.css +17 -38
  471. package/build-types/utils/dom.d.ts +25 -0
  472. package/build-types/utils/dom.d.ts.map +1 -1
  473. package/package.json +34 -32
  474. package/src/components/block-alignment-matrix-control/index.js +1 -1
  475. package/src/components/block-breadcrumb/index.js +4 -0
  476. package/src/components/block-breadcrumb/style.scss +1 -1
  477. package/src/components/block-canvas/index.js +9 -1
  478. package/src/components/block-compare/block-view.js +7 -1
  479. package/src/components/block-draggable/content.scss +1 -1
  480. package/src/components/block-draggable/index.js +4 -4
  481. package/src/components/block-draggable/style.scss +1 -1
  482. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  483. package/src/components/block-edit/multiple-usage-warning.js +4 -0
  484. package/src/components/block-inspector/index.js +22 -6
  485. package/src/components/block-list/block-invalid-warning.js +4 -2
  486. package/src/components/block-list/block.js +6 -2
  487. package/src/components/block-list/content.scss +2 -3
  488. package/src/components/block-list/use-block-props/index.js +3 -0
  489. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  490. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
  491. package/src/components/block-lock/style.scss +1 -1
  492. package/src/components/block-lock/toolbar.js +3 -3
  493. package/src/components/block-mover/button.js +2 -0
  494. package/src/components/block-mover/index.js +2 -0
  495. package/src/components/block-mover/style.scss +1 -1
  496. package/src/components/block-navigation/dropdown.js +2 -0
  497. package/src/components/block-pattern-setup/index.js +3 -7
  498. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  499. package/src/components/block-pattern-setup/style.scss +2 -2
  500. package/src/components/block-patterns-list/index.js +15 -13
  501. package/src/components/block-patterns-list/style.scss +2 -2
  502. package/src/components/block-patterns-paging/index.js +6 -0
  503. package/src/components/block-popover/index.js +7 -28
  504. package/src/components/block-popover/style.scss +1 -1
  505. package/src/components/block-quick-navigation/index.js +2 -0
  506. package/src/components/block-settings-menu-controls/index.js +7 -1
  507. package/src/components/block-switcher/index.js +26 -20
  508. package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
  509. package/src/components/block-switcher/style.scss +5 -6
  510. package/src/components/block-toolbar/index.js +17 -8
  511. package/src/components/block-toolbar/shuffle.js +9 -7
  512. package/src/components/block-tools/block-selection-button.js +4 -0
  513. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  514. package/src/components/block-tools/style.scss +3 -4
  515. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  516. package/src/components/block-tools/zoom-out-mode-inserters.js +2 -5
  517. package/src/components/block-tools/zoom-out-popover.js +3 -7
  518. package/src/components/block-tools/zoom-out-toolbar.js +20 -6
  519. package/src/components/block-variation-picker/README.md +2 -2
  520. package/src/components/block-variation-picker/index.js +6 -1
  521. package/src/components/block-variation-transforms/index.js +2 -0
  522. package/src/components/block-variation-transforms/style.scss +1 -1
  523. package/src/components/button-block-appender/content.scss +0 -1
  524. package/src/components/button-block-appender/index.js +14 -3
  525. package/src/components/color-palette/test/control.js +15 -2
  526. package/src/components/colors-gradients/dropdown.js +5 -1
  527. package/src/components/colors-gradients/style.scss +4 -4
  528. package/src/components/content-lock/index.js +1 -0
  529. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  530. package/src/components/default-block-appender/content.scss +0 -1
  531. package/src/components/editor-styles/index.js +4 -3
  532. package/src/components/global-styles/background-panel.js +6 -14
  533. package/src/components/global-styles/color-panel.js +8 -4
  534. package/src/components/global-styles/color-panel.native.js +2 -2
  535. package/src/components/global-styles/dimensions-panel.js +40 -40
  536. package/src/components/global-styles/filters-panel.js +5 -1
  537. package/src/components/global-styles/shadow-panel-components.js +12 -8
  538. package/src/components/global-styles/style.scss +3 -4
  539. package/src/components/global-styles/test/typography-utils.js +96 -5
  540. package/src/components/global-styles/test/utils.js +10 -0
  541. package/src/components/global-styles/typography-utils.js +22 -6
  542. package/src/components/global-styles/utils.js +4 -6
  543. package/src/components/grid/grid-item-movers.js +3 -3
  544. package/src/components/grid/style.scss +1 -1
  545. package/src/components/iframe/index.js +5 -5
  546. package/src/components/inner-blocks/index.js +2 -2
  547. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  548. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  549. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  550. package/src/components/inserter/library.js +0 -2
  551. package/src/components/inserter/media-tab/hooks.js +3 -3
  552. package/src/components/inserter/media-tab/media-list.js +1 -4
  553. package/src/components/inserter/media-tab/media-preview.js +12 -2
  554. package/src/components/inserter/media-tab/media-tab.js +2 -0
  555. package/src/components/inserter/menu.js +15 -29
  556. package/src/components/inserter/quick-inserter.js +2 -0
  557. package/src/components/inserter/style.scss +6 -8
  558. package/src/components/inserter-list-item/index.js +4 -4
  559. package/src/components/inserter-list-item/style.scss +1 -3
  560. package/src/components/inserter-listbox/index.js +2 -8
  561. package/src/components/inserter-listbox/item.js +9 -1
  562. package/src/components/inspector-controls/groups.js +2 -0
  563. package/src/components/inspector-controls-tabs/index.js +2 -0
  564. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  565. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  566. package/src/components/inspector-popover-header/index.js +4 -0
  567. package/src/components/letter-spacing-control/README.md +8 -1
  568. package/src/components/letter-spacing-control/index.js +7 -4
  569. package/src/components/link-control/index.js +17 -8
  570. package/src/components/link-control/settings-drawer.js +2 -0
  571. package/src/components/link-control/style.scss +1 -3
  572. package/src/components/list-view/block-select-button.js +2 -0
  573. package/src/components/list-view/style.scss +14 -16
  574. package/src/components/media-placeholder/index.js +14 -0
  575. package/src/components/media-replace-flow/index.js +12 -1
  576. package/src/components/provider/use-block-sync.js +20 -20
  577. package/src/components/responsive-block-control/README.md +3 -27
  578. package/src/components/rich-text/content.scss +1 -1
  579. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  580. package/src/components/rich-text/index.js +54 -41
  581. package/src/components/rich-text/style.scss +1 -1
  582. package/src/components/rich-text/use-mark-persistent.js +5 -5
  583. package/src/components/skip-to-selected-block/index.js +2 -0
  584. package/src/components/spacing-sizes-control/style.scss +1 -0
  585. package/src/components/tool-selector/index.js +2 -0
  586. package/src/components/url-input/button.js +6 -0
  587. package/src/components/url-input/index.js +2 -0
  588. package/src/components/url-popover/stories/index.story.js +7 -1
  589. package/src/components/use-block-drop-zone/index.js +4 -4
  590. package/src/components/warning/content.scss +3 -10
  591. package/src/components/writing-flow/index.js +2 -0
  592. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  593. package/src/components/writing-flow/use-event-redirect.js +72 -0
  594. package/src/components/writing-flow/use-input.js +36 -1
  595. package/src/components/writing-flow/use-select-all.js +18 -1
  596. package/src/components/writing-flow/use-selection-observer.js +23 -3
  597. package/src/components/writing-flow/use-tab-nav.js +4 -4
  598. package/src/components/writing-flow/utils.js +30 -0
  599. package/src/hooks/block-bindings.js +42 -43
  600. package/src/hooks/block-bindings.scss +1 -9
  601. package/src/hooks/content-lock-ui.js +11 -36
  602. package/src/hooks/duotone.js +0 -4
  603. package/src/hooks/layout.js +2 -0
  604. package/src/hooks/layout.scss +3 -11
  605. package/src/hooks/spacing-visualizer.js +3 -3
  606. package/src/hooks/style.js +1 -4
  607. package/src/hooks/use-bindings-attributes.js +23 -24
  608. package/src/hooks/use-zoom-out.js +7 -7
  609. package/src/layouts/constrained.js +50 -47
  610. package/src/layouts/flex.js +2 -0
  611. package/src/layouts/test/grid.js +2 -2
  612. package/src/layouts/test/utils.js +6 -8
  613. package/src/layouts/utils.js +1 -9
  614. package/src/private-apis.js +2 -0
  615. package/src/store/actions.js +4 -6
  616. package/src/store/private-actions.js +1 -0
  617. package/src/store/private-keys.js +1 -0
  618. package/src/store/private-selectors.js +12 -11
  619. package/src/store/reducer.js +0 -5
  620. package/src/store/selectors.js +32 -51
  621. package/src/store/utils.js +50 -0
  622. package/src/utils/block-bindings.js +15 -16
  623. package/src/utils/dom.js +117 -0
  624. package/src/utils/get-font-styles-and-weights.js +12 -4
  625. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  626. package/src/utils/test/transform-styles.js +259 -50
  627. package/src/utils/transform-styles/index.js +132 -21
  628. package/tsconfig.json +1 -0
  629. package/tsconfig.tsbuildinfo +1 -1
  630. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { dragHandle, trash } from '@wordpress/icons';
9
+ import { dragHandle, trash, edit } from '@wordpress/icons';
10
10
  import { Button, ToolbarButton } from '@wordpress/components';
11
11
  import { useSelect, useDispatch } from '@wordpress/data';
12
12
  import { store as blocksStore } from '@wordpress/blocks';
@@ -21,7 +21,7 @@ import BlockMover from '../block-mover';
21
21
  import Shuffle from '../block-toolbar/shuffle';
22
22
  import NavigableToolbar from '../navigable-toolbar';
23
23
 
24
- export default function ZoomOutToolbar( { clientId, rootClientId } ) {
24
+ export default function ZoomOutToolbar( { clientId, __unstableContentRef } ) {
25
25
  const selected = useSelect(
26
26
  ( select ) => {
27
27
  const {
@@ -61,11 +61,11 @@ export default function ZoomOutToolbar( { clientId, rootClientId } ) {
61
61
  isBlockTemplatePart,
62
62
  isNextBlockTemplatePart,
63
63
  isPrevBlockTemplatePart,
64
- canRemove: canRemoveBlock( clientId, rootClientId ),
65
- canMove: canMoveBlock( clientId, rootClientId ),
64
+ canRemove: canRemoveBlock( clientId ),
65
+ canMove: canMoveBlock( clientId ),
66
66
  };
67
67
  },
68
- [ clientId, rootClientId ]
68
+ [ clientId ]
69
69
  );
70
70
 
71
71
  const {
@@ -77,7 +77,8 @@ export default function ZoomOutToolbar( { clientId, rootClientId } ) {
77
77
  canMove,
78
78
  } = selected;
79
79
 
80
- const { removeBlock } = useDispatch( blockEditorStore );
80
+ const { removeBlock, __unstableSetEditorMode } =
81
+ useDispatch( blockEditorStore );
81
82
 
82
83
  const classNames = clsx( 'zoom-out-toolbar', {
83
84
  'is-block-moving-mode': !! blockMovingMode,
@@ -124,6 +125,19 @@ export default function ZoomOutToolbar( { clientId, rootClientId } ) {
124
125
  { canMove && canRemove && (
125
126
  <Shuffle clientId={ clientId } as={ ToolbarButton } />
126
127
  ) }
128
+
129
+ { ! isBlockTemplatePart && (
130
+ <ToolbarButton
131
+ className="zoom-out-toolbar-button"
132
+ icon={ edit }
133
+ label={ __( 'Edit' ) }
134
+ onClick={ () => {
135
+ __unstableSetEditorMode( 'edit' );
136
+ __unstableContentRef.current?.focus();
137
+ } }
138
+ />
139
+ ) }
140
+
127
141
  { canRemove && ! isBlockTemplatePart && (
128
142
  <ToolbarButton
129
143
  className="zoom-out-toolbar-button"
@@ -19,9 +19,9 @@ Renders the variations of a block.
19
19
  ```jsx
20
20
  import { useSelect } from '@wordpress/data';
21
21
  import {
22
- __experimentalBlockVariationPicker as BlockVariationPicker,
23
- store as blockEditorStore,
22
+ __experimentalBlockVariationPicker as BlockVariationPicker
24
23
  } from '@wordpress/block-editor';
24
+ import { store as blocksStore } from '@wordpress/blocks';
25
25
 
26
26
  const MyBlockVariationPicker = ( { blockName } ) => {
27
27
  const variations = useSelect(
@@ -63,7 +63,12 @@ function BlockVariationPicker( {
63
63
  { /* eslint-enable jsx-a11y/no-redundant-roles */ }
64
64
  { allowSkip && (
65
65
  <div className="block-editor-block-variation-picker__skip">
66
- <Button variant="link" onClick={ () => onSelect() }>
66
+ <Button
67
+ // TODO: Switch to `true` (40px size) if possible
68
+ __next40pxDefaultSize={ false }
69
+ variant="link"
70
+ onClick={ () => onSelect() }
71
+ >
67
72
  { __( 'Skip' ) }
68
73
  </Button>
69
74
  </div>
@@ -35,6 +35,8 @@ function VariationsButtons( {
35
35
  </VisuallyHidden>
36
36
  { variations.map( ( variation ) => (
37
37
  <Button
38
+ // TODO: Switch to `true` (40px size) if possible
39
+ __next40pxDefaultSize={ false }
38
40
  key={ variation.name }
39
41
  icon={ <BlockIcon icon={ variation.icon } showColors /> }
40
42
  isPressed={ selectedValue === variation.name }
@@ -4,7 +4,7 @@
4
4
 
5
5
  .components-dropdown-menu__toggle {
6
6
  border: $border-width solid $gray-700;
7
- border-radius: $radius-block-ui;
7
+ border-radius: $radius-small;
8
8
  min-height: 30px;
9
9
  width: 100%;
10
10
  position: relative;
@@ -52,7 +52,6 @@
52
52
  left: 0;
53
53
  pointer-events: none;
54
54
  border: $border-width dashed currentColor;
55
- border-radius: $radius-block-ui;
56
55
  }
57
56
 
58
57
  .block-editor-inserter {
@@ -7,7 +7,7 @@ import clsx from 'clsx';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { Button, Tooltip, VisuallyHidden } from '@wordpress/components';
10
- import { forwardRef } from '@wordpress/element';
10
+ import { forwardRef, useRef } from '@wordpress/element';
11
11
  import { _x, sprintf } from '@wordpress/i18n';
12
12
  import { Icon, plus } from '@wordpress/icons';
13
13
  import deprecated from '@wordpress/deprecated';
@@ -16,17 +16,26 @@ import deprecated from '@wordpress/deprecated';
16
16
  * Internal dependencies
17
17
  */
18
18
  import Inserter from '../inserter';
19
+ import { useMergeRefs } from '@wordpress/compose';
19
20
 
20
21
  function ButtonBlockAppender(
21
22
  { rootClientId, className, onFocus, tabIndex, onSelect },
22
23
  ref
23
24
  ) {
25
+ const inserterButtonRef = useRef();
26
+
27
+ const mergedInserterButtonRef = useMergeRefs( [ inserterButtonRef, ref ] );
24
28
  return (
25
29
  <Inserter
26
30
  position="bottom center"
27
31
  rootClientId={ rootClientId }
28
32
  __experimentalIsQuick
29
- onSelectOrClose={ onSelect }
33
+ onSelectOrClose={ ( ...args ) => {
34
+ if ( onSelect && typeof onSelect === 'function' ) {
35
+ onSelect( ...args );
36
+ }
37
+ inserterButtonRef.current?.focus();
38
+ } }
30
39
  renderToggle={ ( {
31
40
  onToggle,
32
41
  disabled,
@@ -51,7 +60,9 @@ function ButtonBlockAppender(
51
60
 
52
61
  let inserterButton = (
53
62
  <Button
54
- ref={ ref }
63
+ // TODO: Switch to `true` (40px size) if possible
64
+ __next40pxDefaultSize={ false }
65
+ ref={ mergedInserterButtonRef }
55
66
  onFocus={ onFocus }
56
67
  tabIndex={ tabIndex }
57
68
  className={ clsx(
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { render } from '@testing-library/react';
4
+ import { render, waitFor, queryByAttribute } from '@testing-library/react';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -10,9 +10,22 @@ import ColorPaletteControl from '../control';
10
10
 
11
11
  const noop = () => {};
12
12
 
13
+ async function renderAndValidate( ...renderArgs ) {
14
+ const view = render( ...renderArgs );
15
+ await waitFor( () => {
16
+ const activeButton = queryByAttribute(
17
+ 'data-active-item',
18
+ view.baseElement,
19
+ 'true'
20
+ );
21
+ expect( activeButton ).not.toBeNull();
22
+ } );
23
+ return view;
24
+ }
25
+
13
26
  describe( 'ColorPaletteControl', () => {
14
27
  it( 'matches the snapshot', async () => {
15
- const { container } = render(
28
+ const { container } = await renderAndValidate(
16
29
  <ColorPaletteControl
17
30
  label="Test Color"
18
31
  value="#f00"
@@ -88,7 +88,11 @@ const renderToggle =
88
88
  };
89
89
 
90
90
  return (
91
- <Button { ...toggleProps }>
91
+ <Button
92
+ // TODO: Switch to `true` (40px size) if possible
93
+ __next40pxDefaultSize={ false }
94
+ { ...toggleProps }
95
+ >
92
96
  <LabeledColorIndicator
93
97
  colorValue={ colorValue }
94
98
  label={ label }
@@ -73,15 +73,15 @@ $swatch-gap: 12px;
73
73
  // Identify the first visible instance as placeholder items will not have this class.
74
74
  &:nth-child(1 of &) {
75
75
  margin-top: $grid-unit-30;
76
- border-top-left-radius: $radius-block-ui;
77
- border-top-right-radius: $radius-block-ui;
76
+ border-top-left-radius: $radius-small;
77
+ border-top-right-radius: $radius-small;
78
78
  border-top: 1px solid $gray-300;
79
79
  }
80
80
 
81
81
  // Identify the last visible instance as placeholder items will not have this class.
82
82
  &:nth-last-child(1 of &) {
83
- border-bottom-left-radius: $radius-block-ui;
84
- border-bottom-right-radius: $radius-block-ui;
83
+ border-bottom-left-radius: $radius-small;
84
+ border-bottom-right-radius: $radius-small;
85
85
  }
86
86
 
87
87
  > div,
@@ -0,0 +1 @@
1
+ export { ModifyContentLockMenuItem } from './modify-content-lock-menu-item';
@@ -0,0 +1,58 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { MenuItem } from '@wordpress/components';
5
+ import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { _x } from '@wordpress/i18n';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { store as blockEditorStore } from '../../store';
12
+ import { unlock } from '../../lock-unlock';
13
+
14
+ // The implementation of content locking is mainly in this file, although the mechanism
15
+ // to stop temporarily editing as blocks when an outside block is selected is on component StopEditingAsBlocksOnOutsideSelect
16
+ // at block-editor/src/components/block-list/index.js.
17
+ // Besides the components on this file and the file referenced above the implementation
18
+ // also includes artifacts on the store (actions, reducers, and selector).
19
+
20
+ export function ModifyContentLockMenuItem( { clientId, onClose } ) {
21
+ const { templateLock, isLockedByParent, isEditingAsBlocks } = useSelect(
22
+ ( select ) => {
23
+ const {
24
+ getContentLockingParent,
25
+ getTemplateLock,
26
+ getTemporarilyEditingAsBlocks,
27
+ } = unlock( select( blockEditorStore ) );
28
+ return {
29
+ templateLock: getTemplateLock( clientId ),
30
+ isLockedByParent: !! getContentLockingParent( clientId ),
31
+ isEditingAsBlocks: getTemporarilyEditingAsBlocks() === clientId,
32
+ };
33
+ },
34
+ [ clientId ]
35
+ );
36
+ const blockEditorActions = useDispatch( blockEditorStore );
37
+ const isContentLocked =
38
+ ! isLockedByParent && templateLock === 'contentOnly';
39
+ if ( ! isContentLocked && ! isEditingAsBlocks ) {
40
+ return null;
41
+ }
42
+
43
+ const { modifyContentLockBlock } = unlock( blockEditorActions );
44
+ const showStartEditingAsBlocks = ! isEditingAsBlocks && isContentLocked;
45
+
46
+ return (
47
+ showStartEditingAsBlocks && (
48
+ <MenuItem
49
+ onClick={ () => {
50
+ modifyContentLockBlock( clientId );
51
+ onClose();
52
+ } }
53
+ >
54
+ { _x( 'Modify', 'Unlock content locked blocks' ) }
55
+ </MenuItem>
56
+ )
57
+ );
58
+ }
@@ -48,7 +48,6 @@
48
48
  .block-editor-inserter__toggle.components-button.has-icon {
49
49
  // Basic look
50
50
  background: $gray-900;
51
- border-radius: $radius-block-ui;
52
51
  color: $white;
53
52
  padding: 0;
54
53
 
@@ -67,7 +67,7 @@ function useDarkThemeBodyClassName( styles, scope ) {
67
67
  );
68
68
  }
69
69
 
70
- function EditorStyles( { styles, scope } ) {
70
+ function EditorStyles( { styles, scope, transformOptions } ) {
71
71
  const overrides = useSelect(
72
72
  ( select ) => unlock( select( blockEditorStore ) ).getStyleOverrides(),
73
73
  []
@@ -88,14 +88,15 @@ function EditorStyles( { styles, scope } ) {
88
88
  return [
89
89
  transformStyles(
90
90
  _styles.filter( ( style ) => style?.css ),
91
- scope
91
+ scope,
92
+ transformOptions
92
93
  ),
93
94
  _styles
94
95
  .filter( ( style ) => style.__unstableType === 'svgs' )
95
96
  .map( ( style ) => style.assets )
96
97
  .join( '' ),
97
98
  ];
98
- }, [ styles, overrides, scope ] );
99
+ }, [ styles, overrides, scope, transformOptions ] );
99
100
 
100
101
  return (
101
102
  <>
@@ -432,6 +432,10 @@ function BackgroundImageControls( {
432
432
  }
433
433
  variant="secondary"
434
434
  onError={ onUploadError }
435
+ onReset={ () => {
436
+ closeAndFocus();
437
+ onResetImage();
438
+ } }
435
439
  >
436
440
  { canRemove && (
437
441
  <MenuItem
@@ -444,16 +448,6 @@ function BackgroundImageControls( {
444
448
  { __( 'Remove' ) }
445
449
  </MenuItem>
446
450
  ) }
447
- { hasValue && (
448
- <MenuItem
449
- onClick={ () => {
450
- closeAndFocus();
451
- onResetImage();
452
- } }
453
- >
454
- { __( 'Reset' ) }
455
- </MenuItem>
456
- ) }
457
451
  </MediaReplaceFlow>
458
452
  <DropZone
459
453
  onFilesDrop={ onFilesDrop }
@@ -692,16 +686,14 @@ function BackgroundToolsPanel( {
692
686
  };
693
687
 
694
688
  return (
695
- <VStack
696
- as={ ToolsPanel }
697
- spacing={ 2 }
689
+ <ToolsPanel
698
690
  label={ headerLabel }
699
691
  resetAll={ resetAll }
700
692
  panelId={ panelId }
701
693
  dropdownMenuProps={ dropdownMenuProps }
702
694
  >
703
695
  { children }
704
- </VStack>
696
+ </ToolsPanel>
705
697
  );
706
698
  }
707
699
 
@@ -33,7 +33,7 @@ import { unlock } from '../../lock-unlock';
33
33
 
34
34
  export function useHasColorPanel( settings ) {
35
35
  const hasTextPanel = useHasTextPanel( settings );
36
- const hasBackgroundPanel = useHasBackgroundPanel( settings );
36
+ const hasBackgroundPanel = useHasBackgroundColorPanel( settings );
37
37
  const hasLinkPanel = useHasLinkPanel( settings );
38
38
  const hasHeadingPanel = useHasHeadingPanel( settings );
39
39
  const hasButtonPanel = useHasButtonPanel( settings );
@@ -97,7 +97,7 @@ export function useHasButtonPanel( settings ) {
97
97
  );
98
98
  }
99
99
 
100
- export function useHasBackgroundPanel( settings ) {
100
+ export function useHasBackgroundColorPanel( settings ) {
101
101
  const colors = useColorsPerOrigin( settings );
102
102
  const gradients = useGradientsPerOrigin( settings );
103
103
  return (
@@ -239,7 +239,11 @@ function ColorPanelDropdown( {
239
239
  };
240
240
 
241
241
  return (
242
- <Button { ...toggleProps }>
242
+ <Button
243
+ // TODO: Switch to `true` (40px size) if possible
244
+ __next40pxDefaultSize={ false }
245
+ { ...toggleProps }
246
+ >
243
247
  <LabeledColorIndicators
244
248
  indicators={ indicators }
245
249
  label={ label }
@@ -343,7 +347,7 @@ export default function ColorPanel( {
343
347
  };
344
348
 
345
349
  // BackgroundColor
346
- const showBackgroundPanel = useHasBackgroundPanel( settings );
350
+ const showBackgroundPanel = useHasBackgroundColorPanel( settings );
347
351
  const backgroundColor = decodeValue( inheritedValue?.color?.background );
348
352
  const userBackgroundColor = decodeValue( value?.color?.background );
349
353
  const gradient = decodeValue( inheritedValue?.color?.gradient );
@@ -18,7 +18,7 @@ import InspectorControls from '../inspector-controls';
18
18
  import {
19
19
  useHasColorPanel,
20
20
  useHasTextPanel,
21
- useHasBackgroundPanel,
21
+ useHasBackgroundColorPanel,
22
22
  } from './color-panel.js';
23
23
  import { useGlobalStyles } from './use-global-styles-context';
24
24
 
@@ -95,7 +95,7 @@ const ColorPanel = ( {
95
95
  );
96
96
 
97
97
  // BackgroundColor
98
- const showBackgroundPanel = useHasBackgroundPanel( settings );
98
+ const showBackgroundPanel = useHasBackgroundColorPanel( settings );
99
99
  const backgroundColor = decodeValue( inheritedValue?.color?.background );
100
100
  const gradient = decodeValue( inheritedValue?.color?.gradient );
101
101
  const setBackgroundColor = useCallback(
@@ -11,12 +11,11 @@ import {
11
11
  __experimentalToolsPanel as ToolsPanel,
12
12
  __experimentalToolsPanelItem as ToolsPanelItem,
13
13
  __experimentalBoxControl as BoxControl,
14
- __experimentalHStack as HStack,
15
14
  __experimentalUnitControl as UnitControl,
16
15
  __experimentalUseCustomUnits as useCustomUnits,
17
- __experimentalView as View,
16
+ __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
18
17
  } from '@wordpress/components';
19
- import { Icon, positionCenter, stretchWide } from '@wordpress/icons';
18
+ import { Icon, alignNone, stretchWide } from '@wordpress/icons';
20
19
  import { useCallback, useState, Platform } from '@wordpress/element';
21
20
 
22
21
  /**
@@ -252,7 +251,7 @@ export default function DimensionsPanel( {
252
251
  const minimumMargin = -Infinity;
253
252
  const [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );
254
253
 
255
- // Content Size
254
+ // Content Width
256
255
  const showContentSizeControl =
257
256
  useHasContentSize( settings ) && includeLayoutControls;
258
257
  const contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );
@@ -268,7 +267,7 @@ export default function DimensionsPanel( {
268
267
  const hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;
269
268
  const resetContentSizeValue = () => setContentSizeValue( undefined );
270
269
 
271
- // Wide Size
270
+ // Wide Width
272
271
  const showWideSizeControl =
273
272
  useHasWideSize( settings ) && includeLayoutControls;
274
273
  const wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );
@@ -464,8 +463,7 @@ export default function DimensionsPanel( {
464
463
  ) }
465
464
  { showContentSizeControl && (
466
465
  <ToolsPanelItem
467
- className="single-column"
468
- label={ __( 'Content size' ) }
466
+ label={ __( 'Content width' ) }
469
467
  hasValue={ hasUserSetContentSizeValue }
470
468
  onDeselect={ resetContentSizeValue }
471
469
  isShownByDefault={
@@ -474,27 +472,26 @@ export default function DimensionsPanel( {
474
472
  }
475
473
  panelId={ panelId }
476
474
  >
477
- <HStack alignment="flex-end" justify="flex-start">
478
- <UnitControl
479
- label={ __( 'Content' ) }
480
- labelPosition="top"
481
- __unstableInputWidth="80px"
482
- value={ contentSizeValue || '' }
483
- onChange={ ( nextContentSize ) => {
484
- setContentSizeValue( nextContentSize );
485
- } }
486
- units={ units }
487
- />
488
- <View>
489
- <Icon icon={ positionCenter } />
490
- </View>
491
- </HStack>
475
+ <UnitControl
476
+ __next40pxDefaultSize
477
+ label={ __( 'Content width' ) }
478
+ labelPosition="top"
479
+ value={ contentSizeValue || '' }
480
+ onChange={ ( nextContentSize ) => {
481
+ setContentSizeValue( nextContentSize );
482
+ } }
483
+ units={ units }
484
+ prefix={
485
+ <InputControlPrefixWrapper variant="icon">
486
+ <Icon icon={ alignNone } />
487
+ </InputControlPrefixWrapper>
488
+ }
489
+ />
492
490
  </ToolsPanelItem>
493
491
  ) }
494
492
  { showWideSizeControl && (
495
493
  <ToolsPanelItem
496
- className="single-column"
497
- label={ __( 'Wide size' ) }
494
+ label={ __( 'Wide width' ) }
498
495
  hasValue={ hasUserSetWideSizeValue }
499
496
  onDeselect={ resetWideSizeValue }
500
497
  isShownByDefault={
@@ -502,21 +499,21 @@ export default function DimensionsPanel( {
502
499
  }
503
500
  panelId={ panelId }
504
501
  >
505
- <HStack alignment="flex-end" justify="flex-start">
506
- <UnitControl
507
- label={ __( 'Wide' ) }
508
- labelPosition="top"
509
- __unstableInputWidth="80px"
510
- value={ wideSizeValue || '' }
511
- onChange={ ( nextWideSize ) => {
512
- setWideSizeValue( nextWideSize );
513
- } }
514
- units={ units }
515
- />
516
- <View>
517
- <Icon icon={ stretchWide } />
518
- </View>
519
- </HStack>
502
+ <UnitControl
503
+ __next40pxDefaultSize
504
+ label={ __( 'Wide width' ) }
505
+ labelPosition="top"
506
+ value={ wideSizeValue || '' }
507
+ onChange={ ( nextWideSize ) => {
508
+ setWideSizeValue( nextWideSize );
509
+ } }
510
+ units={ units }
511
+ prefix={
512
+ <InputControlPrefixWrapper variant="icon">
513
+ <Icon icon={ stretchWide } />
514
+ </InputControlPrefixWrapper>
515
+ }
516
+ />
520
517
  </ToolsPanelItem>
521
518
  ) }
522
519
  { showPaddingControl && (
@@ -611,6 +608,9 @@ export default function DimensionsPanel( {
611
608
  }
612
609
  className={ clsx( {
613
610
  'tools-panel-item-spacing': showSpacingPresetsControl,
611
+ 'single-column':
612
+ // If UnitControl is used, should be single-column.
613
+ ! showSpacingPresetsControl && ! isAxialGap,
614
614
  } ) }
615
615
  panelId={ panelId }
616
616
  >
@@ -628,8 +628,8 @@ export default function DimensionsPanel( {
628
628
  />
629
629
  ) : (
630
630
  <UnitControl
631
+ __next40pxDefaultSize
631
632
  label={ __( 'Block spacing' ) }
632
- __unstableInputWidth="80px"
633
633
  min={ 0 }
634
634
  onChange={ setGapValue }
635
635
  units={ units }
@@ -189,7 +189,11 @@ export default function FiltersPanel( {
189
189
 
190
190
  return (
191
191
  <ItemGroup isBordered isSeparated>
192
- <Button { ...toggleProps }>
192
+ <Button
193
+ // TODO: Switch to `true` (40px size) if possible
194
+ __next40pxDefaultSize={ false }
195
+ { ...toggleProps }
196
+ >
193
197
  <LabeledColorIndicator
194
198
  indicator={ duotone }
195
199
  label={ __( 'Duotone' ) }
@@ -32,11 +32,9 @@ import { unlock } from '../../lock-unlock';
32
32
  * @type {Array}
33
33
  */
34
34
  const EMPTY_ARRAY = [];
35
- const {
36
- CompositeItemV2: CompositeItem,
37
- CompositeV2: Composite,
38
- useCompositeStoreV2: useCompositeStore,
39
- } = unlock( componentsPrivateApis );
35
+ const { CompositeItemV2: CompositeItem, CompositeV2: Composite } = unlock(
36
+ componentsPrivateApis
37
+ );
40
38
 
41
39
  export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
42
40
  const shadows = useShadowPresets( settings );
@@ -52,6 +50,8 @@ export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
52
50
  />
53
51
  <div className="block-editor-global-styles__clear-shadow">
54
52
  <Button
53
+ // TODO: Switch to `true` (40px size) if possible
54
+ __next40pxDefaultSize={ false }
55
55
  variant="tertiary"
56
56
  onClick={ () => onShadowChange( undefined ) }
57
57
  >
@@ -64,10 +64,8 @@ export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
64
64
  }
65
65
 
66
66
  export function ShadowPresets( { presets, activeShadow, onSelect } ) {
67
- const compositeStore = useCompositeStore();
68
67
  return ! presets ? null : (
69
68
  <Composite
70
- store={ compositeStore }
71
69
  role="listbox"
72
70
  className="block-editor-global-styles__shadow__list"
73
71
  aria-label={ __( 'Drop shadows' ) }
@@ -99,6 +97,8 @@ export function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {
99
97
  } ) }
100
98
  render={
101
99
  <Button
100
+ // TODO: Switch to `true` (40px size) if possible
101
+ __next40pxDefaultSize={ false }
102
102
  className={ clsx(
103
103
  'block-editor-global-styles__shadow-indicator',
104
104
  {
@@ -151,7 +151,11 @@ function renderShadowToggle() {
151
151
  };
152
152
 
153
153
  return (
154
- <Button { ...toggleProps }>
154
+ <Button
155
+ // TODO: Switch to `true` (40px size) if possible
156
+ __next40pxDefaultSize={ false }
157
+ { ...toggleProps }
158
+ >
155
159
  <HStack justify="flex-start">
156
160
  <Icon
157
161
  className="block-editor-global-styles__toggle-icon"