@wordpress/block-editor 15.23.0 → 16.0.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 (684) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/build/autocompleters/block.cjs +10 -2
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/background-image-control/index.cjs +0 -2
  5. package/build/components/background-image-control/index.cjs.map +2 -2
  6. package/build/components/block-canvas/index.cjs +6 -1
  7. package/build/components/block-canvas/index.cjs.map +2 -2
  8. package/build/components/block-controls/groups.cjs +3 -1
  9. package/build/components/block-controls/groups.cjs.map +2 -2
  10. package/build/components/block-edit/edit.cjs +10 -18
  11. package/build/components/block-edit/edit.cjs.map +2 -2
  12. package/build/components/block-inspector/edit-contents.cjs +3 -0
  13. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  14. package/build/components/block-inspector/index.cjs +2 -3
  15. package/build/components/block-inspector/index.cjs.map +2 -2
  16. package/build/components/block-list/block-invalid-warning.cjs +8 -19
  17. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  18. package/build/components/block-list/block.cjs +9 -3
  19. package/build/components/block-list/block.cjs.map +3 -3
  20. package/build/components/block-list/index.cjs +1 -3
  21. package/build/components/block-list/index.cjs.map +2 -2
  22. package/build/components/block-list/use-block-props/index.cjs +3 -1
  23. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  24. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  25. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  26. package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
  27. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  28. package/build/components/block-styles/use-styles-for-block.cjs +2 -1
  29. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  30. package/build/components/block-title/use-block-display-title.cjs +7 -2
  31. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  32. package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
  33. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  34. package/build/components/block-toolbar/index.cjs +43 -24
  35. package/build/components/block-toolbar/index.cjs.map +2 -2
  36. package/build/components/block-tools/index.cjs +7 -2
  37. package/build/components/block-tools/index.cjs.map +2 -2
  38. package/build/components/block-variation-transforms/index.cjs +0 -1
  39. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  40. package/build/components/block-visibility/modal.cjs +20 -6
  41. package/build/components/block-visibility/modal.cjs.map +2 -2
  42. package/build/components/block-visibility/use-block-visibility.cjs +16 -6
  43. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  44. package/build/components/block-visibility/utils.cjs +15 -2
  45. package/build/components/block-visibility/utils.cjs.map +3 -3
  46. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  47. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  48. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  49. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  50. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  51. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  52. package/build/components/child-layout-control/index.cjs +0 -6
  53. package/build/components/child-layout-control/index.cjs.map +2 -2
  54. package/build/components/colors-gradients/control.cjs +5 -5
  55. package/build/components/colors-gradients/control.cjs.map +2 -2
  56. package/build/components/date-format-picker/index.cjs +0 -1
  57. package/build/components/date-format-picker/index.cjs.map +2 -2
  58. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
  59. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  60. package/build/components/dimensions-tool/scale-tool.cjs +0 -1
  61. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  62. package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
  63. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  64. package/build/components/font-appearance-control/index.cjs +6 -25
  65. package/build/components/font-appearance-control/index.cjs.map +3 -3
  66. package/build/components/font-family/index.cjs +6 -15
  67. package/build/components/font-family/index.cjs.map +3 -3
  68. package/build/components/font-sizes/font-size-picker.cjs +1 -2
  69. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  70. package/build/components/global-styles/border-panel.cjs +0 -1
  71. package/build/components/global-styles/border-panel.cjs.map +2 -2
  72. package/build/components/global-styles/dimensions-panel.cjs +0 -3
  73. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  74. package/build/components/global-styles/state-control-badges.cjs +39 -3
  75. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  76. package/build/components/global-styles/typography-panel.cjs +4 -11
  77. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  78. package/build/components/height-control/index.cjs +0 -2
  79. package/build/components/height-control/index.cjs.map +2 -2
  80. package/build/components/html-element-control/index.cjs +0 -1
  81. package/build/components/html-element-control/index.cjs.map +2 -2
  82. package/build/components/image-editor/index.cjs +5 -0
  83. package/build/components/image-editor/index.cjs.map +3 -3
  84. package/build/components/image-editor/zoom-dropdown.cjs +0 -1
  85. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  86. package/build/components/image-size-control/index.cjs +3 -7
  87. package/build/components/image-size-control/index.cjs.map +2 -2
  88. package/build/components/inner-content/index.cjs +107 -0
  89. package/build/components/inner-content/index.cjs.map +7 -0
  90. package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
  91. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  92. package/build/components/inserter/media-tab/hooks.cjs +67 -12
  93. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  94. package/build/components/inserter/media-tab/media-list.cjs +3 -1
  95. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  96. package/build/components/inserter/media-tab/media-panel.cjs +287 -28
  97. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  98. package/build/components/inserter/media-tab/media-preview.cjs +32 -17
  99. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  100. package/build/components/inserter/media-tab/media-tab.cjs +26 -6
  101. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  102. package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
  103. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  104. package/build/components/inserter/no-results.cjs +2 -2
  105. package/build/components/inserter/no-results.cjs.map +2 -2
  106. package/build/components/inserter/preview-panel.cjs +2 -1
  107. package/build/components/inserter/preview-panel.cjs.map +2 -2
  108. package/build/components/inserter-list-item/index.cjs +8 -2
  109. package/build/components/inserter-list-item/index.cjs.map +2 -2
  110. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  111. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  112. package/build/components/letter-spacing-control/index.cjs +0 -24
  113. package/build/components/letter-spacing-control/index.cjs.map +3 -3
  114. package/build/components/line-height-control/index.cjs +6 -22
  115. package/build/components/line-height-control/index.cjs.map +3 -3
  116. package/build/components/list-view/block-select-button.cjs +90 -84
  117. package/build/components/list-view/block-select-button.cjs.map +2 -2
  118. package/build/components/list-view/block.cjs +61 -21
  119. package/build/components/list-view/block.cjs.map +2 -2
  120. package/build/components/list-view/expander.cjs +1 -1
  121. package/build/components/list-view/expander.cjs.map +2 -2
  122. package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
  123. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  124. package/build/components/media-placeholder/index.cjs +0 -1
  125. package/build/components/media-placeholder/index.cjs.map +2 -2
  126. package/build/components/observe-typing/index.cjs +4 -3
  127. package/build/components/observe-typing/index.cjs.map +2 -2
  128. package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
  129. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  130. package/build/components/preset-input-control/index.cjs +1 -3
  131. package/build/components/preset-input-control/index.cjs.map +2 -2
  132. package/build/components/resolution-tool/index.cjs +1 -2
  133. package/build/components/resolution-tool/index.cjs.map +2 -2
  134. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  135. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  136. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  137. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  138. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  139. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  140. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  141. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  142. package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
  143. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  144. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  145. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  146. package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
  147. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  148. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  149. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  150. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  151. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  152. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  153. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  154. package/build/components/rich-text/index.cjs +66 -17
  155. package/build/components/rich-text/index.cjs.map +2 -2
  156. package/build/components/text-alignment-control/index.cjs +0 -1
  157. package/build/components/text-alignment-control/index.cjs.map +2 -2
  158. package/build/components/text-decoration-control/index.cjs +0 -1
  159. package/build/components/text-decoration-control/index.cjs.map +2 -2
  160. package/build/components/text-indent-control/index.cjs +0 -8
  161. package/build/components/text-indent-control/index.cjs.map +2 -2
  162. package/build/components/text-transform-control/index.cjs +0 -1
  163. package/build/components/text-transform-control/index.cjs.map +2 -2
  164. package/build/components/typewriter/index.cjs +129 -136
  165. package/build/components/typewriter/index.cjs.map +3 -3
  166. package/build/components/use-block-commands/index.cjs +21 -17
  167. package/build/components/use-block-commands/index.cjs.map +2 -2
  168. package/build/components/use-block-display-information/index.cjs +10 -8
  169. package/build/components/use-block-display-information/index.cjs.map +2 -2
  170. package/build/components/use-on-block-drop/index.cjs +3 -7
  171. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  172. package/build/components/writing-flow/index.cjs +12 -1
  173. package/build/components/writing-flow/index.cjs.map +3 -3
  174. package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
  175. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  176. package/build/components/writing-flow/use-click-selection.cjs +2 -2
  177. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  178. package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
  179. package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
  180. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  181. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  182. package/build/components/writing-flow/use-editable-root.cjs +112 -0
  183. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  184. package/build/components/writing-flow/use-home-end.cjs +64 -0
  185. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  186. package/build/components/writing-flow/use-input.cjs +15 -5
  187. package/build/components/writing-flow/use-input.cjs.map +2 -2
  188. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  189. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  190. package/build/components/writing-flow/use-select-all.cjs +14 -2
  191. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  192. package/build/components/writing-flow/use-selection-observer.cjs +126 -20
  193. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  194. package/build/components/writing-flow/utils.cjs +39 -2
  195. package/build/components/writing-flow/utils.cjs.map +2 -2
  196. package/build/components/writing-mode-control/index.cjs +0 -1
  197. package/build/components/writing-mode-control/index.cjs.map +2 -2
  198. package/build/hooks/background.cjs +3 -2
  199. package/build/hooks/background.cjs.map +2 -2
  200. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  201. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  202. package/build/hooks/elements.cjs +1 -1
  203. package/build/hooks/elements.cjs.map +2 -2
  204. package/build/hooks/font-size.cjs +1 -2
  205. package/build/hooks/font-size.cjs.map +2 -2
  206. package/build/hooks/grid-visualizer.cjs +5 -3
  207. package/build/hooks/grid-visualizer.cjs.map +2 -2
  208. package/build/hooks/layout-child.cjs +22 -12
  209. package/build/hooks/layout-child.cjs.map +3 -3
  210. package/build/hooks/layout.cjs +33 -16
  211. package/build/hooks/layout.cjs.map +3 -3
  212. package/build/hooks/position.cjs +36 -16
  213. package/build/hooks/position.cjs.map +2 -2
  214. package/build/hooks/states.cjs +29 -12
  215. package/build/hooks/states.cjs.map +3 -3
  216. package/build/hooks/style.cjs +31 -9
  217. package/build/hooks/style.cjs.map +3 -3
  218. package/build/hooks/text-align.cjs +36 -6
  219. package/build/hooks/text-align.cjs.map +3 -3
  220. package/build/hooks/typography.cjs +1 -1
  221. package/build/hooks/typography.cjs.map +2 -2
  222. package/build/layouts/constrained.cjs +35 -27
  223. package/build/layouts/constrained.cjs.map +2 -2
  224. package/build/layouts/flex.cjs +27 -22
  225. package/build/layouts/flex.cjs.map +2 -2
  226. package/build/layouts/grid.cjs +51 -11
  227. package/build/layouts/grid.cjs.map +2 -2
  228. package/build/private-apis.cjs +4 -1
  229. package/build/private-apis.cjs.map +3 -3
  230. package/build/store/actions.cjs +2 -2
  231. package/build/store/actions.cjs.map +2 -2
  232. package/build/store/private-keys.cjs +3 -0
  233. package/build/store/private-keys.cjs.map +2 -2
  234. package/build/store/private-selectors.cjs +85 -6
  235. package/build/store/private-selectors.cjs.map +3 -3
  236. package/build/store/selectors.cjs +13 -0
  237. package/build/store/selectors.cjs.map +2 -2
  238. package/build/utils/block-bindings.cjs +29 -0
  239. package/build/utils/block-bindings.cjs.map +2 -2
  240. package/build/utils/dom.cjs +14 -0
  241. package/build/utils/dom.cjs.map +2 -2
  242. package/build-module/autocompleters/block.mjs +10 -2
  243. package/build-module/autocompleters/block.mjs.map +2 -2
  244. package/build-module/components/background-image-control/index.mjs +0 -2
  245. package/build-module/components/background-image-control/index.mjs.map +2 -2
  246. package/build-module/components/block-canvas/index.mjs +7 -2
  247. package/build-module/components/block-canvas/index.mjs.map +2 -2
  248. package/build-module/components/block-controls/groups.mjs +3 -1
  249. package/build-module/components/block-controls/groups.mjs.map +2 -2
  250. package/build-module/components/block-edit/edit.mjs +11 -18
  251. package/build-module/components/block-edit/edit.mjs.map +2 -2
  252. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  253. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  254. package/build-module/components/block-inspector/index.mjs +2 -3
  255. package/build-module/components/block-inspector/index.mjs.map +2 -2
  256. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  257. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  258. package/build-module/components/block-list/block.mjs +9 -3
  259. package/build-module/components/block-list/block.mjs.map +3 -3
  260. package/build-module/components/block-list/index.mjs +1 -3
  261. package/build-module/components/block-list/index.mjs.map +2 -2
  262. package/build-module/components/block-list/use-block-props/index.mjs +3 -1
  263. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  264. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  265. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  266. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
  267. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  268. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  269. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  270. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  271. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  272. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  273. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  274. package/build-module/components/block-toolbar/index.mjs +43 -24
  275. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  276. package/build-module/components/block-tools/index.mjs +7 -2
  277. package/build-module/components/block-tools/index.mjs.map +2 -2
  278. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  279. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  280. package/build-module/components/block-visibility/modal.mjs +22 -10
  281. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  282. package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
  283. package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
  284. package/build-module/components/block-visibility/utils.mjs +18 -3
  285. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  286. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  287. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  288. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  289. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  290. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  291. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  292. package/build-module/components/child-layout-control/index.mjs +0 -6
  293. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  294. package/build-module/components/colors-gradients/control.mjs +5 -5
  295. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  296. package/build-module/components/date-format-picker/index.mjs +0 -1
  297. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  298. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  299. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  300. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  301. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  302. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  303. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  304. package/build-module/components/font-appearance-control/index.mjs +6 -15
  305. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  306. package/build-module/components/font-family/index.mjs +6 -15
  307. package/build-module/components/font-family/index.mjs.map +2 -2
  308. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  309. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  310. package/build-module/components/global-styles/border-panel.mjs +0 -1
  311. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  312. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  313. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  314. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  315. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  316. package/build-module/components/global-styles/typography-panel.mjs +4 -11
  317. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  318. package/build-module/components/height-control/index.mjs +0 -2
  319. package/build-module/components/height-control/index.mjs.map +2 -2
  320. package/build-module/components/html-element-control/index.mjs +0 -1
  321. package/build-module/components/html-element-control/index.mjs.map +2 -2
  322. package/build-module/components/image-editor/index.mjs +5 -0
  323. package/build-module/components/image-editor/index.mjs.map +2 -2
  324. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  325. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  326. package/build-module/components/image-size-control/index.mjs +3 -7
  327. package/build-module/components/image-size-control/index.mjs.map +2 -2
  328. package/build-module/components/inner-content/index.mjs +82 -0
  329. package/build-module/components/inner-content/index.mjs.map +7 -0
  330. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  331. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  332. package/build-module/components/inserter/media-tab/hooks.mjs +66 -12
  333. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  334. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  335. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  336. package/build-module/components/inserter/media-tab/media-panel.mjs +297 -32
  337. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  338. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  339. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  340. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  341. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  342. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  343. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  344. package/build-module/components/inserter/no-results.mjs +2 -2
  345. package/build-module/components/inserter/no-results.mjs.map +2 -2
  346. package/build-module/components/inserter/preview-panel.mjs +2 -1
  347. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  348. package/build-module/components/inserter-list-item/index.mjs +8 -2
  349. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  350. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  351. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  352. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  353. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  354. package/build-module/components/line-height-control/index.mjs +6 -12
  355. package/build-module/components/line-height-control/index.mjs.map +2 -2
  356. package/build-module/components/list-view/block-select-button.mjs +90 -84
  357. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  358. package/build-module/components/list-view/block.mjs +61 -21
  359. package/build-module/components/list-view/block.mjs.map +2 -2
  360. package/build-module/components/list-view/expander.mjs +1 -1
  361. package/build-module/components/list-view/expander.mjs.map +2 -2
  362. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  363. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  364. package/build-module/components/media-placeholder/index.mjs +0 -1
  365. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  366. package/build-module/components/observe-typing/index.mjs +4 -3
  367. package/build-module/components/observe-typing/index.mjs.map +2 -2
  368. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  369. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  370. package/build-module/components/preset-input-control/index.mjs +1 -3
  371. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  372. package/build-module/components/resolution-tool/index.mjs +1 -2
  373. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  374. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  375. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  376. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  377. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  378. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  379. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  380. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  381. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  382. package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
  383. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  384. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  385. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  386. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
  387. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  388. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  389. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  390. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  391. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  392. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  393. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  394. package/build-module/components/rich-text/index.mjs +64 -13
  395. package/build-module/components/rich-text/index.mjs.map +2 -2
  396. package/build-module/components/text-alignment-control/index.mjs +0 -1
  397. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  398. package/build-module/components/text-decoration-control/index.mjs +0 -1
  399. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  400. package/build-module/components/text-indent-control/index.mjs +0 -8
  401. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  402. package/build-module/components/text-transform-control/index.mjs +0 -1
  403. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  404. package/build-module/components/typewriter/index.mjs +129 -136
  405. package/build-module/components/typewriter/index.mjs.map +2 -2
  406. package/build-module/components/use-block-commands/index.mjs +21 -17
  407. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  408. package/build-module/components/use-block-display-information/index.mjs +10 -8
  409. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  410. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  411. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  412. package/build-module/components/writing-flow/index.mjs +12 -1
  413. package/build-module/components/writing-flow/index.mjs.map +2 -2
  414. package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
  415. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  416. package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
  417. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  418. package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
  419. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  420. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  421. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  422. package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
  423. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  424. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  425. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  426. package/build-module/components/writing-flow/use-input.mjs +15 -5
  427. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  428. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  429. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  430. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  431. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  432. package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
  433. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  434. package/build-module/components/writing-flow/utils.mjs +35 -1
  435. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  436. package/build-module/components/writing-mode-control/index.mjs +0 -1
  437. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  438. package/build-module/hooks/background.mjs +3 -2
  439. package/build-module/hooks/background.mjs.map +2 -2
  440. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  441. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  442. package/build-module/hooks/elements.mjs +1 -1
  443. package/build-module/hooks/elements.mjs.map +2 -2
  444. package/build-module/hooks/font-size.mjs +1 -2
  445. package/build-module/hooks/font-size.mjs.map +2 -2
  446. package/build-module/hooks/grid-visualizer.mjs +5 -3
  447. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  448. package/build-module/hooks/layout-child.mjs +22 -12
  449. package/build-module/hooks/layout-child.mjs.map +2 -2
  450. package/build-module/hooks/layout.mjs +32 -16
  451. package/build-module/hooks/layout.mjs.map +2 -2
  452. package/build-module/hooks/position.mjs +38 -18
  453. package/build-module/hooks/position.mjs.map +2 -2
  454. package/build-module/hooks/states.mjs +29 -12
  455. package/build-module/hooks/states.mjs.map +2 -2
  456. package/build-module/hooks/style.mjs +40 -11
  457. package/build-module/hooks/style.mjs.map +2 -2
  458. package/build-module/hooks/text-align.mjs +39 -10
  459. package/build-module/hooks/text-align.mjs.map +2 -2
  460. package/build-module/hooks/typography.mjs +1 -1
  461. package/build-module/hooks/typography.mjs.map +2 -2
  462. package/build-module/layouts/constrained.mjs +35 -27
  463. package/build-module/layouts/constrained.mjs.map +2 -2
  464. package/build-module/layouts/flex.mjs +27 -22
  465. package/build-module/layouts/flex.mjs.map +2 -2
  466. package/build-module/layouts/grid.mjs +52 -11
  467. package/build-module/layouts/grid.mjs.map +2 -2
  468. package/build-module/private-apis.mjs +5 -1
  469. package/build-module/private-apis.mjs.map +2 -2
  470. package/build-module/store/actions.mjs +3 -3
  471. package/build-module/store/actions.mjs.map +2 -2
  472. package/build-module/store/private-keys.mjs +2 -0
  473. package/build-module/store/private-keys.mjs.map +2 -2
  474. package/build-module/store/private-selectors.mjs +84 -6
  475. package/build-module/store/private-selectors.mjs.map +2 -2
  476. package/build-module/store/selectors.mjs +13 -0
  477. package/build-module/store/selectors.mjs.map +2 -2
  478. package/build-module/utils/block-bindings.mjs +28 -0
  479. package/build-module/utils/block-bindings.mjs.map +2 -2
  480. package/build-module/utils/dom.mjs +13 -0
  481. package/build-module/utils/dom.mjs.map +2 -2
  482. package/build-style/content-rtl.css +15 -14
  483. package/build-style/content.css +15 -14
  484. package/build-style/default-editor-styles-rtl.css +1 -1
  485. package/build-style/default-editor-styles.css +1 -1
  486. package/build-style/style-rtl.css +144 -47
  487. package/build-style/style.css +144 -47
  488. package/build-types/components/block-context/index.d.ts +7 -0
  489. package/build-types/components/block-context/index.d.ts.map +1 -1
  490. package/build-types/utils/block-bindings.d.ts +19 -0
  491. package/build-types/utils/block-bindings.d.ts.map +1 -1
  492. package/build-types/utils/dom.d.ts +11 -0
  493. package/build-types/utils/dom.d.ts.map +1 -1
  494. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  495. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  496. package/build-types/utils/pasting.d.ts +1 -1
  497. package/build-types/utils/pasting.d.ts.map +1 -1
  498. package/package.json +46 -44
  499. package/src/autocompleters/block.js +10 -3
  500. package/src/autocompleters/test/block.js +53 -0
  501. package/src/components/background-image-control/index.js +0 -2
  502. package/src/components/block-canvas/index.js +9 -2
  503. package/src/components/block-card/style.scss +1 -1
  504. package/src/components/block-controls/groups.js +2 -0
  505. package/src/components/block-edit/edit.js +13 -31
  506. package/src/components/block-inspector/edit-contents.js +5 -1
  507. package/src/components/block-inspector/index.js +3 -2
  508. package/src/components/block-list/block-invalid-warning.js +8 -19
  509. package/src/components/block-list/block.js +6 -0
  510. package/src/components/block-list/index.js +0 -2
  511. package/src/components/block-list/use-block-props/index.js +2 -0
  512. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
  513. package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
  514. package/src/components/block-lock/style.scss +1 -1
  515. package/src/components/block-manager/style.scss +1 -1
  516. package/src/components/block-navigation/style.scss +1 -1
  517. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  518. package/src/components/block-quick-navigation/style.scss +1 -3
  519. package/src/components/block-styles/style.scss +2 -2
  520. package/src/components/block-styles/use-styles-for-block.js +1 -0
  521. package/src/components/block-title/use-block-display-title.js +7 -2
  522. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  523. package/src/components/block-toolbar/index.js +41 -18
  524. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  525. package/src/components/block-tools/index.js +7 -0
  526. package/src/components/block-types-list/style.scss +0 -1
  527. package/src/components/block-variation-transforms/index.js +0 -1
  528. package/src/components/block-visibility/modal.js +24 -10
  529. package/src/components/block-visibility/style.scss +1 -1
  530. package/src/components/block-visibility/test/use-block-visibility.js +128 -35
  531. package/src/components/block-visibility/test/utils.js +11 -0
  532. package/src/components/block-visibility/use-block-visibility.js +33 -11
  533. package/src/components/block-visibility/utils.js +31 -6
  534. package/src/components/block-visibility/viewport-menu-item.js +10 -1
  535. package/src/components/block-visibility/viewport-toolbar.js +6 -0
  536. package/src/components/block-visibility/viewport-visibility-info.js +5 -1
  537. package/src/components/button-block-appender/content.scss +1 -7
  538. package/src/components/child-layout-control/index.js +0 -6
  539. package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
  540. package/src/components/colors-gradients/control.js +4 -4
  541. package/src/components/colors-gradients/style.scss +2 -2
  542. package/src/components/date-format-picker/index.js +0 -1
  543. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  544. package/src/components/dimensions-tool/scale-tool.js +0 -1
  545. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  546. package/src/components/font-appearance-control/index.js +6 -19
  547. package/src/components/font-family/README.md +0 -9
  548. package/src/components/font-family/index.js +6 -19
  549. package/src/components/font-family/stories/index.story.jsx +1 -2
  550. package/src/components/font-sizes/font-size-picker.js +0 -1
  551. package/src/components/global-styles/border-panel.js +0 -1
  552. package/src/components/global-styles/dimensions-panel.js +0 -3
  553. package/src/components/global-styles/state-control-badges.js +45 -6
  554. package/src/components/global-styles/style.scss +5 -0
  555. package/src/components/global-styles/test/state-control-badges.js +65 -0
  556. package/src/components/global-styles/typography-panel.js +0 -7
  557. package/src/components/height-control/index.js +0 -2
  558. package/src/components/html-element-control/index.js +0 -1
  559. package/src/components/iframe/content.scss +3 -3
  560. package/src/components/image-editor/index.js +22 -0
  561. package/src/components/image-editor/zoom-dropdown.js +0 -1
  562. package/src/components/image-size-control/index.js +0 -4
  563. package/src/components/inner-content/index.js +119 -0
  564. package/src/components/inner-content/test/index.js +81 -0
  565. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  566. package/src/components/inserter/media-tab/hooks.js +114 -16
  567. package/src/components/inserter/media-tab/media-list.js +2 -0
  568. package/src/components/inserter/media-tab/media-panel.js +354 -19
  569. package/src/components/inserter/media-tab/media-preview.js +34 -17
  570. package/src/components/inserter/media-tab/media-tab.js +20 -2
  571. package/src/components/inserter/media-tab/test/hooks.js +267 -0
  572. package/src/components/inserter/media-tab/test/media-panel.js +127 -0
  573. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  574. package/src/components/inserter/no-results.js +2 -2
  575. package/src/components/inserter/preview-panel.js +1 -0
  576. package/src/components/inserter/style.scss +115 -3
  577. package/src/components/inserter-list-item/index.js +8 -2
  578. package/src/components/inserter-list-item/style.scss +0 -15
  579. package/src/components/keyboard-shortcuts/index.js +28 -11
  580. package/src/components/letter-spacing-control/README.md +0 -8
  581. package/src/components/letter-spacing-control/index.js +5 -23
  582. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  583. package/src/components/line-height-control/README.md +0 -8
  584. package/src/components/line-height-control/index.js +6 -16
  585. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  586. package/src/components/line-height-control/test/index.js +1 -7
  587. package/src/components/link-control/style.scss +2 -2
  588. package/src/components/link-control/test/index.js +6 -6
  589. package/src/components/link-picker/style.scss +1 -2
  590. package/src/components/link-picker/test/index.js +3 -1
  591. package/src/components/list-view/block-select-button.js +5 -1
  592. package/src/components/list-view/block.js +69 -23
  593. package/src/components/list-view/expander.js +5 -1
  594. package/src/components/list-view/style.scss +23 -5
  595. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  596. package/src/components/media-placeholder/index.js +0 -1
  597. package/src/components/multi-selection-inspector/style.scss +1 -1
  598. package/src/components/observe-typing/index.js +9 -4
  599. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  600. package/src/components/preset-input-control/index.js +0 -2
  601. package/src/components/resolution-tool/index.js +0 -1
  602. package/src/components/responsive-block-control/style.scss +1 -1
  603. package/src/components/responsive-block-control/test/index.js +1 -5
  604. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
  605. package/src/components/rich-text/event-listeners/delete.js +7 -4
  606. package/src/components/rich-text/event-listeners/enter.js +10 -4
  607. package/src/components/rich-text/event-listeners/input-events.js +4 -3
  608. package/src/components/rich-text/event-listeners/input-rules.js +8 -5
  609. package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
  610. package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
  611. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
  612. package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
  613. package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
  614. package/src/components/rich-text/index.js +94 -25
  615. package/src/components/skip-to-selected-block/style.scss +1 -1
  616. package/src/components/text-alignment-control/index.js +0 -1
  617. package/src/components/text-decoration-control/index.js +0 -1
  618. package/src/components/text-indent-control/index.js +7 -16
  619. package/src/components/text-transform-control/index.js +0 -1
  620. package/src/components/typewriter/index.js +228 -224
  621. package/src/components/use-block-commands/index.js +27 -17
  622. package/src/components/use-block-display-information/index.js +9 -13
  623. package/src/components/use-block-display-information/test/index.js +47 -9
  624. package/src/components/use-on-block-drop/index.js +4 -7
  625. package/src/components/writing-flow/index.js +15 -1
  626. package/src/components/writing-flow/use-arrow-nav.js +39 -12
  627. package/src/components/writing-flow/use-click-selection.js +2 -3
  628. package/src/components/writing-flow/use-clipboard-handler.js +5 -2
  629. package/src/components/writing-flow/use-drag-selection.js +1 -14
  630. package/src/components/writing-flow/use-editable-root.js +182 -0
  631. package/src/components/writing-flow/use-home-end.js +63 -0
  632. package/src/components/writing-flow/use-input.js +25 -8
  633. package/src/components/writing-flow/use-multi-selection.js +2 -3
  634. package/src/components/writing-flow/use-select-all.js +33 -3
  635. package/src/components/writing-flow/use-selection-observer.js +197 -38
  636. package/src/components/writing-flow/utils.js +83 -0
  637. package/src/components/writing-mode-control/index.js +0 -1
  638. package/src/hooks/background.js +7 -9
  639. package/src/hooks/block-fields/link/styles.scss +1 -6
  640. package/src/hooks/block-fields/media/styles.scss +1 -6
  641. package/src/hooks/block-fields/rich-text/index.js +6 -9
  642. package/src/hooks/block-hooks.scss +15 -0
  643. package/src/hooks/elements.js +0 -1
  644. package/src/hooks/font-size.js +0 -1
  645. package/src/hooks/grid-visualizer.js +40 -36
  646. package/src/hooks/layout-child.js +19 -9
  647. package/src/hooks/layout.js +53 -35
  648. package/src/hooks/position.js +44 -23
  649. package/src/hooks/states.js +36 -13
  650. package/src/hooks/style.js +67 -17
  651. package/src/hooks/test/cross-origin-isolation.js +0 -4
  652. package/src/hooks/test/layout.js +75 -1
  653. package/src/hooks/test/style.js +29 -0
  654. package/src/hooks/test/text-align.js +34 -1
  655. package/src/hooks/text-align.js +41 -10
  656. package/src/hooks/typography.js +0 -1
  657. package/src/layouts/constrained.js +56 -29
  658. package/src/layouts/flex.js +5 -4
  659. package/src/layouts/grid.js +59 -9
  660. package/src/layouts/test/constrained.js +91 -0
  661. package/src/layouts/test/grid.js +71 -0
  662. package/src/private-apis.js +4 -0
  663. package/src/store/actions.js +43 -14
  664. package/src/store/private-keys.js +1 -0
  665. package/src/store/private-selectors.js +166 -9
  666. package/src/store/selectors.js +41 -0
  667. package/src/store/test/actions.js +1 -1
  668. package/src/store/test/private-selectors.js +533 -0
  669. package/src/store/test/reducer.js +11 -11
  670. package/src/store/test/selectors.js +133 -0
  671. package/src/style.scss +1 -0
  672. package/src/utils/block-bindings.ts +50 -0
  673. package/src/utils/dom.ts +33 -0
  674. package/src/utils/test/block-bindings.js +181 -0
  675. package/build/components/rich-text/input-event.cjs +0 -50
  676. package/build/components/rich-text/input-event.cjs.map +0 -7
  677. package/build/components/rich-text/shortcut.cjs +0 -51
  678. package/build/components/rich-text/shortcut.cjs.map +0 -7
  679. package/build-module/components/rich-text/input-event.mjs +0 -25
  680. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  681. package/build-module/components/rich-text/shortcut.mjs +0 -26
  682. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  683. package/src/components/rich-text/input-event.js +0 -31
  684. package/src/components/rich-text/shortcut.js +0 -32
