@wordpress/block-editor 15.20.0 → 15.21.1

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 (430) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/components/block-compare/index.cjs +2 -2
  3. package/build/components/block-compare/index.cjs.map +2 -2
  4. package/build/components/block-list/use-block-props/index.cjs +1 -1
  5. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  6. package/build/components/block-patterns-list/index.cjs +1 -1
  7. package/build/components/block-patterns-list/index.cjs.map +2 -2
  8. package/build/components/block-switcher/block-transformations-menu.cjs +16 -15
  9. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  10. package/build/components/block-switcher/index.cjs +4 -4
  11. package/build/components/block-switcher/index.cjs.map +2 -2
  12. package/build/components/child-layout-control/index.cjs +10 -5
  13. package/build/components/child-layout-control/index.cjs.map +2 -2
  14. package/build/components/global-styles/advanced-panel.cjs +23 -15
  15. package/build/components/global-styles/advanced-panel.cjs.map +2 -2
  16. package/build/components/global-styles/background-panel.cjs +2 -2
  17. package/build/components/global-styles/background-panel.cjs.map +2 -2
  18. package/build/components/global-styles/border-panel.cjs +2 -0
  19. package/build/components/global-styles/border-panel.cjs.map +2 -2
  20. package/build/components/global-styles/dimensions-panel.cjs +5 -4
  21. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  22. package/build/components/iframe/index.cjs +3 -0
  23. package/build/components/iframe/index.cjs.map +2 -2
  24. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +3 -1
  25. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +2 -2
  26. package/build/components/inserter/hooks/use-patterns-state.cjs +1 -1
  27. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  28. package/build/components/inserter/index.cjs +179 -220
  29. package/build/components/inserter/index.cjs.map +3 -3
  30. package/build/components/inserter/media-tab/utils.cjs +1 -1
  31. package/build/components/inserter/media-tab/utils.cjs.map +2 -2
  32. package/build/components/inserter/search-results.cjs +1 -1
  33. package/build/components/inserter/search-results.cjs.map +2 -2
  34. package/build/components/list-view/block-select-button.cjs +10 -12
  35. package/build/components/list-view/block-select-button.cjs.map +2 -2
  36. package/build/components/list-view/block.cjs +2 -1
  37. package/build/components/list-view/block.cjs.map +2 -2
  38. package/build/components/provider/use-block-sync.cjs +11 -2
  39. package/build/components/provider/use-block-sync.cjs.map +2 -2
  40. package/build/components/rich-text/event-listeners/before-input-rules.cjs +4 -4
  41. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  42. package/build/components/rich-text/event-listeners/delete.cjs +4 -4
  43. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  44. package/build/components/rich-text/event-listeners/enter.cjs +7 -2
  45. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  46. package/build/components/rich-text/event-listeners/input-events.cjs +4 -4
  47. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  48. package/build/components/rich-text/event-listeners/input-rules.cjs +17 -4
  49. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  50. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +4 -4
  51. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  52. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +4 -4
  53. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  54. package/build/components/rich-text/event-listeners/shortcuts.cjs +4 -4
  55. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  56. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +4 -4
  57. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  58. package/build/components/rich-text/index.cjs +1 -23
  59. package/build/components/rich-text/index.cjs.map +2 -2
  60. package/build/components/use-block-commands/index.cjs +5 -5
  61. package/build/components/use-block-commands/index.cjs.map +2 -2
  62. package/build/hooks/anchor.cjs +11 -15
  63. package/build/hooks/anchor.cjs.map +2 -2
  64. package/build/hooks/border.cjs +0 -3
  65. package/build/hooks/border.cjs.map +2 -2
  66. package/build/hooks/color.cjs +1 -4
  67. package/build/hooks/color.cjs.map +2 -2
  68. package/build/hooks/dimensions.cjs +0 -3
  69. package/build/hooks/dimensions.cjs.map +2 -2
  70. package/build/hooks/fit-text.cjs +11 -0
  71. package/build/hooks/fit-text.cjs.map +2 -2
  72. package/build/hooks/position.cjs +19 -22
  73. package/build/hooks/position.cjs.map +2 -2
  74. package/build/hooks/supports.cjs +0 -7
  75. package/build/hooks/supports.cjs.map +2 -2
  76. package/build/store/actions.cjs +7 -3
  77. package/build/store/actions.cjs.map +2 -2
  78. package/build/store/private-actions.cjs +1 -2
  79. package/build/store/private-actions.cjs.map +2 -2
  80. package/build/store/private-selectors.cjs +29 -0
  81. package/build/store/private-selectors.cjs.map +2 -2
  82. package/build/store/reducer.cjs +14 -6
  83. package/build/store/reducer.cjs.map +2 -2
  84. package/build/store/selectors.cjs +60 -41
  85. package/build/store/selectors.cjs.map +2 -2
  86. package/build-module/components/block-compare/index.mjs +1 -1
  87. package/build-module/components/block-compare/index.mjs.map +2 -2
  88. package/build-module/components/block-list/use-block-props/index.mjs +1 -1
  89. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  90. package/build-module/components/block-patterns-list/index.mjs +1 -1
  91. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  92. package/build-module/components/block-switcher/block-transformations-menu.mjs +16 -15
  93. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  94. package/build-module/components/block-switcher/index.mjs +4 -4
  95. package/build-module/components/block-switcher/index.mjs.map +2 -2
  96. package/build-module/components/child-layout-control/index.mjs +10 -5
  97. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  98. package/build-module/components/global-styles/advanced-panel.mjs +23 -15
  99. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  100. package/build-module/components/global-styles/background-panel.mjs +3 -3
  101. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  102. package/build-module/components/global-styles/border-panel.mjs +2 -0
  103. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  104. package/build-module/components/global-styles/dimensions-panel.mjs +9 -6
  105. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  106. package/build-module/components/iframe/index.mjs +3 -0
  107. package/build-module/components/iframe/index.mjs.map +2 -2
  108. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +3 -1
  109. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  110. package/build-module/components/inserter/hooks/use-patterns-state.mjs +1 -1
  111. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  112. package/build-module/components/inserter/index.mjs +185 -222
  113. package/build-module/components/inserter/index.mjs.map +3 -3
  114. package/build-module/components/inserter/media-tab/utils.mjs +1 -1
  115. package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
  116. package/build-module/components/inserter/search-results.mjs +1 -1
  117. package/build-module/components/inserter/search-results.mjs.map +2 -2
  118. package/build-module/components/list-view/block-select-button.mjs +10 -12
  119. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  120. package/build-module/components/list-view/block.mjs +2 -1
  121. package/build-module/components/list-view/block.mjs.map +2 -2
  122. package/build-module/components/provider/use-block-sync.mjs +11 -2
  123. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  124. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +4 -4
  125. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  126. package/build-module/components/rich-text/event-listeners/delete.mjs +4 -4
  127. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  128. package/build-module/components/rich-text/event-listeners/enter.mjs +7 -2
  129. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  130. package/build-module/components/rich-text/event-listeners/input-events.mjs +4 -4
  131. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  132. package/build-module/components/rich-text/event-listeners/input-rules.mjs +17 -4
  133. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  134. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +4 -4
  135. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  136. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +4 -4
  137. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  138. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +4 -4
  139. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  140. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +4 -4
  141. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  142. package/build-module/components/rich-text/index.mjs +1 -23
  143. package/build-module/components/rich-text/index.mjs.map +2 -2
  144. package/build-module/components/use-block-commands/index.mjs +5 -5
  145. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  146. package/build-module/hooks/anchor.mjs +11 -15
  147. package/build-module/hooks/anchor.mjs.map +2 -2
  148. package/build-module/hooks/border.mjs +1 -4
  149. package/build-module/hooks/border.mjs.map +2 -2
  150. package/build-module/hooks/color.mjs +2 -5
  151. package/build-module/hooks/color.mjs.map +2 -2
  152. package/build-module/hooks/dimensions.mjs +1 -4
  153. package/build-module/hooks/dimensions.mjs.map +2 -2
  154. package/build-module/hooks/fit-text.mjs +11 -0
  155. package/build-module/hooks/fit-text.mjs.map +2 -2
  156. package/build-module/hooks/position.mjs +20 -23
  157. package/build-module/hooks/position.mjs.map +2 -2
  158. package/build-module/hooks/supports.mjs +0 -7
  159. package/build-module/hooks/supports.mjs.map +2 -2
  160. package/build-module/store/actions.mjs +7 -3
  161. package/build-module/store/actions.mjs.map +2 -2
  162. package/build-module/store/private-actions.mjs +1 -2
  163. package/build-module/store/private-actions.mjs.map +2 -2
  164. package/build-module/store/private-selectors.mjs +26 -0
  165. package/build-module/store/private-selectors.mjs.map +2 -2
  166. package/build-module/store/reducer.mjs +14 -6
  167. package/build-module/store/reducer.mjs.map +2 -2
  168. package/build-module/store/selectors.mjs +62 -42
  169. package/build-module/store/selectors.mjs.map +2 -2
  170. package/build-style/content-rtl.css +12 -0
  171. package/build-style/content.css +12 -0
  172. package/build-style/style-rtl.css +26 -8
  173. package/build-style/style.css +26 -8
  174. package/package.json +51 -48
  175. package/src/components/block-breadcrumb/README.md +2 -2
  176. package/src/components/block-compare/README.md +6 -6
  177. package/src/components/block-compare/index.js +1 -3
  178. package/src/components/block-list/use-block-props/index.js +1 -1
  179. package/src/components/block-patterns-list/index.js +1 -1
  180. package/src/components/block-preview/README.md +1 -1
  181. package/src/components/block-switcher/block-transformations-menu.js +16 -18
  182. package/src/components/block-switcher/index.js +4 -4
  183. package/src/components/block-types-list/README.md +0 -19
  184. package/src/components/child-layout-control/index.js +15 -8
  185. package/src/components/child-layout-control/test/index.js +126 -0
  186. package/src/components/colors/test/with-colors.js +1 -1
  187. package/src/components/global-styles/advanced-panel.js +5 -1
  188. package/src/components/global-styles/background-panel.js +3 -3
  189. package/src/components/global-styles/border-panel.js +2 -0
  190. package/src/components/global-styles/dimensions-panel.js +23 -16
  191. package/src/components/iframe/index.js +3 -0
  192. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -1
  193. package/src/components/inserter/hooks/use-patterns-state.js +1 -1
  194. package/src/components/inserter/index.js +257 -288
  195. package/src/components/inserter/media-tab/utils.js +1 -1
  196. package/src/components/inserter/search-results.js +1 -3
  197. package/src/components/justify-content-control/README.md +1 -1
  198. package/src/components/list-view/block-select-button.js +9 -13
  199. package/src/components/list-view/block.js +1 -0
  200. package/src/components/media-placeholder/README.md +1 -29
  201. package/src/components/media-upload/README.md +0 -19
  202. package/src/components/provider/test/use-block-sync.js +40 -0
  203. package/src/components/provider/use-block-sync.js +12 -2
  204. package/src/components/rich-text/event-listeners/before-input-rules.js +5 -4
  205. package/src/components/rich-text/event-listeners/delete.js +9 -4
  206. package/src/components/rich-text/event-listeners/enter.js +9 -2
  207. package/src/components/rich-text/event-listeners/input-events.js +13 -4
  208. package/src/components/rich-text/event-listeners/input-rules.js +20 -4
  209. package/src/components/rich-text/event-listeners/insert-replacement-text.js +9 -4
  210. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +9 -4
  211. package/src/components/rich-text/event-listeners/shortcuts.js +13 -4
  212. package/src/components/rich-text/event-listeners/undo-automatic-change.js +5 -4
  213. package/src/components/rich-text/index.js +1 -33
  214. package/src/components/unit-control/README.md +1 -1
  215. package/src/components/url-popover/README.md +1 -1
  216. package/src/components/use-block-commands/index.js +5 -5
  217. package/src/hooks/anchor.js +9 -17
  218. package/src/hooks/border.js +1 -5
  219. package/src/hooks/color.js +1 -6
  220. package/src/hooks/dimensions.js +1 -5
  221. package/src/hooks/fit-text.js +16 -0
  222. package/src/hooks/position.js +23 -27
  223. package/src/hooks/supports.js +0 -9
  224. package/src/store/actions.js +13 -3
  225. package/src/store/private-actions.js +1 -4
  226. package/src/store/private-selectors.js +59 -0
  227. package/src/store/reducer.js +19 -7
  228. package/src/store/selectors.js +91 -53
  229. package/src/store/test/actions.js +21 -0
  230. package/src/store/test/private-selectors.js +53 -0
  231. package/src/store/test/reducer.js +46 -0
  232. package/src/store/test/selectors.js +77 -0
  233. package/build/components/media-upload-progress/constants.cjs +0 -46
  234. package/build/components/media-upload-progress/constants.cjs.map +0 -7
  235. package/build/components/rich-text/native/format-edit.cjs +0 -60
  236. package/build/components/rich-text/native/format-edit.cjs.map +0 -7
  237. package/build/components/rich-text/native/index.cjs +0 -28
  238. package/build/components/rich-text/native/index.cjs.map +0 -7
  239. package/build/components/rich-text/native/use-format-types.cjs +0 -139
  240. package/build/components/rich-text/native/use-format-types.cjs.map +0 -7
  241. package/build-module/components/media-upload-progress/constants.mjs +0 -16
  242. package/build-module/components/media-upload-progress/constants.mjs.map +0 -7
  243. package/build-module/components/rich-text/native/format-edit.mjs +0 -39
  244. package/build-module/components/rich-text/native/format-edit.mjs.map +0 -7
  245. package/build-module/components/rich-text/native/index.mjs +0 -7
  246. package/build-module/components/rich-text/native/index.mjs.map +0 -7
  247. package/build-module/components/rich-text/native/use-format-types.mjs +0 -114
  248. package/build-module/components/rich-text/native/use-format-types.mjs.map +0 -7
  249. package/src/components/audio-player/audio-url-parser.native.js +0 -20
  250. package/src/components/audio-player/index.native.js +0 -225
  251. package/src/components/audio-player/styles.native.scss +0 -114
  252. package/src/components/audio-player/test/audio-url-parser.native.js +0 -53
  253. package/src/components/block-alignment-control/test/index.native.js +0 -37
  254. package/src/components/block-alignment-control/ui.native.js +0 -86
  255. package/src/components/block-caption/README.md +0 -104
  256. package/src/components/block-caption/index.native.js +0 -89
  257. package/src/components/block-caption/styles.native.scss +0 -7
  258. package/src/components/block-controls/slot.native.js +0 -33
  259. package/src/components/block-draggable/draggable-chip.native.js +0 -49
  260. package/src/components/block-draggable/dropping-insertion-point.native.js +0 -181
  261. package/src/components/block-draggable/dropping-insertion-point.native.scss +0 -8
  262. package/src/components/block-draggable/index.native.js +0 -467
  263. package/src/components/block-draggable/style.native.scss +0 -19
  264. package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +0 -73
  265. package/src/components/block-draggable/test/helpers.native.js +0 -182
  266. package/src/components/block-draggable/test/index.native.js +0 -419
  267. package/src/components/block-draggable/use-scroll-when-dragging.native.js +0 -135
  268. package/src/components/block-edit/edit.native.js +0 -49
  269. package/src/components/block-edit/test/edit.native.js +0 -65
  270. package/src/components/block-heading-level-dropdown/index.native.js +0 -68
  271. package/src/components/block-icon/index.native.js +0 -47
  272. package/src/components/block-icon/style.native.scss +0 -7
  273. package/src/components/block-list/block-crash-boundary.native.js +0 -43
  274. package/src/components/block-list/block-crash-warning.native.js +0 -21
  275. package/src/components/block-list/block-invalid-warning.native.js +0 -70
  276. package/src/components/block-list/block-list-context.native.js +0 -172
  277. package/src/components/block-list/block-list-item-cell.native.js +0 -62
  278. package/src/components/block-list/block-list-item.native.js +0 -209
  279. package/src/components/block-list/block-list-item.native.scss +0 -16
  280. package/src/components/block-list/block-outline.native.js +0 -77
  281. package/src/components/block-list/block-selection-button.native.js +0 -100
  282. package/src/components/block-list/block-selection-button.native.scss +0 -34
  283. package/src/components/block-list/block.native.js +0 -716
  284. package/src/components/block-list/block.native.scss +0 -62
  285. package/src/components/block-list/grid-item.native.js +0 -58
  286. package/src/components/block-list/index.native.js +0 -437
  287. package/src/components/block-list/insertion-point.native.js +0 -36
  288. package/src/components/block-list/style.native.scss +0 -117
  289. package/src/components/block-list/test/block-invalid-warning.native.js +0 -62
  290. package/src/components/block-list/test/block-list-context.native.js +0 -243
  291. package/src/components/block-list/test/block-outline.native.js +0 -255
  292. package/src/components/block-list/test/fixtures/block-list-context.native.js +0 -79
  293. package/src/components/block-list/test/index.native.js +0 -205
  294. package/src/components/block-list/use-block-props/index.native.js +0 -10
  295. package/src/components/block-list/use-scroll-upon-insertion.native.js +0 -52
  296. package/src/components/block-list-appender/index.native.js +0 -70
  297. package/src/components/block-list-appender/style.native.scss +0 -8
  298. package/src/components/block-media-update-progress/README.md +0 -100
  299. package/src/components/block-media-update-progress/index.native.js +0 -299
  300. package/src/components/block-media-update-progress/styles.native.scss +0 -9
  301. package/src/components/block-media-update-progress/test/index.native.js +0 -543
  302. package/src/components/block-mover/index.native.js +0 -193
  303. package/src/components/block-mover/mover-description.native.js +0 -155
  304. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +0 -218
  305. package/src/components/block-mover/test/index.native.js +0 -186
  306. package/src/components/block-settings/button.native.js +0 -41
  307. package/src/components/block-settings/container.native.js +0 -91
  308. package/src/components/block-settings/container.native.scss +0 -4
  309. package/src/components/block-settings/index.native.js +0 -5
  310. package/src/components/block-styles/index.native.js +0 -94
  311. package/src/components/block-styles/preview.native.js +0 -109
  312. package/src/components/block-styles/style.native.scss +0 -64
  313. package/src/components/block-switcher/block-transformations-menu.native.js +0 -91
  314. package/src/components/block-toolbar/block-toolbar-menu.native.js +0 -477
  315. package/src/components/block-toolbar/index.native.js +0 -126
  316. package/src/components/block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap +0 -125
  317. package/src/components/block-toolbar/test/block-toolbar-menu.native.js +0 -405
  318. package/src/components/block-toolbar/test/index.native.js +0 -36
  319. package/src/components/block-types-list/index.native.js +0 -175
  320. package/src/components/block-types-list/style.native.scss +0 -25
  321. package/src/components/block-variation-picker/index.native.js +0 -107
  322. package/src/components/block-variation-picker/style.native.scss +0 -32
  323. package/src/components/button-block-appender/index.native.js +0 -92
  324. package/src/components/button-block-appender/styles.native.scss +0 -43
  325. package/src/components/caption/README.md +0 -44
  326. package/src/components/caption/index.native.js +0 -61
  327. package/src/components/colors-gradients/panel-color-gradient-settings.native.js +0 -59
  328. package/src/components/contrast-checker/index.native.js +0 -113
  329. package/src/components/contrast-checker/style.native.scss +0 -26
  330. package/src/components/convert-to-group-buttons/index.native.js +0 -79
  331. package/src/components/default-block-appender/index.native.js +0 -113
  332. package/src/components/default-block-appender/style.native.scss +0 -18
  333. package/src/components/floating-toolbar/floatingToolbar.android.scss +0 -4
  334. package/src/components/floating-toolbar/floatingToolbar.ios.scss +0 -3
  335. package/src/components/floating-toolbar/index.native.js +0 -141
  336. package/src/components/floating-toolbar/styles.native.scss +0 -43
  337. package/src/components/font-sizes/index.native.js +0 -7
  338. package/src/components/global-styles/color-panel.native.js +0 -207
  339. package/src/components/global-styles/test/use-global-styles-context.native.js +0 -435
  340. package/src/components/global-styles/use-global-styles-context.native.js +0 -592
  341. package/src/components/gradients/index.native.js +0 -2
  342. package/src/components/image-link-destinations/index.native.js +0 -152
  343. package/src/components/image-link-destinations/style.native.scss +0 -16
  344. package/src/components/index.native.js +0 -108
  345. package/src/components/inner-blocks/constants.native.js +0 -5
  346. package/src/components/inner-blocks/index.native.js +0 -221
  347. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +0 -124
  348. package/src/components/inserter/block-types-tab.native.js +0 -76
  349. package/src/components/inserter/hooks/use-block-type-impressions.native.js +0 -47
  350. package/src/components/inserter/hooks/use-clipboard-block.native.js +0 -40
  351. package/src/components/inserter/index.native.js +0 -424
  352. package/src/components/inserter/menu.native.js +0 -237
  353. package/src/components/inserter/no-results.native.js +0 -49
  354. package/src/components/inserter/reusable-blocks-tab.native.js +0 -45
  355. package/src/components/inserter/search-results.native.js +0 -67
  356. package/src/components/inserter/style.native.scss +0 -83
  357. package/src/components/inserter/tabs.native.js +0 -152
  358. package/src/components/inserter/test/__snapshots__/index.native.js.snap +0 -117
  359. package/src/components/inserter/test/fixtures/index.native.js +0 -12
  360. package/src/components/inserter/test/index.native.js +0 -273
  361. package/src/components/inserter/test/reusable-blocks-tab.native.js +0 -62
  362. package/src/components/inserter/test/utils.native.js +0 -37
  363. package/src/components/inserter/utils.native.js +0 -46
  364. package/src/components/inserter-button/index.native.js +0 -108
  365. package/src/components/inserter-button/style.native.scss +0 -72
  366. package/src/components/inspector-controls/fill.native.js +0 -62
  367. package/src/components/inspector-controls/slot.native.js +0 -35
  368. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +0 -31
  369. package/src/components/line-height-control/index.native.js +0 -28
  370. package/src/components/media-placeholder/index.native.js +0 -258
  371. package/src/components/media-placeholder/styles.native.scss +0 -108
  372. package/src/components/media-replace-flow/index.native.js +0 -12
  373. package/src/components/media-upload/constants.native.js +0 -14
  374. package/src/components/media-upload/index.native.js +0 -356
  375. package/src/components/media-upload/style.native.scss +0 -4
  376. package/src/components/media-upload/test/index.native.js +0 -172
  377. package/src/components/media-upload-progress/README.md +0 -100
  378. package/src/components/media-upload-progress/constants.js +0 -6
  379. package/src/components/media-upload-progress/index.native.js +0 -233
  380. package/src/components/media-upload-progress/styles.native.scss +0 -15
  381. package/src/components/media-upload-progress/test/index.native.js +0 -220
  382. package/src/components/plain-text/index.native.js +0 -164
  383. package/src/components/plain-text/style.native.scss +0 -10
  384. package/src/components/provider/index.native.js +0 -32
  385. package/src/components/rich-text/embed-handler-picker.native.js +0 -65
  386. package/src/components/rich-text/file-paste-handler.native.js +0 -3
  387. package/src/components/rich-text/format-toolbar/index.native.js +0 -21
  388. package/src/components/rich-text/format-toolbar-container.native.js +0 -16
  389. package/src/components/rich-text/index.native.js +0 -701
  390. package/src/components/rich-text/input-event.native.js +0 -10
  391. package/src/components/rich-text/native/format-edit.js +0 -44
  392. package/src/components/rich-text/native/get-format-colors.native.js +0 -47
  393. package/src/components/rich-text/native/index.js +0 -1
  394. package/src/components/rich-text/native/index.native.js +0 -1389
  395. package/src/components/rich-text/native/style.native.scss +0 -28
  396. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +0 -79
  397. package/src/components/rich-text/native/test/index.native.js +0 -345
  398. package/src/components/rich-text/native/test/performance/rich-text.native.js +0 -44
  399. package/src/components/rich-text/native/toolbar-button-with-options.native.js +0 -61
  400. package/src/components/rich-text/native/use-format-types.js +0 -146
  401. package/src/components/rich-text/remove-browser-shortcuts.native.js +0 -1
  402. package/src/components/rich-text/shortcut.native.js +0 -10
  403. package/src/components/ungroup-button/README.md +0 -23
  404. package/src/components/ungroup-button/index.native.js +0 -77
  405. package/src/components/unsupported-block-details/index.native.js +0 -187
  406. package/src/components/unsupported-block-details/style.native.scss +0 -56
  407. package/src/components/url-input/index.native.js +0 -33
  408. package/src/components/use-block-drop-zone/index.native.js +0 -207
  409. package/src/components/use-on-block-drop/index.native.js +0 -115
  410. package/src/components/use-unsupported-block-editor/index.native.js +0 -59
  411. package/src/components/video-player/gridicon-play.native.js +0 -13
  412. package/src/components/video-player/index.native.js +0 -133
  413. package/src/components/video-player/styles.native.scss +0 -29
  414. package/src/components/warning/index.native.js +0 -64
  415. package/src/components/warning/style.native.scss +0 -47
  416. package/src/hooks/align.native.js +0 -49
  417. package/src/hooks/custom-class-name.native.js +0 -70
  418. package/src/hooks/index.native.js +0 -36
  419. package/src/hooks/layout.native.js +0 -23
  420. package/src/hooks/test/__snapshots__/align.native.js.snap +0 -73
  421. package/src/hooks/test/__snapshots__/anchor.native.js.snap +0 -7
  422. package/src/hooks/test/align.native.js +0 -134
  423. package/src/hooks/test/anchor.native.js +0 -32
  424. package/src/hooks/test/use-editor-wrapper-styles.native.js +0 -282
  425. package/src/hooks/typography.native.js +0 -60
  426. package/src/hooks/use-editor-wrapper-styles.native.js +0 -250
  427. package/src/hooks/use-editor-wrapper-styles.native.scss +0 -12
  428. package/src/index.native.js +0 -6
  429. package/src/private-apis.native.js +0 -21
  430. package/src/store/defaults.native.js +0 -23
