@wordpress/block-editor 13.4.0 → 14.1.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 (533) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +20 -15
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +3 -1
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-draggable/index.js +2 -2
  8. package/build/components/block-draggable/index.js.map +1 -1
  9. package/build/components/block-list/use-block-props/index.js +2 -2
  10. package/build/components/block-list/use-block-props/index.js.map +1 -1
  11. package/build/components/block-list/use-block-props/use-block-refs.js +24 -32
  12. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  13. package/build/components/block-list/use-in-between-inserter.js +11 -4
  14. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  15. package/build/components/block-mover/index.js +1 -2
  16. package/build/components/block-mover/index.js.map +1 -1
  17. package/build/components/block-popover/cover.js +1 -1
  18. package/build/components/block-popover/cover.js.map +1 -1
  19. package/build/components/block-popover/inbetween.js +2 -2
  20. package/build/components/block-popover/inbetween.js.map +1 -1
  21. package/build/components/block-popover/index.js +2 -2
  22. package/build/components/block-popover/index.js.map +1 -1
  23. package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
  24. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  25. package/build/components/block-tools/block-selection-button.js +1 -2
  26. package/build/components/block-tools/block-selection-button.js.map +1 -1
  27. package/build/components/block-tools/index.js +1 -1
  28. package/build/components/block-tools/index.js.map +1 -1
  29. package/build/components/block-tools/insertion-point.js +14 -3
  30. package/build/components/block-tools/insertion-point.js.map +1 -1
  31. package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  32. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  33. package/build/components/block-tools/use-show-block-tools.js +2 -1
  34. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  35. package/build/components/block-tools/zoom-out-mode-inserters.js +22 -19
  36. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  37. package/build/components/block-tools/zoom-out-toolbar.js +0 -1
  38. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  39. package/build/components/border-radius-control/index.js +1 -0
  40. package/build/components/border-radius-control/index.js.map +1 -1
  41. package/build/components/child-layout-control/index.js +3 -1
  42. package/build/components/child-layout-control/index.js.map +1 -1
  43. package/build/components/convert-to-group-buttons/index.js +1 -1
  44. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  45. package/build/components/date-format-picker/index.js +2 -0
  46. package/build/components/date-format-picker/index.js.map +1 -1
  47. package/build/components/dimensions-tool/scale-tool.js +1 -0
  48. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  49. package/build/components/font-appearance-control/index.js +3 -0
  50. package/build/components/font-appearance-control/index.js.map +1 -1
  51. package/build/components/font-family/index.js +15 -0
  52. package/build/components/font-family/index.js.map +1 -1
  53. package/build/components/global-styles/background-panel.js +153 -77
  54. package/build/components/global-styles/background-panel.js.map +1 -1
  55. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  56. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  57. package/build/components/global-styles/hooks.js +0 -7
  58. package/build/components/global-styles/hooks.js.map +1 -1
  59. package/build/components/global-styles/image-settings-panel.js +1 -0
  60. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  61. package/build/components/global-styles/index.js +0 -6
  62. package/build/components/global-styles/index.js.map +1 -1
  63. package/build/components/global-styles/typography-panel.js +0 -1
  64. package/build/components/global-styles/typography-panel.js.map +1 -1
  65. package/build/components/global-styles/use-global-styles-output.js +59 -40
  66. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  67. package/build/components/global-styles/utils.js +80 -0
  68. package/build/components/global-styles/utils.js.map +1 -1
  69. package/build/components/grid/grid-item-movers.js +30 -26
  70. package/build/components/grid/grid-item-movers.js.map +1 -1
  71. package/build/components/grid/grid-item-resizer.js +14 -15
  72. package/build/components/grid/grid-item-resizer.js.map +1 -1
  73. package/build/components/grid/grid-visualizer.js +21 -6
  74. package/build/components/grid/grid-visualizer.js.map +1 -1
  75. package/build/components/grid/use-grid-layout-sync.js +56 -20
  76. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  77. package/build/components/height-control/index.js +1 -0
  78. package/build/components/height-control/index.js.map +1 -1
  79. package/build/components/iframe/index.js +2 -4
  80. package/build/components/iframe/index.js.map +1 -1
  81. package/build/components/image-editor/zoom-dropdown.js +11 -7
  82. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  83. package/build/components/inner-blocks/button-block-appender.js +8 -8
  84. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  85. package/build/components/inner-blocks/default-block-appender.js +7 -25
  86. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +9 -11
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inserter/category-tabs/index.js +29 -2
  90. package/build/components/inserter/category-tabs/index.js.map +1 -1
  91. package/build/components/inserter/library.js +4 -2
  92. package/build/components/inserter/library.js.map +1 -1
  93. package/build/components/inserter/menu.js +32 -14
  94. package/build/components/inserter/menu.js.map +1 -1
  95. package/build/components/inserter/quick-inserter.js +4 -0
  96. package/build/components/inserter/quick-inserter.js.map +1 -1
  97. package/build/components/line-height-control/index.js +3 -15
  98. package/build/components/line-height-control/index.js.map +1 -1
  99. package/build/components/link-control/search-input.js +0 -1
  100. package/build/components/link-control/search-input.js.map +1 -1
  101. package/build/components/media-placeholder/index.js +9 -4
  102. package/build/components/media-placeholder/index.js.map +1 -1
  103. package/build/components/media-replace-flow/index.js +3 -1
  104. package/build/components/media-replace-flow/index.js.map +1 -1
  105. package/build/components/media-upload/index.native.js +4 -1
  106. package/build/components/media-upload/index.native.js.map +1 -1
  107. package/build/components/multi-selection-inspector/index.js +12 -12
  108. package/build/components/multi-selection-inspector/index.js.map +1 -1
  109. package/build/components/resolution-tool/index.js +1 -0
  110. package/build/components/resolution-tool/index.js.map +1 -1
  111. package/build/components/skip-to-selected-block/index.js +4 -2
  112. package/build/components/skip-to-selected-block/index.js.map +1 -1
  113. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  114. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  115. package/build/components/text-alignment-control/index.js +13 -8
  116. package/build/components/text-alignment-control/index.js.map +1 -1
  117. package/build/components/text-decoration-control/index.js +13 -8
  118. package/build/components/text-decoration-control/index.js.map +1 -1
  119. package/build/components/text-transform-control/index.js +13 -8
  120. package/build/components/text-transform-control/index.js.map +1 -1
  121. package/build/components/url-input/button.js +0 -1
  122. package/build/components/url-input/button.js.map +1 -1
  123. package/build/components/url-input/index.js +1 -11
  124. package/build/components/url-input/index.js.map +1 -1
  125. package/build/components/url-popover/image-url-input-ui.js +2 -0
  126. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  127. package/build/components/url-popover/link-editor.js +0 -1
  128. package/build/components/url-popover/link-editor.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +42 -4
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-on-block-drop/index.js +3 -6
  132. package/build/components/use-on-block-drop/index.js.map +1 -1
  133. package/build/components/use-resize-canvas/index.js +1 -3
  134. package/build/components/use-resize-canvas/index.js.map +1 -1
  135. package/build/components/use-settings/index.js +2 -1
  136. package/build/components/use-settings/index.js.map +1 -1
  137. package/build/components/writing-mode-control/index.js +13 -8
  138. package/build/components/writing-mode-control/index.js.map +1 -1
  139. package/build/hooks/background.js +19 -23
  140. package/build/hooks/background.js.map +1 -1
  141. package/build/hooks/block-bindings.js +209 -39
  142. package/build/hooks/block-bindings.js.map +1 -1
  143. package/build/hooks/block-hooks.js +1 -0
  144. package/build/hooks/block-hooks.js.map +1 -1
  145. package/build/hooks/block-style-variation.js +2 -2
  146. package/build/hooks/block-style-variation.js.map +1 -1
  147. package/build/hooks/contrast-checker.js +6 -6
  148. package/build/hooks/contrast-checker.js.map +1 -1
  149. package/build/hooks/duotone.js +3 -3
  150. package/build/hooks/duotone.js.map +1 -1
  151. package/build/hooks/index.js +7 -1
  152. package/build/hooks/index.js.map +1 -1
  153. package/build/hooks/line-height.js +0 -1
  154. package/build/hooks/line-height.js.map +1 -1
  155. package/build/hooks/spacing-visualizer.js +1 -1
  156. package/build/hooks/spacing-visualizer.js.map +1 -1
  157. package/build/hooks/use-bindings-attributes.js +4 -0
  158. package/build/hooks/use-bindings-attributes.js.map +1 -1
  159. package/build/hooks/use-zoom-out.js +1 -1
  160. package/build/hooks/use-zoom-out.js.map +1 -1
  161. package/build/hooks/utils.js +20 -0
  162. package/build/hooks/utils.js.map +1 -1
  163. package/build/index.js +7 -0
  164. package/build/index.js.map +1 -1
  165. package/build/layouts/constrained.js +1 -0
  166. package/build/layouts/constrained.js.map +1 -1
  167. package/build/layouts/flex.js +2 -0
  168. package/build/layouts/flex.js.map +1 -1
  169. package/build/layouts/grid.js +3 -0
  170. package/build/layouts/grid.js.map +1 -1
  171. package/build/private-apis.js +3 -2
  172. package/build/private-apis.js.map +1 -1
  173. package/build/store/actions.js +9 -1
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/private-selectors.js +30 -0
  176. package/build/store/private-selectors.js.map +1 -1
  177. package/build/store/reducer.js +10 -1
  178. package/build/store/reducer.js.map +1 -1
  179. package/build/store/selectors.js +4 -4
  180. package/build/store/selectors.js.map +1 -1
  181. package/build/utils/block-bindings.js +112 -0
  182. package/build/utils/block-bindings.js.map +1 -0
  183. package/build/utils/get-editor-region.js +1 -1
  184. package/build/utils/get-editor-region.js.map +1 -1
  185. package/build/utils/get-px-from-css-unit.js +1 -1
  186. package/build/utils/get-px-from-css-unit.js.map +1 -1
  187. package/build-module/autocompleters/block.js +1 -1
  188. package/build-module/autocompleters/block.js.map +1 -1
  189. package/build-module/components/block-breadcrumb/index.js +4 -2
  190. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  191. package/build-module/components/block-draggable/index.js +3 -3
  192. package/build-module/components/block-draggable/index.js.map +1 -1
  193. package/build-module/components/block-list/use-block-props/index.js +2 -2
  194. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  195. package/build-module/components/block-list/use-block-props/use-block-refs.js +24 -34
  196. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  197. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  198. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  199. package/build-module/components/block-mover/index.js +1 -2
  200. package/build-module/components/block-mover/index.js.map +1 -1
  201. package/build-module/components/block-popover/cover.js +1 -1
  202. package/build-module/components/block-popover/cover.js.map +1 -1
  203. package/build-module/components/block-popover/inbetween.js +1 -1
  204. package/build-module/components/block-popover/inbetween.js.map +1 -1
  205. package/build-module/components/block-popover/index.js +1 -1
  206. package/build-module/components/block-popover/index.js.map +1 -1
  207. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  208. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  209. package/build-module/components/block-tools/block-selection-button.js +1 -2
  210. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  211. package/build-module/components/block-tools/index.js +1 -1
  212. package/build-module/components/block-tools/index.js.map +1 -1
  213. package/build-module/components/block-tools/insertion-point.js +14 -3
  214. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  215. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  216. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  217. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  218. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  219. package/build-module/components/block-tools/zoom-out-mode-inserters.js +23 -20
  220. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  221. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -1
  222. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  223. package/build-module/components/border-radius-control/index.js +1 -0
  224. package/build-module/components/border-radius-control/index.js.map +1 -1
  225. package/build-module/components/child-layout-control/index.js +3 -1
  226. package/build-module/components/child-layout-control/index.js.map +1 -1
  227. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  228. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  229. package/build-module/components/date-format-picker/index.js +2 -0
  230. package/build-module/components/date-format-picker/index.js.map +1 -1
  231. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  232. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  233. package/build-module/components/font-appearance-control/index.js +3 -0
  234. package/build-module/components/font-appearance-control/index.js.map +1 -1
  235. package/build-module/components/font-family/index.js +14 -0
  236. package/build-module/components/font-family/index.js.map +1 -1
  237. package/build-module/components/global-styles/background-panel.js +156 -80
  238. package/build-module/components/global-styles/background-panel.js.map +1 -1
  239. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  240. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  241. package/build-module/components/global-styles/hooks.js +0 -6
  242. package/build-module/components/global-styles/hooks.js.map +1 -1
  243. package/build-module/components/global-styles/image-settings-panel.js +1 -0
  244. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  245. package/build-module/components/global-styles/index.js +1 -1
  246. package/build-module/components/global-styles/index.js.map +1 -1
  247. package/build-module/components/global-styles/typography-panel.js +0 -1
  248. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  249. package/build-module/components/global-styles/use-global-styles-output.js +61 -42
  250. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  251. package/build-module/components/global-styles/utils.js +77 -0
  252. package/build-module/components/global-styles/utils.js.map +1 -1
  253. package/build-module/components/grid/grid-item-movers.js +30 -26
  254. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  255. package/build-module/components/grid/grid-item-resizer.js +14 -15
  256. package/build-module/components/grid/grid-item-resizer.js.map +1 -1
  257. package/build-module/components/grid/grid-visualizer.js +21 -6
  258. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  259. package/build-module/components/grid/use-grid-layout-sync.js +56 -20
  260. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  261. package/build-module/components/height-control/index.js +1 -0
  262. package/build-module/components/height-control/index.js.map +1 -1
  263. package/build-module/components/iframe/index.js +2 -4
  264. package/build-module/components/iframe/index.js.map +1 -1
  265. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  266. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  267. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  268. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  269. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  270. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  271. package/build-module/components/inner-blocks/index.js +9 -11
  272. package/build-module/components/inner-blocks/index.js.map +1 -1
  273. package/build-module/components/inserter/category-tabs/index.js +30 -3
  274. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  275. package/build-module/components/inserter/library.js +4 -2
  276. package/build-module/components/inserter/library.js.map +1 -1
  277. package/build-module/components/inserter/menu.js +32 -14
  278. package/build-module/components/inserter/menu.js.map +1 -1
  279. package/build-module/components/inserter/quick-inserter.js +5 -1
  280. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  281. package/build-module/components/line-height-control/index.js +3 -14
  282. package/build-module/components/line-height-control/index.js.map +1 -1
  283. package/build-module/components/link-control/search-input.js +0 -1
  284. package/build-module/components/link-control/search-input.js.map +1 -1
  285. package/build-module/components/media-placeholder/index.js +9 -4
  286. package/build-module/components/media-placeholder/index.js.map +1 -1
  287. package/build-module/components/media-replace-flow/index.js +3 -1
  288. package/build-module/components/media-replace-flow/index.js.map +1 -1
  289. package/build-module/components/media-upload/index.native.js +4 -1
  290. package/build-module/components/media-upload/index.native.js.map +1 -1
  291. package/build-module/components/multi-selection-inspector/index.js +12 -12
  292. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  293. package/build-module/components/resolution-tool/index.js +1 -0
  294. package/build-module/components/resolution-tool/index.js.map +1 -1
  295. package/build-module/components/skip-to-selected-block/index.js +5 -3
  296. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  297. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  298. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  299. package/build-module/components/text-alignment-control/index.js +13 -8
  300. package/build-module/components/text-alignment-control/index.js.map +1 -1
  301. package/build-module/components/text-decoration-control/index.js +13 -8
  302. package/build-module/components/text-decoration-control/index.js.map +1 -1
  303. package/build-module/components/text-transform-control/index.js +13 -8
  304. package/build-module/components/text-transform-control/index.js.map +1 -1
  305. package/build-module/components/url-input/button.js +0 -1
  306. package/build-module/components/url-input/button.js.map +1 -1
  307. package/build-module/components/url-input/index.js +1 -11
  308. package/build-module/components/url-input/index.js.map +1 -1
  309. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  310. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  311. package/build-module/components/url-popover/link-editor.js +0 -1
  312. package/build-module/components/url-popover/link-editor.js.map +1 -1
  313. package/build-module/components/use-block-drop-zone/index.js +42 -4
  314. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  315. package/build-module/components/use-on-block-drop/index.js +3 -6
  316. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  317. package/build-module/components/use-resize-canvas/index.js +1 -3
  318. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  319. package/build-module/components/use-settings/index.js +2 -1
  320. package/build-module/components/use-settings/index.js.map +1 -1
  321. package/build-module/components/writing-mode-control/index.js +13 -8
  322. package/build-module/components/writing-mode-control/index.js.map +1 -1
  323. package/build-module/hooks/background.js +19 -23
  324. package/build-module/hooks/background.js.map +1 -1
  325. package/build-module/hooks/block-bindings.js +214 -43
  326. package/build-module/hooks/block-bindings.js.map +1 -1
  327. package/build-module/hooks/block-hooks.js +1 -0
  328. package/build-module/hooks/block-hooks.js.map +1 -1
  329. package/build-module/hooks/block-style-variation.js +3 -3
  330. package/build-module/hooks/block-style-variation.js.map +1 -1
  331. package/build-module/hooks/contrast-checker.js +7 -7
  332. package/build-module/hooks/contrast-checker.js.map +1 -1
  333. package/build-module/hooks/duotone.js +4 -4
  334. package/build-module/hooks/duotone.js.map +1 -1
  335. package/build-module/hooks/index.js +2 -1
  336. package/build-module/hooks/index.js.map +1 -1
  337. package/build-module/hooks/line-height.js +0 -1
  338. package/build-module/hooks/line-height.js.map +1 -1
  339. package/build-module/hooks/spacing-visualizer.js +1 -1
  340. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  341. package/build-module/hooks/use-bindings-attributes.js +3 -0
  342. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  343. package/build-module/hooks/use-zoom-out.js +1 -1
  344. package/build-module/hooks/use-zoom-out.js.map +1 -1
  345. package/build-module/hooks/utils.js +19 -0
  346. package/build-module/hooks/utils.js.map +1 -1
  347. package/build-module/index.js +1 -1
  348. package/build-module/index.js.map +1 -1
  349. package/build-module/layouts/constrained.js +1 -0
  350. package/build-module/layouts/constrained.js.map +1 -1
  351. package/build-module/layouts/flex.js +2 -0
  352. package/build-module/layouts/flex.js.map +1 -1
  353. package/build-module/layouts/grid.js +3 -0
  354. package/build-module/layouts/grid.js.map +1 -1
  355. package/build-module/private-apis.js +4 -3
  356. package/build-module/private-apis.js.map +1 -1
  357. package/build-module/store/actions.js +9 -1
  358. package/build-module/store/actions.js.map +1 -1
  359. package/build-module/store/private-selectors.js +27 -0
  360. package/build-module/store/private-selectors.js.map +1 -1
  361. package/build-module/store/reducer.js +9 -1
  362. package/build-module/store/reducer.js.map +1 -1
  363. package/build-module/store/selectors.js +4 -4
  364. package/build-module/store/selectors.js.map +1 -1
  365. package/build-module/utils/block-bindings.js +105 -0
  366. package/build-module/utils/block-bindings.js.map +1 -0
  367. package/build-module/utils/get-editor-region.js +1 -1
  368. package/build-module/utils/get-editor-region.js.map +1 -1
  369. package/build-module/utils/get-px-from-css-unit.js +1 -1
  370. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  371. package/build-style/content-rtl.css +12 -26
  372. package/build-style/content.css +12 -26
  373. package/build-style/default-editor-styles-rtl.css +5 -2
  374. package/build-style/default-editor-styles.css +5 -2
  375. package/build-style/style-rtl.css +123 -83
  376. package/build-style/style.css +123 -83
  377. package/package.json +32 -32
  378. package/src/autocompleters/block.js +2 -1
  379. package/src/autocompleters/style.scss +4 -0
  380. package/src/components/block-breadcrumb/index.js +4 -2
  381. package/src/components/block-canvas/style.scss +1 -0
  382. package/src/components/block-draggable/index.js +3 -3
  383. package/src/components/block-list/content.scss +5 -13
  384. package/src/components/block-list/use-block-props/index.js +2 -2
  385. package/src/components/block-list/use-block-props/use-block-refs.js +27 -43
  386. package/src/components/block-list/use-in-between-inserter.js +17 -5
  387. package/src/components/block-mover/index.js +5 -2
  388. package/src/components/block-popover/cover.js +1 -1
  389. package/src/components/block-popover/inbetween.js +1 -1
  390. package/src/components/block-popover/index.js +1 -1
  391. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  392. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  393. package/src/components/block-tools/block-selection-button.js +1 -2
  394. package/src/components/block-tools/index.js +5 -6
  395. package/src/components/block-tools/insertion-point.js +11 -0
  396. package/src/components/block-tools/style.scss +1 -1
  397. package/src/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  398. package/src/components/block-tools/use-show-block-tools.js +4 -1
  399. package/src/components/block-tools/zoom-out-mode-inserters.js +21 -19
  400. package/src/components/block-tools/zoom-out-toolbar.js +0 -1
  401. package/src/components/block-variation-transforms/style.scss +1 -1
  402. package/src/components/border-radius-control/index.js +1 -0
  403. package/src/components/border-radius-control/style.scss +0 -10
  404. package/src/components/button-block-appender/content.scss +1 -1
  405. package/src/components/child-layout-control/index.js +2 -0
  406. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  407. package/src/components/colors-gradients/test/control.js +3 -2
  408. package/src/components/convert-to-group-buttons/index.js +1 -1
  409. package/src/components/date-format-picker/index.js +2 -0
  410. package/src/components/dimensions-tool/scale-tool.js +1 -0
  411. package/src/components/font-appearance-control/index.js +3 -0
  412. package/src/components/font-family/README.md +17 -0
  413. package/src/components/font-family/index.js +19 -0
  414. package/src/components/font-family/stories/index.story.js +54 -0
  415. package/src/components/global-styles/background-panel.js +180 -93
  416. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  417. package/src/components/global-styles/hooks.js +0 -5
  418. package/src/components/global-styles/image-settings-panel.js +1 -0
  419. package/src/components/global-styles/index.js +0 -1
  420. package/src/components/global-styles/style.scss +13 -12
  421. package/src/components/global-styles/test/use-global-styles-output.js +68 -7
  422. package/src/components/global-styles/test/utils.js +120 -0
  423. package/src/components/global-styles/typography-panel.js +0 -1
  424. package/src/components/global-styles/use-global-styles-output.js +71 -53
  425. package/src/components/global-styles/utils.js +90 -0
  426. package/src/components/grid/grid-item-movers.js +46 -44
  427. package/src/components/grid/grid-item-resizer.js +11 -17
  428. package/src/components/grid/grid-visualizer.js +23 -8
  429. package/src/components/grid/style.scss +60 -10
  430. package/src/components/grid/use-grid-layout-sync.js +68 -14
  431. package/src/components/height-control/index.js +1 -0
  432. package/src/components/iframe/content.scss +2 -2
  433. package/src/components/iframe/index.js +1 -3
  434. package/src/components/image-editor/zoom-dropdown.js +17 -9
  435. package/src/components/inner-blocks/button-block-appender.js +5 -7
  436. package/src/components/inner-blocks/default-block-appender.js +4 -23
  437. package/src/components/inner-blocks/index.js +10 -9
  438. package/src/components/inserter/category-tabs/index.js +35 -2
  439. package/src/components/inserter/library.js +2 -0
  440. package/src/components/inserter/menu.js +34 -29
  441. package/src/components/inserter/quick-inserter.js +4 -1
  442. package/src/components/inserter/style.scss +17 -12
  443. package/src/components/inserter-list-item/style.scss +1 -0
  444. package/src/components/inspector-controls/README.md +5 -0
  445. package/src/components/line-height-control/README.md +4 -5
  446. package/src/components/line-height-control/index.js +4 -21
  447. package/src/components/line-height-control/stories/index.story.js +0 -1
  448. package/src/components/line-height-control/test/index.js +1 -7
  449. package/src/components/link-control/search-input.js +0 -1
  450. package/src/components/link-control/style.scss +1 -1
  451. package/src/components/media-placeholder/index.js +12 -7
  452. package/src/components/media-replace-flow/README.md +7 -0
  453. package/src/components/media-replace-flow/index.js +3 -1
  454. package/src/components/media-upload/README.md +2 -0
  455. package/src/components/media-upload/index.native.js +2 -0
  456. package/src/components/multi-selection-inspector/index.js +8 -9
  457. package/src/components/resolution-tool/index.js +1 -0
  458. package/src/components/responsive-block-control/README.md +1 -0
  459. package/src/components/responsive-block-control/test/index.js +6 -1
  460. package/src/components/skip-to-selected-block/index.js +5 -3
  461. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +11 -10
  462. package/src/components/spacing-sizes-control/style.scss +16 -16
  463. package/src/components/tabbed-sidebar/style.scss +1 -19
  464. package/src/components/text-alignment-control/index.js +20 -8
  465. package/src/components/text-decoration-control/index.js +20 -8
  466. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  467. package/src/components/text-transform-control/index.js +20 -8
  468. package/src/components/text-transform-control/stories/index.story.js +0 -4
  469. package/src/components/url-input/README.md +0 -5
  470. package/src/components/url-input/button.js +0 -1
  471. package/src/components/url-input/index.js +1 -15
  472. package/src/components/url-input/style.scss +2 -2
  473. package/src/components/url-popover/image-url-input-ui.js +2 -0
  474. package/src/components/url-popover/link-editor.js +0 -1
  475. package/src/components/use-block-drop-zone/index.js +86 -16
  476. package/src/components/use-on-block-drop/index.js +1 -9
  477. package/src/components/use-resize-canvas/index.js +1 -3
  478. package/src/components/use-settings/index.js +2 -1
  479. package/src/components/writing-mode-control/index.js +20 -8
  480. package/src/hooks/background.js +21 -27
  481. package/src/hooks/block-bindings.js +248 -54
  482. package/src/hooks/block-bindings.scss +13 -2
  483. package/src/hooks/block-hooks.js +1 -0
  484. package/src/hooks/block-hooks.scss +1 -0
  485. package/src/hooks/block-style-variation.js +3 -3
  486. package/src/hooks/contrast-checker.js +7 -7
  487. package/src/hooks/duotone.js +4 -4
  488. package/src/hooks/index.js +2 -1
  489. package/src/hooks/line-height.js +0 -1
  490. package/src/hooks/spacing-visualizer.js +1 -1
  491. package/src/hooks/test/background.js +60 -0
  492. package/src/hooks/use-bindings-attributes.js +4 -0
  493. package/src/hooks/use-editor-wrapper-styles.native.scss +1 -0
  494. package/src/hooks/use-zoom-out.js +1 -1
  495. package/src/hooks/utils.js +14 -1
  496. package/src/index.js +1 -0
  497. package/src/layouts/constrained.js +1 -0
  498. package/src/layouts/flex.js +2 -0
  499. package/src/layouts/grid.js +3 -0
  500. package/src/private-apis.js +3 -2
  501. package/src/store/actions.js +13 -5
  502. package/src/store/private-selectors.js +36 -0
  503. package/src/store/reducer.js +7 -0
  504. package/src/store/selectors.js +4 -4
  505. package/src/store/test/private-selectors.js +89 -0
  506. package/src/style.scss +1 -2
  507. package/src/utils/block-bindings.js +98 -0
  508. package/src/utils/get-editor-region.js +1 -1
  509. package/src/utils/get-px-from-css-unit.js +1 -1
  510. package/src/utils/test/transform-styles.js +49 -0
  511. package/tsconfig.tsbuildinfo +1 -1
  512. package/build/components/global-styles/theme-file-uri-utils.js +0 -80
  513. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  514. package/build/components/inner-blocks/with-client-id.js +0 -28
  515. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  516. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -30
  517. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  518. package/build/components/segmented-text-control/index.js +0 -63
  519. package/build/components/segmented-text-control/index.js.map +0 -1
  520. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -73
  521. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  522. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  523. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  524. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -23
  525. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  526. package/build-module/components/segmented-text-control/index.js +0 -58
  527. package/build-module/components/segmented-text-control/index.js.map +0 -1
  528. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -66
  529. package/src/components/global-styles/theme-file-uri-utils.js +0 -77
  530. package/src/components/inner-blocks/with-client-id.js +0 -19
  531. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -25
  532. package/src/components/segmented-text-control/index.js +0 -63
  533. package/src/components/segmented-text-control/style.scss +0 -15
