@wordpress/block-editor 14.1.0 → 14.2.1-next.5368f64a9.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 (679) 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 +2 -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 +1 -0
  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 +2 -0
  16. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  17. package/build/components/block-inspector/index.js +27 -11
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-invalid-warning.js +3 -2
  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/index.js +14 -3
  24. package/build/components/block-list/index.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +5 -1
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  28. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +53 -0
  30. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  31. package/build/components/block-list/zoom-out-separator.js +98 -0
  32. package/build/components/block-list/zoom-out-separator.js.map +1 -0
  33. package/build/components/block-lock/toolbar.js +3 -3
  34. package/build/components/block-lock/toolbar.js.map +1 -1
  35. package/build/components/block-mover/button.js +1 -0
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +1 -0
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-navigation/dropdown.js +4 -1
  40. package/build/components/block-navigation/dropdown.js.map +1 -1
  41. package/build/components/block-pattern-setup/index.js +2 -10
  42. package/build/components/block-pattern-setup/index.js.map +1 -1
  43. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  44. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  45. package/build/components/block-patterns-list/index.js +12 -20
  46. package/build/components/block-patterns-list/index.js.map +1 -1
  47. package/build/components/block-patterns-paging/index.js +12 -3
  48. package/build/components/block-patterns-paging/index.js.map +1 -1
  49. package/build/components/block-popover/index.js +2 -15
  50. package/build/components/block-popover/index.js.map +1 -1
  51. package/build/components/block-quick-navigation/index.js +4 -1
  52. package/build/components/block-quick-navigation/index.js.map +1 -1
  53. package/build/components/block-settings-menu-controls/index.js +4 -0
  54. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  55. package/build/components/block-switcher/index.js +30 -19
  56. package/build/components/block-switcher/index.js.map +1 -1
  57. package/build/components/block-switcher/pattern-transformations-menu.js +2 -10
  58. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  59. package/build/components/block-toolbar/index.js +19 -12
  60. package/build/components/block-toolbar/index.js.map +1 -1
  61. package/build/components/block-toolbar/shuffle.js +6 -2
  62. package/build/components/block-toolbar/shuffle.js.map +1 -1
  63. package/build/components/block-tools/block-selection-button.js +8 -2
  64. package/build/components/block-tools/block-selection-button.js.map +1 -1
  65. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  66. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  67. package/build/components/block-tools/index.js +1 -1
  68. package/build/components/block-tools/index.js.map +1 -1
  69. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  70. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  71. package/build/components/block-tools/zoom-out-mode-inserters.js +7 -21
  72. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  73. package/build/components/block-tools/zoom-out-popover.js +3 -4
  74. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  75. package/build/components/block-tools/zoom-out-toolbar.js +26 -7
  76. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  77. package/build/components/block-variation-picker/index.js +4 -1
  78. package/build/components/block-variation-picker/index.js.map +1 -1
  79. package/build/components/block-variation-transforms/index.js +4 -1
  80. package/build/components/block-variation-transforms/index.js.map +1 -1
  81. package/build/components/button-block-appender/index.js +20 -23
  82. package/build/components/button-block-appender/index.js.map +1 -1
  83. package/build/components/colors-gradients/dropdown.js +4 -1
  84. package/build/components/colors-gradients/dropdown.js.map +1 -1
  85. package/build/components/content-lock/index.js +13 -0
  86. package/build/components/content-lock/index.js.map +1 -0
  87. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  88. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  89. package/build/components/editor-styles/index.js +4 -3
  90. package/build/components/editor-styles/index.js.map +1 -1
  91. package/build/components/global-styles/background-panel.js +8 -12
  92. package/build/components/global-styles/background-panel.js.map +1 -1
  93. package/build/components/global-styles/color-panel.js +8 -5
  94. package/build/components/global-styles/color-panel.js.map +1 -1
  95. package/build/components/global-styles/color-panel.native.js +1 -1
  96. package/build/components/global-styles/color-panel.native.js.map +1 -1
  97. package/build/components/global-styles/dimensions-panel.js +34 -37
  98. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  99. package/build/components/global-styles/filters-panel.js +4 -1
  100. package/build/components/global-styles/filters-panel.js.map +1 -1
  101. package/build/components/global-styles/shadow-panel-components.js +14 -17
  102. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  103. package/build/components/global-styles/typography-utils.js +17 -6
  104. package/build/components/global-styles/typography-utils.js.map +1 -1
  105. package/build/components/global-styles/utils.js +4 -6
  106. package/build/components/global-styles/utils.js.map +1 -1
  107. package/build/components/grid/grid-item-movers.js +2 -2
  108. package/build/components/grid/grid-item-movers.js.map +1 -1
  109. package/build/components/iframe/get-compatibility-styles.js +1 -1
  110. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  111. package/build/components/iframe/index.js +5 -5
  112. package/build/components/iframe/index.js.map +1 -1
  113. package/build/components/inner-blocks/index.js +2 -4
  114. package/build/components/inner-blocks/index.js.map +1 -1
  115. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  116. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  117. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  118. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  119. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  120. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  121. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
  122. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  123. package/build/components/inserter/index.js +4 -11
  124. package/build/components/inserter/index.js.map +1 -1
  125. package/build/components/inserter/library.js +2 -4
  126. package/build/components/inserter/library.js.map +1 -1
  127. package/build/components/inserter/media-tab/hooks.js +3 -3
  128. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  129. package/build/components/inserter/media-tab/media-list.js +1 -8
  130. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  131. package/build/components/inserter/media-tab/media-preview.js +9 -7
  132. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  133. package/build/components/inserter/media-tab/media-tab.js +4 -1
  134. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  135. package/build/components/inserter/menu.js +7 -24
  136. package/build/components/inserter/menu.js.map +1 -1
  137. package/build/components/inserter/quick-inserter.js +4 -5
  138. package/build/components/inserter/quick-inserter.js.map +1 -1
  139. package/build/components/inserter-list-item/index.js +4 -4
  140. package/build/components/inserter-list-item/index.js.map +1 -1
  141. package/build/components/inserter-listbox/index.js +3 -13
  142. package/build/components/inserter-listbox/index.js.map +1 -1
  143. package/build/components/inserter-listbox/item.js +6 -11
  144. package/build/components/inserter-listbox/item.js.map +1 -1
  145. package/build/components/inserter-listbox/row.js +1 -9
  146. package/build/components/inserter-listbox/row.js.map +1 -1
  147. package/build/components/inspector-controls/groups.js +2 -0
  148. package/build/components/inspector-controls/groups.js.map +1 -1
  149. package/build/components/inspector-controls-tabs/index.js +4 -1
  150. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  151. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  152. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  153. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  154. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  155. package/build/components/inspector-popover-header/index.js +8 -2
  156. package/build/components/inspector-popover-header/index.js.map +1 -1
  157. package/build/components/letter-spacing-control/index.js +7 -4
  158. package/build/components/letter-spacing-control/index.js.map +1 -1
  159. package/build/components/link-control/index.js +19 -10
  160. package/build/components/link-control/index.js.map +1 -1
  161. package/build/components/link-control/settings-drawer.js +4 -1
  162. package/build/components/link-control/settings-drawer.js.map +1 -1
  163. package/build/components/list-view/block-select-button.js +4 -1
  164. package/build/components/list-view/block-select-button.js.map +1 -1
  165. package/build/components/list-view/index.js +3 -7
  166. package/build/components/list-view/index.js.map +1 -1
  167. package/build/components/media-placeholder/index.js +32 -11
  168. package/build/components/media-placeholder/index.js.map +1 -1
  169. package/build/components/media-replace-flow/index.js +8 -1
  170. package/build/components/media-replace-flow/index.js.map +1 -1
  171. package/build/components/provider/use-block-sync.js +19 -19
  172. package/build/components/provider/use-block-sync.js.map +1 -1
  173. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  174. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  175. package/build/components/rich-text/index.js +38 -30
  176. package/build/components/rich-text/index.js.map +1 -1
  177. package/build/components/rich-text/use-mark-persistent.js +5 -5
  178. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  179. package/build/components/skip-to-selected-block/index.js +4 -1
  180. package/build/components/skip-to-selected-block/index.js.map +1 -1
  181. package/build/components/tool-selector/index.js +4 -1
  182. package/build/components/tool-selector/index.js.map +1 -1
  183. package/build/components/url-input/button.js +12 -3
  184. package/build/components/url-input/button.js.map +1 -1
  185. package/build/components/url-input/index.js +4 -1
  186. package/build/components/url-input/index.js.map +1 -1
  187. package/build/components/use-block-drop-zone/index.js +31 -7
  188. package/build/components/use-block-drop-zone/index.js.map +1 -1
  189. package/build/components/writing-flow/index.js +2 -1
  190. package/build/components/writing-flow/index.js.map +1 -1
  191. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  192. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  193. package/build/components/writing-flow/use-event-redirect.js +66 -0
  194. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  195. package/build/components/writing-flow/use-input.js +31 -1
  196. package/build/components/writing-flow/use-input.js.map +1 -1
  197. package/build/components/writing-flow/use-select-all.js +14 -1
  198. package/build/components/writing-flow/use-select-all.js.map +1 -1
  199. package/build/components/writing-flow/use-selection-observer.js +20 -6
  200. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  201. package/build/components/writing-flow/use-tab-nav.js +4 -4
  202. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  203. package/build/components/writing-flow/utils.js +27 -0
  204. package/build/components/writing-flow/utils.js.map +1 -1
  205. package/build/hooks/block-bindings.js +32 -29
  206. package/build/hooks/block-bindings.js.map +1 -1
  207. package/build/hooks/content-lock-ui.js +8 -26
  208. package/build/hooks/content-lock-ui.js.map +1 -1
  209. package/build/hooks/duotone.js +0 -4
  210. package/build/hooks/duotone.js.map +1 -1
  211. package/build/hooks/layout.js +4 -2
  212. package/build/hooks/layout.js.map +1 -1
  213. package/build/hooks/spacing-visualizer.js +3 -3
  214. package/build/hooks/spacing-visualizer.js.map +1 -1
  215. package/build/hooks/style.js +1 -5
  216. package/build/hooks/style.js.map +1 -1
  217. package/build/hooks/use-bindings-attributes.js +19 -20
  218. package/build/hooks/use-bindings-attributes.js.map +1 -1
  219. package/build/hooks/use-zoom-out.js +7 -7
  220. package/build/hooks/use-zoom-out.js.map +1 -1
  221. package/build/layouts/constrained.js +41 -42
  222. package/build/layouts/constrained.js.map +1 -1
  223. package/build/layouts/flex.js +4 -1
  224. package/build/layouts/flex.js.map +1 -1
  225. package/build/layouts/grid.js +19 -16
  226. package/build/layouts/grid.js.map +1 -1
  227. package/build/layouts/utils.js +1 -7
  228. package/build/layouts/utils.js.map +1 -1
  229. package/build/private-apis.js +2 -3
  230. package/build/private-apis.js.map +1 -1
  231. package/build/store/actions.js +2 -7
  232. package/build/store/actions.js.map +1 -1
  233. package/build/store/private-actions.js +1 -0
  234. package/build/store/private-actions.js.map +1 -1
  235. package/build/store/private-keys.js +2 -1
  236. package/build/store/private-keys.js.map +1 -1
  237. package/build/store/private-selectors.js +16 -18
  238. package/build/store/private-selectors.js.map +1 -1
  239. package/build/store/reducer.js +1 -10
  240. package/build/store/reducer.js.map +1 -1
  241. package/build/store/selectors.js +19 -43
  242. package/build/store/selectors.js.map +1 -1
  243. package/build/store/utils.js +48 -0
  244. package/build/store/utils.js.map +1 -1
  245. package/build/utils/block-bindings.js +16 -11
  246. package/build/utils/block-bindings.js.map +1 -1
  247. package/build/utils/dom.js +101 -0
  248. package/build/utils/dom.js.map +1 -1
  249. package/build/utils/get-font-styles-and-weights.js +4 -4
  250. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  251. package/build/utils/transform-styles/index.js +120 -16
  252. package/build/utils/transform-styles/index.js.map +1 -1
  253. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  254. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  255. package/build-module/components/block-breadcrumb/index.js +2 -2
  256. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  257. package/build-module/components/block-canvas/index.js +9 -1
  258. package/build-module/components/block-canvas/index.js.map +1 -1
  259. package/build-module/components/block-compare/block-view.js +1 -0
  260. package/build-module/components/block-compare/block-view.js.map +1 -1
  261. package/build-module/components/block-draggable/index.js +4 -4
  262. package/build-module/components/block-draggable/index.js.map +1 -1
  263. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  264. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  265. package/build-module/components/block-edit/multiple-usage-warning.js +2 -0
  266. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  267. package/build-module/components/block-inspector/index.js +27 -11
  268. package/build-module/components/block-inspector/index.js.map +1 -1
  269. package/build-module/components/block-list/block-invalid-warning.js +3 -2
  270. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  271. package/build-module/components/block-list/block.js +5 -1
  272. package/build-module/components/block-list/block.js.map +1 -1
  273. package/build-module/components/block-list/index.js +14 -3
  274. package/build-module/components/block-list/index.js.map +1 -1
  275. package/build-module/components/block-list/use-block-props/index.js +5 -1
  276. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  277. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  278. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  279. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +47 -0
  280. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  281. package/build-module/components/block-list/zoom-out-separator.js +90 -0
  282. package/build-module/components/block-list/zoom-out-separator.js.map +1 -0
  283. package/build-module/components/block-lock/toolbar.js +3 -3
  284. package/build-module/components/block-lock/toolbar.js.map +1 -1
  285. package/build-module/components/block-mover/button.js +1 -0
  286. package/build-module/components/block-mover/button.js.map +1 -1
  287. package/build-module/components/block-mover/index.js +1 -0
  288. package/build-module/components/block-mover/index.js.map +1 -1
  289. package/build-module/components/block-navigation/dropdown.js +4 -1
  290. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  291. package/build-module/components/block-pattern-setup/index.js +2 -10
  292. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  293. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  294. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  295. package/build-module/components/block-patterns-list/index.js +12 -20
  296. package/build-module/components/block-patterns-list/index.js.map +1 -1
  297. package/build-module/components/block-patterns-paging/index.js +12 -3
  298. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  299. package/build-module/components/block-popover/index.js +2 -15
  300. package/build-module/components/block-popover/index.js.map +1 -1
  301. package/build-module/components/block-quick-navigation/index.js +4 -1
  302. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  303. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  304. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  305. package/build-module/components/block-switcher/index.js +30 -19
  306. package/build-module/components/block-switcher/index.js.map +1 -1
  307. package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -10
  308. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  309. package/build-module/components/block-toolbar/index.js +19 -12
  310. package/build-module/components/block-toolbar/index.js.map +1 -1
  311. package/build-module/components/block-toolbar/shuffle.js +6 -2
  312. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  313. package/build-module/components/block-tools/block-selection-button.js +8 -2
  314. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  315. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  316. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  317. package/build-module/components/block-tools/index.js +1 -1
  318. package/build-module/components/block-tools/index.js.map +1 -1
  319. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  320. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  321. package/build-module/components/block-tools/zoom-out-mode-inserters.js +7 -22
  322. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  323. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  324. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  325. package/build-module/components/block-tools/zoom-out-toolbar.js +27 -8
  326. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  327. package/build-module/components/block-variation-picker/index.js +4 -1
  328. package/build-module/components/block-variation-picker/index.js.map +1 -1
  329. package/build-module/components/block-variation-transforms/index.js +4 -1
  330. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  331. package/build-module/components/button-block-appender/index.js +22 -26
  332. package/build-module/components/button-block-appender/index.js.map +1 -1
  333. package/build-module/components/colors-gradients/dropdown.js +4 -1
  334. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  335. package/build-module/components/content-lock/index.js +2 -0
  336. package/build-module/components/content-lock/index.js.map +1 -0
  337. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  338. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  339. package/build-module/components/editor-styles/index.js +4 -3
  340. package/build-module/components/editor-styles/index.js.map +1 -1
  341. package/build-module/components/global-styles/background-panel.js +8 -12
  342. package/build-module/components/global-styles/background-panel.js.map +1 -1
  343. package/build-module/components/global-styles/color-panel.js +7 -4
  344. package/build-module/components/global-styles/color-panel.js.map +1 -1
  345. package/build-module/components/global-styles/color-panel.native.js +2 -2
  346. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  347. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  348. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  349. package/build-module/components/global-styles/filters-panel.js +4 -1
  350. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  351. package/build-module/components/global-styles/shadow-panel-components.js +14 -17
  352. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  353. package/build-module/components/global-styles/typography-utils.js +17 -6
  354. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  355. package/build-module/components/global-styles/utils.js +4 -6
  356. package/build-module/components/global-styles/utils.js.map +1 -1
  357. package/build-module/components/grid/grid-item-movers.js +3 -3
  358. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  359. package/build-module/components/iframe/get-compatibility-styles.js +1 -1
  360. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  361. package/build-module/components/iframe/index.js +5 -5
  362. package/build-module/components/iframe/index.js.map +1 -1
  363. package/build-module/components/inner-blocks/index.js +2 -4
  364. package/build-module/components/inner-blocks/index.js.map +1 -1
  365. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  366. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  367. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  368. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  369. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  370. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  371. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
  372. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  373. package/build-module/components/inserter/index.js +4 -11
  374. package/build-module/components/inserter/index.js.map +1 -1
  375. package/build-module/components/inserter/library.js +2 -4
  376. package/build-module/components/inserter/library.js.map +1 -1
  377. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  378. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  379. package/build-module/components/inserter/media-tab/media-list.js +1 -8
  380. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  381. package/build-module/components/inserter/media-tab/media-preview.js +10 -8
  382. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  383. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  384. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  385. package/build-module/components/inserter/menu.js +7 -24
  386. package/build-module/components/inserter/menu.js.map +1 -1
  387. package/build-module/components/inserter/quick-inserter.js +5 -6
  388. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  389. package/build-module/components/inserter-list-item/index.js +4 -4
  390. package/build-module/components/inserter-list-item/index.js.map +1 -1
  391. package/build-module/components/inserter-listbox/index.js +3 -11
  392. package/build-module/components/inserter-listbox/index.js.map +1 -1
  393. package/build-module/components/inserter-listbox/item.js +7 -12
  394. package/build-module/components/inserter-listbox/item.js.map +1 -1
  395. package/build-module/components/inserter-listbox/row.js +2 -10
  396. package/build-module/components/inserter-listbox/row.js.map +1 -1
  397. package/build-module/components/inspector-controls/groups.js +2 -0
  398. package/build-module/components/inspector-controls/groups.js.map +1 -1
  399. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  400. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  401. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  402. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  403. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  404. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  405. package/build-module/components/inspector-popover-header/index.js +8 -2
  406. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  407. package/build-module/components/letter-spacing-control/index.js +7 -4
  408. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  409. package/build-module/components/link-control/index.js +19 -10
  410. package/build-module/components/link-control/index.js.map +1 -1
  411. package/build-module/components/link-control/settings-drawer.js +4 -1
  412. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  413. package/build-module/components/list-view/block-select-button.js +4 -1
  414. package/build-module/components/list-view/block-select-button.js.map +1 -1
  415. package/build-module/components/list-view/index.js +3 -7
  416. package/build-module/components/list-view/index.js.map +1 -1
  417. package/build-module/components/media-placeholder/index.js +32 -11
  418. package/build-module/components/media-placeholder/index.js.map +1 -1
  419. package/build-module/components/media-replace-flow/index.js +8 -1
  420. package/build-module/components/media-replace-flow/index.js.map +1 -1
  421. package/build-module/components/provider/use-block-sync.js +19 -19
  422. package/build-module/components/provider/use-block-sync.js.map +1 -1
  423. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  424. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  425. package/build-module/components/rich-text/index.js +39 -31
  426. package/build-module/components/rich-text/index.js.map +1 -1
  427. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  428. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  429. package/build-module/components/skip-to-selected-block/index.js +4 -1
  430. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  431. package/build-module/components/tool-selector/index.js +4 -1
  432. package/build-module/components/tool-selector/index.js.map +1 -1
  433. package/build-module/components/url-input/button.js +12 -3
  434. package/build-module/components/url-input/button.js.map +1 -1
  435. package/build-module/components/url-input/index.js +4 -1
  436. package/build-module/components/url-input/index.js.map +1 -1
  437. package/build-module/components/use-block-drop-zone/index.js +31 -7
  438. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  439. package/build-module/components/writing-flow/index.js +2 -1
  440. package/build-module/components/writing-flow/index.js.map +1 -1
  441. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  442. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  443. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  444. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  445. package/build-module/components/writing-flow/use-input.js +31 -1
  446. package/build-module/components/writing-flow/use-input.js.map +1 -1
  447. package/build-module/components/writing-flow/use-select-all.js +14 -1
  448. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  449. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  450. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  451. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  452. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  453. package/build-module/components/writing-flow/utils.js +26 -0
  454. package/build-module/components/writing-flow/utils.js.map +1 -1
  455. package/build-module/hooks/block-bindings.js +34 -31
  456. package/build-module/hooks/block-bindings.js.map +1 -1
  457. package/build-module/hooks/content-lock-ui.js +10 -30
  458. package/build-module/hooks/content-lock-ui.js.map +1 -1
  459. package/build-module/hooks/duotone.js +0 -4
  460. package/build-module/hooks/duotone.js.map +1 -1
  461. package/build-module/hooks/layout.js +4 -2
  462. package/build-module/hooks/layout.js.map +1 -1
  463. package/build-module/hooks/spacing-visualizer.js +3 -3
  464. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  465. package/build-module/hooks/style.js +1 -5
  466. package/build-module/hooks/style.js.map +1 -1
  467. package/build-module/hooks/use-bindings-attributes.js +19 -20
  468. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  469. package/build-module/hooks/use-zoom-out.js +7 -7
  470. package/build-module/hooks/use-zoom-out.js.map +1 -1
  471. package/build-module/layouts/constrained.js +44 -45
  472. package/build-module/layouts/constrained.js.map +1 -1
  473. package/build-module/layouts/flex.js +4 -1
  474. package/build-module/layouts/flex.js.map +1 -1
  475. package/build-module/layouts/grid.js +21 -18
  476. package/build-module/layouts/grid.js.map +1 -1
  477. package/build-module/layouts/utils.js +1 -7
  478. package/build-module/layouts/utils.js.map +1 -1
  479. package/build-module/private-apis.js +3 -4
  480. package/build-module/private-apis.js.map +1 -1
  481. package/build-module/store/actions.js +2 -7
  482. package/build-module/store/actions.js.map +1 -1
  483. package/build-module/store/private-actions.js +1 -0
  484. package/build-module/store/private-actions.js.map +1 -1
  485. package/build-module/store/private-keys.js +1 -0
  486. package/build-module/store/private-keys.js.map +1 -1
  487. package/build-module/store/private-selectors.js +15 -18
  488. package/build-module/store/private-selectors.js.map +1 -1
  489. package/build-module/store/reducer.js +1 -9
  490. package/build-module/store/reducer.js.map +1 -1
  491. package/build-module/store/selectors.js +22 -46
  492. package/build-module/store/selectors.js.map +1 -1
  493. package/build-module/store/utils.js +46 -0
  494. package/build-module/store/utils.js.map +1 -1
  495. package/build-module/utils/block-bindings.js +17 -12
  496. package/build-module/utils/block-bindings.js.map +1 -1
  497. package/build-module/utils/dom.js +99 -0
  498. package/build-module/utils/dom.js.map +1 -1
  499. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  500. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  501. package/build-module/utils/transform-styles/index.js +120 -16
  502. package/build-module/utils/transform-styles/index.js.map +1 -1
  503. package/build-style/content-rtl.css +19 -11
  504. package/build-style/content.css +19 -11
  505. package/build-style/style-rtl.css +27 -108
  506. package/build-style/style.css +27 -108
  507. package/build-types/utils/dom.d.ts +25 -0
  508. package/build-types/utils/dom.d.ts.map +1 -1
  509. package/package.json +34 -32
  510. package/src/components/block-alignment-matrix-control/index.js +1 -1
  511. package/src/components/block-breadcrumb/index.js +2 -2
  512. package/src/components/block-breadcrumb/style.scss +1 -30
  513. package/src/components/block-canvas/index.js +9 -1
  514. package/src/components/block-compare/block-view.js +6 -1
  515. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  516. package/src/components/block-draggable/content.scss +1 -1
  517. package/src/components/block-draggable/index.js +4 -4
  518. package/src/components/block-draggable/style.scss +1 -1
  519. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  520. package/src/components/block-edit/multiple-usage-warning.js +2 -0
  521. package/src/components/block-inspector/index.js +22 -7
  522. package/src/components/block-inspector/style.scss +2 -4
  523. package/src/components/block-list/block-invalid-warning.js +3 -2
  524. package/src/components/block-list/block.js +6 -2
  525. package/src/components/block-list/content.scss +23 -3
  526. package/src/components/block-list/index.js +59 -38
  527. package/src/components/block-list/use-block-props/index.js +3 -0
  528. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  529. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +56 -0
  530. package/src/components/block-list/zoom-out-separator.js +110 -0
  531. package/src/components/block-lock/style.scss +1 -1
  532. package/src/components/block-lock/toolbar.js +3 -3
  533. package/src/components/block-mover/button.js +1 -0
  534. package/src/components/block-mover/index.js +1 -0
  535. package/src/components/block-mover/style.scss +1 -1
  536. package/src/components/block-navigation/dropdown.js +2 -0
  537. package/src/components/block-pattern-setup/index.js +3 -15
  538. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  539. package/src/components/block-pattern-setup/style.scss +2 -2
  540. package/src/components/block-patterns-list/index.js +15 -18
  541. package/src/components/block-patterns-list/style.scss +2 -2
  542. package/src/components/block-patterns-paging/index.js +6 -0
  543. package/src/components/block-popover/index.js +7 -28
  544. package/src/components/block-popover/style.scss +1 -1
  545. package/src/components/block-quick-navigation/index.js +2 -0
  546. package/src/components/block-settings-menu-controls/index.js +7 -1
  547. package/src/components/block-switcher/index.js +45 -23
  548. package/src/components/block-switcher/pattern-transformations-menu.js +3 -12
  549. package/src/components/block-switcher/style.scss +5 -30
  550. package/src/components/block-toolbar/index.js +27 -11
  551. package/src/components/block-toolbar/shuffle.js +9 -7
  552. package/src/components/block-toolbar/style.scss +4 -1
  553. package/src/components/block-tools/block-selection-button.js +4 -0
  554. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  555. package/src/components/block-tools/index.js +1 -1
  556. package/src/components/block-tools/style.scss +3 -4
  557. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  558. package/src/components/block-tools/zoom-out-mode-inserters.js +2 -17
  559. package/src/components/block-tools/zoom-out-popover.js +3 -7
  560. package/src/components/block-tools/zoom-out-toolbar.js +31 -6
  561. package/src/components/block-variation-picker/README.md +2 -2
  562. package/src/components/block-variation-picker/index.js +6 -1
  563. package/src/components/block-variation-transforms/index.js +2 -0
  564. package/src/components/block-variation-transforms/style.scss +1 -1
  565. package/src/components/button-block-appender/content.scss +0 -1
  566. package/src/components/button-block-appender/index.js +30 -28
  567. package/src/components/color-palette/test/control.js +15 -2
  568. package/src/components/colors-gradients/dropdown.js +5 -1
  569. package/src/components/colors-gradients/style.scss +4 -4
  570. package/src/components/content-lock/index.js +1 -0
  571. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  572. package/src/components/default-block-appender/content.scss +0 -1
  573. package/src/components/editor-styles/index.js +4 -3
  574. package/src/components/global-styles/background-panel.js +6 -14
  575. package/src/components/global-styles/color-panel.js +8 -4
  576. package/src/components/global-styles/color-panel.native.js +2 -2
  577. package/src/components/global-styles/dimensions-panel.js +40 -40
  578. package/src/components/global-styles/filters-panel.js +5 -1
  579. package/src/components/global-styles/shadow-panel-components.js +11 -15
  580. package/src/components/global-styles/style.scss +3 -4
  581. package/src/components/global-styles/test/typography-utils.js +96 -5
  582. package/src/components/global-styles/test/utils.js +10 -0
  583. package/src/components/global-styles/typography-utils.js +22 -6
  584. package/src/components/global-styles/utils.js +4 -6
  585. package/src/components/grid/grid-item-movers.js +3 -3
  586. package/src/components/grid/style.scss +1 -1
  587. package/src/components/iframe/get-compatibility-styles.js +6 -1
  588. package/src/components/iframe/index.js +5 -5
  589. package/src/components/inner-blocks/index.js +2 -2
  590. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  591. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  592. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  593. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +32 -15
  594. package/src/components/inserter/index.js +4 -10
  595. package/src/components/inserter/library.js +0 -2
  596. package/src/components/inserter/media-tab/hooks.js +3 -3
  597. package/src/components/inserter/media-tab/media-list.js +1 -7
  598. package/src/components/inserter/media-tab/media-preview.js +15 -8
  599. package/src/components/inserter/media-tab/media-tab.js +2 -0
  600. package/src/components/inserter/menu.js +15 -29
  601. package/src/components/inserter/quick-inserter.js +3 -4
  602. package/src/components/inserter/style.scss +10 -8
  603. package/src/components/inserter-list-item/index.js +4 -4
  604. package/src/components/inserter-list-item/style.scss +1 -3
  605. package/src/components/inserter-listbox/index.js +2 -11
  606. package/src/components/inserter-listbox/item.js +12 -14
  607. package/src/components/inserter-listbox/row.js +2 -9
  608. package/src/components/inspector-controls/groups.js +2 -0
  609. package/src/components/inspector-controls-tabs/index.js +2 -0
  610. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  611. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  612. package/src/components/inspector-popover-header/index.js +4 -0
  613. package/src/components/letter-spacing-control/README.md +8 -1
  614. package/src/components/letter-spacing-control/index.js +7 -4
  615. package/src/components/link-control/index.js +17 -8
  616. package/src/components/link-control/settings-drawer.js +2 -0
  617. package/src/components/link-control/style.scss +1 -3
  618. package/src/components/list-view/block-select-button.js +2 -0
  619. package/src/components/list-view/index.js +3 -8
  620. package/src/components/list-view/style.scss +14 -16
  621. package/src/components/media-placeholder/README.md +2 -2
  622. package/src/components/media-placeholder/index.js +21 -4
  623. package/src/components/media-replace-flow/index.js +12 -1
  624. package/src/components/provider/use-block-sync.js +20 -20
  625. package/src/components/responsive-block-control/README.md +3 -27
  626. package/src/components/rich-text/content.scss +1 -1
  627. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  628. package/src/components/rich-text/index.js +54 -41
  629. package/src/components/rich-text/style.scss +1 -1
  630. package/src/components/rich-text/use-mark-persistent.js +5 -5
  631. package/src/components/skip-to-selected-block/index.js +2 -0
  632. package/src/components/spacing-sizes-control/style.scss +1 -0
  633. package/src/components/tool-selector/index.js +2 -0
  634. package/src/components/url-input/button.js +6 -0
  635. package/src/components/url-input/index.js +2 -0
  636. package/src/components/url-popover/stories/index.story.js +7 -1
  637. package/src/components/use-block-drop-zone/index.js +37 -5
  638. package/src/components/warning/content.scss +3 -10
  639. package/src/components/writing-flow/index.js +2 -0
  640. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  641. package/src/components/writing-flow/use-event-redirect.js +72 -0
  642. package/src/components/writing-flow/use-input.js +36 -1
  643. package/src/components/writing-flow/use-select-all.js +18 -1
  644. package/src/components/writing-flow/use-selection-observer.js +23 -3
  645. package/src/components/writing-flow/use-tab-nav.js +4 -4
  646. package/src/components/writing-flow/utils.js +30 -0
  647. package/src/hooks/block-bindings.js +42 -43
  648. package/src/hooks/block-bindings.scss +1 -9
  649. package/src/hooks/content-lock-ui.js +11 -36
  650. package/src/hooks/duotone.js +0 -4
  651. package/src/hooks/layout.js +2 -1
  652. package/src/hooks/layout.scss +5 -27
  653. package/src/hooks/spacing-visualizer.js +3 -3
  654. package/src/hooks/style.js +1 -4
  655. package/src/hooks/use-bindings-attributes.js +23 -24
  656. package/src/hooks/use-zoom-out.js +7 -7
  657. package/src/layouts/constrained.js +53 -48
  658. package/src/layouts/flex.js +2 -0
  659. package/src/layouts/grid.js +29 -22
  660. package/src/layouts/test/grid.js +2 -2
  661. package/src/layouts/test/utils.js +6 -8
  662. package/src/layouts/utils.js +1 -9
  663. package/src/private-apis.js +2 -2
  664. package/src/store/actions.js +4 -6
  665. package/src/store/private-actions.js +1 -0
  666. package/src/store/private-keys.js +1 -0
  667. package/src/store/private-selectors.js +18 -14
  668. package/src/store/reducer.js +0 -7
  669. package/src/store/selectors.js +32 -51
  670. package/src/store/utils.js +50 -0
  671. package/src/utils/block-bindings.js +15 -16
  672. package/src/utils/dom.js +117 -0
  673. package/src/utils/get-font-styles-and-weights.js +12 -4
  674. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  675. package/src/utils/test/transform-styles.js +259 -50
  676. package/src/utils/transform-styles/index.js +132 -21
  677. package/tsconfig.json +1 -0
  678. package/tsconfig.tsbuildinfo +1 -1
  679. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -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' ) }
