@wordpress/block-editor 11.0.0 → 11.2.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 (470) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/LICENSE.md +1 -1
  3. package/README.md +2 -1
  4. package/build/components/alignment-control/ui.js +1 -7
  5. package/build/components/alignment-control/ui.js.map +1 -1
  6. package/build/components/block-actions/index.js +9 -0
  7. package/build/components/block-actions/index.js.map +1 -1
  8. package/build/components/block-alignment-control/use-available-alignments.js +4 -3
  9. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  10. package/build/components/block-icon/index.js +4 -2
  11. package/build/components/block-icon/index.js.map +1 -1
  12. package/build/components/block-inspector/index.js +58 -5
  13. package/build/components/block-inspector/index.js.map +1 -1
  14. package/build/components/block-list-appender/index.js +46 -34
  15. package/build/components/block-list-appender/index.js.map +1 -1
  16. package/build/components/block-list-appender/index.native.js +39 -34
  17. package/build/components/block-list-appender/index.native.js.map +1 -1
  18. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +18 -18
  19. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  20. package/build/components/block-mobile-toolbar/index.native.js +1 -1
  21. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  22. package/build/components/block-pattern-setup/index.js +14 -7
  23. package/build/components/block-pattern-setup/index.js.map +1 -1
  24. package/build/components/block-preview/auto.js +1 -4
  25. package/build/components/block-preview/auto.js.map +1 -1
  26. package/build/components/block-settings-menu/block-settings-dropdown.js +4 -1
  27. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  28. package/build/components/block-styles/index.js +3 -1
  29. package/build/components/block-styles/index.js.map +1 -1
  30. package/build/components/block-styles/index.native.js +1 -3
  31. package/build/components/block-styles/index.native.js.map +1 -1
  32. package/build/components/block-styles/utils.js +7 -10
  33. package/build/components/block-styles/utils.js.map +1 -1
  34. package/build/components/block-toolbar/index.native.js +6 -8
  35. package/build/components/block-toolbar/index.native.js.map +1 -1
  36. package/build/components/block-tools/selected-block-popover.js +1 -3
  37. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  38. package/build/components/block-tools/use-block-toolbar-popover-props.js +43 -10
  39. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  40. package/build/components/block-variation-picker/index.js +1 -1
  41. package/build/components/block-variation-picker/index.js.map +1 -1
  42. package/build/components/colors/utils.js +2 -6
  43. package/build/components/colors/utils.js.map +1 -1
  44. package/build/components/colors-gradients/control.js +0 -3
  45. package/build/components/colors-gradients/control.js.map +1 -1
  46. package/build/components/colors-gradients/dropdown.js +0 -2
  47. package/build/components/colors-gradients/dropdown.js.map +1 -1
  48. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -19
  49. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  50. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -3
  51. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  52. package/build/components/copy-handler/index.js +37 -9
  53. package/build/components/copy-handler/index.js.map +1 -1
  54. package/build/components/default-style-picker/index.js +1 -0
  55. package/build/components/default-style-picker/index.js.map +1 -1
  56. package/build/components/font-sizes/fluid-utils.js +5 -2
  57. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  58. package/build/components/font-sizes/utils.js +10 -4
  59. package/build/components/font-sizes/utils.js.map +1 -1
  60. package/build/components/font-sizes/with-font-sizes.js +14 -12
  61. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  62. package/build/components/gradients/use-gradient.js +2 -8
  63. package/build/components/gradients/use-gradient.js.map +1 -1
  64. package/build/components/iframe/index.js +48 -101
  65. package/build/components/iframe/index.js.map +1 -1
  66. package/build/components/iframe/use-compatibility-styles.js +98 -0
  67. package/build/components/iframe/use-compatibility-styles.js.map +1 -0
  68. package/build/components/image-size-control/index.js +1 -0
  69. package/build/components/image-size-control/index.js.map +1 -1
  70. package/build/components/inner-blocks/index.js +6 -2
  71. package/build/components/inner-blocks/index.js.map +1 -1
  72. package/build/components/inserter/block-patterns-tab.js +4 -4
  73. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  74. package/build/components/inserter/hooks/use-insertion-point.js +4 -3
  75. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  76. package/build/components/inserter/index.js +16 -6
  77. package/build/components/inserter/index.js.map +1 -1
  78. package/build/components/inserter/media-tab/hooks.js +8 -5
  79. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  80. package/build/components/inserter/menu.js +11 -5
  81. package/build/components/inserter/menu.js.map +1 -1
  82. package/build/components/inserter/quick-inserter.js +6 -3
  83. package/build/components/inserter/quick-inserter.js.map +1 -1
  84. package/build/components/inserter/search-items.js +15 -14
  85. package/build/components/inserter/search-items.js.map +1 -1
  86. package/build/components/inserter/search-results.js +4 -2
  87. package/build/components/inserter/search-results.js.map +1 -1
  88. package/build/components/inspector-controls/groups.js +3 -1
  89. package/build/components/inspector-controls/groups.js.map +1 -1
  90. package/build/components/inspector-controls-tabs/position-controls-panel.js +46 -0
  91. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -0
  92. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  93. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  94. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -11
  95. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  96. package/build/components/link-control/search-input.js +1 -0
  97. package/build/components/link-control/search-input.js.map +1 -1
  98. package/build/components/list-view/block-select-button.js +1 -1
  99. package/build/components/list-view/block-select-button.js.map +1 -1
  100. package/build/components/off-canvas-editor/appender.js +3 -44
  101. package/build/components/off-canvas-editor/appender.js.map +1 -1
  102. package/build/components/off-canvas-editor/block-contents.js +38 -5
  103. package/build/components/off-canvas-editor/block-contents.js.map +1 -1
  104. package/build/components/off-canvas-editor/block-select-button.js +3 -2
  105. package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
  106. package/build/components/off-canvas-editor/block.js +51 -57
  107. package/build/components/off-canvas-editor/block.js.map +1 -1
  108. package/build/components/off-canvas-editor/index.js +12 -5
  109. package/build/components/off-canvas-editor/index.js.map +1 -1
  110. package/build/components/off-canvas-editor/use-inserted-block.js +58 -0
  111. package/build/components/off-canvas-editor/use-inserted-block.js.map +1 -0
  112. package/build/components/provider/index.js +3 -1
  113. package/build/components/provider/index.js.map +1 -1
  114. package/build/components/responsive-block-control/label.js.map +1 -1
  115. package/build/components/rich-text/format-edit.js +12 -10
  116. package/build/components/rich-text/format-edit.js.map +1 -1
  117. package/build/components/rich-text/index.js.map +1 -1
  118. package/build/components/rich-text/use-enter.js +4 -5
  119. package/build/components/rich-text/use-enter.js.map +1 -1
  120. package/build/components/rich-text/use-paste-handler.js +21 -12
  121. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  122. package/build/components/spacing-sizes-control/index.js +0 -1
  123. package/build/components/spacing-sizes-control/index.js.map +1 -1
  124. package/build/components/spacing-sizes-control/utils.js +1 -1
  125. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  126. package/build/components/typewriter/index.js +1 -1
  127. package/build/components/typewriter/index.js.map +1 -1
  128. package/build/components/url-input/button.js +1 -0
  129. package/build/components/url-input/button.js.map +1 -1
  130. package/build/components/url-input/index.js +15 -1
  131. package/build/components/url-input/index.js.map +1 -1
  132. package/build/components/url-popover/image-url-input-ui.js +2 -2
  133. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  134. package/build/components/url-popover/link-editor.js +1 -0
  135. package/build/components/url-popover/link-editor.js.map +1 -1
  136. package/build/components/use-paste-styles/index.js +188 -0
  137. package/build/components/use-paste-styles/index.js.map +1 -0
  138. package/build/components/writing-flow/index.js +1 -1
  139. package/build/components/writing-flow/index.js.map +1 -1
  140. package/build/components/writing-flow/use-arrow-nav.js +22 -29
  141. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  142. package/build/hooks/border.js +0 -1
  143. package/build/hooks/border.js.map +1 -1
  144. package/build/hooks/color-panel.js +0 -1
  145. package/build/hooks/color-panel.js.map +1 -1
  146. package/build/hooks/color.js +1 -2
  147. package/build/hooks/color.js.map +1 -1
  148. package/build/hooks/font-family.js +4 -4
  149. package/build/hooks/font-family.js.map +1 -1
  150. package/build/hooks/font-size.js +5 -3
  151. package/build/hooks/font-size.js.map +1 -1
  152. package/build/hooks/index.js +2 -0
  153. package/build/hooks/index.js.map +1 -1
  154. package/build/hooks/metadata.js +1 -1
  155. package/build/hooks/metadata.js.map +1 -1
  156. package/build/hooks/position.js +376 -0
  157. package/build/hooks/position.js.map +1 -0
  158. package/build/hooks/supports.js +328 -0
  159. package/build/hooks/supports.js.map +1 -0
  160. package/build/hooks/use-typography-props.js +11 -8
  161. package/build/hooks/use-typography-props.js.map +1 -1
  162. package/build/store/reducer.js +27 -9
  163. package/build/store/reducer.js.map +1 -1
  164. package/build/store/selectors.js +9 -7
  165. package/build/store/selectors.js.map +1 -1
  166. package/build/utils/pasting.js +6 -11
  167. package/build/utils/pasting.js.map +1 -1
  168. package/build-module/components/alignment-control/ui.js +1 -6
  169. package/build-module/components/alignment-control/ui.js.map +1 -1
  170. package/build-module/components/block-actions/index.js +6 -0
  171. package/build-module/components/block-actions/index.js.map +1 -1
  172. package/build-module/components/block-alignment-control/use-available-alignments.js +4 -3
  173. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  174. package/build-module/components/block-icon/index.js +4 -2
  175. package/build-module/components/block-icon/index.js.map +1 -1
  176. package/build-module/components/block-inspector/index.js +58 -6
  177. package/build-module/components/block-inspector/index.js.map +1 -1
  178. package/build-module/components/block-list-appender/index.js +46 -34
  179. package/build-module/components/block-list-appender/index.js.map +1 -1
  180. package/build-module/components/block-list-appender/index.native.js +39 -32
  181. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  182. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +18 -18
  183. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  184. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  185. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  186. package/build-module/components/block-pattern-setup/index.js +14 -7
  187. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  188. package/build-module/components/block-preview/auto.js +1 -4
  189. package/build-module/components/block-preview/auto.js.map +1 -1
  190. package/build-module/components/block-settings-menu/block-settings-dropdown.js +4 -1
  191. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  192. package/build-module/components/block-styles/index.js +2 -1
  193. package/build-module/components/block-styles/index.js.map +1 -1
  194. package/build-module/components/block-styles/index.native.js +1 -2
  195. package/build-module/components/block-styles/index.native.js.map +1 -1
  196. package/build-module/components/block-styles/utils.js +7 -9
  197. package/build-module/components/block-styles/utils.js.map +1 -1
  198. package/build-module/components/block-toolbar/index.native.js +6 -8
  199. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  200. package/build-module/components/block-tools/selected-block-popover.js +1 -2
  201. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  202. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +42 -11
  203. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  204. package/build-module/components/block-variation-picker/index.js +1 -1
  205. package/build-module/components/block-variation-picker/index.js.map +1 -1
  206. package/build-module/components/colors/utils.js +3 -7
  207. package/build-module/components/colors/utils.js.map +1 -1
  208. package/build-module/components/colors-gradients/control.js +0 -3
  209. package/build-module/components/colors-gradients/control.js.map +1 -1
  210. package/build-module/components/colors-gradients/dropdown.js +0 -2
  211. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  212. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +4 -19
  213. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  214. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
  215. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  216. package/build-module/components/copy-handler/index.js +38 -10
  217. package/build-module/components/copy-handler/index.js.map +1 -1
  218. package/build-module/components/default-style-picker/index.js +1 -0
  219. package/build-module/components/default-style-picker/index.js.map +1 -1
  220. package/build-module/components/font-sizes/fluid-utils.js +5 -2
  221. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  222. package/build-module/components/font-sizes/utils.js +11 -5
  223. package/build-module/components/font-sizes/utils.js.map +1 -1
  224. package/build-module/components/font-sizes/with-font-sizes.js +14 -11
  225. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  226. package/build-module/components/gradients/use-gradient.js +2 -7
  227. package/build-module/components/gradients/use-gradient.js.map +1 -1
  228. package/build-module/components/iframe/index.js +46 -102
  229. package/build-module/components/iframe/index.js.map +1 -1
  230. package/build-module/components/iframe/use-compatibility-styles.js +90 -0
  231. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -0
  232. package/build-module/components/image-size-control/index.js +1 -0
  233. package/build-module/components/image-size-control/index.js.map +1 -1
  234. package/build-module/components/inner-blocks/index.js +6 -2
  235. package/build-module/components/inner-blocks/index.js.map +1 -1
  236. package/build-module/components/inserter/block-patterns-tab.js +4 -4
  237. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  238. package/build-module/components/inserter/hooks/use-insertion-point.js +4 -3
  239. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  240. package/build-module/components/inserter/index.js +16 -6
  241. package/build-module/components/inserter/index.js.map +1 -1
  242. package/build-module/components/inserter/media-tab/hooks.js +8 -5
  243. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  244. package/build-module/components/inserter/menu.js +11 -5
  245. package/build-module/components/inserter/menu.js.map +1 -1
  246. package/build-module/components/inserter/quick-inserter.js +6 -3
  247. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  248. package/build-module/components/inserter/search-items.js +15 -13
  249. package/build-module/components/inserter/search-items.js.map +1 -1
  250. package/build-module/components/inserter/search-results.js +4 -2
  251. package/build-module/components/inserter/search-results.js.map +1 -1
  252. package/build-module/components/inspector-controls/groups.js +3 -1
  253. package/build-module/components/inspector-controls/groups.js.map +1 -1
  254. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +33 -0
  255. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -0
  256. package/build-module/components/inspector-controls-tabs/settings-tab.js +2 -1
  257. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  258. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -11
  259. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  260. package/build-module/components/link-control/search-input.js +1 -0
  261. package/build-module/components/link-control/search-input.js.map +1 -1
  262. package/build-module/components/list-view/block-select-button.js +1 -1
  263. package/build-module/components/list-view/block-select-button.js.map +1 -1
  264. package/build-module/components/off-canvas-editor/appender.js +5 -44
  265. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  266. package/build-module/components/off-canvas-editor/block-contents.js +37 -7
  267. package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
  268. package/build-module/components/off-canvas-editor/block-select-button.js +3 -2
  269. package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
  270. package/build-module/components/off-canvas-editor/block.js +54 -60
  271. package/build-module/components/off-canvas-editor/block.js.map +1 -1
  272. package/build-module/components/off-canvas-editor/index.js +12 -5
  273. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  274. package/build-module/components/off-canvas-editor/use-inserted-block.js +47 -0
  275. package/build-module/components/off-canvas-editor/use-inserted-block.js.map +1 -0
  276. package/build-module/components/provider/index.js +3 -1
  277. package/build-module/components/provider/index.js.map +1 -1
  278. package/build-module/components/responsive-block-control/label.js +1 -2
  279. package/build-module/components/responsive-block-control/label.js.map +1 -1
  280. package/build-module/components/rich-text/format-edit.js +12 -9
  281. package/build-module/components/rich-text/format-edit.js.map +1 -1
  282. package/build-module/components/rich-text/index.js.map +1 -1
  283. package/build-module/components/rich-text/use-enter.js +4 -5
  284. package/build-module/components/rich-text/use-enter.js.map +1 -1
  285. package/build-module/components/rich-text/use-paste-handler.js +22 -12
  286. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  287. package/build-module/components/spacing-sizes-control/index.js +0 -1
  288. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/utils.js +1 -1
  290. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  291. package/build-module/components/typewriter/index.js +1 -1
  292. package/build-module/components/typewriter/index.js.map +1 -1
  293. package/build-module/components/url-input/button.js +1 -0
  294. package/build-module/components/url-input/button.js.map +1 -1
  295. package/build-module/components/url-input/index.js +14 -1
  296. package/build-module/components/url-input/index.js.map +1 -1
  297. package/build-module/components/url-popover/image-url-input-ui.js +3 -3
  298. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  299. package/build-module/components/url-popover/link-editor.js +1 -0
  300. package/build-module/components/url-popover/link-editor.js.map +1 -1
  301. package/build-module/components/use-paste-styles/index.js +174 -0
  302. package/build-module/components/use-paste-styles/index.js.map +1 -0
  303. package/build-module/components/writing-flow/index.js +1 -1
  304. package/build-module/components/writing-flow/index.js.map +1 -1
  305. package/build-module/components/writing-flow/use-arrow-nav.js +22 -29
  306. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  307. package/build-module/hooks/border.js +0 -1
  308. package/build-module/hooks/border.js.map +1 -1
  309. package/build-module/hooks/color-panel.js +0 -1
  310. package/build-module/hooks/color-panel.js.map +1 -1
  311. package/build-module/hooks/color.js +1 -2
  312. package/build-module/hooks/color.js.map +1 -1
  313. package/build-module/hooks/font-family.js +5 -5
  314. package/build-module/hooks/font-family.js.map +1 -1
  315. package/build-module/hooks/font-size.js +5 -3
  316. package/build-module/hooks/font-size.js.map +1 -1
  317. package/build-module/hooks/index.js +1 -0
  318. package/build-module/hooks/index.js.map +1 -1
  319. package/build-module/hooks/metadata.js +1 -1
  320. package/build-module/hooks/metadata.js.map +1 -1
  321. package/build-module/hooks/position.js +337 -0
  322. package/build-module/hooks/position.js.map +1 -0
  323. package/build-module/hooks/supports.js +257 -0
  324. package/build-module/hooks/supports.js.map +1 -0
  325. package/build-module/hooks/use-typography-props.js +11 -8
  326. package/build-module/hooks/use-typography-props.js.map +1 -1
  327. package/build-module/store/reducer.js +27 -8
  328. package/build-module/store/reducer.js.map +1 -1
  329. package/build-module/store/selectors.js +9 -7
  330. package/build-module/store/selectors.js.map +1 -1
  331. package/build-module/utils/pasting.js +6 -10
  332. package/build-module/utils/pasting.js.map +1 -1
  333. package/build-style/content-rtl.css +60 -3
  334. package/build-style/content.css +60 -3
  335. package/build-style/default-editor-styles-rtl.css +3 -3
  336. package/build-style/default-editor-styles.css +3 -3
  337. package/build-style/style-rtl.css +62 -69
  338. package/build-style/style.css +62 -69
  339. package/package.json +29 -29
  340. package/src/components/alignment-control/test/index.js +2 -0
  341. package/src/components/alignment-control/ui.js +1 -7
  342. package/src/components/block-actions/index.js +5 -0
  343. package/src/components/block-alignment-control/test/index.js +2 -0
  344. package/src/components/block-alignment-control/use-available-alignments.js +4 -3
  345. package/src/components/block-icon/index.js +4 -2
  346. package/src/components/block-icon/test/index.js +9 -5
  347. package/src/components/block-inspector/index.js +79 -4
  348. package/src/components/block-inspector/style.scss +7 -0
  349. package/src/components/block-list-appender/index.js +65 -54
  350. package/src/components/block-list-appender/index.native.js +45 -34
  351. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +18 -22
  352. package/src/components/block-mobile-toolbar/index.native.js +1 -1
  353. package/src/components/block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap +125 -0
  354. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +439 -0
  355. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +42 -0
  356. package/src/components/block-mover/test/index.native.js +157 -1
  357. package/src/components/block-pattern-setup/index.js +15 -6
  358. package/src/components/block-pattern-setup/style.scss +29 -1
  359. package/src/components/block-preview/auto.js +2 -4
  360. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  361. package/src/components/block-styles/index.js +4 -1
  362. package/src/components/block-styles/index.native.js +1 -2
  363. package/src/components/block-styles/utils.js +5 -7
  364. package/src/components/block-switcher/test/index.js +3 -2
  365. package/src/components/block-toolbar/index.native.js +8 -11
  366. package/src/components/block-tools/selected-block-popover.js +1 -3
  367. package/src/components/block-tools/use-block-toolbar-popover-props.js +68 -12
  368. package/src/components/block-variation-picker/index.js +5 -1
  369. package/src/components/block-vertical-alignment-control/test/index.js +2 -0
  370. package/src/components/button-block-appender/{style.scss → content.scss} +0 -0
  371. package/src/components/colors/test/with-colors.js +2 -0
  372. package/src/components/colors/utils.js +5 -3
  373. package/src/components/colors-gradients/control.js +0 -7
  374. package/src/components/colors-gradients/dropdown.js +0 -2
  375. package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -22
  376. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
  377. package/src/components/copy-handler/index.js +53 -7
  378. package/src/components/default-block-appender/test/index.js +2 -0
  379. package/src/components/default-style-picker/index.js +1 -0
  380. package/src/components/font-sizes/fluid-utils.js +7 -1
  381. package/src/components/font-sizes/utils.js +5 -3
  382. package/src/components/font-sizes/with-font-sizes.js +36 -36
  383. package/src/components/gradients/use-gradient.js +2 -7
  384. package/src/components/iframe/index.js +60 -122
  385. package/src/components/iframe/use-compatibility-styles.js +101 -0
  386. package/src/components/image-size-control/index.js +1 -0
  387. package/src/components/image-size-control/test/index.js +147 -79
  388. package/src/components/inner-blocks/index.js +4 -2
  389. package/src/components/inserter/block-patterns-tab.js +7 -4
  390. package/src/components/inserter/hooks/use-insertion-point.js +3 -2
  391. package/src/components/inserter/index.js +61 -43
  392. package/src/components/inserter/media-tab/hooks.js +5 -4
  393. package/src/components/inserter/menu.js +8 -4
  394. package/src/components/inserter/quick-inserter.js +3 -0
  395. package/src/components/inserter/search-items.js +1 -2
  396. package/src/components/inserter/search-results.js +2 -0
  397. package/src/components/inserter/test/__snapshots__/index.native.js.snap +117 -0
  398. package/src/components/inserter/test/index.native.js +255 -1
  399. package/src/components/inspector-controls/groups.js +2 -0
  400. package/src/components/inspector-controls-tabs/position-controls-panel.js +37 -0
  401. package/src/components/inspector-controls-tabs/settings-tab.js +2 -0
  402. package/src/components/inspector-controls-tabs/style.scss +15 -0
  403. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -8
  404. package/src/components/link-control/search-input.js +1 -0
  405. package/src/components/link-control/style.scss +1 -0
  406. package/src/components/link-control/test/index.js +18 -4
  407. package/src/components/list-view/block-select-button.js +1 -1
  408. package/src/components/list-view/style.scss +14 -10
  409. package/src/components/media-replace-flow/test/index.js +2 -0
  410. package/src/components/off-canvas-editor/appender.js +4 -49
  411. package/src/components/off-canvas-editor/block-contents.js +84 -23
  412. package/src/components/off-canvas-editor/block-select-button.js +6 -2
  413. package/src/components/off-canvas-editor/block.js +90 -105
  414. package/src/components/off-canvas-editor/index.js +21 -2
  415. package/src/components/off-canvas-editor/style.scss +5 -1
  416. package/src/components/off-canvas-editor/test/use-inserted-block.js +108 -0
  417. package/src/components/off-canvas-editor/use-inserted-block.js +47 -0
  418. package/src/components/provider/index.js +4 -1
  419. package/src/components/responsive-block-control/label.js +2 -3
  420. package/src/components/responsive-block-control/test/index.js +4 -2
  421. package/src/components/rich-text/format-edit.js +6 -10
  422. package/src/components/rich-text/index.js +1 -0
  423. package/src/components/rich-text/use-enter.js +4 -4
  424. package/src/components/rich-text/use-paste-handler.js +33 -14
  425. package/src/components/spacing-sizes-control/index.js +0 -1
  426. package/src/components/spacing-sizes-control/utils.js +1 -1
  427. package/src/components/typewriter/index.js +3 -1
  428. package/src/components/url-input/README.md +5 -0
  429. package/src/components/url-input/button.js +1 -0
  430. package/src/components/url-input/index.js +15 -1
  431. package/src/components/url-input/test/button.js +2 -0
  432. package/src/components/url-popover/image-url-input-ui.js +5 -4
  433. package/src/components/url-popover/link-editor.js +1 -0
  434. package/src/components/url-popover/test/index.js +21 -5
  435. package/src/components/use-paste-styles/index.js +230 -0
  436. package/src/components/warning/test/index.js +2 -0
  437. package/src/components/writing-flow/index.js +1 -1
  438. package/src/components/writing-flow/use-arrow-nav.js +20 -28
  439. package/src/content.scss +1 -0
  440. package/src/hooks/border.js +0 -1
  441. package/src/hooks/color-panel.js +0 -1
  442. package/src/hooks/color.js +0 -2
  443. package/src/hooks/font-family.js +3 -5
  444. package/src/hooks/font-size.js +13 -4
  445. package/src/hooks/index.js +1 -0
  446. package/src/hooks/metadata.js +1 -2
  447. package/src/hooks/position.js +375 -0
  448. package/src/hooks/position.scss +18 -0
  449. package/src/hooks/supports.js +302 -0
  450. package/src/hooks/test/__snapshots__/align.native.js.snap +73 -0
  451. package/src/hooks/test/align.native.js +133 -0
  452. package/src/hooks/test/use-typography-props.js +26 -0
  453. package/src/hooks/use-typography-props.js +15 -7
  454. package/src/store/reducer.js +20 -8
  455. package/src/store/selectors.js +7 -8
  456. package/src/store/test/reducer.js +45 -3
  457. package/src/store/test/selectors.js +12 -9
  458. package/src/style.scss +2 -1
  459. package/src/utils/pasting.js +3 -9
  460. package/tsconfig.tsbuildinfo +1 -1
  461. package/build/components/colors-gradients/use-common-single-multiple-selects.js +0 -21
  462. package/build/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
  463. package/build/components/rich-text/file-paste-handler.js +0 -21
  464. package/build/components/rich-text/file-paste-handler.js.map +0 -1
  465. package/build-module/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
  466. package/build-module/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
  467. package/build-module/components/rich-text/file-paste-handler.js +0 -13
  468. package/build-module/components/rich-text/file-paste-handler.js.map +0 -1
  469. package/src/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
  470. package/src/components/rich-text/file-paste-handler.js +0 -13
