@wordpress/block-editor 12.19.5 → 12.21.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 (443) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-canvas/index.js +2 -0
  3. package/build/components/block-canvas/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +14 -17
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +0 -3
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  9. package/build/components/block-list/block-list-item.native.js +1 -1
  10. package/build/components/block-list/block-list-item.native.js.map +1 -1
  11. package/build/components/block-list/block-outline.native.js +23 -7
  12. package/build/components/block-list/block-outline.native.js.map +1 -1
  13. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  14. package/build/components/block-list/block.native.js +0 -3
  15. package/build/components/block-list/block.native.js.map +1 -1
  16. package/build/components/block-list/index.js +9 -9
  17. package/build/components/block-list/index.js.map +1 -1
  18. package/build/components/block-mover/index.native.js.map +1 -1
  19. package/build/components/block-popover/cover.js +68 -0
  20. package/build/components/block-popover/cover.js.map +1 -0
  21. package/build/components/block-popover/drop-zone.js +2 -3
  22. package/build/components/block-popover/drop-zone.js.map +1 -1
  23. package/build/components/block-popover/index.js +1 -19
  24. package/build/components/block-popover/index.js.map +1 -1
  25. package/build/components/block-preview/index.js +2 -1
  26. package/build/components/block-preview/index.js.map +1 -1
  27. package/build/components/block-removal-warning-modal/index.js +2 -4
  28. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  29. package/build/components/block-rename/modal.js.map +1 -1
  30. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
  31. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  32. package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
  33. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  34. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  35. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  36. package/build/components/block-toolbar/index.js +7 -5
  37. package/build/components/block-toolbar/index.js.map +1 -1
  38. package/build/components/block-toolbar/shuffle.js +89 -0
  39. package/build/components/block-toolbar/shuffle.js.map +1 -0
  40. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  41. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  42. package/build/components/block-tools/block-selection-button.js +5 -1
  43. package/build/components/block-tools/block-selection-button.js.map +1 -1
  44. package/build/components/block-tools/empty-block-inserter.js +2 -5
  45. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  46. package/build/components/block-tools/index.js +9 -26
  47. package/build/components/block-tools/index.js.map +1 -1
  48. package/build/components/block-tools/use-show-block-tools.js +60 -0
  49. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  50. package/build/components/caption/index.native.js.map +1 -1
  51. package/build/components/child-layout-control/index.js +37 -5
  52. package/build/components/child-layout-control/index.js.map +1 -1
  53. package/build/components/color-palette/control.js.map +1 -1
  54. package/build/components/colors-gradients/control.js +1 -1
  55. package/build/components/colors-gradients/control.js.map +1 -1
  56. package/build/components/date-format-picker/index.js +0 -1
  57. package/build/components/date-format-picker/index.js.map +1 -1
  58. package/build/components/font-appearance-control/index.js +1 -2
  59. package/build/components/font-appearance-control/index.js.map +1 -1
  60. package/build/components/global-styles/border-panel.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -1
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/dimensions-panel.js +30 -19
  64. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  65. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  66. package/build/components/global-styles/typography-utils.js +7 -5
  67. package/build/components/global-styles/typography-utils.js.map +1 -1
  68. package/build/components/global-styles/use-global-styles-output.js +15 -15
  69. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  70. package/build/components/global-styles/utils.js +1 -1
  71. package/build/components/global-styles/utils.js.map +1 -1
  72. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  73. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  74. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  75. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  76. package/build/components/grid-visualizer/index.js +20 -0
  77. package/build/components/grid-visualizer/index.js.map +1 -0
  78. package/build/components/grid-visualizer/utils.js +10 -0
  79. package/build/components/grid-visualizer/utils.js.map +1 -0
  80. package/build/components/iframe/index.js +61 -16
  81. package/build/components/iframe/index.js.map +1 -1
  82. package/build/components/index.native.js +7 -0
  83. package/build/components/index.native.js.map +1 -1
  84. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  85. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  86. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  87. package/build/components/inserter/menu.js +9 -3
  88. package/build/components/inserter/menu.js.map +1 -1
  89. package/build/components/inserter/menu.native.js.map +1 -1
  90. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  91. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  92. package/build/components/inserter/search-results.js +3 -2
  93. package/build/components/inserter/search-results.js.map +1 -1
  94. package/build/components/inserter/tabs.js +2 -1
  95. package/build/components/inserter/tabs.js.map +1 -1
  96. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  97. package/build/components/inspector-controls-tabs/index.js +1 -1
  98. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  99. package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
  100. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  101. package/build/components/link-control/search-input.js.map +1 -1
  102. package/build/components/list-view/branch.js.map +1 -1
  103. package/build/components/list-view/drop-indicator.js.map +1 -1
  104. package/build/components/list-view/index.js.map +1 -1
  105. package/build/components/observe-typing/index.js +5 -10
  106. package/build/components/observe-typing/index.js.map +1 -1
  107. package/build/components/panel-color-settings/index.js.map +1 -1
  108. package/build/components/provider/index.js.map +1 -1
  109. package/build/components/resizable-box-popover/index.js +3 -5
  110. package/build/components/resizable-box-popover/index.js.map +1 -1
  111. package/build/components/responsive-block-control/index.js +1 -1
  112. package/build/components/responsive-block-control/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -31
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/index.js +1 -2
  116. package/build/components/rich-text/index.js.map +1 -1
  117. package/build/components/skip-to-selected-block/index.js +7 -14
  118. package/build/components/skip-to-selected-block/index.js.map +1 -1
  119. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  120. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  121. package/build/components/url-input/index.js +5 -8
  122. package/build/components/url-input/index.js.map +1 -1
  123. package/build/hooks/background.js.map +1 -1
  124. package/build/hooks/block-hooks.js.map +1 -1
  125. package/build/hooks/dimensions.js +3 -4
  126. package/build/hooks/dimensions.js.map +1 -1
  127. package/build/hooks/font-size.js +6 -7
  128. package/build/hooks/font-size.js.map +1 -1
  129. package/build/hooks/index.js +1 -1
  130. package/build/hooks/index.js.map +1 -1
  131. package/build/hooks/layout-child.js +89 -1
  132. package/build/hooks/layout-child.js.map +1 -1
  133. package/build/hooks/layout.js +11 -4
  134. package/build/hooks/layout.js.map +1 -1
  135. package/build/hooks/line-height.js.map +1 -1
  136. package/build/hooks/position.js +0 -1
  137. package/build/hooks/position.js.map +1 -1
  138. package/build/hooks/spacing-visualizer.js +115 -0
  139. package/build/hooks/spacing-visualizer.js.map +1 -0
  140. package/build/hooks/use-typography-props.js +1 -2
  141. package/build/hooks/use-typography-props.js.map +1 -1
  142. package/build/layouts/grid.js +111 -14
  143. package/build/layouts/grid.js.map +1 -1
  144. package/build/private-apis.js +2 -2
  145. package/build/private-apis.js.map +1 -1
  146. package/build/store/actions.js +4 -36
  147. package/build/store/actions.js.map +1 -1
  148. package/build/store/private-actions.js +29 -45
  149. package/build/store/private-actions.js.map +1 -1
  150. package/build/store/reducer.js +2 -4
  151. package/build/store/reducer.js.map +1 -1
  152. package/build/store/selectors.js +27 -15
  153. package/build/store/selectors.js.map +1 -1
  154. package/build/utils/calculate-scale.js +17 -0
  155. package/build/utils/calculate-scale.js.map +1 -0
  156. package/build-module/components/block-canvas/index.js +2 -0
  157. package/build-module/components/block-canvas/index.js.map +1 -1
  158. package/build-module/components/block-heading-level-dropdown/index.js +14 -17
  159. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  160. package/build-module/components/block-inspector/index.js +1 -4
  161. package/build-module/components/block-inspector/index.js.map +1 -1
  162. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  163. package/build-module/components/block-list/block-list-item.native.js +1 -1
  164. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  165. package/build-module/components/block-list/block-outline.native.js +23 -7
  166. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  167. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  168. package/build-module/components/block-list/block.native.js +0 -3
  169. package/build-module/components/block-list/block.native.js.map +1 -1
  170. package/build-module/components/block-list/index.js +9 -9
  171. package/build-module/components/block-list/index.js.map +1 -1
  172. package/build-module/components/block-mover/index.native.js.map +1 -1
  173. package/build-module/components/block-popover/cover.js +60 -0
  174. package/build-module/components/block-popover/cover.js.map +1 -0
  175. package/build-module/components/block-popover/drop-zone.js +2 -3
  176. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  177. package/build-module/components/block-popover/index.js +1 -19
  178. package/build-module/components/block-popover/index.js.map +1 -1
  179. package/build-module/components/block-preview/index.js +2 -1
  180. package/build-module/components/block-preview/index.js.map +1 -1
  181. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  182. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  183. package/build-module/components/block-rename/modal.js.map +1 -1
  184. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
  185. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  186. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
  187. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  188. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  189. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  190. package/build-module/components/block-toolbar/index.js +7 -6
  191. package/build-module/components/block-toolbar/index.js.map +1 -1
  192. package/build-module/components/block-toolbar/shuffle.js +82 -0
  193. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  194. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  195. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  196. package/build-module/components/block-tools/block-selection-button.js +5 -1
  197. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  198. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  199. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  200. package/build-module/components/block-tools/index.js +9 -26
  201. package/build-module/components/block-tools/index.js.map +1 -1
  202. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  203. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  204. package/build-module/components/caption/index.native.js.map +1 -1
  205. package/build-module/components/child-layout-control/index.js +38 -6
  206. package/build-module/components/child-layout-control/index.js.map +1 -1
  207. package/build-module/components/color-palette/control.js.map +1 -1
  208. package/build-module/components/colors-gradients/control.js +1 -1
  209. package/build-module/components/colors-gradients/control.js.map +1 -1
  210. package/build-module/components/date-format-picker/index.js +0 -1
  211. package/build-module/components/date-format-picker/index.js.map +1 -1
  212. package/build-module/components/font-appearance-control/index.js +1 -2
  213. package/build-module/components/font-appearance-control/index.js.map +1 -1
  214. package/build-module/components/global-styles/border-panel.js.map +1 -1
  215. package/build-module/components/global-styles/color-panel.js +1 -1
  216. package/build-module/components/global-styles/color-panel.js.map +1 -1
  217. package/build-module/components/global-styles/dimensions-panel.js +30 -19
  218. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  219. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  220. package/build-module/components/global-styles/typography-utils.js +7 -5
  221. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  222. package/build-module/components/global-styles/use-global-styles-output.js +16 -16
  223. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  224. package/build-module/components/global-styles/utils.js +2 -2
  225. package/build-module/components/global-styles/utils.js.map +1 -1
  226. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  227. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  228. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  229. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  230. package/build-module/components/grid-visualizer/index.js +3 -0
  231. package/build-module/components/grid-visualizer/index.js.map +1 -0
  232. package/build-module/components/grid-visualizer/utils.js +4 -0
  233. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  234. package/build-module/components/iframe/index.js +61 -16
  235. package/build-module/components/iframe/index.js.map +1 -1
  236. package/build-module/components/index.native.js +1 -1
  237. package/build-module/components/index.native.js.map +1 -1
  238. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  239. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  240. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  241. package/build-module/components/inserter/menu.js +9 -3
  242. package/build-module/components/inserter/menu.js.map +1 -1
  243. package/build-module/components/inserter/menu.native.js.map +1 -1
  244. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  245. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  246. package/build-module/components/inserter/search-results.js +3 -2
  247. package/build-module/components/inserter/search-results.js.map +1 -1
  248. package/build-module/components/inserter/tabs.js +2 -1
  249. package/build-module/components/inserter/tabs.js.map +1 -1
  250. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  251. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  252. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  253. package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
  254. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  255. package/build-module/components/link-control/search-input.js.map +1 -1
  256. package/build-module/components/list-view/branch.js.map +1 -1
  257. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  258. package/build-module/components/list-view/index.js.map +1 -1
  259. package/build-module/components/observe-typing/index.js +5 -10
  260. package/build-module/components/observe-typing/index.js.map +1 -1
  261. package/build-module/components/panel-color-settings/index.js.map +1 -1
  262. package/build-module/components/provider/index.js.map +1 -1
  263. package/build-module/components/resizable-box-popover/index.js +3 -5
  264. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  265. package/build-module/components/responsive-block-control/index.js +1 -1
  266. package/build-module/components/responsive-block-control/index.js.map +1 -1
  267. package/build-module/components/rich-text/format-toolbar-container.js +1 -31
  268. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  269. package/build-module/components/rich-text/index.js +1 -2
  270. package/build-module/components/rich-text/index.js.map +1 -1
  271. package/build-module/components/skip-to-selected-block/index.js +8 -14
  272. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  273. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  274. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  275. package/build-module/components/url-input/index.js +5 -8
  276. package/build-module/components/url-input/index.js.map +1 -1
  277. package/build-module/hooks/background.js.map +1 -1
  278. package/build-module/hooks/block-hooks.js.map +1 -1
  279. package/build-module/hooks/dimensions.js +1 -2
  280. package/build-module/hooks/dimensions.js.map +1 -1
  281. package/build-module/hooks/font-size.js +7 -8
  282. package/build-module/hooks/font-size.js.map +1 -1
  283. package/build-module/hooks/index.js +1 -1
  284. package/build-module/hooks/index.js.map +1 -1
  285. package/build-module/hooks/layout-child.js +89 -1
  286. package/build-module/hooks/layout-child.js.map +1 -1
  287. package/build-module/hooks/layout.js +11 -4
  288. package/build-module/hooks/layout.js.map +1 -1
  289. package/build-module/hooks/line-height.js.map +1 -1
  290. package/build-module/hooks/position.js +0 -1
  291. package/build-module/hooks/position.js.map +1 -1
  292. package/build-module/hooks/spacing-visualizer.js +106 -0
  293. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  294. package/build-module/hooks/use-typography-props.js +2 -3
  295. package/build-module/hooks/use-typography-props.js.map +1 -1
  296. package/build-module/layouts/grid.js +113 -16
  297. package/build-module/layouts/grid.js.map +1 -1
  298. package/build-module/private-apis.js +2 -2
  299. package/build-module/private-apis.js.map +1 -1
  300. package/build-module/store/actions.js +4 -36
  301. package/build-module/store/actions.js.map +1 -1
  302. package/build-module/store/private-actions.js +29 -45
  303. package/build-module/store/private-actions.js.map +1 -1
  304. package/build-module/store/reducer.js +2 -4
  305. package/build-module/store/reducer.js.map +1 -1
  306. package/build-module/store/selectors.js +23 -13
  307. package/build-module/store/selectors.js.map +1 -1
  308. package/build-module/utils/calculate-scale.js +11 -0
  309. package/build-module/utils/calculate-scale.js.map +1 -0
  310. package/build-style/content-rtl.css +7 -2
  311. package/build-style/content.css +7 -2
  312. package/build-style/style-rtl.css +55 -25
  313. package/build-style/style.css +55 -25
  314. package/package.json +31 -32
  315. package/src/components/block-canvas/index.js +2 -0
  316. package/src/components/block-draggable/test/index.native.js +2 -2
  317. package/src/components/block-heading-level-dropdown/index.js +17 -25
  318. package/src/components/block-inspector/index.js +0 -11
  319. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  320. package/src/components/block-list/block-list-item.native.js +1 -1
  321. package/src/components/block-list/block-outline.native.js +36 -21
  322. package/src/components/block-list/block-selection-button.native.js +1 -3
  323. package/src/components/block-list/block.native.js +0 -3
  324. package/src/components/block-list/content.scss +5 -1
  325. package/src/components/block-list/index.js +55 -55
  326. package/src/components/block-list/test/block-outline.native.js +255 -0
  327. package/src/components/block-mover/index.native.js +1 -1
  328. package/src/components/block-popover/cover.js +63 -0
  329. package/src/components/block-popover/drop-zone.js +3 -4
  330. package/src/components/block-popover/index.js +1 -28
  331. package/src/components/block-preview/index.js +3 -1
  332. package/src/components/block-removal-warning-modal/index.js +5 -19
  333. package/src/components/block-rename/modal.js +1 -1
  334. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
  335. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
  336. package/src/components/block-styles/style.scss +0 -4
  337. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  338. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  339. package/src/components/block-toolbar/index.js +5 -11
  340. package/src/components/block-toolbar/shuffle.js +93 -0
  341. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  342. package/src/components/block-tools/block-selection-button.js +4 -0
  343. package/src/components/block-tools/empty-block-inserter.js +3 -6
  344. package/src/components/block-tools/index.js +13 -36
  345. package/src/components/block-tools/use-show-block-tools.js +73 -0
  346. package/src/components/caption/index.native.js +1 -1
  347. package/src/components/child-layout-control/index.js +85 -44
  348. package/src/components/color-palette/control.js +1 -1
  349. package/src/components/colors-gradients/control.js +1 -1
  350. package/src/components/colors-gradients/test/control.js +2 -2
  351. package/src/components/contrast-checker/test/index.js +10 -10
  352. package/src/components/date-format-picker/index.js +0 -1
  353. package/src/components/default-block-appender/content.scss +5 -2
  354. package/src/components/font-appearance-control/index.js +0 -1
  355. package/src/components/global-styles/border-panel.js +2 -2
  356. package/src/components/global-styles/color-panel.js +1 -1
  357. package/src/components/global-styles/dimensions-panel.js +36 -24
  358. package/src/components/global-styles/image-settings-panel.js +1 -1
  359. package/src/components/global-styles/test/typography-utils.js +231 -81
  360. package/src/components/global-styles/test/use-global-styles-output.js +3 -2
  361. package/src/components/global-styles/typography-utils.js +10 -7
  362. package/src/components/global-styles/use-global-styles-output.js +14 -16
  363. package/src/components/global-styles/utils.js +2 -8
  364. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  365. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  366. package/src/components/grid-visualizer/index.js +2 -0
  367. package/src/components/grid-visualizer/style.scss +33 -0
  368. package/src/components/grid-visualizer/utils.js +5 -0
  369. package/src/components/iframe/index.js +78 -31
  370. package/src/components/index.native.js +1 -0
  371. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  372. package/src/components/inserter/media-tab/media-preview.js +1 -1
  373. package/src/components/inserter/menu.js +10 -4
  374. package/src/components/inserter/menu.native.js +3 -3
  375. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  376. package/src/components/inserter/search-results.js +2 -1
  377. package/src/components/inserter/style.scss +10 -0
  378. package/src/components/inserter/tabs.js +2 -1
  379. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  380. package/src/components/inspector-controls-tabs/index.js +1 -1
  381. package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
  382. package/src/components/line-height-control/test/index.js +1 -1
  383. package/src/components/link-control/search-input.js +1 -1
  384. package/src/components/list-view/branch.js +1 -1
  385. package/src/components/list-view/drop-indicator.js +1 -1
  386. package/src/components/list-view/index.js +1 -1
  387. package/src/components/observe-typing/index.js +7 -10
  388. package/src/components/panel-color-settings/index.js +1 -1
  389. package/src/components/panel-color-settings/test/index.js +3 -3
  390. package/src/components/provider/index.js +1 -4
  391. package/src/components/resizable-box-popover/index.js +4 -6
  392. package/src/components/responsive-block-control/README.md +4 -4
  393. package/src/components/responsive-block-control/index.js +1 -1
  394. package/src/components/responsive-block-control/test/index.js +5 -5
  395. package/src/components/rich-text/format-toolbar-container.js +1 -48
  396. package/src/components/rich-text/index.js +1 -2
  397. package/src/components/skip-to-selected-block/index.js +10 -13
  398. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -5
  399. package/src/components/url-input/index.js +6 -15
  400. package/src/hooks/anchor.scss +1 -1
  401. package/src/hooks/background.js +1 -1
  402. package/src/hooks/block-hooks.js +1 -1
  403. package/src/hooks/dimensions.js +1 -2
  404. package/src/hooks/font-size.js +7 -12
  405. package/src/hooks/index.js +1 -0
  406. package/src/hooks/layout-child.js +91 -1
  407. package/src/hooks/layout.js +12 -1
  408. package/src/hooks/line-height.js +1 -1
  409. package/src/hooks/position.js +0 -1
  410. package/src/hooks/spacing-visualizer.js +126 -0
  411. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  412. package/src/hooks/use-typography-props.js +2 -8
  413. package/src/layouts/grid.js +137 -53
  414. package/src/layouts/test/grid.js +16 -2
  415. package/src/private-apis.js +2 -2
  416. package/src/store/actions.js +4 -42
  417. package/src/store/private-actions.js +34 -69
  418. package/src/store/reducer.js +2 -8
  419. package/src/store/selectors.js +41 -46
  420. package/src/store/test/actions.js +0 -105
  421. package/src/style.scss +2 -2
  422. package/src/utils/calculate-scale.js +20 -0
  423. package/build/components/default-style-picker/index.js +0 -70
  424. package/build/components/default-style-picker/index.js.map +0 -1
  425. package/build/hooks/margin.js +0 -86
  426. package/build/hooks/margin.js.map +0 -1
  427. package/build/hooks/padding.js +0 -78
  428. package/build/hooks/padding.js.map +0 -1
  429. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  430. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  431. package/build-module/components/default-style-picker/index.js +0 -63
  432. package/build-module/components/default-style-picker/index.js.map +0 -1
  433. package/build-module/hooks/margin.js +0 -78
  434. package/build-module/hooks/margin.js.map +0 -1
  435. package/build-module/hooks/padding.js +0 -70
  436. package/build-module/hooks/padding.js.map +0 -1
  437. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  438. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  439. package/src/components/block-settings-menu/style.scss +0 -3
  440. package/src/components/default-style-picker/index.js +0 -70
  441. package/src/hooks/margin.js +0 -91
  442. package/src/hooks/padding.js +0 -82
  443. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -5,6 +5,8 @@ import {
5
5
  __experimentalToggleGroupControl as ToggleGroupControl,
6
6
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
7
7
  __experimentalUnitControl as UnitControl,
8
+ __experimentalInputControl as InputControl,
9
+ __experimentalHStack as HStack,
8
10
  } from '@wordpress/components';
