@wordpress/block-editor 9.8.1-next.957ca95e4c.0 → 10.0.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 (456) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +13 -1
  3. package/build/components/alignment-control/ui.js +6 -5
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-actions/index.js +5 -9
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.js +5 -5
  8. package/build/components/block-alignment-control/ui.js.map +1 -1
  9. package/build/components/block-content-overlay/index.js +2 -4
  10. package/build/components/block-content-overlay/index.js.map +1 -1
  11. package/build/components/block-draggable/draggable-chip.js +2 -1
  12. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  13. package/build/components/block-edit/edit.js +1 -1
  14. package/build/components/block-edit/edit.js.map +1 -1
  15. package/build/components/block-inspector/index.js +125 -17
  16. package/build/components/block-inspector/index.js.map +1 -1
  17. package/build/components/block-list/block.js +40 -9
  18. package/build/components/block-list/block.js.map +1 -1
  19. package/build/components/block-list/index.js +4 -4
  20. package/build/components/block-list/index.js.map +1 -1
  21. package/build/components/block-list/use-block-props/index.js +14 -11
  22. package/build/components/block-list/use-block-props/index.js.map +1 -1
  23. package/build/components/block-list/use-block-props/use-block-class-names.js +3 -2
  24. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  25. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -9
  26. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-is-hovered.js +1 -2
  28. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  29. package/build/components/block-list/use-in-between-inserter.js +7 -12
  30. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  31. package/build/components/block-list-appender/index.js +20 -21
  32. package/build/components/block-list-appender/index.js.map +1 -1
  33. package/build/components/block-list-appender/index.native.js +1 -7
  34. package/build/components/block-list-appender/index.native.js.map +1 -1
  35. package/build/components/block-lock/use-block-lock.js +3 -1
  36. package/build/components/block-lock/use-block-lock.js.map +1 -1
  37. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +20 -10
  38. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  39. package/build/components/block-mover/button.js +4 -6
  40. package/build/components/block-mover/button.js.map +1 -1
  41. package/build/components/block-mover/index.js +4 -6
  42. package/build/components/block-mover/index.js.map +1 -1
  43. package/build/components/block-mover/index.native.js +24 -8
  44. package/build/components/block-mover/index.native.js.map +1 -1
  45. package/build/components/block-popover/inbetween.js +58 -16
  46. package/build/components/block-popover/inbetween.js.map +1 -1
  47. package/build/components/block-popover/index.js +3 -2
  48. package/build/components/block-popover/index.js.map +1 -1
  49. package/build/components/block-preview/auto.js +4 -2
  50. package/build/components/block-preview/auto.js.map +1 -1
  51. package/build/components/block-settings-menu/block-settings-dropdown.js +3 -1
  52. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  53. package/build/components/block-settings-menu-controls/index.js +3 -1
  54. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  55. package/build/components/block-styles/preview-panel.js +7 -1
  56. package/build/components/block-styles/preview-panel.js.map +1 -1
  57. package/build/components/block-switcher/block-transformations-menu.js +114 -25
  58. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  59. package/build/components/block-toolbar/index.js +9 -8
  60. package/build/components/block-toolbar/index.js.map +1 -1
  61. package/build/components/block-tools/block-contextual-toolbar.js +3 -2
  62. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  63. package/build/components/block-tools/block-selection-button.js +13 -5
  64. package/build/components/block-tools/block-selection-button.js.map +1 -1
  65. package/build/components/block-tools/index.js +33 -15
  66. package/build/components/block-tools/index.js.map +1 -1
  67. package/build/components/block-tools/insertion-point.js +4 -9
  68. package/build/components/block-tools/insertion-point.js.map +1 -1
  69. package/build/components/block-tools/selected-block-popover.js +9 -8
  70. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  71. package/build/components/block-tools/use-block-toolbar-popover-props.js +13 -8
  72. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  73. package/build/components/block-tools/zoom-out-mode-inserters.js +71 -0
  74. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -0
  75. package/build/components/block-vertical-alignment-control/ui.js +5 -2
  76. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  77. package/build/components/colors-gradients/dropdown.js +1 -1
  78. package/build/components/colors-gradients/dropdown.js.map +1 -1
  79. package/build/components/iframe/index.js +31 -4
  80. package/build/components/iframe/index.js.map +1 -1
  81. package/build/components/inner-blocks/default-block-appender.js +1 -7
  82. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  83. package/build/components/inner-blocks/index.js +2 -2
  84. package/build/components/inner-blocks/index.js.map +1 -1
  85. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -5
  86. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  87. package/build/components/inner-blocks/use-nested-settings-update.js +1 -1
  88. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  89. package/build/components/inserter/index.js +3 -6
  90. package/build/components/inserter/index.js.map +1 -1
  91. package/build/components/inserter/library.js +14 -3
  92. package/build/components/inserter/library.js.map +1 -1
  93. package/build/components/inserter/menu.js +21 -8
  94. package/build/components/inserter/menu.js.map +1 -1
  95. package/build/components/inserter/preview-panel.js +1 -1
  96. package/build/components/inserter/preview-panel.js.map +1 -1
  97. package/build/components/inserter/tabs.js +11 -4
  98. package/build/components/inserter/tabs.js.map +1 -1
  99. package/build/components/link-control/link-preview.js +1 -1
  100. package/build/components/link-control/link-preview.js.map +1 -1
  101. package/build/components/link-control/search-input.js +6 -3
  102. package/build/components/link-control/search-input.js.map +1 -1
  103. package/build/components/link-control/search-item.js +36 -5
  104. package/build/components/link-control/search-item.js.map +1 -1
  105. package/build/components/list-view/block.js +23 -11
  106. package/build/components/list-view/block.js.map +1 -1
  107. package/build/components/list-view/branch.js +19 -2
  108. package/build/components/list-view/branch.js.map +1 -1
  109. package/build/components/list-view/index.js +8 -4
  110. package/build/components/list-view/index.js.map +1 -1
  111. package/build/components/list-view/use-block-selection.js +0 -1
  112. package/build/components/list-view/use-block-selection.js.map +1 -1
  113. package/build/components/provider/use-block-sync.js +1 -7
  114. package/build/components/provider/use-block-sync.js.map +1 -1
  115. package/build/components/publish-date-time-picker/index.js +1 -1
  116. package/build/components/publish-date-time-picker/index.js.map +1 -1
  117. package/build/components/rich-text/index.js +27 -19
  118. package/build/components/rich-text/index.js.map +1 -1
  119. package/build/components/rich-text/index.native.js +11 -20
  120. package/build/components/rich-text/index.native.js.map +1 -1
  121. package/build/components/text-decoration-control/index.js +1 -1
  122. package/build/components/text-decoration-control/index.js.map +1 -1
  123. package/build/components/text-transform-control/index.js +1 -1
  124. package/build/components/text-transform-control/index.js.map +1 -1
  125. package/build/components/tool-selector/index.js +6 -11
  126. package/build/components/tool-selector/index.js.map +1 -1
  127. package/build/components/url-popover/index.js +1 -1
  128. package/build/components/url-popover/index.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +7 -4
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-moving-animation/index.js +9 -28
  132. package/build/components/use-moving-animation/index.js.map +1 -1
  133. package/build/components/writing-flow/use-select-all.js +1 -7
  134. package/build/components/writing-flow/use-select-all.js.map +1 -1
  135. package/build/hooks/align.js +14 -2
  136. package/build/hooks/align.js.map +1 -1
  137. package/build/hooks/color-panel.js +2 -1
  138. package/build/hooks/color-panel.js.map +1 -1
  139. package/build/hooks/content-lock-ui.js +145 -0
  140. package/build/hooks/content-lock-ui.js.map +1 -0
  141. package/build/hooks/duotone.js +8 -1
  142. package/build/hooks/duotone.js.map +1 -1
  143. package/build/hooks/index.js +14 -0
  144. package/build/hooks/index.js.map +1 -1
  145. package/build/hooks/layout.js +11 -9
  146. package/build/hooks/layout.js.map +1 -1
  147. package/build/hooks/metadata-name.js +55 -0
  148. package/build/hooks/metadata-name.js.map +1 -0
  149. package/build/hooks/metadata.js +65 -0
  150. package/build/hooks/metadata.js.map +1 -0
  151. package/build/hooks/use-typography-props.js +51 -0
  152. package/build/hooks/use-typography-props.js.map +1 -0
  153. package/build/hooks/utils.js +3 -1
  154. package/build/hooks/utils.js.map +1 -1
  155. package/build/index.js +7 -0
  156. package/build/index.js.map +1 -1
  157. package/build/layouts/constrained.js +59 -20
  158. package/build/layouts/constrained.js.map +1 -1
  159. package/build/store/actions.js +65 -21
  160. package/build/store/actions.js.map +1 -1
  161. package/build/store/reducer.js +39 -18
  162. package/build/store/reducer.js.map +1 -1
  163. package/build/store/selectors.js +95 -9
  164. package/build/store/selectors.js.map +1 -1
  165. package/build/utils/parse-css-unit-to-px.js +1 -1
  166. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  167. package/build-module/components/alignment-control/ui.js +6 -5
  168. package/build-module/components/alignment-control/ui.js.map +1 -1
  169. package/build-module/components/block-actions/index.js +5 -8
  170. package/build-module/components/block-actions/index.js.map +1 -1
  171. package/build-module/components/block-alignment-control/ui.js +5 -5
  172. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  173. package/build-module/components/block-content-overlay/index.js +2 -4
  174. package/build-module/components/block-content-overlay/index.js.map +1 -1
  175. package/build-module/components/block-draggable/draggable-chip.js +2 -1
  176. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  177. package/build-module/components/block-edit/edit.js +1 -1
  178. package/build-module/components/block-edit/edit.js.map +1 -1
  179. package/build-module/components/block-inspector/index.js +127 -19
  180. package/build-module/components/block-inspector/index.js.map +1 -1
  181. package/build-module/components/block-list/block.js +41 -9
  182. package/build-module/components/block-list/block.js.map +1 -1
  183. package/build-module/components/block-list/index.js +4 -4
  184. package/build-module/components/block-list/index.js.map +1 -1
  185. package/build-module/components/block-list/use-block-props/index.js +13 -11
  186. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  187. package/build-module/components/block-list/use-block-props/use-block-class-names.js +3 -2
  188. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  189. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -8
  190. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  191. package/build-module/components/block-list/use-block-props/use-is-hovered.js +1 -2
  192. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  193. package/build-module/components/block-list/use-in-between-inserter.js +7 -12
  194. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  195. package/build-module/components/block-list-appender/index.js +20 -20
  196. package/build-module/components/block-list-appender/index.js.map +1 -1
  197. package/build-module/components/block-list-appender/index.native.js +1 -6
  198. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  199. package/build-module/components/block-lock/use-block-lock.js +3 -1
  200. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  201. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +20 -9
  202. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  203. package/build-module/components/block-mover/button.js +4 -5
  204. package/build-module/components/block-mover/button.js.map +1 -1
  205. package/build-module/components/block-mover/index.js +4 -5
  206. package/build-module/components/block-mover/index.js.map +1 -1
  207. package/build-module/components/block-mover/index.native.js +24 -7
  208. package/build-module/components/block-mover/index.native.js.map +1 -1
  209. package/build-module/components/block-popover/inbetween.js +59 -17
  210. package/build-module/components/block-popover/inbetween.js.map +1 -1
  211. package/build-module/components/block-popover/index.js +3 -2
  212. package/build-module/components/block-popover/index.js.map +1 -1
  213. package/build-module/components/block-preview/auto.js +4 -2
  214. package/build-module/components/block-preview/auto.js.map +1 -1
  215. package/build-module/components/block-settings-menu/block-settings-dropdown.js +3 -1
  216. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  217. package/build-module/components/block-settings-menu-controls/index.js +3 -1
  218. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  219. package/build-module/components/block-styles/preview-panel.js +6 -1
  220. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  221. package/build-module/components/block-switcher/block-transformations-menu.js +115 -27
  222. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  223. package/build-module/components/block-toolbar/index.js +9 -8
  224. package/build-module/components/block-toolbar/index.js.map +1 -1
  225. package/build-module/components/block-tools/block-contextual-toolbar.js +3 -2
  226. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  227. package/build-module/components/block-tools/block-selection-button.js +12 -5
  228. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  229. package/build-module/components/block-tools/index.js +30 -15
  230. package/build-module/components/block-tools/index.js.map +1 -1
  231. package/build-module/components/block-tools/insertion-point.js +4 -9
  232. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  233. package/build-module/components/block-tools/selected-block-popover.js +9 -8
  234. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  235. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +13 -8
  236. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  237. package/build-module/components/block-tools/zoom-out-mode-inserters.js +59 -0
  238. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -0
  239. package/build-module/components/block-vertical-alignment-control/ui.js +5 -2
  240. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  241. package/build-module/components/colors-gradients/dropdown.js +1 -1
  242. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  243. package/build-module/components/iframe/index.js +32 -5
  244. package/build-module/components/iframe/index.js.map +1 -1
  245. package/build-module/components/inner-blocks/default-block-appender.js +1 -6
  246. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  247. package/build-module/components/inner-blocks/index.js +2 -2
  248. package/build-module/components/inner-blocks/index.js.map +1 -1
  249. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -5
  250. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  251. package/build-module/components/inner-blocks/use-nested-settings-update.js +1 -1
  252. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  253. package/build-module/components/inserter/index.js +3 -6
  254. package/build-module/components/inserter/index.js.map +1 -1
  255. package/build-module/components/inserter/library.js +14 -3
  256. package/build-module/components/inserter/library.js.map +1 -1
  257. package/build-module/components/inserter/menu.js +20 -8
  258. package/build-module/components/inserter/menu.js.map +1 -1
  259. package/build-module/components/inserter/preview-panel.js +1 -1
  260. package/build-module/components/inserter/preview-panel.js.map +1 -1
  261. package/build-module/components/inserter/tabs.js +11 -4
  262. package/build-module/components/inserter/tabs.js.map +1 -1
  263. package/build-module/components/link-control/link-preview.js +1 -1
  264. package/build-module/components/link-control/link-preview.js.map +1 -1
  265. package/build-module/components/link-control/search-input.js +6 -2
  266. package/build-module/components/link-control/search-input.js.map +1 -1
  267. package/build-module/components/link-control/search-item.js +37 -6
  268. package/build-module/components/link-control/search-item.js.map +1 -1
  269. package/build-module/components/list-view/block.js +23 -11
  270. package/build-module/components/list-view/block.js.map +1 -1
  271. package/build-module/components/list-view/branch.js +19 -3
  272. package/build-module/components/list-view/branch.js.map +1 -1
  273. package/build-module/components/list-view/index.js +8 -4
  274. package/build-module/components/list-view/index.js.map +1 -1
  275. package/build-module/components/list-view/use-block-selection.js +0 -1
  276. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  277. package/build-module/components/provider/use-block-sync.js +1 -6
  278. package/build-module/components/provider/use-block-sync.js.map +1 -1
  279. package/build-module/components/publish-date-time-picker/index.js +1 -1
  280. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  281. package/build-module/components/rich-text/index.js +27 -18
  282. package/build-module/components/rich-text/index.js.map +1 -1
  283. package/build-module/components/rich-text/index.native.js +11 -18
  284. package/build-module/components/rich-text/index.native.js.map +1 -1
  285. package/build-module/components/text-decoration-control/index.js +1 -1
  286. package/build-module/components/text-decoration-control/index.js.map +1 -1
  287. package/build-module/components/text-transform-control/index.js +1 -1
  288. package/build-module/components/text-transform-control/index.js.map +1 -1
  289. package/build-module/components/tool-selector/index.js +6 -11
  290. package/build-module/components/tool-selector/index.js.map +1 -1
  291. package/build-module/components/url-popover/index.js +1 -1
  292. package/build-module/components/url-popover/index.js.map +1 -1
  293. package/build-module/components/use-block-drop-zone/index.js +7 -4
  294. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  295. package/build-module/components/use-moving-animation/index.js +9 -28
  296. package/build-module/components/use-moving-animation/index.js.map +1 -1
  297. package/build-module/components/writing-flow/use-select-all.js +1 -6
  298. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  299. package/build-module/hooks/align.js +12 -2
  300. package/build-module/hooks/align.js.map +1 -1
  301. package/build-module/hooks/color-panel.js +2 -1
  302. package/build-module/hooks/color-panel.js.map +1 -1
  303. package/build-module/hooks/content-lock-ui.js +128 -0
  304. package/build-module/hooks/content-lock-ui.js.map +1 -0
  305. package/build-module/hooks/duotone.js +6 -1
  306. package/build-module/hooks/duotone.js.map +1 -1
  307. package/build-module/hooks/index.js +4 -0
  308. package/build-module/hooks/index.js.map +1 -1
  309. package/build-module/hooks/layout.js +11 -9
  310. package/build-module/hooks/layout.js.map +1 -1
  311. package/build-module/hooks/metadata-name.js +45 -0
  312. package/build-module/hooks/metadata-name.js.map +1 -0
  313. package/build-module/hooks/metadata.js +50 -0
  314. package/build-module/hooks/metadata.js.map +1 -0
  315. package/build-module/hooks/use-typography-props.js +38 -0
  316. package/build-module/hooks/use-typography-props.js.map +1 -0
  317. package/build-module/hooks/utils.js +4 -2
  318. package/build-module/hooks/utils.js.map +1 -1
  319. package/build-module/index.js +1 -1
  320. package/build-module/index.js.map +1 -1
  321. package/build-module/layouts/constrained.js +61 -22
  322. package/build-module/layouts/constrained.js.map +1 -1
  323. package/build-module/store/actions.js +58 -20
  324. package/build-module/store/actions.js.map +1 -1
  325. package/build-module/store/reducer.js +37 -18
  326. package/build-module/store/reducer.js.map +1 -1
  327. package/build-module/store/selectors.js +80 -9
  328. package/build-module/store/selectors.js.map +1 -1
  329. package/build-module/utils/parse-css-unit-to-px.js +1 -1
  330. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  331. package/build-style/style-rtl.css +95 -45
  332. package/build-style/style.css +95 -45
  333. package/package.json +28 -28
  334. package/src/components/alignment-control/test/__snapshots__/index.js.snap +137 -108
  335. package/src/components/alignment-control/test/index.js +124 -33
  336. package/src/components/alignment-control/ui.js +8 -3
  337. package/src/components/block-actions/index.js +9 -8
  338. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +108 -65
  339. package/src/components/block-alignment-control/test/index.js +95 -31
  340. package/src/components/block-alignment-control/ui.js +2 -2
  341. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +28 -26
  342. package/src/components/block-compare/test/block-view.js +3 -3
  343. package/src/components/block-content-overlay/index.js +2 -6
  344. package/src/components/block-content-overlay/style.scss +24 -3
  345. package/src/components/block-draggable/draggable-chip.js +4 -1
  346. package/src/components/block-edit/edit.js +5 -1
  347. package/src/components/block-edit/test/edit.js +23 -21
  348. package/src/components/block-icon/test/__snapshots__/index.js.snap +22 -0
  349. package/src/components/block-icon/test/index.js +31 -16
  350. package/src/components/block-inspector/index.js +126 -12
  351. package/src/components/block-inspector/style.scss +7 -1
  352. package/src/components/block-list/block.js +53 -13
  353. package/src/components/block-list/index.js +4 -4
  354. package/src/components/block-list/style.scss +39 -12
  355. package/src/components/block-list/test/block-list-context.native.js +11 -13
  356. package/src/components/block-list/use-block-props/index.js +10 -10
  357. package/src/components/block-list/use-block-props/use-block-class-names.js +4 -1
  358. package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -8
  359. package/src/components/block-list/use-block-props/use-is-hovered.js +2 -2
  360. package/src/components/block-list/use-in-between-inserter.js +11 -13
  361. package/src/components/block-list-appender/index.js +27 -18
  362. package/src/components/block-list-appender/index.native.js +3 -6
  363. package/src/components/block-lock/use-block-lock.js +2 -0
  364. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +15 -9
  365. package/src/components/block-mover/button.js +6 -5
  366. package/src/components/block-mover/index.js +8 -7
  367. package/src/components/block-mover/index.native.js +20 -13
  368. package/src/components/block-popover/inbetween.js +85 -21
  369. package/src/components/block-popover/index.js +3 -2
  370. package/src/components/block-popover/style.scss +3 -4
  371. package/src/components/block-preview/auto.js +4 -2
  372. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  373. package/src/components/block-settings-menu-controls/README.md +9 -0
  374. package/src/components/block-settings-menu-controls/index.js +13 -2
  375. package/src/components/block-styles/preview-panel.js +3 -0
  376. package/src/components/block-switcher/block-transformations-menu.js +127 -33
  377. package/src/components/block-switcher/style.scss +4 -2
  378. package/src/components/block-title/test/index.js +28 -25
  379. package/src/components/block-toolbar/index.js +27 -17
  380. package/src/components/block-tools/block-contextual-toolbar.js +10 -3
  381. package/src/components/block-tools/block-selection-button.js +35 -16
  382. package/src/components/block-tools/index.js +40 -24
  383. package/src/components/block-tools/insertion-point.js +3 -7
  384. package/src/components/block-tools/selected-block-popover.js +9 -7
  385. package/src/components/block-tools/style.scss +5 -0
  386. package/src/components/block-tools/use-block-toolbar-popover-props.js +19 -6
  387. package/src/components/block-tools/zoom-out-mode-inserters.js +57 -0
  388. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +91 -51
  389. package/src/components/block-vertical-alignment-control/test/index.js +92 -23
  390. package/src/components/block-vertical-alignment-control/ui.js +3 -2
  391. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -12
  392. package/src/components/colors/test/with-colors.js +37 -12
  393. package/src/components/colors-gradients/dropdown.js +1 -1
  394. package/src/components/contrast-checker/test/index.js +135 -116
  395. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +39 -57
  396. package/src/components/default-block-appender/test/index.js +32 -18
  397. package/src/components/font-sizes/README.MD +9 -0
  398. package/src/components/iframe/index.js +64 -5
  399. package/src/components/inner-blocks/README.md +2 -1
  400. package/src/components/inner-blocks/default-block-appender.js +1 -6
  401. package/src/components/inner-blocks/index.js +3 -2
  402. package/src/components/inner-blocks/use-inner-block-template-sync.js +9 -5
  403. package/src/components/inner-blocks/use-nested-settings-update.js +3 -1
  404. package/src/components/inserter/index.js +2 -8
  405. package/src/components/inserter/library.js +11 -5
  406. package/src/components/inserter/menu.js +42 -29
  407. package/src/components/inserter/preview-panel.js +1 -1
  408. package/src/components/inserter/stories/fixtures.js +44 -0
  409. package/src/components/inserter/stories/index.js +90 -0
  410. package/src/components/inserter/style.scss +21 -27
  411. package/src/components/inserter/tabs.js +8 -4
  412. package/src/components/link-control/link-preview.js +5 -3
  413. package/src/components/link-control/search-input.js +2 -2
  414. package/src/components/link-control/search-item.js +39 -7
  415. package/src/components/list-view/block.js +29 -10
  416. package/src/components/list-view/branch.js +27 -4
  417. package/src/components/list-view/index.js +8 -3
  418. package/src/components/list-view/use-block-selection.js +0 -1
  419. package/src/components/media-placeholder/test/index.js +2 -2
  420. package/src/components/media-replace-flow/README.md +1 -1
  421. package/src/components/provider/use-block-sync.js +3 -6
  422. package/src/components/publish-date-time-picker/index.js +1 -1
  423. package/src/components/rich-text/index.js +24 -35
  424. package/src/components/rich-text/index.native.js +8 -21
  425. package/src/components/text-decoration-control/index.js +1 -1
  426. package/src/components/text-transform-control/index.js +1 -1
  427. package/src/components/tool-selector/index.js +9 -11
  428. package/src/components/url-input/test/button.js +145 -71
  429. package/src/components/url-popover/index.js +1 -1
  430. package/src/components/url-popover/test/__snapshots__/index.js.snap +108 -80
  431. package/src/components/url-popover/test/index.js +14 -12
  432. package/src/components/use-block-drop-zone/index.js +15 -4
  433. package/src/components/use-moving-animation/index.js +9 -24
  434. package/src/components/warning/test/__snapshots__/index.js.snap +11 -14
  435. package/src/components/warning/test/index.js +32 -29
  436. package/src/components/writing-flow/use-select-all.js +4 -6
  437. package/src/hooks/align.js +22 -13
  438. package/src/hooks/color-panel.js +2 -1
  439. package/src/hooks/content-lock-ui.js +161 -0
  440. package/src/hooks/duotone.js +13 -1
  441. package/src/hooks/index.js +4 -0
  442. package/src/hooks/layout.js +25 -19
  443. package/src/hooks/layout.scss +7 -1
  444. package/src/hooks/metadata-name.js +48 -0
  445. package/src/hooks/metadata.js +64 -0
  446. package/src/hooks/test/use-typography-props.js +28 -0
  447. package/src/hooks/use-typography-props.js +41 -0
  448. package/src/hooks/utils.js +2 -11
  449. package/src/index.js +1 -0
  450. package/src/layouts/constrained.js +73 -24
  451. package/src/store/actions.js +45 -4
  452. package/src/store/reducer.js +33 -21
  453. package/src/store/selectors.js +98 -19
  454. package/src/store/test/reducer.js +8 -5
  455. package/src/utils/parse-css-unit-to-px.js +1 -1
  456. package/src/components/colors/test/__snapshots__/with-colors.js.snap +0 -23