@@ -10,7 +10,7 @@ import {
10
10
  Button,
11
11
  FlexItem,
12
12
  Dropdown,
13
- privateApis as componentsPrivateApis,
13
+ Composite,
14
14
  } from '@wordpress/components';
15
15
  import { useMemo } from '@wordpress/element';
16
16
  import { shadow as shadowIcon, Icon, check } from '@wordpress/icons';
@@ -20,11 +20,6 @@ import { shadow as shadowIcon, Icon, check } from '@wordpress/icons';
20
20
  */
21
21
  import clsx from 'clsx';
22
22
 
23
- /**
24
- * Internal dependencies
25
- */
26
- import { unlock } from '../../lock-unlock';
27
-
28
23
  /**
29
24
  * Shared reference to an empty array for cases where it is important to avoid
30
25
  * returning a new array reference on every invocation.
@@ -32,11 +27,6 @@ import { unlock } from '../../lock-unlock';
32
27
  * @type {Array}
33
28
  */
34
29
  const EMPTY_ARRAY = [];
35
- const {
36
- CompositeItemV2: CompositeItem,
37
- CompositeV2: Composite,
38
- useCompositeStoreV2: useCompositeStore,
39
- } = unlock( componentsPrivateApis );
40
30
 
41
31
  export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
42
32
  const shadows = useShadowPresets( settings );
