@wordpress/block-editor 8.5.7 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +5 -2
  3. package/build/components/block-alignment-control/constants.js +48 -0
  4. package/build/components/block-alignment-control/constants.js.map +1 -0
  5. package/build/components/block-alignment-control/ui.js +9 -40
  6. package/build/components/block-alignment-control/ui.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.native.js +92 -0
  8. package/build/components/block-alignment-control/ui.native.js.map +1 -0
  9. package/build/components/block-alignment-matrix-control/index.js +1 -6
  10. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  11. package/build/components/block-content-overlay/index.js +5 -74
  12. package/build/components/block-content-overlay/index.js.map +1 -1
  13. package/build/components/block-draggable/draggable-chip.native.js +64 -0
  14. package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
  15. package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
  16. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  17. package/build/components/block-draggable/index.native.js +484 -0
  18. package/build/components/block-draggable/index.native.js.map +1 -0
  19. package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
  20. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  21. package/build/components/block-list/block-list-context.native.js +195 -0
  22. package/build/components/block-list/block-list-context.native.js.map +1 -0
  23. package/build/components/block-list/block-list-item-cell.native.js +67 -0
  24. package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
  25. package/build/components/block-list/block-list-item.native.js +12 -9
  26. package/build/components/block-list/block-list-item.native.js.map +1 -1
  27. package/build/components/block-list/block.native.js +29 -6
  28. package/build/components/block-list/block.native.js.map +1 -1
  29. package/build/components/block-list/index.native.js +75 -23
  30. package/build/components/block-list/index.native.js.map +1 -1
  31. package/build/components/block-list/use-block-props/index.js +8 -4
  32. package/build/components/block-list/use-block-props/index.js.map +1 -1
  33. package/build/components/block-list/use-block-props/use-block-class-names.js +1 -7
  34. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  35. package/build/components/block-list/use-in-between-inserter.js +1 -1
  36. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  37. package/build/components/block-lock/modal.js +34 -4
  38. package/build/components/block-lock/modal.js.map +1 -1
  39. package/build/components/block-lock/toolbar.js +2 -1
  40. package/build/components/block-lock/toolbar.js.map +1 -1
  41. package/build/components/block-lock/use-block-lock.js +4 -1
  42. package/build/components/block-lock/use-block-lock.js.map +1 -1
  43. package/build/components/block-mobile-toolbar/index.native.js +9 -3
  44. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  45. package/build/components/block-mover/button.js +4 -4
  46. package/build/components/block-mover/button.js.map +1 -1
  47. package/build/components/block-mover/index.js +39 -65
  48. package/build/components/block-mover/index.js.map +1 -1
  49. package/build/components/block-mover/index.native.js +17 -4
  50. package/build/components/block-mover/index.native.js.map +1 -1
  51. package/build/components/block-navigation/dropdown.js +11 -5
  52. package/build/components/block-navigation/dropdown.js.map +1 -1
  53. package/build/components/block-popover/inbetween.js +191 -0
  54. package/build/components/block-popover/inbetween.js.map +1 -0
  55. package/build/components/block-popover/index.js +85 -0
  56. package/build/components/block-popover/index.js.map +1 -0
  57. package/build/components/{block-tools → block-popover}/use-popover-scroll.js +4 -1
  58. package/build/components/block-popover/use-popover-scroll.js.map +1 -0
  59. package/build/components/block-preview/index.js +1 -1
  60. package/build/components/block-preview/index.js.map +1 -1
  61. package/build/components/block-styles/index.js +1 -10
  62. package/build/components/block-styles/index.js.map +1 -1
  63. package/build/components/block-tools/back-compat.js +2 -2
  64. package/build/components/block-tools/back-compat.js.map +1 -1
  65. package/build/components/block-tools/block-selection-button.js +4 -2
  66. package/build/components/block-tools/block-selection-button.js.map +1 -1
  67. package/build/components/block-tools/index.js +5 -5
  68. package/build/components/block-tools/index.js.map +1 -1
  69. package/build/components/block-tools/insertion-point.js +14 -121
  70. package/build/components/block-tools/insertion-point.js.map +1 -1
  71. package/build/components/block-tools/selected-block-popover.js +216 -0
  72. package/build/components/block-tools/selected-block-popover.js.map +1 -0
  73. package/build/components/border-radius-control/input-controls.js +10 -3
  74. package/build/components/border-radius-control/input-controls.js.map +1 -1
  75. package/build/components/color-style-selector/index.js +9 -0
  76. package/build/components/color-style-selector/index.js.map +1 -1
  77. package/build/components/colors-gradients/dropdown.js +149 -44
  78. package/build/components/colors-gradients/dropdown.js.map +1 -1
  79. package/build/components/duotone-control/index.js +5 -1
  80. package/build/components/duotone-control/index.js.map +1 -1
  81. package/build/components/image-editor/use-save-image.js +3 -1
  82. package/build/components/image-editor/use-save-image.js.map +1 -1
  83. package/build/components/index.js +5 -23
  84. package/build/components/index.js.map +1 -1
  85. package/build/components/inserter/index.native.js +31 -9
  86. package/build/components/inserter/index.native.js.map +1 -1
  87. package/build/components/link-control/constants.js +11 -1
  88. package/build/components/link-control/constants.js.map +1 -1
  89. package/build/components/link-control/search-results.js +4 -3
  90. package/build/components/link-control/search-results.js.map +1 -1
  91. package/build/components/link-control/use-search-handler.js +4 -4
  92. package/build/components/link-control/use-search-handler.js.map +1 -1
  93. package/build/components/list-view/block.js +15 -15
  94. package/build/components/list-view/block.js.map +1 -1
  95. package/build/components/list-view/branch.js +9 -13
  96. package/build/components/list-view/branch.js.map +1 -1
  97. package/build/components/list-view/context.js +1 -4
  98. package/build/components/list-view/context.js.map +1 -1
  99. package/build/components/list-view/drop-indicator.js +0 -1
  100. package/build/components/list-view/drop-indicator.js.map +1 -1
  101. package/build/components/list-view/index.js +15 -32
  102. package/build/components/list-view/index.js.map +1 -1
  103. package/build/components/navigable-toolbar/index.js +12 -2
  104. package/build/components/navigable-toolbar/index.js.map +1 -1
  105. package/build/components/rich-text/format-toolbar-container.js +0 -1
  106. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  107. package/build/components/rich-text/index.js +1 -6
  108. package/build/components/rich-text/index.js.map +1 -1
  109. package/build/components/rich-text/index.native.js +0 -4
  110. package/build/components/rich-text/index.native.js.map +1 -1
  111. package/build/components/url-input/index.js +11 -4
  112. package/build/components/url-input/index.js.map +1 -1
  113. package/build/components/use-block-display-information/index.js +3 -1
  114. package/build/components/use-block-display-information/index.js.map +1 -1
  115. package/build/components/use-block-drop-zone/index.native.js +167 -0
  116. package/build/components/use-block-drop-zone/index.native.js.map +1 -0
  117. package/build/components/use-on-block-drop/index.native.js +95 -0
  118. package/build/components/use-on-block-drop/index.native.js.map +1 -0
  119. package/build/components/use-setting/index.js +42 -18
  120. package/build/components/use-setting/index.js.map +1 -1
  121. package/build/hooks/anchor.js.map +1 -1
  122. package/build/hooks/border.js +463 -44
  123. package/build/hooks/border.js.map +1 -1
  124. package/build/hooks/color-panel.js +14 -7
  125. package/build/hooks/color-panel.js.map +1 -1
  126. package/build/hooks/dimensions.js +2 -2
  127. package/build/hooks/dimensions.js.map +1 -1
  128. package/build/hooks/index.js +3 -1
  129. package/build/hooks/index.js.map +1 -1
  130. package/build/hooks/margin.js +64 -12
  131. package/build/hooks/margin.js.map +1 -1
  132. package/build/hooks/padding.js +60 -12
  133. package/build/hooks/padding.js.map +1 -1
  134. package/build/hooks/settings.js +32 -0
  135. package/build/hooks/settings.js.map +1 -0
  136. package/build/hooks/style.js +14 -13
  137. package/build/hooks/style.js.map +1 -1
  138. package/build/hooks/typography.js +6 -2
  139. package/build/hooks/typography.js.map +1 -1
  140. package/build/hooks/use-border-props.js +22 -32
  141. package/build/hooks/use-border-props.js.map +1 -1
  142. package/build/store/actions.js +14 -2
  143. package/build/store/actions.js.map +1 -1
  144. package/build/store/defaults.js +0 -1
  145. package/build/store/defaults.js.map +1 -1
  146. package/build/store/reducer.js +0 -26
  147. package/build/store/reducer.js.map +1 -1
  148. package/build/store/selectors.js +47 -15
  149. package/build/store/selectors.js.map +1 -1
  150. package/build-module/components/block-alignment-control/constants.js +36 -0
  151. package/build-module/components/block-alignment-control/constants.js.map +1 -0
  152. package/build-module/components/block-alignment-control/ui.js +4 -35
  153. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  154. package/build-module/components/block-alignment-control/ui.native.js +78 -0
  155. package/build-module/components/block-alignment-control/ui.native.js.map +1 -0
  156. package/build-module/components/block-alignment-matrix-control/index.js +1 -6
  157. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  158. package/build-module/components/block-content-overlay/index.js +4 -70
  159. package/build-module/components/block-content-overlay/index.js.map +1 -1
  160. package/build-module/components/block-draggable/draggable-chip.native.js +50 -0
  161. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
  162. package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
  163. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  164. package/build-module/components/block-draggable/index.native.js +449 -0
  165. package/build-module/components/block-draggable/index.native.js.map +1 -0
  166. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
  167. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  168. package/build-module/components/block-list/block-list-context.native.js +179 -0
  169. package/build-module/components/block-list/block-list-context.native.js.map +1 -0
  170. package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
  171. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
  172. package/build-module/components/block-list/block-list-item.native.js +12 -9
  173. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  174. package/build-module/components/block-list/block.native.js +28 -6
  175. package/build-module/components/block-list/block.native.js.map +1 -1
  176. package/build-module/components/block-list/index.native.js +72 -23
  177. package/build-module/components/block-list/index.native.js.map +1 -1
  178. package/build-module/components/block-list/use-block-props/index.js +9 -5
  179. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  180. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -7
  181. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  182. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  183. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  184. package/build-module/components/block-lock/modal.js +34 -5
  185. package/build-module/components/block-lock/modal.js.map +1 -1
  186. package/build-module/components/block-lock/toolbar.js +2 -1
  187. package/build-module/components/block-lock/toolbar.js.map +1 -1
  188. package/build-module/components/block-lock/use-block-lock.js +4 -1
  189. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  190. package/build-module/components/block-mobile-toolbar/index.native.js +8 -3
  191. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  192. package/build-module/components/block-mover/button.js +5 -5
  193. package/build-module/components/block-mover/button.js.map +1 -1
  194. package/build-module/components/block-mover/index.js +38 -63
  195. package/build-module/components/block-mover/index.js.map +1 -1
  196. package/build-module/components/block-mover/index.native.js +18 -5
  197. package/build-module/components/block-mover/index.native.js.map +1 -1
  198. package/build-module/components/block-navigation/dropdown.js +10 -5
  199. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  200. package/build-module/components/block-popover/inbetween.js +173 -0
  201. package/build-module/components/block-popover/inbetween.js.map +1 -0
  202. package/build-module/components/block-popover/index.js +72 -0
  203. package/build-module/components/block-popover/index.js.map +1 -0
  204. package/build-module/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  205. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -0
  206. package/build-module/components/block-preview/index.js +1 -1
  207. package/build-module/components/block-preview/index.js.map +1 -1
  208. package/build-module/components/block-styles/index.js +1 -9
  209. package/build-module/components/block-styles/index.js.map +1 -1
  210. package/build-module/components/block-tools/back-compat.js +1 -1
  211. package/build-module/components/block-tools/back-compat.js.map +1 -1
  212. package/build-module/components/block-tools/block-selection-button.js +3 -2
  213. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  214. package/build-module/components/block-tools/index.js +3 -3
  215. package/build-module/components/block-tools/index.js.map +1 -1
  216. package/build-module/components/block-tools/insertion-point.js +16 -121
  217. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  218. package/build-module/components/block-tools/selected-block-popover.js +199 -0
  219. package/build-module/components/block-tools/selected-block-popover.js.map +1 -0
  220. package/build-module/components/border-radius-control/input-controls.js +11 -4
  221. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  222. package/build-module/components/color-style-selector/index.js +6 -0
  223. package/build-module/components/color-style-selector/index.js.map +1 -1
  224. package/build-module/components/colors-gradients/dropdown.js +151 -46
  225. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  226. package/build-module/components/duotone-control/index.js +4 -1
  227. package/build-module/components/duotone-control/index.js.map +1 -1
  228. package/build-module/components/image-editor/use-save-image.js +2 -1
  229. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  230. package/build-module/components/index.js +1 -3
  231. package/build-module/components/index.js.map +1 -1
  232. package/build-module/components/inserter/index.native.js +32 -11
  233. package/build-module/components/inserter/index.native.js.map +1 -1
  234. package/build-module/components/link-control/constants.js +5 -0
  235. package/build-module/components/link-control/constants.js.map +1 -1
  236. package/build-module/components/link-control/search-results.js +3 -4
  237. package/build-module/components/link-control/search-results.js.map +1 -1
  238. package/build-module/components/link-control/use-search-handler.js +5 -5
  239. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  240. package/build-module/components/list-view/block.js +15 -16
  241. package/build-module/components/list-view/block.js.map +1 -1
  242. package/build-module/components/list-view/branch.js +9 -13
  243. package/build-module/components/list-view/branch.js.map +1 -1
  244. package/build-module/components/list-view/context.js +1 -4
  245. package/build-module/components/list-view/context.js.map +1 -1
  246. package/build-module/components/list-view/drop-indicator.js +0 -1
  247. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  248. package/build-module/components/list-view/index.js +15 -31
  249. package/build-module/components/list-view/index.js.map +1 -1
  250. package/build-module/components/navigable-toolbar/index.js +12 -2
  251. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  252. package/build-module/components/rich-text/format-toolbar-container.js +0 -1
  253. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  254. package/build-module/components/rich-text/index.js +1 -5
  255. package/build-module/components/rich-text/index.js.map +1 -1
  256. package/build-module/components/rich-text/index.native.js +0 -4
  257. package/build-module/components/rich-text/index.native.js.map +1 -1
  258. package/build-module/components/url-input/index.js +11 -4
  259. package/build-module/components/url-input/index.js.map +1 -1
  260. package/build-module/components/use-block-display-information/index.js +3 -1
  261. package/build-module/components/use-block-display-information/index.js.map +1 -1
  262. package/build-module/components/use-block-drop-zone/index.native.js +148 -0
  263. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
  264. package/build-module/components/use-on-block-drop/index.native.js +83 -0
  265. package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
  266. package/build-module/components/use-setting/index.js +43 -19
  267. package/build-module/components/use-setting/index.js.map +1 -1
  268. package/build-module/hooks/anchor.js.map +1 -1
  269. package/build-module/hooks/border.js +453 -44
  270. package/build-module/hooks/border.js.map +1 -1
  271. package/build-module/hooks/color-panel.js +11 -6
  272. package/build-module/hooks/color-panel.js.map +1 -1
  273. package/build-module/hooks/dimensions.js +5 -5
  274. package/build-module/hooks/dimensions.js.map +1 -1
  275. package/build-module/hooks/index.js +2 -1
  276. package/build-module/hooks/index.js.map +1 -1
  277. package/build-module/hooks/margin.js +61 -13
  278. package/build-module/hooks/margin.js.map +1 -1
  279. package/build-module/hooks/padding.js +57 -13
  280. package/build-module/hooks/padding.js.map +1 -1
  281. package/build-module/hooks/settings.js +29 -0
  282. package/build-module/hooks/settings.js.map +1 -0
  283. package/build-module/hooks/style.js +15 -14
  284. package/build-module/hooks/style.js.map +1 -1
  285. package/build-module/hooks/typography.js +6 -2
  286. package/build-module/hooks/typography.js.map +1 -1
  287. package/build-module/hooks/use-border-props.js +21 -30
  288. package/build-module/hooks/use-border-props.js.map +1 -1
  289. package/build-module/store/actions.js +14 -2
  290. package/build-module/store/actions.js.map +1 -1
  291. package/build-module/store/defaults.js +0 -1
  292. package/build-module/store/defaults.js.map +1 -1
  293. package/build-module/store/reducer.js +0 -24
  294. package/build-module/store/reducer.js.map +1 -1
  295. package/build-module/store/selectors.js +44 -15
  296. package/build-module/store/selectors.js.map +1 -1
  297. package/build-style/style-rtl.css +148 -410
  298. package/build-style/style.css +148 -410
  299. package/package.json +28 -28
  300. package/src/components/block-alignment-control/constants.js +45 -0
  301. package/src/components/block-alignment-control/ui.js +69 -109
  302. package/src/components/block-alignment-control/ui.native.js +86 -0
  303. package/src/components/block-alignment-matrix-control/index.js +1 -5
  304. package/src/components/block-content-overlay/index.js +9 -79
  305. package/src/components/block-content-overlay/style.scss +2 -11
  306. package/src/components/block-draggable/draggable-chip.native.js +49 -0
  307. package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
  308. package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
  309. package/src/components/block-draggable/index.native.js +458 -0
  310. package/src/components/block-draggable/style.native.scss +19 -0
  311. package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
  312. package/src/components/block-list/block-list-context.native.js +175 -0
  313. package/src/components/block-list/block-list-item-cell.native.js +49 -0
  314. package/src/components/block-list/block-list-item.native.js +7 -11
  315. package/src/components/block-list/block.native.js +38 -8
  316. package/src/components/block-list/index.native.js +54 -13
  317. package/src/components/block-list/style.scss +7 -18
  318. package/src/components/block-list/test/block-list-context.native.js +253 -0
  319. package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
  320. package/src/components/block-list/use-block-props/index.js +10 -5
  321. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -11
  322. package/src/components/block-list/use-in-between-inserter.js +1 -1
  323. package/src/components/block-lock/modal.js +42 -3
  324. package/src/components/block-lock/toolbar.js +2 -2
  325. package/src/components/block-lock/use-block-lock.js +4 -1
  326. package/src/components/block-mobile-toolbar/index.native.js +8 -1
  327. package/src/components/block-mover/button.js +5 -7
  328. package/src/components/block-mover/index.js +37 -60
  329. package/src/components/block-mover/index.native.js +22 -6
  330. package/src/components/block-mover/stories/index.js +110 -0
  331. package/src/components/block-mover/style.scss +48 -138
  332. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +6 -0
  333. package/src/components/block-navigation/dropdown.js +12 -8
  334. package/src/components/block-popover/README.md +41 -0
  335. package/src/components/block-popover/inbetween.js +188 -0
  336. package/src/components/block-popover/index.js +75 -0
  337. package/src/components/block-popover/style.scss +28 -0
  338. package/src/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  339. package/src/components/block-preview/index.js +1 -4
  340. package/src/components/block-styles/index.js +1 -12
  341. package/src/components/block-switcher/style.scss +2 -43
  342. package/src/components/block-toolbar/style.scss +0 -12
  343. package/src/components/block-tools/back-compat.js +1 -1
  344. package/src/components/block-tools/block-selection-button.js +3 -1
  345. package/src/components/block-tools/index.js +6 -4
  346. package/src/components/block-tools/insertion-point.js +19 -152
  347. package/src/components/block-tools/{block-popover.js → selected-block-popover.js} +24 -151
  348. package/src/components/block-tools/style.scss +12 -135
  349. package/src/components/border-radius-control/input-controls.js +16 -8
  350. package/src/components/border-radius-control/style.scss +7 -3
  351. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  352. package/src/components/color-style-selector/index.js +18 -9
  353. package/src/components/colors-gradients/dropdown.js +156 -62
  354. package/src/components/colors-gradients/style.scss +51 -23
  355. package/src/components/default-block-appender/style.scss +1 -2
  356. package/src/components/duotone-control/index.js +8 -1
  357. package/src/components/duotone-control/style.scss +1 -7
  358. package/src/components/gradients/README.md +29 -0
  359. package/src/components/image-editor/use-save-image.js +2 -1
  360. package/src/components/image-size-control/README.md +1 -1
  361. package/src/components/index.js +1 -3
  362. package/src/components/inserter/index.native.js +60 -25
  363. package/src/components/inserter/style.native.scss +25 -3
  364. package/src/components/inserter/style.scss +2 -1
  365. package/src/components/link-control/constants.js +11 -0
  366. package/src/components/link-control/search-results.js +4 -5
  367. package/src/components/link-control/use-search-handler.js +11 -5
  368. package/src/components/list-view/block.js +24 -34
  369. package/src/components/list-view/branch.js +10 -20
  370. package/src/components/list-view/context.js +1 -4
  371. package/src/components/list-view/drop-indicator.js +0 -1
  372. package/src/components/list-view/index.js +11 -41
  373. package/src/components/list-view/style.scss +2 -1
  374. package/src/components/navigable-toolbar/README.md +16 -0
  375. package/src/components/navigable-toolbar/index.js +12 -2
  376. package/src/components/preview-options/style.scss +0 -4
  377. package/src/components/rich-text/format-toolbar-container.js +0 -1
  378. package/src/components/rich-text/index.js +1 -3
  379. package/src/components/rich-text/index.native.js +0 -4
  380. package/src/components/rich-text/style.scss +2 -8
  381. package/src/components/url-input/index.js +9 -4
  382. package/src/components/use-block-display-information/index.js +2 -0
  383. package/src/components/use-block-drop-zone/index.native.js +173 -0
  384. package/src/components/use-on-block-drop/index.native.js +119 -0
  385. package/src/components/use-setting/index.js +57 -21
  386. package/src/hooks/anchor.js +1 -1
  387. package/src/hooks/border.js +429 -72
  388. package/src/hooks/color-panel.js +13 -9
  389. package/src/hooks/color.scss +0 -62
  390. package/src/hooks/dimensions.js +44 -38
  391. package/src/hooks/index.js +2 -1
  392. package/src/hooks/margin.js +64 -15
  393. package/src/hooks/padding.js +60 -15
  394. package/src/hooks/padding.scss +12 -0
  395. package/src/hooks/settings.js +32 -0
  396. package/src/hooks/style.js +25 -39
  397. package/src/hooks/test/settings.js +48 -0
  398. package/src/hooks/typography.js +2 -0
  399. package/src/hooks/use-border-props.js +15 -32
  400. package/src/store/actions.js +14 -2
  401. package/src/store/defaults.js +0 -1
  402. package/src/store/reducer.js +0 -21
  403. package/src/store/selectors.js +46 -15
  404. package/src/store/test/actions.js +0 -18
  405. package/src/store/test/reducer.js +0 -19
  406. package/src/store/test/selectors.js +17 -19
  407. package/src/style.scss +2 -3
  408. package/tsconfig.tsbuildinfo +1 -1
  409. package/build/components/block-mobile-toolbar/index.js +0 -42
  410. package/build/components/block-mobile-toolbar/index.js.map +0 -1
  411. package/build/components/block-tools/block-popover.js +0 -327
  412. package/build/components/block-tools/block-popover.js.map +0 -1
  413. package/build/components/block-tools/use-popover-scroll.js.map +0 -1
  414. package/build/components/border-style-control/index.js +0 -60
  415. package/build/components/border-style-control/index.js.map +0 -1
  416. package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
  417. package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  418. package/build/components/list-view/appender.js +0 -93
  419. package/build/components/list-view/appender.js.map +0 -1
  420. package/build/components/list-view/list-item.js +0 -62
  421. package/build/components/list-view/list-item.js.map +0 -1
  422. package/build/components/rich-text/use-caret-in-format.js +0 -43
  423. package/build/components/rich-text/use-caret-in-format.js.map +0 -1
  424. package/build/hooks/border-color.js +0 -302
  425. package/build/hooks/border-color.js.map +0 -1
  426. package/build/hooks/border-style.js +0 -96
  427. package/build/hooks/border-style.js.map +0 -1
  428. package/build/hooks/border-width.js +0 -162
  429. package/build/hooks/border-width.js.map +0 -1
  430. package/build-module/components/block-mobile-toolbar/index.js +0 -31
  431. package/build-module/components/block-mobile-toolbar/index.js.map +0 -1
  432. package/build-module/components/block-tools/block-popover.js +0 -306
  433. package/build-module/components/block-tools/block-popover.js.map +0 -1
  434. package/build-module/components/block-tools/use-popover-scroll.js.map +0 -1
  435. package/build-module/components/border-style-control/index.js +0 -50
  436. package/build-module/components/border-style-control/index.js.map +0 -1
  437. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
  438. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  439. package/build-module/components/list-view/appender.js +0 -76
  440. package/build-module/components/list-view/appender.js.map +0 -1
  441. package/build-module/components/list-view/list-item.js +0 -47
  442. package/build-module/components/list-view/list-item.js.map +0 -1
  443. package/build-module/components/rich-text/use-caret-in-format.js +0 -33
  444. package/build-module/components/rich-text/use-caret-in-format.js.map +0 -1
  445. package/build-module/hooks/border-color.js +0 -276
  446. package/build-module/hooks/border-color.js.map +0 -1
  447. package/build-module/hooks/border-style.js +0 -78
  448. package/build-module/hooks/border-style.js.map +0 -1
  449. package/build-module/hooks/border-width.js +0 -143
  450. package/build-module/hooks/border-width.js.map +0 -1
  451. package/src/components/block-alignment-matrix-control/style.scss +0 -10
  452. package/src/components/block-mobile-toolbar/index.js +0 -24
  453. package/src/components/block-mobile-toolbar/style.scss +0 -29
  454. package/src/components/border-style-control/index.js +0 -47
  455. package/src/components/border-style-control/style.scss +0 -18
  456. package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
  457. package/src/components/list-view/appender.js +0 -82
  458. package/src/components/list-view/list-item.js +0 -59
  459. package/src/components/rich-text/use-caret-in-format.js +0 -28
  460. package/src/hooks/border-color.js +0 -315
  461. package/src/hooks/border-style.js +0 -64
  462. package/src/hooks/border-width.js +0 -139
