@wordpress/block-editor 12.9.1-next.5a1d1283.0 → 12.10.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 (453) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +33 -3
  3. package/build/components/block-canvas/index.js +107 -0
  4. package/build/components/block-canvas/index.js.map +1 -0
  5. package/build/components/block-inspector/index.js +4 -1
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-patterns-list/index.js +19 -4
  8. package/build/components/block-patterns-list/index.js.map +1 -1
  9. package/build/components/block-patterns-paging/index.js +66 -0
  10. package/build/components/block-patterns-paging/index.js.map +1 -0
  11. package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
  12. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  13. package/build/components/block-settings-menu-controls/index.js +4 -7
  14. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  15. package/build/components/block-styles/index.js +1 -0
  16. package/build/components/block-styles/index.js.map +1 -1
  17. package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  18. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  19. package/build/components/block-tools/block-contextual-toolbar.js +18 -7
  20. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +5 -1
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/border-radius-control/input-controls.js +1 -1
  24. package/build/components/border-radius-control/input-controls.js.map +1 -1
  25. package/build/components/border-radius-control/linked-button.js +2 -4
  26. package/build/components/border-radius-control/linked-button.js.map +1 -1
  27. package/build/components/colors/with-colors.js.map +1 -1
  28. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  29. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  30. package/build/components/default-block-appender/index.native.js +20 -1
  31. package/build/components/default-block-appender/index.native.js.map +1 -1
  32. package/build/components/duotone/utils.js +68 -0
  33. package/build/components/duotone/utils.js.map +1 -1
  34. package/build/components/editor-styles/index.js +28 -9
  35. package/build/components/editor-styles/index.js.map +1 -1
  36. package/build/components/global-styles/hooks.js +2 -101
  37. package/build/components/global-styles/hooks.js.map +1 -1
  38. package/build/components/global-styles/image-settings-panel.js +61 -0
  39. package/build/components/global-styles/image-settings-panel.js.map +1 -0
  40. package/build/components/global-styles/index.js +11 -17
  41. package/build/components/global-styles/index.js.map +1 -1
  42. package/build/components/global-styles/use-global-styles-output.js +19 -15
  43. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  44. package/build/components/global-styles/utils.js +1 -1
  45. package/build/components/global-styles/utils.js.map +1 -1
  46. package/build/components/iframe/index.js +67 -33
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/image-editor/use-save-image.js +2 -5
  49. package/build/components/image-editor/use-save-image.js.map +1 -1
  50. package/build/components/image-editor/use-transform-image.js +9 -9
  51. package/build/components/image-editor/use-transform-image.js.map +1 -1
  52. package/build/components/index.js +8 -12
  53. package/build/components/index.js.map +1 -1
  54. package/build/components/index.native.js +6 -5
  55. package/build/components/index.native.js.map +1 -1
  56. package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
  57. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  58. package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
  59. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  60. package/build/components/inserter/block-patterns-explorer/patterns-list.js +57 -23
  61. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  62. package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -9
  63. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  64. package/build/components/inserter/block-patterns-source-filter.js +54 -0
  65. package/build/components/inserter/block-patterns-source-filter.js.map +1 -0
  66. package/build/components/inserter/block-patterns-sync-filter.js +46 -0
  67. package/build/components/inserter/block-patterns-sync-filter.js.map +1 -0
  68. package/build/components/inserter/block-patterns-tab.js +91 -45
  69. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  70. package/build/components/inserter/hooks/use-patterns-paging.js +57 -0
  71. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  72. package/build/components/inserter/hooks/use-patterns-state.js +21 -10
  73. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  74. package/build/components/inserter/menu.js +13 -11
  75. package/build/components/inserter/menu.js.map +1 -1
  76. package/build/components/inserter/search-results.js +4 -3
  77. package/build/components/inserter/search-results.js.map +1 -1
  78. package/build/components/inserter/tabs.js +1 -12
  79. package/build/components/inserter/tabs.js.map +1 -1
  80. package/build/components/inspector-controls/block-support-slot-container.js +12 -1
  81. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  82. package/build/components/inspector-controls/fill.js +24 -13
  83. package/build/components/inspector-controls/fill.js.map +1 -1
  84. package/build/components/inspector-controls/groups.js +5 -3
  85. package/build/components/inspector-controls/groups.js.map +1 -1
  86. package/build/components/inspector-controls/slot.js +13 -0
  87. package/build/components/inspector-controls/slot.js.map +1 -1
  88. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  89. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  90. package/build/components/link-control/index.js +12 -2
  91. package/build/components/link-control/index.js.map +1 -1
  92. package/build/components/list-view/block-select-button.js +1 -3
  93. package/build/components/list-view/block-select-button.js.map +1 -1
  94. package/build/components/list-view/block.js +13 -1
  95. package/build/components/list-view/block.js.map +1 -1
  96. package/build/components/list-view/use-block-selection.js +29 -24
  97. package/build/components/list-view/use-block-selection.js.map +1 -1
  98. package/build/components/media-placeholder/index.js +2 -2
  99. package/build/components/media-placeholder/index.js.map +1 -1
  100. package/build/components/media-placeholder/index.native.js +11 -11
  101. package/build/components/media-placeholder/index.native.js.map +1 -1
  102. package/build/components/media-replace-flow/index.js +2 -3
  103. package/build/components/media-replace-flow/index.js.map +1 -1
  104. package/build/components/media-upload/constants.js +30 -0
  105. package/build/components/media-upload/constants.js.map +1 -0
  106. package/build/components/media-upload/index.native.js +63 -53
  107. package/build/components/media-upload/index.native.js.map +1 -1
  108. package/build/components/preview-options/index.js +1 -1
  109. package/build/components/preview-options/index.js.map +1 -1
  110. package/build/components/rich-text/index.js +34 -35
  111. package/build/components/rich-text/index.js.map +1 -1
  112. package/build/components/rich-text/index.native.js +14 -32
  113. package/build/components/rich-text/index.native.js.map +1 -1
  114. package/build/components/rich-text/multiline.js +95 -0
  115. package/build/components/rich-text/multiline.js.map +1 -0
  116. package/build/components/rich-text/split-value.js +10 -16
  117. package/build/components/rich-text/split-value.js.map +1 -1
  118. package/build/components/rich-text/use-enter.js +31 -40
  119. package/build/components/rich-text/use-enter.js.map +1 -1
  120. package/build/components/rich-text/use-paste-handler.js +18 -33
  121. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  122. package/build/components/spacing-sizes-control/utils.js +1 -1
  123. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  124. package/build/components/use-block-commands/index.js +30 -18
  125. package/build/components/use-block-commands/index.js.map +1 -1
  126. package/build/components/use-block-display-information/index.js +5 -2
  127. package/build/components/use-block-display-information/index.js.map +1 -1
  128. package/build/hooks/background.js +258 -0
  129. package/build/hooks/background.js.map +1 -0
  130. package/build/hooks/block-hooks.js +188 -0
  131. package/build/hooks/block-hooks.js.map +1 -0
  132. package/build/hooks/block-rename-ui.js +160 -0
  133. package/build/hooks/block-rename-ui.js.map +1 -0
  134. package/build/hooks/duotone.js +29 -42
  135. package/build/hooks/duotone.js.map +1 -1
  136. package/build/hooks/index.js +2 -2
  137. package/build/hooks/index.js.map +1 -1
  138. package/build/hooks/layout.js +31 -14
  139. package/build/hooks/layout.js.map +1 -1
  140. package/build/hooks/position.js +4 -2
  141. package/build/hooks/position.js.map +1 -1
  142. package/build/hooks/style.js +10 -3
  143. package/build/hooks/style.js.map +1 -1
  144. package/build/private-apis.js +2 -0
  145. package/build/private-apis.js.map +1 -1
  146. package/build/store/actions.js +33 -10
  147. package/build/store/actions.js.map +1 -1
  148. package/build/store/private-actions.js +42 -8
  149. package/build/store/private-actions.js.map +1 -1
  150. package/build/store/private-selectors.js +23 -0
  151. package/build/store/private-selectors.js.map +1 -1
  152. package/build/store/reducer.js +43 -1
  153. package/build/store/reducer.js.map +1 -1
  154. package/build/store/selectors.js +84 -23
  155. package/build/store/selectors.js.map +1 -1
  156. package/build/store/utils.js +0 -4
  157. package/build/store/utils.js.map +1 -1
  158. package/build-module/components/block-canvas/index.js +97 -0
  159. package/build-module/components/block-canvas/index.js.map +1 -0
  160. package/build-module/components/block-inspector/index.js +4 -1
  161. package/build-module/components/block-inspector/index.js.map +1 -1
  162. package/build-module/components/block-patterns-list/index.js +20 -5
  163. package/build-module/components/block-patterns-list/index.js.map +1 -1
  164. package/build-module/components/block-patterns-paging/index.js +59 -0
  165. package/build-module/components/block-patterns-paging/index.js.map +1 -0
  166. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
  167. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  168. package/build-module/components/block-settings-menu-controls/index.js +4 -7
  169. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  170. package/build-module/components/block-styles/index.js +1 -0
  171. package/build-module/components/block-styles/index.js.map +1 -1
  172. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  173. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  174. package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
  175. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  176. package/build-module/components/block-tools/block-selection-button.js +5 -1
  177. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  178. package/build-module/components/border-radius-control/input-controls.js +1 -1
  179. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  180. package/build-module/components/border-radius-control/linked-button.js +2 -4
  181. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  182. package/build-module/components/colors/with-colors.js.map +1 -1
  183. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  184. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  185. package/build-module/components/default-block-appender/index.native.js +20 -1
  186. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  187. package/build-module/components/duotone/utils.js +65 -0
  188. package/build-module/components/duotone/utils.js.map +1 -1
  189. package/build-module/components/editor-styles/index.js +28 -9
  190. package/build-module/components/editor-styles/index.js.map +1 -1
  191. package/build-module/components/global-styles/hooks.js +3 -100
  192. package/build-module/components/global-styles/hooks.js.map +1 -1
  193. package/build-module/components/global-styles/image-settings-panel.js +53 -0
  194. package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
  195. package/build-module/components/global-styles/index.js +2 -2
  196. package/build-module/components/global-styles/index.js.map +1 -1
  197. package/build-module/components/global-styles/use-global-styles-output.js +18 -16
  198. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  199. package/build-module/components/global-styles/utils.js +1 -1
  200. package/build-module/components/global-styles/utils.js.map +1 -1
  201. package/build-module/components/iframe/index.js +66 -33
  202. package/build-module/components/iframe/index.js.map +1 -1
  203. package/build-module/components/image-editor/use-save-image.js +2 -5
  204. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  205. package/build-module/components/image-editor/use-transform-image.js +9 -9
  206. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  207. package/build-module/components/index.js +1 -1
  208. package/build-module/components/index.js.map +1 -1
  209. package/build-module/components/index.native.js +2 -1
  210. package/build-module/components/index.native.js.map +1 -1
  211. package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
  212. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  213. package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
  214. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  215. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +59 -25
  216. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  217. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +23 -9
  218. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  219. package/build-module/components/inserter/block-patterns-source-filter.js +44 -0
  220. package/build-module/components/inserter/block-patterns-source-filter.js.map +1 -0
  221. package/build-module/components/inserter/block-patterns-sync-filter.js +38 -0
  222. package/build-module/components/inserter/block-patterns-sync-filter.js.map +1 -0
  223. package/build-module/components/inserter/block-patterns-tab.js +87 -46
  224. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  225. package/build-module/components/inserter/hooks/use-patterns-paging.js +50 -0
  226. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  227. package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
  228. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  229. package/build-module/components/inserter/menu.js +13 -11
  230. package/build-module/components/inserter/menu.js.map +1 -1
  231. package/build-module/components/inserter/search-results.js +4 -3
  232. package/build-module/components/inserter/search-results.js.map +1 -1
  233. package/build-module/components/inserter/tabs.js +1 -12
  234. package/build-module/components/inserter/tabs.js.map +1 -1
  235. package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
  236. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  237. package/build-module/components/inspector-controls/fill.js +25 -14
  238. package/build-module/components/inspector-controls/fill.js.map +1 -1
  239. package/build-module/components/inspector-controls/groups.js +5 -3
  240. package/build-module/components/inspector-controls/groups.js.map +1 -1
  241. package/build-module/components/inspector-controls/slot.js +15 -1
  242. package/build-module/components/inspector-controls/slot.js.map +1 -1
  243. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  244. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  245. package/build-module/components/link-control/index.js +12 -2
  246. package/build-module/components/link-control/index.js.map +1 -1
  247. package/build-module/components/list-view/block-select-button.js +1 -3
  248. package/build-module/components/list-view/block-select-button.js.map +1 -1
  249. package/build-module/components/list-view/block.js +13 -1
  250. package/build-module/components/list-view/block.js.map +1 -1
  251. package/build-module/components/list-view/use-block-selection.js +30 -25
  252. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  253. package/build-module/components/media-placeholder/index.js +2 -2
  254. package/build-module/components/media-placeholder/index.js.map +1 -1
  255. package/build-module/components/media-placeholder/index.native.js +7 -7
  256. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  257. package/build-module/components/media-replace-flow/index.js +2 -3
  258. package/build-module/components/media-replace-flow/index.js.map +1 -1
  259. package/build-module/components/media-upload/constants.js +14 -0
  260. package/build-module/components/media-upload/constants.js.map +1 -0
  261. package/build-module/components/media-upload/index.native.js +53 -34
  262. package/build-module/components/media-upload/index.native.js.map +1 -1
  263. package/build-module/components/preview-options/index.js +1 -1
  264. package/build-module/components/preview-options/index.js.map +1 -1
  265. package/build-module/components/rich-text/index.js +35 -37
  266. package/build-module/components/rich-text/index.js.map +1 -1
  267. package/build-module/components/rich-text/index.native.js +15 -33
  268. package/build-module/components/rich-text/index.native.js.map +1 -1
  269. package/build-module/components/rich-text/multiline.js +87 -0
  270. package/build-module/components/rich-text/multiline.js.map +1 -0
  271. package/build-module/components/rich-text/split-value.js +10 -16
  272. package/build-module/components/rich-text/split-value.js.map +1 -1
  273. package/build-module/components/rich-text/use-enter.js +33 -42
  274. package/build-module/components/rich-text/use-enter.js.map +1 -1
  275. package/build-module/components/rich-text/use-paste-handler.js +19 -34
  276. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  277. package/build-module/components/spacing-sizes-control/utils.js +2 -2
  278. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  279. package/build-module/components/use-block-commands/index.js +28 -16
  280. package/build-module/components/use-block-commands/index.js.map +1 -1
  281. package/build-module/components/use-block-display-information/index.js +5 -2
  282. package/build-module/components/use-block-display-information/index.js.map +1 -1
  283. package/build-module/hooks/background.js +244 -0
  284. package/build-module/hooks/background.js.map +1 -0
  285. package/build-module/hooks/block-hooks.js +181 -0
  286. package/build-module/hooks/block-hooks.js.map +1 -0
  287. package/build-module/hooks/block-rename-ui.js +153 -0
  288. package/build-module/hooks/block-rename-ui.js.map +1 -0
  289. package/build-module/hooks/duotone.js +26 -39
  290. package/build-module/hooks/duotone.js.map +1 -1
  291. package/build-module/hooks/index.js +2 -2
  292. package/build-module/hooks/index.js.map +1 -1
  293. package/build-module/hooks/layout.js +33 -16
  294. package/build-module/hooks/layout.js.map +1 -1
  295. package/build-module/hooks/position.js +4 -2
  296. package/build-module/hooks/position.js.map +1 -1
  297. package/build-module/hooks/style.js +10 -3
  298. package/build-module/hooks/style.js.map +1 -1
  299. package/build-module/private-apis.js +2 -0
  300. package/build-module/private-apis.js.map +1 -1
  301. package/build-module/store/actions.js +33 -10
  302. package/build-module/store/actions.js.map +1 -1
  303. package/build-module/store/private-actions.js +39 -8
  304. package/build-module/store/private-actions.js.map +1 -1
  305. package/build-module/store/private-selectors.js +21 -0
  306. package/build-module/store/private-selectors.js.map +1 -1
  307. package/build-module/store/reducer.js +41 -1
  308. package/build-module/store/reducer.js.map +1 -1
  309. package/build-module/store/selectors.js +78 -22
  310. package/build-module/store/selectors.js.map +1 -1
  311. package/build-module/store/utils.js +0 -4
  312. package/build-module/store/utils.js.map +1 -1
  313. package/build-style/content-rtl.css +0 -1
  314. package/build-style/content.css +0 -1
  315. package/build-style/style-rtl.css +170 -127
  316. package/build-style/style.css +170 -127
  317. package/package.json +32 -32
  318. package/src/components/block-canvas/index.js +108 -0
  319. package/src/components/block-inspector/index.js +5 -1
  320. package/src/components/block-list/content.scss +0 -1
  321. package/src/components/block-patterns-list/index.js +32 -7
  322. package/src/components/block-patterns-list/style.scss +26 -9
  323. package/src/components/block-patterns-paging/index.js +92 -0
  324. package/src/components/block-patterns-paging/style.scss +42 -0
  325. package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
  326. package/src/components/block-settings-menu-controls/index.js +4 -9
  327. package/src/components/block-styles/index.js +1 -0
  328. package/src/components/block-styles/style.scss +3 -3
  329. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
  330. package/src/components/block-tools/block-contextual-toolbar.js +16 -5
  331. package/src/components/block-tools/block-selection-button.js +9 -1
  332. package/src/components/block-tools/style.scss +0 -98
  333. package/src/components/border-radius-control/input-controls.js +1 -1
  334. package/src/components/border-radius-control/linked-button.js +8 -11
  335. package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
  336. package/src/components/colors/with-colors.js +3 -2
  337. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
  338. package/src/components/default-block-appender/index.native.js +26 -3
  339. package/src/components/duotone/utils.js +65 -0
  340. package/src/components/editor-styles/index.js +32 -23
  341. package/src/components/global-styles/hooks.js +4 -112
  342. package/src/components/global-styles/image-settings-panel.js +71 -0
  343. package/src/components/global-styles/index.js +4 -3
  344. package/src/components/global-styles/use-global-styles-output.js +25 -16
  345. package/src/components/global-styles/utils.js +1 -2
  346. package/src/components/iframe/index.js +72 -33
  347. package/src/components/image-editor/use-save-image.js +2 -9
  348. package/src/components/image-editor/use-transform-image.js +9 -9
  349. package/src/components/index.js +1 -1
  350. package/src/components/index.native.js +2 -2
  351. package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
  352. package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
  353. package/src/components/inserter/block-patterns-explorer/patterns-list.js +109 -40
  354. package/src/components/inserter/block-patterns-explorer/sidebar.js +23 -8
  355. package/src/components/inserter/block-patterns-source-filter.js +40 -0
  356. package/src/components/inserter/block-patterns-sync-filter.js +35 -0
  357. package/src/components/inserter/block-patterns-tab.js +168 -57
  358. package/src/components/inserter/hooks/use-patterns-paging.js +65 -0
  359. package/src/components/inserter/hooks/use-patterns-state.js +27 -16
  360. package/src/components/inserter/menu.js +15 -17
  361. package/src/components/inserter/search-results.js +6 -4
  362. package/src/components/inserter/style.scss +23 -2
  363. package/src/components/inserter/tabs.js +2 -12
  364. package/src/components/inserter/test/index.native.js +8 -12
  365. package/src/components/inspector-controls/block-support-slot-container.js +19 -3
  366. package/src/components/inspector-controls/fill.js +28 -14
  367. package/src/components/inspector-controls/groups.js +6 -2
  368. package/src/components/inspector-controls/slot.js +28 -3
  369. package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
  370. package/src/components/link-control/index.js +13 -0
  371. package/src/components/link-control/style.scss +23 -2
  372. package/src/components/link-control/test/index.js +88 -6
  373. package/src/components/list-view/block-select-button.js +1 -3
  374. package/src/components/list-view/block.js +19 -1
  375. package/src/components/list-view/style.scss +1 -2
  376. package/src/components/list-view/use-block-selection.js +38 -32
  377. package/src/components/media-placeholder/README.md +2 -2
  378. package/src/components/media-placeholder/index.js +2 -2
  379. package/src/components/media-placeholder/index.native.js +11 -12
  380. package/src/components/media-replace-flow/index.js +2 -2
  381. package/src/components/media-replace-flow/test/index.js +5 -23
  382. package/src/components/media-upload/README.md +3 -2
  383. package/src/components/media-upload/constants.js +15 -0
  384. package/src/components/media-upload/index.native.js +66 -40
  385. package/src/components/media-upload/style.native.scss +4 -0
  386. package/src/components/media-upload/test/index.native.js +2 -2
  387. package/src/components/preview-options/README.md +7 -0
  388. package/src/components/preview-options/index.js +1 -1
  389. package/src/components/rich-text/index.js +48 -44
  390. package/src/components/rich-text/index.native.js +14 -42
  391. package/src/components/rich-text/multiline.js +121 -0
  392. package/src/components/rich-text/split-value.js +10 -35
  393. package/src/components/rich-text/use-enter.js +32 -42
  394. package/src/components/rich-text/use-paste-handler.js +16 -40
  395. package/src/components/spacing-sizes-control/style.scss +5 -7
  396. package/src/components/spacing-sizes-control/utils.js +1 -2
  397. package/src/components/use-block-commands/index.js +28 -20
  398. package/src/components/use-block-display-information/index.js +3 -0
  399. package/src/hooks/background.js +288 -0
  400. package/src/hooks/background.scss +57 -0
  401. package/src/hooks/block-hooks.js +257 -0
  402. package/src/hooks/block-hooks.scss +16 -0
  403. package/src/hooks/block-rename-ui.js +230 -0
  404. package/src/hooks/block-rename-ui.scss +3 -0
  405. package/src/hooks/duotone.js +42 -43
  406. package/src/hooks/index.js +2 -2
  407. package/src/hooks/layout.js +31 -33
  408. package/src/hooks/position.js +4 -3
  409. package/src/hooks/style.js +11 -2
  410. package/src/hooks/test/align.native.js +4 -3
  411. package/src/private-apis.js +2 -0
  412. package/src/store/actions.js +52 -10
  413. package/src/store/private-actions.js +37 -6
  414. package/src/store/private-selectors.js +21 -0
  415. package/src/store/reducer.js +38 -0
  416. package/src/store/selectors.js +107 -26
  417. package/src/store/test/actions.js +19 -8
  418. package/src/store/test/private-actions.js +17 -0
  419. package/src/store/test/reducer.js +25 -0
  420. package/src/store/test/selectors.js +130 -123
  421. package/src/store/utils.js +3 -10
  422. package/src/style.scss +4 -0
  423. package/build/components/duotone/components.js +0 -135
  424. package/build/components/duotone/components.js.map +0 -1
  425. package/build/components/duotone/index.js +0 -38
  426. package/build/components/duotone/index.js.map +0 -1
  427. package/build/components/global-styles/behaviors-panel.js +0 -64
  428. package/build/components/global-styles/behaviors-panel.js.map +0 -1
  429. package/build/components/inserter/reusable-blocks-tab.js +0 -85
  430. package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
  431. package/build/hooks/auto-inserting-blocks.js +0 -174
  432. package/build/hooks/auto-inserting-blocks.js.map +0 -1
  433. package/build/hooks/behaviors.js +0 -173
  434. package/build/hooks/behaviors.js.map +0 -1
  435. package/build-module/components/duotone/components.js +0 -126
  436. package/build-module/components/duotone/components.js.map +0 -1
  437. package/build-module/components/duotone/index.js +0 -3
  438. package/build-module/components/duotone/index.js.map +0 -1
  439. package/build-module/components/global-styles/behaviors-panel.js +0 -57
  440. package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
  441. package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
  442. package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
  443. package/build-module/hooks/auto-inserting-blocks.js +0 -167
  444. package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
  445. package/build-module/hooks/behaviors.js +0 -166
  446. package/build-module/hooks/behaviors.js.map +0 -1
  447. package/src/components/duotone/components.js +0 -133
  448. package/src/components/duotone/index.js +0 -7
  449. package/src/components/global-styles/behaviors-panel.js +0 -71
  450. package/src/components/inserter/reusable-blocks-tab.js +0 -84
  451. package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
  452. package/src/hooks/auto-inserting-blocks.js +0 -232
  453. package/src/hooks/behaviors.js +0 -206