@@ -16,8 +16,20 @@ $block-inserter-tabs-height: 44px;
16
16
  }
17
17
  }
18
18
 
19
- .block-editor-inserter__content {
19
+ .block-editor-inserter__main-area {
20
20
  position: relative;
21
+ display: flex;
22
+ flex-direction: column;
23
+ height: 100%;
24
+ gap: $grid-unit-20;
25
+ width: auto;
26
+ @include break-medium {
27
+ width: $block-inserter-width;
28
+ }
29
+
30
+ &.show-as-tabs {
31
+ gap: 0;
32
+ }
21
33
  }
22
34
 
23
35
  .block-editor-inserter__popover.is-quick {
@@ -78,15 +90,6 @@ $block-inserter-tabs-height: 44px;
78
90
  overflow: visible;
79
91
  }
80
92
 
81
- .block-editor-inserter__main-area {
82
- width: auto;
83
- overflow-y: auto;
84
- height: 100%;
85
- @include break-medium {
86
- width: $block-inserter-width;
87
- }
88
- }
89
-
90
93
  .block-editor-inserter__inline-elements {
91
94
  margin-top: -1px;
92
95
  }
@@ -100,11 +103,7 @@ $block-inserter-tabs-height: 44px;
100
103
  }
101
104
 
102
105
  .block-editor-inserter__search {
103
- background: $white;
104
106
  padding: $grid-unit-20 $grid-unit-20 0 $grid-unit-20;
105
- position: sticky;
106
- top: 0;
107
- z-index: z-index(".block-editor-inserter__search");
108
107
 
109
108
  .components-search-control__icon {
110
109
  right: $grid-unit-10 + ($grid-unit-60 - $icon-size) * 0.5;
@@ -116,15 +115,12 @@ $block-inserter-tabs-height: 44px;
116
115
  }
117
116
 
118
117
  .block-editor-inserter__tabs {
118
+ flex-grow: 1;
119
119
  display: flex;
120
120
  flex-direction: column;
121
+ overflow: hidden;
121
122
 
122
123
  .components-tab-panel__tabs {
123
- position: sticky;
124
- // Computed based off the search input height and paddings
125
- top: $grid-unit-20 + $grid-unit-60;
126
- background: $white;
127
- z-index: z-index(".block-editor-inserter__tabs .components-tab-panel__tabs");
128
124
  border-bottom: $border-width solid $gray-300;
129
125
 
130
126
  .components-tab-panel__tabs-item {
@@ -137,12 +133,15 @@ $block-inserter-tabs-height: 44px;
137
133
  display: flex;
138
134
  flex-grow: 1;
139
135
  flex-direction: column;
140
- // Make a stacking context that keeps all descendents behind the sticky tabs
141
- position: relative;
142
- z-index: z-index(".block-editor-inserter__tabs .components-tab-panel__tab-content");
136
+ overflow-y: auto;
143
137
  }
144
138
  }
145
139
 
140
+ .block-editor-inserter__no-tab-container {
141
+ overflow-y: auto;
142
+ flex-grow: 1;
143
+ }
144
+
146
145
  .block-editor-inserter__panel-header {
147
146
  display: inline-flex;
148
147
  align-items: center;
@@ -175,11 +174,6 @@ $block-inserter-tabs-height: 44px;
175
174
  border: none;
176
175
  }
177
176
 
178
- .block-editor-inserter__block-list {
179
- flex-grow: 1;
180
- position: relative;
181
- }
182
-
183
177
  .block-editor-inserter__reusable-blocks-panel {
184
178
  position: relative;
185
179
  text-align: right;
@@ -26,20 +26,24 @@ function InserterTabs( {
26
26
  showPatterns = false,
27
27
  showReusableBlocks = false,
28
28
  onSelect,
29
+ prioritizePatterns,
29
30
  } ) {
30
31
  const tabs = useMemo( () => {
31
- const tempTabs = [ blocksTab ];
32
-
33
- if ( showPatterns ) {
32
+ const tempTabs = [];
33
+ if ( prioritizePatterns && showPatterns ) {
34
+ tempTabs.push( patternsTab );
35
+ }
36
+ tempTabs.push( blocksTab );
37
+ if ( ! prioritizePatterns && showPatterns ) {
34
38
  tempTabs.push( patternsTab );
35
39
  }
36
-
37
40
  if ( showReusableBlocks ) {
38
41
  tempTabs.push( reusableBlocksTab );
39
42
  }
40
43
 
41
44
  return tempTabs;
42
45
  }, [
46
+ prioritizePatterns,
43
47
  blocksTab,
44
48
  showPatterns,
45
49
  patternsTab,
@@ -123,9 +123,11 @@ export default function LinkPreview( {
123
123
  <ViewerSlot fillProps={ value } />
124
124
  </div>
125
125
 
126
- { ( ( hasRichData &&
127
- ( richData?.image || richData?.description ) ) ||
128
- isFetching ) && (
126
+ { !! (
127
+ ( hasRichData &&
128
+ ( richData?.image || richData?.description ) ) ||
129
+ isFetching
130
+ ) && (
129
131
  <div className="block-editor-link-control__search-item-bottom">
130
132
  { ( richData?.image || isFetching ) && (
131
133
  <div
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { omit } from 'lodash';
5
4
  import classnames from 'classnames';
6
5
  /**
7
6
  * WordPress dependencies
@@ -112,9 +111,10 @@ const LinkControlSearchInput = forwardRef(
112
111
  allowDirectEntry ||
113
112
  ( suggestion && Object.keys( suggestion ).length >= 1 )
114
113
  ) {
114
+ const { id, url, ...restLinkProps } = currentLink;
115
115
  onSelect(
116
116
  // Some direct entries don't have types or IDs, and we still need to clear the previous ones.
117
- { ...omit( currentLink, 'id', 'url' ), ...suggestion },
117
+ { ...restLinkProps, ...suggestion },
118
118
  suggestion
119
119
  );
120
120
  }
@@ -9,7 +9,44 @@ import classnames from 'classnames';
9
9
  import { safeDecodeURI, filterURLForDisplay } from '@wordpress/url';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { Button, TextHighlight } from '@wordpress/components';
12
- import { Icon, globe } from '@wordpress/icons';
12
+ import {
13
+ Icon,
14
+ globe,
15
+ page,
16
+ tag,
17
+ postList,
18
+ category,
19
+ file,
20
+ } from '@wordpress/icons';
21
+
22
+ const ICONS_MAP = {
23
+ post: postList,
24
+ page,
25
+ post_tag: tag,
26
+ category,
27
+ attachment: file,
28
+ };
29
+
30
+ function SearchItemIcon( { isURL, suggestion } ) {
31
+ let icon = null;
32
+
33
+ if ( isURL ) {
34
+ icon = globe;
35
+ } else if ( suggestion.type in ICONS_MAP ) {
36
+ icon = ICONS_MAP[ suggestion.type ];
37
+ }
38
+
39
+ if ( icon ) {
40
+ return (
41
+ <Icon
42
+ className="block-editor-link-control__search-item-icon"
43
+ icon={ icon }
44
+ />
45
+ );
46
+ }
47
+
48
+ return null;
49
+ }
13
50
 
14
51
  export const LinkControlSearchItem = ( {
15
52
  itemProps,
@@ -30,12 +67,7 @@ export const LinkControlSearchItem = ( {
30
67
  'is-entity': ! isURL,
31
68
  } ) }
32
69
  >
33
- { isURL && (
34
- <Icon
35
- className="block-editor-link-control__search-item-icon"
36
- icon={ globe }
37
- />
38
- ) }
70
+ <SearchItemIcon suggestion={ suggestion } isURL={ isURL } />
39
71
 
40
72
  <span className="block-editor-link-control__search-item-header">
41
73
  <span className="block-editor-link-control__search-item-title">
@@ -58,11 +58,31 @@ function ListViewBlock( {
58
58
  const cellRef = useRef( null );
59
59
  const [ isHovered, setIsHovered ] = useState( false );
60
60
  const { clientId } = block;
61
+
62
+ const { isLocked, isContentLocked } = useBlockLock( clientId );
63
+ const forceSelectionContentLock = useSelect(
64
+ ( select ) => {
65
+ if ( isSelected ) {
66
+ return false;
67
+ }
68
+ if ( ! isContentLocked ) {
69
+ return false;
70
+ }
71
+ return select( blockEditorStore ).hasSelectedInnerBlock(
72
+ clientId,
73
+ true
74
+ );
75
+ },
76
+ [ isContentLocked, clientId, isSelected ]
77
+ );
78
+
61
79
  const isFirstSelectedBlock =
62
- isSelected && selectedClientIds[ 0 ] === clientId;
80
+ forceSelectionContentLock ||
81
+ ( isSelected && selectedClientIds[ 0 ] === clientId );
63
82
  const isLastSelectedBlock =
64
- isSelected &&
65
- selectedClientIds[ selectedClientIds.length - 1 ] === clientId;
83
+ forceSelectionContentLock ||
84
+ ( isSelected &&
85
+ selectedClientIds[ selectedClientIds.length - 1 ] === clientId );
66
86
 
67
87
  const { toggleBlockHighlight } = useDispatch( blockEditorStore );
68
88
 
@@ -80,7 +100,6 @@ function ListViewBlock( {
80
100
  '__experimentalToolbar',
81
101
  true
82
102
  );
83
- const { isLocked } = useBlockLock( clientId );
84
103
  const instanceId = useInstanceId( ListViewBlock );
85
104
  const descriptionId = `list-view-block-select-button__${ instanceId }`;
86
105
  const blockPositionDescription = getBlockPositionDescription(
@@ -181,7 +200,7 @@ function ListViewBlock( {
181
200
  }
182
201
 
183
202
  const classes = classnames( {
184
- 'is-selected': isSelected,
203
+ 'is-selected': isSelected || forceSelectionContentLock,
185
204
  'is-first-selected': isFirstSelectedBlock,
186
205
  'is-last-selected': isLastSelectedBlock,
187
206
  'is-branch-selected': isBranchSelected,
@@ -210,16 +229,16 @@ function ListViewBlock( {
210
229
  path={ path }
211
230
  id={ `list-view-block-${ clientId }` }
212
231
  data-block={ clientId }
213
- isExpanded={ isExpanded }
214
- aria-selected={ !! isSelected }
232
+ isExpanded={ isContentLocked ? undefined : isExpanded }
233
+ aria-selected={ !! isSelected || forceSelectionContentLock }
215
234
  >
216
235
  <TreeGridCell
217
236
  className="block-editor-list-view-block__contents-cell"
218
237
  colSpan={ colSpan }
219
238
  ref={ cellRef }
220
239
  aria-label={ blockAriaLabel }
221
- aria-selected={ !! isSelected }
222
- aria-expanded={ isExpanded }
240
+ aria-selected={ !! isSelected || forceSelectionContentLock }
241
+ aria-expanded={ isContentLocked ? undefined : isExpanded }
223
242
  aria-describedby={ descriptionId }
224
243
  >
225
244
  { ( { ref, tabIndex, onFocus } ) => (
@@ -283,7 +302,7 @@ function ListViewBlock( {
283
302
  { showBlockActions && (
284
303
  <TreeGridCell
285
304
  className={ listViewBlockSettingsClassName }
286
- aria-selected={ !! isSelected }
305
+ aria-selected={ !! isSelected || forceSelectionContentLock }
287
306
  >
288
307
  { ( { ref, tabIndex, onFocus } ) => (
289
308
  <BlockSettingsDropdown
@@ -2,14 +2,18 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { memo } from '@wordpress/element';
5
- import { AsyncModeProvider } from '@wordpress/data';
5
+ import { AsyncModeProvider, useSelect } from '@wordpress/data';
6
6
 
7
+ /**
8
+ * Internal dependencies
9
+ */
7
10
  /**
8
11
  * Internal dependencies
9
12
  */
10
13
  import ListViewBlock from './block';
11
14
  import { useListViewContext } from './context';
12
15
  import { isClientIdSelected } from './utils';
16
+ import { store as blockEditorStore } from '../../store';
13
17
 
14
18
  /**
15
19
  * Given a block, returns the total number of blocks in that subtree. This is used to help determine
@@ -86,10 +90,27 @@ function ListViewBranch( props ) {
86
90
  listPosition = 0,
87
91
  fixedListWindow,
88
92
  isExpanded,
93
+ parentId,
94
+ shouldShowInnerBlocks = true,
89
95
  } = props;
90
96
 
97
+ const isContentLocked = useSelect(
98
+ ( select ) => {
99
+ return !! (
100
+ parentId &&
101
+ select( blockEditorStore ).getTemplateLock( parentId ) ===
102
+ 'noContent'
103
+ );
104
+ },
105
+ [ parentId ]
106
+ );
107
+
91
108
  const { expandedState, draggedClientIds } = useListViewContext();
92
109
 
110
+ if ( isContentLocked ) {
111
+ return null;
112
+ }
113
+
93
114
  const filteredBlocks = blocks.filter( Boolean );
94
115
  const blockCount = filteredBlocks.length;
95
116
  let nextPosition = listPosition;
@@ -118,9 +139,10 @@ function ListViewBranch( props ) {
118
139
  : `${ position }`;
119
140
  const hasNestedBlocks = !! innerBlocks?.length;
120
141
 
121
- const shouldExpand = hasNestedBlocks
122
- ? expandedState[ clientId ] ?? isExpanded
123
- : undefined;
142
+ const shouldExpand =
143
+ hasNestedBlocks && shouldShowInnerBlocks
144
+ ? expandedState[ clientId ] ?? isExpanded
145
+ : undefined;
124
146
 
125
147
  const isDragged = !! draggedClientIds?.includes( clientId );
126
148
 
@@ -161,6 +183,7 @@ function ListViewBranch( props ) {
161
183
  ) }
162
184
  { hasNestedBlocks && shouldExpand && ! isDragged && (
163
185
  <ListViewBranch
186
+ parentId={ clientId }
164
187
  blocks={ innerBlocks }
165
188
  selectBlock={ selectBlock }
166
189
  showBlockMovers={ showBlockMovers }
@@ -64,16 +64,20 @@ function ListView(
64
64
  const { clientIdsTree, draggedClientIds, selectedClientIds } =
65
65
  useListViewClientIds( blocks );
66
66
 
67
- const { visibleBlockCount } = useSelect(
67
+ const { visibleBlockCount, shouldShowInnerBlocks } = useSelect(
68
68
  ( select ) => {
69
- const { getGlobalBlockCount, getClientIdsOfDescendants } =
70
- select( blockEditorStore );
69
+ const {
70
+ getGlobalBlockCount,
71
+ getClientIdsOfDescendants,
72
+ __unstableGetEditorMode,
73
+ } = select( blockEditorStore );
71
74
  const draggedBlockCount =
72
75
  draggedClientIds?.length > 0
73
76
  ? getClientIdsOfDescendants( draggedClientIds ).length + 1
74
77
  : 0;
75
78
  return {
76
79
  visibleBlockCount: getGlobalBlockCount() - draggedBlockCount,
80
+ shouldShowInnerBlocks: __unstableGetEditorMode() !== 'zoom-out',
77
81
  };
78
82
  },
79
83
  [ draggedClientIds ]
@@ -193,6 +197,7 @@ function ListView(
193
197
  fixedListWindow={ fixedListWindow }
194
198
  selectedClientIds={ selectedClientIds }
195
199
  isExpanded={ isExpanded }
200
+ shouldShowInnerBlocks={ shouldShowInnerBlocks }
196
201
  />
197
202
  </ListViewContext.Provider>
198
203
  </TreeGrid>
@@ -32,7 +32,6 @@ export default function useBlockSelection() {
32
32
  const updateBlockSelection = useCallback(
33
33
  async ( event, clientId, destinationClientId ) => {
34
34
  if ( ! event?.shiftKey ) {
35
- await clearSelectedBlock();
36
35
  selectBlock( clientId );
37
36
  return;
38
37
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { mount } from 'enzyme';
4
+ import { render } from '@testing-library/react';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -13,6 +13,6 @@ jest.mock( '@wordpress/data/src/components/use-select', () => () => ( {} ) );
13
13
 
14
14
  describe( 'MediaPlaceholder', () => {
15
15
  it( 'renders successfully when allowedTypes property is not specified', () => {
16
- expect( () => mount( <MediaPlaceholder /> ) ).not.toThrow();
16
+ expect( () => render( <MediaPlaceholder multiple /> ) ).not.toThrow();
17
17
  } );
18
18
  } );
@@ -54,7 +54,7 @@ Callback used when media is replaced from the Media Library or when a new media
54
54
  Callback used when media is replaced with an URL. It is called with one argument `newURL` which is a `string` containing the new URL.
55
55
 
56
56
  - Type: `func`
57
- - Required: Yes
57
+ - Required: No
58
58
 
59
59
  ### onError
60
60
 
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { last } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -152,7 +147,9 @@ export default function useBlockSync( {
152
147
  // to allow that the consumer may apply modifications to reflect
153
148
  // back on the editor.
154
149
  if (
155
- last( pendingChanges.current.outgoing ) === controlledBlocks
150
+ pendingChanges.current.outgoing[
151
+ pendingChanges.current.outgoing.length - 1
152
+ ] === controlledBlocks
156
153
  ) {
157
154
  pendingChanges.current.outgoing = [];
158
155
  }
@@ -4,7 +4,7 @@
4
4
  import { DateTimePicker } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { forwardRef } from '@wordpress/element';
7
- import { __experimentalGetSettings as getSettings } from '@wordpress/date';
7
+ import { getSettings } from '@wordpress/date';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { omit } from 'lodash';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -61,25 +60,27 @@ export const inputEventContext = createContext();
61
60
  * @return {Object} Filtered props.
62
61
  */
63
62
  function removeNativeProps( props ) {
64
- return omit( props, [
65
- '__unstableMobileNoFocusOnMount',
66
- 'deleteEnter',
67
- 'placeholderTextColor',
68
- 'textAlign',
69
- 'selectionColor',
70
- 'tagsToEliminate',
71
- 'rootTagsToEliminate',
72
- 'disableEditingMenu',
73
- 'fontSize',
74
- 'fontFamily',
75
- 'fontWeight',
76
- 'fontStyle',
77
- 'minWidth',
78
- 'maxWidth',
79
- 'setRef',
80
- 'disableSuggestions',
81
- 'disableAutocorrection',
82
- ] );
63
+ const {
64
+ __unstableMobileNoFocusOnMount,
65
+ deleteEnter,
66
+ placeholderTextColor,
67
+ textAlign,
68
+ selectionColor,
69
+ tagsToEliminate,
70
+ rootTagsToEliminate,
71
+ disableEditingMenu,
72
+ fontSize,
73
+ fontFamily,
74
+ fontWeight,
75
+ fontStyle,
76
+ minWidth,
77
+ maxWidth,
78
+ setRef,
79
+ disableSuggestions,
80
+ disableAutocorrection,
81
+ ...restProps
82
+ } = props;
83
+ return restProps;
83
84
  }
84
85
 
85
86
  function RichTextWrapper(
@@ -331,7 +332,7 @@ function RichTextWrapper(
331
332
  }
332
333
 
333
334
  const TagName = tagName;
334
- const content = (
335
+ return (
335
336
  <>
336
337
  { isSelected && (
337
338
  <keyboardShortcutContext.Provider value={ keyboardShortcuts }>
@@ -423,19 +424,6 @@ function RichTextWrapper(
423
424
  />
424
425
  </>
425
426
  );
426
-
427
- if ( ! wrapperClassName ) {
428
- return content;
429
- }
430
-
431
- deprecated( 'wp.blockEditor.RichText wrapperClassName prop', {
432
- since: '5.4',
433
- alternative: 'className prop or create your own wrapper div',
434
- version: '6.2',
435
- } );
436
-
437
- const className = classnames( 'block-editor-rich-text', wrapperClassName );
438
- return <div className={ className }>{ content }</div>;
439
427
  }
440
428
 
441
429
  const ForwardedRichTextContainer = forwardRef( RichTextWrapper );
@@ -460,7 +448,8 @@ ForwardedRichTextContainer.Content = ( {
460
448
  const content = <RawHTML>{ value }</RawHTML>;
461
449
 
462
450
  if ( Tag ) {
463
- return <Tag { ...omit( props, [ 'format' ] ) }>{ content }</Tag>;
451
+ const { format, ...restProps } = props;
452
+ return <Tag { ...restProps }>{ content }</Tag>;
464
453
  }
465
454
 
466
455
  return content;
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { omit } from 'lodash';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -37,7 +36,6 @@ import {
37
36
  toHTMLString,
38
37
  slice,
39
38
  } from '@wordpress/rich-text';
40
- import deprecated from '@wordpress/deprecated';
41
39
  import { isURL } from '@wordpress/url';
42
40
 
43
41
  /**
@@ -59,7 +57,6 @@ import {
59
57
  } from './utils';
60
58
  import EmbedHandlerPicker from './embed-handler-picker';
61
59
 
62
- const wrapperClasses = 'block-editor-rich-text';
63
60
  const classes = 'block-editor-rich-text__editable';
64
61
 
65
62
  function RichTextWrapper(
@@ -114,6 +111,7 @@ function RichTextWrapper(
114
111
  disableSuggestions,
115
112
  disableAutocorrection,
116
113
  containerWidth,
114
+ onEnter: onCustomEnter,
117
115
  ...props
118
116
  },
119
117
  forwardedRef
@@ -345,6 +343,10 @@ function RichTextWrapper(
345
343
  }
346
344
  }
347
345
 
346
+ if ( onCustomEnter ) {
347
+ onCustomEnter();
348
+ }
349
+
348
350
  if ( multiline ) {
349
351
  if ( shiftKey ) {
350
352
  if ( ! disableLineBreaks ) {
@@ -578,7 +580,7 @@ function RichTextWrapper(
578
580
 
579
581
  const mergedRef = useMergeRefs( [ forwardedRef, fallbackRef ] );
580
582
 
581
- const content = (
583
+ return (
582
584
  <RichText
583
585
  clientId={ clientId }
584
586
  identifier={ identifier }
@@ -706,22 +708,6 @@ function RichTextWrapper(
706
708
  ) }
707
709
  </RichText>
708
710
  );
709
-
710
- if ( ! wrapperClassName ) {
711
- return content;
712
- }
713
-
714
- deprecated( 'wp.blockEditor.RichText wrapperClassName prop', {
715
- since: '5.4',
716
- alternative: 'className prop or create your own wrapper div',
717
- version: '6.2',
718
- } );
719
-
720
- return (
721
- <div className={ classnames( wrapperClasses, wrapperClassName ) }>
722
- { content }
723
- </div>
724
- );
725
711
  }
726
712
 
727
713
  const ForwardedRichTextContainer = forwardRef( RichTextWrapper );
@@ -746,7 +732,8 @@ ForwardedRichTextContainer.Content = ( {
746
732
  const content = <RawHTML>{ value }</RawHTML>;
747
733
 
748
734
  if ( Tag ) {
749
- return <Tag { ...omit( props, [ 'format' ] ) }>{ content }</Tag>;
735
+ const { format, ...restProps } = props;
736
+ return <Tag { ...restProps }>{ content }</Tag>;
750
737
  }
751
738
 
752
739
  return content;
@@ -49,7 +49,7 @@ export default function TextDecorationControl( {
49
49
  'block-editor-text-decoration-control',
50
50
  className
51
51
  ) }
52
- __experimentalIsIconGroup
52
+ __experimentalIsBorderless
53
53
  label={ __( 'Decoration' ) }
54
54
  value={ value }
55
55
  onChange={ onChange }
@@ -47,7 +47,7 @@ export default function TextTransformControl( { value, onChange, ...props } ) {
47
47
  <ToggleGroupControl
48
48
  { ...props }
49
49
  className="block-editor-text-transform-control"
50
- __experimentalIsIconGroup
50
+ __experimentalIsBorderless
51
51
  label={ __( 'Letter case' ) }
52
52
  value={ value }
53
53
  onChange={ onChange }