@wordpress/block-editor 14.0.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 (807) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +10 -24
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-alignment-matrix-control/index.js +2 -2
  6. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  7. package/build/components/block-breadcrumb/index.js +8 -2
  8. package/build/components/block-breadcrumb/index.js.map +1 -1
  9. package/build/components/block-canvas/index.js +8 -1
  10. package/build/components/block-canvas/index.js.map +1 -1
  11. package/build/components/block-compare/block-view.js +4 -1
  12. package/build/components/block-compare/block-view.js.map +1 -1
  13. package/build/components/block-draggable/index.js +4 -4
  14. package/build/components/block-draggable/index.js.map +1 -1
  15. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  16. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  17. package/build/components/block-edit/multiple-usage-warning.js +8 -2
  18. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  19. package/build/components/block-inspector/index.js +27 -9
  20. package/build/components/block-inspector/index.js.map +1 -1
  21. package/build/components/block-list/block-invalid-warning.js +6 -3
  22. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  23. package/build/components/block-list/block.js +5 -1
  24. package/build/components/block-list/block.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +7 -3
  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 +46 -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/use-in-between-inserter.js +11 -4
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  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 +4 -1
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +4 -1
  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 +1 -4
  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 +11 -14
  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/block-mode-toggle.js +28 -34
  54. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  55. package/build/components/block-settings-menu-controls/index.js +4 -0
  56. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  57. package/build/components/block-switcher/index.js +22 -17
  58. package/build/components/block-switcher/index.js.map +1 -1
  59. package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
  60. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  61. package/build/components/block-toolbar/index.js +12 -11
  62. package/build/components/block-toolbar/index.js.map +1 -1
  63. package/build/components/block-toolbar/shuffle.js +6 -2
  64. package/build/components/block-toolbar/shuffle.js.map +1 -1
  65. package/build/components/block-tools/block-selection-button.js +8 -2
  66. package/build/components/block-tools/block-selection-button.js.map +1 -1
  67. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  68. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  69. package/build/components/block-tools/insertion-point.js +14 -3
  70. package/build/components/block-tools/insertion-point.js.map +1 -1
  71. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  72. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  73. package/build/components/block-tools/use-show-block-tools.js +2 -1
  74. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  75. package/build/components/block-tools/zoom-out-mode-inserters.js +4 -5
  76. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  77. package/build/components/block-tools/zoom-out-popover.js +3 -4
  78. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-toolbar.js +14 -5
  80. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  81. package/build/components/block-variation-picker/index.js +4 -1
  82. package/build/components/block-variation-picker/index.js.map +1 -1
  83. package/build/components/block-variation-transforms/index.js +4 -1
  84. package/build/components/block-variation-transforms/index.js.map +1 -1
  85. package/build/components/border-radius-control/index.js +1 -0
  86. package/build/components/border-radius-control/index.js.map +1 -1
  87. package/build/components/button-block-appender/index.js +14 -3
  88. package/build/components/button-block-appender/index.js.map +1 -1
  89. package/build/components/colors-gradients/dropdown.js +4 -1
  90. package/build/components/colors-gradients/dropdown.js.map +1 -1
  91. package/build/components/content-lock/index.js +13 -0
  92. package/build/components/content-lock/index.js.map +1 -0
  93. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  94. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  95. package/build/components/convert-to-group-buttons/index.js +1 -1
  96. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  97. package/build/components/date-format-picker/index.js +2 -0
  98. package/build/components/date-format-picker/index.js.map +1 -1
  99. package/build/components/editor-styles/index.js +4 -3
  100. package/build/components/editor-styles/index.js.map +1 -1
  101. package/build/components/font-appearance-control/index.js +3 -0
  102. package/build/components/font-appearance-control/index.js.map +1 -1
  103. package/build/components/font-family/index.js +3 -0
  104. package/build/components/font-family/index.js.map +1 -1
  105. package/build/components/global-styles/background-panel.js +118 -50
  106. package/build/components/global-styles/background-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +8 -5
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/color-panel.native.js +1 -1
  110. package/build/components/global-styles/color-panel.native.js.map +1 -1
  111. package/build/components/global-styles/dimensions-panel.js +34 -37
  112. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  113. package/build/components/global-styles/filters-panel.js +4 -1
  114. package/build/components/global-styles/filters-panel.js.map +1 -1
  115. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  116. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  117. package/build/components/global-styles/hooks.js +0 -7
  118. package/build/components/global-styles/hooks.js.map +1 -1
  119. package/build/components/global-styles/index.js +0 -6
  120. package/build/components/global-styles/index.js.map +1 -1
  121. package/build/components/global-styles/shadow-panel-components.js +13 -7
  122. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  123. package/build/components/global-styles/typography-utils.js +17 -6
  124. package/build/components/global-styles/typography-utils.js.map +1 -1
  125. package/build/components/global-styles/use-global-styles-output.js +3 -3
  126. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  127. package/build/components/global-styles/utils.js +11 -29
  128. package/build/components/global-styles/utils.js.map +1 -1
  129. package/build/components/grid/grid-item-movers.js +2 -2
  130. package/build/components/grid/grid-item-movers.js.map +1 -1
  131. package/build/components/grid/grid-visualizer.js +20 -5
  132. package/build/components/grid/grid-visualizer.js.map +1 -1
  133. package/build/components/height-control/index.js +1 -0
  134. package/build/components/height-control/index.js.map +1 -1
  135. package/build/components/iframe/index.js +8 -6
  136. package/build/components/iframe/index.js.map +1 -1
  137. package/build/components/image-editor/zoom-dropdown.js +11 -7
  138. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  139. package/build/components/inner-blocks/button-block-appender.js +8 -8
  140. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  141. package/build/components/inner-blocks/default-block-appender.js +7 -25
  142. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  143. package/build/components/inner-blocks/index.js +8 -12
  144. package/build/components/inner-blocks/index.js.map +1 -1
  145. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  146. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  147. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  148. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  149. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  150. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  151. package/build/components/inserter/media-tab/hooks.js +3 -3
  152. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  153. package/build/components/inserter/media-tab/media-list.js +1 -4
  154. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  155. package/build/components/inserter/media-tab/media-preview.js +8 -2
  156. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  157. package/build/components/inserter/media-tab/media-tab.js +4 -1
  158. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  159. package/build/components/inserter/menu.js +14 -13
  160. package/build/components/inserter/menu.js.map +1 -1
  161. package/build/components/inserter/quick-inserter.js +8 -1
  162. package/build/components/inserter/quick-inserter.js.map +1 -1
  163. package/build/components/inserter-list-item/index.js +4 -4
  164. package/build/components/inserter-list-item/index.js.map +1 -1
  165. package/build/components/inserter-listbox/index.js +3 -7
  166. package/build/components/inserter-listbox/index.js.map +1 -1
  167. package/build/components/inserter-listbox/item.js +4 -1
  168. package/build/components/inserter-listbox/item.js.map +1 -1
  169. package/build/components/inspector-controls/groups.js +2 -0
  170. package/build/components/inspector-controls/groups.js.map +1 -1
  171. package/build/components/inspector-controls-tabs/index.js +4 -1
  172. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  173. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  174. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  175. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  176. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  177. package/build/components/inspector-popover-header/index.js +8 -2
  178. package/build/components/inspector-popover-header/index.js.map +1 -1
  179. package/build/components/letter-spacing-control/index.js +7 -4
  180. package/build/components/letter-spacing-control/index.js.map +1 -1
  181. package/build/components/line-height-control/index.js +3 -0
  182. package/build/components/line-height-control/index.js.map +1 -1
  183. package/build/components/link-control/index.js +19 -10
  184. package/build/components/link-control/index.js.map +1 -1
  185. package/build/components/link-control/settings-drawer.js +4 -1
  186. package/build/components/link-control/settings-drawer.js.map +1 -1
  187. package/build/components/list-view/block-select-button.js +4 -1
  188. package/build/components/list-view/block-select-button.js.map +1 -1
  189. package/build/components/media-placeholder/index.js +36 -10
  190. package/build/components/media-placeholder/index.js.map +1 -1
  191. package/build/components/media-replace-flow/index.js +8 -1
  192. package/build/components/media-replace-flow/index.js.map +1 -1
  193. package/build/components/media-upload/index.native.js +4 -1
  194. package/build/components/media-upload/index.native.js.map +1 -1
  195. package/build/components/multi-selection-inspector/index.js +12 -12
  196. package/build/components/multi-selection-inspector/index.js.map +1 -1
  197. package/build/components/provider/use-block-sync.js +19 -19
  198. package/build/components/provider/use-block-sync.js.map +1 -1
  199. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  200. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  201. package/build/components/rich-text/index.js +38 -30
  202. package/build/components/rich-text/index.js.map +1 -1
  203. package/build/components/rich-text/use-mark-persistent.js +5 -5
  204. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  205. package/build/components/skip-to-selected-block/index.js +4 -1
  206. package/build/components/skip-to-selected-block/index.js.map +1 -1
  207. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  208. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  209. package/build/components/text-alignment-control/index.js +13 -8
  210. package/build/components/text-alignment-control/index.js.map +1 -1
  211. package/build/components/text-decoration-control/index.js +13 -8
  212. package/build/components/text-decoration-control/index.js.map +1 -1
  213. package/build/components/text-transform-control/index.js +13 -8
  214. package/build/components/text-transform-control/index.js.map +1 -1
  215. package/build/components/tool-selector/index.js +4 -1
  216. package/build/components/tool-selector/index.js.map +1 -1
  217. package/build/components/url-input/button.js +12 -3
  218. package/build/components/url-input/button.js.map +1 -1
  219. package/build/components/url-input/index.js +4 -1
  220. package/build/components/url-input/index.js.map +1 -1
  221. package/build/components/url-popover/image-url-input-ui.js +2 -0
  222. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  223. package/build/components/use-block-drop-zone/index.js +12 -2
  224. package/build/components/use-block-drop-zone/index.js.map +1 -1
  225. package/build/components/writing-flow/index.js +2 -1
  226. package/build/components/writing-flow/index.js.map +1 -1
  227. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  228. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  229. package/build/components/writing-flow/use-event-redirect.js +66 -0
  230. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  231. package/build/components/writing-flow/use-input.js +31 -1
  232. package/build/components/writing-flow/use-input.js.map +1 -1
  233. package/build/components/writing-flow/use-select-all.js +14 -1
  234. package/build/components/writing-flow/use-select-all.js.map +1 -1
  235. package/build/components/writing-flow/use-selection-observer.js +20 -6
  236. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  237. package/build/components/writing-flow/use-tab-nav.js +4 -4
  238. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  239. package/build/components/writing-flow/utils.js +27 -0
  240. package/build/components/writing-flow/utils.js.map +1 -1
  241. package/build/components/writing-mode-control/index.js +13 -8
  242. package/build/components/writing-mode-control/index.js.map +1 -1
  243. package/build/hooks/background.js +19 -23
  244. package/build/hooks/background.js.map +1 -1
  245. package/build/hooks/block-bindings.js +64 -103
  246. package/build/hooks/block-bindings.js.map +1 -1
  247. package/build/hooks/content-lock-ui.js +8 -26
  248. package/build/hooks/content-lock-ui.js.map +1 -1
  249. package/build/hooks/duotone.js +0 -4
  250. package/build/hooks/duotone.js.map +1 -1
  251. package/build/hooks/layout.js +4 -1
  252. package/build/hooks/layout.js.map +1 -1
  253. package/build/hooks/spacing-visualizer.js +3 -3
  254. package/build/hooks/spacing-visualizer.js.map +1 -1
  255. package/build/hooks/style.js +1 -5
  256. package/build/hooks/style.js.map +1 -1
  257. package/build/hooks/use-bindings-attributes.js +19 -20
  258. package/build/hooks/use-bindings-attributes.js.map +1 -1
  259. package/build/hooks/use-zoom-out.js +7 -7
  260. package/build/hooks/use-zoom-out.js.map +1 -1
  261. package/build/layouts/constrained.js +42 -41
  262. package/build/layouts/constrained.js.map +1 -1
  263. package/build/layouts/flex.js +6 -1
  264. package/build/layouts/flex.js.map +1 -1
  265. package/build/layouts/grid.js +3 -0
  266. package/build/layouts/grid.js.map +1 -1
  267. package/build/layouts/utils.js +1 -7
  268. package/build/layouts/utils.js.map +1 -1
  269. package/build/private-apis.js +4 -1
  270. package/build/private-apis.js.map +1 -1
  271. package/build/store/actions.js +2 -7
  272. package/build/store/actions.js.map +1 -1
  273. package/build/store/private-actions.js +1 -0
  274. package/build/store/private-actions.js.map +1 -1
  275. package/build/store/private-keys.js +2 -1
  276. package/build/store/private-keys.js.map +1 -1
  277. package/build/store/private-selectors.js +39 -11
  278. package/build/store/private-selectors.js.map +1 -1
  279. package/build/store/reducer.js +2 -0
  280. package/build/store/reducer.js.map +1 -1
  281. package/build/store/selectors.js +19 -43
  282. package/build/store/selectors.js.map +1 -1
  283. package/build/store/utils.js +48 -0
  284. package/build/store/utils.js.map +1 -1
  285. package/build/utils/block-bindings.js +117 -0
  286. package/build/utils/block-bindings.js.map +1 -0
  287. package/build/utils/dom.js +101 -0
  288. package/build/utils/dom.js.map +1 -1
  289. package/build/utils/get-font-styles-and-weights.js +4 -4
  290. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  291. package/build/utils/transform-styles/index.js +120 -16
  292. package/build/utils/transform-styles/index.js.map +1 -1
  293. package/build-module/autocompleters/block.js +1 -1
  294. package/build-module/autocompleters/block.js.map +1 -1
  295. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  296. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  297. package/build-module/components/block-breadcrumb/index.js +8 -2
  298. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  299. package/build-module/components/block-canvas/index.js +9 -1
  300. package/build-module/components/block-canvas/index.js.map +1 -1
  301. package/build-module/components/block-compare/block-view.js +4 -1
  302. package/build-module/components/block-compare/block-view.js.map +1 -1
  303. package/build-module/components/block-draggable/index.js +4 -4
  304. package/build-module/components/block-draggable/index.js.map +1 -1
  305. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  306. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  307. package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
  308. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  309. package/build-module/components/block-inspector/index.js +27 -9
  310. package/build-module/components/block-inspector/index.js.map +1 -1
  311. package/build-module/components/block-list/block-invalid-warning.js +6 -3
  312. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  313. package/build-module/components/block-list/block.js +5 -1
  314. package/build-module/components/block-list/block.js.map +1 -1
  315. package/build-module/components/block-list/use-block-props/index.js +7 -3
  316. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  317. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  318. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  319. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
  320. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  321. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  322. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  323. package/build-module/components/block-lock/toolbar.js +3 -3
  324. package/build-module/components/block-lock/toolbar.js.map +1 -1
  325. package/build-module/components/block-mover/button.js +4 -1
  326. package/build-module/components/block-mover/button.js.map +1 -1
  327. package/build-module/components/block-mover/index.js +4 -1
  328. package/build-module/components/block-mover/index.js.map +1 -1
  329. package/build-module/components/block-navigation/dropdown.js +4 -1
  330. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  331. package/build-module/components/block-pattern-setup/index.js +1 -4
  332. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  333. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  334. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  335. package/build-module/components/block-patterns-list/index.js +11 -14
  336. package/build-module/components/block-patterns-list/index.js.map +1 -1
  337. package/build-module/components/block-patterns-paging/index.js +12 -3
  338. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  339. package/build-module/components/block-popover/index.js +2 -15
  340. package/build-module/components/block-popover/index.js.map +1 -1
  341. package/build-module/components/block-quick-navigation/index.js +4 -1
  342. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  343. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  344. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  345. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  346. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  347. package/build-module/components/block-switcher/index.js +22 -17
  348. package/build-module/components/block-switcher/index.js.map +1 -1
  349. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
  350. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  351. package/build-module/components/block-toolbar/index.js +12 -11
  352. package/build-module/components/block-toolbar/index.js.map +1 -1
  353. package/build-module/components/block-toolbar/shuffle.js +6 -2
  354. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  355. package/build-module/components/block-tools/block-selection-button.js +8 -2
  356. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  357. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  358. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  359. package/build-module/components/block-tools/insertion-point.js +14 -3
  360. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  361. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  362. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  363. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  364. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  365. package/build-module/components/block-tools/zoom-out-mode-inserters.js +4 -5
  366. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  367. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  368. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  369. package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
  370. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  371. package/build-module/components/block-variation-picker/index.js +4 -1
  372. package/build-module/components/block-variation-picker/index.js.map +1 -1
  373. package/build-module/components/block-variation-transforms/index.js +4 -1
  374. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  375. package/build-module/components/border-radius-control/index.js +1 -0
  376. package/build-module/components/border-radius-control/index.js.map +1 -1
  377. package/build-module/components/button-block-appender/index.js +15 -4
  378. package/build-module/components/button-block-appender/index.js.map +1 -1
  379. package/build-module/components/colors-gradients/dropdown.js +4 -1
  380. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  381. package/build-module/components/content-lock/index.js +2 -0
  382. package/build-module/components/content-lock/index.js.map +1 -0
  383. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  384. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  385. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  386. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  387. package/build-module/components/date-format-picker/index.js +2 -0
  388. package/build-module/components/date-format-picker/index.js.map +1 -1
  389. package/build-module/components/editor-styles/index.js +4 -3
  390. package/build-module/components/editor-styles/index.js.map +1 -1
  391. package/build-module/components/font-appearance-control/index.js +3 -0
  392. package/build-module/components/font-appearance-control/index.js.map +1 -1
  393. package/build-module/components/font-family/index.js +3 -0
  394. package/build-module/components/font-family/index.js.map +1 -1
  395. package/build-module/components/global-styles/background-panel.js +121 -53
  396. package/build-module/components/global-styles/background-panel.js.map +1 -1
  397. package/build-module/components/global-styles/color-panel.js +7 -4
  398. package/build-module/components/global-styles/color-panel.js.map +1 -1
  399. package/build-module/components/global-styles/color-panel.native.js +2 -2
  400. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  401. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  402. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  403. package/build-module/components/global-styles/filters-panel.js +4 -1
  404. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  405. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  406. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  407. package/build-module/components/global-styles/hooks.js +0 -6
  408. package/build-module/components/global-styles/hooks.js.map +1 -1
  409. package/build-module/components/global-styles/index.js +1 -1
  410. package/build-module/components/global-styles/index.js.map +1 -1
  411. package/build-module/components/global-styles/shadow-panel-components.js +13 -7
  412. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  413. package/build-module/components/global-styles/typography-utils.js +17 -6
  414. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  415. package/build-module/components/global-styles/use-global-styles-output.js +5 -5
  416. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  417. package/build-module/components/global-styles/utils.js +11 -28
  418. package/build-module/components/global-styles/utils.js.map +1 -1
  419. package/build-module/components/grid/grid-item-movers.js +3 -3
  420. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  421. package/build-module/components/grid/grid-visualizer.js +20 -5
  422. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  423. package/build-module/components/height-control/index.js +1 -0
  424. package/build-module/components/height-control/index.js.map +1 -1
  425. package/build-module/components/iframe/index.js +8 -6
  426. package/build-module/components/iframe/index.js.map +1 -1
  427. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  428. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  429. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  430. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  431. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  432. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  433. package/build-module/components/inner-blocks/index.js +8 -12
  434. package/build-module/components/inner-blocks/index.js.map +1 -1
  435. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  436. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  437. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  438. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  439. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  440. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  441. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  442. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  443. package/build-module/components/inserter/media-tab/media-list.js +1 -4
  444. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  445. package/build-module/components/inserter/media-tab/media-preview.js +8 -2
  446. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  447. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  448. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  449. package/build-module/components/inserter/menu.js +14 -13
  450. package/build-module/components/inserter/menu.js.map +1 -1
  451. package/build-module/components/inserter/quick-inserter.js +9 -2
  452. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  453. package/build-module/components/inserter-list-item/index.js +4 -4
  454. package/build-module/components/inserter-list-item/index.js.map +1 -1
  455. package/build-module/components/inserter-listbox/index.js +3 -7
  456. package/build-module/components/inserter-listbox/index.js.map +1 -1
  457. package/build-module/components/inserter-listbox/item.js +4 -1
  458. package/build-module/components/inserter-listbox/item.js.map +1 -1
  459. package/build-module/components/inspector-controls/groups.js +2 -0
  460. package/build-module/components/inspector-controls/groups.js.map +1 -1
  461. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  462. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  463. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  464. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  465. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  466. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  467. package/build-module/components/inspector-popover-header/index.js +8 -2
  468. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  469. package/build-module/components/letter-spacing-control/index.js +7 -4
  470. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  471. package/build-module/components/line-height-control/index.js +3 -0
  472. package/build-module/components/line-height-control/index.js.map +1 -1
  473. package/build-module/components/link-control/index.js +19 -10
  474. package/build-module/components/link-control/index.js.map +1 -1
  475. package/build-module/components/link-control/settings-drawer.js +4 -1
  476. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  477. package/build-module/components/list-view/block-select-button.js +4 -1
  478. package/build-module/components/list-view/block-select-button.js.map +1 -1
  479. package/build-module/components/media-placeholder/index.js +36 -10
  480. package/build-module/components/media-placeholder/index.js.map +1 -1
  481. package/build-module/components/media-replace-flow/index.js +8 -1
  482. package/build-module/components/media-replace-flow/index.js.map +1 -1
  483. package/build-module/components/media-upload/index.native.js +4 -1
  484. package/build-module/components/media-upload/index.native.js.map +1 -1
  485. package/build-module/components/multi-selection-inspector/index.js +12 -12
  486. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  487. package/build-module/components/provider/use-block-sync.js +19 -19
  488. package/build-module/components/provider/use-block-sync.js.map +1 -1
  489. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  490. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  491. package/build-module/components/rich-text/index.js +39 -31
  492. package/build-module/components/rich-text/index.js.map +1 -1
  493. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  494. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  495. package/build-module/components/skip-to-selected-block/index.js +4 -1
  496. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  497. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  498. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  499. package/build-module/components/text-alignment-control/index.js +13 -8
  500. package/build-module/components/text-alignment-control/index.js.map +1 -1
  501. package/build-module/components/text-decoration-control/index.js +13 -8
  502. package/build-module/components/text-decoration-control/index.js.map +1 -1
  503. package/build-module/components/text-transform-control/index.js +13 -8
  504. package/build-module/components/text-transform-control/index.js.map +1 -1
  505. package/build-module/components/tool-selector/index.js +4 -1
  506. package/build-module/components/tool-selector/index.js.map +1 -1
  507. package/build-module/components/url-input/button.js +12 -3
  508. package/build-module/components/url-input/button.js.map +1 -1
  509. package/build-module/components/url-input/index.js +4 -1
  510. package/build-module/components/url-input/index.js.map +1 -1
  511. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  512. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  513. package/build-module/components/use-block-drop-zone/index.js +12 -2
  514. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  515. package/build-module/components/writing-flow/index.js +2 -1
  516. package/build-module/components/writing-flow/index.js.map +1 -1
  517. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  518. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  519. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  520. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  521. package/build-module/components/writing-flow/use-input.js +31 -1
  522. package/build-module/components/writing-flow/use-input.js.map +1 -1
  523. package/build-module/components/writing-flow/use-select-all.js +14 -1
  524. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  525. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  526. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  527. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  528. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  529. package/build-module/components/writing-flow/utils.js +26 -0
  530. package/build-module/components/writing-flow/utils.js.map +1 -1
  531. package/build-module/components/writing-mode-control/index.js +13 -8
  532. package/build-module/components/writing-mode-control/index.js.map +1 -1
  533. package/build-module/hooks/background.js +19 -23
  534. package/build-module/hooks/background.js.map +1 -1
  535. package/build-module/hooks/block-bindings.js +66 -105
  536. package/build-module/hooks/block-bindings.js.map +1 -1
  537. package/build-module/hooks/content-lock-ui.js +10 -30
  538. package/build-module/hooks/content-lock-ui.js.map +1 -1
  539. package/build-module/hooks/duotone.js +0 -4
  540. package/build-module/hooks/duotone.js.map +1 -1
  541. package/build-module/hooks/layout.js +4 -1
  542. package/build-module/hooks/layout.js.map +1 -1
  543. package/build-module/hooks/spacing-visualizer.js +3 -3
  544. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  545. package/build-module/hooks/style.js +1 -5
  546. package/build-module/hooks/style.js.map +1 -1
  547. package/build-module/hooks/use-bindings-attributes.js +19 -20
  548. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  549. package/build-module/hooks/use-zoom-out.js +7 -7
  550. package/build-module/hooks/use-zoom-out.js.map +1 -1
  551. package/build-module/layouts/constrained.js +44 -43
  552. package/build-module/layouts/constrained.js.map +1 -1
  553. package/build-module/layouts/flex.js +6 -1
  554. package/build-module/layouts/flex.js.map +1 -1
  555. package/build-module/layouts/grid.js +3 -0
  556. package/build-module/layouts/grid.js.map +1 -1
  557. package/build-module/layouts/utils.js +1 -7
  558. package/build-module/layouts/utils.js.map +1 -1
  559. package/build-module/private-apis.js +5 -2
  560. package/build-module/private-apis.js.map +1 -1
  561. package/build-module/store/actions.js +2 -7
  562. package/build-module/store/actions.js.map +1 -1
  563. package/build-module/store/private-actions.js +1 -0
  564. package/build-module/store/private-actions.js.map +1 -1
  565. package/build-module/store/private-keys.js +1 -0
  566. package/build-module/store/private-keys.js.map +1 -1
  567. package/build-module/store/private-selectors.js +36 -12
  568. package/build-module/store/private-selectors.js.map +1 -1
  569. package/build-module/store/reducer.js +2 -0
  570. package/build-module/store/reducer.js.map +1 -1
  571. package/build-module/store/selectors.js +22 -46
  572. package/build-module/store/selectors.js.map +1 -1
  573. package/build-module/store/utils.js +46 -0
  574. package/build-module/store/utils.js.map +1 -1
  575. package/build-module/utils/block-bindings.js +110 -0
  576. package/build-module/utils/block-bindings.js.map +1 -0
  577. package/build-module/utils/dom.js +99 -0
  578. package/build-module/utils/dom.js.map +1 -1
  579. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  580. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  581. package/build-module/utils/transform-styles/index.js +120 -16
  582. package/build-module/utils/transform-styles/index.js.map +1 -1
  583. package/build-style/content-rtl.css +9 -25
  584. package/build-style/content.css +9 -25
  585. package/build-style/default-editor-styles-rtl.css +2 -2
  586. package/build-style/default-editor-styles.css +2 -2
  587. package/build-style/style-rtl.css +53 -76
  588. package/build-style/style.css +53 -76
  589. package/build-types/utils/dom.d.ts +25 -0
  590. package/build-types/utils/dom.d.ts.map +1 -1
  591. package/package.json +34 -32
  592. package/src/autocompleters/block.js +2 -1
  593. package/src/components/block-alignment-matrix-control/index.js +1 -1
  594. package/src/components/block-breadcrumb/index.js +4 -0
  595. package/src/components/block-breadcrumb/style.scss +1 -1
  596. package/src/components/block-canvas/index.js +9 -1
  597. package/src/components/block-compare/block-view.js +7 -1
  598. package/src/components/block-draggable/content.scss +1 -1
  599. package/src/components/block-draggable/index.js +4 -4
  600. package/src/components/block-draggable/style.scss +1 -1
  601. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  602. package/src/components/block-edit/multiple-usage-warning.js +4 -0
  603. package/src/components/block-inspector/index.js +22 -6
  604. package/src/components/block-list/block-invalid-warning.js +4 -2
  605. package/src/components/block-list/block.js +6 -2
  606. package/src/components/block-list/content.scss +7 -16
  607. package/src/components/block-list/use-block-props/index.js +5 -2
  608. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  609. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
  610. package/src/components/block-list/use-in-between-inserter.js +17 -5
  611. package/src/components/block-lock/style.scss +1 -1
  612. package/src/components/block-lock/toolbar.js +3 -3
  613. package/src/components/block-mover/button.js +2 -0
  614. package/src/components/block-mover/index.js +2 -0
  615. package/src/components/block-mover/style.scss +1 -1
  616. package/src/components/block-navigation/dropdown.js +2 -0
  617. package/src/components/block-pattern-setup/index.js +3 -7
  618. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  619. package/src/components/block-pattern-setup/style.scss +2 -2
  620. package/src/components/block-patterns-list/index.js +15 -13
  621. package/src/components/block-patterns-list/style.scss +2 -2
  622. package/src/components/block-patterns-paging/index.js +6 -0
  623. package/src/components/block-popover/index.js +7 -28
  624. package/src/components/block-popover/style.scss +1 -1
  625. package/src/components/block-quick-navigation/index.js +2 -0
  626. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  627. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  628. package/src/components/block-settings-menu-controls/index.js +7 -1
  629. package/src/components/block-switcher/index.js +26 -20
  630. package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
  631. package/src/components/block-switcher/style.scss +5 -6
  632. package/src/components/block-toolbar/index.js +17 -8
  633. package/src/components/block-toolbar/shuffle.js +9 -7
  634. package/src/components/block-tools/block-selection-button.js +4 -0
  635. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  636. package/src/components/block-tools/insertion-point.js +11 -0
  637. package/src/components/block-tools/style.scss +4 -5
  638. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  639. package/src/components/block-tools/use-show-block-tools.js +4 -1
  640. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -2
  641. package/src/components/block-tools/zoom-out-popover.js +3 -7
  642. package/src/components/block-tools/zoom-out-toolbar.js +20 -6
  643. package/src/components/block-variation-picker/README.md +2 -2
  644. package/src/components/block-variation-picker/index.js +6 -1
  645. package/src/components/block-variation-transforms/index.js +2 -0
  646. package/src/components/block-variation-transforms/style.scss +2 -2
  647. package/src/components/border-radius-control/index.js +1 -0
  648. package/src/components/border-radius-control/style.scss +0 -10
  649. package/src/components/button-block-appender/content.scss +0 -1
  650. package/src/components/button-block-appender/index.js +14 -3
  651. package/src/components/color-palette/test/control.js +15 -2
  652. package/src/components/colors-gradients/dropdown.js +5 -1
  653. package/src/components/colors-gradients/style.scss +4 -4
  654. package/src/components/content-lock/index.js +1 -0
  655. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  656. package/src/components/convert-to-group-buttons/index.js +1 -1
  657. package/src/components/date-format-picker/index.js +2 -0
  658. package/src/components/default-block-appender/content.scss +0 -1
  659. package/src/components/editor-styles/index.js +4 -3
  660. package/src/components/font-appearance-control/index.js +3 -0
  661. package/src/components/font-family/README.md +11 -2
  662. package/src/components/font-family/index.js +3 -0
  663. package/src/components/global-styles/background-panel.js +135 -64
  664. package/src/components/global-styles/color-panel.js +8 -4
  665. package/src/components/global-styles/color-panel.native.js +2 -2
  666. package/src/components/global-styles/dimensions-panel.js +40 -40
  667. package/src/components/global-styles/filters-panel.js +5 -1
  668. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  669. package/src/components/global-styles/hooks.js +0 -5
  670. package/src/components/global-styles/index.js +0 -1
  671. package/src/components/global-styles/shadow-panel-components.js +12 -8
  672. package/src/components/global-styles/style.scss +16 -6
  673. package/src/components/global-styles/test/typography-utils.js +96 -5
  674. package/src/components/global-styles/test/use-global-styles-output.js +20 -4
  675. package/src/components/global-styles/test/utils.js +10 -0
  676. package/src/components/global-styles/typography-utils.js +22 -6
  677. package/src/components/global-styles/use-global-styles-output.js +5 -6
  678. package/src/components/global-styles/utils.js +11 -35
  679. package/src/components/grid/grid-item-movers.js +3 -3
  680. package/src/components/grid/grid-visualizer.js +22 -7
  681. package/src/components/grid/style.scss +1 -1
  682. package/src/components/height-control/index.js +1 -0
  683. package/src/components/iframe/index.js +8 -6
  684. package/src/components/image-editor/zoom-dropdown.js +17 -9
  685. package/src/components/inner-blocks/button-block-appender.js +5 -7
  686. package/src/components/inner-blocks/default-block-appender.js +4 -23
  687. package/src/components/inner-blocks/index.js +11 -10
  688. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  689. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  690. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  691. package/src/components/inserter/media-tab/hooks.js +3 -3
  692. package/src/components/inserter/media-tab/media-list.js +1 -4
  693. package/src/components/inserter/media-tab/media-preview.js +12 -2
  694. package/src/components/inserter/media-tab/media-tab.js +2 -0
  695. package/src/components/inserter/menu.js +13 -22
  696. package/src/components/inserter/quick-inserter.js +6 -1
  697. package/src/components/inserter/style.scss +7 -9
  698. package/src/components/inserter-list-item/index.js +4 -4
  699. package/src/components/inserter-list-item/style.scss +2 -3
  700. package/src/components/inserter-listbox/index.js +2 -8
  701. package/src/components/inserter-listbox/item.js +9 -1
  702. package/src/components/inspector-controls/groups.js +2 -0
  703. package/src/components/inspector-controls-tabs/index.js +2 -0
  704. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  705. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  706. package/src/components/inspector-popover-header/index.js +4 -0
  707. package/src/components/letter-spacing-control/README.md +8 -1
  708. package/src/components/letter-spacing-control/index.js +7 -4
  709. package/src/components/line-height-control/README.md +7 -0
  710. package/src/components/line-height-control/index.js +3 -0
  711. package/src/components/link-control/index.js +17 -8
  712. package/src/components/link-control/settings-drawer.js +2 -0
  713. package/src/components/link-control/style.scss +2 -4
  714. package/src/components/list-view/block-select-button.js +2 -0
  715. package/src/components/list-view/style.scss +14 -16
  716. package/src/components/media-placeholder/index.js +26 -7
  717. package/src/components/media-replace-flow/index.js +12 -1
  718. package/src/components/media-upload/README.md +2 -0
  719. package/src/components/media-upload/index.native.js +2 -0
  720. package/src/components/multi-selection-inspector/index.js +8 -9
  721. package/src/components/provider/use-block-sync.js +20 -20
  722. package/src/components/responsive-block-control/README.md +3 -26
  723. package/src/components/responsive-block-control/test/index.js +1 -0
  724. package/src/components/rich-text/content.scss +1 -1
  725. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  726. package/src/components/rich-text/index.js +54 -41
  727. package/src/components/rich-text/style.scss +1 -1
  728. package/src/components/rich-text/use-mark-persistent.js +5 -5
  729. package/src/components/skip-to-selected-block/index.js +2 -0
  730. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -4
  731. package/src/components/spacing-sizes-control/style.scss +17 -16
  732. package/src/components/text-alignment-control/index.js +20 -8
  733. package/src/components/text-decoration-control/index.js +20 -8
  734. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  735. package/src/components/text-transform-control/index.js +20 -8
  736. package/src/components/text-transform-control/stories/index.story.js +0 -4
  737. package/src/components/tool-selector/index.js +2 -0
  738. package/src/components/url-input/button.js +6 -0
  739. package/src/components/url-input/index.js +2 -0
  740. package/src/components/url-input/style.scss +2 -2
  741. package/src/components/url-popover/image-url-input-ui.js +2 -0
  742. package/src/components/url-popover/stories/index.story.js +7 -1
  743. package/src/components/use-block-drop-zone/index.js +21 -3
  744. package/src/components/warning/content.scss +3 -10
  745. package/src/components/writing-flow/index.js +2 -0
  746. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  747. package/src/components/writing-flow/use-event-redirect.js +72 -0
  748. package/src/components/writing-flow/use-input.js +36 -1
  749. package/src/components/writing-flow/use-select-all.js +18 -1
  750. package/src/components/writing-flow/use-selection-observer.js +23 -3
  751. package/src/components/writing-flow/use-tab-nav.js +4 -4
  752. package/src/components/writing-flow/utils.js +30 -0
  753. package/src/components/writing-mode-control/index.js +20 -8
  754. package/src/hooks/background.js +21 -27
  755. package/src/hooks/block-bindings.js +64 -122
  756. package/src/hooks/block-bindings.scss +2 -10
  757. package/src/hooks/content-lock-ui.js +11 -36
  758. package/src/hooks/duotone.js +0 -4
  759. package/src/hooks/layout.js +2 -0
  760. package/src/hooks/layout.scss +3 -11
  761. package/src/hooks/spacing-visualizer.js +3 -3
  762. package/src/hooks/style.js +1 -4
  763. package/src/hooks/test/background.js +60 -0
  764. package/src/hooks/use-bindings-attributes.js +23 -24
  765. package/src/hooks/use-zoom-out.js +7 -7
  766. package/src/layouts/constrained.js +51 -47
  767. package/src/layouts/flex.js +4 -0
  768. package/src/layouts/grid.js +3 -0
  769. package/src/layouts/test/grid.js +2 -2
  770. package/src/layouts/test/utils.js +6 -8
  771. package/src/layouts/utils.js +1 -9
  772. package/src/private-apis.js +4 -0
  773. package/src/store/actions.js +4 -6
  774. package/src/store/private-actions.js +1 -0
  775. package/src/store/private-keys.js +1 -0
  776. package/src/store/private-selectors.js +44 -7
  777. package/src/store/reducer.js +2 -0
  778. package/src/store/selectors.js +32 -51
  779. package/src/store/test/private-selectors.js +89 -0
  780. package/src/store/utils.js +50 -0
  781. package/src/style.scss +0 -1
  782. package/src/utils/block-bindings.js +97 -0
  783. package/src/utils/dom.js +117 -0
  784. package/src/utils/get-font-styles-and-weights.js +12 -4
  785. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  786. package/src/utils/test/transform-styles.js +284 -26
  787. package/src/utils/transform-styles/index.js +132 -21
  788. package/tsconfig.json +1 -0
  789. package/tsconfig.tsbuildinfo +1 -1
  790. package/build/components/global-styles/theme-file-uri-utils.js +0 -21
  791. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  792. package/build/components/inner-blocks/with-client-id.js +0 -28
  793. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  794. package/build/components/segmented-text-control/index.js +0 -63
  795. package/build/components/segmented-text-control/index.js.map +0 -1
  796. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -15
  797. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  798. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  799. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  800. package/build-module/components/segmented-text-control/index.js +0 -58
  801. package/build-module/components/segmented-text-control/index.js.map +0 -1
  802. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -41
  803. package/src/components/global-styles/theme-file-uri-utils.js +0 -18
  804. package/src/components/inner-blocks/with-client-id.js +0 -19
  805. package/src/components/segmented-text-control/index.js +0 -63
  806. package/src/components/segmented-text-control/style.scss +0 -15
  807. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -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();