@@ -1,467 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { AccessibilityInfo } from 'react-native';
5
- import {
6
- useSafeAreaInsets,
7
- useSafeAreaFrame,
8
- } from 'react-native-safe-area-context';
9
- import Animated, {
10
- runOnJS,
11
- runOnUI,
12
- useAnimatedStyle,
13
- useSharedValue,
14
- withDelay,
15
- withTiming,
16
- ZoomInEasyDown,
17
- } from 'react-native-reanimated';
18
-
19
- /**
20
- * WordPress dependencies
21
- */
22
- import { Draggable, DraggableTrigger } from '@wordpress/components';
23
- import { select, useSelect, useDispatch } from '@wordpress/data';
24
- import {
25
- useCallback,
26
- useEffect,
27
- useRef,
28
- useState,
29
- Platform,
30
- } from '@wordpress/element';
31
- import { getBlockType } from '@wordpress/blocks';
32
- import { generateHapticFeedback } from '@wordpress/react-native-bridge';
33
- import RCTAztecView from '@wordpress/react-native-aztec';
34
-
35
- /**
36
- * Internal dependencies
37
- */
38
- import useScrollWhenDragging from './use-scroll-when-dragging';
39
- import DraggableChip from './draggable-chip';
40
- import { store as blockEditorStore } from '../../store';
41
- import DroppingInsertionPoint from './dropping-insertion-point';
42
- import useBlockDropZone from '../use-block-drop-zone';
43
- import styles from './style.scss';
44
-
45
- const CHIP_OFFSET_TO_TOUCH_POSITION = 32;
46
- const BLOCK_OPACITY_ANIMATION_CONFIG = { duration: 350 };
47
- const BLOCK_OPACITY_ANIMATION_DELAY = 250;
48
- const DEFAULT_LONG_PRESS_MIN_DURATION = 500;
49
- const DEFAULT_IOS_LONG_PRESS_MIN_DURATION =
50
- DEFAULT_LONG_PRESS_MIN_DURATION - 50;
51
-
52
- /**
53
- * Block draggable wrapper component
54
- *
55
- * This component handles all the interactions for dragging blocks.
56
- * It relies on the block list and its context for dragging, hence it
57
- * should be rendered between the `BlockListProvider` component and the
58
- * block list rendering. It also requires listening to scroll events,
59
- * therefore for this purpose, it returns the `onScroll` event handler
60
- * that should be attached to the list that renders the blocks.
61
- *
62
- *
63
- * @param {Object} props Component props.
64
- * @param {React.JSX.Element} props.children Children to be rendered.
65
- * @param {boolean} props.isRTL Check if current locale is RTL.
66
- *
67
- * @return {Function} Render function that passes `onScroll` event handler.
68
- */
69
- const BlockDraggableWrapper = ( { children, isRTL } ) => {
70
- const [ draggedBlockIcon, setDraggedBlockIcon ] = useState();
71
-
72
- const { selectBlock, startDraggingBlocks, stopDraggingBlocks } =
73
- useDispatch( blockEditorStore );
74
-
75
- const { left, right } = useSafeAreaInsets();
76
- const { width } = useSafeAreaFrame();
77
- const safeAreaOffset = left + right;
78
- const contentWidth = width - safeAreaOffset;
79
-
80
- const scroll = {
81
- offsetY: useSharedValue( 0 ),
82
- };
83
- const chip = {
84
- x: useSharedValue( 0 ),
85
- y: useSharedValue( 0 ),
86
- width: useSharedValue( 0 ),
87
- height: useSharedValue( 0 ),
88
- };
89
- const currentYPosition = useSharedValue( 0 );
90
- const isDragging = useSharedValue( false );
91
-
92
- const [
93
- startScrolling,
94
- scrollOnDragOver,
95
- stopScrolling,
96
- draggingScrollHandler,
97
- ] = useScrollWhenDragging();
98
-
99
- const scrollHandler = ( event ) => {
100
- 'worklet';
101
- const { contentOffset } = event;
102
- scroll.offsetY.value = contentOffset.y;
103
-
104
- draggingScrollHandler( event );
105
- };
106
-
107
- const {
108
- onBlockDragOverWorklet,
109
- onBlockDragEnd,
110
- onBlockDrop,
111
- targetBlockIndex,
112
- } = useBlockDropZone();
113
-
114
- // Stop dragging blocks if the block draggable is unmounted.
115
- useEffect( () => {
116
- return () => {
117
- if ( isDragging.value ) {
118
- stopDraggingBlocks();
119
- }
120
- };
121
- }, [] );
122
-
123
- const setDraggedBlockIconByClientId = ( clientId ) => {
124
- const blockName = select( blockEditorStore ).getBlockName( clientId );
125
- const blockIcon = getBlockType( blockName )?.icon;
126
- if ( blockIcon ) {
127
- setDraggedBlockIcon( blockIcon );
128
- }
129
- };
130
-
131
- const onStartDragging = ( { clientId, position } ) => {
132
- if ( clientId ) {
133
- startDraggingBlocks( [ clientId ] );
134
- setDraggedBlockIconByClientId( clientId );
135
- runOnUI( startScrolling )( position.y );
136
- generateHapticFeedback();
137
- } else {
138
- // We stop dragging if no block is found.
139
- runOnUI( stopDragging )();
140
- }
141
- };
142
-
143
- const onStopDragging = ( { clientId } ) => {
144
- if ( clientId ) {
145
- onBlockDrop( {
146
- // Dropping is only allowed at root level
147
- srcRootClientId: '',
148
- srcClientIds: [ clientId ],
149
- type: 'block',
150
- } );
151
- selectBlock( clientId );
152
- setDraggedBlockIcon( undefined );
153
- }
154
- onBlockDragEnd();
155
- stopDraggingBlocks();
156
- };
157
-
158
- const onChipLayout = ( { nativeEvent: { layout } } ) => {
159
- if ( layout.width > 0 ) {
160
- chip.width.value = layout.width;
161
- }
162
- if ( layout.height > 0 ) {
163
- chip.height.value = layout.height;
164
- }
165
- };
166
-
167
- const startDragging = ( { x, y, id } ) => {
168
- 'worklet';
169
- const dragPosition = { x, y };
170
- chip.x.value = dragPosition.x;
171
- chip.y.value = dragPosition.y;
172
- currentYPosition.value = dragPosition.y;
173
-
174
- isDragging.value = true;
175
-
176
- runOnJS( onStartDragging )( { clientId: id, position: dragPosition } );
177
- };
178
-
179
- const updateDragging = ( { x, y } ) => {
180
- 'worklet';
181
- const dragPosition = { x, y };
182
- chip.x.value = dragPosition.x;
183
- chip.y.value = dragPosition.y;
184
- currentYPosition.value = dragPosition.y;
185
-
186
- onBlockDragOverWorklet( { x, y: y + scroll.offsetY.value } );
187
-
188
- // Update scrolling velocity
189
- scrollOnDragOver( dragPosition.y );
190
- };
191
-
192
- const stopDragging = ( { id } ) => {
193
- 'worklet';
194
- isDragging.value = false;
195
-
196
- stopScrolling();
197
- runOnJS( onStopDragging )( { clientId: id } );
198
- };
199
-
200
- const chipDynamicStyles = useAnimatedStyle( () => {
201
- const chipOffset = chip.width.value / 2;
202
- const translateX = ! isRTL
203
- ? chip.x.value - chipOffset
204
- : -( contentWidth - ( chip.x.value + chipOffset ) );
205
-
206
- return {
207
- transform: [
208
- {
209
- translateX,
210
- },
211
- {
212
- translateY:
213
- chip.y.value -
214
- chip.height.value -
215
- CHIP_OFFSET_TO_TOUCH_POSITION,
216
- },
217
- ],
218
- };
219
- } );
220
- const chipStyles = [
221
- chipDynamicStyles,
222
- styles[ 'draggable-chip__wrapper' ],
223
- ];
224
-
225
- const exitingAnimation = ( { currentHeight, currentWidth } ) => {
226
- 'worklet';
227
- const translateX = ! isRTL ? 0 : currentWidth * -1;
228
- const duration = 150;
229
- const animations = {
230
- transform: [
231
- {
232
- translateY: withTiming( currentHeight, {
233
- duration,
234
- } ),
235
- },
236
- {
237
- translateX: withTiming( translateX, {
238
- duration,
239
- } ),
240
- },
241
- { scale: withTiming( 0, { duration } ) },
242
- ],
243
- };
244
- const initialValues = {
245
- transform: [ { translateY: 0 }, { translateX }, { scale: 1 } ],
246
- };
247
- return {
248
- initialValues,
249
- animations,
250
- };
251
- };
252
-
253
- return (
254
- <>
255
- <DroppingInsertionPoint
256
- scroll={ scroll }
257
- currentYPosition={ currentYPosition }
258
- isDragging={ isDragging }
259
- targetBlockIndex={ targetBlockIndex }
260
- />
261
- <Draggable
262
- onDragStart={ startDragging }
263
- onDragOver={ updateDragging }
264
- onDragEnd={ stopDragging }
265
- testID="block-draggable-wrapper"
266
- >
267
- { children( { onScroll: scrollHandler } ) }
268
- </Draggable>
269
- <Animated.View
270
- onLayout={ onChipLayout }
271
- style={ chipStyles }
272
- pointerEvents="none"
273
- >
274
- { draggedBlockIcon && (
275
- <Animated.View
276
- entering={ ZoomInEasyDown.duration( 200 ) }
277
- exiting={ exitingAnimation }
278
- >
279
- <DraggableChip icon={ draggedBlockIcon } />
280
- </Animated.View>
281
- ) }
282
- </Animated.View>
283
- </>
284
- );
285
- };
286
-
287
- function useIsScreenReaderEnabled() {
288
- const [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =
289
- useState( false );
290
-
291
- useEffect( () => {
292
- let mounted = true;
293
-
294
- const changeListener = AccessibilityInfo.addEventListener(
295
- 'screenReaderChanged',
296
- ( enabled ) => setIsScreenReaderEnabled( enabled )
297
- );
298
-
299
- AccessibilityInfo.isScreenReaderEnabled().then(
300
- ( screenReaderEnabled ) => {
301
- if ( mounted && screenReaderEnabled ) {
302
- setIsScreenReaderEnabled( screenReaderEnabled );
303
- }
304
- }
305
- );
306
-
307
- return () => {
308
- mounted = false;
309
-
310
- changeListener.remove();
311
- };
312
- }, [] );
313
-
314
- return isScreenReaderEnabled;
315
- }
316
-
317
- function useIsEditingText() {
318
- const [ isEditingText, setIsEditingText ] = useState( () =>
319
- RCTAztecView.InputState.isFocused()
320
- );
321
-
322
- useEffect( () => {
323
- const onFocusChangeAztec = ( { isFocused } ) => {
324
- setIsEditingText( isFocused );
325
- };
326
-
327
- RCTAztecView.InputState.addFocusChangeListener( onFocusChangeAztec );
328
-
329
- return () => {
330
- RCTAztecView.InputState.removeFocusChangeListener(
331
- onFocusChangeAztec
332
- );
333
- };
334
- }, [] );
335
-
336
- return isEditingText;
337
- }
338
-
339
- /**
340
- * Block draggable component
341
- *
342
- * This component serves for animating the block when it is being dragged.
343
- * Hence, it should be wrapped around the rendering of a block.
344
- *
345
- * @param {Object} props Component props.
346
- * @param {React.JSX.Element} props.children Children to be rendered.
347
- * @param {string} props.clientId Client id of the block.
348
- * @param {string} [props.draggingClientId] Client id to use for dragging. If not defined, the value from `clientId` will be used.
349
- * @param {boolean} [props.enabled] Enables the draggable trigger.
350
- * @param {string} [props.testID] Id used for querying the long-press gesture handler in tests.
351
- *
352
- * @return {Function} Render function which includes the parameter `isDraggable` to determine if the block can be dragged.
353
- */
354
- const BlockDraggable = ( {
355
- clientId,
356
- children,
357
- draggingClientId,
358
- enabled = true,
359
- testID,
360
- } ) => {
361
- const wasBeingDragged = useRef( false );
362
- const isEditingText = useIsEditingText();
363
- const isScreenReaderEnabled = useIsScreenReaderEnabled();
364
-
365
- const draggingAnimation = {
366
- opacity: useSharedValue( 1 ),
367
- };
368
-
369
- const startDraggingBlock = () => {
370
- draggingAnimation.opacity.value = withTiming(
371
- 0.4,
372
- BLOCK_OPACITY_ANIMATION_CONFIG
373
- );
374
- };
375
-
376
- const stopDraggingBlock = () => {
377
- draggingAnimation.opacity.value = withDelay(
378
- BLOCK_OPACITY_ANIMATION_DELAY,
379
- withTiming( 1, BLOCK_OPACITY_ANIMATION_CONFIG )
380
- );
381
- };
382
-
383
- const { isDraggable, isBeingDragged, isBlockSelected } = useSelect(
384
- ( _select ) => {
385
- const {
386
- getBlockRootClientId,
387
- getTemplateLock,
388
- isBlockBeingDragged,
389
- getSelectedBlockClientId,
390
- } = _select( blockEditorStore );
391
- const rootClientId = getBlockRootClientId( clientId );
392
- const templateLock = rootClientId
393
- ? getTemplateLock( rootClientId )
394
- : null;
395
- const selectedBlockClientId = getSelectedBlockClientId();
396
-
397
- return {
398
- isBeingDragged: isBlockBeingDragged( clientId ),
399
- isDraggable: 'all' !== templateLock,
400
- isBlockSelected:
401
- selectedBlockClientId && selectedBlockClientId === clientId,
402
- };
403
- },
404
- [ clientId ]
405
- );
406
-
407
- useEffect( () => {
408
- if ( isBeingDragged !== wasBeingDragged.current ) {
409
- if ( isBeingDragged ) {
410
- startDraggingBlock();
411
- } else {
412
- stopDraggingBlock();
413
- }
414
- }
415
- wasBeingDragged.current = isBeingDragged;
416
- }, [ isBeingDragged ] );
417
-
418
- const onLongPressDraggable = useCallback( () => {
419
- // Ensure that no text input is focused when starting the dragging gesture in order to prevent conflicts with text editing.
420
- RCTAztecView.InputState.blurCurrentFocusedElement();
421
- }, [] );
422
-
423
- const animatedWrapperStyles = useAnimatedStyle( () => {
424
- return {
425
- opacity: draggingAnimation.opacity.value,
426
- };
427
- } );
428
- const wrapperStyles = [
429
- animatedWrapperStyles,
430
- styles[ 'draggable-wrapper__container' ],
431
- ];
432
-
433
- const canDragBlock =
434
- enabled &&
435
- ! isScreenReaderEnabled &&
436
- ( ! isBlockSelected || ! isEditingText );
437
-
438
- if ( ! isDraggable ) {
439
- return children( { isDraggable: false } );
440
- }
441
-
442
- return (
443
- <DraggableTrigger
444
- id={ draggingClientId || clientId }
445
- enabled={ enabled && canDragBlock }
446
- minDuration={ Platform.select( {
447
- // On iOS, using a lower min duration than the default
448
- // value prevents the long-press gesture from being
449
- // triggered in underneath elements. This is required to
450
- // prevent enabling text editing when dragging is available.
451
- ios: canDragBlock
452
- ? DEFAULT_IOS_LONG_PRESS_MIN_DURATION
453
- : DEFAULT_LONG_PRESS_MIN_DURATION,
454
- android: DEFAULT_LONG_PRESS_MIN_DURATION,
455
- } ) }
456
- onLongPress={ onLongPressDraggable }
457
- testID={ testID }
458
- >
459
- <Animated.View style={ wrapperStyles }>
460
- { children( { isDraggable: true } ) }
461
- </Animated.View>
462
- </DraggableTrigger>
463
- );
464
- };
465
-
466
- export { BlockDraggableWrapper };
467
- export default BlockDraggable;
@@ -1,19 +0,0 @@
1
- .draggable-wrapper__container {
2
- flex: 1;
3
- }
4
-
5
- .draggable-chip__wrapper {
6
- position: absolute;
7
- z-index: 10;
8
- }
9
-
10
- .draggable-chip__container {
11
- flex-direction: row;
12
- padding: 16px;
13
- background-color: $gray-0;
14
- border-radius: 8px;
15
- }
16
-
17
- .draggable-chip__container--dark {
18
- background-color: $app-background-dark-alt;
19
- }
@@ -1,73 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`BlockDraggable moves blocks: Initial order 1`] = `
4
- "<!-- wp:paragraph -->
5
- <p>This is a paragraph.</p>
6
- <!-- /wp:paragraph -->
7
-
8
- <!-- wp:image {"sizeSlug":"large"} -->
9
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
10
- <!-- /wp:image -->
11
-
12
- <!-- wp:spacer -->
13
- <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
14
- <!-- /wp:spacer -->
15
-
16
- <!-- wp:gallery {"linkTo":"none"} -->
17
- <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
18
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
19
- <!-- /wp:image -->
20
-
21
- <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
22
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
23
- <!-- /wp:image --></figure>
24
- <!-- /wp:gallery -->"
25
- `;
26
-
27
- exports[`BlockDraggable moves blocks: Paragraph block moved from first to second position 1`] = `
28
- "<!-- wp:image {"sizeSlug":"large"} -->
29
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
30
- <!-- /wp:image -->
31
-
32
- <!-- wp:paragraph -->
33
- <p>This is a paragraph.</p>
34
- <!-- /wp:paragraph -->
35
-
36
- <!-- wp:spacer -->
37
- <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
38
- <!-- /wp:spacer -->
39
-
40
- <!-- wp:gallery {"linkTo":"none"} -->
41
- <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
42
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
43
- <!-- /wp:image -->
44
-
45
- <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
46
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
47
- <!-- /wp:image --></figure>
48
- <!-- /wp:gallery -->"
49
- `;
50
-
51
- exports[`BlockDraggable moves blocks: Spacer block moved from third to first position 1`] = `
52
- "<!-- wp:spacer -->
53
- <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
54
- <!-- /wp:spacer -->
55
-
56
- <!-- wp:image {"sizeSlug":"large"} -->
57
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
58
- <!-- /wp:image -->
59
-
60
- <!-- wp:paragraph -->
61
- <p>This is a paragraph.</p>
62
- <!-- /wp:paragraph -->
63
-
64
- <!-- wp:gallery {"linkTo":"none"} -->
65
- <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
66
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
67
- <!-- /wp:image -->
68
-
69
- <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
70
- <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt=""/></figure>
71
- <!-- /wp:image --></figure>
72
- <!-- /wp:gallery -->"
73
- `;