@wordpress/block-editor 15.22.1 → 16.0.1-next.v.202607070741.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 (379) hide show
  1. package/CHANGELOG.md +27 -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-inspector/edit-contents.cjs +3 -0
  7. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  8. package/build/components/block-inspector/index.cjs +18 -36
  9. package/build/components/block-inspector/index.cjs.map +2 -2
  10. package/build/components/block-list/block-invalid-warning.cjs +8 -19
  11. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  12. package/build/components/block-styles/use-styles-for-block.cjs +2 -1
  13. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  14. package/build/components/block-title/use-block-display-title.cjs +7 -2
  15. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  16. package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
  17. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  18. package/build/components/block-variation-transforms/index.cjs +0 -1
  19. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  20. package/build/components/child-layout-control/index.cjs +0 -2
  21. package/build/components/child-layout-control/index.cjs.map +2 -2
  22. package/build/components/colors-gradients/control.cjs +5 -5
  23. package/build/components/colors-gradients/control.cjs.map +2 -2
  24. package/build/components/date-format-picker/index.cjs +0 -1
  25. package/build/components/date-format-picker/index.cjs.map +2 -2
  26. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
  27. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  28. package/build/components/dimensions-tool/scale-tool.cjs +0 -1
  29. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  30. package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
  31. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  32. package/build/components/font-appearance-control/index.cjs +6 -25
  33. package/build/components/font-appearance-control/index.cjs.map +3 -3
  34. package/build/components/font-family/index.cjs +6 -15
  35. package/build/components/font-family/index.cjs.map +3 -3
  36. package/build/components/font-sizes/font-size-picker.cjs +1 -2
  37. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  38. package/build/components/global-styles/border-panel.cjs +0 -1
  39. package/build/components/global-styles/border-panel.cjs.map +2 -2
  40. package/build/components/global-styles/dimensions-panel.cjs +0 -3
  41. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  42. package/build/components/global-styles/typography-panel.cjs +4 -10
  43. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  44. package/build/components/height-control/index.cjs +0 -2
  45. package/build/components/height-control/index.cjs.map +2 -2
  46. package/build/components/html-element-control/index.cjs +0 -1
  47. package/build/components/html-element-control/index.cjs.map +2 -2
  48. package/build/components/image-editor/index.cjs +5 -0
  49. package/build/components/image-editor/index.cjs.map +3 -3
  50. package/build/components/image-editor/zoom-dropdown.cjs +0 -1
  51. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  52. package/build/components/image-size-control/index.cjs +1 -3
  53. package/build/components/image-size-control/index.cjs.map +2 -2
  54. package/build/components/inner-content/index.cjs +107 -0
  55. package/build/components/inner-content/index.cjs.map +7 -0
  56. package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
  57. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  58. package/build/components/inserter/media-tab/hooks.cjs +34 -6
  59. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  60. package/build/components/inserter/media-tab/media-list.cjs +3 -1
  61. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  62. package/build/components/inserter/media-tab/media-panel.cjs +224 -27
  63. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  64. package/build/components/inserter/media-tab/media-preview.cjs +32 -17
  65. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  66. package/build/components/inserter/media-tab/media-tab.cjs +26 -6
  67. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  68. package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
  69. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  70. package/build/components/inserter/no-results.cjs +2 -2
  71. package/build/components/inserter/no-results.cjs.map +2 -2
  72. package/build/components/inserter/preview-panel.cjs +2 -1
  73. package/build/components/inserter/preview-panel.cjs.map +2 -2
  74. package/build/components/inserter-list-item/index.cjs +8 -2
  75. package/build/components/inserter-list-item/index.cjs.map +2 -2
  76. package/build/components/letter-spacing-control/index.cjs +0 -24
  77. package/build/components/letter-spacing-control/index.cjs.map +3 -3
  78. package/build/components/line-height-control/index.cjs +7 -22
  79. package/build/components/line-height-control/index.cjs.map +3 -3
  80. package/build/components/list-view/block-select-button.cjs +90 -84
  81. package/build/components/list-view/block-select-button.cjs.map +2 -2
  82. package/build/components/list-view/block.cjs +51 -20
  83. package/build/components/list-view/block.cjs.map +2 -2
  84. package/build/components/list-view/expander.cjs +1 -1
  85. package/build/components/list-view/expander.cjs.map +2 -2
  86. package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
  87. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  88. package/build/components/observe-typing/index.cjs +4 -3
  89. package/build/components/observe-typing/index.cjs.map +2 -2
  90. package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
  91. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  92. package/build/components/preset-input-control/index.cjs +1 -3
  93. package/build/components/preset-input-control/index.cjs.map +2 -2
  94. package/build/components/resolution-tool/index.cjs +1 -2
  95. package/build/components/resolution-tool/index.cjs.map +2 -2
  96. package/build/components/text-alignment-control/index.cjs +0 -1
  97. package/build/components/text-alignment-control/index.cjs.map +2 -2
  98. package/build/components/text-decoration-control/index.cjs +0 -1
  99. package/build/components/text-decoration-control/index.cjs.map +2 -2
  100. package/build/components/text-indent-control/index.cjs +0 -8
  101. package/build/components/text-indent-control/index.cjs.map +2 -2
  102. package/build/components/text-transform-control/index.cjs +0 -1
  103. package/build/components/text-transform-control/index.cjs.map +2 -2
  104. package/build/components/use-block-display-information/index.cjs +10 -8
  105. package/build/components/use-block-display-information/index.cjs.map +2 -2
  106. package/build/components/use-on-block-drop/index.cjs +3 -7
  107. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  108. package/build/components/use-resize-canvas/index.cjs +16 -53
  109. package/build/components/use-resize-canvas/index.cjs.map +3 -3
  110. package/build/components/writing-mode-control/index.cjs +0 -1
  111. package/build/components/writing-mode-control/index.cjs.map +2 -2
  112. package/build/hooks/font-size.cjs +1 -2
  113. package/build/hooks/font-size.cjs.map +2 -2
  114. package/build/hooks/layout.cjs +5 -3
  115. package/build/hooks/layout.cjs.map +2 -2
  116. package/build/hooks/position.cjs +36 -16
  117. package/build/hooks/position.cjs.map +2 -2
  118. package/build/hooks/states.cjs +10 -21
  119. package/build/hooks/states.cjs.map +2 -2
  120. package/build/layouts/constrained.cjs +21 -21
  121. package/build/layouts/constrained.cjs.map +2 -2
  122. package/build/layouts/flex.cjs +0 -3
  123. package/build/layouts/flex.cjs.map +2 -2
  124. package/build/layouts/grid.cjs +51 -9
  125. package/build/layouts/grid.cjs.map +2 -2
  126. package/build/private-apis.cjs +4 -2
  127. package/build/private-apis.cjs.map +3 -3
  128. package/build/store/actions.cjs.map +2 -2
  129. package/build/store/private-actions.cjs +16 -0
  130. package/build/store/private-actions.cjs.map +2 -2
  131. package/build/store/private-keys.cjs +3 -3
  132. package/build/store/private-keys.cjs.map +2 -2
  133. package/build/store/private-selectors.cjs +96 -10
  134. package/build/store/private-selectors.cjs.map +2 -2
  135. package/build/store/reducer.cjs +19 -3
  136. package/build/store/reducer.cjs.map +2 -2
  137. package/build/store/selectors.cjs +13 -0
  138. package/build/store/selectors.cjs.map +2 -2
  139. package/build-module/autocompleters/block.mjs +10 -2
  140. package/build-module/autocompleters/block.mjs.map +2 -2
  141. package/build-module/components/background-image-control/index.mjs +0 -2
  142. package/build-module/components/background-image-control/index.mjs.map +2 -2
  143. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  144. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  145. package/build-module/components/block-inspector/index.mjs +18 -36
  146. package/build-module/components/block-inspector/index.mjs.map +2 -2
  147. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  148. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  149. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  150. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  151. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  152. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  153. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  154. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  155. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  156. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  157. package/build-module/components/child-layout-control/index.mjs +0 -2
  158. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  159. package/build-module/components/colors-gradients/control.mjs +5 -5
  160. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  161. package/build-module/components/date-format-picker/index.mjs +0 -1
  162. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  163. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  164. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  165. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  166. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  167. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  168. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  169. package/build-module/components/font-appearance-control/index.mjs +6 -15
  170. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  171. package/build-module/components/font-family/index.mjs +6 -15
  172. package/build-module/components/font-family/index.mjs.map +2 -2
  173. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  174. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  175. package/build-module/components/global-styles/border-panel.mjs +0 -1
  176. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  177. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  178. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  179. package/build-module/components/global-styles/typography-panel.mjs +4 -10
  180. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  181. package/build-module/components/height-control/index.mjs +0 -2
  182. package/build-module/components/height-control/index.mjs.map +2 -2
  183. package/build-module/components/html-element-control/index.mjs +0 -1
  184. package/build-module/components/html-element-control/index.mjs.map +2 -2
  185. package/build-module/components/image-editor/index.mjs +5 -0
  186. package/build-module/components/image-editor/index.mjs.map +2 -2
  187. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  188. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  189. package/build-module/components/image-size-control/index.mjs +1 -3
  190. package/build-module/components/image-size-control/index.mjs.map +2 -2
  191. package/build-module/components/inner-content/index.mjs +82 -0
  192. package/build-module/components/inner-content/index.mjs.map +7 -0
  193. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  194. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  195. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  196. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  197. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  198. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  199. package/build-module/components/inserter/media-tab/media-panel.mjs +227 -30
  200. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  201. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  202. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  203. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  204. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  205. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  206. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  207. package/build-module/components/inserter/no-results.mjs +2 -2
  208. package/build-module/components/inserter/no-results.mjs.map +2 -2
  209. package/build-module/components/inserter/preview-panel.mjs +2 -1
  210. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  211. package/build-module/components/inserter-list-item/index.mjs +8 -2
  212. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  213. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  214. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  215. package/build-module/components/line-height-control/index.mjs +7 -12
  216. package/build-module/components/line-height-control/index.mjs.map +2 -2
  217. package/build-module/components/list-view/block-select-button.mjs +90 -84
  218. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  219. package/build-module/components/list-view/block.mjs +51 -20
  220. package/build-module/components/list-view/block.mjs.map +2 -2
  221. package/build-module/components/list-view/expander.mjs +1 -1
  222. package/build-module/components/list-view/expander.mjs.map +2 -2
  223. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  224. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  225. package/build-module/components/observe-typing/index.mjs +4 -3
  226. package/build-module/components/observe-typing/index.mjs.map +2 -2
  227. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  228. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  229. package/build-module/components/preset-input-control/index.mjs +1 -3
  230. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  231. package/build-module/components/resolution-tool/index.mjs +1 -2
  232. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  233. package/build-module/components/text-alignment-control/index.mjs +0 -1
  234. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  235. package/build-module/components/text-decoration-control/index.mjs +0 -1
  236. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  237. package/build-module/components/text-indent-control/index.mjs +0 -8
  238. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  239. package/build-module/components/text-transform-control/index.mjs +0 -1
  240. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  241. package/build-module/components/use-block-display-information/index.mjs +10 -8
  242. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  243. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  244. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  245. package/build-module/components/use-resize-canvas/index.mjs +6 -53
  246. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  247. package/build-module/components/writing-mode-control/index.mjs +0 -1
  248. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  249. package/build-module/hooks/font-size.mjs +1 -2
  250. package/build-module/hooks/font-size.mjs.map +2 -2
  251. package/build-module/hooks/layout.mjs +4 -3
  252. package/build-module/hooks/layout.mjs.map +2 -2
  253. package/build-module/hooks/position.mjs +38 -18
  254. package/build-module/hooks/position.mjs.map +2 -2
  255. package/build-module/hooks/states.mjs +10 -21
  256. package/build-module/hooks/states.mjs.map +2 -2
  257. package/build-module/layouts/constrained.mjs +21 -21
  258. package/build-module/layouts/constrained.mjs.map +2 -2
  259. package/build-module/layouts/flex.mjs +0 -3
  260. package/build-module/layouts/flex.mjs.map +2 -2
  261. package/build-module/layouts/grid.mjs +52 -9
  262. package/build-module/layouts/grid.mjs.map +2 -2
  263. package/build-module/private-apis.mjs +5 -3
  264. package/build-module/private-apis.mjs.map +2 -2
  265. package/build-module/store/actions.mjs.map +2 -2
  266. package/build-module/store/private-actions.mjs +14 -0
  267. package/build-module/store/private-actions.mjs.map +2 -2
  268. package/build-module/store/private-keys.mjs +2 -2
  269. package/build-module/store/private-keys.mjs.map +2 -2
  270. package/build-module/store/private-selectors.mjs +93 -10
  271. package/build-module/store/private-selectors.mjs.map +2 -2
  272. package/build-module/store/reducer.mjs +17 -3
  273. package/build-module/store/reducer.mjs.map +2 -2
  274. package/build-module/store/selectors.mjs +13 -0
  275. package/build-module/store/selectors.mjs.map +2 -2
  276. package/build-style/content-rtl.css +11 -5
  277. package/build-style/content.css +11 -5
  278. package/build-style/style-rtl.css +113 -3
  279. package/build-style/style.css +113 -3
  280. package/package.json +43 -41
  281. package/src/autocompleters/block.js +10 -3
  282. package/src/autocompleters/test/block.js +53 -0
  283. package/src/components/background-image-control/index.js +0 -2
  284. package/src/components/block-inspector/edit-contents.js +5 -1
  285. package/src/components/block-inspector/index.js +25 -44
  286. package/src/components/block-list/block-invalid-warning.js +8 -19
  287. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  288. package/src/components/block-styles/use-styles-for-block.js +1 -0
  289. package/src/components/block-title/use-block-display-title.js +7 -2
  290. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  291. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  292. package/src/components/block-variation-transforms/index.js +0 -1
  293. package/src/components/child-layout-control/index.js +0 -2
  294. package/src/components/color-palette/test/__snapshots__/control.js.snap +11 -106
  295. package/src/components/colors-gradients/control.js +4 -4
  296. package/src/components/colors-gradients/style.scss +2 -2
  297. package/src/components/date-format-picker/index.js +0 -1
  298. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  299. package/src/components/dimensions-tool/scale-tool.js +0 -1
  300. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  301. package/src/components/font-appearance-control/index.js +6 -19
  302. package/src/components/font-family/README.md +0 -9
  303. package/src/components/font-family/index.js +6 -19
  304. package/src/components/font-family/stories/index.story.jsx +0 -1
  305. package/src/components/font-sizes/font-size-picker.js +0 -1
  306. package/src/components/global-styles/border-panel.js +0 -1
  307. package/src/components/global-styles/dimensions-panel.js +0 -3
  308. package/src/components/global-styles/typography-panel.js +0 -6
  309. package/src/components/height-control/index.js +0 -2
  310. package/src/components/html-element-control/index.js +0 -1
  311. package/src/components/iframe/content.scss +3 -3
  312. package/src/components/image-editor/index.js +22 -0
  313. package/src/components/image-editor/zoom-dropdown.js +0 -1
  314. package/src/components/image-size-control/index.js +0 -2
  315. package/src/components/inner-content/index.js +119 -0
  316. package/src/components/inner-content/test/index.js +81 -0
  317. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  318. package/src/components/inserter/media-tab/hooks.js +59 -9
  319. package/src/components/inserter/media-tab/media-list.js +2 -0
  320. package/src/components/inserter/media-tab/media-panel.js +256 -17
  321. package/src/components/inserter/media-tab/media-preview.js +34 -17
  322. package/src/components/inserter/media-tab/media-tab.js +20 -2
  323. package/src/components/inserter/media-tab/test/hooks.js +204 -0
  324. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  325. package/src/components/inserter/no-results.js +2 -2
  326. package/src/components/inserter/preview-panel.js +1 -0
  327. package/src/components/inserter/style.scss +110 -1
  328. package/src/components/inserter-list-item/index.js +8 -2
  329. package/src/components/letter-spacing-control/README.md +0 -8
  330. package/src/components/letter-spacing-control/index.js +5 -23
  331. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  332. package/src/components/line-height-control/README.md +0 -8
  333. package/src/components/line-height-control/index.js +7 -16
  334. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  335. package/src/components/line-height-control/test/index.js +1 -7
  336. package/src/components/link-picker/test/index.js +3 -1
  337. package/src/components/list-view/block-select-button.js +5 -1
  338. package/src/components/list-view/block.js +57 -20
  339. package/src/components/list-view/expander.js +5 -1
  340. package/src/components/list-view/style.scss +19 -0
  341. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  342. package/src/components/observe-typing/index.js +9 -4
  343. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  344. package/src/components/preset-input-control/index.js +0 -2
  345. package/src/components/resolution-tool/index.js +0 -1
  346. package/src/components/responsive-block-control/test/index.js +1 -5
  347. package/src/components/text-alignment-control/index.js +0 -1
  348. package/src/components/text-decoration-control/index.js +0 -1
  349. package/src/components/text-indent-control/index.js +7 -16
  350. package/src/components/text-transform-control/index.js +0 -1
  351. package/src/components/use-block-display-information/index.js +9 -13
  352. package/src/components/use-block-display-information/test/index.js +47 -9
  353. package/src/components/use-on-block-drop/index.js +4 -7
  354. package/src/components/use-resize-canvas/index.js +10 -71
  355. package/src/components/writing-mode-control/index.js +0 -1
  356. package/src/hooks/block-hooks.scss +15 -0
  357. package/src/hooks/font-size.js +0 -1
  358. package/src/hooks/layout.js +5 -4
  359. package/src/hooks/position.js +44 -23
  360. package/src/hooks/states.js +24 -26
  361. package/src/hooks/test/cross-origin-isolation.js +0 -4
  362. package/src/hooks/test/layout.js +75 -1
  363. package/src/layouts/constrained.js +51 -28
  364. package/src/layouts/flex.js +0 -3
  365. package/src/layouts/grid.js +59 -7
  366. package/src/layouts/test/constrained.js +91 -0
  367. package/src/layouts/test/grid.js +71 -0
  368. package/src/private-apis.js +4 -2
  369. package/src/store/actions.js +1 -0
  370. package/src/store/private-actions.js +31 -0
  371. package/src/store/private-keys.js +1 -1
  372. package/src/store/private-selectors.js +184 -11
  373. package/src/store/reducer.js +37 -2
  374. package/src/store/selectors.js +41 -0
  375. package/src/store/test/private-selectors.js +436 -10
  376. package/src/store/test/reducer.js +41 -13
  377. package/src/store/test/selectors.js +133 -0
  378. package/src/style.scss +1 -0
  379. package/src/components/use-resize-canvas/README.md +0 -37