@@ -267,44 +267,6 @@
267
267
  /**
268
268
  * Block Toolbar when contextual.
269
269
  */
270
- .block-editor-block-contextual-toolbar.is-fixed {
271
- /* Set left position when auto-fold is not on the body element. */
272
- left: 0;
273
- }
274
- @media (min-width: 783px) {
275
- .block-editor-block-contextual-toolbar.is-fixed {
276
- left: 160px;
277
- }
278
- }
279
-
280
- .auto-fold .block-editor-block-contextual-toolbar.is-fixed {
281
- /* Auto fold is when on smaller breakpoints, nav menu auto collapses. */
282
- }
283
- @media (min-width: 783px) {
284
- .auto-fold .block-editor-block-contextual-toolbar.is-fixed {
285
- left: 36px;
286
- }
287
- }
288
- @media (min-width: 961px) {
289
- .auto-fold .block-editor-block-contextual-toolbar.is-fixed {
290
- left: 160px;
291
- }
292
- }
293
-
294
- /* Sidebar manually collapsed. */
295
- .folded .block-editor-block-contextual-toolbar.is-fixed {
296
- left: 0;
297
- }
298
- @media (min-width: 783px) {
299
- .folded .block-editor-block-contextual-toolbar.is-fixed {
300
- left: 36px;
301
- }
302
- }
303
-
304
- body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
305
- left: 0 !important;
306
- }
307
-
308
270
  .block-editor-block-contextual-toolbar {
309
271
  display: inline-flex;
310
272
  border: 1px solid #1e1e1e;
@@ -316,11 +278,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
316
278
  border-right-color: #1e1e1e;
317
279
  }