@@ -52,6 +42,8 @@ export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
52
42
  />
53
43
  <div className="block-editor-global-styles__clear-shadow">
54
44
  <Button
45
+ // TODO: Switch to `true` (40px size) if possible
46
+ __next40pxDefaultSize={ false }
55
47
  variant="tertiary"
56
48
  onClick={ () => onShadowChange( undefined ) }
57
49
  >
@@ -64,10 +56,8 @@ export function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {
64
56
  }
65
57
 
66
58
  export function ShadowPresets( { presets, activeShadow, onSelect } ) {
67
- const compositeStore = useCompositeStore();
68
59
  return ! presets ? null : (
69
60
  <Composite
70
- store={ compositeStore }
71
61
  role="listbox"
72
62
  className="block-editor-global-styles__shadow__list"
73
63
  aria-label={ __( 'Drop shadows' ) }
@@ -90,7 +80,7 @@ export function ShadowPresets( { presets, activeShadow, onSelect } ) {
90
80
 
91
81
  export function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {
92
82
  return (
93
- <CompositeItem
83
+ <Composite.Item
94
84
  role="option"
95
85
  aria-label={ label }
96
86
  aria-selected={ isActive }
@@ -99,6 +89,8 @@ export function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {
99
89
  } ) }
100
90
  render={
101
91
  <Button
92
+ // TODO: Switch to `true` (40px size) if possible
93
+ __next40pxDefaultSize={ false }
102
94
  className={ clsx(
103
95
  'block-editor-global-styles__shadow-indicator',
104
96
  {
@@ -151,7 +143,11 @@ function renderShadowToggle() {
151
143
  };
152
144
 
153
145
  return (
154
- <Button { ...toggleProps }>
146
+ <Button
147
+ // TODO: Switch to `true` (40px size) if possible
148
+ __next40pxDefaultSize={ false }
149
+ { ...toggleProps }
150
+ >
155
151
  <HStack justify="flex-start">
156
152
  <Icon
157
153
  className="block-editor-global-styles__toggle-icon"
@@ -39,7 +39,7 @@
39
39
  .block-editor-global-styles__shadow-indicator {
40
40
  color: $gray-800;
41
41
  border: $gray-200 $border-width solid;
42
- border-radius: $radius-block-ui;
42
+ border-radius: $radius-small;
43
43
  cursor: pointer;
44
44
  padding: 0;
45
45
 
@@ -74,7 +74,7 @@
74
74
 
75
75
  .block-editor-global-styles-background-panel__inspector-media-replace-container {
76
76
  border: $border-width solid $gray-300;
77
- border-radius: 2px;
77
+ border-radius: $radius-small;
78
78
  // Full width. ToolsPanel lays out children in a grid.
79
79
  grid-column: 1 / -1;
80
80
 
@@ -102,7 +102,6 @@
102
102
 
103
103
  .block-editor-global-styles-background-panel__image-tools-panel-item {
104
104
  border: $border-width solid $gray-300;
105
- border-radius: 2px;
106
105
 
107
106
  // Full width. ToolsPanel lays out children in a grid.
108
107
  grid-column: 1 / -1;
@@ -208,7 +207,7 @@
208
207
  .components-focal-point-picker-wrapper {
209
208
  background-color: $gray-100;
210
209
  width: 100%;
211
- border-radius: $radius-block-ui;
210
+ border-radius: $radius-small;
212
211
  border: $border-width solid $gray-300;
213
212
  }
214
213
 
@@ -28,7 +28,9 @@ describe( 'typography utils', () => {
28
28
  preset: {
29
29
  size: 0,
30
30
  },
31
- typographySettings: undefined,
31
+ typographySettings: {
32
+ fluid: true,
33
+ },
32
34
  expected: 0,
33
35
  },
34
36
 
@@ -37,7 +39,9 @@ describe( 'typography utils', () => {
37
39
  preset: {
38
40
  size: '0',
39
41
  },
40
- typographySettings: undefined,
42
+ typographySettings: {
43
+ fluid: true,
44
+ },
41
45
  expected: '0',
42
46
  },
43
47
 
@@ -46,7 +50,9 @@ describe( 'typography utils', () => {
46
50
  preset: {
47
51
  size: null,
48
52
  },
49
- typographySettings: null,
53
+ typographySettings: {
54
+ fluid: true,
55
+ },
50
56
  expected: null,
51
57
  },
52
58
 
@@ -153,7 +159,6 @@ describe( 'typography utils', () => {
153
159
  message: 'should return already clamped value',
154
160
  preset: {
155
161
  size: 'clamp(21px, 1.313rem + ((1vw - 7.68px) * 2.524), 42px)',
156
- fluid: false,
157
162
  },
158
163
  settings: {
159
164
  typography: {
@@ -168,7 +173,6 @@ describe( 'typography utils', () => {
168
173
  message: 'should return value with unsupported unit',
169
174
  preset: {
170
175
  size: '1000%',
171
- fluid: false,
172
176
  },
173
177
  settings: {
174
178
  typography: {
@@ -677,6 +681,38 @@ describe( 'typography utils', () => {
677
681
  },
678
682
  expected: 'clamp(16px, 1rem + ((1vw - 6.4px) * 0.179), 17px)',
679
683
  },
684
+
685
+ // Individual preset settings override global settings.
686
+ {
687
+ message:
688
+ 'should convert individual preset size to fluid if fluid is disabled in global settings',
689
+ preset: {
690
+ size: '17px',
691
+ fluid: true,
692
+ },
693
+ settings: {
694
+ typography: {},
695
+ },
696
+ expected:
697
+ 'clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.234), 17px)',
698
+ },
699
+ {
700
+ message:
701
+ 'should use individual preset settings if fluid is disabled in global settings',
702
+ preset: {
703
+ size: '17px',
704
+ fluid: {
705
+ min: '16px',
706
+ max: '26px',
707
+ },
708
+ },
709
+ settings: {
710
+ typography: {
711
+ fluid: false,
712
+ },
713
+ },
714
+ expected: 'clamp(16px, 1rem + ((1vw - 3.2px) * 0.781), 26px)',
715
+ },
680
716
  ].forEach( ( { message, preset, settings, expected } ) => {
681
717
  it( `${ message }`, () => {
682
718
  expect( getTypographyFontSizeValue( preset, settings ) ).toBe(
@@ -1255,6 +1291,61 @@ describe( 'typography utils', () => {
1255
1291
  nearestFontWeight: '400',
1256
1292
  },
1257
1293
  },
1294
+ {
1295
+ message:
1296
+ 'should return nearest fontStyle and fontWeight for normal/400 when fontFamilyFaces contain numerical fontWeight value',
1297
+ fontFamilyFaces: [
1298
+ {
1299
+ fontFamily: 'IBM Plex Mono',
1300
+ fontStyle: 'normal',
1301
+ fontWeight: 400,
1302
+ src: [
1303
+ 'file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2',
1304
+ ],
1305
+ },
1306
+ {
1307
+ fontFamily: 'IBM Plex Mono',
1308
+ fontStyle: 'italic',
1309
+ fontWeight: '400',
1310
+ src: [
1311
+ 'file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2',
1312
+ ],
1313
+ },
1314
+ {
1315
+ fontFamily: 'IBM Plex Mono',
1316
+ fontStyle: 'normal',
1317
+ fontWeight: '700',
1318
+ src: [
1319
+ 'file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2',
1320
+ ],
1321
+ },
1322
+ ],
1323
+ fontStyle: 'normal',
1324
+ fontWeight: '400',
1325
+ expected: {
1326
+ nearestFontStyle: 'normal',
1327
+ nearestFontWeight: '400',
1328
+ },
1329
+ },
1330
+ {
1331
+ message:
1332
+ 'should return nearest fontStyle and fontWeight for normal/400 when fontFamilyFaces contain undefined fontWeight value',
1333
+ fontFamilyFaces: [
1334
+ {
1335
+ fontFamily: 'IBM Plex Mono',
1336
+ fontStyle: 'normal',
1337
+ src: [
1338
+ 'file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2',
1339
+ ],
1340
+ },
1341
+ ],
1342
+ fontStyle: 'normal',
1343
+ fontWeight: '400',
1344
+ expected: {
1345
+ nearestFontStyle: 'normal',
1346
+ nearestFontWeight: '700',
1347
+ },
1348
+ },
1258
1349
  ].forEach(
1259
1350
  ( {
1260
1351
  message,
@@ -73,6 +73,11 @@ describe( 'editor utils', () => {
73
73
  dimensions: {
74
74
  minHeight: '100px',
75
75
  },
76
+ spacing: {
77
+ padding: {
78
+ top: 0,
79
+ },
80
+ },
76
81
  },
77
82
  },
78
83
  },
@@ -444,6 +449,11 @@ describe( 'editor utils', () => {
444
449
  { url: 'file:./assets/image.jpg' },
445
450
  themeJson,
446
451
  ],
452
+ [
453
+ { ref: 'styles.blocks.core/group.spacing.padding.top' },
454
+ 0,
455
+ themeJson,
456
+ ],
447
457
  [
448
458
  {
449
459
  ref: 'styles.blocks.core/group.background.backgroundImage',