9
11
  import { __ } from '@wordpress/i18n';
10
12
  import { useEffect } from '@wordpress/element';
@@ -38,7 +40,12 @@ export default function ChildLayoutControl( {
38
40
  onChange,
39
41
  parentLayout,
40
42
  } ) {
41
- const { selfStretch, flexSize } = childLayout;
43
+ const { selfStretch, flexSize, columnSpan, rowSpan } = childLayout;
44
+ const {
45
+ type: parentType,
46
+ default: { type: defaultParentType = 'default' } = {},
47
+ } = parentLayout ?? {};
48
+ const parentLayoutType = parentType || defaultParentType;
42
49
 
43
50
  useEffect( () => {
44
51
  if ( selfStretch === 'fixed' && ! flexSize ) {
@@ -51,49 +58,83 @@ export default function ChildLayoutControl( {
51
58
 
52
59
  return (
53
60
  <>
54
- <ToggleGroupControl
55
- __nextHasNoMarginBottom
56
- size={ '__unstable-large' }
57
- label={ childLayoutOrientation( parentLayout ) }
58
- value={ selfStretch || 'fit' }
59
- help={ helpText( selfStretch, parentLayout ) }
60
- onChange={ ( value ) => {
61
- const newFlexSize = value !== 'fixed' ? null : flexSize;
62
- onChange( {
63
- ...childLayout,
64
- selfStretch: value,
65
- flexSize: newFlexSize,
66
- } );
67
- } }
68
- isBlock={ true }
69
- >
70
- <ToggleGroupControlOption
71
- key={ 'fit' }
72
- value={ 'fit' }
73
- label={ __( 'Fit' ) }
74
- />
75
- <ToggleGroupControlOption
76
- key={ 'fill' }
77
- value={ 'fill' }
78
- label={ __( 'Fill' ) }
79
- />
80
- <ToggleGroupControlOption
81
- key={ 'fixed' }
82
- value={ 'fixed' }
83
- label={ __( 'Fixed' ) }
84
- />
85
- </ToggleGroupControl>
86
- { selfStretch === 'fixed' && (
87
- <UnitControl
88
- size={ '__unstable-large' }
89
- onChange={ ( value ) => {
90
- onChange( {
91
- ...childLayout,
92
- flexSize: value,
93
- } );
94
- } }
95
- value={ flexSize }
96
- />
61
+ { parentLayoutType === 'flex' && (
62
+ <>
63
+ <ToggleGroupControl
64
+ __nextHasNoMarginBottom
65
+ size={ '__unstable-large' }
66
+ label={ childLayoutOrientation( parentLayout ) }
67
+ value={ selfStretch || 'fit' }
68
+ help={ helpText( selfStretch, parentLayout ) }
69
+ onChange={ ( value ) => {
70
+ const newFlexSize =
71
+ value !== 'fixed' ? null : flexSize;
72
+ onChange( {
73
+ selfStretch: value,
74
+ flexSize: newFlexSize,
75
+ } );
76
+ } }
77
+ isBlock
78
+ >
79
+ <ToggleGroupControlOption
80
+ key={ 'fit' }
81
+ value={ 'fit' }
82
+ label={ __( 'Fit' ) }
83
+ />
84
+ <ToggleGroupControlOption
85
+ key={ 'fill' }
86
+ value={ 'fill' }
87
+ label={ __( 'Fill' ) }
88
+ />
89
+ <ToggleGroupControlOption
90
+ key={ 'fixed' }
91
+ value={ 'fixed' }
92
+ label={ __( 'Fixed' ) }
93
+ />
94
+ </ToggleGroupControl>
95
+ { selfStretch === 'fixed' && (
96
+ <UnitControl
97
+ size={ '__unstable-large' }
98
+ onChange={ ( value ) => {
99
+ onChange( {
100
+ selfStretch,
101
+ flexSize: value,
102
+ } );
103
+ } }
104
+ value={ flexSize }
105
+ />
106
+ ) }
107
+ </>
108
+ ) }
109
+ { parentLayoutType === 'grid' && (
110
+ <HStack>
111
+ <InputControl
112
+ size={ '__unstable-large' }
113
+ label={ __( 'Column Span' ) }
114
+ type="number"
115
+ onChange={ ( value ) => {
116
+ onChange( {
117
+ rowSpan,
118
+ columnSpan: value,
119
+ } );
120
+ } }
121
+ value={ columnSpan }
122
+ min={ 1 }
123
+ />
124
+ <InputControl
125
+ size={ '__unstable-large' }
126
+ label={ __( 'Row Span' ) }
127
+ type="number"
128
+ onChange={ ( value ) => {
129
+ onChange( {
130
+ columnSpan,
131
+ rowSpan: value,
132
+ } );
133
+ } }
134
+ value={ rowSpan }
135
+ min={ 1 }
136
+ />
137
+ </HStack>
97
138
  ) }
98
139
  </>
99
140
  );
@@ -14,7 +14,7 @@ export default function ColorPaletteControl( {
14
14
  onColorChange={ onChange }
15
15
  colorValue={ value }
16
16
  gradients={ [] }
17
- disableCustomGradients={ true }
17
+ disableCustomGradients
18
18
  />
19
19
  );
20
20
  }
@@ -133,7 +133,7 @@ function ColorGradientControlInner( {
133
133
  { canChooseAColor && canChooseAGradient && (
134
134
  <div>
135
135
  <Tabs
136
- initialTabId={
136
+ defaultTabId={
137
137
  gradientValue
138
138
  ? TAB_IDS.gradient
139
139
  : !! canChooseAColor && TAB_IDS.color
@@ -64,7 +64,7 @@ describe( 'ColorPaletteControl', () => {
64
64
  ] }
65
65
  gradients={ [] }
66
66
  disableCustomColors={ false }
67
- disableCustomGradients={ true }
67
+ disableCustomGradients
68
68
  onColorChange={ noop }
69
69
  onGradientChange={ noop }
70
70
  />
@@ -102,7 +102,7 @@ describe( 'ColorPaletteControl', () => {
102
102
  slug: 'light-green-cyan-to-vivid-green-cyan',
103
103
  },
104
104
  ] }
105
- disableCustomColors={ true }
105
+ disableCustomColors
106
106
  disableCustomGradients={ false }
107
107
  onColorChange={ noop }
108
108
  onGradientChange={ noop }
@@ -221,7 +221,7 @@ describe( 'ContrastChecker', () => {
221
221
  <ContrastChecker
222
222
  backgroundColor="#C44B4B"
223
223
  textColor="#000000"
224
- isLargeText={ true }
224
+ isLargeText
225
225
  />
226
226
  );
227
227
 
@@ -263,7 +263,7 @@ describe( 'ContrastChecker', () => {
263
263
  backgroundColor="#C44B4B"
264
264
  textColor="#000000"
265
265
  fontSize={ 23 }
266
- isLargeText={ true }
266
+ isLargeText
267
267
  />
268
268
  );
269
269
 
@@ -363,7 +363,7 @@ describe( 'ContrastChecker', () => {
363
363
  backgroundColor={ backgroundColor }
364
364
  textColor={ textColor }
365
365
  isLargeText={ isLargeText }
366
- enableAlphaChecker={ true }
366
+ enableAlphaChecker
367
367
  />
368
368
  );
369
369
 
@@ -378,7 +378,7 @@ describe( 'ContrastChecker', () => {
378
378
  textColor={ 'rgba(0,0,0,0.9)' }
379
379
  linkColor={ linkColor }
380
380
  isLargeText={ isLargeText }
381
- enableAlphaChecker={ true }
381
+ enableAlphaChecker
382
382
  />
383
383
  );
384
384
 
@@ -399,7 +399,7 @@ describe( 'ContrastChecker', () => {
399
399
  linkColor={ 'rgba(0,0,0,0.9)' }
400
400
  textColor={ textColor }
401
401
  isLargeText={ isLargeText }
402
- enableAlphaChecker={ true }
402
+ enableAlphaChecker
403
403
  />
404
404
  );
405
405
 
@@ -420,7 +420,7 @@ describe( 'ContrastChecker', () => {
420
420
  textColor={ textColor }
421
421
  linkColor={ linkColor }
422
422
  isLargeText={ isLargeText }
423
- enableAlphaChecker={ true }
423
+ enableAlphaChecker
424
424
  />
425
425
  );
426
426
 
@@ -437,7 +437,7 @@ describe( 'ContrastChecker', () => {
437
437
  isLargeText={ isLargeText }
438
438
  fallbackBackgroundColor={ fallbackBackgroundColor }
439
439
  fallbackTextColor={ fallbackTextColor }
440
- enableAlphaChecker={ true }
440
+ enableAlphaChecker
441
441
  />
442
442
  );
443
443
 
@@ -454,7 +454,7 @@ describe( 'ContrastChecker', () => {
454
454
  isLargeText={ isLargeText }
455
455
  fallbackBackgroundColor={ fallbackBackgroundColor }
456
456
  fallbackTextColor={ fallbackTextColor }
457
- enableAlphaChecker={ true }
457
+ enableAlphaChecker
458
458
  />
459
459
  );
460
460
 
@@ -477,7 +477,7 @@ describe( 'ContrastChecker', () => {
477
477
  isLargeText={ isLargeText }
478
478
  fallbackBackgroundColor={ fallbackBackgroundColor }
479
479
  fallbackTextColor={ fallbackTextColor }
480
- enableAlphaChecker={ true }
480
+ enableAlphaChecker
481
481
  />
482
482
  );
483
483
 
@@ -498,7 +498,7 @@ describe( 'ContrastChecker', () => {
498
498
  linkColor={ 'rgba(0,0,0,0.7)' }
499
499
  textColor={ 'rgba(0,0,0,0.7)' }
500
500
  isLargeText={ isLargeText }
501
- enableAlphaChecker={ true }
501
+ enableAlphaChecker
502
502
  />
503
503
  );
504
504
 
@@ -117,7 +117,6 @@ function NonDefaultControls( { format, onChange } ) {
117
117
  return (
118
118
  <VStack>
119
119
  <CustomSelectControl
120
- __nextUnconstrainedWidth
121
120
  label={ __( 'Choose a format' ) }
122
121
  options={ [ ...suggestedOptions, customOption ] }
123
122
  value={
@@ -29,12 +29,15 @@
29
29
  // In "constrained" layout containers, the first and last paragraphs have their margins zeroed out.
30
30
  // In the case of this appender, it needs to apply those same rules to avoid layout shifts.
31
31
  // Such shifts happen when the bottom margin of the Title block has been set to less than the default 1em margin of paragraphs.
32
- :where(body .is-layout-constrained) & {
32
+ :where(body .is-layout-constrained) &,
33
+ :where(.wp-site-blocks) & {
33
34
  > :first-child:first-child {
34
35
  margin-block-start: 0;
36
+ margin-block-end: 0;
35
37
  }
36
38
 
37
- // Since this particular appender will only ever appear on an entirely empty document, we don't account for last-child.
39
+ // Since this appender will only ever appear on an entirely empty document, we don't account for last-child.
40
+ // This is also because it will never be the last child, the block inserter that sits in this appender is the last child.
38
41
  }
39
42
 
40
43
  // Dropzone.
@@ -215,7 +215,6 @@ export default function FontAppearanceControl( props ) {
215
215
  onChange={ ( { selectedItem } ) =>
216
216
  onChange( selectedItem.style )
217
217
  }
218
- __nextUnconstrainedWidth
219
218
  />
220
219
  )
221
220
  );
@@ -251,13 +251,13 @@ export default function BorderPanel( {
251
251
  >
252
252
  <BorderBoxControl
253
253
  colors={ colors }
254
- enableAlpha={ true }
254
+ enableAlpha
255
255
  enableStyle={ showBorderStyle }
256
256
  onChange={ onBorderChange }
257
257
  popoverOffset={ 40 }
258
258
  popoverPlacement="left-start"
259
259
  value={ border }
260
- __experimentalIsRenderedInSidebar={ true }
260
+ __experimentalIsRenderedInSidebar
261
261
  size={ '__unstable-large' }
262
262
  hideLabelFromVision={ ! hasShadowControl }
263
263
  label={ __( 'Border' ) }
@@ -259,7 +259,7 @@ function ColorPanelDropdown( {
259
259
  />
260
260
  ) }
261
261
  { tabs.length > 1 && (
262
- <Tabs initialTabId={ currentTab?.key }>
262
+ <Tabs defaultTabId={ currentTab?.key }>
263
263
  <Tabs.TabList>
264
264
  { tabs.map( ( tab ) => (
265
265
  <Tabs.Tab
@@ -92,9 +92,11 @@ function useHasChildLayout( settings ) {
92
92
  } = settings?.parentLayout ?? {};
93
93
 
94
94
  const support =
95
- ( defaultParentLayoutType === 'flex' || parentLayoutType === 'flex' ) &&
95
+ ( defaultParentLayoutType === 'flex' ||
96
+ parentLayoutType === 'flex' ||
97
+ defaultParentLayoutType === 'grid' ||
98
+ parentLayoutType === 'grid' ) &&
96
99
  allowSizingOnChildren;
97
-
98
100
  return !! settings?.layout && support;
99
101
  }
100
102
 
@@ -395,13 +397,19 @@ export default function DimensionsPanel( {
395
397
  const showChildLayoutControl = useHasChildLayout( settings );
396
398
  const childLayout = inheritedValue?.layout;
397
399
  const { orientation = 'horizontal' } = settings?.parentLayout ?? {};
398
- const childLayoutOrientationLabel =
400
+ const {
401
+ type: parentType,
402
+ default: { type: defaultParentType = 'default' } = {},
403
+ } = settings?.parentLayout ?? {};
404
+ const parentLayoutType = parentType || defaultParentType;
405
+ const flexResetLabel =
399
406
  orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );
407
+ const childLayoutResetLabel =
408
+ parentLayoutType === 'flex' ? flexResetLabel : __( 'Grid spans' );
400
409
  const setChildLayout = ( newChildLayout ) => {
401
410
  onChange( {
402
411
  ...value,
403
412
  layout: {
404
- ...value?.layout,
405
413
  ...newChildLayout,
406
414
  },
407
415
  } );
@@ -410,6 +418,8 @@ export default function DimensionsPanel( {
410
418
  setChildLayout( {
411
419
  selfStretch: undefined,
412
420
  flexSize: undefined,
421
+ columnSpan: undefined,
422
+ rowSpan: undefined,
413
423
  } );
414
424
  };
415
425
  const hasChildLayoutValue = () => !! value?.layout;
@@ -423,6 +433,8 @@ export default function DimensionsPanel( {
423
433
  wideSize: undefined,
424
434
  selfStretch: undefined,
425
435
  flexSize: undefined,
436
+ columnSpan: undefined,
437
+ rowSpan: undefined,
426
438
  } ),
427
439
  spacing: {
428
440
  ...previousValue?.spacing,
@@ -637,6 +649,26 @@ export default function DimensionsPanel( {
637
649
  ) }
638
650
  </ToolsPanelItem>
639
651
  ) }
652
+ { showChildLayoutControl && (
653
+ <VStack
654
+ as={ ToolsPanelItem }
655
+ spacing={ 2 }
656
+ hasValue={ hasChildLayoutValue }
657
+ label={ childLayoutResetLabel }
658
+ onDeselect={ resetChildLayoutValue }
659
+ isShownByDefault={
660
+ defaultControls.childLayout ??
661
+ DEFAULT_CONTROLS.childLayout
662
+ }
663
+ panelId={ panelId }
664
+ >
665
+ <ChildLayoutControl
666
+ value={ childLayout }
667
+ onChange={ setChildLayout }
668
+ parentLayout={ settings?.parentLayout }
669
+ />
670
+ </VStack>
671
+ ) }
640
672
  { showMinHeightControl && (
641
673
  <ToolsPanelItem
642
674
  hasValue={ hasMinHeightValue }
@@ -666,26 +698,6 @@ export default function DimensionsPanel( {
666
698
  }
667
699
  />
668
700
  ) }
669
- { showChildLayoutControl && (
670
- <VStack
671
- as={ ToolsPanelItem }
672
- spacing={ 2 }
673
- hasValue={ hasChildLayoutValue }
674
- label={ childLayoutOrientationLabel }
675
- onDeselect={ resetChildLayoutValue }
676
- isShownByDefault={
677
- defaultControls.childLayout ??
678
- DEFAULT_CONTROLS.childLayout
679
- }
680
- panelId={ panelId }
681
- >
682
- <ChildLayoutControl
683
- value={ childLayout }
684
- onChange={ setChildLayout }
685
- parentLayout={ settings?.parentLayout }
686
- />
687
- </VStack>
688
- ) }
689
701
  </Wrapper>
690
702
  );
691
703
  }
@@ -62,7 +62,7 @@ export default function ImageSettingsPanel( {
62
62
  hasValue={ () => !! value?.lightbox }
63
63
  label={ __( 'Expand on click' ) }
64
64
  onDeselect={ resetLightbox }
65
- isShownByDefault={ true }
65
+ isShownByDefault
66
66
  panelId={ panelId }
67
67
  >
68
68
  <ToggleControl