318
280
  .block-editor-block-contextual-toolbar.is-fixed {
319
- position: sticky;
320
- top: 0;
321
- z-index: 31;
322
- display: block;
323
- width: 100%;
324
281
  overflow: hidden;
325
282
  border: none;
326
283
  border-bottom: 1px solid #e0e0e0;
@@ -343,32 +300,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
343
300
  background: linear-gradient(to right, #fff, transparent);
344
301
  }
345
302
  @media (min-width: 782px) {
346
- .block-editor-block-contextual-toolbar.is-fixed {
347
- margin-left: 180px;
348
- position: fixed;
349
- top: 32px;
350
- min-height: initial;
351
- border-bottom: none;
352
- display: flex;
353
- height: 60px;
354
- align-items: center;
355
- }
356
- .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
357
- width: initial;
358
- }
359
- .block-editor-block-contextual-toolbar.is-fixed:empty {
360
- width: initial;
361
- }
362
- .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
363
- margin-left: 240px;
364
- top: 0;
365
- }
366
- .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
367
- width: initial;
368
- }
369
- .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed:empty {
370
- width: initial;
371
- }
372
303
  .block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar {
373
304
  flex-grow: initial;
374
305
  width: initial;
@@ -429,12 +360,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
429
360
  height: 24px;
430
361
  top: -1px;
431
362
  }
