@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
@@ -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',
@@ -40,6 +40,8 @@ import { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights
40
40
  * Returns a font-size value based on a given font-size preset.
41
41
  * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.
42
42
  *
43
+ * The Core PHP equivalent is wp_get_typography_font_size_value().
44
+ *
43
45
  * @param {Preset} preset
44
46
  * @param {Object} settings
45
47
  * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.
@@ -50,15 +52,25 @@ import { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights
50
52
  export function getTypographyFontSizeValue( preset, settings ) {
51
53
  const { size: defaultSize } = preset;
52
54
 
53
- if ( ! isFluidTypographyEnabled( settings?.typography ) ) {
55
+ /*
56
+ * Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.
57
+ * Also return early when a preset font size explicitly disables fluid typography with `false`.
58
+ */
59
+ if ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {
54
60
  return defaultSize;
55
61
  }
62
+
56
63
  /*
57
- * Checks whether a font size has explicitly bypassed fluid calculations.
58
- * Also catches falsy values and 0/'0'.
59
- * Fluid calculations cannot be performed on `0`.
64
+ * Return early when fluid typography is disabled in the settings, and there
65
+ * are no local settings to enable it for the individual preset.
66
+ *
67
+ * If this condition isn't met, either the settings or individual preset settings
68
+ * have enabled fluid typography.
60
69
  */
61
- if ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {
70
+ if (
71
+ ! isFluidTypographyEnabled( settings?.typography ) &&
72
+ ! isFluidTypographyEnabled( preset )
73
+ ) {
62
74
  return defaultSize;
63
75
  }
64
76
 
@@ -162,6 +174,10 @@ export function findNearestFontWeight(
162
174
  availableFontWeights,
163
175
  newFontWeightValue
164
176
  ) {
177
+ newFontWeightValue =
178
+ 'number' === typeof newFontWeightValue
179
+ ? newFontWeightValue.toString()
180
+ : newFontWeightValue;
165
181
  if ( ! newFontWeightValue || typeof newFontWeightValue !== 'string' ) {
166
182
  return '';
167
183
  }
@@ -248,7 +264,7 @@ export function findNearestStyleAndWeight(
248
264
  ( { value: fs } ) => fs === fontStyle
249
265
  );
250
266
  const hasFontWeight = fontWeights?.some(
251
- ( { value: fw } ) => fw === fontWeight
267
+ ( { value: fw } ) => fw?.toString() === fontWeight?.toString()
252
268
  );
253
269
 
254
270
  if ( ! hasFontStyle ) {
@@ -306,9 +306,8 @@ function getValueFromCustomVariable( features, blockName, variable, path ) {
306
306
  */
307
307
  export function getValueFromVariable( features, blockName, variable ) {
308
308
  if ( ! variable || typeof variable !== 'string' ) {
309
- if ( variable?.ref && typeof variable?.ref === 'string' ) {
310
- const refPath = variable.ref.split( '.' );
311
- variable = getValueFromObjectPath( features, refPath );
309
+ if ( typeof variable?.ref === 'string' ) {
310
+ variable = getValueFromObjectPath( features, variable.ref );
312
311
  // Presence of another ref indicates a reference to another dynamic value.
313
312
  // Pointing to another dynamic value is not supported.
314
313
  if ( ! variable || !! variable?.ref ) {
@@ -568,9 +567,8 @@ export function getResolvedRefValue( ruleValue, tree ) {
568
567
  * For example: { "ref": "style.color.background" } => "#fff".
569
568
  */
570
569
  if ( typeof ruleValue !== 'string' && ruleValue?.ref ) {
571
- const refPath = ruleValue.ref.split( '.' );
572
570
  const resolvedRuleValue = getCSSValueFromRawStyle(
573
- getValueFromObjectPath( tree, refPath )
571
+ getValueFromObjectPath( tree, ruleValue.ref )
574
572
  );
575
573
 
576
574
  /*
@@ -581,7 +579,7 @@ export function getResolvedRefValue( ruleValue, tree ) {
581
579
  return undefined;
582
580
  }
583
581
 
584
- if ( ! resolvedRuleValue ) {
582
+ if ( resolvedRuleValue === undefined ) {
585
583
  return ruleValue;
586
584
  }
587
585
 
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { __ } from '@wordpress/i18n';
9
+ import { __, isRTL } from '@wordpress/i18n';
10
10
  import {
11
11
  VisuallyHidden,
12
12
  ToolbarButton,
@@ -57,7 +57,7 @@ export function GridItemMovers( {
57
57
  <ToolbarGroup className="block-editor-grid-item-mover__move-button-container">
58
58
  <div className="block-editor-grid-item-mover__move-horizontal-button-container is-left">
59
59
  <GridItemMover
60
- icon={ chevronLeft }
60
+ icon={ isRTL() ? chevronRight : chevronLeft }
61
61
  label={ __( 'Move left' ) }
62
62
  description={ __( 'Move left' ) }
63
63
  isDisabled={ columnStart <= 1 }
@@ -126,7 +126,7 @@ export function GridItemMovers( {
126
126
  </div>
127
127
  <div className="block-editor-grid-item-mover__move-horizontal-button-container is-right">
128
128
  <GridItemMover
129
- icon={ chevronRight }
129
+ icon={ isRTL() ? chevronLeft : chevronRight }
130
130
  label={ __( 'Move right' ) }
131
131
  description={ __( 'Move right' ) }
132
132
  isDisabled={ columnCount && columnEnd >= columnCount }
@@ -117,7 +117,7 @@
117
117
  content: "";
118
118
  position: absolute;
119
119
  display: block;
120
- border-radius: $radius-block-ui;
120
+ border-radius: $radius-small;
121
121
  height: $grid-unit-40;
122
122
 
123
123
  // Position the focus rectangle.
@@ -122,7 +122,7 @@ function Iframe( {
122
122
  }, [] );
123
123
  const { styles = '', scripts = '' } = resolvedAssets;
124
124
  const [ iframeDocument, setIframeDocument ] = useState();
125
- const prevContainerWidth = useRef();
125
+ const prevContainerWidthRef = useRef();
126
126
  const [ bodyClasses, setBodyClasses ] = useState( [] );
127
127
  const clearerRef = useBlockSelectionClearer();
128
128
  const [ before, writingFlowRef, after ] = useWritingFlow();
@@ -243,7 +243,7 @@ function Iframe( {
243
243
 
244
244
  useEffect( () => {
245
245
  if ( ! isZoomedOut ) {
246
- prevContainerWidth.current = containerWidth;
246
+ prevContainerWidthRef.current = containerWidth;
247
247
  }
248
248
  }, [ containerWidth, isZoomedOut ] );
249
249
 
@@ -310,7 +310,7 @@ function Iframe( {
310
310
  '--wp-block-editor-iframe-zoom-out-scale',
311
311
  scale === 'default'
312
312
  ? Math.min( containerWidth, maxWidth ) /
313
- prevContainerWidth.current
313
+ prevContainerWidthRef.current
314
314
  : scale
315
315
  );
316
316
  iframeDocument.documentElement.style.setProperty(
@@ -331,7 +331,7 @@ function Iframe( {
331
331
  );
332
332
  iframeDocument.documentElement.style.setProperty(
333
333
  '--wp-block-editor-iframe-zoom-out-prev-container-width',
334
- `${ prevContainerWidth.current }px`
334
+ `${ prevContainerWidthRef.current }px`
335
335
  );
336
336
 
337
337
  return () => {
@@ -456,7 +456,7 @@ function Iframe( {
456
456
  '--wp-block-editor-iframe-zoom-out-container-width':
457
457
  isZoomedOut && `${ containerWidth }px`,
458
458
  '--wp-block-editor-iframe-zoom-out-prev-container-width':
459
- isZoomedOut && `${ prevContainerWidth.current }px`,
459
+ isZoomedOut && `${ prevContainerWidthRef.current }px`,
460
460
  } }
461
461
  >
462
462
  { iframe }
@@ -203,7 +203,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
203
203
  getBlockEditingMode,
204
204
  getBlockSettings,
205
205
  isDragging,
206
- getSettings,
206
+ getSectionRootClientId,
207
207
  } = unlock( select( blockEditorStore ) );
208
208
  let _isDropZoneDisabled;
209
209
 
@@ -225,7 +225,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
225
225
  // In zoom out mode, we want to disable the drop zone for the sections.
226
226
  // The inner blocks belonging to the section drop zone is
227
227
  // already disabled by the blocks themselves being disabled.
228
- const { sectionRootClientId } = unlock( getSettings() );
228
+ const sectionRootClientId = getSectionRootClientId();
229
229
 
230
230
  _isDropZoneDisabled = clientId !== sectionRootClientId;
231
231
  }
@@ -52,7 +52,7 @@ export default function useInnerBlockTemplateSync(
52
52
  useDispatch( blockEditorStore );
53
53
 
54
54
  // Maintain a reference to the previous value so we can do a deep equality check.
55
- const existingTemplate = useRef( null );
55
+ const existingTemplateRef = useRef( null );
56
56
 
57
57
  useLayoutEffect( () => {
58
58
  let isCancelled = false;
@@ -76,14 +76,14 @@ export default function useInnerBlockTemplateSync(
76
76
 
77
77
  const hasTemplateChanged = ! fastDeepEqual(
78
78
  template,
79
- existingTemplate.current
79
+ existingTemplateRef.current
80
80
  );
81
81
 
82
82
  if ( ! shouldApplyTemplate || ! hasTemplateChanged ) {
83
83
  return;
84
84
  }
85
85
 
86
- existingTemplate.current = template;
86
+ existingTemplateRef.current = template;
87
87
  const nextBlocks = synchronizeBlocksWithTemplate(
88
88
  currentInnerBlocks,
89
89
  template
@@ -15,6 +15,8 @@ function PatternCategoriesList( {
15
15
  { patternCategories.map( ( { name, label } ) => {
16
16
  return (
17
17
  <Button
18
+ // TODO: Switch to `true` (40px size) if possible
19
+ __next40pxDefaultSize={ false }
18
20
  key={ name }
19
21
  label={ label }
20
22
  className={ `${ baseClassName }__categories-list__item` }
@@ -61,6 +61,8 @@ function BlockPatternsTab( {
61
61
  { children }
62
62
  </CategoryTabs>
63
63
  <Button
64
+ // TODO: Switch to `true` (40px size) if possible
65
+ __next40pxDefaultSize={ false }
64
66
  className="block-editor-inserter__patterns-explore-button"
65
67
  onClick={ () => setShowPatternsExplorer( true ) }
66
68
  variant="secondary"
@@ -27,7 +27,6 @@ function InserterLibrary(
27
27
  onSelect = noop,
28
28
  shouldFocusBlock = false,
29
29
  onClose,
30
- __experimentalSearchInputRef,
31
30
  },
32
31
  ref
33
32
  ) {
@@ -59,7 +58,6 @@ function InserterLibrary(
59
58
  shouldFocusBlock={ shouldFocusBlock }
60
59
  ref={ ref }
61
60
  onClose={ onClose }
62
- __experimentalSearchInputRef={ __experimentalSearchInputRef }
63
61
  />
64
62
  );
65
63
  }
@@ -31,18 +31,18 @@ export function useMediaResults( category, query = {} ) {
31
31
  // In the future we could use AbortController to cancel previous
32
32
  // requests, but we don't for now as it involves adding support
33
33
  // for this to `core-data` package.
34
- const lastRequest = useRef();
34
+ const lastRequestRef = useRef();
35
35
  useEffect( () => {
36
36
  ( async () => {
37
37
  const key = JSON.stringify( {
38
38
  category: category.name,
39
39
  ...query,
40
40
  } );
41
- lastRequest.current = key;
41
+ lastRequestRef.current = key;
42
42
  setIsLoading( true );
43
43
  setMediaList( [] ); // Empty the previous results.
44
44
  const _media = await category.fetch?.( query );
45
- if ( key === lastRequest.current ) {
45
+ if ( key === lastRequestRef.current ) {
46
46
  setMediaList( _media );
47
47
  setIsLoading( false );
48
48
  }
@@ -10,8 +10,7 @@ import { __ } from '@wordpress/i18n';
10
10
  import { MediaPreview } from './media-preview';
11
11
  import { unlock } from '../../../lock-unlock';
12
12
 
13
- const { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =
14
- unlock( componentsPrivateApis );
13
+ const { CompositeV2: Composite } = unlock( componentsPrivateApis );
15
14
 
16
15
  function MediaList( {
17
16
  mediaList,
@@ -19,10 +18,8 @@ function MediaList( {
19
18
  onClick,
20
19
  label = __( 'Media List' ),
21
20
  } ) {
22
- const compositeStore = useCompositeStore();
23
21
  return (
24
22
  <Composite
25
- store={ compositeStore }
26
23
  role="listbox"
27
24
  className="block-editor-inserter__media-list"
28
25
  aria-label={ label }
@@ -102,12 +102,22 @@ function InsertExternalImageModal( { onClose, onSubmit } ) {
102
102
  expanded={ false }
103
103
  >
104
104
  <FlexItem>
105
- <Button variant="tertiary" onClick={ onClose }>
105
+ <Button
106
+ // TODO: Switch to `true` (40px size) if possible
107
+ __next40pxDefaultSize={ false }
108
+ variant="tertiary"
109
+ onClick={ onClose }
110
+ >
106
111
  { __( 'Cancel' ) }
107
112
  </Button>
108
113
  </FlexItem>
109
114
  <FlexItem>
110
- <Button variant="primary" onClick={ onSubmit }>
115
+ <Button
116
+ // TODO: Switch to `true` (40px size) if possible
117
+ __next40pxDefaultSize={ false }
118
+ variant="primary"
119
+ onClick={ onSubmit }
120
+ >
111
121
  { __( 'Insert' ) }
112
122
  </Button>
113
123
  </FlexItem>
@@ -71,6 +71,8 @@ function MediaTab( {
71
71
  allowedTypes={ ALLOWED_MEDIA_TYPES }
72
72
  render={ ( { open } ) => (
73
73
  <Button
74
+ // TODO: Switch to `true` (40px size) if possible
75
+ __next40pxDefaultSize={ false }
74
76
  onClick={ ( event ) => {
75
77
  // Safari doesn't emit a focus event on button elements when
76
78
  // clicked and we need to manually focus the button here.
@@ -32,8 +32,6 @@ import InserterSearchResults from './search-results';
32
32
  import useInsertionPoint from './hooks/use-insertion-point';
33
33
  import { store as blockEditorStore } from '../../store';
34
34
  import TabbedSidebar from '../tabbed-sidebar';
35
- import { useZoomOut } from '../../hooks/use-zoom-out';
36
- import { unlock } from '../../lock-unlock';
37
35
 
38
36
  const NOOP = () => {};
39
37
  function InserterMenu(
@@ -54,16 +52,11 @@ function InserterMenu(
54
52
  },
55
53
  ref
56
54
  ) {
57
- const { isZoomOutMode, inserterSearchInputRef } = useSelect( ( select ) => {
58
- const { __unstableGetEditorMode, getInserterSearchInputRef } = unlock(
59
- select( blockEditorStore )
60
- );
61
- return {
62
- isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
63
- inserterSearchInputRef: getInserterSearchInputRef(),
64
- };
65
- }, [] );
66
-
55
+ const isZoomOutMode = useSelect(
56
+ ( select ) =>
57
+ select( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',
58
+ []
59
+ );
67
60
  const [ filterValue, setFilterValue, delayedFilterValue ] =
68
61
  useDebouncedInput( __experimentalFilterValue );
69
62
  const [ hoveredItem, setHoveredItem ] = useState( null );
@@ -108,16 +101,16 @@ function InserterMenu(
108
101
  window.requestAnimationFrame( () => {
109
102
  if (
110
103
  ! shouldFocusBlock &&
111
- ! blockTypesTabRef?.current.contains(
104
+ ! blockTypesTabRef.current?.contains(
112
105
  ref.current.ownerDocument.activeElement
113
106
  )
114
107
  ) {
115
108
  // There has been a focus loss, so focus the first button in the block types tab
116
- blockTypesTabRef?.current.querySelector( 'button' ).focus();
109
+ blockTypesTabRef.current?.querySelector( 'button' ).focus();
117
110
  }
118
111
  } );
119
112
  },
120
- [ onInsertBlocks, onSelect, ref, shouldFocusBlock ]
113
+ [ onInsertBlocks, onSelect, shouldFocusBlock ]
121
114
  );
122
115
 
123
116
  const onInsertPattern = useCallback(
@@ -126,7 +119,7 @@ function InserterMenu(
126
119
  onInsertBlocks( blocks, { patternName } );
127
120
  onSelect();
128
121
  },
129
- [ onInsertBlocks, onSelect, onToggleInsertionPoint ]
122
+ [ onInsertBlocks, onSelect ]
130
123
  );
131
124
 
132
125
  const onHover = useCallback(
@@ -153,11 +146,6 @@ function InserterMenu(
153
146
 
154
147
  const showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory;
155
148
 
156
- const showZoomOut =
157
- showPatternPanel && !! window.__experimentalEnableZoomedOutPatternsTab;
158
-
159
- useZoomOut( showZoomOut );
160
-
161
149
  const inserterSearch = useMemo( () => {
162
150
  if ( selectedTab === 'media' ) {
163
151
  return null;
@@ -177,9 +165,7 @@ function InserterMenu(
177
165
  value={ filterValue }
178
166
  label={ __( 'Search for blocks and patterns' ) }
179
167
  placeholder={ __( 'Search' ) }
180
- ref={ inserterSearchInputRef }
181
168
  />
182
-
183
169
  { !! delayedFilterValue && (
184
170
  <InserterSearchResults
185
171
  filterValue={ delayedFilterValue }
@@ -200,18 +186,18 @@ function InserterMenu(
200
186
  );
201
187
  }, [
202
188
  selectedTab,
189
+ hoveredItem,
190
+ setHoveredItem,
191
+ setFilterValue,
203
192
  filterValue,
204
- inserterSearchInputRef,
205
193
  delayedFilterValue,
206
194
  onSelect,
207
195
  onHover,
208
- rootClientId,
196
+ shouldFocusBlock,
209
197
  clientId,
210
- isAppender,
198
+ rootClientId,
211
199
  __experimentalInsertionIndex,
212
- shouldFocusBlock,
213
- hoveredItem,
214
- setFilterValue,
200
+ isAppender,
215
201
  ] );
216
202
 
217
203
  const blocksTab = useMemo( () => {
@@ -141,6 +141,8 @@ export default function QuickInserter( {
141
141
 
142
142
  { setInserterIsOpened && (
143
143
  <Button
144
+ // TODO: Switch to `true` (40px size) if possible
145
+ __next40pxDefaultSize={ false }
144
146
  className="block-editor-inserter__quick-inserter-expand"
145
147
  onClick={ onBrowseAll }
146
148
  aria-label={ __(