@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
@@ -16,6 +16,13 @@ import { useMouseMoveTypingReset } from '../observe-typing';
16
16
  import { useBlockSelectionClearer } from '../block-selection-clearer';
17
17
  import { useBlockCommands } from '../use-block-commands';
18
18
 
19
+ // EditorStyles is a memoized component, so avoid passing a new
20
+ // object reference on each render.
21
+ const EDITOR_STYLE_TRANSFORM_OPTIONS = {
22
+ // Don't transform selectors that already specify `.editor-styles-wrapper`.
23
+ ignoredSelectors: [ /\.editor-styles-wrapper/gi ],
24
+ };
25
+
19
26
  export function ExperimentalBlockCanvas( {
20
27
  shouldIframe = true,
21
28
  height = '300px',
@@ -38,7 +45,8 @@ export function ExperimentalBlockCanvas( {
38
45
  >
39
46
  <EditorStyles
40
47
  styles={ styles }
41
- scope=".editor-styles-wrapper"
48
+ scope=":where(.editor-styles-wrapper)"
49
+ transformOptions={ EDITOR_STYLE_TRANSFORM_OPTIONS }
42
50
  />
43
51
  <WritingFlow
44
52
  ref={ contentRef }
@@ -30,7 +30,13 @@ export default function BlockView( {
30
30
  </div>
31
31
 
32
32
  <div className="block-editor-block-compare__action">
33
- <Button variant="secondary" tabIndex="0" onClick={ action }>
33
+ <Button
34
+ // TODO: Switch to `true` (40px size) if possible
35
+ __next40pxDefaultSize={ false }
36
+ variant="secondary"
37
+ tabIndex="0"
38
+ onClick={ action }
39
+ >
34
40
  { actionText }
35
41
  </Button>
36
42
  </div>
@@ -3,7 +3,7 @@
3
3
  .block-editor-block-list__layout .is-dragging {
4
4
  background-color: currentColor !important;
5
5
  opacity: 0.05 !important;
6
- border-radius: $radius-block-ui !important;
6
+ border-radius: $radius-small !important;
7
7
 
8
8
  // Disabling pointer events during the drag event is necessary,
9
9
  // lest the block might affect your drag operation.
@@ -62,7 +62,7 @@ const BlockDraggable = ( {
62
62
  [ clientIds ]
63
63
  );
64
64
 
65
- const isDragging = useRef( false );
65
+ const isDraggingRef = useRef( false );
66
66
  const [ startScrolling, scrollOnDragOver, stopScrolling ] =
67
67
  useScrollWhenDragging();
68
68
 
@@ -75,7 +75,7 @@ const BlockDraggable = ( {
75
75
  // Stop dragging blocks if the block draggable is unmounted.
76
76
  useEffect( () => {
77
77
  return () => {
78
- if ( isDragging.current ) {
78
+ if ( isDraggingRef.current ) {
79
79
  stopDraggingBlocks();
80
80
  }
81
81
  };
@@ -193,7 +193,7 @@ const BlockDraggable = ( {
193
193
  // frame to enable dragging.
194
194
  window.requestAnimationFrame( () => {
195
195
  startDraggingBlocks( clientIds );
196
- isDragging.current = true;
196
+ isDraggingRef.current = true;
197
197
 
198
198
  startScrolling( event );
199
199
 
@@ -205,7 +205,7 @@ const BlockDraggable = ( {
205
205
  onDragOver={ scrollOnDragOver }
206
206
  onDragEnd={ () => {
207
207
  stopDraggingBlocks();
208
- isDragging.current = false;
208
+ isDraggingRef.current = false;
209
209
 
210
210
  stopScrolling();
211
211
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  .block-editor-block-draggable-chip {
9
9
  background-color: $gray-900;
10
- border-radius: $radius-block-ui;
10
+ border-radius: $radius-small;
11
11
  box-shadow: 0 6px 8px rgba($black, 0.3);
12
12
  color: $white;
13
13
  cursor: grabbing;
@@ -18,36 +18,36 @@ const VELOCITY_MULTIPLIER =
18
18
  * and `onDragEnd` events respectively.
19
19
  */
20
20
  export default function useScrollWhenDragging() {
21
- const dragStartY = useRef( null );
22
- const velocityY = useRef( null );
23
- const scrollParentY = useRef( null );
24
- const scrollEditorInterval = useRef( null );
21
+ const dragStartYRef = useRef( null );
22
+ const velocityYRef = useRef( null );
23
+ const scrollParentYRef = useRef( null );
24
+ const scrollEditorIntervalRef = useRef( null );
25
25
 
26
26
  // Clear interval when unmounting.
27
27
  useEffect(
28
28
  () => () => {
29
- if ( scrollEditorInterval.current ) {
30
- clearInterval( scrollEditorInterval.current );
31
- scrollEditorInterval.current = null;
29
+ if ( scrollEditorIntervalRef.current ) {
30
+ clearInterval( scrollEditorIntervalRef.current );
31
+ scrollEditorIntervalRef.current = null;
32
32
  }
33
33
  },
34
34
  []
35
35
  );
36
36
 
37
37
  const startScrolling = useCallback( ( event ) => {
38
- dragStartY.current = event.clientY;
38
+ dragStartYRef.current = event.clientY;
39
39
 
40
40
  // Find nearest parent(s) to scroll.
41
- scrollParentY.current = getScrollContainer( event.target );
41
+ scrollParentYRef.current = getScrollContainer( event.target );
42
42
 
43
- scrollEditorInterval.current = setInterval( () => {
44
- if ( scrollParentY.current && velocityY.current ) {
43
+ scrollEditorIntervalRef.current = setInterval( () => {
44
+ if ( scrollParentYRef.current && velocityYRef.current ) {
45
45
  const newTop =
46
- scrollParentY.current.scrollTop + velocityY.current;
46
+ scrollParentYRef.current.scrollTop + velocityYRef.current;
47
47
 
48
48
  // Setting `behavior: 'smooth'` as a scroll property seems to hurt performance.
49
49
  // Better to use a small scroll interval.
50
- scrollParentY.current.scroll( {
50
+ scrollParentYRef.current.scroll( {
51
51
  top: newTop,
52
52
  } );
53
53
  }
@@ -55,14 +55,14 @@ export default function useScrollWhenDragging() {
55
55
  }, [] );
56
56
 
57
57
  const scrollOnDragOver = useCallback( ( event ) => {
58
- if ( ! scrollParentY.current ) {
58
+ if ( ! scrollParentYRef.current ) {
59
59
  return;
60
60
  }
61
- const scrollParentHeight = scrollParentY.current.offsetHeight;
61
+ const scrollParentHeight = scrollParentYRef.current.offsetHeight;
62
62
  const offsetDragStartPosition =
63
- dragStartY.current - scrollParentY.current.offsetTop;
63
+ dragStartYRef.current - scrollParentYRef.current.offsetTop;
64
64
  const offsetDragPosition =
65
- event.clientY - scrollParentY.current.offsetTop;
65
+ event.clientY - scrollParentYRef.current.offsetTop;
66
66
 
67
67
  if ( event.clientY > offsetDragStartPosition ) {
68
68
  // User is dragging downwards.
@@ -82,7 +82,7 @@ export default function useScrollWhenDragging() {
82
82
  moveableDistance === 0 || dragDistance === 0
83
83
  ? 0
84
84
  : dragDistance / moveableDistance;
85
- velocityY.current = VELOCITY_MULTIPLIER * distancePercentage;
85
+ velocityYRef.current = VELOCITY_MULTIPLIER * distancePercentage;
86
86
  } else if ( event.clientY < offsetDragStartPosition ) {
87
87
  // User is dragging upwards.
88
88
  const moveableDistance = Math.max(
@@ -99,19 +99,19 @@ export default function useScrollWhenDragging() {
99
99
  moveableDistance === 0 || dragDistance === 0
100
100
  ? 0
101
101
  : dragDistance / moveableDistance;
102
- velocityY.current = -VELOCITY_MULTIPLIER * distancePercentage;
102
+ velocityYRef.current = -VELOCITY_MULTIPLIER * distancePercentage;
103
103
  } else {
104
- velocityY.current = 0;
104
+ velocityYRef.current = 0;
105
105
  }
106
106
  }, [] );
107
107
 
108
108
  const stopScrolling = () => {
109
- dragStartY.current = null;
110
- scrollParentY.current = null;
109
+ dragStartYRef.current = null;
110
+ scrollParentYRef.current = null;
111
111
 
112
- if ( scrollEditorInterval.current ) {
113
- clearInterval( scrollEditorInterval.current );
114
- scrollEditorInterval.current = null;
112
+ if ( scrollEditorIntervalRef.current ) {
113
+ clearInterval( scrollEditorIntervalRef.current );
114
+ scrollEditorIntervalRef.current = null;
115
115
  }
116
116
  };
117
117
 
@@ -24,6 +24,8 @@ export function MultipleUsageWarning( {
24
24
  <Warning
25
25
  actions={ [
26
26
  <Button
27
+ // TODO: Switch to `true` (40px size) if possible
28
+ __next40pxDefaultSize={ false }
27
29
  key="find-original"
28
30
  variant="secondary"
29
31
  onClick={ () => selectBlock( originalBlockClientId ) }
@@ -31,6 +33,8 @@ export function MultipleUsageWarning( {
31
33
  { __( 'Find original' ) }
32
34
  </Button>,
33
35
  <Button
36
+ // TODO: Switch to `true` (40px size) if possible
37
+ __next40pxDefaultSize={ false }
34
38
  key="remove"
35
39
  variant="secondary"
36
40
  onClick={ () => onReplace( [] ) }
@@ -32,6 +32,14 @@ import { useBorderPanelLabel } from '../../hooks/border';
32
32
 
33
33
  import { unlock } from '../../lock-unlock';
34
34
 
35
+ function BlockStylesPanel( { clientId } ) {
36
+ return (
37
+ <PanelBody title={ __( 'Styles' ) }>
38
+ <BlockStyles clientId={ clientId } />
39
+ </PanelBody>
40
+ );
41
+ }
42
+
35
43
  function BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {
36
44
  const contentClientIds = useSelect(
37
45
  ( select ) => {
@@ -48,6 +56,15 @@ function BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {
48
56
  },
49
57
  [ topLevelLockedBlock ]
50
58
  );
59
+ const hasBlockStyles = useSelect(
60
+ ( select ) => {
61
+ const { getBlockName } = select( blockEditorStore );
62
+ const { getBlockStyles } = select( blocksStore );
63
+ return !! getBlockStyles( getBlockName( topLevelLockedBlock ) )
64
+ ?.length;
65
+ },
66
+ [ topLevelLockedBlock ]
67
+ );
51
68
  const blockInformation = useBlockDisplayInformation( topLevelLockedBlock );
52
69
  return (
53
70
  <div className="block-editor-block-inspector">
@@ -57,6 +74,9 @@ function BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {
57
74
  />
58
75
  <BlockVariationTransforms blockClientId={ topLevelLockedBlock } />
59
76
  <BlockInfo.Slot />
77
+ { hasBlockStyles && (
78
+ <BlockStylesPanel clientId={ topLevelLockedBlock } />
79
+ ) }
60
80
  { contentClientIds.length > 0 && (
61
81
  <PanelBody title={ __( 'Content' ) }>
62
82
  <BlockQuickNavigation clientIds={ contentClientIds } />
@@ -81,7 +101,6 @@ const BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {
81
101
  getContentLockingParent,
82
102
  getTemplateLock,
83
103
  } = unlock( select( blockEditorStore ) );
84
-
85
104
  const _selectedBlockClientId = getSelectedBlockClientId();
86
105
  const _selectedBlockName =
87
106
  _selectedBlockClientId && getBlockName( _selectedBlockClientId );
@@ -276,11 +295,7 @@ const BlockInspectorSingleBlock = ( { clientId, blockName } ) => {
276
295
  { ! showTabs && (
277
296
  <>
278
297
  { hasBlockStyles && (
279
- <div>
280
- <PanelBody title={ __( 'Styles' ) }>
281
- <BlockStyles clientId={ clientId } />
282
- </PanelBody>
283
- </div>
298
+ <BlockStylesPanel clientId={ clientId } />
284
299
  ) }
285
300
  <InspectorControls.Slot />
286
301
  <InspectorControls.Slot group="list" />
@@ -307,6 +322,7 @@ const BlockInspectorSingleBlock = ( { clientId, blockName } ) => {
307
322
  />
308
323
  <InspectorControls.Slot group="styles" />
309
324
  <PositionControls />
325
+ <InspectorControls.Slot group="bindings" />
310
326
  <div>
311
327
  <AdvancedControls />
312
328
  </div>
@@ -101,16 +101,18 @@ export default function BlockInvalidWarning( { clientId } ) {
101
101
  <Warning
102
102
  actions={ [
103
103
  <Button
104
+ // TODO: Switch to `true` (40px size) if possible
105
+ __next40pxDefaultSize={ false }
104
106
  key="recover"
105
107
  onClick={ convert.toRecoveredBlock }
106
108
  variant="primary"
107
109
  >
108
- { __( 'Attempt Block Recovery' ) }
110
+ { __( 'Attempt recovery' ) }
109
111
  </Button>,
110
112
  ] }
111
113
  secondaryActions={ secondaryActions }
112
114
  >
113
- { __( 'This block contains unexpected or invalid content.' ) }
115
+ { __( 'Block contains unexpected or invalid content.' ) }
114
116
  </Warning>
115
117
  { compare && (
116
118
  <Modal
@@ -646,6 +646,8 @@ function BlockListBlockProvider( props ) {
646
646
  blocksWithSameName.length &&
647
647
  blocksWithSameName[ 0 ] !== clientId;
648
648
 
649
+ const editorMode = __unstableGetEditorMode();
650
+
649
651
  return {
650
652
  ...previewContext,
651
653
  mode: getBlockMode( clientId ),
@@ -672,6 +674,7 @@ function BlockListBlockProvider( props ) {
672
674
  ) && hasSelectedInnerBlock( clientId ),
673
675
  blockApiVersion: blockType?.apiVersion || 1,
674
676
  blockTitle: match?.title || blockType?.title,
677
+ editorMode,
675
678
  isSubtreeDisabled:
676
679
  blockEditingMode === 'disabled' &&
677
680
  isBlockSubtreeDisabled( clientId ),
@@ -680,8 +683,7 @@ function BlockListBlockProvider( props ) {
680
683
  ! isDragging(),
681
684
  initialPosition:
682
685
  _isSelected &&
683
- ( __unstableGetEditorMode() === 'edit' ||
684
- __unstableGetEditorMode() === 'zoom-out' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode
686
+ ( editorMode === 'edit' || editorMode === 'zoom-out' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode
685
687
  ? getSelectedBlocksInitialCaretPosition()
686
688
  : undefined,
687
689
  isHighlighted: isBlockHighlighted( clientId ),
@@ -728,6 +730,7 @@ function BlockListBlockProvider( props ) {
728
730
  themeSupportsLayout,
729
731
  isTemporarilyEditingAsBlocks,
730
732
  blockEditingMode,
733
+ editorMode,
731
734
  mayDisplayControls,
732
735
  mayDisplayParentControls,
733
736
  index,
@@ -782,6 +785,7 @@ function BlockListBlockProvider( props ) {
782
785
  hasOverlay,
783
786
  initialPosition,
784
787
  blockEditingMode,
788
+ editorMode,
785
789
  isHighlighted,
786
790
  isMultiSelected,
787
791
  isPartiallySelected,
@@ -107,7 +107,7 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
107
107
  right: 0;
108
108
  left: 0;
109
109
  top: -$default-block-margin * 0.5;
110
- border-radius: $radius-block-ui;
110
+ border-radius: $radius-small;
111
111
  border-top: 4px solid $gray-400;
112
112
  bottom: auto;
113
113
  box-shadow: none;
@@ -215,7 +215,6 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
215
215
  right: 0;
216
216
  bottom: 0;
217
217
  left: 0;
218
- border-radius: $radius-block-ui;
219
218
  background-color: rgba($white, 0.4);
220
219
  }
221
220
 
@@ -421,7 +420,7 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
421
420
  width: 100%;
422
421
  border: none;
423
422
  outline: none;
424
- border-radius: 2px;
423
+ border-radius: $radius-small;
425
424
  box-shadow: inset 0 0 0 $border-width $gray-900;
426
425
  resize: none;
427
426
  overflow: hidden;
@@ -26,6 +26,7 @@ import {
26
26
  import { useFocusHandler } from './use-focus-handler';
27
27
  import { useEventHandlers } from './use-selected-block-event-handlers';
28
28
  import { useNavModeExit } from './use-nav-mode-exit';
29
+ import { useZoomOutModeExit } from './use-zoom-out-mode-exit';
29
30
  import { useBlockRefProvider } from './use-block-refs';
30
31
  import { useIntersectionObserver } from './use-intersection-observer';
31
32
  import { useScrollIntoView } from './use-scroll-into-view';
@@ -85,6 +86,7 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
85
86
  name,
86
87
  blockApiVersion,
87
88
  blockTitle,
89
+ editorMode,
88
90
  isSelected,
89
91
  isSubtreeDisabled,
90
92
  hasOverlay,
@@ -115,6 +117,7 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
115
117
  useFocusHandler( clientId ),
116
118
  useEventHandlers( { clientId, isSelected } ),
117
119
  useNavModeExit( clientId ),
120
+ useZoomOutModeExit( { editorMode } ),
118
121
  useIsHovered( { clientId } ),
119
122
  useIntersectionObserver(),
120
123
  useMovingAnimation( { triggerAnimationOnChange: index, clientId } ),
@@ -68,6 +68,7 @@ export function useFocusFirstElement( { clientId, initialPosition } ) {
68
68
  textInputs[ isReverse ? textInputs.length - 1 : 0 ] || ref.current;
69
69
 
70
70
  if ( ! isInsideRootBlock( ref.current, target ) ) {
71
+ ownerDocument.defaultView.getSelection().removeAllRanges();
71
72
  ref.current.focus();
72
73
  return;
73
74
  }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useDispatch } from '@wordpress/data';
5
+ import { useRefEffect } from '@wordpress/compose';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { store as blockEditorStore } from '../../../store';
11
+ import { unlock } from '../../../lock-unlock';
12
+
13
+ /**
14
+ * Allows Zoom Out mode to be exited by double clicking in the selected block.
15
+ *
16
+ * @param {string} clientId Block client ID.
17
+ */
18
+ export function useZoomOutModeExit( { editorMode } ) {
19
+ const { __unstableSetEditorMode } = unlock(
20
+ useDispatch( blockEditorStore )
21
+ );
22
+
23
+ return useRefEffect(
24
+ ( node ) => {
25
+ if ( editorMode !== 'zoom-out' ) {
26
+ return;
27
+ }
28
+
29
+ function onDoubleClick( event ) {
30
+ if ( ! event.defaultPrevented ) {
31
+ event.preventDefault();
32
+ __unstableSetEditorMode( 'edit' );
33
+ }
34
+ }
35
+
36
+ node.addEventListener( 'dblclick', onDoubleClick );
37
+
38
+ return () => {
39
+ node.removeEventListener( 'dblclick', onDoubleClick );
40
+ };
41
+ },
42
+ [ editorMode, __unstableSetEditorMode ]
43
+ );
44
+ }
@@ -41,7 +41,7 @@
41
41
 
42
42
  &:hover {
43
43
  background-color: $gray-100;
44
- border-radius: $radius-block-ui;
44
+ border-radius: $radius-small;
45
45
  }
46
46
  }
47
47
 
@@ -20,7 +20,7 @@ export default function BlockLockToolbar( { clientId } ) {
20
20
  false
21
21
  );
22
22
 
23
- const hasLockButtonShown = useRef( false );
23
+ const hasLockButtonShownRef = useRef( false );
24
24
 
25
25
  // If the block lock button has been shown, we don't want to remove it
26
26
  // from the toolbar until the toolbar is rendered again without it.
@@ -29,11 +29,11 @@ export default function BlockLockToolbar( { clientId } ) {
29
29
  // whence it came, and to do that, we need to leave the button in the toolbar.
30
30
  useEffect( () => {
31
31
  if ( isLocked ) {
32
- hasLockButtonShown.current = true;
32
+ hasLockButtonShownRef.current = true;
33
33
  }
34
34
  }, [ isLocked ] );
35
35
 
36
- if ( ! isLocked && ! hasLockButtonShown.current ) {
36
+ if ( ! isLocked && ! hasLockButtonShownRef.current ) {
37
37
  return null;
38
38
  }
39
39
 
@@ -129,6 +129,8 @@ const BlockMoverButton = forwardRef(
129
129
  return (
130
130
  <>
131
131
  <Button
132
+ // TODO: Switch to `true` (40px size) if possible
133
+ __next40pxDefaultSize={ false }
132
134
  ref={ ref }
133
135
  className={ clsx(
134
136
  'block-editor-block-mover-button',
@@ -87,6 +87,8 @@ function BlockMover( {
87
87
  <BlockDraggable clientIds={ clientIds } fadeWhenDisabled>
88
88
  { ( draggableProps ) => (
89
89
  <Button
90
+ // TODO: Switch to `true` (40px size) if possible
91
+ __next40pxDefaultSize={ false }
90
92
  icon={ dragHandle }
91
93
  className="block-editor-block-mover__drag-handle"
92
94
  label={ __( 'Drag' ) }
@@ -76,7 +76,7 @@
76
76
  content: "";
77
77
  position: absolute;
78
78
  display: block;
79
- border-radius: $radius-block-ui;
79
+ border-radius: $radius-small;
80
80
  height: $grid-unit-40;
81
81
 
82
82
  // Position the focus rectangle.
@@ -27,6 +27,8 @@ function BlockNavigationDropdownToggle( {
27
27
  } ) {
28
28
  return (
29
29
  <Button
30
+ // TODO: Switch to `true` (40px size) if possible
31
+ __next40pxDefaultSize={ false }
30
32
  { ...props }
31
33
  ref={ innerRef }
32
34
  icon={ listView }
@@ -22,11 +22,9 @@ import usePatternsSetup from './use-patterns-setup';
22
22
  import { VIEWMODES } from './constants';
23
23
  import { unlock } from '../../lock-unlock';
24
24
 
25
- const {
26
- CompositeV2: Composite,
27
- CompositeItemV2: CompositeItem,
28
- useCompositeStoreV2: useCompositeStore,
29
- } = unlock( componentsPrivateApis );
25
+ const { CompositeV2: Composite, CompositeItemV2: CompositeItem } = unlock(
26
+ componentsPrivateApis
27
+ );
30
28
 
31
29
  const SetupContent = ( {
32
30
  viewMode,
@@ -35,7 +33,6 @@ const SetupContent = ( {
35
33
  onBlockPatternSelect,
36
34
  showTitles,
37
35
  } ) => {
38
- const compositeStore = useCompositeStore();
39
36
  const containerClass = 'block-editor-block-pattern-setup__container';
40
37
 
41
38
  if ( viewMode === VIEWMODES.carousel ) {
@@ -65,7 +62,6 @@ const SetupContent = ( {
65
62
  return (
66
63
  <div className="block-editor-block-pattern-setup__grid">
67
64
  <Composite
68
- store={ compositeStore }
69
65
  role="listbox"
70
66
  className={ containerClass }
71
67
  aria-label={ __( 'Patterns list' ) }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, isRTL } from '@wordpress/i18n';
5
5
  import { Button } from '@wordpress/components';
6
6
  import {
7
7
  chevronRight,
@@ -17,7 +17,12 @@ import { VIEWMODES } from './constants';
17
17
 
18
18
  const Actions = ( { onBlockPatternSelect } ) => (
19
19
  <div className="block-editor-block-pattern-setup__actions">
20
- <Button variant="primary" onClick={ onBlockPatternSelect }>
20
+ <Button
21
+ // TODO: Switch to `true` (40px size) if possible
22
+ __next40pxDefaultSize={ false }
23
+ variant="primary"
24
+ onClick={ onBlockPatternSelect }
25
+ >
21
26
  { __( 'Choose' ) }
22
27
  </Button>
23
28
  </div>
@@ -31,14 +36,18 @@ const CarouselNavigation = ( {
31
36
  } ) => (
32
37
  <div className="block-editor-block-pattern-setup__navigation">
33
38
  <Button
34
- icon={ chevronLeft }
39
+ // TODO: Switch to `true` (40px size) if possible
40
+ __next40pxDefaultSize={ false }
41
+ icon={ isRTL() ? chevronRight : chevronLeft }
35
42
  label={ __( 'Previous pattern' ) }
36
43
  onClick={ handlePrevious }
37
44
  disabled={ activeSlide === 0 }
38
45
  accessibleWhenDisabled
39
46
  />
40
47
  <Button
41
- icon={ chevronRight }
48
+ // TODO: Switch to `true` (40px size) if possible
49
+ __next40pxDefaultSize={ false }
50
+ icon={ isRTL() ? chevronLeft : chevronRight }
42
51
  label={ __( 'Next pattern' ) }
43
52
  onClick={ handleNext }
44
53
  disabled={ activeSlide === totalSlides - 1 }
@@ -60,12 +69,16 @@ const SetupToolbar = ( {
60
69
  const displayControls = (
61
70
  <div className="block-editor-block-pattern-setup__display-controls">
62
71
  <Button
72
+ // TODO: Switch to `true` (40px size) if possible
73
+ __next40pxDefaultSize={ false }
63
74
  icon={ stretchFullWidth }
64
75
  label={ __( 'Carousel view' ) }
65
76
  onClick={ () => setViewMode( VIEWMODES.carousel ) }
66
77
  isPressed={ isCarouselView }
67
78
  />
68
79
  <Button
80
+ // TODO: Switch to `true` (40px size) if possible
81
+ __next40pxDefaultSize={ false }
69
82
  icon={ grid }
70
83
  label={ __( 'Grid view' ) }
71
84
  onClick={ () => setViewMode( VIEWMODES.grid ) }
@@ -4,7 +4,7 @@
4
4
  justify-content: center;
5
5
  align-items: flex-start;
6
6
  width: 100%;
7
- border-radius: $radius-block-ui;
7
+ border-radius: $radius-small;
8
8
 
9
9
  &.view-mode-grid {
10
10
  padding-top: $grid-unit-05;
@@ -60,7 +60,7 @@
60
60
 
61
61
  .block-editor-block-preview__container {
62
62
  min-height: 100px;
63
- border-radius: $radius-block-ui;
63
+ border-radius: $radius-medium;
64
64
  border: $border-width solid $gray-300;
65
65
  }
66
66