432
- .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
433
- margin-left: 80px;
434
- }
435
- .is-fullscreen-mode .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
436
- margin-left: 144px;
437
- }
438
363
  .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button::after {
439
364
  left: 0;
440
365
  }
@@ -449,12 +374,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
449
374
  background-color: #ddd;
450
375
  position: relative;
451
376
  }
452
- .blocks-widgets-container .block-editor-block-contextual-toolbar.is-fixed {
453
- margin-left: 153.6px;
454
- }
455
- .blocks-widgets-container .block-editor-block-contextual-toolbar.is-fixed.is-collapsed {
456
- margin-left: 268.8px;
457
- }
458
377
  .block-editor-block-contextual-toolbar.is-fixed .block-editor-block-parent-selector .block-editor-block-parent-selector__button {
459
378
  position: relative;
460
379
  top: -1px;
@@ -484,25 +403,6 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
484
403
  margin-bottom: -1px;
485
404
  }
486
405
  }
487
- @media (min-width: 782px) {
488
- .block-editor-block-contextual-toolbar.is-fixed {
489
- width: calc(100% - 180px);
490
- }
491
- .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
492
- width: calc(100% + 40px - 180px);
493
- }
494
- }
495
- @media (min-width: 960px) {
496
- .block-editor-block-contextual-toolbar.is-fixed {
497
- width: auto;
498
- }
499
- .show-icon-labels .block-editor-block-contextual-toolbar.is-fixed {
500
- width: auto;
501
- }
502
- .is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
503
- width: calc(100% - 280px - 256px);
504
- }
505
- }
506
406
 
