@wordpress/block-editor 14.1.0 → 14.2.1-next.5368f64a9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -10
  3. package/build/components/block-alignment-matrix-control/index.js +2 -2
  4. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +2 -2
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-canvas/index.js +8 -1
  8. package/build/components/block-canvas/index.js.map +1 -1
  9. package/build/components/block-compare/block-view.js +1 -0
  10. package/build/components/block-compare/block-view.js.map +1 -1
  11. package/build/components/block-draggable/index.js +4 -4
  12. package/build/components/block-draggable/index.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  14. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  15. package/build/components/block-edit/multiple-usage-warning.js +2 -0
  16. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  17. package/build/components/block-inspector/index.js +27 -11
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-invalid-warning.js +3 -2
  20. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  21. package/build/components/block-list/block.js +5 -1
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/index.js +14 -3
  24. package/build/components/block-list/index.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +5 -1
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  28. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +53 -0
  30. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  31. package/build/components/block-list/zoom-out-separator.js +98 -0
  32. package/build/components/block-list/zoom-out-separator.js.map +1 -0
  33. package/build/components/block-lock/toolbar.js +3 -3
  34. package/build/components/block-lock/toolbar.js.map +1 -1
  35. package/build/components/block-mover/button.js +1 -0
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +1 -0
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-navigation/dropdown.js +4 -1
  40. package/build/components/block-navigation/dropdown.js.map +1 -1
  41. package/build/components/block-pattern-setup/index.js +2 -10
  42. package/build/components/block-pattern-setup/index.js.map +1 -1
  43. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  44. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  45. package/build/components/block-patterns-list/index.js +12 -20
  46. package/build/components/block-patterns-list/index.js.map +1 -1
  47. package/build/components/block-patterns-paging/index.js +12 -3
  48. package/build/components/block-patterns-paging/index.js.map +1 -1
  49. package/build/components/block-popover/index.js +2 -15
  50. package/build/components/block-popover/index.js.map +1 -1
  51. package/build/components/block-quick-navigation/index.js +4 -1
  52. package/build/components/block-quick-navigation/index.js.map +1 -1
  53. package/build/components/block-settings-menu-controls/index.js +4 -0
  54. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  55. package/build/components/block-switcher/index.js +30 -19
  56. package/build/components/block-switcher/index.js.map +1 -1
  57. package/build/components/block-switcher/pattern-transformations-menu.js +2 -10
  58. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  59. package/build/components/block-toolbar/index.js +19 -12
  60. package/build/components/block-toolbar/index.js.map +1 -1
  61. package/build/components/block-toolbar/shuffle.js +6 -2
  62. package/build/components/block-toolbar/shuffle.js.map +1 -1
  63. package/build/components/block-tools/block-selection-button.js +8 -2
  64. package/build/components/block-tools/block-selection-button.js.map +1 -1
  65. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  66. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  67. package/build/components/block-tools/index.js +1 -1
  68. package/build/components/block-tools/index.js.map +1 -1
  69. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  70. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  71. package/build/components/block-tools/zoom-out-mode-inserters.js +7 -21
  72. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  73. package/build/components/block-tools/zoom-out-popover.js +3 -4
  74. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  75. package/build/components/block-tools/zoom-out-toolbar.js +26 -7
  76. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  77. package/build/components/block-variation-picker/index.js +4 -1
  78. package/build/components/block-variation-picker/index.js.map +1 -1
  79. package/build/components/block-variation-transforms/index.js +4 -1
  80. package/build/components/block-variation-transforms/index.js.map +1 -1
  81. package/build/components/button-block-appender/index.js +20 -23
  82. package/build/components/button-block-appender/index.js.map +1 -1
  83. package/build/components/colors-gradients/dropdown.js +4 -1
  84. package/build/components/colors-gradients/dropdown.js.map +1 -1
  85. package/build/components/content-lock/index.js +13 -0
  86. package/build/components/content-lock/index.js.map +1 -0
  87. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  88. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  89. package/build/components/editor-styles/index.js +4 -3
  90. package/build/components/editor-styles/index.js.map +1 -1
  91. package/build/components/global-styles/background-panel.js +8 -12
  92. package/build/components/global-styles/background-panel.js.map +1 -1
  93. package/build/components/global-styles/color-panel.js +8 -5
  94. package/build/components/global-styles/color-panel.js.map +1 -1
  95. package/build/components/global-styles/color-panel.native.js +1 -1
  96. package/build/components/global-styles/color-panel.native.js.map +1 -1
  97. package/build/components/global-styles/dimensions-panel.js +34 -37
  98. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  99. package/build/components/global-styles/filters-panel.js +4 -1
  100. package/build/components/global-styles/filters-panel.js.map +1 -1
  101. package/build/components/global-styles/shadow-panel-components.js +14 -17
  102. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  103. package/build/components/global-styles/typography-utils.js +17 -6
  104. package/build/components/global-styles/typography-utils.js.map +1 -1
  105. package/build/components/global-styles/utils.js +4 -6
  106. package/build/components/global-styles/utils.js.map +1 -1
  107. package/build/components/grid/grid-item-movers.js +2 -2
  108. package/build/components/grid/grid-item-movers.js.map +1 -1
  109. package/build/components/iframe/get-compatibility-styles.js +1 -1
  110. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  111. package/build/components/iframe/index.js +5 -5
  112. package/build/components/iframe/index.js.map +1 -1
  113. package/build/components/inner-blocks/index.js +2 -4
  114. package/build/components/inner-blocks/index.js.map +1 -1
  115. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  116. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  117. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  118. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  119. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  120. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  121. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
  122. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  123. package/build/components/inserter/index.js +4 -11
  124. package/build/components/inserter/index.js.map +1 -1
  125. package/build/components/inserter/library.js +2 -4
  126. package/build/components/inserter/library.js.map +1 -1
  127. package/build/components/inserter/media-tab/hooks.js +3 -3
  128. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  129. package/build/components/inserter/media-tab/media-list.js +1 -8
  130. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  131. package/build/components/inserter/media-tab/media-preview.js +9 -7
  132. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  133. package/build/components/inserter/media-tab/media-tab.js +4 -1
  134. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  135. package/build/components/inserter/menu.js +7 -24
  136. package/build/components/inserter/menu.js.map +1 -1
  137. package/build/components/inserter/quick-inserter.js +4 -5
  138. package/build/components/inserter/quick-inserter.js.map +1 -1
  139. package/build/components/inserter-list-item/index.js +4 -4
  140. package/build/components/inserter-list-item/index.js.map +1 -1
  141. package/build/components/inserter-listbox/index.js +3 -13
  142. package/build/components/inserter-listbox/index.js.map +1 -1
  143. package/build/components/inserter-listbox/item.js +6 -11
  144. package/build/components/inserter-listbox/item.js.map +1 -1
  145. package/build/components/inserter-listbox/row.js +1 -9
  146. package/build/components/inserter-listbox/row.js.map +1 -1
  147. package/build/components/inspector-controls/groups.js +2 -0
  148. package/build/components/inspector-controls/groups.js.map +1 -1
  149. package/build/components/inspector-controls-tabs/index.js +4 -1
  150. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  151. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  152. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  153. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  154. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  155. package/build/components/inspector-popover-header/index.js +8 -2
  156. package/build/components/inspector-popover-header/index.js.map +1 -1
  157. package/build/components/letter-spacing-control/index.js +7 -4
  158. package/build/components/letter-spacing-control/index.js.map +1 -1
  159. package/build/components/link-control/index.js +19 -10
  160. package/build/components/link-control/index.js.map +1 -1
  161. package/build/components/link-control/settings-drawer.js +4 -1
  162. package/build/components/link-control/settings-drawer.js.map +1 -1
  163. package/build/components/list-view/block-select-button.js +4 -1
  164. package/build/components/list-view/block-select-button.js.map +1 -1
  165. package/build/components/list-view/index.js +3 -7
  166. package/build/components/list-view/index.js.map +1 -1
  167. package/build/components/media-placeholder/index.js +32 -11
  168. package/build/components/media-placeholder/index.js.map +1 -1
  169. package/build/components/media-replace-flow/index.js +8 -1
  170. package/build/components/media-replace-flow/index.js.map +1 -1
  171. package/build/components/provider/use-block-sync.js +19 -19
  172. package/build/components/provider/use-block-sync.js.map +1 -1
  173. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  174. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  175. package/build/components/rich-text/index.js +38 -30
  176. package/build/components/rich-text/index.js.map +1 -1
  177. package/build/components/rich-text/use-mark-persistent.js +5 -5
  178. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  179. package/build/components/skip-to-selected-block/index.js +4 -1
  180. package/build/components/skip-to-selected-block/index.js.map +1 -1
  181. package/build/components/tool-selector/index.js +4 -1
  182. package/build/components/tool-selector/index.js.map +1 -1
  183. package/build/components/url-input/button.js +12 -3
  184. package/build/components/url-input/button.js.map +1 -1
  185. package/build/components/url-input/index.js +4 -1
  186. package/build/components/url-input/index.js.map +1 -1
  187. package/build/components/use-block-drop-zone/index.js +31 -7
  188. package/build/components/use-block-drop-zone/index.js.map +1 -1
  189. package/build/components/writing-flow/index.js +2 -1
  190. package/build/components/writing-flow/index.js.map +1 -1
  191. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  192. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  193. package/build/components/writing-flow/use-event-redirect.js +66 -0
  194. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  195. package/build/components/writing-flow/use-input.js +31 -1
  196. package/build/components/writing-flow/use-input.js.map +1 -1
  197. package/build/components/writing-flow/use-select-all.js +14 -1
  198. package/build/components/writing-flow/use-select-all.js.map +1 -1
  199. package/build/components/writing-flow/use-selection-observer.js +20 -6
  200. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  201. package/build/components/writing-flow/use-tab-nav.js +4 -4
  202. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  203. package/build/components/writing-flow/utils.js +27 -0
  204. package/build/components/writing-flow/utils.js.map +1 -1
  205. package/build/hooks/block-bindings.js +32 -29
  206. package/build/hooks/block-bindings.js.map +1 -1
  207. package/build/hooks/content-lock-ui.js +8 -26
  208. package/build/hooks/content-lock-ui.js.map +1 -1
  209. package/build/hooks/duotone.js +0 -4
  210. package/build/hooks/duotone.js.map +1 -1
  211. package/build/hooks/layout.js +4 -2
  212. package/build/hooks/layout.js.map +1 -1
  213. package/build/hooks/spacing-visualizer.js +3 -3
  214. package/build/hooks/spacing-visualizer.js.map +1 -1
  215. package/build/hooks/style.js +1 -5
  216. package/build/hooks/style.js.map +1 -1
  217. package/build/hooks/use-bindings-attributes.js +19 -20
  218. package/build/hooks/use-bindings-attributes.js.map +1 -1
  219. package/build/hooks/use-zoom-out.js +7 -7
  220. package/build/hooks/use-zoom-out.js.map +1 -1
  221. package/build/layouts/constrained.js +41 -42
  222. package/build/layouts/constrained.js.map +1 -1
  223. package/build/layouts/flex.js +4 -1
  224. package/build/layouts/flex.js.map +1 -1
  225. package/build/layouts/grid.js +19 -16
  226. package/build/layouts/grid.js.map +1 -1
  227. package/build/layouts/utils.js +1 -7
  228. package/build/layouts/utils.js.map +1 -1
  229. package/build/private-apis.js +2 -3
  230. package/build/private-apis.js.map +1 -1
  231. package/build/store/actions.js +2 -7
  232. package/build/store/actions.js.map +1 -1
  233. package/build/store/private-actions.js +1 -0
  234. package/build/store/private-actions.js.map +1 -1
  235. package/build/store/private-keys.js +2 -1
  236. package/build/store/private-keys.js.map +1 -1
  237. package/build/store/private-selectors.js +16 -18
  238. package/build/store/private-selectors.js.map +1 -1
  239. package/build/store/reducer.js +1 -10
  240. package/build/store/reducer.js.map +1 -1
  241. package/build/store/selectors.js +19 -43
  242. package/build/store/selectors.js.map +1 -1
  243. package/build/store/utils.js +48 -0
  244. package/build/store/utils.js.map +1 -1
  245. package/build/utils/block-bindings.js +16 -11
  246. package/build/utils/block-bindings.js.map +1 -1
  247. package/build/utils/dom.js +101 -0
  248. package/build/utils/dom.js.map +1 -1
  249. package/build/utils/get-font-styles-and-weights.js +4 -4
  250. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  251. package/build/utils/transform-styles/index.js +120 -16
  252. package/build/utils/transform-styles/index.js.map +1 -1
  253. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  254. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  255. package/build-module/components/block-breadcrumb/index.js +2 -2
  256. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  257. package/build-module/components/block-canvas/index.js +9 -1
  258. package/build-module/components/block-canvas/index.js.map +1 -1
  259. package/build-module/components/block-compare/block-view.js +1 -0
  260. package/build-module/components/block-compare/block-view.js.map +1 -1
  261. package/build-module/components/block-draggable/index.js +4 -4
  262. package/build-module/components/block-draggable/index.js.map +1 -1
  263. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  264. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  265. package/build-module/components/block-edit/multiple-usage-warning.js +2 -0
  266. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  267. package/build-module/components/block-inspector/index.js +27 -11
  268. package/build-module/components/block-inspector/index.js.map +1 -1
  269. package/build-module/components/block-list/block-invalid-warning.js +3 -2
  270. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  271. package/build-module/components/block-list/block.js +5 -1
  272. package/build-module/components/block-list/block.js.map +1 -1
  273. package/build-module/components/block-list/index.js +14 -3
  274. package/build-module/components/block-list/index.js.map +1 -1
  275. package/build-module/components/block-list/use-block-props/index.js +5 -1
  276. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  277. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  278. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  279. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +47 -0
  280. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  281. package/build-module/components/block-list/zoom-out-separator.js +90 -0
  282. package/build-module/components/block-list/zoom-out-separator.js.map +1 -0
  283. package/build-module/components/block-lock/toolbar.js +3 -3
  284. package/build-module/components/block-lock/toolbar.js.map +1 -1
  285. package/build-module/components/block-mover/button.js +1 -0
  286. package/build-module/components/block-mover/button.js.map +1 -1
  287. package/build-module/components/block-mover/index.js +1 -0
  288. package/build-module/components/block-mover/index.js.map +1 -1
  289. package/build-module/components/block-navigation/dropdown.js +4 -1
  290. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  291. package/build-module/components/block-pattern-setup/index.js +2 -10
  292. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  293. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  294. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  295. package/build-module/components/block-patterns-list/index.js +12 -20
  296. package/build-module/components/block-patterns-list/index.js.map +1 -1
  297. package/build-module/components/block-patterns-paging/index.js +12 -3
  298. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  299. package/build-module/components/block-popover/index.js +2 -15
  300. package/build-module/components/block-popover/index.js.map +1 -1
  301. package/build-module/components/block-quick-navigation/index.js +4 -1
  302. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  303. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  304. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  305. package/build-module/components/block-switcher/index.js +30 -19
  306. package/build-module/components/block-switcher/index.js.map +1 -1
  307. package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -10
  308. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  309. package/build-module/components/block-toolbar/index.js +19 -12
  310. package/build-module/components/block-toolbar/index.js.map +1 -1
  311. package/build-module/components/block-toolbar/shuffle.js +6 -2
  312. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  313. package/build-module/components/block-tools/block-selection-button.js +8 -2
  314. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  315. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  316. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  317. package/build-module/components/block-tools/index.js +1 -1
  318. package/build-module/components/block-tools/index.js.map +1 -1
  319. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  320. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  321. package/build-module/components/block-tools/zoom-out-mode-inserters.js +7 -22
  322. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  323. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  324. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  325. package/build-module/components/block-tools/zoom-out-toolbar.js +27 -8
  326. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  327. package/build-module/components/block-variation-picker/index.js +4 -1
  328. package/build-module/components/block-variation-picker/index.js.map +1 -1
  329. package/build-module/components/block-variation-transforms/index.js +4 -1
  330. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  331. package/build-module/components/button-block-appender/index.js +22 -26
  332. package/build-module/components/button-block-appender/index.js.map +1 -1
  333. package/build-module/components/colors-gradients/dropdown.js +4 -1
  334. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  335. package/build-module/components/content-lock/index.js +2 -0
  336. package/build-module/components/content-lock/index.js.map +1 -0
  337. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  338. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  339. package/build-module/components/editor-styles/index.js +4 -3
  340. package/build-module/components/editor-styles/index.js.map +1 -1
  341. package/build-module/components/global-styles/background-panel.js +8 -12
  342. package/build-module/components/global-styles/background-panel.js.map +1 -1
  343. package/build-module/components/global-styles/color-panel.js +7 -4
  344. package/build-module/components/global-styles/color-panel.js.map +1 -1
  345. package/build-module/components/global-styles/color-panel.native.js +2 -2
  346. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  347. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  348. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  349. package/build-module/components/global-styles/filters-panel.js +4 -1
  350. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  351. package/build-module/components/global-styles/shadow-panel-components.js +14 -17
  352. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  353. package/build-module/components/global-styles/typography-utils.js +17 -6
  354. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  355. package/build-module/components/global-styles/utils.js +4 -6
  356. package/build-module/components/global-styles/utils.js.map +1 -1
  357. package/build-module/components/grid/grid-item-movers.js +3 -3
  358. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  359. package/build-module/components/iframe/get-compatibility-styles.js +1 -1
  360. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  361. package/build-module/components/iframe/index.js +5 -5
  362. package/build-module/components/iframe/index.js.map +1 -1
  363. package/build-module/components/inner-blocks/index.js +2 -4
  364. package/build-module/components/inner-blocks/index.js.map +1 -1
  365. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  366. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  367. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  368. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  369. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  370. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  371. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
  372. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  373. package/build-module/components/inserter/index.js +4 -11
  374. package/build-module/components/inserter/index.js.map +1 -1
  375. package/build-module/components/inserter/library.js +2 -4
  376. package/build-module/components/inserter/library.js.map +1 -1
  377. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  378. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  379. package/build-module/components/inserter/media-tab/media-list.js +1 -8
  380. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  381. package/build-module/components/inserter/media-tab/media-preview.js +10 -8
  382. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  383. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  384. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  385. package/build-module/components/inserter/menu.js +7 -24
  386. package/build-module/components/inserter/menu.js.map +1 -1
  387. package/build-module/components/inserter/quick-inserter.js +5 -6
  388. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  389. package/build-module/components/inserter-list-item/index.js +4 -4
  390. package/build-module/components/inserter-list-item/index.js.map +1 -1
  391. package/build-module/components/inserter-listbox/index.js +3 -11
  392. package/build-module/components/inserter-listbox/index.js.map +1 -1
  393. package/build-module/components/inserter-listbox/item.js +7 -12
  394. package/build-module/components/inserter-listbox/item.js.map +1 -1
  395. package/build-module/components/inserter-listbox/row.js +2 -10
  396. package/build-module/components/inserter-listbox/row.js.map +1 -1
  397. package/build-module/components/inspector-controls/groups.js +2 -0
  398. package/build-module/components/inspector-controls/groups.js.map +1 -1
  399. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  400. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  401. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  402. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  403. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  404. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  405. package/build-module/components/inspector-popover-header/index.js +8 -2
  406. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  407. package/build-module/components/letter-spacing-control/index.js +7 -4
  408. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  409. package/build-module/components/link-control/index.js +19 -10
  410. package/build-module/components/link-control/index.js.map +1 -1
  411. package/build-module/components/link-control/settings-drawer.js +4 -1
  412. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  413. package/build-module/components/list-view/block-select-button.js +4 -1
  414. package/build-module/components/list-view/block-select-button.js.map +1 -1
  415. package/build-module/components/list-view/index.js +3 -7
  416. package/build-module/components/list-view/index.js.map +1 -1
  417. package/build-module/components/media-placeholder/index.js +32 -11
  418. package/build-module/components/media-placeholder/index.js.map +1 -1
  419. package/build-module/components/media-replace-flow/index.js +8 -1
  420. package/build-module/components/media-replace-flow/index.js.map +1 -1
  421. package/build-module/components/provider/use-block-sync.js +19 -19
  422. package/build-module/components/provider/use-block-sync.js.map +1 -1
  423. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  424. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  425. package/build-module/components/rich-text/index.js +39 -31
  426. package/build-module/components/rich-text/index.js.map +1 -1
  427. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  428. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  429. package/build-module/components/skip-to-selected-block/index.js +4 -1
  430. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  431. package/build-module/components/tool-selector/index.js +4 -1
  432. package/build-module/components/tool-selector/index.js.map +1 -1
  433. package/build-module/components/url-input/button.js +12 -3
  434. package/build-module/components/url-input/button.js.map +1 -1
  435. package/build-module/components/url-input/index.js +4 -1
  436. package/build-module/components/url-input/index.js.map +1 -1
  437. package/build-module/components/use-block-drop-zone/index.js +31 -7
  438. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  439. package/build-module/components/writing-flow/index.js +2 -1
  440. package/build-module/components/writing-flow/index.js.map +1 -1
  441. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  442. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  443. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  444. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  445. package/build-module/components/writing-flow/use-input.js +31 -1
  446. package/build-module/components/writing-flow/use-input.js.map +1 -1
  447. package/build-module/components/writing-flow/use-select-all.js +14 -1
  448. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  449. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  450. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  451. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  452. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  453. package/build-module/components/writing-flow/utils.js +26 -0
  454. package/build-module/components/writing-flow/utils.js.map +1 -1
  455. package/build-module/hooks/block-bindings.js +34 -31
  456. package/build-module/hooks/block-bindings.js.map +1 -1
  457. package/build-module/hooks/content-lock-ui.js +10 -30
  458. package/build-module/hooks/content-lock-ui.js.map +1 -1
  459. package/build-module/hooks/duotone.js +0 -4
  460. package/build-module/hooks/duotone.js.map +1 -1
  461. package/build-module/hooks/layout.js +4 -2
  462. package/build-module/hooks/layout.js.map +1 -1
  463. package/build-module/hooks/spacing-visualizer.js +3 -3
  464. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  465. package/build-module/hooks/style.js +1 -5
  466. package/build-module/hooks/style.js.map +1 -1
  467. package/build-module/hooks/use-bindings-attributes.js +19 -20
  468. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  469. package/build-module/hooks/use-zoom-out.js +7 -7
  470. package/build-module/hooks/use-zoom-out.js.map +1 -1
  471. package/build-module/layouts/constrained.js +44 -45
  472. package/build-module/layouts/constrained.js.map +1 -1
  473. package/build-module/layouts/flex.js +4 -1
  474. package/build-module/layouts/flex.js.map +1 -1
  475. package/build-module/layouts/grid.js +21 -18
  476. package/build-module/layouts/grid.js.map +1 -1
  477. package/build-module/layouts/utils.js +1 -7
  478. package/build-module/layouts/utils.js.map +1 -1
  479. package/build-module/private-apis.js +3 -4
  480. package/build-module/private-apis.js.map +1 -1
  481. package/build-module/store/actions.js +2 -7
  482. package/build-module/store/actions.js.map +1 -1
  483. package/build-module/store/private-actions.js +1 -0
  484. package/build-module/store/private-actions.js.map +1 -1
  485. package/build-module/store/private-keys.js +1 -0
  486. package/build-module/store/private-keys.js.map +1 -1
  487. package/build-module/store/private-selectors.js +15 -18
  488. package/build-module/store/private-selectors.js.map +1 -1
  489. package/build-module/store/reducer.js +1 -9
  490. package/build-module/store/reducer.js.map +1 -1
  491. package/build-module/store/selectors.js +22 -46
  492. package/build-module/store/selectors.js.map +1 -1
  493. package/build-module/store/utils.js +46 -0
  494. package/build-module/store/utils.js.map +1 -1
  495. package/build-module/utils/block-bindings.js +17 -12
  496. package/build-module/utils/block-bindings.js.map +1 -1
  497. package/build-module/utils/dom.js +99 -0
  498. package/build-module/utils/dom.js.map +1 -1
  499. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  500. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  501. package/build-module/utils/transform-styles/index.js +120 -16
  502. package/build-module/utils/transform-styles/index.js.map +1 -1
  503. package/build-style/content-rtl.css +19 -11
  504. package/build-style/content.css +19 -11
  505. package/build-style/style-rtl.css +27 -108
  506. package/build-style/style.css +27 -108
  507. package/build-types/utils/dom.d.ts +25 -0
  508. package/build-types/utils/dom.d.ts.map +1 -1
  509. package/package.json +34 -32
  510. package/src/components/block-alignment-matrix-control/index.js +1 -1
  511. package/src/components/block-breadcrumb/index.js +2 -2
  512. package/src/components/block-breadcrumb/style.scss +1 -30
  513. package/src/components/block-canvas/index.js +9 -1
  514. package/src/components/block-compare/block-view.js +6 -1
  515. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  516. package/src/components/block-draggable/content.scss +1 -1
  517. package/src/components/block-draggable/index.js +4 -4
  518. package/src/components/block-draggable/style.scss +1 -1
  519. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  520. package/src/components/block-edit/multiple-usage-warning.js +2 -0
  521. package/src/components/block-inspector/index.js +22 -7
  522. package/src/components/block-inspector/style.scss +2 -4
  523. package/src/components/block-list/block-invalid-warning.js +3 -2
  524. package/src/components/block-list/block.js +6 -2
  525. package/src/components/block-list/content.scss +23 -3
  526. package/src/components/block-list/index.js +59 -38
  527. package/src/components/block-list/use-block-props/index.js +3 -0
  528. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  529. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +56 -0
  530. package/src/components/block-list/zoom-out-separator.js +110 -0
  531. package/src/components/block-lock/style.scss +1 -1
  532. package/src/components/block-lock/toolbar.js +3 -3
  533. package/src/components/block-mover/button.js +1 -0
  534. package/src/components/block-mover/index.js +1 -0
  535. package/src/components/block-mover/style.scss +1 -1
  536. package/src/components/block-navigation/dropdown.js +2 -0
  537. package/src/components/block-pattern-setup/index.js +3 -15
  538. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  539. package/src/components/block-pattern-setup/style.scss +2 -2
  540. package/src/components/block-patterns-list/index.js +15 -18
  541. package/src/components/block-patterns-list/style.scss +2 -2
  542. package/src/components/block-patterns-paging/index.js +6 -0
  543. package/src/components/block-popover/index.js +7 -28
  544. package/src/components/block-popover/style.scss +1 -1
  545. package/src/components/block-quick-navigation/index.js +2 -0
  546. package/src/components/block-settings-menu-controls/index.js +7 -1
  547. package/src/components/block-switcher/index.js +45 -23
  548. package/src/components/block-switcher/pattern-transformations-menu.js +3 -12
  549. package/src/components/block-switcher/style.scss +5 -30
  550. package/src/components/block-toolbar/index.js +27 -11
  551. package/src/components/block-toolbar/shuffle.js +9 -7
  552. package/src/components/block-toolbar/style.scss +4 -1
  553. package/src/components/block-tools/block-selection-button.js +4 -0
  554. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  555. package/src/components/block-tools/index.js +1 -1
  556. package/src/components/block-tools/style.scss +3 -4
  557. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  558. package/src/components/block-tools/zoom-out-mode-inserters.js +2 -17
  559. package/src/components/block-tools/zoom-out-popover.js +3 -7
  560. package/src/components/block-tools/zoom-out-toolbar.js +31 -6
  561. package/src/components/block-variation-picker/README.md +2 -2
  562. package/src/components/block-variation-picker/index.js +6 -1
  563. package/src/components/block-variation-transforms/index.js +2 -0
  564. package/src/components/block-variation-transforms/style.scss +1 -1
  565. package/src/components/button-block-appender/content.scss +0 -1
  566. package/src/components/button-block-appender/index.js +30 -28
  567. package/src/components/color-palette/test/control.js +15 -2
  568. package/src/components/colors-gradients/dropdown.js +5 -1
  569. package/src/components/colors-gradients/style.scss +4 -4
  570. package/src/components/content-lock/index.js +1 -0
  571. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  572. package/src/components/default-block-appender/content.scss +0 -1
  573. package/src/components/editor-styles/index.js +4 -3
  574. package/src/components/global-styles/background-panel.js +6 -14
  575. package/src/components/global-styles/color-panel.js +8 -4
  576. package/src/components/global-styles/color-panel.native.js +2 -2
  577. package/src/components/global-styles/dimensions-panel.js +40 -40
  578. package/src/components/global-styles/filters-panel.js +5 -1
  579. package/src/components/global-styles/shadow-panel-components.js +11 -15
  580. package/src/components/global-styles/style.scss +3 -4
  581. package/src/components/global-styles/test/typography-utils.js +96 -5
  582. package/src/components/global-styles/test/utils.js +10 -0
  583. package/src/components/global-styles/typography-utils.js +22 -6
  584. package/src/components/global-styles/utils.js +4 -6
  585. package/src/components/grid/grid-item-movers.js +3 -3
  586. package/src/components/grid/style.scss +1 -1
  587. package/src/components/iframe/get-compatibility-styles.js +6 -1
  588. package/src/components/iframe/index.js +5 -5
  589. package/src/components/inner-blocks/index.js +2 -2
  590. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  591. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  592. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  593. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +32 -15
  594. package/src/components/inserter/index.js +4 -10
  595. package/src/components/inserter/library.js +0 -2
  596. package/src/components/inserter/media-tab/hooks.js +3 -3
  597. package/src/components/inserter/media-tab/media-list.js +1 -7
  598. package/src/components/inserter/media-tab/media-preview.js +15 -8
  599. package/src/components/inserter/media-tab/media-tab.js +2 -0
  600. package/src/components/inserter/menu.js +15 -29
  601. package/src/components/inserter/quick-inserter.js +3 -4
  602. package/src/components/inserter/style.scss +10 -8
  603. package/src/components/inserter-list-item/index.js +4 -4
  604. package/src/components/inserter-list-item/style.scss +1 -3
  605. package/src/components/inserter-listbox/index.js +2 -11
  606. package/src/components/inserter-listbox/item.js +12 -14
  607. package/src/components/inserter-listbox/row.js +2 -9
  608. package/src/components/inspector-controls/groups.js +2 -0
  609. package/src/components/inspector-controls-tabs/index.js +2 -0
  610. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  611. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  612. package/src/components/inspector-popover-header/index.js +4 -0
  613. package/src/components/letter-spacing-control/README.md +8 -1
  614. package/src/components/letter-spacing-control/index.js +7 -4
  615. package/src/components/link-control/index.js +17 -8
  616. package/src/components/link-control/settings-drawer.js +2 -0
  617. package/src/components/link-control/style.scss +1 -3
  618. package/src/components/list-view/block-select-button.js +2 -0
  619. package/src/components/list-view/index.js +3 -8
  620. package/src/components/list-view/style.scss +14 -16
  621. package/src/components/media-placeholder/README.md +2 -2
  622. package/src/components/media-placeholder/index.js +21 -4
  623. package/src/components/media-replace-flow/index.js +12 -1
  624. package/src/components/provider/use-block-sync.js +20 -20
  625. package/src/components/responsive-block-control/README.md +3 -27
  626. package/src/components/rich-text/content.scss +1 -1
  627. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  628. package/src/components/rich-text/index.js +54 -41
  629. package/src/components/rich-text/style.scss +1 -1
  630. package/src/components/rich-text/use-mark-persistent.js +5 -5
  631. package/src/components/skip-to-selected-block/index.js +2 -0
  632. package/src/components/spacing-sizes-control/style.scss +1 -0
  633. package/src/components/tool-selector/index.js +2 -0
  634. package/src/components/url-input/button.js +6 -0
  635. package/src/components/url-input/index.js +2 -0
  636. package/src/components/url-popover/stories/index.story.js +7 -1
  637. package/src/components/use-block-drop-zone/index.js +37 -5
  638. package/src/components/warning/content.scss +3 -10
  639. package/src/components/writing-flow/index.js +2 -0
  640. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  641. package/src/components/writing-flow/use-event-redirect.js +72 -0
  642. package/src/components/writing-flow/use-input.js +36 -1
  643. package/src/components/writing-flow/use-select-all.js +18 -1
  644. package/src/components/writing-flow/use-selection-observer.js +23 -3
  645. package/src/components/writing-flow/use-tab-nav.js +4 -4
  646. package/src/components/writing-flow/utils.js +30 -0
  647. package/src/hooks/block-bindings.js +42 -43
  648. package/src/hooks/block-bindings.scss +1 -9
  649. package/src/hooks/content-lock-ui.js +11 -36
  650. package/src/hooks/duotone.js +0 -4
  651. package/src/hooks/layout.js +2 -1
  652. package/src/hooks/layout.scss +5 -27
  653. package/src/hooks/spacing-visualizer.js +3 -3
  654. package/src/hooks/style.js +1 -4
  655. package/src/hooks/use-bindings-attributes.js +23 -24
  656. package/src/hooks/use-zoom-out.js +7 -7
  657. package/src/layouts/constrained.js +53 -48
  658. package/src/layouts/flex.js +2 -0
  659. package/src/layouts/grid.js +29 -22
  660. package/src/layouts/test/grid.js +2 -2
  661. package/src/layouts/test/utils.js +6 -8
  662. package/src/layouts/utils.js +1 -9
  663. package/src/private-apis.js +2 -2
  664. package/src/store/actions.js +4 -6
  665. package/src/store/private-actions.js +1 -0
  666. package/src/store/private-keys.js +1 -0
  667. package/src/store/private-selectors.js +18 -14
  668. package/src/store/reducer.js +0 -7
  669. package/src/store/selectors.js +32 -51
  670. package/src/store/utils.js +50 -0
  671. package/src/utils/block-bindings.js +15 -16
  672. package/src/utils/dom.js +117 -0
  673. package/src/utils/get-font-styles-and-weights.js +12 -4
  674. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  675. package/src/utils/test/transform-styles.js +259 -50
  676. package/src/utils/transform-styles/index.js +132 -21
  677. package/tsconfig.json +1 -0
  678. package/tsconfig.tsbuildinfo +1 -1
  679. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -87,6 +87,7 @@ function BlockMover( {
87
87
  <BlockDraggable clientIds={ clientIds } fadeWhenDisabled>
88
88
  { ( draggableProps ) => (
89
89
  <Button
90
+ __next40pxDefaultSize
90
91
  icon={ dragHandle }
91
92
  className="block-editor-block-mover__drag-handle"
92
93
  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 }
@@ -3,10 +3,7 @@
3
3
  */
4
4
  import { useDispatch } from '@wordpress/data';
5
5
  import { cloneBlock } from '@wordpress/blocks';
6
- import {
7
- VisuallyHidden,
8
- privateApis as componentsPrivateApis,
9
- } from '@wordpress/components';
6
+ import { Composite, VisuallyHidden } from '@wordpress/components';
10
7
 
11
8
  import { useState } from '@wordpress/element';
12
9
  import { useInstanceId } from '@wordpress/compose';
@@ -20,13 +17,6 @@ import BlockPreview from '../block-preview';
20
17
  import SetupToolbar from './setup-toolbar';
21
18
  import usePatternsSetup from './use-patterns-setup';
22
19
  import { VIEWMODES } from './constants';
23
- import { unlock } from '../../lock-unlock';
24
-
25
- const {
26
- CompositeV2: Composite,
27
- CompositeItemV2: CompositeItem,
28
- useCompositeStoreV2: useCompositeStore,
29
- } = unlock( componentsPrivateApis );
30
20
 
31
21
  const SetupContent = ( {
32
22
  viewMode,
@@ -35,7 +25,6 @@ const SetupContent = ( {
35
25
  onBlockPatternSelect,
36
26
  showTitles,
37
27
  } ) => {
38
- const compositeStore = useCompositeStore();
39
28
  const containerClass = 'block-editor-block-pattern-setup__container';
40
29
 
41
30
  if ( viewMode === VIEWMODES.carousel ) {
@@ -65,7 +54,6 @@ const SetupContent = ( {
65
54
  return (
66
55
  <div className="block-editor-block-pattern-setup__grid">
67
56
  <Composite
68
- store={ compositeStore }
69
57
  role="listbox"
70
58
  className={ containerClass }
71
59
  aria-label={ __( 'Patterns list' ) }
@@ -92,7 +80,7 @@ function BlockPattern( { pattern, onSelect, showTitles } ) {
92
80
  );
93
81
  return (
94
82
  <div className={ `${ baseClassName }__list-item` }>
95
- <CompositeItem
83
+ <Composite.Item
96
84
  render={
97
85
  <div
98
86
  aria-describedby={
@@ -120,7 +108,7 @@ function BlockPattern( { pattern, onSelect, showTitles } ) {
120
108
  { description }
121
109
  </VisuallyHidden>
122
110
  ) }
123
- </CompositeItem>
111
+ </Composite.Item>
124
112
  </div>
125
113
  );
126
114
  }
@@ -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
 
@@ -9,9 +9,9 @@ import clsx from 'clsx';
9
9
  import { cloneBlock } from '@wordpress/blocks';
10
10
  import { useEffect, useState, forwardRef, useMemo } from '@wordpress/element';
11
11
  import {
12
+ Composite,
12
13
  VisuallyHidden,
13
14
  Tooltip,
14
- privateApis as componentsPrivateApis,
15
15
  __experimentalHStack as HStack,
16
16
  } from '@wordpress/components';
17
17
  import { useInstanceId } from '@wordpress/compose';
@@ -21,18 +21,11 @@ import { Icon, symbol } from '@wordpress/icons';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import { unlock } from '../../lock-unlock';
25
24
  import BlockPreview from '../block-preview';
26
25
  import InserterDraggableBlocks from '../inserter-draggable-blocks';
27
26
  import BlockPatternsPaging from '../block-patterns-paging';
28
27
  import { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';
29
28
 
30
- const {
31
- CompositeV2: Composite,
32
- CompositeItemV2: CompositeItem,
33
- useCompositeStoreV2: useCompositeStore,
34
- } = unlock( componentsPrivateApis );
35
-
36
29
  const WithToolTip = ( { showTooltip, title, children } ) => {
37
30
  if ( showTooltip ) {
38
31
  return <Tooltip text={ title }>{ children }</Tooltip>;
@@ -107,7 +100,7 @@ function BlockPattern( {
107
100
  }
108
101
  title={ pattern.title }
109
102
  >
110
- <CompositeItem
103
+ <Composite.Item
111
104
  render={
112
105
  <div
113
106
  role="option"
@@ -176,7 +169,7 @@ function BlockPattern( {
176
169
  { pattern.description }
177
170
  </VisuallyHidden>
178
171
  ) }
179
- </CompositeItem>
172
+ </Composite.Item>
180
173
  </WithToolTip>
181
174
  </div>
182
175
  ) }
@@ -206,19 +199,23 @@ function BlockPatternsList(
206
199
  },
207
200
  ref
208
201
  ) {
209
- const compositeStore = useCompositeStore( { orientation } );
210
- const { setActiveId } = compositeStore;
202
+ const [ activeCompositeId, setActiveCompositeId ] = useState( undefined );
211
203
 
212
204
  useEffect( () => {
213
- // We reset the active composite item whenever the
214
- // available patterns change, to make sure that
215
- // focus is put back to the start.
216
- setActiveId( undefined );
217
- }, [ setActiveId, shownPatterns, blockPatterns ] );
205
+ // Reset the active composite item whenever the available patterns change,
206
+ // to make sure that Composite widget can receive focus correctly when its
207
+ // composite items change. The first composite item will receive focus.
208
+ const firstCompositeItemId = blockPatterns.find( ( pattern ) =>
209
+ shownPatterns.includes( pattern )
210
+ )?.name;
211
+ setActiveCompositeId( firstCompositeItemId );
212
+ }, [ shownPatterns, blockPatterns ] );
218
213
 
219
214
  return (
220
215
  <Composite
221
- store={ compositeStore }
216
+ orientation={ orientation }
217
+ activeId={ activeCompositeId }
218
+ setActiveId={ setActiveCompositeId }
222
219
  role="listbox"
223
220
  className="block-editor-block-patterns-list"
224
221
  aria-label={ label }
@@ -36,12 +36,12 @@
36
36
  display: flex;
37
37
  align-items: center;
38
38
  overflow: hidden;
39
- border-radius: $radius-block-ui;
39
+ border-radius: $radius-medium;
40
40
 
41
41
  &::after {
42
42
  outline: $border-width solid rgba($black, 0.1);
43
43
  outline-offset: -$border-width;
44
- border-radius: $radius-block-ui;
44
+ border-radius: $radius-medium;
45
45
  }
46
46
  }
47
47
 
@@ -38,6 +38,8 @@ export default function Pagination( {
38
38
  className="block-editor-patterns__grid-pagination-previous"
39
39
  >
40
40
  <Button
41
+ // TODO: Switch to `true` (40px size) if possible
42
+ __next40pxDefaultSize={ false }
41
43
  variant="tertiary"
42
44
  onClick={ () => changePage( 1 ) }
43
45
  disabled={ currentPage === 1 }
@@ -47,6 +49,8 @@ export default function Pagination( {
47
49
  <span>«</span>
48
50
  </Button>
49
51
  <Button
52
+ // TODO: Switch to `true` (40px size) if possible
53
+ __next40pxDefaultSize={ false }
50
54
  variant="tertiary"
51
55
  onClick={ () => changePage( currentPage - 1 ) }
52
56
  disabled={ currentPage === 1 }
@@ -70,6 +74,8 @@ export default function Pagination( {
70
74
  className="block-editor-patterns__grid-pagination-next"
71
75
  >
72
76
  <Button
77
+ // TODO: Switch to `true` (40px size) if possible
78
+ __next40pxDefaultSize={ false }
73
79
  variant="tertiary"
74
80
  onClick={ () => changePage( currentPage + 1 ) }
75
81
  disabled={ currentPage === numPages }
@@ -20,6 +20,7 @@ import {
20
20
  */
21
21
  import { useBlockElement } from '../block-list/use-block-props/use-block-refs';
22
22
  import usePopoverScroll from './use-popover-scroll';
23
+ import { rectUnion, getVisibleElementBounds } from '../../utils/dom';
23
24
 
24
25
  const MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;
25
26
 
@@ -87,34 +88,12 @@ function BlockPopover(
87
88
 
88
89
  return {
89
90
  getBoundingClientRect() {
90
- const selectedBCR = selectedElement.getBoundingClientRect();
91
- const lastSelectedBCR =
92
- lastSelectedElement?.getBoundingClientRect();
93
-
94
- // Get the biggest rectangle that encompasses completely the currently
95
- // selected element and the last selected element:
96
- // - for top/left coordinates, use the smaller numbers
97
- // - for the bottom/right coordinates, use the largest numbers
98
- const left = Math.min(
99
- selectedBCR.left,
100
- lastSelectedBCR?.left ?? Infinity
101
- );
102
- const top = Math.min(
103
- selectedBCR.top,
104
- lastSelectedBCR?.top ?? Infinity
105
- );
106
- const right = Math.max(
107
- selectedBCR.right,
108
- lastSelectedBCR.right ?? -Infinity
109
- );
110
- const bottom = Math.max(
111
- selectedBCR.bottom,
112
- lastSelectedBCR.bottom ?? -Infinity
113
- );
114
- const width = right - left;
115
- const height = bottom - top;
116
-
117
- return new window.DOMRect( left, top, width, height );
91
+ return lastSelectedElement
92
+ ? rectUnion(
93
+ getVisibleElementBounds( selectedElement ),
94
+ getVisibleElementBounds( lastSelectedElement )
95
+ )
96
+ : getVisibleElementBounds( selectedElement );
118
97
  },
119
98
  contextElement: selectedElement,
120
99
  };
@@ -57,6 +57,6 @@
57
57
  position: absolute;
58
58
  inset: 0;
59
59
  background-color: var(--wp-admin-theme-color);
60
- border-radius: 2px;
60
+ border-radius: $radius-small;
61
61
  }
62
62
  }
@@ -59,6 +59,8 @@ function BlockQuickNavigationItem( { clientId, onSelect } ) {
59
59
 
60
60
  return (
61
61
  <Button
62
+ // TODO: Switch to `true` (40px size) if possible
63
+ __next40pxDefaultSize={ false }
62
64
  isPressed={ isSelected }
63
65
  onClick={ async () => {
64
66
  await selectBlock( clientId );
@@ -21,7 +21,7 @@ import {
21
21
  import { BlockLockMenuItem, useBlockLock } from '../block-lock';
22
22
  import { store as blockEditorStore } from '../../store';
23
23
  import BlockModeToggle from '../block-settings-menu/block-mode-toggle';
24
-
24
+ import { ModifyContentLockMenuItem } from '../content-lock';
25
25
  import { BlockRenameControl, useBlockRename } from '../block-rename';
26
26
 
27
27
  const { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );
@@ -108,6 +108,12 @@ const BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => {
108
108
  { __( 'Move to' ) }
109
109
  </MenuItem>
110
110
  ) }
111
+ { selectedClientIds.length === 1 && (
112
+ <ModifyContentLockMenuItem
113
+ clientId={ selectedClientIds[ 0 ] }
114
+ onClose={ fillProps?.onClose }
115
+ />
116
+ ) }
111
117
  { fillProps?.count === 1 && ! isContentOnly && (
112
118
  <BlockModeToggle
113
119
  clientId={ fillProps?.firstBlockClientId }
@@ -181,8 +181,24 @@ function BlockSwitcherDropdownMenuContents( {
181
181
  );
182
182
  }
183
183
 
184
+ const BlockIndicator = ( { icon, showTitle, blockTitle } ) => (
185
+ <>
186
+ <BlockIcon
187
+ className="block-editor-block-switcher__toggle"
188
+ icon={ icon }
189
+ showColors
190
+ />
191
+ { showTitle && blockTitle && (
192
+ <span className="block-editor-block-switcher__toggle-text">
193
+ { blockTitle }
194
+ </span>
195
+ ) }
196
+ </>
197
+ );
198
+
184
199
  export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
185
200
  const {
201
+ hasContentOnlyLocking,
186
202
  canRemove,
187
203
  hasBlockStyles,
188
204
  icon,
@@ -191,8 +207,12 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
191
207
  isTemplate,
192
208
  } = useSelect(
193
209
  ( select ) => {
194
- const { getBlocksByClientId, getBlockAttributes, canRemoveBlocks } =
195
- select( blockEditorStore );
210
+ const {
211
+ getTemplateLock,
212
+ getBlocksByClientId,
213
+ getBlockAttributes,
214
+ canRemoveBlocks,
215
+ } = select( blockEditorStore );
196
216
  const { getBlockStyles, getBlockType, getActiveBlockVariation } =
197
217
  select( blocksStore );
198
218
  const _blocks = getBlocksByClientId( clientIds );
@@ -204,6 +224,7 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
204
224
  const blockType = getBlockType( firstBlockName );
205
225
 
206
226
  let _icon;
227
+ let _hasTemplateLock;
207
228
  if ( _isSingleBlockSelected ) {
208
229
  const match = getActiveBlockVariation(
209
230
  firstBlockName,
@@ -211,9 +232,14 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
211
232
  );
212
233
  // Take into account active block variations.
213
234
  _icon = match?.icon || blockType.icon;
235
+ _hasTemplateLock =
236
+ getTemplateLock( clientIds[ 0 ] ) === 'contentOnly';
214
237
  } else {
215
238
  const isSelectionOfSameType =
216
239
  new Set( _blocks.map( ( { name } ) => name ) ).size === 1;
240
+ _hasTemplateLock = clientIds.some(
241
+ ( id ) => getTemplateLock( id ) === 'contentOnly'
242
+ );
217
243
  // When selection consists of blocks of multiple types, display an
218
244
  // appropriate icon to communicate the non-uniformity.
219
245
  _icon = isSelectionOfSameType ? blockType.icon : copy;
@@ -229,6 +255,7 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
229
255
  _isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),
230
256
  isTemplate:
231
257
  _isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),
258
+ hasContentOnlyLocking: _hasTemplateLock,
232
259
  };
233
260
  },
234
261
  [ clientIds ]
@@ -237,6 +264,7 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
237
264
  clientId: clientIds?.[ 0 ],
238
265
  maximumLength: 35,
239
266
  } );
267
+
240
268
  if ( invalidBlocks ) {
241
269
  return null;
242
270
  }
@@ -246,7 +274,11 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
246
274
  ? blockTitle
247
275
  : __( 'Multiple blocks selected' );
248
276
 
249
- const hideDropdown = disabled || ( ! hasBlockStyles && ! canRemove );
277
+ const hideDropdown =
278
+ disabled ||
279
+ ( ! hasBlockStyles && ! canRemove ) ||
280
+ hasContentOnlyLocking;
281
+
250
282
  if ( hideDropdown ) {
251
283
  return (
252
284
  <ToolbarGroup>
@@ -255,14 +287,11 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
255
287
  className="block-editor-block-switcher__no-switcher-icon"
256
288
  title={ blockSwitcherLabel }
257
289
  icon={
258
- <>
259
- <BlockIcon icon={ icon } showColors />
260
- { ( isReusable || isTemplate ) && (
261
- <span className="block-editor-block-switcher__toggle-text">
262
- { blockTitle }
263
- </span>
264
- ) }
265
- </>
290
+ <BlockIndicator
291
+ icon={ icon }
292
+ showTitle={ isReusable || isTemplate }
293
+ blockTitle={ blockTitle }
294
+ />
266
295
  }
267
296
  />
268
297
  </ToolbarGroup>
@@ -292,18 +321,11 @@ export const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {
292
321
  className: 'block-editor-block-switcher__popover',
293
322
  } }
294
323
  icon={
295
- <>
296
- <BlockIcon
297
- icon={ icon }
298
- className="block-editor-block-switcher__toggle"
299
- showColors
300
- />
301
- { ( isReusable || isTemplate ) && (
302
- <span className="block-editor-block-switcher__toggle-text">
303
- { blockTitle }
304
- </span>
305
- ) }
306
- </>
324
+ <BlockIndicator
325
+ icon={ icon }
326
+ showTitle={ isReusable || isTemplate }
327
+ blockTitle={ blockTitle }
328
+ />
307
329
  }
308
330
  toggleProps={ {
309
331
  description: blockSwitcherDescription,
@@ -7,11 +7,11 @@ import { useInstanceId, useViewportMatch } from '@wordpress/compose';
7
7
  import { chevronRight } from '@wordpress/icons';
8
8
 
9
9
  import {
10
+ Composite,
10
11
  MenuGroup,
11
12
  MenuItem,
12
13
  Popover,
13
14
  VisuallyHidden,
14
- privateApis as componentsPrivateApis,
15
15
  } from '@wordpress/components';
16
16
 
17
17
  /**
@@ -19,13 +19,6 @@ import {
19
19
  */
20
20
  import BlockPreview from '../block-preview';
21
21
  import useTransformedPatterns from './use-transformed-patterns';
22
- import { unlock } from '../../lock-unlock';
23
-
24
- const {
25
- CompositeV2: Composite,
26
- CompositeItemV2: CompositeItem,
27
- useCompositeStoreV2: useCompositeStore,
28
- } = unlock( componentsPrivateApis );
29
22
 
30
23
  function PatternTransformationsMenu( {
31
24
  blocks,
@@ -82,10 +75,8 @@ function PreviewPatternsPopover( { patterns, onSelect } ) {
82
75
  }
83
76
 
84
77
  function BlockPatternsList( { patterns, onSelect } ) {
85
- const composite = useCompositeStore();
86
78
  return (
87
79
  <Composite
88
- store={ composite }
89
80
  role="listbox"
90
81
  className="block-editor-block-switcher__preview-patterns-container"
91
82
  aria-label={ __( 'Patterns list' ) }
@@ -111,7 +102,7 @@ function BlockPattern( { pattern, onSelect } ) {
111
102
  );
112
103
  return (
113
104
  <div className={ `${ baseClassName }-list__list-item` }>
114
- <CompositeItem
105
+ <Composite.Item
115
106
  render={
116
107
  <div
117
108
  role="option"
@@ -131,7 +122,7 @@ function BlockPattern( { pattern, onSelect } ) {
131
122
  <div className={ `${ baseClassName }-list__item-title` }>
132
123
  { pattern.title }
133
124
  </div>
134
- </CompositeItem>
125
+ </Composite.Item>
135
126
  { !! pattern.description && (
136
127
  <VisuallyHidden id={ descriptionId }>
137
128
  { pattern.description }
@@ -46,40 +46,15 @@
46
46
  }
47
47
 
48
48
  // Even when the block switcher does not have any transformations, it still serves as a block indicator.
49
- .components-button.block-editor-block-switcher__no-switcher-icon:disabled {
50
- opacity: 1;
49
+ .components-button.block-editor-block-switcher__no-switcher-icon[aria-disabled="true"] {
50
+ color: $gray-900;
51
51
 
52
52
  // Since it's not clickable, though, don't show a hover state.
53
- &,
54
- .block-editor-block-icon.has-colors {
53
+ &:hover {
55
54
  color: $gray-900;
56
55
  }
57
56
  }
58
57
 
59
- // Style this the same as the block buttons in the library.
60
- // Needs specificity to override the icon button.
61
- .block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon,
62
- .block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__no-switcher-icon.has-icon.has-icon,
63
- .block-editor-block-toolbar .components-toolbar-group .components-button.block-editor-block-switcher__toggle.has-icon.has-icon,
64
- .block-editor-block-toolbar .components-toolbar .components-button.block-editor-block-switcher__toggle.has-icon.has-icon {
65
- .block-editor-block-icon {
66
- height: 100%;
67
- position: relative;
68
- margin: 0 auto;
69
- display: flex;
70
- align-items: center;
71
- min-width: 100%;
72
- }
73
-
74
- // Position the focus style correctly.
75
- &::before {
76
- top: $grid-unit-10;
77
- right: $grid-unit-10;
78
- bottom: $grid-unit-10;
79
- left: $grid-unit-10;
80
- }
81
- }
82
-
83
58
  .components-popover.block-editor-block-switcher__popover .components-popover__content {
84
59
  min-width: 300px;
85
60
  }
@@ -100,7 +75,7 @@
100
75
  width: 300px;
101
76
  border: $border-width solid $gray-900;
102
77
  background: $white;
103
- border-radius: $radius-block-ui;
78
+ border-radius: $radius-medium;
104
79
  outline: none;
105
80
  box-shadow: none;
106
81
  overflow: auto;
@@ -162,7 +137,7 @@
162
137
 
163
138
  .block-editor-block-switcher__preview-patterns-container-list__item {
164
139
  height: 100%;
165
- border-radius: $radius-block-ui;
140
+ border-radius: $radius-small;
166
141
  transition: all 0.05s ease-in-out;
167
142
  position: relative;
168
143
  border: $border-width solid transparent;