@@ -242,8 +242,10 @@ function Iframe( {
242
242
  const isZoomedOut = scale !== 1;
243
243
 
244
244
  useEffect( () => {
245
- prevContainerWidth.current = containerWidth;
246
- }, [ containerWidth ] );
245
+ if ( ! isZoomedOut ) {
246
+ prevContainerWidthRef.current = containerWidth;
247
+ }
248
+ }, [ containerWidth, isZoomedOut ] );
247
249
 
248
250
  const disabledRef = useDisabled( { isDisabled: ! readonly } );
249
251
  const bodyRef = useMergeRefs( [
@@ -308,7 +310,7 @@ function Iframe( {
308
310
  '--wp-block-editor-iframe-zoom-out-scale',
309
311
  scale === 'default'
310
312
  ? Math.min( containerWidth, maxWidth ) /
311
- prevContainerWidth.current
313
+ prevContainerWidthRef.current
312
314
  : scale
313
315
  );
314
316
  iframeDocument.documentElement.style.setProperty(
@@ -329,7 +331,7 @@ function Iframe( {
329
331
  );
330
332
  iframeDocument.documentElement.style.setProperty(
331
333
  '--wp-block-editor-iframe-zoom-out-prev-container-width',
332
- `${ prevContainerWidth.current }px`
334
+ `${ prevContainerWidthRef.current }px`
333
335
  );
334
336
 
335
337
  return () => {
@@ -454,7 +456,7 @@ function Iframe( {
454
456
  '--wp-block-editor-iframe-zoom-out-container-width':
455
457
  isZoomedOut && `${ containerWidth }px`,
456
458
  '--wp-block-editor-iframe-zoom-out-prev-container-width':
457
- isZoomedOut && `${ prevContainerWidth.current }px`,
459
+ isZoomedOut && `${ prevContainerWidthRef.current }px`,
458
460
  } }
459
461
  >
460
462
  { iframe }
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { ToolbarButton, RangeControl, Dropdown } from '@wordpress/components';
4
+ import {
5
+ ToolbarButton,
6
+ RangeControl,
7
+ Dropdown,
8
+ __experimentalDropdownContentWrapper as DropdownContentWrapper,
9
+ } from '@wordpress/components';
5
10
  import { __ } from '@wordpress/i18n';
6
11
  import { search } from '@wordpress/icons';
7
12
 
@@ -27,14 +32,17 @@ export default function ZoomDropdown() {
27
32
  />
28
33
  ) }
29
34
  renderContent={ () => (
30
- <RangeControl
31
- __nextHasNoMarginBottom
32
- label={ __( 'Zoom' ) }
33
- min={ MIN_ZOOM }
34
- max={ MAX_ZOOM }
35
- value={ Math.round( zoom ) }
36
- onChange={ setZoom }
37
- />
35
+ <DropdownContentWrapper paddingSize="medium">
36
+ <RangeControl
37
+ __next40pxDefaultSize
38
+ __nextHasNoMarginBottom
39
+ label={ __( 'Zoom' ) }
40
+ min={ MIN_ZOOM }
41
+ max={ MAX_ZOOM }
42
+ value={ Math.round( zoom ) }
43
+ onChange={ setZoom }
44
+ />
45
+ </DropdownContentWrapper>
38
46
  ) }
39
47
  />
40
48
  );
@@ -7,15 +7,15 @@ import clsx from 'clsx';
7
7
  * Internal dependencies
8
8
  */
9
9
  import BaseButtonBlockAppender from '../button-block-appender';
10
- import withClientId from './with-client-id';
10
+ import { useBlockEditContext } from '../block-edit/context';
11
11
 
12
- export const ButtonBlockAppender = ( {
13
- clientId,
12
+ export default function ButtonBlockAppender( {
14
13
  showSeparator,
15
14
  isFloating,
16
15
  onAddBlock,
17
16
  isToggle,
18
- } ) => {
17
+ } ) {
18
+ const { clientId } = useBlockEditContext();
19
19
  return (
20
20
  <BaseButtonBlockAppender
21
21
  className={ clsx( {
@@ -27,6 +27,4 @@ export const ButtonBlockAppender = ( {
27
27
  onAddBlock={ onAddBlock }
28
28
  />
29
29
  );
30
- };
31
-
32
- export default withClientId( ButtonBlockAppender );
30
+ }
@@ -1,29 +1,10 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { compose } from '@wordpress/compose';
5
- import { withSelect } from '@wordpress/data';
6
-
7
1
  /**
8
2
  * Internal dependencies
9
3
  */
10
4
  import BaseDefaultBlockAppender from '../default-block-appender';
11
- import withClientId from './with-client-id';
12
- import { store as blockEditorStore } from '../../store';
5
+ import { useBlockEditContext } from '../block-edit/context';
13
6
 
14
- export const DefaultBlockAppender = ( { clientId } ) => {
7
+ export default function DefaultBlockAppender() {
8
+ const { clientId } = useBlockEditContext();
15
9
  return <BaseDefaultBlockAppender rootClientId={ clientId } />;
16
- };
17
-
18
- export default compose( [
19
- withClientId,
20
- withSelect( ( select, { clientId } ) => {
21
- const { getBlockOrder } = select( blockEditorStore );
22
-
23
- const blockClientIds = getBlockOrder( clientId );
24
-
25
- return {
26
- lastBlockClientId: blockClientIds[ blockClientIds.length - 1 ],
27
- };
28
- } ),
29
- ] )( DefaultBlockAppender );
10
+ }
@@ -203,16 +203,10 @@ 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
- // In zoom out mode, we want to disable the drop zone for the sections.
210
- // The inner blocks belonging to the section drop zone is
211
- // already disabled by the blocks themselves being disabled.
212
- if ( __unstableGetEditorMode() === 'zoom-out' ) {
213
- const { sectionRootClientId } = unlock( getSettings() );
214
- _isDropZoneDisabled = clientId !== sectionRootClientId;
215
- }
209
+
216
210
  if ( ! clientId ) {
217
211
  return { isDropZoneDisabled: _isDropZoneDisabled };
218
212
  }
@@ -225,8 +219,15 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
225
219
  const parentClientId = getBlockRootClientId( clientId );
226
220
  const [ defaultLayout ] = getBlockSettings( clientId, 'layout' );
227
221
 
228
- if ( _isDropZoneDisabled !== undefined ) {
229
- _isDropZoneDisabled = blockEditingMode === 'disabled';
222
+ _isDropZoneDisabled = blockEditingMode === 'disabled';
223
+
224
+ if ( __unstableGetEditorMode() === 'zoom-out' ) {
225
+ // In zoom out mode, we want to disable the drop zone for the sections.
226
+ // The inner blocks belonging to the section drop zone is
227
+ // already disabled by the blocks themselves being disabled.
228
+ const sectionRootClientId = getSectionRootClientId();
229
+
230
+ _isDropZoneDisabled = clientId !== sectionRootClientId;
230
231
  }
231
232
 
232
233
  return {
@@ -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"
@@ -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,7 +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
35
 
37
36
  const NOOP = () => {};
38
37
  function InserterMenu(
@@ -67,9 +66,16 @@ function InserterMenu(
67
66
  const [ patternFilter, setPatternFilter ] = useState( 'all' );
68
67
  const [ selectedMediaCategory, setSelectedMediaCategory ] =
69
68
  useState( null );
70
- const [ selectedTab, setSelectedTab ] = useState(
71
- __experimentalInitialTab
72
- );
69
+ function getInitialTab() {
70
+ if ( __experimentalInitialTab ) {
71
+ return __experimentalInitialTab;
72
+ }
73
+
74
+ if ( isZoomOutMode ) {
75
+ return 'patterns';
76
+ }
77
+ }
78
+ const [ selectedTab, setSelectedTab ] = useState( getInitialTab() );
73
79
 
74
80
  const [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =
75
81
  useInsertionPoint( {
@@ -95,12 +101,12 @@ function InserterMenu(
95
101
  window.requestAnimationFrame( () => {
96
102
  if (
97
103
  ! shouldFocusBlock &&
98
- ! blockTypesTabRef?.current.contains(
104
+ ! blockTypesTabRef.current?.contains(
99
105
  ref.current.ownerDocument.activeElement
100
106
  )
101
107
  ) {
102
108
  // There has been a focus loss, so focus the first button in the block types tab
103
- blockTypesTabRef?.current.querySelector( 'button' ).focus();
109
+ blockTypesTabRef.current?.querySelector( 'button' ).focus();
104
110
  }
105
111
  } );
106
112
  },
@@ -109,6 +115,7 @@ function InserterMenu(
109
115
 
110
116
  const onInsertPattern = useCallback(
111
117
  ( blocks, patternName ) => {
118
+ onToggleInsertionPoint( false );
112
119
  onInsertBlocks( blocks, { patternName } );
113
120
  onSelect();
114
121
  },
@@ -123,13 +130,6 @@ function InserterMenu(
123
130
  [ onToggleInsertionPoint, setHoveredItem ]
124
131
  );
125
132
 
126
- const onHoverPattern = useCallback(
127
- ( item ) => {
128
- onToggleInsertionPoint( !! item );
129
- },
130
- [ onToggleInsertionPoint ]
131
- );
132
-
133
133
  const onClickPatternCategory = useCallback(
134
134
  ( patternCategory, filter ) => {
135
135
  setSelectedPatternCategory( patternCategory );
@@ -146,11 +146,6 @@ function InserterMenu(
146
146
 
147
147
  const showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory;
148
148
 
149
- const showZoomOut =
150
- showPatternPanel && !! window.__experimentalEnableZoomedOutPatternsTab;
151
-
152
- useZoomOut( showZoomOut );
153
-
154
149
  const inserterSearch = useMemo( () => {
155
150
  if ( selectedTab === 'media' ) {
156
151
  return null;
@@ -176,7 +171,6 @@ function InserterMenu(
176
171
  filterValue={ delayedFilterValue }
177
172
  onSelect={ onSelect }
178
173
  onHover={ onHover }
179
- onHoverPattern={ onHoverPattern }
180
174
  rootClientId={ rootClientId }
181
175
  clientId={ clientId }
182
176
  isAppender={ isAppender }
@@ -199,7 +193,6 @@ function InserterMenu(
199
193
  delayedFilterValue,
200
194
  onSelect,
201
195
  onHover,
202
- onHoverPattern,
203
196
  shouldFocusBlock,
204
197
  clientId,
205
198
  rootClientId,
@@ -249,7 +242,6 @@ function InserterMenu(
249
242
  <PatternCategoryPreviews
250
243
  rootClientId={ destinationRootClientId }
251
244
  onInsert={ onInsertPattern }
252
- onHover={ onHoverPattern }
253
245
  category={ selectedPatternCategory }
254
246
  patternFilter={ patternFilter }
255
247
  showTitlesAsTooltip
@@ -259,7 +251,6 @@ function InserterMenu(
259
251
  );
260
252
  }, [
261
253
  destinationRootClientId,
262
- onHoverPattern,
263
254
  onInsertPattern,
264
255
  onClickPatternCategory,
265
256
  patternFilter,
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { useState, useEffect } from '@wordpress/element';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { Button, SearchControl } from '@wordpress/components';
12
- import { useSelect } from '@wordpress/data';
12
+ import { useDispatch, useSelect } from '@wordpress/data';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
@@ -82,6 +82,8 @@ export default function QuickInserter( {
82
82
  }
83
83
  }, [ setInserterIsOpened ] );
84
84
 
85
+ const { showInsertionPoint } = useDispatch( blockEditorStore );
86
+
85
87
  // When clicking Browse All select the appropriate block so as
86
88
  // the insertion point can work as expected.
87
89
  const onBrowseAll = () => {
@@ -91,6 +93,7 @@ export default function QuickInserter( {
91
93
  filterValue,
92
94
  onSelect,
93
95
  } );
96
+ showInsertionPoint( rootClientId, insertionIndex );
94
97
  };
95
98
 
96
99
  let maxBlockPatterns = 0;
@@ -138,6 +141,8 @@ export default function QuickInserter( {
138
141
 
139
142
  { setInserterIsOpened && (
140
143
  <Button
144
+ // TODO: Switch to `true` (40px size) if possible
145
+ __next40pxDefaultSize={ false }
141
146
  className="block-editor-inserter__quick-inserter-expand"
142
147
  onClick={ onBrowseAll }
143
148
  aria-label={ __(
@@ -36,7 +36,7 @@ $block-inserter-tabs-height: 44px;
36
36
  .components-popover__content {
37
37
  border: none;
38
38
  outline: none;
39
- box-shadow: $shadow-popover;
39
+ box-shadow: $elevation-x-small;
40
40
 
41
41
  .block-editor-inserter__quick-inserter > * {
42
42
  border-left: $border-width solid $gray-400;
@@ -44,12 +44,12 @@ $block-inserter-tabs-height: 44px;
44
44
 
45
45
  &:first-child {
46
46
  border-top: $border-width solid $gray-400;
47
- border-radius: $radius-block-ui $radius-block-ui 0 0;
47
+ border-radius: $radius-medium $radius-medium 0 0;
48
48
  }
49
49
 
50
50
  &:last-child {
51
51
  border-bottom: $border-width solid $gray-400;
52
- border-radius: 0 0 $radius-block-ui $radius-block-ui;
52
+ border-radius: 0 0 $radius-medium $radius-medium;
53
53
  }
54
54
 
55
55
  &.components-button {
@@ -276,7 +276,7 @@ $block-inserter-tabs-height: 44px;
276
276
  bottom: 0;
277
277
  left: 0;
278
278
  right: 0;
279
- border-radius: $radius-block-ui;
279
+ border-radius: $radius-small;
280
280
  opacity: 0.04;
281
281
  background: var(--wp-admin-theme-color);
282
282
  height: 100%;
@@ -285,7 +285,7 @@ $block-inserter-tabs-height: 44px;
285
285
 
286
286
  &:focus-visible,
287
287
  &:focus:not(:disabled) {
288
- border-radius: 2px;
288
+ border-radius: $radius-small;
289
289
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
290
290
  // Windows high contrast mode.
291
291
  outline: 2px solid transparent;
@@ -359,7 +359,7 @@ $block-inserter-tabs-height: 44px;
359
359
  min-height: $grid-unit-60 * 3;
360
360
  color: $gray-700;
361
361
  background: $gray-100;
362
- border-radius: $radius-block-ui;
362
+ border-radius: $radius-small;
363
363
  }
364
364
 
365
365
  .block-editor-inserter__tips {
@@ -577,7 +577,6 @@ $block-inserter-tabs-height: 44px;
577
577
 
578
578
  > button {
579
579
  background: $white;
580
- border-radius: $radius-block-ui;
581
580
  display: none;
582
581
 
583
582
  // These styles are important so as focus isn't lost
@@ -604,14 +603,13 @@ $block-inserter-tabs-height: 44px;
604
603
  display: flex;
605
604
  align-items: center;
606
605
  overflow: hidden;
607
- border-radius: 2px;
606
+ border-radius: $radius-small;
608
607
 
609
608
  > * {
610
609
  margin: 0 auto;
611
610
  max-width: 100%;
612
611
  outline: $border-width solid rgba($black, 0.1);
613
612
  outline-offset: -$border-width;
614
- border-radius: $radius-block-ui;
615
613
  }
616
614
 
617
615
  .block-editor-inserter__media-list__item-preview-spinner {
@@ -32,7 +32,7 @@ function InserterListItem( {
32
32
  isDraggable,
33
33
  ...props
34
34
  } ) {
35
- const isDragging = useRef( false );
35
+ const isDraggingRef = useRef( false );
36
36
  const itemIconStyle = item.icon
37
37
  ? {
38
38
  backgroundColor: item.icon.background,
@@ -70,14 +70,14 @@ function InserterListItem( {
70
70
  ) }
71
71
  draggable={ draggable }
72
72
  onDragStart={ ( event ) => {
73
- isDragging.current = true;
73
+ isDraggingRef.current = true;
74
74
  if ( onDragStart ) {
75
75
  onHover( null );
76
76
  onDragStart( event );
77
77
  }
78
78
  } }
79
79
  onDragEnd={ ( event ) => {
80
- isDragging.current = false;
80
+ isDraggingRef.current = false;
81
81
  if ( onDragEnd ) {
82
82
  onDragEnd( event );
83
83
  }
@@ -110,7 +110,7 @@ function InserterListItem( {
110
110
  }
111
111
  } }
112
112
  onMouseEnter={ () => {
113
- if ( isDragging.current ) {
113
+ if ( isDraggingRef.current ) {
114
114
  return;
115
115
  }
116
116
  onHover( item );
@@ -43,7 +43,6 @@
43
43
  cursor: pointer;
44
44
  background: transparent;
45
45
  word-break: break-word;
46
- border-radius: $radius-block-ui;
47
46
  transition: all 0.05s ease-in-out;
48
47
  @include reduce-motion("transition");
49
48
  position: relative;
@@ -72,7 +71,7 @@
72
71
  bottom: 0;
73
72
  left: 0;
74
73
  right: 0;
75
- border-radius: $radius-block-ui;
74
+ border-radius: $radius-small;
76
75
  opacity: 0.04;
77
76
  background: var(--wp-admin-theme-color);
78
77
  // This fixes drag-and-drop in Firefox.
@@ -97,7 +96,6 @@
97
96
 
98
97
  .block-editor-block-types-list__item-icon {
99
98
  padding: 12px 20px;
100
- border-radius: $radius-block-ui;
101
99
  color: $gray-900;
102
100
  transition: all 0.05s ease-in-out;
103
101
  @include reduce-motion("transition");
@@ -120,4 +118,5 @@
120
118
  .block-editor-block-types-list__item-title {
121
119
  padding: 4px 2px 8px;
122
120
  font-size: 12px;
121
+ hyphens: auto;
123
122
  }
@@ -12,17 +12,11 @@ export { default as InserterListboxGroup } from './group';
12
12
  export { default as InserterListboxRow } from './row';
13
13
  export { default as InserterListboxItem } from './item';
14
14
 
15
- const { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =
16
- unlock( componentsPrivateApis );
15
+ const { CompositeV2: Composite } = unlock( componentsPrivateApis );
17
16
 
18
17
  function InserterListbox( { children } ) {
19
- const store = useCompositeStore( {
20
- focusShift: true,
21
- focusWrap: 'horizontal',
22
- } );
23
-
24
18
  return (
25
- <Composite store={ store } render={ <></> }>
19
+ <Composite focusShift focusWrap="horizontal" render={ <></> }>
26
20
  { children }
27
21
  </Composite>
28
22
  );
@@ -42,7 +42,15 @@ function InserterListboxItem(
42
42
  if ( typeof children === 'function' ) {
43
43
  return children( propsWithTabIndex );
44
44
  }
45
- return <Button { ...propsWithTabIndex }>{ children }</Button>;
45
+ return (
46
+ <Button
47
+ // TODO: Switch to `true` (40px size) if possible
48
+ __next40pxDefaultSize={ false }
49
+ { ...propsWithTabIndex }
50
+ >
51
+ { children }
52
+ </Button>
53
+ );
46
54
  } }
47
55
  />
48
56
  );
@@ -5,6 +5,7 @@ import { createSlotFill } from '@wordpress/components';
5
5
 
6
6
  const InspectorControlsDefault = createSlotFill( 'InspectorControls' );
7
7
  const InspectorControlsAdvanced = createSlotFill( 'InspectorAdvancedControls' );
8
+ const InspectorControlsBindings = createSlotFill( 'InspectorControlsBindings' );
8
9
  const InspectorControlsBackground = createSlotFill(
9
10
  'InspectorControlsBackground'
10
11
  );
@@ -26,6 +27,7 @@ const groups = {
26
27
  default: InspectorControlsDefault,
27
28
  advanced: InspectorControlsAdvanced,
28
29
  background: InspectorControlsBackground,
30
+ bindings: InspectorControlsBindings,
29
31
  border: InspectorControlsBorder,
30
32
  color: InspectorControlsColor,
31
33
  dimensions: InspectorControlsDimensions,
@@ -49,6 +49,8 @@ export default function InspectorControlsTabs( {
49
49
  tabId={ tab.name }
50
50
  render={
51
51
  <Button
52
+ // TODO: Switch to `true` (40px size) if possible
53
+ __next40pxDefaultSize={ false }
52
54
  icon={
53
55
  ! showIconLabels ? tab.icon : undefined
54
56
  }
@@ -9,6 +9,7 @@ const SettingsTab = ( { showAdvancedControls = false } ) => (
9
9
  <>
10
10
  <InspectorControls.Slot />
11
11
  <PositionControls />
12
+ <InspectorControls.Slot group="bindings" />
12
13
  { showAdvancedControls && (
13
14
  <div>
14
15
  <AdvancedControls />