507
407
  /**
508
408
  * Block Label for Navigation/Selection Mode
@@ -963,7 +863,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
963
863
  .block-editor-block-patterns-list__list-item.is-placeholder {
964
864
  min-height: 100px;
965
865
  }
966
- .block-editor-block-patterns-list__list-item[draggable=true] .block-editor-block-preview__container {
866
+ .block-editor-block-patterns-list__list-item[draggable=true] {
967
867
  cursor: grab;
968
868
  }
969
869
 
@@ -977,20 +877,65 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
977
877
  border-radius: 4px;
978
878
  }
979
879
  .block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title {
980
- padding-top: 8px;
981
- font-size: 12px;
982
- text-align: center;
880
+ text-align: left;
881
+ flex-grow: 1;
983
882
  }
984
883
  .block-editor-block-patterns-list__item:hover .block-editor-block-preview__container {
985
- box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
884
+ box-shadow: 0 0 0 2px #1e1e1e;
986
885
  }
987
886
  .block-editor-block-patterns-list__item:focus .block-editor-block-preview__container {
988
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) var(--wp-admin-theme-color);
887
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) #1e1e1e;
989
888
  outline: 2px solid transparent;
990
889
  outline-offset: 2px;
991
890
  }
992
- .block-editor-block-patterns-list__item:hover .block-editor-block-patterns-list__item-title, .block-editor-block-patterns-list__item:focus .block-editor-block-patterns-list__item-title {
993
- color: var(--wp-admin-theme-color);
891
+ .block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:hover .block-editor-block-preview__container, .block-editor-block-patterns-list__item.block-editor-block-patterns-list__list-item-synced:focus .block-editor-block-preview__container {
892
+ box-shadow: 0 0 0 2px var(--wp-block-synced-color), 0 15px 25px rgba(0, 0, 0, 0.07);
893
+ }
894
+ .block-editor-block-patterns-list__item .block-editor-patterns__pattern-details {
895
+ align-items: center;
896
+ margin-top: 8px;
897
+ }
898
+ .block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper {
899
+ min-width: 24px;
900
+ height: 24px;
901
+ }
902
+ .block-editor-block-patterns-list__item .block-editor-patterns__pattern-icon-wrapper .block-editor-patterns__pattern-icon {
903
+ fill: var(--wp-block-synced-color);
904
+ }
905
+
906
+ .block-editor-patterns__grid-pagination {
907
+ border-top: 1px solid #2f2f2f;
908
+ padding: 4px;
909
+ }
910
+ .block-editor-patterns__grid-pagination .components-button.is-tertiary {
911
+ width: auto;
912
+ height: 32px;
913
+ justify-content: center;
914
+ }
915
+ .block-editor-patterns__grid-pagination .components-button.is-tertiary:disabled {
916
+ color: #949494;
917
+ background: none;
918
+ }
919
+ .block-editor-patterns__grid-pagination .components-button.is-tertiary:hover:not(:disabled) {
920
+ color: #fff;
921
+ background-color: #757575;
922
+ }
923
+
924
+ .show-icon-labels .block-editor-patterns__grid-pagination {
925
+ flex-direction: column;
926
+ }
927
+ .show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-previous,
928
+ .show-icon-labels .block-editor-patterns__grid-pagination .block-editor-patterns__grid-pagination-next {
929
+ flex-direction: column;
930
+ }
931
+ .show-icon-labels .block-editor-patterns__grid-pagination .components-button {
932
+ width: auto;
933
+ }
934
+ .show-icon-labels .block-editor-patterns__grid-pagination .components-button span {
935
+ display: none;
936
+ }
937
+ .show-icon-labels .block-editor-patterns__grid-pagination .components-button::before {
938
+ content: attr(aria-label);
994
939
  }
995
940
 
996
941
  .components-popover.block-editor-block-popover {
@@ -1100,13 +1045,13 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1100
1045
  }
1101
1046
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item {
1102
1047
  color: #1e1e1e;
1103
- box-shadow: inset 0 0 0 1px #ccc;
1048
+ box-shadow: inset 0 0 0 1px #ddd;
1104
1049
  display: inline-block;
1105
1050
  width: calc(50% - 4px);
1106
1051
  }
1107
1052
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:hover {
1108
1053
  color: var(--wp-admin-theme-color);
1109
- box-shadow: inset 0 0 0 1px #ccc;
1054
+ box-shadow: inset 0 0 0 1px #ddd;
1110
1055
  }
1111
1056
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active, .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:hover {
1112
1057
  background-color: #1e1e1e;
@@ -1116,8 +1061,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1116
1061
  color: #fff;
1117
1062
  }
1118
1063
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus, .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus {
1119
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
1120
- outline: 2px solid transparent;
1064
+ box-shadow: inset 0 0 0 1px var(--wp-components-color-background, #fff), 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
1121
1065
  }
1122
1066
  .block-editor-block-styles__variants .block-editor-block-styles__item-text {
1123
1067
  word-break: break-all;
@@ -1929,7 +1873,8 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1929
1873
  position: relative;
1930
1874
  }
1931
1875
 
1932
- .block-editor-link-control__search-input-container {
1876
+ .block-editor-link-control__search-input-container,
1877
+ .block-editor-link-control__search-input-wrapper {
1933
1878
  position: relative;
1934
1879
  }
1935
1880
 
@@ -1975,7 +1920,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1975
1920
  }
1976
1921
  .block-editor-link-control__field input[type=text]:focus, .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus {
1977
1922
  border-color: var(--wp-admin-theme-color);
1978
- box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
1923
+ box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
1979
1924
  outline: 2px solid transparent;
1980
1925
  }
1981
1926
  .block-editor-link-control__field input[type=text]::-webkit-input-placeholder, .block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder {
@@ -1993,6 +1938,16 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
1993
1938
  margin: -8px 16px 16px;
1994
1939
  }
1995
1940
 
1941
+ .block-editor-link-control__search-enter {
1942
+ position: absolute;
1943
+ right: 19px;
1944
+ top: 3px;
1945
+ }
1946
+ .block-editor-link-control__search-enter svg {
1947
+ position: relative;
1948
+ top: -2px;
1949
+ }
1950
+
1996
1951
  .block-editor-link-control__search-actions {
1997
1952
  display: flex;
1998
1953
  flex-direction: row-reverse;
@@ -2278,6 +2233,9 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2278
2233
  padding-left: 0;
2279
2234
  gap: 0;
2280
2235
  }
2236
+ .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] {
2237
+ color: #1e1e1e;
2238
+ }
2281
2239
  .block-editor-link-control__tools .components-button.block-editor-link-control__drawer-toggle[aria-expanded=true] svg {
2282
2240
  visibility: visible;
2283
2241
  transition: transform 0.1s ease;
@@ -2309,7 +2267,12 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2309
2267
  left: auto;
2310
2268
  bottom: auto;
2311
2269
  top: calc(50% - 16px / 2);
2312
- right: 16px;
2270
+ right: 40px;
2271
+ }
2272
+
2273
+ .block-editor-link-control .block-editor-link-control__search-input-wrapper.has-actions .components-spinner {
2274
+ top: calc(50% + 16px / 4);
2275
+ right: 12px;
2313
2276
  }
2314
2277
 
2315
2278
  .block-editor-link-control__search-item-action {
@@ -2583,8 +2546,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
2583
2546
  .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor {
2584
2547
  background: rgba(0, 0, 0, 0.3);
2585
2548
  }
2586
- .block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock,
2587
- .block-editor-list-view-leaf .block-editor-list-view-block-select-button__sticky {
2549
+ .block-editor-list-view-leaf .block-editor-list-view-block-select-button__lock {
2588
2550
  line-height: 0;
2589
2551
  }
2590
2552
  .block-editor-list-view-leaf .block-editor-list-view-block-select-button__images {
@@ -3045,7 +3007,7 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3045
3007
  }
3046
3008
  .block-editor-url-input__input[type=text]:focus {
3047
3009
  border-color: var(--wp-admin-theme-color);
3048
- box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
3010
+ box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
3049
3011
  outline: 2px solid transparent;
3050
3012
  }
3051
3013
  .block-editor-url-input__input[type=text]::-webkit-input-placeholder {
@@ -3222,6 +3184,69 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3222
3184
  margin-top: 8px;
3223
3185
  }
3224
3186
 
3187
+ .block-editor-hooks__block-hooks {
3188
+ /**
3189
+ * Since we're displaying the block icon alongside the block name,
3190
+ * we need to right-align the toggle.
3191
+ */
3192
+ /**
3193
+ * Un-reverse the flex direction for the toggle's label.
3194
+ */
3195
+ }
3196
+ .block-editor-hooks__block-hooks .components-toggle-control .components-h-stack {
3197
+ flex-direction: row-reverse;
3198
+ }
3199
+ .block-editor-hooks__block-hooks .components-toggle-control .components-h-stack .components-h-stack {
3200
+ flex-direction: row;
3201
+ }
3202
+
3203
+ .block-editor-hooks__background__inspector-upload-container {
3204
+ position: relative;
3205
+ }
3206
+ .block-editor-hooks__background__inspector-upload-container .components-drop-zone__content-icon {
3207
+ display: none;
3208
+ }
3209
+
3210
+ .block-editor-hooks__background__inspector-upload-container button.components-button,
3211
+ .block-editor-hooks__background__inspector-media-replace-container button.components-button {
3212
+ color: #1e1e1e;
3213
+ box-shadow: inset 0 0 0 1px #ccc;
3214
+ width: 100%;
3215
+ display: block;
3216
+ height: 40px;
3217
+ }
3218
+ .block-editor-hooks__background__inspector-upload-container button.components-button:hover,
3219
+ .block-editor-hooks__background__inspector-media-replace-container button.components-button:hover {
3220
+ color: var(--wp-admin-theme-color);
3221
+ }
3222
+ .block-editor-hooks__background__inspector-upload-container button.components-button:focus,
3223
+ .block-editor-hooks__background__inspector-media-replace-container button.components-button:focus {
3224
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
3225
+ }
3226
+ .block-editor-hooks__background__inspector-upload-container .block-editor-hooks__background__inspector-media-replace-title,
3227
+ .block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-media-replace-title {
3228
+ word-break: break-all;
3229
+ white-space: normal;
3230
+ text-align: start;
3231
+ text-align-last: center;
3232
+ }
3233
+
3234
+ .block-editor-hooks__background__inspector-media-replace-container .components-dropdown {
3235
+ display: block;
3236
+ }
3237
+ .block-editor-hooks__background__inspector-media-replace-container img {
3238
+ width: 20px;
3239
+ min-width: 20px;
3240
+ aspect-ratio: 1;
3241
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
3242
+ border-radius: 50% !important;
3243
+ }
3244
+ .block-editor-hooks__background__inspector-media-replace-container .block-editor-hooks__background__inspector-readonly-logo-preview {
3245
+ padding: 6px 12px;
3246
+ display: flex;
3247
+ height: 40px;
3248
+ }
3249
+
3225
3250
  .border-block-support-panel .single-column {
3226
3251
  grid-column: span 1;
3227
3252
  }