@@ -7,24 +7,16 @@ import classnames from 'classnames';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { useSelect, useDispatch } from '@wordpress/data';
10
- import {
11
- useCallback,
12
- useRef,
13
- useMemo,
14
- createContext,
15
- useContext,
16
- } from '@wordpress/element';
17
- import { Popover, __unstableMotion as motion } from '@wordpress/components';
10
+ import { useRef, createContext, useContext } from '@wordpress/element';
11
+ import { __unstableMotion as motion } from '@wordpress/components';
18
12
  import { useReducedMotion } from '@wordpress/compose';
19
- import { isRTL } from '@wordpress/i18n';
20
13
 
21
14
  /**
22
15
  * Internal dependencies
23
16
  */
24
17
  import Inserter from '../inserter';
25
18
  import { store as blockEditorStore } from '../../store';
26
- import { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';
27
- import { usePopoverScroll } from './use-popover-scroll';
19
+ import BlockPopoverInbetween from '../block-popover/inbetween';
28
20
 
29
21
  export const InsertionPointOpenRef = createContext();
30
22
 
@@ -78,109 +70,10 @@ function InsertionPointPopover( {
78
70
  isInserterShown: insertionPoint?.__unstableWithInserter,
79
71
  };
80
72
  }, [] );
81
- const previousElement = useBlockElement( previousClientId );
82
- const nextElement = useBlockElement( nextClientId );
83
73
  const isVertical = orientation === 'vertical';