@@ -4,7 +4,10 @@
4
4
  import { useMemo } from '@wordpress/element';
5
5
  import { addFilter } from '@wordpress/hooks';
6
6
  import { useSelect } from '@wordpress/data';
7
- import { mergeGlobalStyles } from '@wordpress/global-styles-engine';
7
+ import {
8
+ mergeGlobalStyles,
9
+ privateApis as globalStylesEnginePrivateApis,
10
+ } from '@wordpress/global-styles-engine';
8
11
  import {
9
12
  getBlockSupport,
10
13
  getBlockType,
@@ -12,7 +15,11 @@ import {
12
15
  __EXPERIMENTAL_ELEMENTS as ELEMENTS,
13
16
  } from '@wordpress/blocks';
14
17
  import { useInstanceId } from '@wordpress/compose';
15
- import { getCSSRules, compileCSS } from '@wordpress/style-engine';
18
+ import {
19
+ getCSSRules,
20
+ compileCSS,
21
+ getCSSValueFromRawStyle,
22
+ } from '@wordpress/style-engine';
16
23
 
17
24
  /**
18
25
  * Internal dependencies
@@ -49,18 +56,14 @@ import { VALID_BLOCK_PSEUDO_STATES } from './states';
49
56
  import { buildScopedBlockSelector } from './state-utils';
50
57
  import { scopeSelector } from '../components/global-styles/utils';
51
58
  import { useBlockEditingMode } from '../components/block-editing-mode';
59
+ import { useSettings } from '../components/use-settings';
52
60
  import { store as blockEditorStore } from '../store';
53
61
  import { globalStylesDataKey } from '../store/private-keys';
54
62
  import { unlock } from '../lock-unlock';
55
63
 
56
- const BORDER_SIDES = [ 'Top', 'Right', 'Bottom', 'Left' ];
64
+ const { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );
57
65
 
58
- // Keep in sync with WP_Theme_JSON_Gutenberg::RESPONSIVE_BREAKPOINTS and
59
- // packages/global-styles-engine/src/core/render.tsx.
60
- const RESPONSIVE_BREAKPOINTS = {
61
- '@mobile': '@media (width <= 480px)',
62
- '@tablet': '@media (480px < width <= 782px)',
63
- };
66
+ const BORDER_SIDES = [ 'Top', 'Right', 'Bottom', 'Left' ];
64
67
 
65
68
  const styleSupportKeys = [
66
69
  ...TYPOGRAPHY_SUPPORT_KEYS,
@@ -202,6 +205,32 @@ function getStateFallbackDimensionStyles( stateStyles ) {
202
205
  }
203
206
  }
204
207
 
208
+ /**
209
+ * Returns CSS for text alignment in a block instance state style object.
210
+ *
211
+ * Text alignment is not generated by the style engine because base block
212
+ * alignment is serialized as a class name. State styles need a declaration
213
+ * instead so viewport and pseudo-state values can override the default class.
214
+ *
215
+ * @param {Object} stateStyles State style object.
216
+ * @param {string} selector CSS selector for the generated style.
217
+ * @return {string|undefined} CSS string with the text alignment declaration.
218
+ */
219
+ function getStateTextAlignCSS( stateStyles, selector ) {
220
+ const textAlign = stateStyles?.typography?.textAlign;
221
+
222
+ if ( typeof textAlign !== 'string' || ! textAlign ) {
223
+ return undefined;
224
+ }
225
+
226
+ const declaration = `text-align: ${ getCSSValueFromRawStyle(
227
+ textAlign
228
+ ) } !important`;
229
+ return selector
230
+ ? `${ selector } { ${ declaration }; }`
231
+ : `${ declaration };`;
232
+ }
233
+
205
234
  /**
206
235
  * Generates CSS for a block instance state style object.
207
236
  *
@@ -225,12 +254,13 @@ export function getStateStylesCSS( stateStyles, selector ) {
225
254
  const fallbackCSS = fallbackBorderStyles
226
255
  ? compileCSS( fallbackBorderStyles, { selector } )
227
256
  : undefined;
257
+ const textAlignCSS = getStateTextAlignCSS( stateStyles, selector );
228
258
  const backgroundResetCSS = getStateBackgroundResetCSS(
229
259
  stateStyles,
230
260
  selector
231
261
  );
232
262
 
233
- return [ importantCSS, fallbackCSS, backgroundResetCSS ]
263
+ return [ importantCSS, textAlignCSS, fallbackCSS, backgroundResetCSS ]
234
264
  .filter( Boolean )
235
265
  .join( '\n' );
236
266
  }
@@ -408,17 +438,25 @@ function getPseudoStateCSSRules( style, name, baseSelector ) {
408
438
  * pseudo-state styles. Generated rules are wrapped in the matching breakpoint
409
439
  * media query.
410
440
  *
411
- * @param {Object} style Block style object containing responsive states.
412
- * @param {string} name Block name.
413
- * @param {string} baseSelector Base selector used to scope generated CSS.
441
+ * @param {Object} style Block style object containing responsive states.
442
+ * @param {string} name Block name.
443
+ * @param {string} baseSelector Base selector used to scope generated CSS.
444
+ * @param {Object} viewportSettings Viewport breakpoint settings.
414
445
  * @return {string[]} Generated CSS rule strings.
415
446
  */
416
- export function getResponsiveStateCSSRules( style, name, baseSelector ) {
447
+ export function getResponsiveStateCSSRules(
448
+ style,
449
+ name,
450
+ baseSelector,
451
+ viewportSettings
452
+ ) {
417
453
  const cssRules = [];
418
454
  const validPseudoStates = VALID_BLOCK_PSEUDO_STATES[ name ] ?? [];
419
455
  const nestedStateKeys = [ 'elements', ...validPseudoStates ];
456
+ const responsiveMediaQueries =
457
+ getResponsiveMediaQueries( viewportSettings );
420
458
 
421
- Object.entries( RESPONSIVE_BREAKPOINTS ).forEach(
459
+ Object.entries( responsiveMediaQueries ).forEach(
422
460
  ( [ viewport, mediaQuery ] ) => {
423
461
  const viewportStyles = getStyleForState( style, {
424
462
  viewport,
@@ -970,6 +1008,7 @@ function useBlockProps( { name, style } ) {
970
1008
 
971
1009
  const baseElementSelector = `.${ blockElementsContainerIdentifier }`;
972
1010
  const blockElementStyles = style?.elements;
1011
+ const [ viewportSettings ] = useSettings( 'viewport' );
973
1012
 
974
1013
  const styles = useMemo( () => {
975
1014
  const cssRules = [];
@@ -988,11 +1027,22 @@ function useBlockProps( { name, style } ) {
988
1027
  );
989
1028
 
990
1029
  cssRules.push(
991
- ...getResponsiveStateCSSRules( style, name, baseElementSelector )
1030
+ ...getResponsiveStateCSSRules(
1031
+ style,
1032
+ name,
1033
+ baseElementSelector,
1034
+ viewportSettings
1035
+ )
992
1036
  );
993
1037
 
994
1038
  return cssRules.length > 0 ? cssRules.join( '' ) : undefined;
995
- }, [ baseElementSelector, blockElementStyles, name, style ] );
1039
+ }, [
1040
+ baseElementSelector,
1041
+ blockElementStyles,
1042
+ name,
1043
+ style,
1044
+ viewportSettings,
1045
+ ] );
996
1046
 
997
1047
  useStyleOverride( { css: styles } );
998
1048
 
@@ -1,7 +1,3 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
-
5
1
  describe( 'cross-origin-isolation', () => {
6
2
  let originalCrossOriginIsolated;
7
3
  let originalBody;
@@ -1,7 +1,11 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import { getResetLayout, getResponsiveLayoutStyles } from '../layout';
4
+ import {
5
+ getLayoutStateOverrides,
6
+ getResetLayout,
7
+ getResponsiveLayoutStyles,
8
+ } from '../layout';
5
9
 
6
10
  describe( 'layout', () => {
7
11
  describe( 'getResetLayout()', () => {
@@ -46,6 +50,28 @@ describe( 'layout', () => {
46
50
  } );
47
51
  } );
48
52
 
53
+ describe( 'getLayoutStateOverrides()', () => {
54
+ it( 'preserves explicit unsets for layout values inherited from the default state', () => {
55
+ expect(
56
+ getLayoutStateOverrides(
57
+ { type: 'grid', columnCount: undefined },
58
+ { type: 'grid', columnCount: 3 }
59
+ )
60
+ ).toEqual( {
61
+ columnCount: null,
62
+ } );
63
+ } );
64
+
65
+ it( 'removes undefined layout values that are not inherited from the default state', () => {
66
+ expect(
67
+ getLayoutStateOverrides(
68
+ { type: 'grid', columnCount: undefined },
69
+ { type: 'grid' }
70
+ )
71
+ ).toBeUndefined();
72
+ } );
73
+ } );
74
+
49
75
  describe( 'getResponsiveLayoutStyles()', () => {
50
76
  it( 'generates responsive block gap styles for flow layouts', () => {
51
77
  expect(
@@ -135,6 +161,54 @@ describe( 'layout', () => {
135
161
  );
136
162
  } );
137
163
 
164
+ it( 'generates responsive auto grid columns when column count is unset', () => {
165
+ expect(
166
+ getResponsiveLayoutStyles( {
167
+ attributes: {
168
+ style: {
169
+ '@mobile': {
170
+ layout: {
171
+ columnCount: null,
172
+ },
173
+ },
174
+ },
175
+ },
176
+ blockName: 'core/group',
177
+ selector: '.wp-container-test',
178
+ layout: { type: 'grid', columnCount: 3 },
179
+ hasBlockGapSupport: true,
180
+ } )
181
+ ).toBe(
182
+ '@media (width <= 480px){.wp-container-test { grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }}'
183
+ );
184
+ } );
185
+
186
+ it( 'generates responsive constrained size resets when content width is unset', () => {
187
+ const result = getResponsiveLayoutStyles( {
188
+ attributes: {
189
+ style: {
190
+ '@mobile': {
191
+ layout: {
192
+ contentSize: null,
193
+ },
194
+ },
195
+ },
196
+ },
197
+ blockName: 'core/group',
198
+ selector: '.wp-container-test',
199
+ layout: { type: 'constrained', contentSize: '800px' },
200
+ hasBlockGapSupport: true,
201
+ } );
202
+
203
+ expect( result ).toContain( '@media (width <= 480px)' );
204
+ expect( result ).toContain(
205
+ 'max-width: var(--wp--style--global--content-size, none);'
206
+ );
207
+ expect( result ).toContain(
208
+ 'max-width: var(--wp--style--global--wide-size, none);'
209
+ );
210
+ } );
211
+
138
212
  it( 'keeps responsive grid column overrides when block gap is also changed', () => {
139
213
  expect(
140
214
  getResponsiveLayoutStyles( {
@@ -300,6 +300,19 @@ describe( 'getStateStylesCSS', () => {
300
300
  '.wp-block-test { height: 20rem !important; aspect-ratio: unset !important; }'
301
301
  );
302
302
  } );
303
+
304
+ it( 'adds important text alignment declarations for state styles', () => {
305
+ expect(
306
+ getStateStylesCSS(
307
+ {
308
+ typography: {
309
+ textAlign: 'center',
310
+ },
311
+ },
312
+ '.wp-block-test'
313
+ )
314
+ ).toBe( '.wp-block-test { text-align: center !important; }' );
315
+ } );
303
316
  } );
304
317
 
305
318
  describe( 'getBlockStateStylesCSS', () => {
@@ -414,6 +427,22 @@ describe( 'getResponsiveStateCSSRules', () => {
414
427
  ] );
415
428
  } );
416
429
 
430
+ it( 'generates media-query scoped text alignment styles for viewport states', () => {
431
+ expect(
432
+ getResponsiveStateCSSRules(
433
+ {
434
+ '@mobile': {
435
+ typography: { textAlign: 'right' },
436
+ },
437
+ },
438
+ 'core/paragraph',
439
+ '.wp-elements-1'
440
+ )
441
+ ).toEqual( [
442
+ '@media (width <= 480px){.wp-elements-1 { text-align: right !important; }}',
443
+ ] );
444
+ } );
445
+
417
446
  it( 'routes viewport styles through feature selectors', () => {
418
447
  expect(
419
448
  getResponsiveStateCSSRules(
@@ -10,7 +10,11 @@ import {
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
- import { getValidTextAlignments, addAssignedTextAlign } from '../text-align';
13
+ import {
14
+ getValidTextAlignments,
15
+ addAssignedTextAlign,
16
+ getTextAlignControlGroup,
17
+ } from '../text-align';
14
18
 
15
19
  const noop = () => {};
16
20
 
@@ -62,6 +66,35 @@ describe( 'textAlign', () => {
62
66
  } );
63
67
  } );
64
68
 
69
+ describe( 'getTextAlignControlGroup()', () => {
70
+ it( 'uses the regular block slot by default', () => {
71
+ expect(
72
+ getTextAlignControlGroup( false, {
73
+ viewport: 'default',
74
+ pseudo: 'default',
75
+ } )
76
+ ).toBe( 'block' );
77
+ } );
78
+
79
+ it( 'uses the regular block slot when responsive editing has no viewport state', () => {
80
+ expect(
81
+ getTextAlignControlGroup( true, {
82
+ viewport: 'default',
83
+ pseudo: 'default',
84
+ } )
85
+ ).toBe( 'block' );
86
+ } );
87
+
88
+ it( 'uses the style-state slot when responsive editing has a viewport state', () => {
89
+ expect(
90
+ getTextAlignControlGroup( true, {
91
+ viewport: '@mobile',
92
+ pseudo: 'default',
93
+ } )
94
+ ).toBe( 'style-state' );
95
+ } );
96
+ } );
97
+
65
98
  describe( 'addAssignedTextAlign', () => {
66
99
  it( 'should do nothing if block does not support text align', () => {
67
100
  registerBlockType( 'core/foo', blockSettings );
@@ -9,6 +9,7 @@ import clsx from 'clsx';
9
9
  import { __ } from '@wordpress/i18n';
10
10
  import { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';
11
11
  import { alignLeft, alignRight, alignCenter } from '@wordpress/icons';
12
+ import { useSelect } from '@wordpress/data';
12
13
 
13
14
  /**
14
15
  * Internal dependencies
@@ -16,11 +17,14 @@ import { alignLeft, alignRight, alignCenter } from '@wordpress/icons';
16
17
  import { AlignmentControl, BlockControls } from '../components';
17
18
  import { useBlockEditingMode } from '../components/block-editing-mode';
18
19
  import {
19
- cleanEmptyObject,
20
- shouldSkipSerialization,
21
- useBlockSettings,
22
- } from './utils';
20
+ getStyleForState,
21
+ hasViewportBlockStyleState,
22
+ setStyleForState,
23
+ } from './block-style-state';
24
+ import { shouldSkipSerialization, useBlockSettings } from './utils';
23
25
  import { TYPOGRAPHY_SUPPORT_KEY } from './typography';
26
+ import { store as blockEditorStore } from '../store';
27
+ import { unlock } from '../lock-unlock';
24
28
 
25
29
  export const TEXT_ALIGN_SUPPORT_KEY = 'typography.textAlign';
26
30
 
@@ -64,7 +68,14 @@ export function getValidTextAlignments( blockTextAlign ) {
64
68
  return blockTextAlign === true ? VALID_TEXT_ALIGNMENTS : NO_TEXT_ALIGNMENTS;
65
69
  }
66
70
 
71
+ export function getTextAlignControlGroup( isResponsiveEditing, selectedState ) {
72
+ return isResponsiveEditing && hasViewportBlockStyleState( selectedState )
73
+ ? 'style-state'
74
+ : 'block';
75
+ }
76
+
67
77
  function BlockEditTextAlignmentToolbarControlsPure( {
78
+ clientId,
68
79
  style,
69
80
  name: blockName,
70
81
  setAttributes,
@@ -72,6 +83,19 @@ function BlockEditTextAlignmentToolbarControlsPure( {
72
83
  const settings = useBlockSettings( blockName );
73
84
  const hasTextAlignControl = settings?.typography?.textAlign;
74
85
  const blockEditingMode = useBlockEditingMode();
86
+ const { selectedState, isResponsiveEditing } = useSelect(
87
+ ( select ) => {
88
+ const {
89
+ getSelectedBlockStyleState,
90
+ isResponsiveEditing: getIsResponsiveEditing,
91
+ } = unlock( select( blockEditorStore ) );
92
+ return {
93
+ selectedState: getSelectedBlockStyleState( clientId ),
94
+ isResponsiveEditing: getIsResponsiveEditing(),
95
+ };
96
+ },
97
+ [ clientId ]
98
+ );
75
99
 
76
100
  if ( ! hasTextAlignControl || blockEditingMode !== 'default' ) {
77
101
  return null;
@@ -87,23 +111,30 @@ function BlockEditTextAlignmentToolbarControlsPure( {
87
111
  const textAlignmentControls = TEXT_ALIGNMENT_OPTIONS.filter( ( control ) =>
88
112
  validTextAlignments.includes( control.align )
89
113
  );
114
+ const stateStyle = getStyleForState( style, selectedState );
115
+ const controlsGroup = getTextAlignControlGroup(
116
+ isResponsiveEditing,
117
+ selectedState
118
+ );
90
119
 
91
120
  const onChange = ( newTextAlignValue ) => {
92
- const newStyle = {
93
- ...style,
121
+ const newStateStyle = {
122
+ ...stateStyle,
94
123
  typography: {
95
- ...style?.typography,
124
+ ...stateStyle?.typography,
96
125
  textAlign: newTextAlignValue,
97
126
  },
98
127
  };
99
128
 
100
- setAttributes( { style: cleanEmptyObject( newStyle ) } );
129
+ setAttributes( {
130
+ style: setStyleForState( style, selectedState, newStateStyle ),
131
+ } );
101
132
  };
102
133
 
103
134
  return (
104
- <BlockControls group="block">
135
+ <BlockControls group={ controlsGroup }>
105
136
  <AlignmentControl
106
- value={ style?.typography?.textAlign }
137
+ value={ stateStyle?.typography?.textAlign }
107
138
  onChange={ onChange }
108
139
  alignmentControls={ textAlignmentControls }
109
140
  />
@@ -214,7 +214,6 @@ export function TypographyPanel( {
214
214
  // Link color failures are reported by the Elements panel, which owns the
215
215
  // link color selection.
216
216
  const enableContrastChecking =
217
- ! isStateSelected &&
218
217
  ! value?.color?.gradient &&
219
218
  !! value?.color?.text &&
220
219
  settings?.color?.text &&
@@ -30,6 +30,9 @@ import { BlockControls, JustifyContentControl } from '../components';
30
30
  import { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';
31
31
  import { LAYOUT_DEFINITIONS } from './definitions';
32
32
 
33
+ const GLOBAL_CONTENT_SIZE = 'var(--wp--style--global--content-size, none)';
34
+ const GLOBAL_WIDE_SIZE = 'var(--wp--style--global--wide-size, none)';
35
+
33
36
  export default {
34
37
  name: 'constrained',
35
38
  label: __( 'Constrained' ),
@@ -112,24 +115,25 @@ export default {
112
115
  panelId={ clientId }
113
116
  >
114
117
  <UnitControl
115
- __next40pxDefaultSize
116
118
  label={ __( 'Content width' ) }
117
119
  labelPosition="top"
118
- value={ contentSize || wideSize || '' }
120
+ value={
121
+ contentSize === null
122
+ ? ''
123
+ : contentSize || wideSize || ''
124
+ }
119
125
  onChange={ ( nextWidth ) => {
120
126
  nextWidth =
121
127
  0 > parseFloat( nextWidth )
122
128
  ? '0'
123
129
  : nextWidth;
124
- onChange(
125
- cleanEmptyObject( {
126
- ...layout,
127
- contentSize:
128
- nextWidth !== ''
129
- ? nextWidth
130
- : undefined,
131
- } )
132
- );
130
+ onChange( {
131
+ ...layout,
132
+ contentSize:
133
+ nextWidth !== ''
134
+ ? nextWidth
135
+ : undefined,
136
+ } );
133
137
  } }
134
138
  units={ units }
135
139
  prefix={
@@ -146,24 +150,25 @@ export default {
146
150
  panelId={ clientId }
147
151
  >
148
152
  <UnitControl
149
- __next40pxDefaultSize
150
153
  label={ __( 'Wide width' ) }
151
154
  labelPosition="top"
152
- value={ wideSize || contentSize || '' }
155
+ value={
156
+ wideSize === null
157
+ ? ''
158
+ : wideSize || contentSize || ''
159
+ }
153
160
  onChange={ ( nextWidth ) => {
154
161
  nextWidth =
155
162
  0 > parseFloat( nextWidth )
156
163
  ? '0'
157
164
  : nextWidth;
158
- onChange(
159
- cleanEmptyObject( {
160
- ...layout,
161
- wideSize:
162
- nextWidth !== ''
163
- ? nextWidth
164
- : undefined,
165
- } )
166
- );
165
+ onChange( {
166
+ ...layout,
167
+ wideSize:
168
+ nextWidth !== ''
169
+ ? nextWidth
170
+ : undefined,
171
+ } );
167
172
  } }
168
173
  units={ units }
169
174
  prefix={
@@ -188,7 +193,6 @@ export default {
188
193
  panelId={ clientId }
189
194
  >
190
195
  <ToggleGroupControl
191
- __next40pxDefaultSize
192
196
  label={ __( 'Justification' ) }
193
197
  value={ justifyContent }
194
198
  onChange={ onJustificationChange }
@@ -215,6 +219,7 @@ export default {
215
219
  layout = {},
216
220
  onChange,
217
221
  layoutBlockSupport,
222
+ controlsGroup = 'block',
218
223
  } ) {
219
224
  const { allowJustification = true } = layoutBlockSupport;
220
225
 
@@ -222,7 +227,10 @@ export default {
222
227
  return null;
223
228
  }
224
229
  return (
225
- <BlockControls group="block" __experimentalShareWithChildBlocks>
230
+ <BlockControls
231
+ group={ controlsGroup }
232
+ __experimentalShareWithChildBlocks
233
+ >
226
234
  <DefaultLayoutJustifyContentControl
227
235
  layout={ layout }
228
236
  onChange={ onChange }
@@ -273,12 +281,30 @@ export default {
273
281
 
274
282
  const hasJustificationOverride =
275
283
  hasViewportOverrides && hasViewportOverride( 'justifyContent' );
284
+ const hasContentSizeOverride =
285
+ hasViewportOverrides && hasViewportOverride( 'contentSize' );
286
+ const hasWideSizeOverride =
287
+ hasViewportOverrides && hasViewportOverride( 'wideSize' );
276
288
  const shouldOutputConstrainedSizes =
277
289
  ! hasViewportOverrides ||
278
- hasViewportOverride( 'contentSize' ) ||
279
- hasViewportOverride( 'wideSize' );
290
+ hasContentSizeOverride ||
291
+ hasWideSizeOverride;
292
+ const isResettingConstrainedSizes =
293
+ hasViewportOverrides &&
294
+ ( ( hasContentSizeOverride && ! contentSize ) ||
295
+ ( hasWideSizeOverride && ! wideSize ) );
296
+ const contentMaxWidth =
297
+ contentSize ||
298
+ ( wideSize && ! hasContentSizeOverride
299
+ ? wideSize
300
+ : GLOBAL_CONTENT_SIZE );
301
+ const wideMaxWidth =
302
+ wideSize ||
303
+ ( contentSize && ! hasWideSizeOverride
304
+ ? contentSize
305
+ : GLOBAL_WIDE_SIZE );
280
306
  const constrainedSizeDeclarations = [
281
- `max-width: ${ contentSize ?? wideSize }`,
307
+ `max-width: ${ contentMaxWidth }`,
282
308
  ];
283
309
  if ( ! hasViewportOverrides || hasJustificationOverride ) {
284
310
  constrainedSizeDeclarations.push(
@@ -287,7 +313,8 @@ export default {
287
313
  );
288
314
  }
289
315
  let output =
290
- shouldOutputConstrainedSizes && ( !! contentSize || !! wideSize )
316
+ shouldOutputConstrainedSizes &&
317
+ ( !! contentSize || !! wideSize || isResettingConstrainedSizes )
291
318
  ? `
292
319
  ${ appendSelectors(
293
320
  selector,
@@ -296,7 +323,7 @@ export default {
296
323
  ${ constrainedSizeDeclarations.join( '; ' ) };
297
324
  }
298
325
  ${ appendSelectors( selector, '> .alignwide' ) } {
299
- max-width: ${ wideSize ?? contentSize };
326
+ max-width: ${ wideMaxWidth };
300
327
  }
301
328
  ${ appendSelectors( selector, '> .alignfull' ) } {
302
329
  max-width: none;
@@ -240,6 +240,7 @@ export default {
240
240
  layout = {},
241
241
  onChange,
242
242
  layoutBlockSupport,
243
+ controlsGroup = 'block',
243
244
  } ) {
244
245
  const { allowVerticalAlignment = true, allowJustification = true } =
245
246
  layoutBlockSupport;
@@ -249,7 +250,10 @@ export default {
249
250
  }
250
251
 
251
252
  return (
252
- <BlockControls group="block" __experimentalShareWithChildBlocks>
253
+ <BlockControls
254
+ group={ controlsGroup }
255
+ __experimentalShareWithChildBlocks
256
+ >
253
257
  { allowJustification && (
254
258
  <FlexLayoutJustifyContentControl
255
259
  layout={ layout }
@@ -437,7 +441,6 @@ function FlexLayoutVerticalAlignmentControl( {
437
441
 
438
442
  return (
439
443
  <ToggleGroupControl
440
- __next40pxDefaultSize
441
444
  label={ __( 'Alignment' ) }
442
445
  onChange={ onVerticalAlignmentChange }
443
446
  value={ verticalAlignment }
@@ -524,7 +527,6 @@ function FlexLayoutJustifyContentControl( {
524
527
 
525
528
  return (
526
529
  <ToggleGroupControl
527
- __next40pxDefaultSize
528
530
  label={ __( 'Justification' ) }
529
531
  value={ justifyContent }
530
532
  onChange={ onJustificationChange }
@@ -568,7 +570,6 @@ function OrientationControl( { layout, onChange } ) {
568
570
  } = layout;
569
571
  return (
570
572
  <ToggleGroupControl
571
- __next40pxDefaultSize
572
573
  className="block-editor-hooks__flex-layout-orientation-controls"
573
574
  label={ __( 'Orientation' ) }
574
575
  value={ orientation }