@@ -1,29 +1,10 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { compose } from '@wordpress/compose';
5
- import { withSelect } from '@wordpress/data';
6
-
7
1
  /**
8
2
  * Internal dependencies
9
3
  */
10
4
  import BaseDefaultBlockAppender from '../default-block-appender';
11
- import withClientId from './with-client-id';
12
- import { store as blockEditorStore } from '../../store';
5
+ import { useBlockEditContext } from '../block-edit/context';
13
6
 
14
- export const DefaultBlockAppender = ( { clientId } ) => {
7
+ export default function DefaultBlockAppender() {
8
+ const { clientId } = useBlockEditContext();
15
9
  return <BaseDefaultBlockAppender rootClientId={ clientId } />;
16
- };
17
-
18
- export default compose( [
19
- withClientId,
20
- withSelect( ( select, { clientId } ) => {
21
- const { getBlockOrder } = select( blockEditorStore );
22
-
23
- const blockClientIds = getBlockOrder( clientId );
24
-
25
- return {
26
- lastBlockClientId: blockClientIds[ blockClientIds.length - 1 ],
27
- };
28
- } ),
29
- ] )( DefaultBlockAppender );
10
+ }
@@ -206,13 +206,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
206
206
  getSettings,
207
207
  } = unlock( select( blockEditorStore ) );