84
- const style = useMemo( () => {
85
- if ( ! previousElement && ! nextElement ) {
86
- return {};
87
- }
88
-
89
- const previousRect = previousElement
90
- ? previousElement.getBoundingClientRect()
91
- : null;
92
- const nextRect = nextElement
93
- ? nextElement.getBoundingClientRect()
94
- : null;
95
-
96
- if ( isVertical ) {
97
- return {
98
- width: previousElement
99
- ? previousElement.offsetWidth
100
- : nextElement.offsetWidth,
101
- height:
102
- nextRect && previousRect
103
- ? nextRect.top - previousRect.bottom
104
- : 0,
105
- };
106
- }
107
-
108
- let width = 0;
109
- if ( previousRect && nextRect ) {
110
- width = isRTL()
111
- ? previousRect.left - nextRect.right
112
- : nextRect.left - previousRect.right;
113
- }
114
-
115
- return {
116
- width,
117
- height: previousElement
118
- ? previousElement.offsetHeight
119
- : nextElement.offsetHeight,
120
- };
121
- }, [ previousElement, nextElement ] );
122
-
123
- const getAnchorRect = useCallback( () => {
124
- if ( ! previousElement && ! nextElement ) {
125
- return {};
126
- }
127
-
128
- const { ownerDocument } = previousElement || nextElement;
129
-
130
- const previousRect = previousElement
131
- ? previousElement.getBoundingClientRect()
132
- : null;
133
- const nextRect = nextElement
134
- ? nextElement.getBoundingClientRect()
135
- : null;
136
-
137
- if ( isVertical ) {
138
- if ( isRTL() ) {
139
- return {
140
- top: previousRect ? previousRect.bottom : nextRect.top,
141
- left: previousRect ? previousRect.right : nextRect.right,
142
- right: previousRect ? previousRect.left : nextRect.left,
143
- bottom: nextRect ? nextRect.top : previousRect.bottom,
144
- ownerDocument,
145
- };
146
- }
147
-
148
- return {
149
- top: previousRect ? previousRect.bottom : nextRect.top,
150
- left: previousRect ? previousRect.left : nextRect.left,
151
- right: previousRect ? previousRect.right : nextRect.right,
152
- bottom: nextRect ? nextRect.top : previousRect.bottom,
153
- ownerDocument,
154
- };
155
- }
156
-
157
- if ( isRTL() ) {
158
- return {
159
- top: previousRect ? previousRect.top : nextRect.top,
160
- left: previousRect ? previousRect.left : nextRect.right,
161
- right: nextRect ? nextRect.right : previousRect.left,
162
- bottom: previousRect ? previousRect.bottom : nextRect.bottom,
163
- ownerDocument,
164
- };
165
- }
166
74
 
167
- return {
168
- top: previousRect ? previousRect.top : nextRect.top,
169
- left: previousRect ? previousRect.right : nextRect.left,
170
- right: nextRect ? nextRect.left : previousRect.right,
171
- bottom: previousRect ? previousRect.bottom : nextRect.bottom,
172
- ownerDocument,
173
- };
174
- }, [ previousElement, nextElement ] );
175
-
176
- const popoverScrollRef = usePopoverScroll( __unstableContentRef );
177
75
  const disableMotion = useReducedMotion();