@@ -1,79 +1,18 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useEffect, useState } from '@wordpress/element';
4
+ import deprecated from '@wordpress/deprecated';
5
5
 
6
6
  /**
7
- * Function to resize the editor window.
7
+ * Previously returned inline styles that sized the editor canvas to emulate a
8
+ * device preview width. Device preview is now handled by the editor's resizable
9
+ * canvas, so this hook is a no-op kept for backward compatibility.
8
10
  *
9
- * @param {string} deviceType Used for determining the size of the container (e.g. Desktop, Tablet, Mobile)
10
- *
11
- * @return {Object} Inline styles to be added to resizable container.
11
+ * @deprecated
12
12
  */
13
- export default function useResizeCanvas( deviceType ) {
14
- const [ actualWidth, updateActualWidth ] = useState( window.innerWidth );
15
-
16
- useEffect( () => {
17
- if ( deviceType === 'Desktop' ) {
18
- return;
19
- }
20
-
21
- const resizeListener = () => updateActualWidth( window.innerWidth );
22
- window.addEventListener( 'resize', resizeListener );
23
-
24
- return () => {
25
- window.removeEventListener( 'resize', resizeListener );
26
- };
27
- }, [ deviceType ] );
28
-
29
- const getCanvasWidth = ( device ) => {
30
- let deviceWidth;
31
-
32
- /*
33
- * Matches the breakpoints in packages/base-styles/_breakpoints.scss,
34
- * and breakpoints in packages/compose/src/hooks/use-viewport-match/index.js.
35
- * minus 1 to trigger the media query for device preview.
36
- */
37
- switch ( device ) {
38
- case 'Tablet':
39
- deviceWidth = 782 - 1; // preview for useViewportMatch( 'medium', '<' )
40
- break;
41
- case 'Mobile':
42
- deviceWidth = 480 - 1; // preview for useViewportMatch( 'mobile', '<' )
43
- break;
44
- default:
45
- return null;
46
- }
47
-
48
- return deviceWidth < actualWidth ? deviceWidth : actualWidth;
49
- };
50
-
51
- const contentInlineStyles = ( device ) => {
52
- const height = device === 'Mobile' ? '768px' : '1024px';
53
- const marginVertical = '40px';
54
- const marginHorizontal = 'auto';
55
-
56
- switch ( device ) {
57
- case 'Tablet':
58
- case 'Mobile':
59
- return {
60
- width: getCanvasWidth( device ),
61
- // Keeping margin styles separate to avoid warnings
62
- // when those props get overridden in the iframe component
63
- marginTop: marginVertical,
64
- marginBottom: marginVertical,
65
- marginLeft: marginHorizontal,
66
- marginRight: marginHorizontal,
67
- height,
68
- overflowY: 'auto',
69
- };
70
- default:
71
- return {
72
- marginLeft: marginHorizontal,
73
- marginRight: marginHorizontal,
74
- };
75
- }
76
- };
77
-
78
- return contentInlineStyles( deviceType );
13
+ export default function useResizeCanvas() {
14
+ deprecated( 'wp.blockEditor.useResizeCanvas', {
15
+ since: '7.1',
16
+ hint: 'Device preview is now handled by the editor canvas. This hook no longer does anything.',
17
+ } );
79
18
  }
@@ -40,7 +40,6 @@ export default function WritingModeControl( { className, value, onChange } ) {
40
40
  return (
41
41
  <ToggleGroupControl
42
42
  isDeselectable
43
- __next40pxDefaultSize
44
43
  label={ __( 'Orientation' ) }
45
44
  className={ clsx( 'block-editor-writing-mode-control', className ) }
46
45
  value={ value }
@@ -2,6 +2,7 @@
2
2
  @use "@wordpress/base-styles/colors" as *;
3
3
 
4
4
  .block-editor-hooks__block-hooks {
5
+
5
6
  /**
6
7
  * Un-reverse the flex direction for the toggle's label.
7
8
  */
@@ -15,3 +16,17 @@
15
16
  margin-bottom: $grid-unit-20;
16
17
  }
17
18
  }
19
+
20
+ .block-editor-hooks__position-control-item {
21
+
22
+ /**
23
+ * Try to make items match the width of the anchor, subtract any margin on
24
+ * items to calculate the correct inner width.
25
+ */
26
+ max-inline-size: max(calc(var(--anchor-width) - (2 * var(--wp-ui-popup-padding))), 223px);
27
+ }
28
+
29
+ .block-editor-hooks__position-control-item-hint {
30
+ color: var(--wpds-color-foreground-content-neutral-weak);
31
+ margin-block-start: $grid-unit-05;
32
+ }
@@ -131,7 +131,6 @@ export function FontSizeEdit( props ) {
131
131
  valueMode={ fontSize ? 'slug' : 'literal' }
132
132
  withReset={ false }
133
133
  withSlider
134
- size="__unstable-large"
135
134
  />
136
135
  );
137
136
  }
@@ -85,7 +85,7 @@ export function getResetLayout( layoutBlockSupport = {}, blockVariation ) {
85
85
  } );
