@wordpress/block-editor 11.2.0 → 11.3.1

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 (675) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +28 -4
  3. package/build/components/alignment-control/ui.js +1 -1
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/autocomplete/index.js +2 -7
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +7 -2
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-matrix-control/index.js +2 -2
  10. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  11. package/build/components/block-card/index.js +2 -4
  12. package/build/components/block-card/index.js.map +1 -1
  13. package/build/components/block-edit/index.js +8 -0
  14. package/build/components/block-edit/index.js.map +1 -1
  15. package/build/components/block-inspector/index.js +15 -14
  16. package/build/components/block-inspector/index.js.map +1 -1
  17. package/build/components/block-list/use-in-between-inserter.js +5 -0
  18. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  19. package/build/components/block-lock/modal.js +0 -1
  20. package/build/components/block-lock/modal.js.map +1 -1
  21. package/build/components/block-mover/mover-description.js +2 -2
  22. package/build/components/block-mover/mover-description.js.map +1 -1
  23. package/build/components/block-navigation/dropdown.js +3 -1
  24. package/build/components/block-navigation/dropdown.js.map +1 -1
  25. package/build/components/block-pattern-setup/index.js +1 -1
  26. package/build/components/block-pattern-setup/index.js.map +1 -1
  27. package/build/components/block-pattern-setup/use-patterns-setup.js +2 -2
  28. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  29. package/build/components/block-patterns-list/index.js +31 -3
  30. package/build/components/block-patterns-list/index.js.map +1 -1
  31. package/build/components/block-preview/auto.js +9 -11
  32. package/build/components/block-preview/auto.js.map +1 -1
  33. package/build/components/block-preview/index.js +32 -8
  34. package/build/components/block-preview/index.js.map +1 -1
  35. package/build/components/block-selection-clearer/index.js +1 -1
  36. package/build/components/block-selection-clearer/index.js.map +1 -1
  37. package/build/components/block-settings/container.native.js +7 -33
  38. package/build/components/block-settings/container.native.js.map +1 -1
  39. package/build/components/block-settings-menu/block-settings-dropdown.js +12 -6
  40. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  41. package/build/components/block-settings-menu-controls/index.js +2 -8
  42. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  43. package/build/components/block-switcher/utils.js +1 -1
  44. package/build/components/block-switcher/utils.js.map +1 -1
  45. package/build/components/block-tools/selected-block-popover.js +55 -47
  46. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  47. package/build/components/block-vertical-alignment-control/icons.js +15 -1
  48. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  49. package/build/components/block-vertical-alignment-control/ui.js +9 -4
  50. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  51. package/build/components/color-style-selector/index.js +3 -1
  52. package/build/components/color-style-selector/index.js.map +1 -1
  53. package/build/components/date-format-picker/index.js +3 -4
  54. package/build/components/date-format-picker/index.js.map +1 -1
  55. package/build/components/font-family/index.js +1 -7
  56. package/build/components/font-family/index.js.map +1 -1
  57. package/build/components/font-sizes/fluid-utils.js +1 -1
  58. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  59. package/build/components/font-sizes/utils.js +1 -1
  60. package/build/components/font-sizes/utils.js.map +1 -1
  61. package/build/components/global-styles/context.js +22 -0
  62. package/build/components/global-styles/context.js.map +1 -0
  63. package/build/components/global-styles/hooks.js +142 -0
  64. package/build/components/global-styles/hooks.js.map +1 -0
  65. package/build/components/global-styles/index.js +42 -0
  66. package/build/components/global-styles/index.js.map +1 -0
  67. package/build/components/global-styles/typography-utils.js +92 -0
  68. package/build/components/global-styles/typography-utils.js.map +1 -0
  69. package/build/components/global-styles/use-global-styles-output.js +974 -0
  70. package/build/components/global-styles/use-global-styles-output.js.map +1 -0
  71. package/build/components/global-styles/utils.js +340 -0
  72. package/build/components/global-styles/utils.js.map +1 -0
  73. package/build/components/height-control/index.js +13 -1
  74. package/build/components/height-control/index.js.map +1 -1
  75. package/build/components/iframe/index.js +5 -3
  76. package/build/components/iframe/index.js.map +1 -1
  77. package/build/components/image-editor/constants.js +1 -1
  78. package/build/components/image-editor/constants.js.map +1 -1
  79. package/build/components/image-editor/context.js +1 -2
  80. package/build/components/image-editor/context.js.map +1 -1
  81. package/build/components/image-editor/cropper.js +3 -1
  82. package/build/components/image-editor/cropper.js.map +1 -1
  83. package/build/components/image-editor/index.js +13 -9
  84. package/build/components/image-editor/index.js.map +1 -1
  85. package/build/components/image-editor/use-transform-image.js +11 -35
  86. package/build/components/image-editor/use-transform-image.js.map +1 -1
  87. package/build/components/image-size-control/index.js +1 -7
  88. package/build/components/image-size-control/index.js.map +1 -1
  89. package/build/components/index.js +8 -24
  90. package/build/components/index.js.map +1 -1
  91. package/build/components/inner-blocks/index.js +22 -32
  92. package/build/components/inner-blocks/index.js.map +1 -1
  93. package/build/components/inner-blocks/index.native.js +8 -23
  94. package/build/components/inner-blocks/index.native.js.map +1 -1
  95. package/build/components/inner-blocks/use-block-context.js +53 -0
  96. package/build/components/inner-blocks/use-block-context.js.map +1 -0
  97. package/build/components/inserter/block-patterns-explorer/explorer.js +0 -1
  98. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  99. package/build/components/inserter/block-patterns-tab.js +9 -2
  100. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  101. package/build/components/inserter/block-types-tab.js +2 -2
  102. package/build/components/inserter/block-types-tab.js.map +1 -1
  103. package/build/components/inserter/hooks/use-patterns-state.js +1 -7
  104. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  105. package/build/components/inserter/index.js +5 -4
  106. package/build/components/inserter/index.js.map +1 -1
  107. package/build/components/inserter/media-tab/hooks.js +142 -56
  108. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  109. package/build/components/inserter/media-tab/media-list.js +74 -21
  110. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  111. package/build/components/inserter/media-tab/media-panel.js +11 -13
  112. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  113. package/build/components/inserter/media-tab/media-tab.js +6 -3
  114. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  115. package/build/components/inserter/media-tab/utils.js +26 -15
  116. package/build/components/inserter/media-tab/utils.js.map +1 -1
  117. package/build/components/inserter/menu.js +4 -0
  118. package/build/components/inserter/menu.js.map +1 -1
  119. package/build/components/inserter/preview-panel.js +5 -3
  120. package/build/components/inserter/preview-panel.js.map +1 -1
  121. package/build/components/inserter/search-results.js +2 -7
  122. package/build/components/inserter/search-results.js.map +1 -1
  123. package/build/components/inserter-list-item/index.js +1 -9
  124. package/build/components/inserter-list-item/index.js.map +1 -1
  125. package/build/components/inspector-controls/fill.js +15 -2
  126. package/build/components/inspector-controls/fill.js.map +1 -1
  127. package/build/components/inspector-controls/fill.native.js +14 -1
  128. package/build/components/inspector-controls/fill.native.js.map +1 -1
  129. package/build/components/inspector-controls/groups.js +4 -0
  130. package/build/components/inspector-controls/groups.js.map +1 -1
  131. package/build/components/inspector-controls/index.js +2 -2
  132. package/build/components/inspector-controls/index.js.map +1 -1
  133. package/build/components/inspector-controls/slot.js +14 -1
  134. package/build/components/inspector-controls/slot.js.map +1 -1
  135. package/build/components/inspector-controls/slot.native.js +14 -1
  136. package/build/components/inspector-controls/slot.native.js.map +1 -1
  137. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  138. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  139. package/build/components/inspector-controls-tabs/index.js +2 -2
  140. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  141. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  142. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  143. package/build/components/inspector-controls-tabs/styles-tab.js +6 -4
  144. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  145. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
  146. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  147. package/build/components/justify-content-control/ui.js +8 -1
  148. package/build/components/justify-content-control/ui.js.map +1 -1
  149. package/build/components/link-control/index.js +45 -17
  150. package/build/components/link-control/index.js.map +1 -1
  151. package/build/components/list-view/block.js +1 -1
  152. package/build/components/list-view/block.js.map +1 -1
  153. package/build/components/list-view/use-list-view-drop-zone.js +1 -1
  154. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  155. package/build/components/media-upload/index.native.js +4 -1
  156. package/build/components/media-upload/index.native.js.map +1 -1
  157. package/build/components/off-canvas-editor/appender.js +50 -3
  158. package/build/components/off-canvas-editor/appender.js.map +1 -1
  159. package/build/components/off-canvas-editor/block-contents.js +3 -1
  160. package/build/components/off-canvas-editor/block-contents.js.map +1 -1
  161. package/build/components/off-canvas-editor/block-select-button.js +10 -4
  162. package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
  163. package/build/components/off-canvas-editor/block.js +6 -27
  164. package/build/components/off-canvas-editor/block.js.map +1 -1
  165. package/build/components/off-canvas-editor/branch.js +25 -10
  166. package/build/components/off-canvas-editor/branch.js.map +1 -1
  167. package/build/components/off-canvas-editor/index.js +27 -20
  168. package/build/components/off-canvas-editor/index.js.map +1 -1
  169. package/build/components/off-canvas-editor/link-ui.js +2 -2
  170. package/build/components/off-canvas-editor/link-ui.js.map +1 -1
  171. package/build/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
  172. package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
  173. package/build/components/provider/index.js +21 -9
  174. package/build/components/provider/index.js.map +1 -1
  175. package/build/components/provider/index.native.js +5 -6
  176. package/build/components/provider/index.native.js.map +1 -1
  177. package/build/components/rich-text/use-before-input-rules.js +11 -3
  178. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  179. package/build/components/rich-text/utils.js +1 -1
  180. package/build/components/rich-text/utils.js.map +1 -1
  181. package/build/components/spacing-sizes-control/utils.js +2 -8
  182. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  183. package/build/components/tool-selector/index.js +3 -1
  184. package/build/components/tool-selector/index.js.map +1 -1
  185. package/build/components/url-popover/image-url-input-ui.js +7 -8
  186. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  187. package/build/components/use-block-display-information/index.js +1 -1
  188. package/build/components/use-block-display-information/index.js.map +1 -1
  189. package/build/experiments.js +45 -0
  190. package/build/experiments.js.map +1 -0
  191. package/build/experiments.native.js +40 -0
  192. package/build/experiments.native.js.map +1 -0
  193. package/build/hooks/anchor.js +2 -1
  194. package/build/hooks/anchor.js.map +1 -1
  195. package/build/hooks/border.js +1 -1
  196. package/build/hooks/border.js.map +1 -1
  197. package/build/hooks/child-layout.js +5 -1
  198. package/build/hooks/child-layout.js.map +1 -1
  199. package/build/hooks/color-panel.js +1 -1
  200. package/build/hooks/color-panel.js.map +1 -1
  201. package/build/hooks/color.js +3 -3
  202. package/build/hooks/color.js.map +1 -1
  203. package/build/hooks/custom-class-name.js +2 -1
  204. package/build/hooks/custom-class-name.js.map +1 -1
  205. package/build/hooks/dimensions.js +7 -5
  206. package/build/hooks/dimensions.js.map +1 -1
  207. package/build/hooks/margin.js +1 -0
  208. package/build/hooks/margin.js.map +1 -1
  209. package/build/hooks/padding.js +1 -0
  210. package/build/hooks/padding.js.map +1 -1
  211. package/build/hooks/position.js +39 -17
  212. package/build/hooks/position.js.map +1 -1
  213. package/build/hooks/typography.js +1 -1
  214. package/build/hooks/typography.js.map +1 -1
  215. package/build/hooks/use-color-props.js +3 -3
  216. package/build/hooks/use-color-props.js.map +1 -1
  217. package/build/hooks/utils.js +69 -3
  218. package/build/hooks/utils.js.map +1 -1
  219. package/build/index.js +10 -1
  220. package/build/index.js.map +1 -1
  221. package/build/layouts/constrained.js +3 -0
  222. package/build/layouts/constrained.js.map +1 -1
  223. package/build/layouts/flex.js +59 -9
  224. package/build/layouts/flex.js.map +1 -1
  225. package/build/layouts/flow.js +0 -18
  226. package/build/layouts/flow.js.map +1 -1
  227. package/build/store/actions.js +3 -30
  228. package/build/store/actions.js.map +1 -1
  229. package/build/store/defaults.js +5 -2
  230. package/build/store/defaults.js.map +1 -1
  231. package/build/store/index.js +11 -2
  232. package/build/store/index.js.map +1 -1
  233. package/build/store/private-actions.js +78 -0
  234. package/build/store/private-actions.js.map +1 -0
  235. package/build/store/private-selectors.js +32 -0
  236. package/build/store/private-selectors.js.map +1 -0
  237. package/build/store/reducer.js +1 -1
  238. package/build/store/reducer.js.map +1 -1
  239. package/build/store/selectors.js +60 -48
  240. package/build/store/selectors.js.map +1 -1
  241. package/build/utils/block-variation-transforms.js +1 -1
  242. package/build/utils/block-variation-transforms.js.map +1 -1
  243. package/build/utils/parse-css-unit-to-px.js +1 -1
  244. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  245. package/build/utils/transform-styles/index.js +1 -7
  246. package/build/utils/transform-styles/index.js.map +1 -1
  247. package/build-module/components/alignment-control/ui.js +1 -1
  248. package/build-module/components/alignment-control/ui.js.map +1 -1
  249. package/build-module/components/autocomplete/index.js +2 -6
  250. package/build-module/components/autocomplete/index.js.map +1 -1
  251. package/build-module/components/block-actions/index.js +7 -2
  252. package/build-module/components/block-actions/index.js.map +1 -1
  253. package/build-module/components/block-alignment-matrix-control/index.js +2 -2
  254. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  255. package/build-module/components/block-card/index.js +2 -4
  256. package/build-module/components/block-card/index.js.map +1 -1
  257. package/build-module/components/block-edit/index.js +7 -0
  258. package/build-module/components/block-edit/index.js.map +1 -1
  259. package/build-module/components/block-inspector/index.js +15 -14
  260. package/build-module/components/block-inspector/index.js.map +1 -1
  261. package/build-module/components/block-list/use-in-between-inserter.js +5 -0
  262. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  263. package/build-module/components/block-lock/modal.js +0 -1
  264. package/build-module/components/block-lock/modal.js.map +1 -1
  265. package/build-module/components/block-mover/mover-description.js +2 -2
  266. package/build-module/components/block-mover/mover-description.js.map +1 -1
  267. package/build-module/components/block-navigation/dropdown.js +3 -1
  268. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  269. package/build-module/components/block-pattern-setup/index.js +1 -1
  270. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  271. package/build-module/components/block-pattern-setup/use-patterns-setup.js +2 -2
  272. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  273. package/build-module/components/block-patterns-list/index.js +32 -3
  274. package/build-module/components/block-patterns-list/index.js.map +1 -1
  275. package/build-module/components/block-preview/auto.js +9 -11
  276. package/build-module/components/block-preview/auto.js.map +1 -1
  277. package/build-module/components/block-preview/index.js +31 -8
  278. package/build-module/components/block-preview/index.js.map +1 -1
  279. package/build-module/components/block-selection-clearer/index.js +1 -1
  280. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  281. package/build-module/components/block-settings/container.native.js +6 -30
  282. package/build-module/components/block-settings/container.native.js.map +1 -1
  283. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -6
  284. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  285. package/build-module/components/block-settings-menu-controls/index.js +2 -7
  286. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  287. package/build-module/components/block-switcher/utils.js +1 -1
  288. package/build-module/components/block-switcher/utils.js.map +1 -1
  289. package/build-module/components/block-tools/selected-block-popover.js +55 -48
  290. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  291. package/build-module/components/block-vertical-alignment-control/icons.js +12 -0
  292. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  293. package/build-module/components/block-vertical-alignment-control/ui.js +10 -5
  294. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  295. package/build-module/components/color-style-selector/index.js +3 -1
  296. package/build-module/components/color-style-selector/index.js.map +1 -1
  297. package/build-module/components/date-format-picker/index.js +4 -5
  298. package/build-module/components/date-format-picker/index.js.map +1 -1
  299. package/build-module/components/font-family/index.js +1 -6
  300. package/build-module/components/font-family/index.js.map +1 -1
  301. package/build-module/components/font-sizes/fluid-utils.js +1 -1
  302. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  303. package/build-module/components/font-sizes/utils.js +1 -1
  304. package/build-module/components/font-sizes/utils.js.map +1 -1
  305. package/build-module/components/global-styles/context.js +12 -0
  306. package/build-module/components/global-styles/context.js.map +1 -0
  307. package/build-module/components/global-styles/hooks.js +121 -0
  308. package/build-module/components/global-styles/hooks.js.map +1 -0
  309. package/build-module/components/global-styles/index.js +4 -0
  310. package/build-module/components/global-styles/index.js.map +1 -0
  311. package/build-module/components/global-styles/typography-utils.js +84 -0
  312. package/build-module/components/global-styles/typography-utils.js.map +1 -0
  313. package/build-module/components/global-styles/use-global-styles-output.js +930 -0
  314. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -0
  315. package/build-module/components/global-styles/utils.js +321 -0
  316. package/build-module/components/global-styles/utils.js.map +1 -0
  317. package/build-module/components/height-control/index.js +14 -1
  318. package/build-module/components/height-control/index.js.map +1 -1
  319. package/build-module/components/iframe/index.js +6 -4
  320. package/build-module/components/iframe/index.js.map +1 -1
  321. package/build-module/components/image-editor/constants.js +1 -1
  322. package/build-module/components/image-editor/constants.js.map +1 -1
  323. package/build-module/components/image-editor/context.js +1 -2
  324. package/build-module/components/image-editor/context.js.map +1 -1
  325. package/build-module/components/image-editor/cropper.js +3 -1
  326. package/build-module/components/image-editor/cropper.js.map +1 -1
  327. package/build-module/components/image-editor/index.js +13 -3
  328. package/build-module/components/image-editor/index.js.map +1 -1
  329. package/build-module/components/image-editor/use-transform-image.js +12 -37
  330. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  331. package/build-module/components/image-size-control/index.js +1 -6
  332. package/build-module/components/image-size-control/index.js.map +1 -1
  333. package/build-module/components/index.js +2 -3
  334. package/build-module/components/index.js.map +1 -1
  335. package/build-module/components/inner-blocks/index.js +21 -32
  336. package/build-module/components/inner-blocks/index.js.map +1 -1
  337. package/build-module/components/inner-blocks/index.native.js +9 -22
  338. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  339. package/build-module/components/inner-blocks/use-block-context.js +43 -0
  340. package/build-module/components/inner-blocks/use-block-context.js.map +1 -0
  341. package/build-module/components/inserter/block-patterns-explorer/explorer.js +0 -1
  342. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  343. package/build-module/components/inserter/block-patterns-tab.js +9 -2
  344. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  345. package/build-module/components/inserter/block-types-tab.js +3 -3
  346. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  347. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -6
  348. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  349. package/build-module/components/inserter/index.js +5 -4
  350. package/build-module/components/inserter/index.js.map +1 -1
  351. package/build-module/components/inserter/media-tab/hooks.js +145 -56
  352. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  353. package/build-module/components/inserter/media-tab/media-list.js +74 -24
  354. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  355. package/build-module/components/inserter/media-tab/media-panel.js +14 -14
  356. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  357. package/build-module/components/inserter/media-tab/media-tab.js +7 -4
  358. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  359. package/build-module/components/inserter/media-tab/utils.js +27 -15
  360. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  361. package/build-module/components/inserter/menu.js +4 -0
  362. package/build-module/components/inserter/menu.js.map +1 -1
  363. package/build-module/components/inserter/preview-panel.js +5 -3
  364. package/build-module/components/inserter/preview-panel.js.map +1 -1
  365. package/build-module/components/inserter/search-results.js +2 -6
  366. package/build-module/components/inserter/search-results.js.map +1 -1
  367. package/build-module/components/inserter-list-item/index.js +1 -9
  368. package/build-module/components/inserter-list-item/index.js.map +1 -1
  369. package/build-module/components/inspector-controls/fill.js +14 -2
  370. package/build-module/components/inspector-controls/fill.js.map +1 -1
  371. package/build-module/components/inspector-controls/fill.native.js +13 -1
  372. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  373. package/build-module/components/inspector-controls/groups.js +4 -0
  374. package/build-module/components/inspector-controls/groups.js.map +1 -1
  375. package/build-module/components/inspector-controls/index.js +2 -2
  376. package/build-module/components/inspector-controls/index.js.map +1 -1
  377. package/build-module/components/inspector-controls/slot.js +13 -1
  378. package/build-module/components/inspector-controls/slot.js.map +1 -1
  379. package/build-module/components/inspector-controls/slot.native.js +13 -1
  380. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  381. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  382. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  383. package/build-module/components/inspector-controls-tabs/index.js +2 -2
  384. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  385. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  386. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  387. package/build-module/components/inspector-controls-tabs/styles-tab.js +6 -4
  388. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  389. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
  390. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  391. package/build-module/components/justify-content-control/ui.js +9 -2
  392. package/build-module/components/justify-content-control/ui.js.map +1 -1
  393. package/build-module/components/link-control/index.js +45 -16
  394. package/build-module/components/link-control/index.js.map +1 -1
  395. package/build-module/components/list-view/block.js +1 -1
  396. package/build-module/components/list-view/block.js.map +1 -1
  397. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
  398. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  399. package/build-module/components/media-upload/index.native.js +4 -1
  400. package/build-module/components/media-upload/index.native.js.map +1 -1
  401. package/build-module/components/off-canvas-editor/appender.js +47 -4
  402. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  403. package/build-module/components/off-canvas-editor/block-contents.js +2 -1
  404. package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
  405. package/build-module/components/off-canvas-editor/block-select-button.js +9 -4
  406. package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
  407. package/build-module/components/off-canvas-editor/block.js +6 -25
  408. package/build-module/components/off-canvas-editor/block.js.map +1 -1
  409. package/build-module/components/off-canvas-editor/branch.js +23 -11
  410. package/build-module/components/off-canvas-editor/branch.js.map +1 -1
  411. package/build-module/components/off-canvas-editor/index.js +27 -19
  412. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  413. package/build-module/components/off-canvas-editor/link-ui.js +2 -2
  414. package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
  415. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
  416. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
  417. package/build-module/components/provider/index.js +16 -9
  418. package/build-module/components/provider/index.js.map +1 -1
  419. package/build-module/components/provider/index.native.js +4 -4
  420. package/build-module/components/provider/index.native.js.map +1 -1
  421. package/build-module/components/rich-text/use-before-input-rules.js +10 -2
  422. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  423. package/build-module/components/rich-text/utils.js +1 -1
  424. package/build-module/components/rich-text/utils.js.map +1 -1
  425. package/build-module/components/spacing-sizes-control/utils.js +2 -7
  426. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  427. package/build-module/components/tool-selector/index.js +3 -1
  428. package/build-module/components/tool-selector/index.js.map +1 -1
  429. package/build-module/components/url-popover/image-url-input-ui.js +8 -8
  430. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  431. package/build-module/components/use-block-display-information/index.js +1 -1
  432. package/build-module/components/use-block-display-information/index.js.map +1 -1
  433. package/build-module/experiments.js +25 -0
  434. package/build-module/experiments.js.map +1 -0
  435. package/build-module/experiments.native.js +23 -0
  436. package/build-module/experiments.native.js.map +1 -0
  437. package/build-module/hooks/anchor.js +2 -1
  438. package/build-module/hooks/anchor.js.map +1 -1
  439. package/build-module/hooks/border.js +1 -1
  440. package/build-module/hooks/border.js.map +1 -1
  441. package/build-module/hooks/child-layout.js +5 -1
  442. package/build-module/hooks/child-layout.js.map +1 -1
  443. package/build-module/hooks/color-panel.js +1 -1
  444. package/build-module/hooks/color-panel.js.map +1 -1
  445. package/build-module/hooks/color.js +3 -3
  446. package/build-module/hooks/color.js.map +1 -1
  447. package/build-module/hooks/custom-class-name.js +2 -1
  448. package/build-module/hooks/custom-class-name.js.map +1 -1
  449. package/build-module/hooks/dimensions.js +6 -5
  450. package/build-module/hooks/dimensions.js.map +1 -1
  451. package/build-module/hooks/margin.js +1 -0
  452. package/build-module/hooks/margin.js.map +1 -1
  453. package/build-module/hooks/padding.js +1 -0
  454. package/build-module/hooks/padding.js.map +1 -1
  455. package/build-module/hooks/position.js +36 -16
  456. package/build-module/hooks/position.js.map +1 -1
  457. package/build-module/hooks/typography.js +1 -1
  458. package/build-module/hooks/typography.js.map +1 -1
  459. package/build-module/hooks/use-color-props.js +3 -3
  460. package/build-module/hooks/use-color-props.js.map +1 -1
  461. package/build-module/hooks/utils.js +70 -4
  462. package/build-module/hooks/utils.js.map +1 -1
  463. package/build-module/index.js +1 -0
  464. package/build-module/index.js.map +1 -1
  465. package/build-module/layouts/constrained.js +3 -0
  466. package/build-module/layouts/constrained.js.map +1 -1
  467. package/build-module/layouts/flex.js +60 -10
  468. package/build-module/layouts/flex.js.map +1 -1
  469. package/build-module/layouts/flow.js +0 -18
  470. package/build-module/layouts/flow.js.map +1 -1
  471. package/build-module/store/actions.js +2 -26
  472. package/build-module/store/actions.js.map +1 -1
  473. package/build-module/store/defaults.js +5 -2
  474. package/build-module/store/defaults.js.map +1 -1
  475. package/build-module/store/index.js +8 -2
  476. package/build-module/store/index.js.map +1 -1
  477. package/build-module/store/private-actions.js +66 -0
  478. package/build-module/store/private-actions.js.map +1 -0
  479. package/build-module/store/private-selectors.js +23 -0
  480. package/build-module/store/private-selectors.js.map +1 -0
  481. package/build-module/store/reducer.js +1 -1
  482. package/build-module/store/reducer.js.map +1 -1
  483. package/build-module/store/selectors.js +48 -37
  484. package/build-module/store/selectors.js.map +1 -1
  485. package/build-module/utils/block-variation-transforms.js +1 -1
  486. package/build-module/utils/block-variation-transforms.js.map +1 -1
  487. package/build-module/utils/parse-css-unit-to-px.js +1 -1
  488. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  489. package/build-module/utils/transform-styles/index.js +1 -6
  490. package/build-module/utils/transform-styles/index.js.map +1 -1
  491. package/build-style/content-rtl.css +283 -3
  492. package/build-style/content.css +283 -3
  493. package/build-style/style-rtl.css +105 -221
  494. package/build-style/style.css +105 -221
  495. package/package.json +30 -29
  496. package/src/components/alignment-control/test/__snapshots__/index.js.snap +3 -3
  497. package/src/components/alignment-control/test/index.js +5 -15
  498. package/src/components/alignment-control/ui.js +1 -1
  499. package/src/components/autocomplete/index.js +3 -6
  500. package/src/components/block-actions/index.js +9 -0
  501. package/src/components/block-alignment-control/test/index.js +3 -11
  502. package/src/components/block-alignment-matrix-control/index.js +1 -2
  503. package/src/components/block-card/index.js +1 -4
  504. package/src/components/block-content-overlay/content.scss +4 -4
  505. package/src/components/block-edit/index.js +15 -1
  506. package/src/components/block-icon/content.scss +31 -0
  507. package/src/components/block-inspector/index.js +13 -17
  508. package/src/components/block-list/use-in-between-inserter.js +5 -0
  509. package/src/components/block-lock/modal.js +0 -1
  510. package/src/components/block-mover/mover-description.js +2 -2
  511. package/src/components/block-mover/stories/index.js +3 -3
  512. package/src/components/block-navigation/dropdown.js +1 -1
  513. package/src/components/block-pattern-setup/index.js +1 -4
  514. package/src/components/block-pattern-setup/use-patterns-setup.js +2 -5
  515. package/src/components/block-patterns-list/index.js +29 -3
  516. package/src/components/block-preview/README.md +9 -9
  517. package/src/components/block-preview/auto.js +9 -11
  518. package/src/components/block-preview/content.scss +23 -0
  519. package/src/components/block-preview/index.js +40 -10
  520. package/src/components/block-preview/style.scss +0 -23
  521. package/src/components/block-selection-clearer/index.js +1 -1
  522. package/src/components/block-selection-clearer/test/index.js +6 -6
  523. package/src/components/block-settings/container.native.js +7 -26
  524. package/src/components/block-settings-menu/block-settings-dropdown.js +13 -5
  525. package/src/components/block-settings-menu-controls/index.js +2 -10
  526. package/src/components/block-switcher/test/index.js +43 -44
  527. package/src/components/block-switcher/utils.js +1 -1
  528. package/src/components/block-tools/selected-block-popover.js +77 -80
  529. package/src/components/block-tools/style.scss +0 -1
  530. package/src/components/block-variation-picker/{style.scss → content.scss} +0 -0
  531. package/src/components/block-vertical-alignment-control/icons.js +12 -0
  532. package/src/components/block-vertical-alignment-control/test/index.js +3 -11
  533. package/src/components/block-vertical-alignment-control/ui.js +16 -6
  534. package/src/components/color-style-selector/index.js +1 -1
  535. package/src/components/colors/test/with-colors.js +2 -8
  536. package/src/components/date-format-picker/index.js +23 -24
  537. package/src/components/date-format-picker/style.scss +0 -6
  538. package/src/components/default-block-appender/content.scss +18 -0
  539. package/src/components/default-block-appender/test/index.js +2 -8
  540. package/src/components/font-family/index.js +1 -6
  541. package/src/components/font-sizes/fluid-utils.js +1 -1
  542. package/src/components/font-sizes/utils.js +1 -1
  543. package/src/components/global-styles/README.md +77 -0
  544. package/src/components/global-styles/context.js +15 -0
  545. package/src/components/global-styles/hooks.js +145 -0
  546. package/src/components/global-styles/index.js +7 -0
  547. package/src/components/global-styles/test/typography-utils.js +393 -0
  548. package/src/components/global-styles/test/use-global-styles-output.js +814 -0
  549. package/src/components/global-styles/test/utils.js +206 -0
  550. package/src/components/global-styles/typography-utils.js +87 -0
  551. package/src/components/global-styles/use-global-styles-output.js +1088 -0
  552. package/src/components/global-styles/utils.js +373 -0
  553. package/src/components/height-control/README.md +55 -0
  554. package/src/components/height-control/index.js +13 -1
  555. package/src/components/iframe/index.js +8 -2
  556. package/src/components/image-editor/constants.js +1 -1
  557. package/src/components/image-editor/context.js +5 -9
  558. package/src/components/image-editor/cropper.js +3 -1
  559. package/src/components/image-editor/index.js +13 -4
  560. package/src/components/image-editor/use-transform-image.js +14 -55
  561. package/src/components/image-size-control/index.js +1 -6
  562. package/src/components/index.js +2 -6
  563. package/src/components/inner-blocks/index.js +29 -33
  564. package/src/components/inner-blocks/index.native.js +27 -47
  565. package/src/components/inner-blocks/use-block-context.js +47 -0
  566. package/src/components/inserter/block-patterns-explorer/explorer.js +0 -1
  567. package/src/components/inserter/block-patterns-tab.js +9 -1
  568. package/src/components/inserter/block-types-tab.js +3 -4
  569. package/src/components/inserter/hooks/use-patterns-state.js +1 -6
  570. package/src/components/inserter/index.js +3 -4
  571. package/src/components/inserter/media-tab/hooks.js +167 -65
  572. package/src/components/inserter/media-tab/media-list.js +94 -26
  573. package/src/components/inserter/media-tab/media-panel.js +9 -20
  574. package/src/components/inserter/media-tab/media-tab.js +12 -4
  575. package/src/components/inserter/media-tab/utils.js +20 -10
  576. package/src/components/inserter/menu.js +8 -0
  577. package/src/components/inserter/preview-panel.js +4 -2
  578. package/src/components/inserter/search-results.js +2 -6
  579. package/src/components/inserter/stories/index.js +9 -9
  580. package/src/components/inserter/style.scss +58 -11
  581. package/src/components/inserter-list-item/index.js +0 -7
  582. package/src/components/inspector-controls/README.md +3 -7
  583. package/src/components/inspector-controls/fill.js +15 -1
  584. package/src/components/inspector-controls/fill.native.js +14 -1
  585. package/src/components/inspector-controls/groups.js +3 -0
  586. package/src/components/inspector-controls/index.js +2 -6
  587. package/src/components/inspector-controls/slot.js +14 -1
  588. package/src/components/inspector-controls/slot.native.js +14 -1
  589. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  590. package/src/components/inspector-controls-tabs/index.js +2 -4
  591. package/src/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  592. package/src/components/inspector-controls-tabs/styles-tab.js +5 -7
  593. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +21 -10
  594. package/src/components/justify-content-control/ui.js +9 -0
  595. package/src/components/link-control/index.js +59 -23
  596. package/src/components/link-control/style.scss +7 -24
  597. package/src/components/link-control/test/index.js +134 -5
  598. package/src/components/list-view/block.js +1 -1
  599. package/src/components/list-view/use-list-view-drop-zone.js +1 -1
  600. package/src/components/media-replace-flow/test/index.js +4 -12
  601. package/src/components/media-upload/index.native.js +2 -2
  602. package/src/components/off-canvas-editor/README.md +2 -2
  603. package/src/components/off-canvas-editor/appender.js +93 -37
  604. package/src/components/off-canvas-editor/block-contents.js +2 -1
  605. package/src/components/off-canvas-editor/block-select-button.js +12 -1
  606. package/src/components/off-canvas-editor/block.js +3 -42
  607. package/src/components/off-canvas-editor/branch.js +32 -5
  608. package/src/components/off-canvas-editor/index.js +20 -20
  609. package/src/components/off-canvas-editor/link-ui.js +2 -2
  610. package/src/components/off-canvas-editor/style.scss +5 -1
  611. package/src/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
  612. package/src/components/provider/index.js +33 -14
  613. package/src/components/provider/index.native.js +4 -3
  614. package/src/components/provider/test/experimental-provider.js +94 -0
  615. package/src/components/provider/test/use-block-sync.js +10 -0
  616. package/src/components/responsive-block-control/test/index.js +1 -5
  617. package/src/components/rich-text/use-before-input-rules.js +10 -2
  618. package/src/components/rich-text/utils.js +1 -1
  619. package/src/components/spacing-sizes-control/utils.js +2 -7
  620. package/src/components/tool-selector/index.js +1 -1
  621. package/src/components/url-input/test/button.js +24 -24
  622. package/src/components/url-popover/image-url-input-ui.js +7 -8
  623. package/src/components/url-popover/style.scss +0 -10
  624. package/src/components/use-block-display-information/index.js +1 -1
  625. package/src/components/warning/{style.scss → content.scss} +0 -0
  626. package/src/components/warning/test/index.js +1 -5
  627. package/src/content.scss +7 -0
  628. package/src/experiments.js +27 -0
  629. package/src/experiments.native.js +25 -0
  630. package/src/hooks/anchor.js +2 -1
  631. package/src/hooks/border.js +1 -1
  632. package/src/hooks/child-layout.js +6 -1
  633. package/src/hooks/color-panel.js +1 -1
  634. package/src/hooks/color.js +3 -3
  635. package/src/hooks/custom-class-name.js +2 -1
  636. package/src/hooks/dimensions.js +6 -6
  637. package/src/hooks/layout.scss +4 -0
  638. package/src/hooks/margin.js +1 -0
  639. package/src/hooks/padding.js +1 -0
  640. package/src/hooks/position.js +56 -36
  641. package/src/hooks/test/align.native.js +1 -1
  642. package/src/hooks/test/utils.js +104 -0
  643. package/src/hooks/typography.js +1 -1
  644. package/src/hooks/use-color-props.js +3 -3
  645. package/src/hooks/utils.js +68 -2
  646. package/src/index.js +1 -0
  647. package/src/layouts/constrained.js +3 -0
  648. package/src/layouts/flex.js +66 -14
  649. package/src/layouts/flow.js +0 -9
  650. package/src/store/actions.js +2 -26
  651. package/src/store/defaults.js +7 -2
  652. package/src/store/index.js +8 -2
  653. package/src/store/private-actions.js +65 -0
  654. package/src/store/private-selectors.js +20 -0
  655. package/src/store/reducer.js +1 -1
  656. package/src/store/selectors.js +103 -62
  657. package/src/store/test/actions.js +0 -18
  658. package/src/store/test/private-actions.js +22 -0
  659. package/src/store/test/private-selectors.js +52 -0
  660. package/src/store/test/selectors.js +52 -54
  661. package/src/style.scss +3 -5
  662. package/src/utils/block-variation-transforms.js +1 -1
  663. package/src/utils/parse-css-unit-to-px.js +3 -1
  664. package/src/utils/test/parse-css-unit-to-px.js +16 -24
  665. package/src/utils/transform-styles/index.js +1 -6
  666. package/build/components/inner-blocks/get-block-context.js +0 -45
  667. package/build/components/inner-blocks/get-block-context.js.map +0 -1
  668. package/build/components/off-canvas-editor/block-edit-button.js +0 -50
  669. package/build/components/off-canvas-editor/block-edit-button.js.map +0 -1
  670. package/build-module/components/inner-blocks/get-block-context.js +0 -37
  671. package/build-module/components/inner-blocks/get-block-context.js.map +0 -1
  672. package/build-module/components/off-canvas-editor/block-edit-button.js +0 -35
  673. package/build-module/components/off-canvas-editor/block-edit-button.js.map +0 -1
  674. package/src/components/inner-blocks/get-block-context.js +0 -39
  675. package/src/components/off-canvas-editor/block-edit-button.js +0 -27
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { clone } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -44,7 +39,9 @@ function useCompleters( { completers = EMPTY_ARRAY } ) {
44
39
  if ( hasFilter( 'editor.Autocomplete.completers' ) ) {
45
40
  // Provide copies so filters may directly modify them.
46
41
  if ( filteredCompleters === completers ) {
47
- filteredCompleters = filteredCompleters.map( clone );
42
+ filteredCompleters = filteredCompleters.map(
43
+ ( completer ) => ( { ...completer } )
44
+ );
48
45
  }
49
46
 
50
47
  filteredCompleters = applyFilters(
@@ -58,6 +58,8 @@ export default function BlockActions( {
58
58
  setBlockMovingClientId,
59
59
  setNavigationMode,
60
60
  selectBlock,
61
+ clearSelectedBlock,
62
+ multiSelect,
61
63
  } = useDispatch( blockEditorStore );
62
64
 
63
65
  const notifyCopy = useNotifyCopy();
@@ -132,6 +134,13 @@ export default function BlockActions( {
132
134
  },
133
135
  async onPasteStyles() {
134
136
  await pasteStyles( blocks );
137
+
138
+ // Need to reselect the block(s) in order for optional tool panel control changes to register.
139
+ clearSelectedBlock();
140
+ multiSelect(
141
+ blocks[ 0 ].clientId,
142
+ blocks[ blocks.length - 1 ].clientId
143
+ );
135
144
  },
136
145
  } );
137
146
  }
@@ -9,8 +9,6 @@ import userEvent from '@testing-library/user-event';
9
9
  */
10
10
  import BlockAlignmentUI from '../ui';
11
11
 
12
- jest.useFakeTimers();
13
-
14
12
  describe( 'BlockAlignmentUI', () => {
15
13
  const alignment = 'left';
16
14
  const onChange = jest.fn();
@@ -45,9 +43,7 @@ describe( 'BlockAlignmentUI', () => {
45
43
  } );
46
44
 
47
45
  test( 'should expand controls when toggled', async () => {
48
- const user = userEvent.setup( {
49
- advanceTimers: jest.advanceTimersByTime,
50
- } );
46
+ const user = userEvent.setup();
51
47
 
52
48
  const { unmount } = render(
53
49
  <BlockAlignmentUI
@@ -80,9 +76,7 @@ describe( 'BlockAlignmentUI', () => {
80
76
  } );
81
77
 
82
78
  test( 'should call onChange with undefined, when the control is already active', async () => {
83
- const user = userEvent.setup( {
84
- advanceTimers: jest.advanceTimersByTime,
85
- } );
79
+ const user = userEvent.setup();
86
80
 
87
81
  render(
88
82
  <BlockAlignmentUI
@@ -105,9 +99,7 @@ describe( 'BlockAlignmentUI', () => {
105
99
  } );
106
100
 
107
101
  test( 'should call onChange with alignment value when the control is inactive', async () => {
108
- const user = userEvent.setup( {
109
- advanceTimers: jest.advanceTimersByTime,
110
- } );
102
+ const user = userEvent.setup();
111
103
 
112
104
  render(
113
105
  <BlockAlignmentUI
@@ -23,8 +23,7 @@ function BlockAlignmentMatrixControl( props ) {
23
23
 
24
24
  return (
25
25
  <Dropdown
26
- position="bottom right"
27
- popoverProps={ { variant: 'toolbar' } }
26
+ popoverProps={ { variant: 'toolbar', placement: 'bottom-start' } }
28
27
  renderToggle={ ( { onToggle, isOpen } ) => {
29
28
  const openOnArrowDown = ( event ) => {
30
29
  if ( ! isOpen && event.keyCode === DOWN ) {
@@ -27,9 +27,6 @@ function BlockCard( { title, icon, description, blockType, className } ) {
27
27
  ( { title, icon, description } = blockType );
28
28
  }
29
29
 
30
- const isOffCanvasNavigationEditorEnabled =
31
- window?.__experimentalEnableOffCanvasNavigationEditor === true;
32
-
33
30
  const { parentNavBlockClientId } = useSelect( ( select ) => {
34
31
  const { getSelectedBlockClientId, getBlockParentsByBlockName } =
35
32
  select( blockEditorStore );
@@ -49,7 +46,7 @@ function BlockCard( { title, icon, description, blockType, className } ) {
49
46
 
50
47
  return (
51
48
  <div className={ classnames( 'block-editor-block-card', className ) }>
52
- { isOffCanvasNavigationEditorEnabled && parentNavBlockClientId && (
49
+ { parentNavBlockClientId && ( // This is only used by the Navigation block for now. It's not ideal having Navigation block specific code here.
53
50
  <Button
54
51
  onClick={ () => selectBlock( parentNavBlockClientId ) }
55
52
  label={ __( 'Go to parent Navigation block' ) }
@@ -14,17 +14,17 @@
14
14
  z-index: z-index(".block-editor-block-list__block.has-block-overlay");
15
15
  }
16
16
 
17
- &::after {
17
+ &:not(.is-multi-selected)::after {
18
18
  content: none !important;
19
19
  }
20
20
 
21
- &:hover:not(.is-dragging-blocks)::before {
21
+ &:hover:not(.is-dragging-blocks):not(.is-multi-selected)::before {
22
22
  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
23
23
  box-shadow: 0 0 0 $border-width var(--wp-admin-theme-color) inset;
24
24
  }
25
25
 
26
- &.is-reusable:hover:not(.is-dragging-blocks)::before,
27
- &.wp-block-template-part:hover:not(.is-dragging-blocks)::before {
26
+ &.is-reusable:hover:not(.is-dragging-blocks):not(.is-multi-selected)::before,
27
+ &.wp-block-template-part:hover:not(.is-dragging-blocks):not(.is-multi-selected)::before {
28
28
  background: rgba(var(--wp-block-synced-color--rgb), 0.04);
29
29
  box-shadow: 0 0 0 $border-width var(--wp-block-synced-color) inset;
30
30
  }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { useMemo } from '@wordpress/element';
5
5
 
6
+ import { hasBlockSupport } from '@wordpress/blocks';
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
@@ -20,11 +21,24 @@ import { BlockEditContextProvider, useBlockEditContext } from './context';
20
21
  export { useBlockEditContext };
21
22
 
22
23
  export default function BlockEdit( props ) {
23
- const { name, isSelected, clientId, __unstableLayoutClassNames } = props;
24
+ const {
25
+ name,
26
+ isSelected,
27
+ clientId,
28
+ attributes = {},
29
+ __unstableLayoutClassNames,
30
+ } = props;
31
+ const { layout = null } = attributes;
32
+ const layoutSupport = hasBlockSupport(
33
+ name,
34
+ '__experimentalLayout',
35
+ false
36
+ );
24
37
  const context = {
25
38
  name,
26
39
  isSelected,
27
40
  clientId,
41
+ layout: layoutSupport ? layout : null,
28
42
  __unstableLayoutClassNames,
29
43
  };
30
44
  return (
@@ -0,0 +1,31 @@
1
+ .block-editor-block-icon {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ width: 24px;
6
+ height: 24px;
7
+
8
+ &.has-colors {
9
+ svg {
10
+ fill: currentColor;
11
+
12
+ // Optimizate for high contrast modes.
13
+ // See also https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/.
14
+ @media (forced-colors: active) {
15
+ fill: CanvasText;
16
+ }
17
+ }
18
+ }
19
+
20
+ // Icons with width/height attributes below 20px will be sized up to 20px,
21
+ // and icons with width/height attributes above 24px will be sized down to
22
+ // 24px. Icons with width/height >=20px and <=24px will display at the
23
+ // indicated size.
24
+ // See: https://github.com/WordPress/gutenberg/pull/9828
25
+ svg {
26
+ min-width: 20px;
27
+ min-height: 20px;
28
+ max-width: 24px;
29
+ max-height: 24px;
30
+ }
31
+ }
@@ -173,12 +173,9 @@ const BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {
173
173
  const availableTabs = useInspectorControlsTabs( blockType?.name );
174
174
  const showTabs = availableTabs?.length > 1;
175
175
 
176
- const isOffCanvasNavigationEditorEnabled =
177
- window?.__experimentalEnableOffCanvasNavigationEditor === true;
178
-
179
176
  const blockInspectorAnimationSettings = useSelect(
180
177
  ( select ) => {
181
- if ( isOffCanvasNavigationEditorEnabled && blockType ) {
178
+ if ( blockType ) {
182
179
  const globalBlockInspectorAnimationSettings =
183
180
  select( blockEditorStore ).getSettings()
184
181
  .__experimentalBlockInspectorAnimation;
@@ -188,7 +185,7 @@ const BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {
188
185
  }
189
186
  return null;
190
187
  },
191
- [ selectedBlockClientId, isOffCanvasNavigationEditorEnabled, blockType ]
188
+ [ selectedBlockClientId, blockType ]
192
189
  );
193
190
 
194
191
  if ( count > 1 ) {
@@ -201,22 +198,23 @@ const BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {
201
198
  <>
202
199
  <InspectorControls.Slot />
203
200
  <InspectorControls.Slot
204
- __experimentalGroup="color"
201
+ group="color"
205
202
  label={ __( 'Color' ) }
206
203
  className="color-block-support-panel__inner-wrapper"
207
204
  />
208
205
  <InspectorControls.Slot
209
- __experimentalGroup="typography"
206
+ group="typography"
210
207
  label={ __( 'Typography' ) }
211
208
  />
212
209
  <InspectorControls.Slot
213
- __experimentalGroup="dimensions"
210
+ group="dimensions"
214
211
  label={ __( 'Dimensions' ) }
215
212
  />
216
213
  <InspectorControls.Slot
217
- __experimentalGroup="border"
214
+ group="border"
218
215
  label={ __( 'Border' ) }
219
216
  />
217
+ <InspectorControls.Slot group="styles" />
220
218
  </>
221
219
  ) }
222
220
  </div>
@@ -254,10 +252,7 @@ const BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {
254
252
 
255
253
  return (
256
254
  <BlockInspectorSingleBlockWrapper
257
- animate={
258
- isOffCanvasNavigationEditorEnabled &&
259
- blockInspectorAnimationSettings
260
- }
255
+ animate={ blockInspectorAnimationSettings }
261
256
  wrapper={ ( children ) => (
262
257
  <AnimatedContainer
263
258
  blockInspectorAnimationSettings={
@@ -362,22 +357,23 @@ const BlockInspectorSingleBlock = ( { clientId, blockName } ) => {
362
357
  ) }
363
358
  <InspectorControls.Slot />
364
359
  <InspectorControls.Slot
365
- __experimentalGroup="color"
360
+ group="color"
366
361
  label={ __( 'Color' ) }
367
362
  className="color-block-support-panel__inner-wrapper"
368
363
  />
369
364
  <InspectorControls.Slot
370
- __experimentalGroup="typography"
365
+ group="typography"
371
366
  label={ __( 'Typography' ) }
372
367
  />
373
368
  <InspectorControls.Slot
374
- __experimentalGroup="dimensions"
369
+ group="dimensions"
375
370
  label={ __( 'Dimensions' ) }
376
371
  />
377
372
  <InspectorControls.Slot
378
- __experimentalGroup="border"
373
+ group="border"
379
374
  label={ __( 'Border' ) }
380
375
  />
376
+ <InspectorControls.Slot group="styles" />
381
377
  <PositionControls />
382
378
  <div>
383
379
  <AdvancedControls />
@@ -43,6 +43,11 @@ export function useInBetweenInserter() {
43
43
  return;
44
44
  }
45
45
 
46
+ // Ignore text nodes sometimes detected in FireFox.
47
+ if ( event.target.nodeType === event.target.TEXT_NODE ) {
48
+ return;
49
+ }
50
+
46
51
  if ( isMultiSelecting() ) {
47
52
  return;
48
53
  }
@@ -88,7 +88,6 @@ export default function BlockLockModal( { clientId, onClose } ) {
88
88
  blockInformation.title
89
89
  ) }
90
90
  overlayClassName="block-editor-block-lock-modal"
91
- closeLabel={ __( 'Close' ) }
92
91
  onRequestClose={ onClose }
93
92
  >
94
93
  <p>
@@ -32,7 +32,7 @@ const getMovementDirection = ( moveDirection, orientation ) => {
32
32
  * @param {string} orientation The orientation of the block movers, vertical or
33
33
  * horizontal.
34
34
  *
35
- * @return {string} Label for the block movement controls.
35
+ * @return {string | undefined} Label for the block movement controls.
36
36
  */
37
37
  export function getBlockMoverDescription(
38
38
  selectedCount,
@@ -227,7 +227,7 @@ export function getBlockMoverDescription(
227
227
  * @param {string} orientation The orientation of the block movers, vertical or
228
228
  * horizontal.
229
229
  *
230
- * @return {string} Label for the block movement controls.
230
+ * @return {string | undefined} Label for the block movement controls.
231
231
  */
232
232
  export function getMultiBlockMoverDescription(
233
233
  selectedCount,
@@ -11,7 +11,7 @@ import { Toolbar } from '@wordpress/components';
11
11
  * Internal dependencies
12
12
  */
13
13
  import BlockMover from '../';
14
- import BlockEditorProvider from '../../provider';
14
+ import { ExperimentalBlockEditorProvider } from '../../provider';
15
15
  import { store as blockEditorStore } from '../../../store';
16
16
 
17
17
  registerCoreBlocks();
@@ -35,9 +35,9 @@ function Provider( { children } ) {
35
35
 
36
36
  return (
37
37
  <div style={ wrapperStyle }>
38
- <BlockEditorProvider value={ blocks }>
38
+ <ExperimentalBlockEditorProvider value={ blocks }>
39
39
  { children }
40
- </BlockEditorProvider>
40
+ </ExperimentalBlockEditorProvider>
41
41
  </div>
42
42
  );
43
43
  }
@@ -56,7 +56,7 @@ function BlockNavigationDropdown( { isDisabled, ...props }, ref ) {
56
56
  return (
57
57
  <Dropdown
58
58
  contentClassName="block-editor-block-navigation__popover"
59
- position="bottom right"
59
+ popoverProps={ { placement: 'bottom-start' } }
60
60
  renderToggle={ ( { isOpen, onToggle } ) => (
61
61
  <BlockNavigationDropdownToggle
62
62
  { ...props }
@@ -127,10 +127,7 @@ function BlockPatternSlide( { className, pattern, minHeight } ) {
127
127
  aria-label={ title }
128
128
  aria-describedby={ description ? descriptionId : undefined }
129
129
  >
130
- <BlockPreview
131
- blocks={ blocks }
132
- __experimentalMinHeight={ minHeight }
133
- />
130
+ <BlockPreview blocks={ blocks } minHeight={ minHeight } />
134
131
  { !! description && (
135
132
  <VisuallyHidden id={ descriptionId }>
136
133
  { description }
@@ -13,7 +13,7 @@ function usePatternsSetup( clientId, blockName, filterPatternsFn ) {
13
13
  ( select ) => {
14
14
  const {
15
15
  getBlockRootClientId,
16
- __experimentalGetPatternsByBlockTypes,
16
+ getPatternsByBlockTypes,
17
17
  __experimentalGetAllowedPatterns,
18
18
  } = select( blockEditorStore );
19
19
  const rootClientId = getBlockRootClientId( clientId );
@@ -22,10 +22,7 @@ function usePatternsSetup( clientId, blockName, filterPatternsFn ) {
22
22
  filterPatternsFn
23
23
  );
24
24
  }
25
- return __experimentalGetPatternsByBlockTypes(
26
- blockName,
27
- rootClientId
28
- );
25
+ return getPatternsByBlockTypes( blockName, rootClientId );
29
26
  },
30
27
  [ clientId, blockName, filterPatternsFn ]
31
28
  );
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { useState } from '@wordpress/element';
4
5
  import {
5
6
  VisuallyHidden,
6
7
  __unstableComposite as Composite,
@@ -28,9 +29,11 @@ function BlockPattern( {
28
29
  isDraggable,
29
30
  pattern,
30
31
  onClick,
32
+ onHover,
31
33
  composite,
32
34
  showTooltip,
33
35
  } ) {
36
+ const [ isDragging, setIsDragging ] = useState( false );
34
37
  const { blocks, viewportWidth } = pattern;
35
38
  const instanceId = useInstanceId( BlockPattern );
36
39
  const descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;
@@ -45,8 +48,19 @@ function BlockPattern( {
45
48
  <div
46
49
  className="block-editor-block-patterns-list__list-item"
47
50
  draggable={ draggable }
48
- onDragStart={ onDragStart }
49
- onDragEnd={ onDragEnd }
51
+ onDragStart={ ( event ) => {
52
+ setIsDragging( true );
53
+ if ( onDragStart ) {
54
+ onHover?.( null );
55
+ onDragStart( event );
56
+ }
57
+ } }
58
+ onDragEnd={ ( event ) => {
59
+ setIsDragging( false );
60
+ if ( onDragEnd ) {
61
+ onDragEnd( event );
62
+ }
63
+ } }
50
64
  >
51
65
  <WithToolTip
52
66
  showTooltip={ showTooltip }
@@ -57,7 +71,17 @@ function BlockPattern( {
57
71
  as="div"
58
72
  { ...composite }
59
73
  className="block-editor-block-patterns-list__item"
60
- onClick={ () => onClick( pattern, blocks ) }
74
+ onClick={ () => {
75
+ onClick( pattern, blocks );
76
+ onHover?.( null );
77
+ } }
78
+ onMouseEnter={ () => {
79
+ if ( isDragging ) {
80
+ return;
81
+ }
82
+ onHover?.( pattern );
83
+ } }
84
+ onMouseLeave={ () => onHover?.( null ) }
61
85
  aria-label={ pattern.title }
62
86
  aria-describedby={
63
87
  pattern.description ? descriptionId : undefined
@@ -95,6 +119,7 @@ function BlockPatternList( {
95
119
  isDraggable,
96
120
  blockPatterns,
97
121
  shownPatterns,
122
+ onHover,
98
123
  onClickPattern,
99
124
  orientation,
100
125
  label = __( 'Block Patterns' ),
@@ -115,6 +140,7 @@ function BlockPatternList( {
115
140
  key={ pattern.name }
116
141
  pattern={ pattern }
117
142
  onClick={ onClickPattern }
143
+ onHover={ onHover }
118
144
  isDraggable={ isDraggable }
119
145
  composite={ composite }
120
146
  showTooltip={ showTitlesAsTooltip }
@@ -30,26 +30,26 @@ Width of the preview container in pixels. Controls at what size the blocks will
30
30
 
31
31
  Set `viewportWidth` to `0` to make the viewport the same width as the container.
32
32
 
33
- ### `__experimentalPadding`
33
+ ### minHeight
34
34
 
35
- - **Type** `Int`
36
- - **Default** `undefined`
35
+ Minimum height of the preview iframe in pixels.
37
36
 
38
- Padding for the preview container body.
37
+ - **Type:** `Int`
38
+ - **Default:** `undefined`
39
39
 
40
- ### `__experimentalStyles`
40
+ ### `additionalStyles`
41
41
 
42
42
  List of additional editor styles to load into the preview iframe. Each object
43
43
  should contain a `css` attribute. See `EditorStyles` for more info.
44
44
 
45
45
  ```jsx
46
46
  <BlockPreview
47
- blocks={ blocks }
48
- __experimentalStyles={ [
49
- { css: '.wp-block { margin: 16px; }' },
47
+ blocks={ blocks }
48
+ additionalStyles={ [
49
+ { css: 'body { padding: 16px; }' },
50
50
  ] }
51
51
  />
52
52
  ```
53
53
 
54
- - **Type** `Int`
54
+ - **Type** `Array`
55
55
  - **Default** `[]`
@@ -23,9 +23,8 @@ const MAX_HEIGHT = 2000;
23
23
  function ScaledBlockPreview( {
24
24
  viewportWidth,
25
25
  containerWidth,
26
- __experimentalPadding,
27
- __experimentalMinHeight,
28
- __experimentalStyles,
26
+ minHeight,
27
+ additionalStyles = [],
29
28
  } ) {
30
29
  if ( ! viewportWidth ) {
31
30
  viewportWidth = containerWidth;
@@ -46,16 +45,16 @@ function ScaledBlockPreview( {
46
45
  if ( styles ) {
47
46
  return [
48
47
  ...styles,
49
- ...__experimentalStyles,
50
48
  {
51
- css: 'body{height:auto;overflow:hidden;border:none;}',
49
+ css: 'body{height:auto;overflow:hidden;border:none;padding:0;}',
52
50
  __unstableType: 'presets',
53
51
  },
52
+ ...additionalStyles,
54
53
  ];
55
54
  }
56
55
 
57
56
  return styles;
58
- }, [ styles, __experimentalStyles ] );
57
+ }, [ styles, additionalStyles ] );
59
58
 
60
59
  const svgFilters = useMemo( () => {
61
60
  return [ ...( duotone?.default ?? [] ), ...( duotone?.theme ?? [] ) ];
@@ -73,7 +72,7 @@ function ScaledBlockPreview( {
73
72
  height: contentHeight * scale,
74
73
  maxHeight:
75
74
  contentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,
76
- minHeight: __experimentalMinHeight,
75
+ minHeight,
77
76
  } }
78
77
  >
79
78
  <Iframe
@@ -87,7 +86,6 @@ function ScaledBlockPreview( {
87
86
  );
88
87
  documentElement.style.position = 'absolute';
89
88
  documentElement.style.width = '100%';
90
- bodyElement.style.padding = __experimentalPadding + 'px';
91
89
 
92
90
  // Necessary for contentResizeListener to work.
93
91
  bodyElement.style.boxSizing = 'border-box';
@@ -105,9 +103,9 @@ function ScaledBlockPreview( {
105
103
  // See: https://github.com/WordPress/gutenberg/pull/38175.
106
104
  maxHeight: MAX_HEIGHT,
107
105
  minHeight:
108
- scale !== 0 && scale < 1 && __experimentalMinHeight
109
- ? __experimentalMinHeight / scale
110
- : __experimentalMinHeight,
106
+ scale !== 0 && scale < 1 && minHeight
107
+ ? minHeight / scale
108
+ : minHeight,
111
109
  } }
112
110
  >
113
111
  { contentResizeListener }
@@ -2,3 +2,26 @@
2
2
  .block-editor-block-preview__content-iframe .block-list-appender {
3
3
  display: none;
4
4
  }
5
+
6
+ .block-editor-block-preview__live-content {
7
+ * {
8
+ pointer-events: none;
9
+ }
10
+
11
+ // Hide the block appender, as the block is not editable in this context.
12
+ .block-list-appender {
13
+ display: none;
14
+ }
15
+
16
+ // Revert button disable styles to ensure that button styles render as they will on the
17
+ // front end of the site. For example, this ensures that Social Links icons display correctly.
18
+ .components-button:disabled {
19
+ opacity: initial;
20
+ }
21
+
22
+ // Hide placeholders.
23
+ .components-placeholder,
24
+ .block-editor-block-list__block[data-empty="true"] {
25
+ display: none;
26
+ }
27
+ }