178
76
 
179
- const className = classnames(
180
- 'block-editor-block-list__insertion-point',
181
- 'is-' + orientation
182
- );
183
-
184
77
  function onClick( event ) {
185
78
  if ( event.target === ref.current && nextClientId ) {
186
79
  selectBlock( nextClientId, -1 );
@@ -203,11 +96,6 @@ function InsertionPointPopover( {
203
96
  }
204
97
  }
205
98
 
206
- // Only show the in-between inserter between blocks, so when there's a
207
- // previous and a next element.
208
- const showInsertionPointInserter =
209
- previousElement && nextElement && isInserterShown;
210
-
211
99
  // Define animation variants for the line element.
212
100
  const horizontalLine = {
213
101
  start: {
@@ -261,7 +149,7 @@ function InsertionPointPopover( {
261
149
  ...( ! isVertical ? horizontalLine.rest : verticalLine.rest ),
262
150
  opacity: 1,
263
151
  borderRadius: '2px',
264
- transition: { delay: showInsertionPointInserter ? 0.4 : 0 },
152
+ transition: { delay: isInserterShown ? 0.4 : 0 },
265
153
  },
266
154
  hover: {
267
155
  ...( ! isVertical ? horizontalLine.hover : verticalLine.hover ),
@@ -281,27 +169,17 @@ function InsertionPointPopover( {
281
169
  },
282
170
  };
283
171
 
284
- /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
285
- // While ideally it would be enough to capture the
286
- // bubbling focus event from the Inserter, due to the
287
- // characteristics of click focusing of `button`s in
288
- // Firefox and Safari, it is not reliable.
289
- //
290
- // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
172
+ const className = classnames(
173
+ 'block-editor-block-list__insertion-point',
174
+ 'is-' + orientation
175
+ );
176
+
291
177
  return (
292
- <Popover
293
- ref={ popoverScrollRef }
294
- noArrow
295
- animate={ false }
296
- getAnchorRect={ getAnchorRect }
297
- focusOnMount={ false }
298
- className="block-editor-block-list__insertion-point-popover"
299
- // Render in the old slot if needed for backward compatibility,
300
- // otherwise render in place (not in the the default popover slot).
301
- __unstableSlotName={ __unstablePopoverSlot || null }
302
- // Forces a remount of the popover when its position changes
303
- // This makes sure the popover doesn't animate from its previous position.
304
- key={ nextClientId + '--' + rootClientId }
178
+ <BlockPopoverInbetween
179
+ previousClientId={ previousClientId }
180
+ nextClientId={ nextClientId }
181
+ __unstablePopoverSlot={ __unstablePopoverSlot }
182
+ __unstableContentRef={ __unstableContentRef }
305
183
  >
306
184
  <motion.div
307
185
  layout={ ! disableMotion }
@@ -315,16 +193,15 @@ function InsertionPointPopover( {
315
193
  onClick={ onClick }
316
194
  onFocus={ onFocus }
317
195
  className={ classnames( className, {
318
- 'is-with-inserter': showInsertionPointInserter,
196
+ 'is-with-inserter': isInserterShown,
319
197
  } ) }
320
198
  onHoverEnd={ maybeHideInserterPoint }
321
- style={ style }
322
199
  >
323
200
  <motion.div
324
201
  variants={ lineVariants }
325
202
  className="block-editor-block-list__insertion-point-indicator"
326
203
  />
327
- { showInsertionPointInserter && (
204
+ { isInserterShown && (
328
205
  <motion.div
329
206
  variants={ inserterVariants }
330
207
  className={ classnames(
@@ -346,28 +223,18 @@ function InsertionPointPopover( {
346
223
  </motion.div>
347
224
  ) }
348
225
  </motion.div>
349
- </Popover>
226
+ </BlockPopoverInbetween>
350
227
  );
351
- /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
352
228
  }
353
229
 
354
- export default function InsertionPoint( {
355
- children,
356
- __unstablePopoverSlot,
357
- __unstableContentRef,
358
- } ) {
230
+ export default function InsertionPoint( { children, ...props } ) {
359
231
  const isVisible = useSelect( ( select ) => {
360
232
  return select( blockEditorStore ).isBlockInsertionPointVisible();
361
233
  }, [] );
362
234
 
363
235
  return (
364
236
  <InsertionPointOpenRef.Provider value={ useRef( false ) }>
365
- { isVisible && (
366
- <InsertionPointPopover
367
- __unstablePopoverSlot={ __unstablePopoverSlot }
368
- __unstableContentRef={ __unstableContentRef }
369
- />
370
- ) }
237
+ { isVisible && <InsertionPointPopover { ...props } /> }
371
238
  { children }
372
239
  </InsertionPointOpenRef.Provider>
373
240
  );
@@ -7,23 +7,19 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useState, useRef, useEffect } from '@wordpress/element';
10
+ import { useRef, useEffect } from '@wordpress/element';
11
11
  import { isUnmodifiedDefaultBlock } from '@wordpress/blocks';
12
- import { Popover } from '@wordpress/components';
13
12
  import { useDispatch, useSelect } from '@wordpress/data';
14
13
  import { useShortcut } from '@wordpress/keyboard-shortcuts';
15
14
  import { useViewportMatch } from '@wordpress/compose';
16
- import { getScrollContainer } from '@wordpress/dom';
17
15
 
18
16
  /**
19
17
  * Internal dependencies
20
18
  */
21
19
  import BlockSelectionButton from './block-selection-button';
22
20
  import BlockContextualToolbar from './block-contextual-toolbar';
23
- import Inserter from '../inserter';
24
21
  import { store as blockEditorStore } from '../../store';
25
- import { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';
26
- import { usePopoverScroll } from './use-popover-scroll';
22
+ import BlockPopover from '../block-popover';
27
23
 
28
24
  function selector( select ) {
29
25
  const {
@@ -31,7 +27,6 @@ function selector( select ) {
31
27
  isMultiSelecting,
32
28
  hasMultiSelection,
33
29
  isTyping,
34
- isCaretWithinFormattedText,
35
30
  getSettings,
36
31
  getLastMultiSelectedBlockClientId,
37
32
  } = select( blockEditorStore );
@@ -39,17 +34,16 @@ function selector( select ) {
39
34
  isNavigationMode: isNavigationMode(),
40
35
  isMultiSelecting: isMultiSelecting(),
41
36
  isTyping: isTyping(),
42
- isCaretWithinFormattedText: isCaretWithinFormattedText(),
43
- hasMultiSelection: hasMultiSelection(),
44
37
  hasFixedToolbar: getSettings().hasFixedToolbar,
45
- lastClientId: getLastMultiSelectedBlockClientId(),
38
+ lastClientId: hasMultiSelection()
39
+ ? getLastMultiSelectedBlockClientId()
40
+ : null,
46
41
  };
47
42
  }
48
43
 
49
- function BlockPopover( {
44
+ function SelectedBlockPopover( {
50
45
  clientId,
51
46
  rootClientId,
52
- isValid,
53
47
  isEmptyDefaultBlock,
54
48
  capturingClientId,
55
49
  __unstablePopoverSlot,
@@ -59,8 +53,6 @@ function BlockPopover( {
59
53
  isNavigationMode,
60
54
  isMultiSelecting,
61
55
  isTyping,
62
- isCaretWithinFormattedText,
63
- hasMultiSelection,
64
56
  hasFixedToolbar,
65
57
  lastClientId,
66
58
  } = useSelect( selector, [] );
@@ -83,22 +75,19 @@ function BlockPopover( {
83
75
  [ clientId ]
84
76
  );
85
77
  const isLargeViewport = useViewportMatch( 'medium' );
86
- const [ isToolbarForced, setIsToolbarForced ] = useState( false );
87
- const [ isInserterShown, setIsInserterShown ] = useState( false );
78
+ const isToolbarForced = useRef( false );
88
79
  const { stopTyping } = useDispatch( blockEditorStore );
89
80
 
90
- // Controls when the side inserter on empty lines should
91
- // be shown, including writing and selection modes.
92
81
  const showEmptyBlockSideInserter =
93
- ! isTyping && ! isNavigationMode && isEmptyDefaultBlock && isValid;
82
+ ! isTyping && ! isNavigationMode && isEmptyDefaultBlock;
94
83
  const shouldShowBreadcrumb = isNavigationMode;
95
84
  const shouldShowContextualToolbar =
96
85
  ! isNavigationMode &&
97
86
  ! hasFixedToolbar &&
98
87
  isLargeViewport &&
99
- ! showEmptyBlockSideInserter &&
100
88
  ! isMultiSelecting &&
101
- ( ! isTyping || isCaretWithinFormattedText );
89
+ ! showEmptyBlockSideInserter &&
90
+ ! isTyping;
102
91
  const canFocusHiddenToolbar =
103
92
  ! isNavigationMode &&
104
93
  ! shouldShowContextualToolbar &&
@@ -108,7 +97,7 @@ function BlockPopover( {
108
97
  useShortcut(
109
98
  'core/block-editor/focus-toolbar',
110
99
  () => {
111
- setIsToolbarForced( true );
100
+ isToolbarForced.current = true;
112
101
  stopTyping( true );
113
102
  },
114
103
  {
@@ -117,134 +106,32 @@ function BlockPopover( {
117
106
  );
118
107
 
119
108
  useEffect( () => {
120
- if ( ! shouldShowContextualToolbar ) {
121
- setIsToolbarForced( false );
122
- }
123
- }, [ shouldShowContextualToolbar ] );
109
+ isToolbarForced.current = false;
110
+ } );
124
111
 
125
112
  // Stores the active toolbar item index so the block toolbar can return focus
126
113
  // to it when re-mounting.
127
114
  const initialToolbarItemIndexRef = useRef();
128
115
 
129
- const selectedElement = useBlockElement( clientId );
130
- const lastSelectedElement = useBlockElement( lastClientId );
131
- const capturingElement = useBlockElement( capturingClientId );
132
-
133
- const popoverScrollRef = usePopoverScroll( __unstableContentRef );
134
-
135
- if (
136
- ! shouldShowBreadcrumb &&
137
- ! shouldShowContextualToolbar &&
138
- ! isToolbarForced &&
139
- ! showEmptyBlockSideInserter
140
- ) {
116
+ if ( ! shouldShowBreadcrumb && ! shouldShowContextualToolbar ) {
141
117
  return null;
142
118
  }
143
119
 
144
- let node = selectedElement;
145
-
146
- if ( ! node ) {
147
- return null;
148
- }
149
-
150
- if ( capturingClientId ) {
151
- node = capturingElement;
152
- }
153
-
154
- let anchorRef = node;
155
-
156
- if ( hasMultiSelection ) {
157
- // Wait to render the popover until the bottom reference is available
158
- // as well.
159
- if ( ! lastSelectedElement ) {
160
- return null;
161
- }
162
-
163
- anchorRef = {
164
- top: node,
165
- bottom: lastSelectedElement,
166
- };
167
- }
168
-
169
- function onFocus() {
170
- setIsInserterShown( true );
171
- }
172
-
173
- function onBlur() {
174
- setIsInserterShown( false );
175
- }
176
-
177
- // Position above the anchor, pop out towards the right, and position in the
178
- // left corner. For the side inserter, pop out towards the left, and
179
- // position in the right corner.
180
- // To do: refactor `Popover` to make this prop clearer.
181
- const popoverPosition = showEmptyBlockSideInserter
182
- ? 'top left right'
183
- : 'top right left';
184
- const { ownerDocument } = node;
185
- const stickyBoundaryElement = showEmptyBlockSideInserter
186
- ? undefined
187
- : // The sticky boundary element should be the boundary at which the
188
- // the block toolbar becomes sticky when the block scolls out of view.
189
- // In case of an iframe, this should be the iframe boundary, otherwise
190
- // the scroll container.
191
- ownerDocument.defaultView.frameElement ||
192
- getScrollContainer( node ) ||
193
- ownerDocument.body;
194
-
195
120
  return (
196
- <Popover
197
- ref={ popoverScrollRef }
198
- noArrow
199
- animate={ false }
200
- position={ popoverPosition }
201
- focusOnMount={ false }
202
- anchorRef={ anchorRef }
121
+ <BlockPopover
122
+ clientId={ capturingClientId || clientId }
123
+ bottomClientId={ lastClientId }
203
124
  className={ classnames( 'block-editor-block-list__block-popover', {
204
125
  'is-insertion-point-visible': isInsertionPointVisible,
205
126
  } ) }
206
- __unstableStickyBoundaryElement={ stickyBoundaryElement }
207
- // Render in the old slot if needed for backward compatibility,
208
- // otherwise render in place (not in the the default popover slot).
209
- __unstableSlotName={ __unstablePopoverSlot || null }
210
- __unstableBoundaryParent
211
- // Observe movement for block animations (especially horizontal).
212
- __unstableObserveElement={ node }
213
- shouldAnchorIncludePadding
214
- // Used to safeguard sticky position behavior against cases where it would permanently
215
- // obscure specific sections of a block.
216
- __unstableEditorCanvasWrapper={ __unstableContentRef?.current }
127
+ __unstablePopoverSlot={ __unstablePopoverSlot }
128
+ __unstableContentRef={ __unstableContentRef }
217
129
  >
218
- { ( shouldShowContextualToolbar || isToolbarForced ) && (
219
- <div
220
- onFocus={ onFocus }
221
- onBlur={ onBlur }
222
- // While ideally it would be enough to capture the
223
- // bubbling focus event from the Inserter, due to the
224
- // characteristics of click focusing of `button`s in
225
- // Firefox and Safari, it is not reliable.
226
- //
227
- // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
228
- tabIndex={ -1 }
229
- className={ classnames(
230
- 'block-editor-block-list__block-popover-inserter',
231
- {
232
- 'is-visible': isInserterShown,
233
- }
234
- ) }
235
- >
236
- <Inserter
237
- clientId={ clientId }
238
- rootClientId={ rootClientId }
239
- __experimentalIsQuick
240
- />
241
- </div>
242
- ) }
243
- { ( shouldShowContextualToolbar || isToolbarForced ) && (
130
+ { shouldShowContextualToolbar && (
244
131
  <BlockContextualToolbar
245
132
  // If the toolbar is being shown because of being forced
246
133
  // it should focus the toolbar right after the mount.
247
- focusOnMount={ isToolbarForced }
134
+ focusOnMount={ isToolbarForced.current }
248
135
  __experimentalInitialIndex={
249
136
  initialToolbarItemIndexRef.current
250
137
  }
@@ -260,20 +147,9 @@ function BlockPopover( {
260
147
  <BlockSelectionButton
261
148
  clientId={ clientId }
262
149
  rootClientId={ rootClientId }
263
- blockElement={ node }
264
150
  />
265
151
  ) }
266
- { showEmptyBlockSideInserter && (
267
- <div className="block-editor-block-list__empty-block-inserter">
268
- <Inserter
269
- position="bottom right"
270
- rootClientId={ rootClientId }
271
- clientId={ clientId }
272
- __experimentalIsQuick
273
- />
274
- </div>
275
- ) }
276
- </Popover>
152
+ </BlockPopover>
277
153
  );
278
154
  }
279
155
 
@@ -294,7 +170,7 @@ function wrapperSelector( select ) {
294
170
  return;
295
171
  }
296
172
 
297
- const { name, attributes = {}, isValid } = getBlock( clientId ) || {};
173
+ const { name, attributes = {} } = getBlock( clientId ) || {};
298
174
  const blockParentsClientIds = getBlockParents( clientId );
299
175
 
300
176
  // Get Block List Settings for all ancestors of the current Block clientId.
@@ -314,7 +190,6 @@ function wrapperSelector( select ) {
314
190
  clientId,
315
191
  rootClientId: getBlockRootClientId( clientId ),
316
192
  name,
317
- isValid,
318
193
  isEmptyDefaultBlock:
319
194
  name && isUnmodifiedDefaultBlock( { name, attributes } ),
320
195
  capturingClientId,
@@ -335,7 +210,6 @@ export default function WrappedBlockPopover( {
335
210
  clientId,
336
211
  rootClientId,
337
212
  name,
338
- isValid,
339
213
  isEmptyDefaultBlock,
340
214
  capturingClientId,
341
215
  } = selected;
@@ -345,10 +219,9 @@ export default function WrappedBlockPopover( {
345
219
  }
346
220
 
347
221
  return (
348
- <BlockPopover
222
+ <SelectedBlockPopover
349
223
  clientId={ clientId }
350
224
  rootClientId={ rootClientId }
351
- isValid={ isValid }
352
225
  isEmptyDefaultBlock={ isEmptyDefaultBlock }
353
226
  capturingClientId={ capturingClientId }
354
227
  __unstablePopoverSlot={ __unstablePopoverSlot }