86
86
  }
87
87
 
88
- function getLayoutStateOverrides(
88
+ export function getLayoutStateOverrides(
89
89
  layout = {},
90
90
  baseLayout = {},
91
91
  existingLayout = {}
@@ -98,11 +98,13 @@ function getLayoutStateOverrides(
98
98
  );
99
99
 
100
100
  Object.entries( layout || {} ).forEach( ( [ key, value ] ) => {
101
+ const baseHasValue = Object.hasOwn( baseLayout || {}, key );
101
102
  if (
102
103
  ! CHILD_LAYOUT_KEYS.includes( key ) &&
103
104
  value !== baseLayout?.[ key ]
104
105
  ) {
105
- overrides[ key ] = value;
106
+ overrides[ key ] =
107
+ value === undefined && baseHasValue ? null : value;
106
108
  }
107
109
  } );
108
110
 
@@ -466,7 +468,7 @@ function LayoutPanelPure( {
466
468
  const nextStateStyle = cleanEmptyObject( {
467
469
  ...stateStyle,
468
470
  layout: getLayoutStateOverrides(
469
- cleanEmptyObject( newLayout ),
471
+ newLayout,
470
472
  baseLayout,
471
473
  stateStyle?.layout
472
474
  ),
@@ -593,7 +595,6 @@ export default {
593
595
  function LayoutTypeSwitcher( { type, onChange } ) {
594
596
  return (
595
597
  <ToggleGroupControl
596
- __next40pxDefaultSize
597
598
  isBlock
598
599
  label={ __( 'Layout type' ) }
599
600
  hideLabelFromVision
@@ -8,10 +8,11 @@ import clsx from 'clsx';
8
8
  */
9
9
  import { __, _x, sprintf } from '@wordpress/i18n';
10
10
  import { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';
11
- import { BaseControl, CustomSelectControl } from '@wordpress/components';
12
11
  import { useInstanceId } from '@wordpress/compose';
13
12
  import { useSelect } from '@wordpress/data';
14
- import { useMemo } from '@wordpress/element';
13
+ import { useId, useMemo } from '@wordpress/element';
14
+ // eslint-disable-next-line @wordpress/use-recommended-components -- Use the portal-based popup to avoid inspector clipping.
15
+ import { SelectControl } from '@wordpress/ui';
15
16
 
16
17
  /**
17
18
  * Internal dependencies
@@ -27,13 +28,13 @@ const POSITION_SUPPORT_KEY = 'position';
27
28
  const DEFAULT_OPTION = {
28
29
  key: 'default',
29
30
  value: '',
30
- name: __( 'Default' ),
31
+ label: __( 'Default' ),
31
32
  };
32
33
 
33
34
  const STICKY_OPTION = {
34
35
  key: 'sticky',
35
36
  value: 'sticky',
36
- name: _x( 'Sticky', 'Name for the value of the CSS position property' ),
37
+ label: _x( 'Sticky', 'Name for the value of the CSS position property' ),
37
38
  hint: __(
38
39
  'The block will stick to the top of the window instead of scrolling.'
39
40
  ),
@@ -42,7 +43,7 @@ const STICKY_OPTION = {
42
43
  const FIXED_OPTION = {
43
44
  key: 'fixed',
44
45
  value: 'fixed',
45
- name: _x( 'Fixed', 'Name for the value of the CSS position property' ),
46
+ label: _x( 'Fixed', 'Name for the value of the CSS position property' ),
46
47
  hint: __( 'The block will not move when the page is scrolled.' ),
47
48
  };
48
49
 
@@ -262,28 +263,48 @@ export function PositionPanelPure( {
262
263
  const selectedOption = value
263
264
  ? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION
264
265
  : DEFAULT_OPTION;
266
+ const hintIdPrefix = useId();
265
267
 
266
268
  // Only display position controls if there is at least one option to choose from.
267
269
  return options.length > 1 ? (
268
270
  <InspectorControls group="position">
269
- <BaseControl help={ stickyHelpText }>
270
- <CustomSelectControl
271
- __next40pxDefaultSize
272
- label={ __( 'Position' ) }
273
- hideLabelFromVision
274
- describedBy={ sprintf(
275
- // translators: %s: Currently selected position.
276
- __( 'Currently selected position: %s' ),
277
- selectedOption.name
278
- ) }
279
- options={ options }
280
- value={ selectedOption }
281
- onChange={ ( { selectedItem } ) => {
282
- onChangeType( selectedItem.value );
283
- } }
284
- size="__unstable-large"
285
- />
286
- </BaseControl>
271
+ <SelectControl
272
+ label={ __( 'Position' ) }
273
+ hideLabelFromVision
274
+ description={ stickyHelpText }
275
+ items={ options }
276
+ value={ selectedOption }
277
+ onValueChange={ ( selectedItem ) => {
278
+ onChangeType( selectedItem.value );
279
+ } }
280
+ >
281
+ { options.map( ( option ) => {
282
+ const hintId = option.hint
283
+ ? `${ hintIdPrefix }-${ option.key }`
284
+ : undefined;
285
+
286
+ return (
287
+ <SelectControl.Item
288
+ key={ option.key }
289
+ value={ option }
290
+ label={ option.label }
291
+ className="block-editor-hooks__position-control-item"
292
+ aria-describedby={ hintId }
293
+ >
294
+ <div>{ option.label }</div>
295
+ { option.hint && (
296
+ <div
297
+ id={ hintId }
298
+ className="block-editor-hooks__position-control-item-hint"
299
+ aria-hidden="true"
300
+ >
301
+ { option.hint }
302
+ </div>
303
+ ) }
304
+ </SelectControl.Item>
305
+ );
306
+ } ) }
307
+ </SelectControl>
287
308
  </InspectorControls>
288
309
  ) : null;
289
310
  }
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { getBlockType } from '@wordpress/blocks';
5
4
  import { __ } from '@wordpress/i18n';
6
5
 
7
6
  /**
@@ -23,6 +22,13 @@ export const RESPONSIVE_STATE_LABELS = {
23
22
  '@mobile': __( 'Mobile' ),
24
23
  };
25
24
 
25
+ const DEVICE_STATE_OPTIONS = Object.entries( RESPONSIVE_STATE_LABELS ).map(
26
+ ( [ value, label ] ) => ( {
27
+ value,
28
+ label,
29
+ } )
30
+ );
31
+
26
32
  // Keep in sync with WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS
27
33
  // and packages/global-styles-engine/src/core/render.tsx.
28
34
  export const VALID_BLOCK_PSEUDO_STATES = {
@@ -43,23 +49,11 @@ function getPseudoStateOptions( name ) {
43
49
 
44
50
  const DEFAULT_STATE_VALUE = 'default';
45
51
 
46
- function getViewportStateOptions( name ) {
47
- if ( ! getBlockType( name )?.attributes?.style ) {
48
- return [];
49
- }
50
-
51
- return Object.entries( RESPONSIVE_STATE_LABELS ).map(
52
- ( [ value, label ] ) => ( {
53
- value,
54
- label,
55
- } )
56
- );
57
- }
58
-
59
52
  /**
60
- * Renders a style-state selector in the block card header.
61
- * Viewport states are shown for blocks with a style attribute, while
62
- * pseudo-states are shown for blocks with configured pseudo-state support.
53
+ * Renders a pseudo-state selector in the block card header.
54
+ *
55
+ * Viewport states are selected globally via the editor's device preview
56
+ * (Responsive editing), so only pseudo-states are exposed here.
63
57
  *
64
58
  * @param {Object} props Component props.
65
59
  * @param {string} props.name Block name.
@@ -68,21 +62,17 @@ function getViewportStateOptions( name ) {
68
62
  * @return {Element|null} State control component, or null if not applicable.
69
63
  */
70
64
  export function BlockStatesControl( { name, value, onChange } ) {
71
- const viewportStateOptions = getViewportStateOptions( name );
72
65
  const pseudoStateOptions = getPseudoStateOptions( name );
73
66
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
74
67
 
75
- if ( ! viewportStateOptions.length && ! pseudoStateOptions.length ) {
68
+ if ( ! pseudoStateOptions.length ) {
76
69
  return null;
77
70
  }
78
71
 
79
72
  return (
80
73
  <StateControl
81
- viewportStates={ viewportStateOptions }
82
74
  pseudoStates={ pseudoStateOptions }
83
- viewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }
84
75
  pseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }
85
- onChangeViewport={ ( viewport ) => onChange( { viewport } ) }
86
76
  onChangePseudoState={ ( pseudo ) => onChange( { pseudo } ) }
87
77
  popoverProps={ dropdownMenuProps.popoverProps }
88
78
  showText={ false }
@@ -90,17 +80,25 @@ export function BlockStatesControl( { name, value, onChange } ) {
90
80
  );
91
81
  }
92
82
 
93
- export function BlockStateBadges( { name, value } ) {
94
- const viewportStateOptions = getViewportStateOptions( name );
83
+ /**
84
+ * Renders badges for the active style states of a block.
85
+ *
86
+ * @param {Object} props Component props.
87
+ * @param {string} props.name Block name.
88
+ * @param {Object} props.value Currently selected style-state value.
89
+ * @param {boolean} props.isResponsiveEditing Whether Responsive editing is enabled.
90
+ * @return {Element|null} Badges component, or null if there is nothing to show.
91
+ */
92
+ export function BlockStateBadges( { name, value, isResponsiveEditing } ) {
95
93
  const pseudoStateOptions = getPseudoStateOptions( name );
96
94
 
97
- if ( ! viewportStateOptions.length && ! pseudoStateOptions.length ) {
95
+ if ( ! pseudoStateOptions.length && ! isResponsiveEditing ) {
98
96
  return null;
99
97
  }
100
98
 
101
99
  return (
102
100
  <StateControlBadges
103
- viewportStates={ viewportStateOptions }
101
+ viewportStates={ isResponsiveEditing ? DEVICE_STATE_OPTIONS : [] }
104
102
  pseudoStates={ pseudoStateOptions }
105
103
  viewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }
106
104
  pseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }
@@ -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( {
@@ -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 }
@@ -273,12 +277,30 @@ export default {
273
277
 
274
278
  const hasJustificationOverride =
275
279
  hasViewportOverrides && hasViewportOverride( 'justifyContent' );
280
+ const hasContentSizeOverride =
281
+ hasViewportOverrides && hasViewportOverride( 'contentSize' );
282
+ const hasWideSizeOverride =
283
+ hasViewportOverrides && hasViewportOverride( 'wideSize' );
276
284
  const shouldOutputConstrainedSizes =
277
285
  ! hasViewportOverrides ||
278
- hasViewportOverride( 'contentSize' ) ||
279
- hasViewportOverride( 'wideSize' );
286
+ hasContentSizeOverride ||
287
+ hasWideSizeOverride;
288
+ const isResettingConstrainedSizes =
289
+ hasViewportOverrides &&
290
+ ( ( hasContentSizeOverride && ! contentSize ) ||
291
+ ( hasWideSizeOverride && ! wideSize ) );
292
+ const contentMaxWidth =
293
+ contentSize ||
294
+ ( wideSize && ! hasContentSizeOverride
295
+ ? wideSize
296
+ : GLOBAL_CONTENT_SIZE );
297
+ const wideMaxWidth =
298
+ wideSize ||
299
+ ( contentSize && ! hasWideSizeOverride
300
+ ? contentSize
301
+ : GLOBAL_WIDE_SIZE );
280
302
  const constrainedSizeDeclarations = [
281
- `max-width: ${ contentSize ?? wideSize }`,
303
+ `max-width: ${ contentMaxWidth }`,
282
304
  ];
283
305
  if ( ! hasViewportOverrides || hasJustificationOverride ) {
284
306
  constrainedSizeDeclarations.push(
@@ -287,7 +309,8 @@ export default {
287
309
  );
288
310
  }
289
311
  let output =
290
- shouldOutputConstrainedSizes && ( !! contentSize || !! wideSize )
312
+ shouldOutputConstrainedSizes &&
313
+ ( !! contentSize || !! wideSize || isResettingConstrainedSizes )
291
314
  ? `
292
315
  ${ appendSelectors(
293
316
  selector,
@@ -296,7 +319,7 @@ export default {
296
319
  ${ constrainedSizeDeclarations.join( '; ' ) };
297
320
  }
298
321
  ${ appendSelectors( selector, '> .alignwide' ) } {
299
- max-width: ${ wideSize ?? contentSize };
322
+ max-width: ${ wideMaxWidth };
300
323
  }
301
324
  ${ appendSelectors( selector, '> .alignfull' ) } {
302
325
  max-width: none;
@@ -437,7 +437,6 @@ function FlexLayoutVerticalAlignmentControl( {
437
437
 
438
438
  return (
439
439
  <ToggleGroupControl
440
- __next40pxDefaultSize
441
440
  label={ __( 'Alignment' ) }
442
441
  onChange={ onVerticalAlignmentChange }
443
442
  value={ verticalAlignment }
@@ -524,7 +523,6 @@ function FlexLayoutJustifyContentControl( {
524
523
 
525
524
  return (
526
525
  <ToggleGroupControl
527
- __next40pxDefaultSize
528
526
  label={ __( 'Justification' ) }
529
527
  value={ justifyContent }
530
528
  onChange={ onJustificationChange }
@@ -568,7 +566,6 @@ function OrientationControl( { layout, onChange } ) {
568
566
  } = layout;
569
567
  return (
570
568
  <ToggleGroupControl
571
- __next40pxDefaultSize
572
569
  className="block-editor-hooks__flex-layout-orientation-controls"
573
570
  label={ __( 'Orientation' ) }
574
571
  value={ orientation }