@@ -16,67 +16,78 @@ import DefaultBlockAppender from '../default-block-appender';
16
16
  import ButtonBlockAppender from '../button-block-appender';
17
17
  import { store as blockEditorStore } from '../../store';
18
18
 
19
- function BlockListAppender( {
20
- rootClientId,
21
- renderAppender: CustomAppender,
22
- className,
23
- tagName: TagName = 'div',
24
- } ) {
25
- const { hideInserter, canInsertDefaultBlock, selectedBlockClientId } =
26
- useSelect(
27
- ( select ) => {
28
- const {
29
- canInsertBlockType,
30
- getTemplateLock,
31
- getSelectedBlockClientId,
32
- __unstableGetEditorMode,
33
- } = select( blockEditorStore );
34
-
35
- return {
36
- hideInserter:
37
- !! getTemplateLock( rootClientId ) ||
38
- __unstableGetEditorMode() === 'zoom-out',
39
- canInsertDefaultBlock: canInsertBlockType(
40
- getDefaultBlockName(),
41
- rootClientId
42
- ),
43
- selectedBlockClientId: getSelectedBlockClientId(),
44
- };
45
- },
46
- [ rootClientId ]
47
- );
19
+ function DefaultAppender( { rootClientId } ) {
20
+ const canInsertDefaultBlock = useSelect( ( select ) =>
21
+ select( blockEditorStore ).canInsertBlockType(
22
+ getDefaultBlockName(),
23
+ rootClientId
24
+ )
25
+ );
26
+
27
+ if ( canInsertDefaultBlock ) {
28
+ // Render the default block appender if the context supports use
29
+ // of the default appender.
30
+ return <DefaultBlockAppender rootClientId={ rootClientId } />;
31
+ }
32
+
33
+ // Fallback in case the default block can't be inserted.
34
+ return (
35
+ <ButtonBlockAppender
36
+ rootClientId={ rootClientId }
37
+ className="block-list-appender__toggle"
38
+ />
39
+ );
40
+ }
41
+
42
+ function useAppender( rootClientId, CustomAppender ) {
43
+ const { hideInserter, isParentSelected } = useSelect(
44
+ ( select ) => {
45
+ const {
46
+ getTemplateLock,
47
+ getSelectedBlockClientId,
48
+ __unstableGetEditorMode,
49
+ } = select( blockEditorStore );
50
+
51
+ const selectedBlockClientId = getSelectedBlockClientId();
52
+
53
+ return {
54
+ hideInserter:
55
+ !! getTemplateLock( rootClientId ) ||
56
+ __unstableGetEditorMode() === 'zoom-out',
57
+ isParentSelected:
58
+ rootClientId === selectedBlockClientId ||
59
+ ( ! rootClientId && ! selectedBlockClientId ),
60
+ };
61
+ },
62
+ [ rootClientId ]
63
+ );
48
64
 
49
65
  if ( hideInserter || CustomAppender === false ) {
50
66
  return null;
51
67
  }
52
68
 
53
- let appender;
54
69
  if ( CustomAppender ) {
55
70
  // Prefer custom render prop if provided.
56
- appender = <CustomAppender />;
57
- } else {
58
- const isParentSelected =
59
- selectedBlockClientId === rootClientId ||
60
- ( ! rootClientId && ! selectedBlockClientId );
61
-
62
- if ( ! isParentSelected ) {
63
- return null;
64
- }
65
-
66
- if ( canInsertDefaultBlock ) {
67
- // Render the default block appender when renderAppender has not been
68
- // provided and the context supports use of the default appender.
69
- appender = <DefaultBlockAppender rootClientId={ rootClientId } />;
70
- } else {
71
- // Fallback in the case no renderAppender has been provided and the
72
- // default block can't be inserted.
73
- appender = (
74
- <ButtonBlockAppender
75
- rootClientId={ rootClientId }
76
- className="block-list-appender__toggle"
77
- />
78
- );
79
- }
71
+ return <CustomAppender />;
72
+ }
73
+
74
+ if ( ! isParentSelected ) {
75
+ return null;
76
+ }
77
+
78
+ return <DefaultAppender rootClientId={ rootClientId } />;
79
+ }
80
+
81
+ function BlockListAppender( {
82
+ rootClientId,
83
+ renderAppender,
84
+ className,
85
+ tagName: TagName = 'div',
86
+ } ) {
87
+ const appender = useAppender( rootClientId, renderAppender );
88
+
89
+ if ( ! appender ) {
90
+ return null;
80
91
  }
81
92
 
82
93
  return (
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { withSelect } from '@wordpress/data';
4
+ import { useSelect } from '@wordpress/data';
5
5
  import { getDefaultBlockName } from '@wordpress/blocks';
6
6
 
7
7
  /**
@@ -11,14 +11,48 @@ import DefaultBlockAppender from '../default-block-appender';
11
11
  import styles from './style.scss';
12
12
  import { store as blockEditorStore } from '../../store';
13
13
 
14
- function BlockListAppender( {
15
- blockClientIds,
14
+ function DefaultAppender( { rootClientId, showSeparator } ) {
15
+ const { blockClientIds, canInsertDefaultBlock } = useSelect(
16
+ ( select ) => {
17
+ const { getBlockOrder, canInsertBlockType } =
18
+ select( blockEditorStore );
19
+ return {
20
+ blockClientIds: getBlockOrder( rootClientId ),
21
+ canInsertDefaultBlock: canInsertBlockType(
22
+ getDefaultBlockName(),
23
+ rootClientId
24
+ ),
25
+ };
26
+ },
27
+ [ rootClientId ]
28
+ );
29
+
30
+ if ( ! canInsertDefaultBlock ) {
31
+ return null;
32
+ }
33
+
34
+ return (
35
+ <DefaultBlockAppender
36
+ rootClientId={ rootClientId }
37
+ lastBlockClientId={ blockClientIds[ blockClientIds.length - 1 ] }
38
+ containerStyle={ styles.blockListAppender }
39
+ placeholder={ blockClientIds.length > 0 ? '' : null }
40
+ showSeparator={ showSeparator }
41
+ />
42
+ );
43
+ }
44
+
45
+ export default function BlockListAppender( {
16
46
  rootClientId,
17
- canInsertDefaultBlock,
18
- isLocked,
19
47
  renderAppender: CustomAppender,
20
48
  showSeparator,
21
49
  } ) {
50
+ const isLocked = useSelect(
51
+ ( select ) =>
52
+ !! select( blockEditorStore ).getTemplateLock( rootClientId ),
53
+ [ rootClientId ]
54
+ );
55
+
22
56
  if ( isLocked ) {
23
57
  return null;
24
58
  }
@@ -27,33 +61,10 @@ function BlockListAppender( {
27
61
  return <CustomAppender showSeparator={ showSeparator } />;
28
62
  }
29
63
 
30
- if ( canInsertDefaultBlock ) {
31
- return (
32
- <DefaultBlockAppender
33
- rootClientId={ rootClientId }
34
- lastBlockClientId={
35
- blockClientIds[ blockClientIds.length - 1 ]
36
- }
37
- containerStyle={ styles.blockListAppender }
38
- placeholder={ blockClientIds.length > 0 ? '' : null }
39
- showSeparator={ showSeparator }
40
- />
41
- );
42
- }
43
-
44
- return null;
64
+ return (
65
+ <DefaultAppender
66
+ rootClientId={ rootClientId }
67
+ showSeparator={ showSeparator }
68
+ />
69
+ );
45
70
  }
46
-
47
- export default withSelect( ( select, { rootClientId } ) => {
48
- const { getBlockOrder, canInsertBlockType, getTemplateLock } =
49
- select( blockEditorStore );
50
-
51
- return {
52
- isLocked: !! getTemplateLock( rootClientId ),
53
- blockClientIds: getBlockOrder( rootClientId ),
54
- canInsertDefaultBlock: canInsertBlockType(
55
- getDefaultBlockName(),
56
- rootClientId
57
- ),
58
- };
59
- } )( BlockListAppender );
@@ -286,6 +286,7 @@ const BlockActionsMenu = ( {
286
286
  } }
287
287
  />
288
288
  <Picker
289
+ testID="block-actions-menu"
289
290
  ref={ blockActionsMenuPickerRef }
290
291
  options={ options }
291
292
  onChange={ onPickerSelect }
@@ -312,7 +313,7 @@ const BlockActionsMenu = ( {
312
313
  const EMPTY_BLOCK_LIST = [];
313
314
 
314
315
  export default compose(
315
- withSelect( ( select, { clientIds } ) => {
316
+ withSelect( ( select, { clientId } ) => {
316
317
  const {
317
318
  getBlockIndex,
318
319
  getBlockRootClientId,
@@ -325,23 +326,18 @@ export default compose(
325
326
  canInsertBlockType,
326
327
  getTemplateLock,
327
328
  } = select( blockEditorStore );
328
- const normalizedClientIds = Array.isArray( clientIds )
329
- ? clientIds
330
- : [ clientIds ];
331
- const block = getBlock( normalizedClientIds );
332
- const blockName = getBlockName( normalizedClientIds );
329
+ const block = getBlock( clientId );
330
+ const blockName = getBlockName( clientId );
333
331
  const blockType = getBlockType( blockName );
334
332
  const blockTitle = blockType?.title;
335
- const firstClientId = normalizedClientIds[ 0 ];
336
- const rootClientId = getBlockRootClientId( firstClientId );
333
+ const rootClientId = getBlockRootClientId( clientId );
337
334
  const blockOrder = getBlockOrder( rootClientId );
338
335
 
339
- const firstIndex = getBlockIndex( firstClientId );
340
- const lastIndex = getBlockIndex(
341
- normalizedClientIds[ normalizedClientIds.length - 1 ]
342
- );
336
+ const currentBlockIndex = getBlockIndex( clientId );
337
+ const isFirst = currentBlockIndex === 0;
338
+ const isLast = currentBlockIndex === blockOrder.length - 1;
343
339
 
344
- const innerBlocks = getBlocksByClientId( clientIds );
340
+ const innerBlocks = getBlocksByClientId( clientId );
345
341
 
346
342
  const canDuplicate = innerBlocks.every( ( innerBlock ) => {
347
343
  return (
@@ -378,13 +374,13 @@ export default compose(
378
374
  return {
379
375
  blockTitle,
380
376
  canInsertBlockType,
381
- currentIndex: firstIndex,
377
+ currentIndex: currentBlockIndex,
382
378
  getBlocksByClientId,
383
379
  isEmptyDefaultBlock,
384
380
  isLocked,
385
381
  canDuplicate,
386
- isFirst: firstIndex === 0,
387
- isLast: lastIndex === blockOrder.length - 1,
382
+ isFirst,
383
+ isLast,
388
384
  isReusableBlockType,
389
385
  reusableBlock,
390
386
  rootClientId,
@@ -395,7 +391,7 @@ export default compose(
395
391
  withDispatch(
396
392
  (
397
393
  dispatch,
398
- { clientIds, rootClientId, currentIndex, selectedBlockClientId },
394
+ { clientId, rootClientId, currentIndex, selectedBlockClientId },
399
395
  { select }
400
396
  ) => {
401
397
  const {
@@ -404,7 +400,7 @@ export default compose(
404
400
  duplicateBlocks,
405
401
  removeBlocks,
406
402
  insertBlock,
407
- replaceBlocks,
403
+ replaceBlock,
408
404
  clearSelectedBlock,
409
405
  } = dispatch( blockEditorStore );
410
406
  const { openGeneralSidebar } = dispatch( 'core/edit-post' );
@@ -426,12 +422,12 @@ export default compose(
426
422
  );
427
423
  },
428
424
  duplicateBlock() {
429
- return duplicateBlocks( clientIds );
425
+ return duplicateBlocks( [ clientId ] );
430
426
  },
431
427
  onMoveDown: ( ...args ) =>
432
- moveBlocksDown( clientIds, rootClientId, ...args ),
428
+ moveBlocksDown( [ clientId ], rootClientId, ...args ),
433
429
  onMoveUp: ( ...args ) =>
434
- moveBlocksUp( clientIds, rootClientId, ...args ),
430
+ moveBlocksUp( [ clientId ], rootClientId, ...args ),
435
431
  openGeneralSidebar: () =>
436
432
  openGeneralSidebar( 'edit-post/block' ),
437
433
  pasteBlock: ( clipboardBlock ) => {
@@ -452,7 +448,7 @@ export default compose(
452
448
  rootClientId
453
449
  );
454
450
  } else {
455
- replaceBlocks( clientIds, clipboardBlock );
451
+ replaceBlock( clientId, clipboardBlock );
456
452
  }
457
453
  },
458
454
  removeBlocks,
@@ -98,7 +98,7 @@ const BlockMobileToolbar = ( {
98
98
  </BlockSettingsButton.Slot>
99
99
 
100
100
  <BlockActionsMenu
101
- clientIds={ [ clientId ] }
101
+ clientId={ clientId }
102
102
  wrapBlockMover={ wrapBlockMover }
103
103
  wrapBlockSettings={ wrapBlockSettings && fillsLength }
104
104
  isStackedHorizontally={ isStackedHorizontally }
@@ -0,0 +1,125 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Block Actions Menu block options copies and pastes a block 1`] = `
4
+ "<!-- wp:paragraph -->
5
+ <p>Hello!</p>
6
+ <!-- /wp:paragraph -->
7
+
8
+ <!-- wp:heading -->
9
+ <h2 class=\\"wp-block-heading\\"></h2>
10
+ <!-- /wp:heading -->
11
+
12
+ <!-- wp:spacer -->
13
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
14
+ <!-- /wp:spacer -->
15
+
16
+ <!-- wp:heading -->
17
+ <h2 class=\\"wp-block-heading\\"></h2>
18
+ <!-- /wp:heading -->"
19
+ `;
20
+
21
+ exports[`Block Actions Menu block options cuts and pastes a block 1`] = `
22
+ "<!-- wp:spacer -->
23
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
24
+ <!-- /wp:spacer -->
25
+
26
+ <!-- wp:heading -->
27
+ <h2 class=\\"wp-block-heading\\"></h2>
28
+ <!-- /wp:heading -->
29
+
30
+ <!-- wp:paragraph -->
31
+ <p>Hello!</p>
32
+ <!-- /wp:paragraph -->"
33
+ `;
34
+
35
+ exports[`Block Actions Menu block options does not replace a non empty Paragraph block when pasting another block 1`] = `
36
+ "<!-- wp:paragraph -->
37
+ <p>Hello!</p>
38
+ <!-- /wp:paragraph -->
39
+
40
+ <!-- wp:heading -->
41
+ <h2 class=\\"wp-block-heading\\"></h2>
42
+ <!-- /wp:heading -->
43
+
44
+ <!-- wp:spacer -->
45
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
46
+ <!-- /wp:spacer -->
47
+
48
+ <!-- wp:heading -->
49
+ <h2 class=\\"wp-block-heading\\"></h2>
50
+ <!-- /wp:heading -->"
51
+ `;
52
+
53
+ exports[`Block Actions Menu block options duplicates a block 1`] = `
54
+ "<!-- wp:paragraph -->
55
+ <p>Hello!</p>
56
+ <!-- /wp:paragraph -->
57
+
58
+ <!-- wp:spacer -->
59
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
60
+ <!-- /wp:spacer -->
61
+
62
+ <!-- wp:spacer -->
63
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
64
+ <!-- /wp:spacer -->
65
+
66
+ <!-- wp:heading -->
67
+ <h2 class=\\"wp-block-heading\\"></h2>
68
+ <!-- /wp:heading -->"
69
+ `;
70
+
71
+ exports[`Block Actions Menu block options transforms a Paragraph block into a Pullquote block 1`] = `
72
+ "<!-- wp:pullquote -->
73
+ <figure class=\\"wp-block-pullquote\\"><blockquote><p>Hello!</p></blockquote></figure>
74
+ <!-- /wp:pullquote -->
75
+
76
+ <!-- wp:spacer -->
77
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
78
+ <!-- /wp:spacer -->
79
+
80
+ <!-- wp:heading -->
81
+ <h2 class=\\"wp-block-heading\\"></h2>
82
+ <!-- /wp:heading -->"
83
+ `;
84
+
85
+ exports[`Block Actions Menu moving blocks disables the Move Down button for the last block 1`] = `
86
+ "<!-- wp:paragraph -->
87
+ <p>Hello!</p>
88
+ <!-- /wp:paragraph -->
89
+
90
+ <!-- wp:spacer -->
91
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
92
+ <!-- /wp:spacer -->
93
+
94
+ <!-- wp:heading -->
95
+ <h2 class=\\"wp-block-heading\\"></h2>
96
+ <!-- /wp:heading -->"
97
+ `;
98
+
99
+ exports[`Block Actions Menu moving blocks disables the Move Up button for the first block 1`] = `
100
+ "<!-- wp:paragraph -->
101
+ <p>Hello!</p>
102
+ <!-- /wp:paragraph -->
103
+
104
+ <!-- wp:spacer -->
105
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
106
+ <!-- /wp:spacer -->
107
+
108
+ <!-- wp:heading -->
109
+ <h2 class=\\"wp-block-heading\\"></h2>
110
+ <!-- /wp:heading -->"
111
+ `;
112
+
113
+ exports[`Block Actions Menu moving blocks moves blocks up and down 1`] = `
114
+ "<!-- wp:heading -->
115
+ <h2 class=\\"wp-block-heading\\"></h2>
116
+ <!-- /wp:heading -->
117
+
118
+ <!-- wp:paragraph -->
119
+ <p>Hello!</p>
120
+ <!-- /wp:paragraph -->
121
+
122
+ <!-- wp:spacer -->
123
+ <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
124
+ <!-- /wp:spacer -->"
125
+ `;