208
208
  let _isDropZoneDisabled;
209
- // In zoom out mode, we want to disable the drop zone for the sections.
210
- // The inner blocks belonging to the section drop zone is
211
- // already disabled by the blocks themselves being disabled.
212
- if ( __unstableGetEditorMode() === 'zoom-out' ) {
213
- const { sectionRootClientId } = unlock( getSettings() );
214
- _isDropZoneDisabled = clientId !== sectionRootClientId;
215
- }
209
+
216
210
  if ( ! clientId ) {
217
211
  return { isDropZoneDisabled: _isDropZoneDisabled };
218
212
  }
@@ -225,8 +219,15 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
225
219
  const parentClientId = getBlockRootClientId( clientId );
226
220
  const [ defaultLayout ] = getBlockSettings( clientId, 'layout' );
227
221
 
228
- if ( _isDropZoneDisabled !== undefined ) {
229
- _isDropZoneDisabled = blockEditingMode === 'disabled';
222
+ _isDropZoneDisabled = blockEditingMode === 'disabled';
223
+
224
+ if ( __unstableGetEditorMode() === 'zoom-out' ) {
225
+ // In zoom out mode, we want to disable the drop zone for the sections.
226
+ // The inner blocks belonging to the section drop zone is
227
+ // already disabled by the blocks themselves being disabled.
228
+ const { sectionRootClientId } = unlock( getSettings() );
229
+
230
+ _isDropZoneDisabled = clientId !== sectionRootClientId;
230
231
  }
231
232
 
232
233
  return {
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { usePrevious, useReducedMotion } from '@wordpress/compose';
4
5
  import { isRTL } from '@wordpress/i18n';
5
6
  import {
6
7
  __experimentalHStack as HStack,
7
8
  FlexBlock,
8
9
  privateApis as componentsPrivateApis,
10
+ __unstableMotion as motion,
9
11
  } from '@wordpress/components';
10
12
  import { Icon, chevronRight, chevronLeft } from '@wordpress/icons';
11
13
 
@@ -22,6 +24,17 @@ function CategoryTabs( {
22
24
  onSelectCategory,
23
25
  children,
24
26
  } ) {
27
+ // Copied from InterfaceSkeleton.
28
+ const ANIMATION_DURATION = 0.25;
29
+ const disableMotion = useReducedMotion();
30
+ const defaultTransition = {
31
+ type: 'tween',
32
+ duration: disableMotion ? 0 : ANIMATION_DURATION,
33
+ ease: [ 0.6, 0, 0.4, 1 ],
34
+ };
35
+
36
+ const previousSelectedCategory = usePrevious( selectedCategory );
37
+
25
38
  return (
26
39
  <Tabs
27
40
  className="block-editor-inserter__category-tabs"
@@ -62,9 +75,29 @@ function CategoryTabs( {
62
75
  key={ category.name }
63
76
  tabId={ category.name }
64
77
  focusable={ false }
65
- className="block-editor-inserter__category-panel"
66
78
  >
67
- { children }
79
+ <motion.div
80
+ className="block-editor-inserter__category-panel"
81
+ initial={
82
+ ! previousSelectedCategory ? 'closed' : 'open'
83
+ }
84
+ animate="open"
85
+ variants={ {
86
+ open: {
87
+ transform: 'translateX( 0 )',
88
+ transitionEnd: {
89
+ zIndex: '1',
90
+ },
91
+ },
92
+ closed: {
93
+ transform: 'translateX( -100% )',
94
+ zIndex: '-1',
95
+ },
96
+ } }
97
+ transition={ defaultTransition }
98
+ >
99
+ { children }
100
+ </motion.div>
68
101
  </Tabs.TabPanel>
69
102
  ) ) }
70
103
  </Tabs>
@@ -27,6 +27,7 @@ function InserterLibrary(
27
27
  onSelect = noop,
28
28
  shouldFocusBlock = false,
29
29
  onClose,
30
+ __experimentalSearchInputRef,
30
31
  },
31
32
  ref
32
33
  ) {
@@ -58,6 +59,7 @@ function InserterLibrary(
58
59
  shouldFocusBlock={ shouldFocusBlock }
59
60
  ref={ ref }
60
61
  onClose={ onClose }
62
+ __experimentalSearchInputRef={ __experimentalSearchInputRef }
61
63
  />
62
64
  );
63
65
  }
@@ -26,13 +26,14 @@ import Tips from './tips';
26
26
  import InserterPreviewPanel from './preview-panel';
27
27
  import BlockTypesTab from './block-types-tab';
28
28
  import BlockPatternsTab from './block-patterns-tab';
29
- import { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';
29
+ import { PatternCategoryPreviews } from './block-patterns-tab/pattern-category-previews';
30
30
  import { MediaTab, MediaCategoryPanel } from './media-tab';
31
31
  import InserterSearchResults from './search-results';
32
32
  import useInsertionPoint from './hooks/use-insertion-point';
33
33
  import { store as blockEditorStore } from '../../store';
34
34
  import TabbedSidebar from '../tabbed-sidebar';
35
35
  import { useZoomOut } from '../../hooks/use-zoom-out';
36
+ import { unlock } from '../../lock-unlock';
36
37
 
37
38
  const NOOP = () => {};
38
39
  function InserterMenu(
@@ -53,11 +54,16 @@ function InserterMenu(
53
54
  },
54
55
  ref
55
56
  ) {
56
- const isZoomOutMode = useSelect(
57
- ( select ) =>
58
- select( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',
59
- []
60
- );
57
+ const { isZoomOutMode, inserterSearchInputRef } = useSelect( ( select ) => {
58
+ const { __unstableGetEditorMode, getInserterSearchInputRef } = unlock(
59
+ select( blockEditorStore )
60
+ );
61
+ return {
62
+ isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
63
+ inserterSearchInputRef: getInserterSearchInputRef(),
64
+ };
65
+ }, [] );
66
+
61
67
  const [ filterValue, setFilterValue, delayedFilterValue ] =
62
68
  useDebouncedInput( __experimentalFilterValue );
63
69
  const [ hoveredItem, setHoveredItem ] = useState( null );
@@ -67,9 +73,16 @@ function InserterMenu(
67
73
  const [ patternFilter, setPatternFilter ] = useState( 'all' );
68
74
  const [ selectedMediaCategory, setSelectedMediaCategory ] =
69
75
  useState( null );
70
- const [ selectedTab, setSelectedTab ] = useState(
71
- __experimentalInitialTab
72
- );
76
+ function getInitialTab() {
77
+ if ( __experimentalInitialTab ) {
78
+ return __experimentalInitialTab;
79
+ }
80
+
81
+ if ( isZoomOutMode ) {
82
+ return 'patterns';
83
+ }
84
+ }
85
+ const [ selectedTab, setSelectedTab ] = useState( getInitialTab() );
73
86
 
74
87
  const [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =
75
88
  useInsertionPoint( {
@@ -104,15 +117,16 @@ function InserterMenu(
104
117
  }
105
118
  } );
106
119
  },
107
- [ onInsertBlocks, onSelect, shouldFocusBlock ]
120
+ [ onInsertBlocks, onSelect, ref, shouldFocusBlock ]
108
121
  );
109
122
 
110
123
  const onInsertPattern = useCallback(
111
124
  ( blocks, patternName ) => {
125
+ onToggleInsertionPoint( false );
112
126
  onInsertBlocks( blocks, { patternName } );
113
127
  onSelect();
114
128
  },
115
- [ onInsertBlocks, onSelect ]
129
+ [ onInsertBlocks, onSelect, onToggleInsertionPoint ]
116
130
  );
117
131
 
118
132
  const onHover = useCallback(
@@ -123,13 +137,6 @@ function InserterMenu(
123
137
  [ onToggleInsertionPoint, setHoveredItem ]
124
138
  );
125
139
 
126
- const onHoverPattern = useCallback(
127
- ( item ) => {
128
- onToggleInsertionPoint( !! item );
129
- },
130
- [ onToggleInsertionPoint ]
131
- );
132
-
133
140
  const onClickPatternCategory = useCallback(
134
141
  ( patternCategory, filter ) => {
135
142
  setSelectedPatternCategory( patternCategory );
@@ -170,13 +177,14 @@ function InserterMenu(
170
177
  value={ filterValue }
171
178
  label={ __( 'Search for blocks and patterns' ) }
172
179
  placeholder={ __( 'Search' ) }
180
+ ref={ inserterSearchInputRef }
173
181
  />
182
+
174
183
  { !! delayedFilterValue && (
175
184
  <InserterSearchResults
176
185
  filterValue={ delayedFilterValue }
177
186
  onSelect={ onSelect }
178
187
  onHover={ onHover }
179
- onHoverPattern={ onHoverPattern }
180
188
  rootClientId={ rootClientId }
181
189
  clientId={ clientId }
182
190
  isAppender={ isAppender }
@@ -192,19 +200,18 @@ function InserterMenu(
192
200
  );
193
201
  }, [
194
202
  selectedTab,
195
- hoveredItem,
196
- setHoveredItem,
197
- setFilterValue,
198
203
  filterValue,
204
+ inserterSearchInputRef,
199
205
  delayedFilterValue,
200
206
  onSelect,
201
207
  onHover,
202
- onHoverPattern,
203
- shouldFocusBlock,
204
- clientId,
205
208
  rootClientId,
206
- __experimentalInsertionIndex,
209
+ clientId,
207
210
  isAppender,
211
+ __experimentalInsertionIndex,
212
+ shouldFocusBlock,
213
+ hoveredItem,
214
+ setFilterValue,
208
215
  ] );
209
216
 
210
217
  const blocksTab = useMemo( () => {
@@ -246,10 +253,9 @@ function InserterMenu(
246
253
  selectedCategory={ selectedPatternCategory }
247
254
  >
248
255
  { showPatternPanel && (
249
- <PatternCategoryPreviewPanel
256
+ <PatternCategoryPreviews
250
257
  rootClientId={ destinationRootClientId }
251
258
  onInsert={ onInsertPattern }
252
- onHover={ onHoverPattern }
253
259
  category={ selectedPatternCategory }
254
260
  patternFilter={ patternFilter }
255
261
  showTitlesAsTooltip
@@ -259,7 +265,6 @@ function InserterMenu(
259
265
  );
260
266
  }, [
261
267
  destinationRootClientId,
262
- onHoverPattern,
263
268
  onInsertPattern,
264
269
  onClickPatternCategory,
265
270
  patternFilter,
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { useState, useEffect } from '@wordpress/element';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { Button, SearchControl } from '@wordpress/components';
12
- import { useSelect } from '@wordpress/data';
12
+ import { useDispatch, useSelect } from '@wordpress/data';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
@@ -82,6 +82,8 @@ export default function QuickInserter( {
82
82
  }
83
83
  }, [ setInserterIsOpened ] );
84
84
 
85
+ const { showInsertionPoint } = useDispatch( blockEditorStore );
86
+
85
87
  // When clicking Browse All select the appropriate block so as
86
88
  // the insertion point can work as expected.
87
89
  const onBrowseAll = () => {
@@ -91,6 +93,7 @@ export default function QuickInserter( {
91
93
  filterValue,
92
94
  onSelect,
93
95
  } );
96
+ showInsertionPoint( rootClientId, insertionIndex );
94
97
  };
95
98
 
96
99
  let maxBlockPatterns = 0;
@@ -1,5 +1,5 @@
1
1
  $block-inserter-preview-height: 350px;
2
- $block-inserter-width: 350px;
2
+ $block-quick-inserter-width: 350px;
3
3
  $block-inserter-tabs-height: 44px;
4
4
 
5
5
  .block-editor-inserter {
@@ -24,13 +24,19 @@ $block-inserter-tabs-height: 44px;
24
24
  &.show-as-tabs {
25
25
  gap: 0;
26
26
  }
27
+
28
+ .block-editor-tabbed-sidebar {
29
+ @include break-medium() {
30
+ width: $secondary-sidebar-width;
31
+ }
32
+ }
27
33
  }
28
34
 
29
35
  .block-editor-inserter__popover.is-quick {
30
36
  .components-popover__content {
31
37
  border: none;
32
38
  outline: none;
33
- box-shadow: $shadow-popover;
39
+ box-shadow: $elevation-x-small;
34
40
 
35
41
  .block-editor-inserter__quick-inserter > * {
36
42
  border-left: $border-width solid $gray-400;
@@ -85,6 +91,12 @@ $block-inserter-tabs-height: 44px;
85
91
  height: 100%;
86
92
  position: relative;
87
93
  overflow: visible;
94
+
95
+ &.show-panel {
96
+ @include break-medium() {
97
+ width: $secondary-sidebar-width + $sidebar-width;
98
+ }
99
+ }
88
100
  }
89
101
 
90
102
  .block-editor-inserter__inline-elements {
@@ -299,14 +311,13 @@ $block-inserter-tabs-height: 44px;
299
311
  @include break-medium {
300
312
  border-left: $border-width solid $gray-200;
301
313
  padding: 0;
302
- left: 100%;
303
- width: 300px;
314
+ left: $secondary-sidebar-width;
315
+ width: $sidebar-width;
304
316
  position: absolute;
305
317
  top: -$border-width;
306
318
  height: calc(100% + #{$border-width});
307
319
  background: $gray-100;
308
320
  border-top: $border-width solid $gray-200;
309
- box-shadow: $border-width $border-width 0 0 rgba($color: #000, $alpha: 0.133); // 0.133 = $gray-200 but with alpha.
310
321
 
311
322
  .block-editor-inserter__media-list,
312
323
  .block-editor-block-patterns-list {
@@ -366,7 +377,7 @@ $block-inserter-tabs-height: 44px;
366
377
  max-width: 100%;
367
378
 
368
379
  @include break-medium {
369
- width: $block-inserter-width;
380
+ width: $block-quick-inserter-width;
370
381
  }
371
382
  }
372
383
 
@@ -679,12 +690,6 @@ $block-inserter-tabs-height: 44px;
679
690
  height: 100%;
680
691
  }
681
692
  }
682
-
683
- // Remove doubled-up shadow that occurs when categories panel is opened, only in zoom out.
684
- // Shadow cannot be removed from the source, as it is required when not zoomed out.
685
- .block-editor-inserter__category-panel {
686
- box-shadow: none;
687
- }
688
693
  }
689
694
 
690
695
  .show-icon-labels {
@@ -120,4 +120,5 @@
120
120
  .block-editor-block-types-list__item-title {
121
121
  padding: 4px 2px 8px;
122
122
  font-size: 12px;
123
+ hyphens: auto;
123
124
  }
@@ -96,6 +96,7 @@ registerBlockType( 'my-plugin/inspector-controls-example', {
96
96
  <InspectorControls>
97
97
  <PanelBody title={ __( 'Settings' ) }>
98
98
  <CheckboxControl
99
+ __nextHasNoMarginBottom
99
100
  heading="Checkbox Field"
100
101
  label="Tick Me"
101
102
  help="Additional help text"
@@ -114,6 +115,7 @@ registerBlockType( 'my-plugin/inspector-controls-example', {
114
115
  />
115
116
 
116
117
  <TextControl
118
+ __nextHasNoMarginBottom
117
119
  label="Text Field"
118
120
  help="Additional help text"
119
121
  value={ textField }
@@ -121,12 +123,14 @@ registerBlockType( 'my-plugin/inspector-controls-example', {
121
123
  />
122
124
 
123
125
  <ToggleControl
126
+ __nextHasNoMarginBottom
124
127
  label="Toggle Field"
125
128
  checked={ toggleField }
126
129
  onChange={ onChangeToggleField }
127
130
  />
128
131
 
129
132
  <SelectControl
133
+ __nextHasNoMarginBottom
130
134
  label="Select Control"
131
135
  value={ selectField }
132
136
  options={ [
@@ -203,6 +207,7 @@ function MyBlockEdit( { attributes, setAttributes } ) {
203
207
  </InspectorControls>
204
208
  <InspectorAdvancedControls>
205
209
  <TextControl
210
+ __nextHasNoMarginBottom
206
211
  label="HTML anchor"
207
212
  value={ attributes.anchor }
208
213
  onChange={ ( nextValue ) => {
@@ -18,7 +18,6 @@ const MyLineHeightControl = () => (
18
18
  <LineHeightControl
19
19
  value={ lineHeight }
20
20
  onChange={ onChange }
21
- __nextHasNoMarginBottom={ true }
22
21
  />
23
22
  );
24
23
  ```
@@ -37,12 +36,12 @@ The value of the line height.
37
36
 
38
37
  A callback function that handles the application of the line height value.
39
38
 
40
- #### `__nextHasNoMarginBottom`
39
+ #### `__next40pxDefaultSize`
41
40
 
42
- - **Type:** `boolean`
43
- - **Default:** `false`
41
+ - **Type:** `boolean`
42
+ - **Default:** `false`
44
43
 
45
- Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4. (The prop can be safely removed once this happens.)
44
+ Start opting into the larger default height that will become the default size in a future version.
46
45
 
47
46
  ## Related components
48
47
 
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import deprecated from '@wordpress/deprecated';
5
4
  import { __ } from '@wordpress/i18n';
6
5
  import { __experimentalNumberControl as NumberControl } from '@wordpress/components';
7
6
 
@@ -17,10 +16,10 @@ import {
17
16
  } from './utils';
18
17
 
19
18
  const LineHeightControl = ( {
19
+ /** Start opting into the larger default height that will become the default size in a future version. */
20
+ __next40pxDefaultSize = false,
20
21
  value: lineHeight,
21
22
  onChange,
22
- /** Start opting into the new margin-free styles that will become the default in a future version. */
23
- __nextHasNoMarginBottom = false,
24
23
  __unstableInputWidth = '60px',
25
24
  ...otherProps
26
25
  } ) => {
@@ -76,20 +75,6 @@ const LineHeightControl = ( {
76
75
 
77
76
  const value = isDefined ? lineHeight : RESET_VALUE;
78
77
 
79
- if ( ! __nextHasNoMarginBottom ) {
80
- deprecated(
81
- 'Bottom margin styles for wp.blockEditor.LineHeightControl',
82
- {
83
- since: '6.0',
84
- version: '6.4',
85
- hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version',
86
- }
87
- );
88
- }
89
- const deprecatedStyles = __nextHasNoMarginBottom
90
- ? undefined
91
- : { marginBottom: 24 };
92
-
93
78
  const handleOnChange = ( nextValue, { event } ) => {
94
79
  if ( nextValue === '' ) {
95
80
  onChange();
@@ -105,12 +90,10 @@ const LineHeightControl = ( {
105
90
  };
106
91
 
107
92
  return (
108
- <div
109
- className="block-editor-line-height-control"
110
- style={ deprecatedStyles }
111
- >
93
+ <div className="block-editor-line-height-control">
112
94
  <NumberControl
113
95
  { ...otherProps }
96
+ __next40pxDefaultSize={ __next40pxDefaultSize }
114
97
  __unstableInputWidth={ __unstableInputWidth }
115
98
  __unstableStateReducer={ stateReducer }
116
99
  onChange={ handleOnChange }
@@ -22,7 +22,6 @@ const Template = ( props ) => {
22
22
 
23
23
  export const Default = Template.bind( {} );
24
24
  Default.args = {
25
- __nextHasNoMarginBottom: true,
26
25
  __unstableInputWidth: '100px',
27
26
  };
28
27
 
@@ -19,13 +19,7 @@ const SPIN = STEP * SPIN_FACTOR;
19
19
 
20
20
  const ControlledLineHeightControl = () => {
21
21
  const [ value, setValue ] = useState();
22
- return (
23
- <LineHeightControl
24
- value={ value }
25
- onChange={ setValue }
26
- __nextHasNoMarginBottom
27
- />
28
- );
22
+ return <LineHeightControl value={ value } onChange={ setValue } />;
29
23
  };
30
24
 
31
25
  describe( 'LineHeightControl', () => {
@@ -119,7 +119,6 @@ const LinkControlSearchInput = forwardRef(
119
119
  <div className="block-editor-link-control__search-input-container">
120
120
  <URLInput
121
121
  disableSuggestions={ currentLink?.url === value }
122
- __nextHasNoMarginBottom
123
122
  label={ __( 'Link' ) }
124
123
  hideLabelFromVision={ hideLabelFromVision }
125
124
  className={ className }
@@ -77,7 +77,7 @@ $block-editor-link-control-number-of-actions: 1;
77
77
  &.block-editor-url-input input[type="text"].block-editor-url-input__input {
78
78
  @include input-control;
79
79
  display: block;
80
- border: 1px solid $gray-600;
80
+ border: $border-width solid $gray-600;
81
81
  border-radius: $radius-block-ui;
82
82
  height: $button-size-next-default-40px; // components do not properly support unstable-large yet.
83
83
  margin: 0;
@@ -491,17 +491,22 @@ export function MediaPlaceholder( {
491
491
  <>
492
492
  { renderDropZone() }
493
493
  <FormFileUpload
494
- variant="primary"
495
- className={ clsx(
496
- 'block-editor-media-placeholder__button',
497
- 'block-editor-media-placeholder__upload-button'
494
+ render={ ( { openFileDialog } ) => (
495
+ <Button
496
+ onClick={ openFileDialog }
497
+ variant="primary"
498
+ className={ clsx(
499
+ 'block-editor-media-placeholder__button',
500
+ 'block-editor-media-placeholder__upload-button'
501
+ ) }
502
+ >
503
+ { __( 'Upload' ) }
504
+ </Button>
498
505
  ) }
499
506
  onChange={ onUpload }
500
507
  accept={ accept }
501
508
  multiple={ !! multiple }
502
- >
503
- { __( 'Upload' ) }
504
- </FormFileUpload>
509
+ />
505
510
  { uploadMediaLibraryButton }
506
511
  { renderUrlSelectionUI() }
507
512
  { renderFeaturedImageToggle() }
@@ -91,3 +91,10 @@ Removes a media replace notice.
91
91
  - Required: No
92
92
 
93
93
  If passed, children are rendered inside the dropdown.
94
+
95
+ ### children
96
+
97
+ - Type: `Element | func`
98
+ - Required: No
99
+
100
+ If passed, children are rendered inside the dropdown. If a function is provided for this prop, it will receive an object with the `onClose` prop as an argument.
@@ -202,7 +202,9 @@ const MediaReplaceFlow = ( {
202
202
  { __( 'Use featured image' ) }
203
203
  </MenuItem>
204
204
  ) }
205
- { children }
205
+ { typeof children === 'function'
206
+ ? children( { onClose } )
207
+ : children }
206
208
  </NavigableMenu>
207
209
  { onSelectURL && (
208
210
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
@@ -105,6 +105,8 @@ Callback called when the media modal is closed after media is selected.
105
105
 
106
106
  This is called subsequent to `onClose` when media is selected. The selected media are passed as an argument.
107
107
 
108
+ The `image.sizes.full` resolution does always exist. Other defined sizes are only available when the image is larger and thus could be scaled down.
109
+
108
110
  - Type: `Function`
109
111
  - Required: Yes
110
112
  - Platform: Web | Mobile
@@ -327,6 +327,8 @@ function URLInput( props ) {
327
327
  >
328
328
  <PanelBody style={ styles[ 'media-upload__link-input' ] }>
329
329
  <TextControl
330
+ // TODO: Switch to `true` (40px size) if possible
331
+ __next40pxDefaultSize={ false }
330
332
  // eslint-disable-next-line jsx-a11y/no-autofocus
331
333
  autoFocus
332
334
  autoCapitalize="none"
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { sprintf, _n } from '@wordpress/i18n';
5
- import { withSelect } from '@wordpress/data';
5
+ import { useSelect } from '@wordpress/data';
6
6
  import { serialize } from '@wordpress/blocks';
7
7
  import { count as wordCount } from '@wordpress/wordcount';
8
8
  import { copy } from '@wordpress/icons';
@@ -13,7 +13,13 @@ import { copy } from '@wordpress/icons';
13
13
  import BlockIcon from '../block-icon';
14
14
  import { store as blockEditorStore } from '../../store';
15
15
 
16
- function MultiSelectionInspector( { blocks } ) {
16
+ export default function MultiSelectionInspector() {
17
+ const { blocks } = useSelect( ( select ) => {
18
+ const { getMultiSelectedBlocks } = select( blockEditorStore );
19
+ return {
20
+ blocks: getMultiSelectedBlocks(),
21
+ };
22
+ }, [] );
17
23
  const words = wordCount( serialize( blocks ), 'words' );
18
24
 
19
25
  return (
@@ -38,10 +44,3 @@ function MultiSelectionInspector( { blocks } ) {
38
44
  </div>
39
45
  );
40
46
  }
41
-
42
- export default withSelect( ( select ) => {
43
- const { getMultiSelectedBlocks } = select( blockEditorStore );
44
- return {
45
- blocks: getMultiSelectedBlocks(),
46
- };
47
- } )( MultiSelectionInspector );