@@ -3330,6 +3355,10 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3330
3355
  grid-column: span 1;
3331
3356
  }
3332
3357
 
3358
+ .block-editor-block-rename-modal {
3359
+ z-index: 1000001;
3360
+ }
3361
+
3333
3362
  /**
3334
3363
  * Block Toolbar
3335
3364
  */
@@ -3776,12 +3805,18 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3776
3805
  background: var(--wp-admin-theme-color);
3777
3806
  }
3778
3807
 
3779
- .block-editor-inserter__block-patterns-tabs-container {
3808
+ .block-editor-inserter__block-patterns-tabs-container,
3809
+ .block-editor-block-patterns-explorer__sidebar {
3780
3810
  height: 100%;
3781
3811
  }
3782
- .block-editor-inserter__block-patterns-tabs-container nav {
3812
+ .block-editor-inserter__block-patterns-tabs-container nav,
3813
+ .block-editor-block-patterns-explorer__sidebar nav {
3783
3814
  height: 100%;
3784
3815
  }
3816
+ .block-editor-inserter__block-patterns-tabs-container .block-editor-block-patterns__source-filter select.components-select-control__input,
3817
+ .block-editor-block-patterns-explorer__sidebar .block-editor-block-patterns__source-filter select.components-select-control__input {
3818
+ height: 40px;
3819
+ }
3785
3820
 
3786
3821
  .block-editor-inserter__block-patterns-tabs {
3787
3822
  display: flex;
@@ -3817,10 +3852,11 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3817
3852
  .block-editor-inserter__patterns-category-dialog .block-editor-block-patterns-list {
3818
3853
  margin-top: 24px;
3819
3854
  }
3820
- .block-editor-inserter__patterns-category-dialog .block-editor-block-preview__container {
3855
+
3856
+ .block-editor-block-patterns-list__list-item .block-editor-block-preview__container {
3821
3857
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.07);
3822
3858
  }
3823
- .block-editor-inserter__patterns-category-dialog .block-editor-block-preview__container:hover {
3859
+ .block-editor-block-patterns-list__list-item:hover .block-editor-block-preview__container {
3824
3860
  box-shadow: 0 0 0 2px #1e1e1e, 0 15px 25px rgba(0, 0, 0, 0.07);
3825
3861
  }
3826
3862
 
@@ -3945,6 +3981,9 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
3945
3981
  margin-left: 280px;
3946
3982
  padding: 24px 0 32px;
3947
3983
  }
3984
+ .block-editor-block-patterns-explorer__list .block-editor-patterns__sync-status-filter .components-input-control__container {
3985
+ width: 380px;
3986
+ }
3948
3987
  .block-editor-block-patterns-explorer .block-editor-block-patterns-list {
3949
3988
  display: grid;
3950
3989
  grid-gap: 32px;
@@ -4184,6 +4223,10 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
4184
4223
  margin: 0;
4185
4224
  }
4186
4225
 
4226
+ .block-editor-patterns__sync-status-filter .components-input-control__container select.components-select-control__input {
4227
+ height: 40px;
4228
+ }
4229
+
4187
4230
  .block-editor-post-preview__dropdown {
4188
4231
  padding: 0;
4189
4232
  }
@@ -4272,13 +4315,9 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
4272
4315
  z-index: 3;
4273
4316
  }
4274
4317
 
4275
- .spacing-sizes-control__wrapper + .spacing-sizes-control__wrapper {
4276
- margin-top: 8px;
4277
- }
4278
-
4279
4318
  .spacing-sizes-control__header {
4280
4319
  height: 16px;
4281
- margin-bottom: 8px;
4320
+ margin-bottom: 12px;
4282
4321
  }
4283
4322
 
4284
4323
  .spacing-sizes-control__dropdown {
@@ -4295,6 +4334,10 @@ body.is-fullscreen-mode .block-editor-block-contextual-toolbar.is-fixed {
4295
4334
  flex: 0 0 auto;
4296
4335
  }
4297
4336
 
4337
+ .spacing-sizes-control__icon {
4338
+ margin-left: -4px;
4339
+ }
4340
+
4298
4341
  body.admin-color-light {
4299
4342
  --wp-admin-theme-color: #0085ba;
4300
4343
  --wp-admin-theme-color--rgb: 0, 133, 186;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "12.9.1-next.5a1d1283.0",
3
+ "version": "12.10.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -35,36 +35,36 @@
35
35
  "@emotion/react": "^11.7.1",
36
36
  "@emotion/styled": "^11.6.0",
37
37
  "@react-spring/web": "^9.4.5",
38
- "@wordpress/a11y": "^3.41.1-next.5a1d1283.0",
39
- "@wordpress/api-fetch": "^6.38.1-next.5a1d1283.0",
40
- "@wordpress/blob": "^3.41.1-next.5a1d1283.0",
41
- "@wordpress/blocks": "^12.18.1-next.5a1d1283.0",
42
- "@wordpress/commands": "^0.12.1-next.5a1d1283.0",
43
- "@wordpress/components": "^26.0.1-next.5a1d1283.0",
44
- "@wordpress/compose": "^6.18.1-next.5a1d1283.0",
45
- "@wordpress/data": "^9.11.1-next.5a1d1283.0",
46
- "@wordpress/date": "^4.41.1-next.5a1d1283.0",
47
- "@wordpress/deprecated": "^3.41.1-next.5a1d1283.0",
48
- "@wordpress/dom": "^3.41.1-next.5a1d1283.0",
49
- "@wordpress/element": "^5.18.1-next.5a1d1283.0",
50
- "@wordpress/escape-html": "^2.41.1-next.5a1d1283.0",
51
- "@wordpress/hooks": "^3.41.1-next.5a1d1283.0",
52
- "@wordpress/html-entities": "^3.41.1-next.5a1d1283.0",
53
- "@wordpress/i18n": "^4.41.1-next.5a1d1283.0",
54
- "@wordpress/icons": "^9.32.1-next.5a1d1283.0",
55
- "@wordpress/is-shallow-equal": "^4.41.1-next.5a1d1283.0",
56
- "@wordpress/keyboard-shortcuts": "^4.18.1-next.5a1d1283.0",
57
- "@wordpress/keycodes": "^3.41.1-next.5a1d1283.0",
58
- "@wordpress/notices": "^4.9.1-next.5a1d1283.0",
59
- "@wordpress/preferences": "^3.18.1-next.5a1d1283.0",
60
- "@wordpress/private-apis": "^0.23.1-next.5a1d1283.0",
61
- "@wordpress/rich-text": "^6.18.1-next.5a1d1283.0",
62
- "@wordpress/shortcode": "^3.41.1-next.5a1d1283.0",
63
- "@wordpress/style-engine": "^1.24.1-next.5a1d1283.0",
64
- "@wordpress/token-list": "^2.41.1-next.5a1d1283.0",
65
- "@wordpress/url": "^3.42.1-next.5a1d1283.0",
66
- "@wordpress/warning": "^2.41.1-next.5a1d1283.0",
67
- "@wordpress/wordcount": "^3.41.1-next.5a1d1283.0",
38
+ "@wordpress/a11y": "^3.42.0",
39
+ "@wordpress/api-fetch": "^6.39.0",
40
+ "@wordpress/blob": "^3.42.0",
41
+ "@wordpress/blocks": "^12.19.0",
42
+ "@wordpress/commands": "^0.13.0",
43
+ "@wordpress/components": "^25.8.0",
44
+ "@wordpress/compose": "^6.19.0",
45
+ "@wordpress/data": "^9.12.0",
46
+ "@wordpress/date": "^4.42.0",
47
+ "@wordpress/deprecated": "^3.42.0",
48
+ "@wordpress/dom": "^3.42.0",
49
+ "@wordpress/element": "^5.19.0",
50
+ "@wordpress/escape-html": "^2.42.0",
51
+ "@wordpress/hooks": "^3.42.0",
52
+ "@wordpress/html-entities": "^3.42.0",
53
+ "@wordpress/i18n": "^4.42.0",
54
+ "@wordpress/icons": "^9.33.0",
55
+ "@wordpress/is-shallow-equal": "^4.42.0",
56
+ "@wordpress/keyboard-shortcuts": "^4.19.0",
57
+ "@wordpress/keycodes": "^3.42.0",
58
+ "@wordpress/notices": "^4.10.0",
59
+ "@wordpress/preferences": "^3.19.0",
60
+ "@wordpress/private-apis": "^0.24.0",
61
+ "@wordpress/rich-text": "^6.19.0",
62
+ "@wordpress/shortcode": "^3.42.0",
63
+ "@wordpress/style-engine": "^1.25.0",
64
+ "@wordpress/token-list": "^2.42.0",
65
+ "@wordpress/url": "^3.43.0",
66
+ "@wordpress/warning": "^2.42.0",
67
+ "@wordpress/wordcount": "^3.42.0",
68
68
  "change-case": "^4.1.2",
69
69
  "classnames": "^2.3.1",
70
70
  "colord": "^2.7.0",
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "fa0b66987dab5a15f38663e06036d09bccffaa4b"
89
+ "gitHead": "cc35f517ed017ab7131319af3e87c359e8de175d"
90
90
  }
@@ -0,0 +1,108 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useMergeRefs } from '@wordpress/compose';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import BlockList from '../block-list';
10
+ import EditorStyles from '../editor-styles';
11
+ import Iframe from '../iframe';
12
+ import WritingFlow from '../writing-flow';
13
+ import { useMouseMoveTypingReset } from '../observe-typing';
14
+ import { useClipboardHandler } from '../copy-handler';
15
+ import { useBlockSelectionClearer } from '../block-selection-clearer';
16
+
17
+ export function ExperimentalBlockCanvas( {
18
+ shouldIframe = true,
19
+ height = '300px',
20
+ children = <BlockList />,
21
+ styles,
22
+ contentRef: contentRefProp,
23
+ iframeProps,
24
+ } ) {
25
+ const resetTypingRef = useMouseMoveTypingReset();
26
+ const copyHandler = useClipboardHandler();
27
+ const clearerRef = useBlockSelectionClearer();
28
+ const contentRef = useMergeRefs( [
29
+ copyHandler,
30
+ contentRefProp,
31
+ clearerRef,
32
+ ] );
33
+
34
+ if ( ! shouldIframe ) {
35
+ return (
36
+ <>
37
+ <EditorStyles
38
+ styles={ styles }
39
+ scope=".editor-styles-wrapper"
40
+ />
41
+ <WritingFlow
42
+ ref={ contentRef }
43
+ className="editor-styles-wrapper"
44
+ tabIndex={ -1 }
45
+ style={ { height } }
46
+ >
47
+ { children }
48
+ </WritingFlow>
49
+ </>
50
+ );
51
+ }
52
+
53
+ return (
54
+ <Iframe
55
+ { ...iframeProps }
56
+ ref={ resetTypingRef }
57
+ contentRef={ contentRef }
58
+ style={ {
59
+ width: '100%',
60
+ height,
61
+ ...iframeProps?.style,
62
+ } }
63
+ name="editor-canvas"
64
+ >
65
+ <EditorStyles styles={ styles } />
66
+ { children }
67
+ </Iframe>
68
+ );
69
+ }
70
+
71
+ /**
72
+ * BlockCanvas component is a component used to display the canvas of the block editor.
73
+ * What we call the canvas is an iframe containing the block list that you can manipulate.
74
+ * The component is also responsible of wiring up all the necessary hooks to enable
75
+ * the keyboard navigation across blocks in the editor and inject content styles into the iframe.
76
+ *
77
+ * @example
78
+ *
79
+ * ```jsx
80
+ * function MyBlockEditor() {
81
+ * const [ blocks, updateBlocks ] = useState([]);
82
+ * return (
83
+ * <BlockEditorProvider
84
+ * value={ blocks }
85
+ * onInput={ updateBlocks }
86
+ * onChange={ persistBlocks }
87
+ * >
88
+ * <BlockCanvas height="400px" />
89
+ * </BlockEditorProvider>
90
+ * );
91
+ * }
92
+ * ```
93
+ *
94
+ * @param {Object} props Component props.
95
+ * @param {string} props.height Canvas height, defaults to 300px.
96
+ * @param {Array} props.styles Content styles to inject into the iframe.
97
+ * @param {WPElement} props.children Content of the canvas, defaults to the BlockList component.
98
+ * @return {WPElement} Block Breadcrumb.
99
+ */
100
+ function BlockCanvas( { children, height, styles } ) {
101
+ return (
102
+ <ExperimentalBlockCanvas height={ height } styles={ styles }>
103
+ { children }
104
+ </ExperimentalBlockCanvas>
105
+ );
106
+ }
107
+
108
+ export default BlockCanvas;
@@ -39,7 +39,7 @@ function BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {
39
39
  getBlockName,
40
40
  getBlockEditingMode,
41
41
  } = select( blockEditorStore );
42
- return getClientIdsOfDescendants( [ topLevelLockedBlock ] ).filter(
42
+ return getClientIdsOfDescendants( topLevelLockedBlock ).filter(
43
43
  ( clientId ) =>
44
44
  getBlockName( clientId ) !== 'core/list-item' &&
45
45
  getBlockEditingMode( clientId ) === 'contentOnly'
@@ -300,6 +300,10 @@ const BlockInspectorSingleBlock = ( { clientId, blockName } ) => {
300
300
  label={ __( 'Border' ) }
301
301
  />
302
302
  <InspectorControls.Slot group="styles" />
303
+ <InspectorControls.Slot
304
+ group="background"
305
+ label={ __( 'Background' ) }
306
+ />
303
307
  <PositionControls />
304
308
  <div>
305
309
  <AdvancedControls />