@wordpress/block-editor 12.19.5 → 12.21.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 (443) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-canvas/index.js +2 -0
  3. package/build/components/block-canvas/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +14 -17
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +0 -3
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  9. package/build/components/block-list/block-list-item.native.js +1 -1
  10. package/build/components/block-list/block-list-item.native.js.map +1 -1
  11. package/build/components/block-list/block-outline.native.js +23 -7
  12. package/build/components/block-list/block-outline.native.js.map +1 -1
  13. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  14. package/build/components/block-list/block.native.js +0 -3
  15. package/build/components/block-list/block.native.js.map +1 -1
  16. package/build/components/block-list/index.js +9 -9
  17. package/build/components/block-list/index.js.map +1 -1
  18. package/build/components/block-mover/index.native.js.map +1 -1
  19. package/build/components/block-popover/cover.js +68 -0
  20. package/build/components/block-popover/cover.js.map +1 -0
  21. package/build/components/block-popover/drop-zone.js +2 -3
  22. package/build/components/block-popover/drop-zone.js.map +1 -1
  23. package/build/components/block-popover/index.js +1 -19
  24. package/build/components/block-popover/index.js.map +1 -1
  25. package/build/components/block-preview/index.js +2 -1
  26. package/build/components/block-preview/index.js.map +1 -1
  27. package/build/components/block-removal-warning-modal/index.js +2 -4
  28. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  29. package/build/components/block-rename/modal.js.map +1 -1
  30. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
  31. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  32. package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
  33. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  34. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  35. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  36. package/build/components/block-toolbar/index.js +7 -5
  37. package/build/components/block-toolbar/index.js.map +1 -1
  38. package/build/components/block-toolbar/shuffle.js +89 -0
  39. package/build/components/block-toolbar/shuffle.js.map +1 -0
  40. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  41. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  42. package/build/components/block-tools/block-selection-button.js +5 -1
  43. package/build/components/block-tools/block-selection-button.js.map +1 -1
  44. package/build/components/block-tools/empty-block-inserter.js +2 -5
  45. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  46. package/build/components/block-tools/index.js +9 -26
  47. package/build/components/block-tools/index.js.map +1 -1
  48. package/build/components/block-tools/use-show-block-tools.js +60 -0
  49. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  50. package/build/components/caption/index.native.js.map +1 -1
  51. package/build/components/child-layout-control/index.js +37 -5
  52. package/build/components/child-layout-control/index.js.map +1 -1
  53. package/build/components/color-palette/control.js.map +1 -1
  54. package/build/components/colors-gradients/control.js +1 -1
  55. package/build/components/colors-gradients/control.js.map +1 -1
  56. package/build/components/date-format-picker/index.js +0 -1
  57. package/build/components/date-format-picker/index.js.map +1 -1
  58. package/build/components/font-appearance-control/index.js +1 -2
  59. package/build/components/font-appearance-control/index.js.map +1 -1
  60. package/build/components/global-styles/border-panel.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -1
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/dimensions-panel.js +30 -19
  64. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  65. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  66. package/build/components/global-styles/typography-utils.js +7 -5
  67. package/build/components/global-styles/typography-utils.js.map +1 -1
  68. package/build/components/global-styles/use-global-styles-output.js +15 -15
  69. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  70. package/build/components/global-styles/utils.js +1 -1
  71. package/build/components/global-styles/utils.js.map +1 -1
  72. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  73. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  74. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  75. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  76. package/build/components/grid-visualizer/index.js +20 -0
  77. package/build/components/grid-visualizer/index.js.map +1 -0
  78. package/build/components/grid-visualizer/utils.js +10 -0
  79. package/build/components/grid-visualizer/utils.js.map +1 -0
  80. package/build/components/iframe/index.js +61 -16
  81. package/build/components/iframe/index.js.map +1 -1
  82. package/build/components/index.native.js +7 -0
  83. package/build/components/index.native.js.map +1 -1
  84. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  85. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  86. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  87. package/build/components/inserter/menu.js +9 -3
  88. package/build/components/inserter/menu.js.map +1 -1
  89. package/build/components/inserter/menu.native.js.map +1 -1
  90. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  91. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  92. package/build/components/inserter/search-results.js +3 -2
  93. package/build/components/inserter/search-results.js.map +1 -1
  94. package/build/components/inserter/tabs.js +2 -1
  95. package/build/components/inserter/tabs.js.map +1 -1
  96. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  97. package/build/components/inspector-controls-tabs/index.js +1 -1
  98. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  99. package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
  100. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  101. package/build/components/link-control/search-input.js.map +1 -1
  102. package/build/components/list-view/branch.js.map +1 -1
  103. package/build/components/list-view/drop-indicator.js.map +1 -1
  104. package/build/components/list-view/index.js.map +1 -1
  105. package/build/components/observe-typing/index.js +5 -10
  106. package/build/components/observe-typing/index.js.map +1 -1
  107. package/build/components/panel-color-settings/index.js.map +1 -1
  108. package/build/components/provider/index.js.map +1 -1
  109. package/build/components/resizable-box-popover/index.js +3 -5
  110. package/build/components/resizable-box-popover/index.js.map +1 -1
  111. package/build/components/responsive-block-control/index.js +1 -1
  112. package/build/components/responsive-block-control/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -31
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/index.js +1 -2
  116. package/build/components/rich-text/index.js.map +1 -1
  117. package/build/components/skip-to-selected-block/index.js +7 -14
  118. package/build/components/skip-to-selected-block/index.js.map +1 -1
  119. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  120. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  121. package/build/components/url-input/index.js +5 -8
  122. package/build/components/url-input/index.js.map +1 -1
  123. package/build/hooks/background.js.map +1 -1
  124. package/build/hooks/block-hooks.js.map +1 -1
  125. package/build/hooks/dimensions.js +3 -4
  126. package/build/hooks/dimensions.js.map +1 -1
  127. package/build/hooks/font-size.js +6 -7
  128. package/build/hooks/font-size.js.map +1 -1
  129. package/build/hooks/index.js +1 -1
  130. package/build/hooks/index.js.map +1 -1
  131. package/build/hooks/layout-child.js +89 -1
  132. package/build/hooks/layout-child.js.map +1 -1
  133. package/build/hooks/layout.js +11 -4
  134. package/build/hooks/layout.js.map +1 -1
  135. package/build/hooks/line-height.js.map +1 -1
  136. package/build/hooks/position.js +0 -1
  137. package/build/hooks/position.js.map +1 -1
  138. package/build/hooks/spacing-visualizer.js +115 -0
  139. package/build/hooks/spacing-visualizer.js.map +1 -0
  140. package/build/hooks/use-typography-props.js +1 -2
  141. package/build/hooks/use-typography-props.js.map +1 -1
  142. package/build/layouts/grid.js +111 -14
  143. package/build/layouts/grid.js.map +1 -1
  144. package/build/private-apis.js +2 -2
  145. package/build/private-apis.js.map +1 -1
  146. package/build/store/actions.js +4 -36
  147. package/build/store/actions.js.map +1 -1
  148. package/build/store/private-actions.js +29 -45
  149. package/build/store/private-actions.js.map +1 -1
  150. package/build/store/reducer.js +2 -4
  151. package/build/store/reducer.js.map +1 -1
  152. package/build/store/selectors.js +27 -15
  153. package/build/store/selectors.js.map +1 -1
  154. package/build/utils/calculate-scale.js +17 -0
  155. package/build/utils/calculate-scale.js.map +1 -0
  156. package/build-module/components/block-canvas/index.js +2 -0
  157. package/build-module/components/block-canvas/index.js.map +1 -1
  158. package/build-module/components/block-heading-level-dropdown/index.js +14 -17
  159. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  160. package/build-module/components/block-inspector/index.js +1 -4
  161. package/build-module/components/block-inspector/index.js.map +1 -1
  162. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  163. package/build-module/components/block-list/block-list-item.native.js +1 -1
  164. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  165. package/build-module/components/block-list/block-outline.native.js +23 -7
  166. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  167. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  168. package/build-module/components/block-list/block.native.js +0 -3
  169. package/build-module/components/block-list/block.native.js.map +1 -1
  170. package/build-module/components/block-list/index.js +9 -9
  171. package/build-module/components/block-list/index.js.map +1 -1
  172. package/build-module/components/block-mover/index.native.js.map +1 -1
  173. package/build-module/components/block-popover/cover.js +60 -0
  174. package/build-module/components/block-popover/cover.js.map +1 -0
  175. package/build-module/components/block-popover/drop-zone.js +2 -3
  176. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  177. package/build-module/components/block-popover/index.js +1 -19
  178. package/build-module/components/block-popover/index.js.map +1 -1
  179. package/build-module/components/block-preview/index.js +2 -1
  180. package/build-module/components/block-preview/index.js.map +1 -1
  181. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  182. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  183. package/build-module/components/block-rename/modal.js.map +1 -1
  184. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
  185. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  186. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
  187. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  188. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  189. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  190. package/build-module/components/block-toolbar/index.js +7 -6
  191. package/build-module/components/block-toolbar/index.js.map +1 -1
  192. package/build-module/components/block-toolbar/shuffle.js +82 -0
  193. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  194. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  195. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  196. package/build-module/components/block-tools/block-selection-button.js +5 -1
  197. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  198. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  199. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  200. package/build-module/components/block-tools/index.js +9 -26
  201. package/build-module/components/block-tools/index.js.map +1 -1
  202. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  203. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  204. package/build-module/components/caption/index.native.js.map +1 -1
  205. package/build-module/components/child-layout-control/index.js +38 -6
  206. package/build-module/components/child-layout-control/index.js.map +1 -1
  207. package/build-module/components/color-palette/control.js.map +1 -1
  208. package/build-module/components/colors-gradients/control.js +1 -1
  209. package/build-module/components/colors-gradients/control.js.map +1 -1
  210. package/build-module/components/date-format-picker/index.js +0 -1
  211. package/build-module/components/date-format-picker/index.js.map +1 -1
  212. package/build-module/components/font-appearance-control/index.js +1 -2
  213. package/build-module/components/font-appearance-control/index.js.map +1 -1
  214. package/build-module/components/global-styles/border-panel.js.map +1 -1
  215. package/build-module/components/global-styles/color-panel.js +1 -1
  216. package/build-module/components/global-styles/color-panel.js.map +1 -1
  217. package/build-module/components/global-styles/dimensions-panel.js +30 -19
  218. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  219. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  220. package/build-module/components/global-styles/typography-utils.js +7 -5
  221. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  222. package/build-module/components/global-styles/use-global-styles-output.js +16 -16
  223. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  224. package/build-module/components/global-styles/utils.js +2 -2
  225. package/build-module/components/global-styles/utils.js.map +1 -1
  226. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  227. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  228. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  229. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  230. package/build-module/components/grid-visualizer/index.js +3 -0
  231. package/build-module/components/grid-visualizer/index.js.map +1 -0
  232. package/build-module/components/grid-visualizer/utils.js +4 -0
  233. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  234. package/build-module/components/iframe/index.js +61 -16
  235. package/build-module/components/iframe/index.js.map +1 -1
  236. package/build-module/components/index.native.js +1 -1
  237. package/build-module/components/index.native.js.map +1 -1
  238. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  239. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  240. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  241. package/build-module/components/inserter/menu.js +9 -3
  242. package/build-module/components/inserter/menu.js.map +1 -1
  243. package/build-module/components/inserter/menu.native.js.map +1 -1
  244. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  245. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  246. package/build-module/components/inserter/search-results.js +3 -2
  247. package/build-module/components/inserter/search-results.js.map +1 -1
  248. package/build-module/components/inserter/tabs.js +2 -1
  249. package/build-module/components/inserter/tabs.js.map +1 -1
  250. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  251. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  252. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  253. package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
  254. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  255. package/build-module/components/link-control/search-input.js.map +1 -1
  256. package/build-module/components/list-view/branch.js.map +1 -1
  257. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  258. package/build-module/components/list-view/index.js.map +1 -1
  259. package/build-module/components/observe-typing/index.js +5 -10
  260. package/build-module/components/observe-typing/index.js.map +1 -1
  261. package/build-module/components/panel-color-settings/index.js.map +1 -1
  262. package/build-module/components/provider/index.js.map +1 -1
  263. package/build-module/components/resizable-box-popover/index.js +3 -5
  264. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  265. package/build-module/components/responsive-block-control/index.js +1 -1
  266. package/build-module/components/responsive-block-control/index.js.map +1 -1
  267. package/build-module/components/rich-text/format-toolbar-container.js +1 -31
  268. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  269. package/build-module/components/rich-text/index.js +1 -2
  270. package/build-module/components/rich-text/index.js.map +1 -1
  271. package/build-module/components/skip-to-selected-block/index.js +8 -14
  272. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  273. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  274. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  275. package/build-module/components/url-input/index.js +5 -8
  276. package/build-module/components/url-input/index.js.map +1 -1
  277. package/build-module/hooks/background.js.map +1 -1
  278. package/build-module/hooks/block-hooks.js.map +1 -1
  279. package/build-module/hooks/dimensions.js +1 -2
  280. package/build-module/hooks/dimensions.js.map +1 -1
  281. package/build-module/hooks/font-size.js +7 -8
  282. package/build-module/hooks/font-size.js.map +1 -1
  283. package/build-module/hooks/index.js +1 -1
  284. package/build-module/hooks/index.js.map +1 -1
  285. package/build-module/hooks/layout-child.js +89 -1
  286. package/build-module/hooks/layout-child.js.map +1 -1
  287. package/build-module/hooks/layout.js +11 -4
  288. package/build-module/hooks/layout.js.map +1 -1
  289. package/build-module/hooks/line-height.js.map +1 -1
  290. package/build-module/hooks/position.js +0 -1
  291. package/build-module/hooks/position.js.map +1 -1
  292. package/build-module/hooks/spacing-visualizer.js +106 -0
  293. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  294. package/build-module/hooks/use-typography-props.js +2 -3
  295. package/build-module/hooks/use-typography-props.js.map +1 -1
  296. package/build-module/layouts/grid.js +113 -16
  297. package/build-module/layouts/grid.js.map +1 -1
  298. package/build-module/private-apis.js +2 -2
  299. package/build-module/private-apis.js.map +1 -1
  300. package/build-module/store/actions.js +4 -36
  301. package/build-module/store/actions.js.map +1 -1
  302. package/build-module/store/private-actions.js +29 -45
  303. package/build-module/store/private-actions.js.map +1 -1
  304. package/build-module/store/reducer.js +2 -4
  305. package/build-module/store/reducer.js.map +1 -1
  306. package/build-module/store/selectors.js +23 -13
  307. package/build-module/store/selectors.js.map +1 -1
  308. package/build-module/utils/calculate-scale.js +11 -0
  309. package/build-module/utils/calculate-scale.js.map +1 -0
  310. package/build-style/content-rtl.css +7 -2
  311. package/build-style/content.css +7 -2
  312. package/build-style/style-rtl.css +55 -25
  313. package/build-style/style.css +55 -25
  314. package/package.json +31 -32
  315. package/src/components/block-canvas/index.js +2 -0
  316. package/src/components/block-draggable/test/index.native.js +2 -2
  317. package/src/components/block-heading-level-dropdown/index.js +17 -25
  318. package/src/components/block-inspector/index.js +0 -11
  319. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  320. package/src/components/block-list/block-list-item.native.js +1 -1
  321. package/src/components/block-list/block-outline.native.js +36 -21
  322. package/src/components/block-list/block-selection-button.native.js +1 -3
  323. package/src/components/block-list/block.native.js +0 -3
  324. package/src/components/block-list/content.scss +5 -1
  325. package/src/components/block-list/index.js +55 -55
  326. package/src/components/block-list/test/block-outline.native.js +255 -0
  327. package/src/components/block-mover/index.native.js +1 -1
  328. package/src/components/block-popover/cover.js +63 -0
  329. package/src/components/block-popover/drop-zone.js +3 -4
  330. package/src/components/block-popover/index.js +1 -28
  331. package/src/components/block-preview/index.js +3 -1
  332. package/src/components/block-removal-warning-modal/index.js +5 -19
  333. package/src/components/block-rename/modal.js +1 -1
  334. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
  335. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
  336. package/src/components/block-styles/style.scss +0 -4
  337. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  338. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  339. package/src/components/block-toolbar/index.js +5 -11
  340. package/src/components/block-toolbar/shuffle.js +93 -0
  341. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  342. package/src/components/block-tools/block-selection-button.js +4 -0
  343. package/src/components/block-tools/empty-block-inserter.js +3 -6
  344. package/src/components/block-tools/index.js +13 -36
  345. package/src/components/block-tools/use-show-block-tools.js +73 -0
  346. package/src/components/caption/index.native.js +1 -1
  347. package/src/components/child-layout-control/index.js +85 -44
  348. package/src/components/color-palette/control.js +1 -1
  349. package/src/components/colors-gradients/control.js +1 -1
  350. package/src/components/colors-gradients/test/control.js +2 -2
  351. package/src/components/contrast-checker/test/index.js +10 -10
  352. package/src/components/date-format-picker/index.js +0 -1
  353. package/src/components/default-block-appender/content.scss +5 -2
  354. package/src/components/font-appearance-control/index.js +0 -1
  355. package/src/components/global-styles/border-panel.js +2 -2
  356. package/src/components/global-styles/color-panel.js +1 -1
  357. package/src/components/global-styles/dimensions-panel.js +36 -24
  358. package/src/components/global-styles/image-settings-panel.js +1 -1
  359. package/src/components/global-styles/test/typography-utils.js +231 -81
  360. package/src/components/global-styles/test/use-global-styles-output.js +3 -2
  361. package/src/components/global-styles/typography-utils.js +10 -7
  362. package/src/components/global-styles/use-global-styles-output.js +14 -16
  363. package/src/components/global-styles/utils.js +2 -8
  364. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  365. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  366. package/src/components/grid-visualizer/index.js +2 -0
  367. package/src/components/grid-visualizer/style.scss +33 -0
  368. package/src/components/grid-visualizer/utils.js +5 -0
  369. package/src/components/iframe/index.js +78 -31
  370. package/src/components/index.native.js +1 -0
  371. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  372. package/src/components/inserter/media-tab/media-preview.js +1 -1
  373. package/src/components/inserter/menu.js +10 -4
  374. package/src/components/inserter/menu.native.js +3 -3
  375. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  376. package/src/components/inserter/search-results.js +2 -1
  377. package/src/components/inserter/style.scss +10 -0
  378. package/src/components/inserter/tabs.js +2 -1
  379. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  380. package/src/components/inspector-controls-tabs/index.js +1 -1
  381. package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
  382. package/src/components/line-height-control/test/index.js +1 -1
  383. package/src/components/link-control/search-input.js +1 -1
  384. package/src/components/list-view/branch.js +1 -1
  385. package/src/components/list-view/drop-indicator.js +1 -1
  386. package/src/components/list-view/index.js +1 -1
  387. package/src/components/observe-typing/index.js +7 -10
  388. package/src/components/panel-color-settings/index.js +1 -1
  389. package/src/components/panel-color-settings/test/index.js +3 -3
  390. package/src/components/provider/index.js +1 -4
  391. package/src/components/resizable-box-popover/index.js +4 -6
  392. package/src/components/responsive-block-control/README.md +4 -4
  393. package/src/components/responsive-block-control/index.js +1 -1
  394. package/src/components/responsive-block-control/test/index.js +5 -5
  395. package/src/components/rich-text/format-toolbar-container.js +1 -48
  396. package/src/components/rich-text/index.js +1 -2
  397. package/src/components/skip-to-selected-block/index.js +10 -13
  398. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -5
  399. package/src/components/url-input/index.js +6 -15
  400. package/src/hooks/anchor.scss +1 -1
  401. package/src/hooks/background.js +1 -1
  402. package/src/hooks/block-hooks.js +1 -1
  403. package/src/hooks/dimensions.js +1 -2
  404. package/src/hooks/font-size.js +7 -12
  405. package/src/hooks/index.js +1 -0
  406. package/src/hooks/layout-child.js +91 -1
  407. package/src/hooks/layout.js +12 -1
  408. package/src/hooks/line-height.js +1 -1
  409. package/src/hooks/position.js +0 -1
  410. package/src/hooks/spacing-visualizer.js +126 -0
  411. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  412. package/src/hooks/use-typography-props.js +2 -8
  413. package/src/layouts/grid.js +137 -53
  414. package/src/layouts/test/grid.js +16 -2
  415. package/src/private-apis.js +2 -2
  416. package/src/store/actions.js +4 -42
  417. package/src/store/private-actions.js +34 -69
  418. package/src/store/reducer.js +2 -8
  419. package/src/store/selectors.js +41 -46
  420. package/src/store/test/actions.js +0 -105
  421. package/src/style.scss +2 -2
  422. package/src/utils/calculate-scale.js +20 -0
  423. package/build/components/default-style-picker/index.js +0 -70
  424. package/build/components/default-style-picker/index.js.map +0 -1
  425. package/build/hooks/margin.js +0 -86
  426. package/build/hooks/margin.js.map +0 -1
  427. package/build/hooks/padding.js +0 -78
  428. package/build/hooks/padding.js.map +0 -1
  429. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  430. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  431. package/build-module/components/default-style-picker/index.js +0 -63
  432. package/build-module/components/default-style-picker/index.js.map +0 -1
  433. package/build-module/hooks/margin.js +0 -78
  434. package/build-module/hooks/margin.js.map +0 -1
  435. package/build-module/hooks/padding.js +0 -70
  436. package/build-module/hooks/padding.js.map +0 -1
  437. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  438. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  439. package/src/components/block-settings-menu/style.scss +0 -3
  440. package/src/components/default-style-picker/index.js +0 -70
  441. package/src/hooks/margin.js +0 -91
  442. package/src/hooks/padding.js +0 -82
  443. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -93,7 +93,6 @@ function BlockWrapper( {
93
93
  draggingEnabled,
94
94
  hasInnerBlocks,
95
95
  isDescendentBlockSelected,
96
- isRootList,
97
96
  isSelected,
98
97
  isTouchable,
99
98
  marginHorizontal,
@@ -137,7 +136,6 @@ function BlockWrapper( {
137
136
  <BlockOutline
138
137
  blockCategory={ blockCategory }
139
138
  hasInnerBlocks={ hasInnerBlocks }
140
- isRootList={ isRootList }
141
139
  isSelected={ isSelected }
142
140
  name={ name }
143
141
  />
@@ -361,7 +359,6 @@ function BlockListBlock( {
361
359
  hasInnerBlocks={ hasInnerBlocks }
362
360
  isDescendentBlockSelected={ isDescendentBlockSelected }
363
361
  isFocused={ isFocused }
364
- isRootList={ ! rootClientId }
365
362
  isSelected={ isSelected }
366
363
  isStackedHorizontally={ isStackedHorizontally }
367
364
  isTouchable={ isTouchable }
@@ -453,7 +453,11 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
453
453
  }
454
454
  }
455
455
 
456
- .block-editor-iframe__body {
456
+ .block-editor-iframe__html {
457
457
  transition: all 0.3s;
458
458
  transform-origin: top center;
459
459
  }
460
+
461
+ .block-editor-iframe__html[style*="scale"] {
462
+ background-color: $gray-300;
463
+ }
@@ -46,19 +46,26 @@ const pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();
46
46
 
47
47
  function Root( { className, ...settings } ) {
48
48
  const isLargeViewport = useViewportMatch( 'medium' );
49
- const { isOutlineMode, isFocusMode, editorMode } = useSelect(
50
- ( select ) => {
51
- const { getSettings, __unstableGetEditorMode } =
52
- select( blockEditorStore );
53
- const { outlineMode, focusMode } = getSettings();
54
- return {
55
- isOutlineMode: outlineMode,
56
- isFocusMode: focusMode,
57
- editorMode: __unstableGetEditorMode(),
58
- };
59
- },
60
- []
61
- );
49
+ const {
50
+ isOutlineMode,
51
+ isFocusMode,
52
+ editorMode,
53
+ temporarilyEditingAsBlocks,
54
+ } = useSelect( ( select ) => {
55
+ const {
56
+ getSettings,
57
+ __unstableGetEditorMode,
58
+ __unstableGetTemporarilyEditingAsBlocks,
59
+ } = select( blockEditorStore );
60
+ const { outlineMode, focusMode } = getSettings();
61
+ return {
62
+ isOutlineMode: outlineMode,
63
+ isFocusMode: focusMode,
64
+ editorMode: __unstableGetEditorMode(),
65
+ temporarilyEditingAsBlocks:
66
+ __unstableGetTemporarilyEditingAsBlocks(),
67
+ };
68
+ }, [] );
62
69
  const registry = useRegistry();
63
70
  const { setBlockVisibility } = useDispatch( blockEditorStore );
64
71
 
@@ -115,6 +122,11 @@ function Root( { className, ...settings } ) {
115
122
  return (
116
123
  <IntersectionObserver.Provider value={ intersectionObserver }>
117
124
  <div { ...innerBlocksProps } />
125
+ { !! temporarilyEditingAsBlocks && (
126
+ <StopEditingAsBlocksOnOutsideSelect
127
+ clientId={ temporarilyEditingAsBlocks }
128
+ />
129
+ ) }
118
130
  </IntersectionObserver.Provider>
119
131
  );
120
132
  }
@@ -159,43 +171,36 @@ function Items( {
159
171
  // function on every render.
160
172
  const hasAppender = CustomAppender !== false;
161
173
  const hasCustomAppender = !! CustomAppender;
162
- const {
163
- order,
164
- selectedBlocks,
165
- visibleBlocks,
166
- temporarilyEditingAsBlocks,
167
- shouldRenderAppender,
168
- } = useSelect(
169
- ( select ) => {
170
- const {
171
- getBlockOrder,
172
- getSelectedBlockClientId,
173
- getSelectedBlockClientIds,
174
- __unstableGetVisibleBlocks,
175
- __unstableGetTemporarilyEditingAsBlocks,
176
- getTemplateLock,
177
- getBlockEditingMode,
178
- __unstableGetEditorMode,
179
- } = select( blockEditorStore );
180
- const selectedBlockClientId = getSelectedBlockClientId();
181
- return {
182
- order: getBlockOrder( rootClientId ),
183
- selectedBlocks: getSelectedBlockClientIds(),
184
- visibleBlocks: __unstableGetVisibleBlocks(),
185
- temporarilyEditingAsBlocks:
186
- __unstableGetTemporarilyEditingAsBlocks(),
187
- shouldRenderAppender:
188
- hasAppender &&
189
- ( hasCustomAppender
190
- ? ! getTemplateLock( rootClientId ) &&
191
- getBlockEditingMode( rootClientId ) !== 'disabled' &&
192
- __unstableGetEditorMode() !== 'zoom-out'
193
- : rootClientId === selectedBlockClientId ||
194
- ( ! rootClientId && ! selectedBlockClientId ) ),
195
- };
196
- },
197
- [ rootClientId, hasAppender, hasCustomAppender ]
198
- );
174
+ const { order, selectedBlocks, visibleBlocks, shouldRenderAppender } =
175
+ useSelect(
176
+ ( select ) => {
177
+ const {
178
+ getBlockOrder,
179
+ getSelectedBlockClientId,
180
+ getSelectedBlockClientIds,
181
+ __unstableGetVisibleBlocks,
182
+ getTemplateLock,
183
+ getBlockEditingMode,
184
+ __unstableGetEditorMode,
185
+ } = select( blockEditorStore );
186
+ const selectedBlockClientId = getSelectedBlockClientId();
187
+ return {
188
+ order: getBlockOrder( rootClientId ),
189
+ selectedBlocks: getSelectedBlockClientIds(),
190
+ visibleBlocks: __unstableGetVisibleBlocks(),
191
+ shouldRenderAppender:
192
+ hasAppender &&
193
+ ( hasCustomAppender
194
+ ? ! getTemplateLock( rootClientId ) &&
195
+ getBlockEditingMode( rootClientId ) !==
196
+ 'disabled' &&
197
+ __unstableGetEditorMode() !== 'zoom-out'
198
+ : rootClientId === selectedBlockClientId ||
199
+ ( ! rootClientId && ! selectedBlockClientId ) ),
200
+ };
201
+ },
202
+ [ rootClientId, hasAppender, hasCustomAppender ]
203
+ );
199
204
 
200
205
  return (
201
206
  <LayoutProvider value={ layout }>
@@ -216,11 +221,6 @@ function Items( {
216
221
  </AsyncModeProvider>
217
222
  ) ) }
218
223
  { order.length < 1 && placeholder }
219
- { !! temporarilyEditingAsBlocks && (
220
- <StopEditingAsBlocksOnOutsideSelect
221
- clientId={ temporarilyEditingAsBlocks }
222
- />
223
- ) }
224
224
  { shouldRenderAppender && (
225
225
  <BlockListAppender
226
226
  tagName={ __experimentalAppenderTagName }
@@ -0,0 +1,255 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render, screen } from 'test/helpers';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import BlockOutline from '../block-outline';
10
+
11
+ describe( 'BlockOutline', () => {
12
+ describe( 'containing an unselected block', () => {
13
+ it( 'should not render an outline', async () => {
14
+ render(
15
+ <BlockOutline
16
+ isSelected={ false }
17
+ blockCategory="design"
18
+ name="core/group"
19
+ />
20
+ );
21
+
22
+ expect( screen.queryByTestId( 'block-outline' ) ).toBeNull();
23
+ } );
24
+ } );
25
+
26
+ describe( 'containing a block with inner blocks', () => {
27
+ it( 'should render an outline', async () => {
28
+ render(
29
+ <BlockOutline
30
+ isSelected
31
+ blockCategory="design"
32
+ name="core/group"
33
+ hasInnerBlocks
34
+ />
35
+ );
36
+
37
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
38
+ } );
39
+ } );
40
+
41
+ describe( 'containing a design category block', () => {
42
+ it( 'should render an outline', async () => {
43
+ render(
44
+ <BlockOutline
45
+ isSelected
46
+ blockCategory="design"
47
+ name="core/group"
48
+ />
49
+ );
50
+
51
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
52
+ } );
53
+ } );
54
+
55
+ describe( 'containing a text category block', () => {
56
+ it( 'should not render an outline', async () => {
57
+ render(
58
+ <BlockOutline
59
+ isSelected
60
+ blockCategory="text"
61
+ name="core/paragraph"
62
+ />
63
+ );
64
+
65
+ expect( screen.queryByTestId( 'block-outline' ) ).toBeNull();
66
+ } );
67
+
68
+ describe( 'with inner blocks', () => {
69
+ it( 'should render an outline', async () => {
70
+ render(
71
+ <BlockOutline
72
+ isSelected
73
+ blockCategory="text"
74
+ name="core/list"
75
+ hasInnerBlocks
76
+ />
77
+ );
78
+
79
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
80
+ } );
81
+ } );
82
+ } );
83
+
84
+ describe( 'containing a widget category block', () => {
85
+ it( 'should render an outline', async () => {
86
+ render(
87
+ <BlockOutline
88
+ isSelected
89
+ blockCategory="widgets"
90
+ name="core/latest-posts"
91
+ />
92
+ );
93
+
94
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
95
+ } );
96
+ } );
97
+
98
+ describe( 'containing a spacer block', () => {
99
+ it( 'should not render an outline', async () => {
100
+ render(
101
+ <BlockOutline
102
+ isSelected
103
+ blockCategory="design"
104
+ name="core/spacer"
105
+ />
106
+ );
107
+
108
+ expect( screen.queryByTestId( 'block-outline' ) ).toBeNull();
109
+ } );
110
+ } );
111
+
112
+ describe( 'containing a button block', () => {
113
+ it( 'should not render an outline', async () => {
114
+ render(
115
+ <BlockOutline
116
+ isSelected
117
+ blockCategory="design"
118
+ name="core/button"
119
+ />
120
+ );
121
+
122
+ expect( screen.queryByTestId( 'block-outline' ) ).toBeNull();
123
+ } );
124
+ } );
125
+
126
+ describe( 'containing a social link block', () => {
127
+ it( 'should render an outline', async () => {
128
+ render(
129
+ <BlockOutline
130
+ isSelected
131
+ blockCategory="embed"
132
+ name="core/social-link"
133
+ />
134
+ );
135
+
136
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
137
+ } );
138
+
139
+ describe( 'when platform specific', () => {
140
+ it( 'should render an outline', async () => {
141
+ render(
142
+ <BlockOutline
143
+ isSelected
144
+ blockCategory="embed"
145
+ name="core/social-link-amazon"
146
+ />
147
+ );
148
+
149
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
150
+ } );
151
+ } );
152
+ } );
153
+
154
+ describe( 'containing a media block', () => {
155
+ it( 'should not render an outline', async () => {
156
+ render(
157
+ <BlockOutline
158
+ isSelected
159
+ blockCategory="media"
160
+ name="core/image"
161
+ />
162
+ );
163
+
164
+ expect( screen.queryByTestId( 'block-outline' ) ).toBeNull();
165
+ } );
166
+
167
+ describe( 'with inner blocks', () => {
168
+ it( 'should render an outline', async () => {
169
+ render(
170
+ <BlockOutline
171
+ isSelected
172
+ blockCategory="media"
173
+ name="core/gallery"
174
+ hasInnerBlocks
175
+ />
176
+ );
177
+
178
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
179
+ } );
180
+
181
+ describe( 'when cover block', () => {
182
+ it( 'should not render an outline', async () => {
183
+ render(
184
+ <BlockOutline
185
+ isSelected
186
+ blockCategory="media"
187
+ name="core/cover"
188
+ hasInnerBlocks
189
+ />
190
+ );
191
+
192
+ expect(
193
+ screen.queryByTestId( 'block-outline' )
194
+ ).toBeNull();
195
+ } );
196
+ } );
197
+ } );
198
+
199
+ describe( 'when a file block', () => {
200
+ it( 'should render an outline', async () => {
201
+ render(
202
+ <BlockOutline
203
+ isSelected
204
+ blockCategory="media"
205
+ name="core/file"
206
+ />
207
+ );
208
+
209
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
210
+ } );
211
+ } );
212
+
213
+ describe( 'when an audio block', () => {
214
+ it( 'should render an outline', async () => {
215
+ render(
216
+ <BlockOutline
217
+ isSelected
218
+ blockCategory="media"
219
+ name="core/audio"
220
+ />
221
+ );
222
+
223
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
224
+ } );
225
+ } );
226
+ } );
227
+
228
+ describe( 'containing a freeform block', () => {
229
+ it( 'should render an outline', async () => {
230
+ render(
231
+ <BlockOutline
232
+ isSelected
233
+ blockCategory="text"
234
+ name="core/freeform"
235
+ />
236
+ );
237
+
238
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
239
+ } );
240
+ } );
241
+
242
+ describe( 'containing a missing block', () => {
243
+ it( 'should render an outline', async () => {
244
+ render(
245
+ <BlockOutline
246
+ isSelected
247
+ blockCategory="text"
248
+ name="core/missing"
249
+ />
250
+ );
251
+
252
+ expect( screen.getByTestId( 'block-outline' ) ).toBeVisible();
253
+ } );
254
+ } );
255
+ } );
@@ -133,7 +133,7 @@ export const BlockMover = ( {
133
133
  options={ blockPageMoverOptions }
134
134
  onChange={ onPickerSelect }
135
135
  title={ __( 'Change block position' ) }
136
- leftAlign={ true }
136
+ leftAlign
137
137
  hideCancelButton={ Platform.OS !== 'ios' }
138
138
  />
139
139
  </ToolbarGroup>
@@ -0,0 +1,63 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useEffect, useState, useMemo, forwardRef } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';
10
+ import BlockPopover from '.';
11
+
12
+ function BlockPopoverCover(
13
+ { clientId, bottomClientId, children, shift = false, ...props },
14
+ ref
15
+ ) {
16
+ bottomClientId ??= clientId;
17
+
18
+ const selectedElement = useBlockElement( clientId );
19
+
20
+ return (
21
+ <BlockPopover
22
+ ref={ ref }
23
+ clientId={ clientId }
24
+ bottomClientId={ bottomClientId }
25
+ shift={ shift }
26
+ { ...props }
27
+ >
28
+ { selectedElement && clientId === bottomClientId ? (
29
+ <CoverContainer selectedElement={ selectedElement }>
30
+ { children }
31
+ </CoverContainer>
32
+ ) : (
33
+ children
34
+ ) }
35
+ </BlockPopover>
36
+ );
37
+ }
38
+
39
+ function CoverContainer( { selectedElement, children } ) {
40
+ const [ width, setWidth ] = useState( selectedElement.offsetWidth );
41
+ const [ height, setHeight ] = useState( selectedElement.offsetHeight );
42
+
43
+ useEffect( () => {
44
+ const observer = new window.ResizeObserver( () => {
45
+ setWidth( selectedElement.offsetWidth );
46
+ setHeight( selectedElement.offsetHeight );
47
+ } );
48
+ observer.observe( selectedElement, { box: 'border-box' } );
49
+ return () => observer.disconnect();
50
+ }, [ selectedElement ] );
51
+
52
+ const style = useMemo( () => {
53
+ return {
54
+ position: 'absolute',
55
+ width,
56
+ height,
57
+ };
58
+ }, [ width, height ] );
59
+
60
+ return <div style={ style }>{ children }</div>;
61
+ }
62
+
63
+ export default forwardRef( BlockPopoverCover );
@@ -9,7 +9,7 @@ import { __unstableMotion as motion } from '@wordpress/components';
9
9
  * Internal dependencies
10
10
  */
11
11
  import { store as blockEditorStore } from '../../store';
12
- import BlockPopover from './index';
12
+ import BlockPopoverCover from './cover';
13
13
 
14
14
  const animateVariants = {
15
15
  hide: { opacity: 0, scaleY: 0.75 },
@@ -38,9 +38,8 @@ function BlockDropZonePopover( {
38
38
  const reducedMotion = useReducedMotion();
39
39
 
40
40
  return (
41
- <BlockPopover
41
+ <BlockPopoverCover
42
42
  clientId={ clientId }
43
- __unstableCoverTarget
44
43
  __unstablePopoverSlot={ __unstablePopoverSlot }
45
44
  __unstableContentRef={ __unstableContentRef }
46
45
  className="block-editor-block-popover__drop-zone"
@@ -56,7 +55,7 @@ function BlockDropZonePopover( {
56
55
  }
57
56
  className="block-editor-block-popover__drop-zone-foreground"
58
57
  />
59
- </BlockPopover>
58
+ </BlockPopoverCover>
60
59
  );
61
60
  }
62
61
 
@@ -28,8 +28,6 @@ function BlockPopover(
28
28
  clientId,
29
29
  bottomClientId,
30
30
  children,
31
- __unstableRefreshSize,
32
- __unstableCoverTarget = false,
33
31
  __unstablePopoverSlot,
34
32
  __unstableContentRef,
35
33
  shift = true,
@@ -75,30 +73,6 @@ function BlockPopover(
75
73
  };
76
74
  }, [ selectedElement ] );
77
75
 
78
- const style = useMemo( () => {
79
- if (
80
- // popoverDimensionsRecomputeCounter is by definition always equal or greater
81
- // than 0. This check is only there to satisfy the correctness of the
82
- // exhaustive-deps rule for the `useMemo` hook.
83
- popoverDimensionsRecomputeCounter < 0 ||
84
- ! selectedElement ||
85
- lastSelectedElement !== selectedElement
86
- ) {
87
- return {};
88
- }
89
-
90
- return {
91
- position: 'absolute',
92
- width: selectedElement.offsetWidth,
93
- height: selectedElement.offsetHeight,
94
- };
95
- }, [
96
- selectedElement,
97
- lastSelectedElement,
98
- __unstableRefreshSize,
99
- popoverDimensionsRecomputeCounter,
100
- ] );
101
-
102
76
  const popoverAnchor = useMemo( () => {
103
77
  if (
104
78
  // popoverDimensionsRecomputeCounter is by definition always equal or greater
@@ -176,8 +150,7 @@ function BlockPopover(
176
150
  ) }
177
151
  variant="unstyled"
178
152
  >
179
- { __unstableCoverTarget && <div style={ style }>{ children }</div> }
180
- { ! __unstableCoverTarget && children }
153
+ { children }
181
154
  </Popover>
182
155
  );
183
156
  }
@@ -20,11 +20,13 @@ import EditorStyles from '../editor-styles';
20
20
  import { store as blockEditorStore } from '../../store';
21
21
  import { BlockListItems } from '../block-list';
22
22
 
23
+ const EMPTY_ADDITIONAL_STYLES = [];
24
+
23
25
  export function BlockPreview( {
24
26
  blocks,
25
27
  viewportWidth = 1200,
26
28
  minHeight,
27
- additionalStyles = [],
29
+ additionalStyles = EMPTY_ADDITIONAL_STYLES,
28
30
  // Deprecated props:
29
31
  __experimentalMinHeight,
30
32
  __experimentalPadding,
@@ -8,7 +8,7 @@ import {
8
8
  Button,
9
9
  __experimentalHStack as HStack,
10
10
  } from '@wordpress/components';
11
- import { __, _n } from '@wordpress/i18n';
11
+ import { __ } from '@wordpress/i18n';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
@@ -17,10 +17,9 @@ import { store as blockEditorStore } from '../../store';
17
17
  import { unlock } from '../../lock-unlock';
18
18
 
19
19
  export function BlockRemovalWarningModal( { rules } ) {
20
- const { clientIds, selectPrevious, blockNamesForPrompt, messageType } =
21
- useSelect( ( select ) =>
22
- unlock( select( blockEditorStore ) ).getRemovalPromptData()
23
- );
20
+ const { clientIds, selectPrevious, message } = useSelect( ( select ) =>
21
+ unlock( select( blockEditorStore ) ).getRemovalPromptData()
22
+ );
24
23
 
25
24
  const {
26
25
  clearBlockRemovalPrompt,
@@ -37,23 +36,10 @@ export function BlockRemovalWarningModal( { rules } ) {
37
36
  };
38
37
  }, [ rules, setBlockRemovalRules ] );
39
38
 
40
- if ( ! blockNamesForPrompt ) {
39
+ if ( ! message ) {
41
40
  return;
42
41
  }
43
42
 
44
- const message =
45
- messageType === 'templates'
46
- ? _n(
47
- 'Deleting this block will stop your post or page content from displaying on this template. It is not recommended.',
48
- 'Deleting these blocks will stop your post or page content from displaying on this template. It is not recommended.',
49
- blockNamesForPrompt.length
50
- )
51
- : _n(
52
- 'Deleting this block could break patterns on your site that have content linked to it. Are you sure you want to delete it?',
53
- 'Deleting these blocks could break patterns on your site that have content linked to them. Are you sure you want to delete them?',
54
- blockNamesForPrompt.length
55
- );
56
-
57
43
  const onConfirmRemoval = () => {
58
44
  privateRemoveBlocks( clientIds, selectPrevious, /* force */ true );
59
45
  clearBlockRemovalPrompt();
@@ -91,7 +91,7 @@ export default function BlockRenameModal( {
91
91
  __next40pxDefaultSize
92
92
  value={ editedBlockName }
93
93
  label={ __( 'Block name' ) }
94
- hideLabelFromVision={ true }
94
+ hideLabelFromVision
95
95
  placeholder={ originalBlockName }
96
96
  onChange={ setEditedBlockName }
97
97
  onFocus={ autoSelectInputText }