@wordpress/block-editor 7.0.4 → 8.0.3

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 (1259) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +31 -0
  3. package/build/components/alignment-control/ui.js +12 -11
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/autocomplete/index.js +5 -4
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +12 -8
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-control/ui.js +21 -17
  10. package/build/components/block-alignment-control/ui.js.map +1 -1
  11. package/build/components/block-alignment-control/use-available-alignments.js +9 -4
  12. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  13. package/build/components/block-alignment-matrix-control/index.js +6 -4
  14. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  15. package/build/components/block-breadcrumb/index.js +4 -3
  16. package/build/components/block-breadcrumb/index.js.map +1 -1
  17. package/build/components/block-caption/index.native.js +34 -29
  18. package/build/components/block-caption/index.native.js.map +1 -1
  19. package/build/components/block-card/index.js +8 -6
  20. package/build/components/block-card/index.js.map +1 -1
  21. package/build/components/block-compare/block-view.js +9 -8
  22. package/build/components/block-compare/block-view.js.map +1 -1
  23. package/build/components/block-compare/index.js +9 -7
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-content-overlay/index.js +7 -6
  26. package/build/components/block-content-overlay/index.js.map +1 -1
  27. package/build/components/block-context/index.js +5 -4
  28. package/build/components/block-context/index.js.map +1 -1
  29. package/build/components/block-controls/fill.js +7 -6
  30. package/build/components/block-controls/fill.js.map +1 -1
  31. package/build/components/block-controls/slot.js +5 -4
  32. package/build/components/block-controls/slot.js.map +1 -1
  33. package/build/components/block-controls/slot.native.js +5 -4
  34. package/build/components/block-controls/slot.native.js.map +1 -1
  35. package/build/components/block-draggable/draggable-chip.js +5 -4
  36. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  37. package/build/components/block-draggable/index.js +13 -11
  38. package/build/components/block-draggable/index.js.map +1 -1
  39. package/build/components/block-edit/context.js +1 -1
  40. package/build/components/block-full-height-alignment-control/index.js +7 -6
  41. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  42. package/build/components/block-icon/index.js +12 -6
  43. package/build/components/block-icon/index.js.map +1 -1
  44. package/build/components/block-icon/index.native.js +8 -6
  45. package/build/components/block-icon/index.native.js.map +1 -1
  46. package/build/components/block-inspector/index.js +24 -15
  47. package/build/components/block-inspector/index.js.map +1 -1
  48. package/build/components/block-list/block-html.js +4 -3
  49. package/build/components/block-list/block-html.js.map +1 -1
  50. package/build/components/block-list/block-invalid-warning.js +28 -20
  51. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  52. package/build/components/block-list/block-invalid-warning.native.js +5 -4
  53. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  54. package/build/components/block-list/block-list-item.native.js +6 -5
  55. package/build/components/block-list/block-list-item.native.js.map +1 -1
  56. package/build/components/block-list/block-selection-button.native.js +11 -9
  57. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  58. package/build/components/block-list/block.js +40 -33
  59. package/build/components/block-list/block.js.map +1 -1
  60. package/build/components/block-list/block.native.js +35 -29
  61. package/build/components/block-list/block.native.js.map +1 -1
  62. package/build/components/block-list/index.js +14 -12
  63. package/build/components/block-list/index.js.map +1 -1
  64. package/build/components/block-list/index.native.js +23 -18
  65. package/build/components/block-list/index.native.js.map +1 -1
  66. package/build/components/block-list/insertion-point.native.js +4 -3
  67. package/build/components/block-list/insertion-point.native.js.map +1 -1
  68. package/build/components/block-list/layout.js +8 -6
  69. package/build/components/block-list/layout.js.map +1 -1
  70. package/build/components/block-list/subdirectory-icon.js +13 -10
  71. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  72. package/build/components/block-list/use-block-props/index.js +5 -3
  73. package/build/components/block-list/use-block-props/index.js.map +1 -1
  74. package/build/components/block-list/use-block-props/index.native.js +2 -1
  75. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  76. package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
  77. package/build/components/block-list/use-block-props/use-multi-selection.js +30 -14
  78. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  79. package/build/components/block-list-appender/index.js +16 -13
  80. package/build/components/block-list-appender/index.js.map +1 -1
  81. package/build/components/block-list-appender/index.native.js +14 -11
  82. package/build/components/block-list-appender/index.native.js.map +1 -1
  83. package/build/components/block-media-update-progress/index.native.js +1 -1
  84. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  85. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  86. package/build/components/block-mobile-toolbar/index.js +4 -3
  87. package/build/components/block-mobile-toolbar/index.js.map +1 -1
  88. package/build/components/block-mobile-toolbar/index.native.js +33 -25
  89. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  90. package/build/components/block-mover/button.js +8 -7
  91. package/build/components/block-mover/button.js.map +1 -1
  92. package/build/components/block-mover/index.js +15 -13
  93. package/build/components/block-mover/index.js.map +1 -1
  94. package/build/components/block-mover/index.native.js +23 -20
  95. package/build/components/block-mover/index.native.js.map +1 -1
  96. package/build/components/block-mover/mover-description.native.js +10 -7
  97. package/build/components/block-mover/mover-description.native.js.map +1 -1
  98. package/build/components/block-navigation/dropdown.js +26 -22
  99. package/build/components/block-navigation/dropdown.js.map +1 -1
  100. package/build/components/block-pattern-setup/index.js +26 -22
  101. package/build/components/block-pattern-setup/index.js.map +1 -1
  102. package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
  103. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  104. package/build/components/block-patterns-list/index.js +45 -47
  105. package/build/components/block-patterns-list/index.js.map +1 -1
  106. package/build/components/block-preview/auto.js +5 -4
  107. package/build/components/block-preview/auto.js.map +1 -1
  108. package/build/components/block-preview/index.js +8 -7
  109. package/build/components/block-preview/index.js.map +1 -1
  110. package/build/components/block-preview/live.js +4 -3
  111. package/build/components/block-preview/live.js.map +1 -1
  112. package/build/components/block-selection-clearer/index.js +1 -1
  113. package/build/components/block-settings/button.native.js +10 -7
  114. package/build/components/block-settings/button.native.js.map +1 -1
  115. package/build/components/block-settings/container.native.js +12 -8
  116. package/build/components/block-settings/container.native.js.map +1 -1
  117. package/build/components/block-settings/index.native.js +4 -2
  118. package/build/components/block-settings/index.native.js.map +1 -1
  119. package/build/components/block-settings-menu/block-convert-button.js +7 -5
  120. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  121. package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
  122. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  123. package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
  124. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  125. package/build/components/block-settings-menu/block-settings-dropdown.js +96 -68
  126. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  127. package/build/components/block-settings-menu/index.js +5 -4
  128. package/build/components/block-settings-menu/index.js.map +1 -1
  129. package/build/components/block-settings-menu-controls/index.js +8 -6
  130. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  131. package/build/components/block-styles/index.js +20 -17
  132. package/build/components/block-styles/index.js.map +1 -1
  133. package/build/components/block-styles/index.native.js +6 -4
  134. package/build/components/block-styles/index.native.js.map +1 -1
  135. package/build/components/block-styles/preview.native.js +9 -8
  136. package/build/components/block-styles/preview.native.js.map +1 -1
  137. package/build/components/block-switcher/block-styles-menu.js +5 -4
  138. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  139. package/build/components/block-switcher/block-transformations-menu.js +7 -6
  140. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  141. package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
  142. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  143. package/build/components/block-switcher/index.js +42 -34
  144. package/build/components/block-switcher/index.js.map +1 -1
  145. package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
  146. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  147. package/build/components/block-switcher/preview-block-popover.js +4 -3
  148. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  149. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  150. package/build/components/block-switcher/utils.js +2 -1
  151. package/build/components/block-switcher/utils.js.map +1 -1
  152. package/build/components/block-title/index.js +4 -3
  153. package/build/components/block-title/index.js.map +1 -1
  154. package/build/components/block-toolbar/index.js +4 -3
  155. package/build/components/block-toolbar/index.js.map +1 -1
  156. package/build/components/block-toolbar/utils.js +13 -11
  157. package/build/components/block-toolbar/utils.js.map +1 -1
  158. package/build/components/block-tools/back-compat.js +8 -5
  159. package/build/components/block-tools/back-compat.js.map +1 -1
  160. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  161. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  162. package/build/components/block-tools/block-popover.js +15 -13
  163. package/build/components/block-tools/block-popover.js.map +1 -1
  164. package/build/components/block-tools/block-selection-button.js +6 -5
  165. package/build/components/block-tools/block-selection-button.js.map +1 -1
  166. package/build/components/block-tools/index.js +6 -5
  167. package/build/components/block-tools/index.js.map +1 -1
  168. package/build/components/block-tools/insertion-point.js +12 -10
  169. package/build/components/block-tools/insertion-point.js.map +1 -1
  170. package/build/components/block-types-list/index.js +9 -8
  171. package/build/components/block-types-list/index.js.map +1 -1
  172. package/build/components/block-types-list/index.native.js +19 -15
  173. package/build/components/block-types-list/index.native.js.map +1 -1
  174. package/build/components/block-variation-picker/index.js +9 -8
  175. package/build/components/block-variation-picker/index.js.map +1 -1
  176. package/build/components/block-variation-picker/index.native.js +9 -7
  177. package/build/components/block-variation-picker/index.native.js.map +1 -1
  178. package/build/components/block-variation-transforms/index.js +22 -15
  179. package/build/components/block-variation-transforms/index.js.map +1 -1
  180. package/build/components/block-vertical-alignment-control/ui.js +9 -7
  181. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  182. package/build/components/border-radius-control/all-input-control.js +6 -5
  183. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  184. package/build/components/border-radius-control/index.js +5 -4
  185. package/build/components/border-radius-control/index.js.map +1 -1
  186. package/build/components/border-radius-control/input-controls.js +16 -11
  187. package/build/components/border-radius-control/input-controls.js.map +1 -1
  188. package/build/components/border-radius-control/linked-button.js +5 -4
  189. package/build/components/border-radius-control/linked-button.js.map +1 -1
  190. package/build/components/border-radius-control/utils.js +10 -5
  191. package/build/components/border-radius-control/utils.js.map +1 -1
  192. package/build/components/border-style-control/index.js +5 -4
  193. package/build/components/border-style-control/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.js +15 -13
  195. package/build/components/button-block-appender/index.js.map +1 -1
  196. package/build/components/button-block-appender/index.native.js +28 -24
  197. package/build/components/button-block-appender/index.native.js.map +1 -1
  198. package/build/components/caption/index.native.js +44 -41
  199. package/build/components/caption/index.native.js.map +1 -1
  200. package/build/components/color-palette/control.js +6 -5
  201. package/build/components/color-palette/control.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +43 -34
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/color-panel.js +21 -18
  205. package/build/components/colors/color-panel.js.map +1 -1
  206. package/build/components/colors/index.js +10 -8
  207. package/build/components/colors/index.js.map +1 -1
  208. package/build/components/colors/utils.js +7 -4
  209. package/build/components/colors/utils.js.map +1 -1
  210. package/build/components/colors/with-colors.js +17 -6
  211. package/build/components/colors/with-colors.js.map +1 -1
  212. package/build/components/colors-gradients/control.js +21 -59
  213. package/build/components/colors-gradients/control.js.map +1 -1
  214. package/build/components/colors-gradients/panel-color-gradient-settings.js +110 -30
  215. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  216. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  217. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  218. package/build/components/contrast-checker/index.js +18 -15
  219. package/build/components/contrast-checker/index.js.map +1 -1
  220. package/build/components/convert-to-group-buttons/index.js +9 -8
  221. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  222. package/build/components/copy-handler/index.js +6 -5
  223. package/build/components/copy-handler/index.js.map +1 -1
  224. package/build/components/default-block-appender/index.js +10 -8
  225. package/build/components/default-block-appender/index.js.map +1 -1
  226. package/build/components/default-block-appender/index.native.js +10 -8
  227. package/build/components/default-block-appender/index.native.js.map +1 -1
  228. package/build/components/default-style-picker/index.js +14 -10
  229. package/build/components/default-style-picker/index.js.map +1 -1
  230. package/build/components/duotone-control/index.js +20 -14
  231. package/build/components/duotone-control/index.js.map +1 -1
  232. package/build/components/editable-text/index.js +6 -5
  233. package/build/components/editable-text/index.js.map +1 -1
  234. package/build/components/editor-styles/index.js +4 -3
  235. package/build/components/editor-styles/index.js.map +1 -1
  236. package/build/components/floating-toolbar/index.native.js +8 -7
  237. package/build/components/floating-toolbar/index.native.js.map +1 -1
  238. package/build/components/font-appearance-control/index.js +53 -34
  239. package/build/components/font-appearance-control/index.js.map +1 -1
  240. package/build/components/font-family/index.js +12 -10
  241. package/build/components/font-family/index.js.map +1 -1
  242. package/build/components/font-sizes/index.js +6 -6
  243. package/build/components/font-sizes/index.native.js +6 -6
  244. package/build/components/font-sizes/utils.js +2 -2
  245. package/build/components/font-sizes/with-font-sizes.js +11 -5
  246. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  247. package/build/components/gradients/use-gradient.js +7 -6
  248. package/build/components/gradients/use-gradient.js.map +1 -1
  249. package/build/components/iframe/index.js +29 -23
  250. package/build/components/iframe/index.js.map +1 -1
  251. package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
  252. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  253. package/build/components/image-editor/constants.js +1 -1
  254. package/build/components/image-editor/context.js +11 -10
  255. package/build/components/image-editor/context.js.map +1 -1
  256. package/build/components/image-editor/cropper.js +9 -8
  257. package/build/components/image-editor/cropper.js.map +1 -1
  258. package/build/components/image-editor/index.js +10 -9
  259. package/build/components/image-editor/index.js.map +1 -1
  260. package/build/components/image-editor/use-save-image.js +12 -11
  261. package/build/components/image-editor/use-save-image.js.map +1 -1
  262. package/build/components/image-editor/use-transform-image.js +6 -5
  263. package/build/components/image-editor/use-transform-image.js.map +1 -1
  264. package/build/components/image-editor/zoom-dropdown.js +13 -10
  265. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  266. package/build/components/image-size-control/index.js +12 -11
  267. package/build/components/image-size-control/index.js.map +1 -1
  268. package/build/components/index.js +217 -197
  269. package/build/components/index.js.map +1 -1
  270. package/build/components/index.native.js +113 -111
  271. package/build/components/index.native.js.map +1 -1
  272. package/build/components/inner-blocks/button-block-appender.js +8 -7
  273. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  274. package/build/components/inner-blocks/default-block-appender.js +9 -7
  275. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  276. package/build/components/inner-blocks/index.js +9 -6
  277. package/build/components/inner-blocks/index.js.map +1 -1
  278. package/build/components/inner-blocks/index.native.js +8 -5
  279. package/build/components/inner-blocks/index.native.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/explorer.js +64 -0
  281. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  282. package/build/components/inserter/block-patterns-explorer/patterns-list.js +114 -0
  283. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  284. package/build/components/inserter/block-patterns-explorer/sidebar.js +82 -0
  285. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  286. package/build/components/inserter/block-patterns-tab.js +92 -57
  287. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  288. package/build/components/inserter/block-types-tab.js +9 -7
  289. package/build/components/inserter/block-types-tab.js.map +1 -1
  290. package/build/components/inserter/block-types-tab.native.js +9 -8
  291. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  292. package/build/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  293. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  294. package/build/components/inserter/hooks/use-block-types-state.js +6 -5
  295. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  296. package/build/components/inserter/hooks/use-insertion-point.js +11 -9
  297. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  298. package/build/components/inserter/index.js +36 -28
  299. package/build/components/inserter/index.js.map +1 -1
  300. package/build/components/inserter/index.native.js +46 -37
  301. package/build/components/inserter/index.native.js.map +1 -1
  302. package/build/components/inserter/library.js +12 -11
  303. package/build/components/inserter/library.js.map +1 -1
  304. package/build/components/inserter/menu.js +12 -11
  305. package/build/components/inserter/menu.js.map +1 -1
  306. package/build/components/inserter/menu.native.js +31 -27
  307. package/build/components/inserter/menu.native.js.map +1 -1
  308. package/build/components/inserter/panel.js +6 -5
  309. package/build/components/inserter/panel.js.map +1 -1
  310. package/build/components/inserter/pattern-panel.js +25 -15
  311. package/build/components/inserter/pattern-panel.js.map +1 -1
  312. package/build/components/inserter/preview-panel.js +4 -3
  313. package/build/components/inserter/preview-panel.js.map +1 -1
  314. package/build/components/inserter/quick-inserter.js +7 -6
  315. package/build/components/inserter/quick-inserter.js.map +1 -1
  316. package/build/components/inserter/reusable-blocks-tab.js +18 -13
  317. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  318. package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
  319. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  320. package/build/components/inserter/search-items.js +23 -7
  321. package/build/components/inserter/search-items.js.map +1 -1
  322. package/build/components/inserter/search-results.js +15 -14
  323. package/build/components/inserter/search-results.js.map +1 -1
  324. package/build/components/inserter/search-results.native.js +11 -10
  325. package/build/components/inserter/search-results.native.js.map +1 -1
  326. package/build/components/inserter/tabs.js +7 -6
  327. package/build/components/inserter/tabs.js.map +1 -1
  328. package/build/components/inserter/tabs.native.js +55 -37
  329. package/build/components/inserter/tabs.native.js.map +1 -1
  330. package/build/components/inserter/utils.native.js +10 -8
  331. package/build/components/inserter/utils.native.js.map +1 -1
  332. package/build/components/inserter-draggable-blocks/index.js +12 -10
  333. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  334. package/build/components/inserter-list-item/index.js +79 -73
  335. package/build/components/inserter-list-item/index.js.map +1 -1
  336. package/build/components/inserter-listbox/index.js +8 -7
  337. package/build/components/inserter-listbox/index.js.map +1 -1
  338. package/build/components/inserter-listbox/item.js +7 -6
  339. package/build/components/inserter-listbox/item.js.map +1 -1
  340. package/build/components/inspector-controls/block-support-slot-container.js +5 -4
  341. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  342. package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
  343. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  344. package/build/components/inspector-controls/fill.js +5 -4
  345. package/build/components/inspector-controls/fill.js.map +1 -1
  346. package/build/components/inspector-controls/fill.native.js +6 -5
  347. package/build/components/inspector-controls/fill.native.js.map +1 -1
  348. package/build/components/inspector-controls/groups.js +3 -1
  349. package/build/components/inspector-controls/groups.js.map +1 -1
  350. package/build/components/inspector-controls/slot.js +7 -6
  351. package/build/components/inspector-controls/slot.js.map +1 -1
  352. package/build/components/inspector-controls/slot.native.js +5 -4
  353. package/build/components/inspector-controls/slot.native.js.map +1 -1
  354. package/build/components/justify-content-control/ui.js +10 -8
  355. package/build/components/justify-content-control/ui.js.map +1 -1
  356. package/build/components/letter-spacing-control/index.js +13 -9
  357. package/build/components/letter-spacing-control/index.js.map +1 -1
  358. package/build/components/line-height-control/index.js +5 -4
  359. package/build/components/line-height-control/index.js.map +1 -1
  360. package/build/components/line-height-control/index.native.js +5 -4
  361. package/build/components/line-height-control/index.native.js.map +1 -1
  362. package/build/components/line-height-control/utils.js +1 -1
  363. package/build/components/link-control/index.js +107 -52
  364. package/build/components/link-control/index.js.map +1 -1
  365. package/build/components/link-control/link-preview.js +24 -10
  366. package/build/components/link-control/link-preview.js.map +1 -1
  367. package/build/components/link-control/search-create-button.js +9 -7
  368. package/build/components/link-control/search-create-button.js.map +1 -1
  369. package/build/components/link-control/search-input.js +31 -21
  370. package/build/components/link-control/search-input.js.map +1 -1
  371. package/build/components/link-control/search-item.js +10 -9
  372. package/build/components/link-control/search-item.js.map +1 -1
  373. package/build/components/link-control/search-results.js +15 -14
  374. package/build/components/link-control/search-results.js.map +1 -1
  375. package/build/components/link-control/settings-drawer.js +7 -5
  376. package/build/components/link-control/settings-drawer.js.map +1 -1
  377. package/build/components/link-control/use-search-handler.js +5 -4
  378. package/build/components/link-control/use-search-handler.js.map +1 -1
  379. package/build/components/link-control/viewer-slot.js +1 -1
  380. package/build/components/list-view/appender.js +27 -23
  381. package/build/components/list-view/appender.js.map +1 -1
  382. package/build/components/list-view/block-contents.js +32 -28
  383. package/build/components/list-view/block-contents.js.map +1 -1
  384. package/build/components/list-view/block-select-button.js +18 -17
  385. package/build/components/list-view/block-select-button.js.map +1 -1
  386. package/build/components/list-view/block.js +122 -83
  387. package/build/components/list-view/block.js.map +1 -1
  388. package/build/components/list-view/branch.js +92 -73
  389. package/build/components/list-view/branch.js.map +1 -1
  390. package/build/components/list-view/drop-indicator.js +5 -4
  391. package/build/components/list-view/drop-indicator.js.map +1 -1
  392. package/build/components/list-view/expander.js +4 -3
  393. package/build/components/list-view/expander.js.map +1 -1
  394. package/build/components/list-view/index.js +47 -23
  395. package/build/components/list-view/index.js.map +1 -1
  396. package/build/components/list-view/leaf.js +12 -11
  397. package/build/components/list-view/leaf.js.map +1 -1
  398. package/build/components/list-view/list-item.js +8 -7
  399. package/build/components/list-view/list-item.js.map +1 -1
  400. package/build/components/list-view/use-list-view-client-ids.js +8 -58
  401. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  402. package/build/components/media-placeholder/index.js +86 -68
  403. package/build/components/media-placeholder/index.js.map +1 -1
  404. package/build/components/media-placeholder/index.native.js +5 -4
  405. package/build/components/media-placeholder/index.native.js.map +1 -1
  406. package/build/components/media-replace-flow/index.js +85 -72
  407. package/build/components/media-replace-flow/index.js.map +1 -1
  408. package/build/components/media-upload/check.js +5 -4
  409. package/build/components/media-upload/check.js.map +1 -1
  410. package/build/components/media-upload/index.native.js +1 -1
  411. package/build/components/media-upload-progress/index.native.js +1 -1
  412. package/build/components/multi-selection-inspector/index.js +4 -3
  413. package/build/components/multi-selection-inspector/index.js.map +1 -1
  414. package/build/components/navigable-toolbar/index.js +8 -7
  415. package/build/components/navigable-toolbar/index.js.map +1 -1
  416. package/build/components/observe-typing/index.js +5 -4
  417. package/build/components/observe-typing/index.js.map +1 -1
  418. package/build/components/panel-color-settings/index.js +16 -12
  419. package/build/components/panel-color-settings/index.js.map +1 -1
  420. package/build/components/plain-text/index.js +6 -4
  421. package/build/components/plain-text/index.js.map +1 -1
  422. package/build/components/preview-options/index.js +8 -7
  423. package/build/components/preview-options/index.js.map +1 -1
  424. package/build/components/provider/block-refs-provider.js +5 -4
  425. package/build/components/provider/block-refs-provider.js.map +1 -1
  426. package/build/components/provider/use-block-sync.js +8 -7
  427. package/build/components/provider/use-block-sync.js.map +1 -1
  428. package/build/components/provider/with-registry-provider.js +7 -5
  429. package/build/components/provider/with-registry-provider.js.map +1 -1
  430. package/build/components/responsive-block-control/label.js +6 -5
  431. package/build/components/responsive-block-control/label.js.map +1 -1
  432. package/build/components/rich-text/embed-handler-picker.native.js +8 -5
  433. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  434. package/build/components/rich-text/file-paste-handler.js +6 -3
  435. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  436. package/build/components/rich-text/format-edit.js +36 -9
  437. package/build/components/rich-text/format-edit.js.map +1 -1
  438. package/build/components/rich-text/format-toolbar/index.js +20 -10
  439. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  440. package/build/components/rich-text/format-toolbar-container.js +6 -4
  441. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  442. package/build/components/rich-text/index.js +45 -41
  443. package/build/components/rich-text/index.js.map +1 -1
  444. package/build/components/rich-text/index.native.js +145 -122
  445. package/build/components/rich-text/index.native.js.map +1 -1
  446. package/build/components/rich-text/input-event.js +5 -4
  447. package/build/components/rich-text/input-event.js.map +1 -1
  448. package/build/components/rich-text/shortcut.js +6 -5
  449. package/build/components/rich-text/shortcut.js.map +1 -1
  450. package/build/components/rich-text/split-value.js +10 -8
  451. package/build/components/rich-text/split-value.js.map +1 -1
  452. package/build/components/rich-text/toolbar-button.js +7 -6
  453. package/build/components/rich-text/toolbar-button.js.map +1 -1
  454. package/build/components/rich-text/use-caret-in-format.js +4 -3
  455. package/build/components/rich-text/use-caret-in-format.js.map +1 -1
  456. package/build/components/rich-text/use-enter.js +6 -3
  457. package/build/components/rich-text/use-enter.js.map +1 -1
  458. package/build/components/rich-text/use-format-types.js +13 -10
  459. package/build/components/rich-text/use-format-types.js.map +1 -1
  460. package/build/components/rich-text/use-input-rules.js +15 -9
  461. package/build/components/rich-text/use-input-rules.js.map +1 -1
  462. package/build/components/rich-text/use-mark-persistent.js +5 -4
  463. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  464. package/build/components/rich-text/use-paste-handler.js +28 -4
  465. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  466. package/build/components/rich-text/utils.js +9 -7
  467. package/build/components/rich-text/utils.js.map +1 -1
  468. package/build/components/skip-to-selected-block/index.js +4 -3
  469. package/build/components/skip-to-selected-block/index.js.map +1 -1
  470. package/build/components/text-decoration-control/index.js +5 -4
  471. package/build/components/text-decoration-control/index.js.map +1 -1
  472. package/build/components/text-transform-control/index.js +5 -4
  473. package/build/components/text-transform-control/index.js.map +1 -1
  474. package/build/components/tool-selector/index.js +16 -13
  475. package/build/components/tool-selector/index.js.map +1 -1
  476. package/build/components/typewriter/index.js +10 -7
  477. package/build/components/typewriter/index.js.map +1 -1
  478. package/build/components/ungroup-button/index.native.js +12 -9
  479. package/build/components/ungroup-button/index.native.js.map +1 -1
  480. package/build/components/unit-control/index.js +5 -4
  481. package/build/components/unit-control/index.js.map +1 -1
  482. package/build/components/url-input/index.js +23 -13
  483. package/build/components/url-input/index.js.map +1 -1
  484. package/build/components/url-input/index.native.js +8 -6
  485. package/build/components/url-input/index.native.js.map +1 -1
  486. package/build/components/url-popover/image-url-input-ui.js +12 -11
  487. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  488. package/build/components/url-popover/index.js +9 -8
  489. package/build/components/url-popover/index.js.map +1 -1
  490. package/build/components/url-popover/link-editor.js +8 -7
  491. package/build/components/url-popover/link-editor.js.map +1 -1
  492. package/build/components/url-popover/link-viewer-url.js +6 -5
  493. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  494. package/build/components/url-popover/link-viewer.js +9 -8
  495. package/build/components/url-popover/link-viewer.js.map +1 -1
  496. package/build/components/use-block-drop-zone/index.js +9 -8
  497. package/build/components/use-block-drop-zone/index.js.map +1 -1
  498. package/build/components/use-moving-animation/index.js +17 -13
  499. package/build/components/use-moving-animation/index.js.map +1 -1
  500. package/build/components/use-no-recursive-renders/index.js +10 -6
  501. package/build/components/use-no-recursive-renders/index.js.map +1 -1
  502. package/build/components/use-on-block-drop/index.js +2 -2
  503. package/build/components/use-setting/index.js +48 -9
  504. package/build/components/use-setting/index.js.map +1 -1
  505. package/build/components/warning/index.js +7 -6
  506. package/build/components/warning/index.js.map +1 -1
  507. package/build/components/warning/index.native.js +10 -9
  508. package/build/components/warning/index.native.js.map +1 -1
  509. package/build/components/writing-flow/index.js +6 -5
  510. package/build/components/writing-flow/index.js.map +1 -1
  511. package/build/components/writing-flow/use-arrow-nav.js +2 -2
  512. package/build/hooks/align.js +12 -7
  513. package/build/hooks/align.js.map +1 -1
  514. package/build/hooks/border.js +9 -7
  515. package/build/hooks/border.js.map +1 -1
  516. package/build/hooks/color-panel.js +9 -7
  517. package/build/hooks/color-panel.js.map +1 -1
  518. package/build/hooks/color.js +4 -3
  519. package/build/hooks/color.js.map +1 -1
  520. package/build/hooks/dimensions.js +4 -2
  521. package/build/hooks/dimensions.js.map +1 -1
  522. package/build/hooks/duotone.js +29 -15
  523. package/build/hooks/duotone.js.map +1 -1
  524. package/build/hooks/font-appearance.js +60 -14
  525. package/build/hooks/font-appearance.js.map +1 -1
  526. package/build/hooks/font-family.js +62 -32
  527. package/build/hooks/font-family.js.map +1 -1
  528. package/build/hooks/font-size.js +57 -13
  529. package/build/hooks/font-size.js.map +1 -1
  530. package/build/hooks/gap.js +10 -8
  531. package/build/hooks/gap.js.map +1 -1
  532. package/build/hooks/index.js +16 -8
  533. package/build/hooks/index.js.map +1 -1
  534. package/build/hooks/index.native.js +16 -8
  535. package/build/hooks/index.native.js.map +1 -1
  536. package/build/hooks/layout.js +16 -13
  537. package/build/hooks/layout.js.map +1 -1
  538. package/build/hooks/letter-spacing.js +50 -11
  539. package/build/hooks/letter-spacing.js.map +1 -1
  540. package/build/hooks/line-height.js +51 -12
  541. package/build/hooks/line-height.js.map +1 -1
  542. package/build/hooks/margin.js +11 -9
  543. package/build/hooks/margin.js.map +1 -1
  544. package/build/hooks/padding.js +11 -9
  545. package/build/hooks/padding.js.map +1 -1
  546. package/build/hooks/style.js +9 -5
  547. package/build/hooks/style.js.map +1 -1
  548. package/build/hooks/text-decoration.js +48 -10
  549. package/build/hooks/text-decoration.js.map +1 -1
  550. package/build/hooks/text-transform.js +48 -10
  551. package/build/hooks/text-transform.js.map +1 -1
  552. package/build/hooks/typography.js +111 -10
  553. package/build/hooks/typography.js.map +1 -1
  554. package/build/hooks/typography.native.js +3 -2
  555. package/build/hooks/typography.native.js.map +1 -1
  556. package/build/hooks/use-border-props.js +5 -4
  557. package/build/hooks/use-border-props.js.map +1 -1
  558. package/build/hooks/use-cached-truthy.js +29 -0
  559. package/build/hooks/use-cached-truthy.js.map +1 -0
  560. package/build/index.js +21 -14
  561. package/build/index.js.map +1 -1
  562. package/build/layouts/flex.js +172 -52
  563. package/build/layouts/flex.js.map +1 -1
  564. package/build/layouts/flow.js +10 -8
  565. package/build/layouts/flow.js.map +1 -1
  566. package/build/layouts/index.js +2 -1
  567. package/build/layouts/index.js.map +1 -1
  568. package/build/layouts/utils.js +2 -1
  569. package/build/layouts/utils.js.map +1 -1
  570. package/build/store/actions.js +486 -369
  571. package/build/store/actions.js.map +1 -1
  572. package/build/store/array.js +2 -1
  573. package/build/store/array.js.map +1 -1
  574. package/build/store/index.js +6 -6
  575. package/build/store/index.js.map +1 -1
  576. package/build/store/reducer.js +145 -69
  577. package/build/store/reducer.js.map +1 -1
  578. package/build/store/selectors.js +259 -172
  579. package/build/store/selectors.js.map +1 -1
  580. package/build/utils/block-variation-transforms.js +4 -3
  581. package/build/utils/block-variation-transforms.js.map +1 -1
  582. package/build/utils/dom.js +1 -1
  583. package/build/utils/get-paste-event-data.js +10 -6
  584. package/build/utils/get-paste-event-data.js.map +1 -1
  585. package/build/utils/index.js +4 -4
  586. package/build/utils/math.js +2 -1
  587. package/build/utils/math.js.map +1 -1
  588. package/build/utils/parse-css-unit-to-px.js +6 -3
  589. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  590. package/build/utils/transform-styles/index.js +8 -6
  591. package/build/utils/transform-styles/index.js.map +1 -1
  592. package/build/utils/transform-styles/transforms/wrap.js +31 -28
  593. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  594. package/build-module/components/alignment-control/ui.js +12 -11
  595. package/build-module/components/alignment-control/ui.js.map +1 -1
  596. package/build-module/components/autocomplete/index.js +4 -3
  597. package/build-module/components/autocomplete/index.js.map +1 -1
  598. package/build-module/components/block-actions/index.js +12 -8
  599. package/build-module/components/block-actions/index.js.map +1 -1
  600. package/build-module/components/block-alignment-control/ui.js +21 -17
  601. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  602. package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
  603. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  604. package/build-module/components/block-alignment-matrix-control/index.js +6 -4
  605. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  606. package/build-module/components/block-breadcrumb/index.js +4 -3
  607. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  608. package/build-module/components/block-caption/index.native.js +34 -29
  609. package/build-module/components/block-caption/index.native.js.map +1 -1
  610. package/build-module/components/block-card/index.js +8 -6
  611. package/build-module/components/block-card/index.js.map +1 -1
  612. package/build-module/components/block-compare/block-view.js +9 -8
  613. package/build-module/components/block-compare/block-view.js.map +1 -1
  614. package/build-module/components/block-compare/index.js +9 -7
  615. package/build-module/components/block-compare/index.js.map +1 -1
  616. package/build-module/components/block-content-overlay/index.js +7 -6
  617. package/build-module/components/block-content-overlay/index.js.map +1 -1
  618. package/build-module/components/block-context/index.js +5 -4
  619. package/build-module/components/block-context/index.js.map +1 -1
  620. package/build-module/components/block-controls/fill.js +7 -6
  621. package/build-module/components/block-controls/fill.js.map +1 -1
  622. package/build-module/components/block-controls/slot.js +5 -4
  623. package/build-module/components/block-controls/slot.js.map +1 -1
  624. package/build-module/components/block-controls/slot.native.js +5 -4
  625. package/build-module/components/block-controls/slot.native.js.map +1 -1
  626. package/build-module/components/block-draggable/draggable-chip.js +5 -4
  627. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  628. package/build-module/components/block-draggable/index.js +13 -11
  629. package/build-module/components/block-draggable/index.js.map +1 -1
  630. package/build-module/components/block-full-height-alignment-control/index.js +7 -6
  631. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  632. package/build-module/components/block-icon/index.js +11 -5
  633. package/build-module/components/block-icon/index.js.map +1 -1
  634. package/build-module/components/block-icon/index.native.js +8 -6
  635. package/build-module/components/block-icon/index.native.js.map +1 -1
  636. package/build-module/components/block-inspector/index.js +20 -13
  637. package/build-module/components/block-inspector/index.js.map +1 -1
  638. package/build-module/components/block-list/block-html.js +4 -3
  639. package/build-module/components/block-list/block-html.js.map +1 -1
  640. package/build-module/components/block-list/block-invalid-warning.js +27 -19
  641. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  642. package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
  643. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  644. package/build-module/components/block-list/block-list-item.native.js +6 -5
  645. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  646. package/build-module/components/block-list/block-selection-button.native.js +11 -9
  647. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  648. package/build-module/components/block-list/block.js +40 -33
  649. package/build-module/components/block-list/block.js.map +1 -1
  650. package/build-module/components/block-list/block.native.js +35 -29
  651. package/build-module/components/block-list/block.native.js.map +1 -1
  652. package/build-module/components/block-list/index.js +13 -11
  653. package/build-module/components/block-list/index.js.map +1 -1
  654. package/build-module/components/block-list/index.native.js +22 -17
  655. package/build-module/components/block-list/index.native.js.map +1 -1
  656. package/build-module/components/block-list/insertion-point.native.js +4 -3
  657. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  658. package/build-module/components/block-list/layout.js +5 -4
  659. package/build-module/components/block-list/layout.js.map +1 -1
  660. package/build-module/components/block-list/subdirectory-icon.js +13 -10
  661. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  662. package/build-module/components/block-list/use-block-props/index.js +5 -3
  663. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  664. package/build-module/components/block-list/use-block-props/index.native.js +2 -1
  665. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  666. package/build-module/components/block-list/use-block-props/use-multi-selection.js +30 -14
  667. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  668. package/build-module/components/block-list-appender/index.js +16 -13
  669. package/build-module/components/block-list-appender/index.js.map +1 -1
  670. package/build-module/components/block-list-appender/index.native.js +14 -11
  671. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  672. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  673. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  674. package/build-module/components/block-mobile-toolbar/index.js +4 -3
  675. package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
  676. package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
  677. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  678. package/build-module/components/block-mover/button.js +7 -6
  679. package/build-module/components/block-mover/button.js.map +1 -1
  680. package/build-module/components/block-mover/index.js +15 -13
  681. package/build-module/components/block-mover/index.js.map +1 -1
  682. package/build-module/components/block-mover/index.native.js +22 -19
  683. package/build-module/components/block-mover/index.native.js.map +1 -1
  684. package/build-module/components/block-mover/mover-description.native.js +10 -7
  685. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  686. package/build-module/components/block-navigation/dropdown.js +26 -22
  687. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  688. package/build-module/components/block-pattern-setup/index.js +26 -22
  689. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  690. package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
  691. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  692. package/build-module/components/block-patterns-list/index.js +45 -45
  693. package/build-module/components/block-patterns-list/index.js.map +1 -1
  694. package/build-module/components/block-preview/auto.js +5 -4
  695. package/build-module/components/block-preview/auto.js.map +1 -1
  696. package/build-module/components/block-preview/index.js +8 -7
  697. package/build-module/components/block-preview/index.js.map +1 -1
  698. package/build-module/components/block-preview/live.js +4 -3
  699. package/build-module/components/block-preview/live.js.map +1 -1
  700. package/build-module/components/block-settings/button.native.js +10 -7
  701. package/build-module/components/block-settings/button.native.js.map +1 -1
  702. package/build-module/components/block-settings/container.native.js +13 -9
  703. package/build-module/components/block-settings/container.native.js.map +1 -1
  704. package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
  705. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  706. package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
  707. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  708. package/build-module/components/block-settings-menu/block-mode-toggle.js +25 -19
  709. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  710. package/build-module/components/block-settings-menu/block-settings-dropdown.js +98 -70
  711. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  712. package/build-module/components/block-settings-menu/index.js +5 -4
  713. package/build-module/components/block-settings-menu/index.js.map +1 -1
  714. package/build-module/components/block-settings-menu-controls/index.js +8 -6
  715. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  716. package/build-module/components/block-styles/index.js +20 -17
  717. package/build-module/components/block-styles/index.js.map +1 -1
  718. package/build-module/components/block-styles/index.native.js +6 -4
  719. package/build-module/components/block-styles/index.native.js.map +1 -1
  720. package/build-module/components/block-styles/preview.native.js +9 -8
  721. package/build-module/components/block-styles/preview.native.js.map +1 -1
  722. package/build-module/components/block-switcher/block-styles-menu.js +5 -4
  723. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  724. package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
  725. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  726. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
  727. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  728. package/build-module/components/block-switcher/index.js +41 -33
  729. package/build-module/components/block-switcher/index.js.map +1 -1
  730. package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
  731. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  732. package/build-module/components/block-switcher/preview-block-popover.js +4 -3
  733. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  734. package/build-module/components/block-switcher/utils.js +2 -1
  735. package/build-module/components/block-switcher/utils.js.map +1 -1
  736. package/build-module/components/block-title/index.js +4 -3
  737. package/build-module/components/block-title/index.js.map +1 -1
  738. package/build-module/components/block-toolbar/index.js +4 -3
  739. package/build-module/components/block-toolbar/index.js.map +1 -1
  740. package/build-module/components/block-toolbar/utils.js +13 -11
  741. package/build-module/components/block-toolbar/utils.js.map +1 -1
  742. package/build-module/components/block-tools/back-compat.js +4 -3
  743. package/build-module/components/block-tools/back-compat.js.map +1 -1
  744. package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
  745. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  746. package/build-module/components/block-tools/block-popover.js +15 -13
  747. package/build-module/components/block-tools/block-popover.js.map +1 -1
  748. package/build-module/components/block-tools/block-selection-button.js +6 -5
  749. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  750. package/build-module/components/block-tools/index.js +6 -5
  751. package/build-module/components/block-tools/index.js.map +1 -1
  752. package/build-module/components/block-tools/insertion-point.js +11 -9
  753. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  754. package/build-module/components/block-types-list/index.js +9 -8
  755. package/build-module/components/block-types-list/index.js.map +1 -1
  756. package/build-module/components/block-types-list/index.native.js +19 -15
  757. package/build-module/components/block-types-list/index.native.js.map +1 -1
  758. package/build-module/components/block-variation-picker/index.js +9 -8
  759. package/build-module/components/block-variation-picker/index.js.map +1 -1
  760. package/build-module/components/block-variation-picker/index.native.js +9 -7
  761. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  762. package/build-module/components/block-variation-transforms/index.js +22 -15
  763. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  764. package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
  765. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  766. package/build-module/components/border-radius-control/all-input-control.js +6 -5
  767. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  768. package/build-module/components/border-radius-control/index.js +5 -4
  769. package/build-module/components/border-radius-control/index.js.map +1 -1
  770. package/build-module/components/border-radius-control/input-controls.js +16 -11
  771. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  772. package/build-module/components/border-radius-control/linked-button.js +5 -4
  773. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  774. package/build-module/components/border-radius-control/utils.js +8 -3
  775. package/build-module/components/border-radius-control/utils.js.map +1 -1
  776. package/build-module/components/border-style-control/index.js +5 -4
  777. package/build-module/components/border-style-control/index.js.map +1 -1
  778. package/build-module/components/button-block-appender/index.js +15 -13
  779. package/build-module/components/button-block-appender/index.js.map +1 -1
  780. package/build-module/components/button-block-appender/index.native.js +28 -24
  781. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  782. package/build-module/components/caption/index.native.js +44 -41
  783. package/build-module/components/caption/index.native.js.map +1 -1
  784. package/build-module/components/color-palette/control.js +6 -5
  785. package/build-module/components/color-palette/control.js.map +1 -1
  786. package/build-module/components/color-style-selector/index.js +43 -34
  787. package/build-module/components/color-style-selector/index.js.map +1 -1
  788. package/build-module/components/colors/color-panel.js +21 -18
  789. package/build-module/components/colors/color-panel.js.map +1 -1
  790. package/build-module/components/colors/utils.js +6 -3
  791. package/build-module/components/colors/utils.js.map +1 -1
  792. package/build-module/components/colors/with-colors.js +17 -6
  793. package/build-module/components/colors/with-colors.js.map +1 -1
  794. package/build-module/components/colors-gradients/control.js +25 -65
  795. package/build-module/components/colors-gradients/control.js.map +1 -1
  796. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +111 -30
  797. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  798. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  799. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  800. package/build-module/components/contrast-checker/index.js +18 -15
  801. package/build-module/components/contrast-checker/index.js.map +1 -1
  802. package/build-module/components/convert-to-group-buttons/index.js +9 -8
  803. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  804. package/build-module/components/copy-handler/index.js +4 -3
  805. package/build-module/components/copy-handler/index.js.map +1 -1
  806. package/build-module/components/default-block-appender/index.js +10 -8
  807. package/build-module/components/default-block-appender/index.js.map +1 -1
  808. package/build-module/components/default-block-appender/index.native.js +10 -8
  809. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  810. package/build-module/components/default-style-picker/index.js +14 -10
  811. package/build-module/components/default-style-picker/index.js.map +1 -1
  812. package/build-module/components/duotone-control/index.js +20 -14
  813. package/build-module/components/duotone-control/index.js.map +1 -1
  814. package/build-module/components/editable-text/index.js +6 -5
  815. package/build-module/components/editable-text/index.js.map +1 -1
  816. package/build-module/components/editor-styles/index.js +4 -3
  817. package/build-module/components/editor-styles/index.js.map +1 -1
  818. package/build-module/components/floating-toolbar/index.native.js +8 -7
  819. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  820. package/build-module/components/font-appearance-control/index.js +49 -34
  821. package/build-module/components/font-appearance-control/index.js.map +1 -1
  822. package/build-module/components/font-family/index.js +12 -10
  823. package/build-module/components/font-family/index.js.map +1 -1
  824. package/build-module/components/font-sizes/with-font-sizes.js +11 -5
  825. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  826. package/build-module/components/gradients/use-gradient.js +5 -4
  827. package/build-module/components/gradients/use-gradient.js.map +1 -1
  828. package/build-module/components/iframe/index.js +29 -23
  829. package/build-module/components/iframe/index.js.map +1 -1
  830. package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
  831. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  832. package/build-module/components/image-editor/context.js +11 -10
  833. package/build-module/components/image-editor/context.js.map +1 -1
  834. package/build-module/components/image-editor/cropper.js +9 -8
  835. package/build-module/components/image-editor/cropper.js.map +1 -1
  836. package/build-module/components/image-editor/index.js +9 -8
  837. package/build-module/components/image-editor/index.js.map +1 -1
  838. package/build-module/components/image-editor/use-save-image.js +12 -11
  839. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  840. package/build-module/components/image-editor/use-transform-image.js +6 -5
  841. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  842. package/build-module/components/image-editor/zoom-dropdown.js +13 -10
  843. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  844. package/build-module/components/image-size-control/index.js +12 -11
  845. package/build-module/components/image-size-control/index.js.map +1 -1
  846. package/build-module/components/index.js +3 -1
  847. package/build-module/components/index.js.map +1 -1
  848. package/build-module/components/index.native.js +1 -1
  849. package/build-module/components/index.native.js.map +1 -1
  850. package/build-module/components/inner-blocks/button-block-appender.js +8 -7
  851. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  852. package/build-module/components/inner-blocks/default-block-appender.js +9 -7
  853. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  854. package/build-module/components/inner-blocks/index.js +9 -6
  855. package/build-module/components/inner-blocks/index.js.map +1 -1
  856. package/build-module/components/inner-blocks/index.native.js +8 -5
  857. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  858. package/build-module/components/inserter/block-patterns-explorer/explorer.js +52 -0
  859. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  860. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +95 -0
  861. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  862. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  863. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  864. package/build-module/components/inserter/block-patterns-tab.js +93 -58
  865. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  866. package/build-module/components/inserter/block-types-tab.js +9 -7
  867. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  868. package/build-module/components/inserter/block-types-tab.native.js +9 -8
  869. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  870. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  871. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  872. package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
  873. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  874. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
  875. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  876. package/build-module/components/inserter/index.js +36 -28
  877. package/build-module/components/inserter/index.js.map +1 -1
  878. package/build-module/components/inserter/index.native.js +46 -37
  879. package/build-module/components/inserter/index.native.js.map +1 -1
  880. package/build-module/components/inserter/library.js +12 -11
  881. package/build-module/components/inserter/library.js.map +1 -1
  882. package/build-module/components/inserter/menu.js +12 -11
  883. package/build-module/components/inserter/menu.js.map +1 -1
  884. package/build-module/components/inserter/menu.native.js +31 -27
  885. package/build-module/components/inserter/menu.native.js.map +1 -1
  886. package/build-module/components/inserter/panel.js +6 -5
  887. package/build-module/components/inserter/panel.js.map +1 -1
  888. package/build-module/components/inserter/pattern-panel.js +27 -18
  889. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  890. package/build-module/components/inserter/preview-panel.js +4 -3
  891. package/build-module/components/inserter/preview-panel.js.map +1 -1
  892. package/build-module/components/inserter/quick-inserter.js +7 -6
  893. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  894. package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
  895. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  896. package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
  897. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  898. package/build-module/components/inserter/search-items.js +23 -7
  899. package/build-module/components/inserter/search-items.js.map +1 -1
  900. package/build-module/components/inserter/search-results.js +15 -14
  901. package/build-module/components/inserter/search-results.js.map +1 -1
  902. package/build-module/components/inserter/search-results.native.js +11 -10
  903. package/build-module/components/inserter/search-results.native.js.map +1 -1
  904. package/build-module/components/inserter/tabs.js +7 -6
  905. package/build-module/components/inserter/tabs.js.map +1 -1
  906. package/build-module/components/inserter/tabs.native.js +55 -37
  907. package/build-module/components/inserter/tabs.native.js.map +1 -1
  908. package/build-module/components/inserter/utils.native.js +10 -8
  909. package/build-module/components/inserter/utils.native.js.map +1 -1
  910. package/build-module/components/inserter-draggable-blocks/index.js +12 -10
  911. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  912. package/build-module/components/inserter-list-item/index.js +75 -69
  913. package/build-module/components/inserter-list-item/index.js.map +1 -1
  914. package/build-module/components/inserter-listbox/index.js +4 -3
  915. package/build-module/components/inserter-listbox/index.js.map +1 -1
  916. package/build-module/components/inserter-listbox/item.js +7 -6
  917. package/build-module/components/inserter-listbox/item.js.map +1 -1
  918. package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
  919. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  920. package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
  921. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  922. package/build-module/components/inspector-controls/fill.js +5 -4
  923. package/build-module/components/inspector-controls/fill.js.map +1 -1
  924. package/build-module/components/inspector-controls/fill.native.js +6 -5
  925. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  926. package/build-module/components/inspector-controls/groups.js +3 -1
  927. package/build-module/components/inspector-controls/groups.js.map +1 -1
  928. package/build-module/components/inspector-controls/slot.js +7 -6
  929. package/build-module/components/inspector-controls/slot.js.map +1 -1
  930. package/build-module/components/inspector-controls/slot.native.js +5 -4
  931. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  932. package/build-module/components/justify-content-control/ui.js +10 -8
  933. package/build-module/components/justify-content-control/ui.js.map +1 -1
  934. package/build-module/components/letter-spacing-control/index.js +13 -9
  935. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  936. package/build-module/components/line-height-control/index.js +5 -4
  937. package/build-module/components/line-height-control/index.js.map +1 -1
  938. package/build-module/components/line-height-control/index.native.js +5 -4
  939. package/build-module/components/line-height-control/index.native.js.map +1 -1
  940. package/build-module/components/link-control/index.js +107 -53
  941. package/build-module/components/link-control/index.js.map +1 -1
  942. package/build-module/components/link-control/link-preview.js +24 -11
  943. package/build-module/components/link-control/link-preview.js.map +1 -1
  944. package/build-module/components/link-control/search-create-button.js +9 -7
  945. package/build-module/components/link-control/search-create-button.js.map +1 -1
  946. package/build-module/components/link-control/search-input.js +30 -21
  947. package/build-module/components/link-control/search-input.js.map +1 -1
  948. package/build-module/components/link-control/search-item.js +10 -9
  949. package/build-module/components/link-control/search-item.js.map +1 -1
  950. package/build-module/components/link-control/search-results.js +15 -14
  951. package/build-module/components/link-control/search-results.js.map +1 -1
  952. package/build-module/components/link-control/settings-drawer.js +7 -5
  953. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  954. package/build-module/components/link-control/use-search-handler.js +4 -3
  955. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  956. package/build-module/components/list-view/appender.js +27 -23
  957. package/build-module/components/list-view/appender.js.map +1 -1
  958. package/build-module/components/list-view/block-contents.js +32 -28
  959. package/build-module/components/list-view/block-contents.js.map +1 -1
  960. package/build-module/components/list-view/block-select-button.js +18 -17
  961. package/build-module/components/list-view/block-select-button.js.map +1 -1
  962. package/build-module/components/list-view/block.js +121 -83
  963. package/build-module/components/list-view/block.js.map +1 -1
  964. package/build-module/components/list-view/branch.js +92 -73
  965. package/build-module/components/list-view/branch.js.map +1 -1
  966. package/build-module/components/list-view/drop-indicator.js +5 -4
  967. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  968. package/build-module/components/list-view/expander.js +4 -3
  969. package/build-module/components/list-view/expander.js.map +1 -1
  970. package/build-module/components/list-view/index.js +49 -25
  971. package/build-module/components/list-view/index.js.map +1 -1
  972. package/build-module/components/list-view/leaf.js +12 -11
  973. package/build-module/components/list-view/leaf.js.map +1 -1
  974. package/build-module/components/list-view/list-item.js +8 -7
  975. package/build-module/components/list-view/list-item.js.map +1 -1
  976. package/build-module/components/list-view/use-list-view-client-ids.js +8 -58
  977. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  978. package/build-module/components/media-placeholder/index.js +86 -68
  979. package/build-module/components/media-placeholder/index.js.map +1 -1
  980. package/build-module/components/media-placeholder/index.native.js +5 -4
  981. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  982. package/build-module/components/media-replace-flow/index.js +85 -72
  983. package/build-module/components/media-replace-flow/index.js.map +1 -1
  984. package/build-module/components/media-upload/check.js +5 -4
  985. package/build-module/components/media-upload/check.js.map +1 -1
  986. package/build-module/components/multi-selection-inspector/index.js +4 -3
  987. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  988. package/build-module/components/navigable-toolbar/index.js +8 -7
  989. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  990. package/build-module/components/observe-typing/index.js +4 -3
  991. package/build-module/components/observe-typing/index.js.map +1 -1
  992. package/build-module/components/panel-color-settings/index.js +16 -12
  993. package/build-module/components/panel-color-settings/index.js.map +1 -1
  994. package/build-module/components/plain-text/index.js +6 -4
  995. package/build-module/components/plain-text/index.js.map +1 -1
  996. package/build-module/components/preview-options/index.js +8 -7
  997. package/build-module/components/preview-options/index.js.map +1 -1
  998. package/build-module/components/provider/block-refs-provider.js +4 -3
  999. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1000. package/build-module/components/provider/use-block-sync.js +8 -7
  1001. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1002. package/build-module/components/provider/with-registry-provider.js +7 -5
  1003. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1004. package/build-module/components/responsive-block-control/label.js +6 -5
  1005. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1006. package/build-module/components/rich-text/embed-handler-picker.native.js +8 -5
  1007. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1008. package/build-module/components/rich-text/file-paste-handler.js +6 -3
  1009. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  1010. package/build-module/components/rich-text/format-edit.js +36 -10
  1011. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1012. package/build-module/components/rich-text/format-toolbar/index.js +20 -10
  1013. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1014. package/build-module/components/rich-text/format-toolbar-container.js +6 -4
  1015. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1016. package/build-module/components/rich-text/index.js +44 -40
  1017. package/build-module/components/rich-text/index.js.map +1 -1
  1018. package/build-module/components/rich-text/index.native.js +145 -122
  1019. package/build-module/components/rich-text/index.native.js.map +1 -1
  1020. package/build-module/components/rich-text/input-event.js +5 -4
  1021. package/build-module/components/rich-text/input-event.js.map +1 -1
  1022. package/build-module/components/rich-text/shortcut.js +6 -5
  1023. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1024. package/build-module/components/rich-text/split-value.js +10 -8
  1025. package/build-module/components/rich-text/split-value.js.map +1 -1
  1026. package/build-module/components/rich-text/toolbar-button.js +7 -6
  1027. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1028. package/build-module/components/rich-text/use-caret-in-format.js +4 -3
  1029. package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
  1030. package/build-module/components/rich-text/use-enter.js +6 -3
  1031. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1032. package/build-module/components/rich-text/use-format-types.js +13 -10
  1033. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1034. package/build-module/components/rich-text/use-input-rules.js +15 -9
  1035. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1036. package/build-module/components/rich-text/use-mark-persistent.js +5 -4
  1037. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1038. package/build-module/components/rich-text/use-paste-handler.js +28 -4
  1039. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1040. package/build-module/components/rich-text/utils.js +7 -5
  1041. package/build-module/components/rich-text/utils.js.map +1 -1
  1042. package/build-module/components/skip-to-selected-block/index.js +4 -3
  1043. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1044. package/build-module/components/text-decoration-control/index.js +5 -4
  1045. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1046. package/build-module/components/text-transform-control/index.js +5 -4
  1047. package/build-module/components/text-transform-control/index.js.map +1 -1
  1048. package/build-module/components/tool-selector/index.js +16 -13
  1049. package/build-module/components/tool-selector/index.js.map +1 -1
  1050. package/build-module/components/typewriter/index.js +9 -6
  1051. package/build-module/components/typewriter/index.js.map +1 -1
  1052. package/build-module/components/ungroup-button/index.native.js +12 -9
  1053. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1054. package/build-module/components/unit-control/index.js +5 -4
  1055. package/build-module/components/unit-control/index.js.map +1 -1
  1056. package/build-module/components/url-input/index.js +23 -13
  1057. package/build-module/components/url-input/index.js.map +1 -1
  1058. package/build-module/components/url-input/index.native.js +8 -6
  1059. package/build-module/components/url-input/index.native.js.map +1 -1
  1060. package/build-module/components/url-popover/image-url-input-ui.js +12 -11
  1061. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1062. package/build-module/components/url-popover/index.js +9 -8
  1063. package/build-module/components/url-popover/index.js.map +1 -1
  1064. package/build-module/components/url-popover/link-editor.js +8 -7
  1065. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1066. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1067. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1068. package/build-module/components/url-popover/link-viewer.js +9 -8
  1069. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1070. package/build-module/components/use-block-drop-zone/index.js +8 -7
  1071. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1072. package/build-module/components/use-moving-animation/index.js +17 -13
  1073. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1074. package/build-module/components/use-no-recursive-renders/index.js +10 -6
  1075. package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
  1076. package/build-module/components/use-setting/index.js +48 -9
  1077. package/build-module/components/use-setting/index.js.map +1 -1
  1078. package/build-module/components/warning/index.js +7 -6
  1079. package/build-module/components/warning/index.js.map +1 -1
  1080. package/build-module/components/warning/index.native.js +10 -9
  1081. package/build-module/components/warning/index.native.js.map +1 -1
  1082. package/build-module/components/writing-flow/index.js +5 -4
  1083. package/build-module/components/writing-flow/index.js.map +1 -1
  1084. package/build-module/hooks/align.js +9 -4
  1085. package/build-module/hooks/align.js.map +1 -1
  1086. package/build-module/hooks/border.js +8 -6
  1087. package/build-module/hooks/border.js.map +1 -1
  1088. package/build-module/hooks/color-panel.js +9 -7
  1089. package/build-module/hooks/color-panel.js.map +1 -1
  1090. package/build-module/hooks/dimensions.js +2 -1
  1091. package/build-module/hooks/dimensions.js.map +1 -1
  1092. package/build-module/hooks/duotone.js +29 -15
  1093. package/build-module/hooks/duotone.js.map +1 -1
  1094. package/build-module/hooks/font-appearance.js +54 -12
  1095. package/build-module/hooks/font-appearance.js.map +1 -1
  1096. package/build-module/hooks/font-family.js +57 -31
  1097. package/build-module/hooks/font-family.js.map +1 -1
  1098. package/build-module/hooks/font-size.js +52 -12
  1099. package/build-module/hooks/font-size.js.map +1 -1
  1100. package/build-module/hooks/gap.js +9 -7
  1101. package/build-module/hooks/gap.js.map +1 -1
  1102. package/build-module/hooks/index.js +1 -0
  1103. package/build-module/hooks/index.js.map +1 -1
  1104. package/build-module/hooks/index.native.js +1 -0
  1105. package/build-module/hooks/index.native.js.map +1 -1
  1106. package/build-module/hooks/layout.js +16 -13
  1107. package/build-module/hooks/layout.js.map +1 -1
  1108. package/build-module/hooks/letter-spacing.js +45 -10
  1109. package/build-module/hooks/letter-spacing.js.map +1 -1
  1110. package/build-module/hooks/line-height.js +46 -11
  1111. package/build-module/hooks/line-height.js.map +1 -1
  1112. package/build-module/hooks/margin.js +10 -8
  1113. package/build-module/hooks/margin.js.map +1 -1
  1114. package/build-module/hooks/padding.js +10 -8
  1115. package/build-module/hooks/padding.js.map +1 -1
  1116. package/build-module/hooks/style.js +7 -3
  1117. package/build-module/hooks/style.js.map +1 -1
  1118. package/build-module/hooks/text-decoration.js +43 -9
  1119. package/build-module/hooks/text-decoration.js.map +1 -1
  1120. package/build-module/hooks/text-transform.js +43 -9
  1121. package/build-module/hooks/text-transform.js.map +1 -1
  1122. package/build-module/hooks/typography.js +119 -18
  1123. package/build-module/hooks/typography.js.map +1 -1
  1124. package/build-module/hooks/typography.native.js +2 -1
  1125. package/build-module/hooks/typography.native.js.map +1 -1
  1126. package/build-module/hooks/use-border-props.js +5 -4
  1127. package/build-module/hooks/use-border-props.js.map +1 -1
  1128. package/build-module/hooks/use-cached-truthy.js +21 -0
  1129. package/build-module/hooks/use-cached-truthy.js.map +1 -0
  1130. package/build-module/index.js +1 -1
  1131. package/build-module/index.js.map +1 -1
  1132. package/build-module/layouts/flex.js +176 -56
  1133. package/build-module/layouts/flex.js.map +1 -1
  1134. package/build-module/layouts/flow.js +10 -8
  1135. package/build-module/layouts/flow.js.map +1 -1
  1136. package/build-module/layouts/index.js +2 -1
  1137. package/build-module/layouts/index.js.map +1 -1
  1138. package/build-module/layouts/utils.js +2 -1
  1139. package/build-module/layouts/utils.js.map +1 -1
  1140. package/build-module/store/actions.js +410 -320
  1141. package/build-module/store/actions.js.map +1 -1
  1142. package/build-module/store/array.js +2 -1
  1143. package/build-module/store/array.js.map +1 -1
  1144. package/build-module/store/index.js +1 -2
  1145. package/build-module/store/index.js.map +1 -1
  1146. package/build-module/store/reducer.js +129 -54
  1147. package/build-module/store/reducer.js.map +1 -1
  1148. package/build-module/store/selectors.js +197 -117
  1149. package/build-module/store/selectors.js.map +1 -1
  1150. package/build-module/utils/block-variation-transforms.js +4 -3
  1151. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1152. package/build-module/utils/get-paste-event-data.js +10 -6
  1153. package/build-module/utils/get-paste-event-data.js.map +1 -1
  1154. package/build-module/utils/math.js +2 -1
  1155. package/build-module/utils/math.js.map +1 -1
  1156. package/build-module/utils/parse-css-unit-to-px.js +5 -2
  1157. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1158. package/build-module/utils/transform-styles/index.js +8 -6
  1159. package/build-module/utils/transform-styles/index.js.map +1 -1
  1160. package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
  1161. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1162. package/build-style/style-rtl.css +160 -57
  1163. package/build-style/style.css +160 -57
  1164. package/package.json +27 -28
  1165. package/src/components/alignment-control/test/__snapshots__/index.js.snap +0 -2
  1166. package/src/components/alignment-control/ui.js +1 -4
  1167. package/src/components/block-draggable/style.scss +19 -4
  1168. package/src/components/block-icon/index.js +4 -1
  1169. package/src/components/block-inspector/index.js +5 -0
  1170. package/src/components/block-list/index.native.js +1 -1
  1171. package/src/components/block-list/use-block-props/use-multi-selection.js +27 -7
  1172. package/src/components/block-navigation/dropdown.js +0 -1
  1173. package/src/components/block-patterns-list/index.js +1 -8
  1174. package/src/components/block-patterns-list/style.scss +22 -12
  1175. package/src/components/block-settings/container.native.js +7 -0
  1176. package/src/components/block-settings-menu/block-settings-dropdown.js +19 -7
  1177. package/src/components/block-styles/preview.native.js +2 -2
  1178. package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
  1179. package/src/components/color-palette/test/__snapshots__/control.js.snap +88 -63
  1180. package/src/components/colors-gradients/control.js +19 -62
  1181. package/src/components/colors-gradients/panel-color-gradient-settings.js +76 -6
  1182. package/src/components/colors-gradients/style.scss +3 -14
  1183. package/src/components/colors-gradients/test/control.js +0 -16
  1184. package/src/components/duotone-control/index.js +6 -0
  1185. package/src/components/duotone-control/style.scss +27 -12
  1186. package/src/components/font-appearance-control/index.js +22 -14
  1187. package/src/components/iframe/index.js +1 -1
  1188. package/src/components/index.js +3 -4
  1189. package/src/components/index.native.js +1 -4
  1190. package/src/components/inner-blocks/index.js +4 -4
  1191. package/src/components/inner-blocks/index.native.js +7 -4
  1192. package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
  1193. package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
  1194. package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  1195. package/src/components/inserter/block-patterns-tab.js +107 -80
  1196. package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
  1197. package/src/components/inserter/pattern-panel.js +33 -16
  1198. package/src/components/inserter/style.scss +64 -1
  1199. package/src/components/inserter/test/block-types-tab.native.js +1 -1
  1200. package/src/components/inserter/test/fixtures/index.native.js +12 -0
  1201. package/src/components/inspector-controls/groups.js +4 -0
  1202. package/src/components/letter-spacing-control/index.js +12 -6
  1203. package/src/components/link-control/README.md +7 -0
  1204. package/src/components/link-control/index.js +99 -34
  1205. package/src/components/link-control/link-preview.js +21 -9
  1206. package/src/components/link-control/search-input.js +9 -3
  1207. package/src/components/link-control/style.scss +32 -16
  1208. package/src/components/link-control/test/index.js +179 -4
  1209. package/src/components/list-view/block.js +67 -23
  1210. package/src/components/list-view/branch.js +113 -91
  1211. package/src/components/list-view/index.js +58 -19
  1212. package/src/components/list-view/leaf.js +1 -1
  1213. package/src/components/list-view/style.scss +14 -3
  1214. package/src/components/list-view/use-list-view-client-ids.js +7 -66
  1215. package/src/components/rich-text/embed-handler-picker.native.js +1 -0
  1216. package/src/components/rich-text/format-edit.js +36 -2
  1217. package/src/components/rich-text/format-toolbar/index.js +3 -0
  1218. package/src/components/rich-text/use-paste-handler.js +22 -0
  1219. package/src/components/url-input/index.js +14 -4
  1220. package/src/components/use-setting/index.js +49 -11
  1221. package/src/hooks/border.js +8 -11
  1222. package/src/hooks/color-panel.js +1 -0
  1223. package/src/hooks/duotone.js +21 -7
  1224. package/src/hooks/font-appearance.js +38 -7
  1225. package/src/hooks/font-family.js +29 -13
  1226. package/src/hooks/font-size.js +42 -6
  1227. package/src/hooks/index.js +1 -0
  1228. package/src/hooks/index.native.js +1 -0
  1229. package/src/hooks/layout.scss +3 -1
  1230. package/src/hooks/letter-spacing.js +35 -7
  1231. package/src/hooks/line-height.js +37 -9
  1232. package/src/hooks/margin.js +1 -1
  1233. package/src/hooks/padding.js +1 -1
  1234. package/src/hooks/text-decoration.js +34 -6
  1235. package/src/hooks/text-transform.js +34 -6
  1236. package/src/hooks/typography.js +165 -15
  1237. package/src/hooks/typography.scss +16 -0
  1238. package/src/hooks/use-cached-truthy.js +20 -0
  1239. package/src/index.js +1 -0
  1240. package/src/layouts/flex.js +155 -41
  1241. package/src/store/actions.js +223 -391
  1242. package/src/store/index.js +1 -2
  1243. package/src/store/reducer.js +36 -18
  1244. package/src/store/selectors.js +52 -47
  1245. package/src/store/test/actions.js +395 -694
  1246. package/src/store/test/selectors.js +79 -21
  1247. package/src/style.scss +1 -1
  1248. package/src/utils/test/parse-css-unit-to-px.js +127 -167
  1249. package/build/components/text-decoration-and-transform/index.js +0 -39
  1250. package/build/components/text-decoration-and-transform/index.js.map +0 -1
  1251. package/build/store/controls.js +0 -44
  1252. package/build/store/controls.js.map +0 -1
  1253. package/build-module/components/text-decoration-and-transform/index.js +0 -30
  1254. package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
  1255. package/build-module/store/controls.js +0 -32
  1256. package/build-module/store/controls.js.map +0 -1
  1257. package/src/components/text-decoration-and-transform/index.js +0 -36
  1258. package/src/components/text-decoration-and-transform/style.scss +0 -3
  1259. package/src/store/controls.js +0 -39
@@ -9,56 +9,59 @@ import { castArray, findKey, first, isObject, last, some } from 'lodash';
9
9
  import { cloneBlock, __experimentalCloneSanitizedBlock, createBlock, doBlocksMatchTemplate, getBlockType, getDefaultBlockName, hasBlockSupport, switchToBlockType, synchronizeBlocksWithTemplate } from '@wordpress/blocks';
10
10
  import { speak } from '@wordpress/a11y';
11
11
  import { __, _n, sprintf } from '@wordpress/i18n';
12
- import { controls } from '@wordpress/data';
13
12
  import { create, insert, remove, toHTMLString } from '@wordpress/rich-text';
14
13
  import deprecated from '@wordpress/deprecated';
15
14
  /**
16
- * Internal dependencies
17
- */
18
-
19
- import { __unstableMarkAutomaticChangeFinalControl } from '../store/controls';
20
- import { STORE_NAME as blockEditorStoreName } from './constants';
21
- /**
22
- * Generator which will yield a default block insert action if there
23
- * are no other blocks at the root of the editor. This generator should be used
15
+ * Action which will insert a default block insert action if there
16
+ * are no other blocks at the root of the editor. This action should be used
24
17
  * in actions which may result in no blocks remaining in the editor (removal,
25
18
  * replacement, etc).
26
19
  */
27
20
 
28
- function* ensureDefaultBlock() {
29
- const count = yield controls.select(blockEditorStoreName, 'getBlockCount'); // To avoid a focus loss when removing the last block, assure there is
21
+ const ensureDefaultBlock = () => _ref => {
22
+ let {
23
+ select,
24
+ dispatch
25
+ } = _ref;
26
+ // To avoid a focus loss when removing the last block, assure there is
30
27
  // always a default block if the last of the blocks have been removed.
28
+ const count = select.getBlockCount();
31
29
 
32
- if (count === 0) {
33
- const {
34
- __unstableHasCustomAppender
35
- } = yield controls.select(blockEditorStoreName, 'getSettings'); // If there's an custom appender, don't insert default block.
36
- // We have to remember to manually move the focus elsewhere to
37
- // prevent it from being lost though.
30
+ if (count > 0) {
31
+ return;
32
+ } // If there's an custom appender, don't insert default block.
33
+ // We have to remember to manually move the focus elsewhere to
34
+ // prevent it from being lost though.
38
35
 
39
- if (__unstableHasCustomAppender) {
40
- return;
41
- }
42
36
 
43
- return yield insertDefaultBlock();
37
+ const {
38
+ __unstableHasCustomAppender
39
+ } = select.getSettings();
40
+
41
+ if (__unstableHasCustomAppender) {
42
+ return;
44
43
  }
45
- }
44
+
45
+ dispatch.insertDefaultBlock();
46
+ };
46
47
  /**
47
- * Returns an action object used in signalling that blocks state should be
48
- * reset to the specified array of blocks, taking precedence over any other
49
- * content reflected as an edit in state.
48
+ * Action that resets blocks state to the specified array of blocks, taking precedence
49
+ * over any other content reflected as an edit in state.
50
50
  *
51
51
  * @param {Array} blocks Array of blocks.
52
52
  */
53
53
 
54
54
 
55
- export function* resetBlocks(blocks) {
56
- yield {
55
+ export const resetBlocks = blocks => _ref2 => {
56
+ let {
57
+ dispatch
58
+ } = _ref2;
59
+ dispatch({
57
60
  type: 'RESET_BLOCKS',
58
61
  blocks
59
- };
60
- return yield* validateBlocksToTemplate(blocks);
61
- }
62
+ });
63
+ dispatch(validateBlocksToTemplate(blocks));
64
+ };
62
65
  /**
63
66
  * Block validity is a function of blocks state (at the point of a
64
67
  * reset) and the template setting. As a compromise to its placement
@@ -68,20 +71,24 @@ export function* resetBlocks(blocks) {
68
71
  * @param {Array} blocks Array of blocks.
69
72
  */
70
73
 
71
- export function* validateBlocksToTemplate(blocks) {
72
- const template = yield controls.select(blockEditorStoreName, 'getTemplate');
73
- const templateLock = yield controls.select(blockEditorStoreName, 'getTemplateLock'); // Unlocked templates are considered always valid because they act
74
+ export const validateBlocksToTemplate = blocks => _ref3 => {
75
+ let {
76
+ select,
77
+ dispatch
78
+ } = _ref3;
79
+ const template = select.getTemplate();
80
+ const templateLock = select.getTemplateLock(); // Unlocked templates are considered always valid because they act
74
81
  // as default values only.
75
82
 
76
83
  const isBlocksValidToTemplate = !template || templateLock !== 'all' || doBlocksMatchTemplate(blocks, template); // Update if validity has changed.
77
84
 
78
- const isValidTemplate = yield controls.select(blockEditorStoreName, 'isValidTemplate');
85
+ const isValidTemplate = select.isValidTemplate();
79
86
 
80
87
  if (isBlocksValidToTemplate !== isValidTemplate) {
81
- yield setTemplateValidity(isBlocksValidToTemplate);
88
+ dispatch.setTemplateValidity(isBlocksValidToTemplate);
82
89
  return isBlocksValidToTemplate;
83
90
  }
84
- }
91
+ };
85
92
  /**
86
93
  * A block selection object.
87
94
  *
@@ -138,8 +145,7 @@ export function receiveBlocks(blocks) {
138
145
  };
139
146
  }
140
147
  /**
141
- * Returns an action object used in signalling that the multiple blocks'
142
- * attributes with the specified client IDs have been updated.
148
+ * Action that updates attributes of multiple blocks with the specified client IDs.
143
149
  *
144
150
  * @param {string|string[]} clientIds Block client IDs.
145
151
  * @param {Object} attributes Block attributes to be merged. Should be keyed by clientIds if
@@ -148,7 +154,8 @@ export function receiveBlocks(blocks) {
148
154
  * @return {Object} Action object.
149
155
  */
150
156
 
151
- export function updateBlockAttributes(clientIds, attributes, uniqueByBlock = false) {
157
+ export function updateBlockAttributes(clientIds, attributes) {
158
+ let uniqueByBlock = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
152
159
  return {
153
160
  type: 'UPDATE_BLOCK_ATTRIBUTES',
154
161
  clientIds: castArray(clientIds),
@@ -157,8 +164,7 @@ export function updateBlockAttributes(clientIds, attributes, uniqueByBlock = fal
157
164
  };
158
165
  }
159
166
  /**
160
- * Returns an action object used in signalling that the block with the
161
- * specified client ID has been updated.
167
+ * Action that updates the block with the specified client ID.
162
168
  *
163
169
  * @param {string} clientId Block client ID.
164
170
  * @param {Object} updates Block attributes to be merged.
@@ -188,7 +194,9 @@ export function updateBlock(clientId, updates) {
188
194
  * @return {Object} Action object.
189
195
  */
190
196
 
191
- export function selectBlock(clientId, initialPosition = 0) {
197
+ export function selectBlock(clientId) {
198
+ let initialPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
199
+
192
200
  /* eslint-enable jsdoc/valid-types */
193
201
  return {
194
202
  type: 'SELECT_BLOCK',
@@ -203,14 +211,17 @@ export function selectBlock(clientId, initialPosition = 0) {
203
211
  * @param {string} clientId Block client ID.
204
212
  */
205
213
 
206
- export function* selectPreviousBlock(clientId) {
207
- const previousBlockClientId = yield controls.select(blockEditorStoreName, 'getPreviousBlockClientId', clientId);
214
+ export const selectPreviousBlock = clientId => _ref4 => {
215
+ let {
216
+ select,
217
+ dispatch
218
+ } = _ref4;
219
+ const previousBlockClientId = select.getPreviousBlockClientId(clientId);
208
220
 
209
221
  if (previousBlockClientId) {
210
- yield selectBlock(previousBlockClientId, -1);
211
- return [previousBlockClientId];
222
+ dispatch.selectBlock(previousBlockClientId, -1);
212
223
  }
213
- }
224
+ };
214
225
  /**
215
226
  * Yields action objects used in signalling that the block following the given
216
227
  * clientId should be selected.
@@ -218,16 +229,19 @@ export function* selectPreviousBlock(clientId) {
218
229
  * @param {string} clientId Block client ID.
219
230
  */
220
231
 
221
- export function* selectNextBlock(clientId) {
222
- const nextBlockClientId = yield controls.select(blockEditorStoreName, 'getNextBlockClientId', clientId);
232
+ export const selectNextBlock = clientId => _ref5 => {
233
+ let {
234
+ select,
235
+ dispatch
236
+ } = _ref5;
237
+ const nextBlockClientId = select.getNextBlockClientId(clientId);
223
238
 
224
239
  if (nextBlockClientId) {
225
- yield selectBlock(nextBlockClientId);
226
- return [nextBlockClientId];
240
+ dispatch.selectBlock(nextBlockClientId);
227
241
  }
228
- }
242
+ };
229
243
  /**
230
- * Returns an action object used in signalling that a block multi-selection has started.
244
+ * Action that starts block multi-selection.
231
245
  *
232
246
  * @return {Object} Action object.
233
247
  */
@@ -238,7 +252,7 @@ export function startMultiSelect() {
238
252
  };
239
253
  }
240
254
  /**
241
- * Returns an action object used in signalling that block multi-selection stopped.
255
+ * Action that stops block multi-selection.
242
256
  *
243
257
  * @return {Object} Action object.
244
258
  */
@@ -249,32 +263,36 @@ export function stopMultiSelect() {
249
263
  };
250
264
  }
251
265
  /**
252
- * Returns an action object used in signalling that block multi-selection changed.
266
+ * Action that changes block multi-selection.
253
267
  *
254
268
  * @param {string} start First block of the multi selection.
255
269
  * @param {string} end Last block of the multiselection.
256
270
  */
257
271
 
258
- export function* multiSelect(start, end) {
259
- const startBlockRootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', start);
260
- const endBlockRootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', end); // Only allow block multi-selections at the same level.
272
+ export const multiSelect = (start, end) => _ref6 => {
273
+ let {
274
+ select,
275
+ dispatch
276
+ } = _ref6;
277
+ const startBlockRootClientId = select.getBlockRootClientId(start);
278
+ const endBlockRootClientId = select.getBlockRootClientId(end); // Only allow block multi-selections at the same level.
261
279
 
262
280
  if (startBlockRootClientId !== endBlockRootClientId) {
263
281
  return;
264
282
  }
265
283
 
266
- yield {
284
+ dispatch({
267
285
  type: 'MULTI_SELECT',
268
286
  start,
269
287
  end
270
- };
271
- const blockCount = yield controls.select(blockEditorStoreName, 'getSelectedBlockCount');
288
+ });
289
+ const blockCount = select.getSelectedBlockCount();
272
290
  speak(sprintf(
273
291
  /* translators: %s: number of selected blocks */
274
292
  _n('%s block selected.', '%s blocks selected.', blockCount), blockCount), 'assertive');
275
- }
293
+ };
276
294
  /**
277
- * Returns an action object used in signalling that the block selection is cleared.
295
+ * Action that clears the block selection.
278
296
  *
279
297
  * @return {Object} Action object.
280
298
  */
@@ -285,7 +303,7 @@ export function clearSelectedBlock() {
285
303
  };
286
304
  }
287
305
  /**
288
- * Returns an action object that enables or disables block selection.
306
+ * Action that enables or disables block selection.
289
307
  *
290
308
  * @param {boolean} [isSelectionEnabled=true] Whether block selection should
291
309
  * be enabled.
@@ -293,7 +311,8 @@ export function clearSelectedBlock() {
293
311
  * @return {Object} Action object.
294
312
  */
295
313
 
296
- export function toggleSelection(isSelectionEnabled = true) {
314
+ export function toggleSelection() {
315
+ let isSelectionEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
297
316
  return {
298
317
  type: 'TOGGLE_SELECTION',
299
318
  isSelectionEnabled
@@ -337,8 +356,7 @@ function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) {
337
356
  /* eslint-disable jsdoc/valid-types */
338
357
 
339
358
  /**
340
- * Returns an action object signalling that a blocks should be replaced with
341
- * one or more replacement blocks.
359
+ * Action that replaces given blocks with one or more replacement blocks.
342
360
  *
343
361
  * @param {(string|string[])} clientIds Block client ID(s) to replace.
344
362
  * @param {(Object|Object[])} blocks Replacement block(s).
@@ -346,39 +364,47 @@ function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) {
346
364
  * @param {0|-1|null} initialPosition Index of caret after in the selected block after the operation.
347
365
  * @param {?Object} meta Optional Meta values to be passed to the action object.
348
366
  *
349
- * @yield {Object} Action object.
367
+ * @return {Object} Action object.
350
368
  */
351
369
 
352
370
 
353
- export function* replaceBlocks(clientIds, blocks, indexToSelect, initialPosition = 0, meta) {
354
- /* eslint-enable jsdoc/valid-types */
355
- clientIds = castArray(clientIds);
356
- blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), yield controls.select(blockEditorStoreName, 'getSettings'));
357
- const rootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', first(clientIds)); // Replace is valid if the new blocks can be inserted in the root block.
371
+ export const replaceBlocks = function (clientIds, blocks, indexToSelect) {
372
+ let initialPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
373
+ let meta = arguments.length > 4 ? arguments[4] : undefined;
374
+ return _ref7 => {
375
+ let {
376
+ select,
377
+ dispatch
378
+ } = _ref7;
358
379
 
359
- for (let index = 0; index < blocks.length; index++) {
360
- const block = blocks[index];
361
- const canInsertBlock = yield controls.select(blockEditorStoreName, 'canInsertBlockType', block.name, rootClientId);
380
+ /* eslint-enable jsdoc/valid-types */
381
+ clientIds = castArray(clientIds);
382
+ blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), select.getSettings());
383
+ const rootClientId = select.getBlockRootClientId(first(clientIds)); // Replace is valid if the new blocks can be inserted in the root block.
362
384
 
363
- if (!canInsertBlock) {
364
- return;
385
+ for (let index = 0; index < blocks.length; index++) {
386
+ const block = blocks[index];
387
+ const canInsertBlock = select.canInsertBlockType(block.name, rootClientId);
388
+
389
+ if (!canInsertBlock) {
390
+ return;
391
+ }
365
392
  }
366
- }
367
393
 
368
- yield {
369
- type: 'REPLACE_BLOCKS',
370
- clientIds,
371
- blocks,
372
- time: Date.now(),
373
- indexToSelect,
374
- initialPosition,
375
- meta
394
+ dispatch({
395
+ type: 'REPLACE_BLOCKS',
396
+ clientIds,
397
+ blocks,
398
+ time: Date.now(),
399
+ indexToSelect,
400
+ initialPosition,
401
+ meta
402
+ });
403
+ dispatch(ensureDefaultBlock());
376
404
  };
377
- yield* ensureDefaultBlock();
378
- }
405
+ };
379
406
  /**
380
- * Returns an action object signalling that a single block should be replaced
381
- * with one or more replacement blocks.
407
+ * Action that replaces a single block with one or more replacement blocks.
382
408
  *
383
409
  * @param {(string|string[])} clientId Block client ID to replace.
384
410
  * @param {(Object|Object[])} block Replacement block(s).
@@ -398,87 +424,93 @@ export function replaceBlock(clientId, block) {
398
424
  * @return {Function} Action creator.
399
425
  */
400
426
 
401
- function createOnMove(type) {
402
- return function* (clientIds, rootClientId) {
403
- const canMoveBlocks = yield controls.select(blockEditorStoreName, 'canMoveBlocks', clientIds, rootClientId); // If one of the blocks is locked or the parent is locked, we cannot move any block.
427
+ const createOnMove = type => (clientIds, rootClientId) => _ref8 => {
428
+ let {
429
+ select,
430
+ dispatch
431
+ } = _ref8;
432
+ // If one of the blocks is locked or the parent is locked, we cannot move any block.
433
+ const canMoveBlocks = select.canMoveBlocks(clientIds, rootClientId);
404
434
 
405
- if (!canMoveBlocks) {
406
- return;
407
- }
435
+ if (!canMoveBlocks) {
436
+ return;
437
+ }
408
438
 
409
- yield {
410
- clientIds: castArray(clientIds),
411
- type,
412
- rootClientId
413
- };
414
- };
415
- }
439
+ dispatch({
440
+ type,
441
+ clientIds: castArray(clientIds),
442
+ rootClientId
443
+ });
444
+ };
416
445
 
417
446
  export const moveBlocksDown = createOnMove('MOVE_BLOCKS_DOWN');
418
447
  export const moveBlocksUp = createOnMove('MOVE_BLOCKS_UP');
419
448
  /**
420
- * Returns an action object signalling that the given blocks should be moved to
421
- * a new position.
449
+ * Action that moves given blocks to a new position.
422
450
  *
423
451
  * @param {?string} clientIds The client IDs of the blocks.
424
452
  * @param {?string} fromRootClientId Root client ID source.
425
453
  * @param {?string} toRootClientId Root client ID destination.
426
454
  * @param {number} index The index to move the blocks to.
427
- *
428
- * @yield {Object} Action object.
429
455
  */
430
456
 
431
- export function* moveBlocksToPosition(clientIds, fromRootClientId = '', toRootClientId = '', index) {
432
- const canMoveBlocks = yield controls.select(blockEditorStoreName, 'canMoveBlocks', clientIds, fromRootClientId);
433
- const canRemoveBlocks = yield controls.select(blockEditorStoreName, 'canRemoveBlocks', clientIds, fromRootClientId); // If one of the blocks is locked or the parent is locked, we cannot move any block.
457
+ export const moveBlocksToPosition = function (clientIds) {
458
+ let fromRootClientId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
459
+ let toRootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
460
+ let index = arguments.length > 3 ? arguments[3] : undefined;
461
+ return _ref9 => {
462
+ let {
463
+ select,
464
+ dispatch
465
+ } = _ref9;
466
+ const canMoveBlocks = select.canMoveBlocks(clientIds, fromRootClientId); // If one of the blocks is locked or the parent is locked, we cannot move any block.
434
467
 
435
- if (!canMoveBlocks) {
436
- return;
437
- }
468
+ if (!canMoveBlocks) {
469
+ return;
470
+ } // If moving inside the same root block the move is always possible.
438
471
 
439
- const action = {
440
- type: 'MOVE_BLOCKS_TO_POSITION',
441
- fromRootClientId,
442
- toRootClientId,
443
- clientIds,
444
- index
445
- }; // If moving inside the same root block the move is always possible.
446
472
 
447
- if (fromRootClientId === toRootClientId) {
448
- yield action;
449
- return;
450
- } // If we're moving to another block, it means we're deleting blocks from
451
- // the original block, so we need to check if removing is possible.
473
+ if (fromRootClientId !== toRootClientId) {
474
+ const canRemoveBlocks = select.canRemoveBlocks(clientIds, fromRootClientId); // If we're moving to another block, it means we're deleting blocks from
475
+ // the original block, so we need to check if removing is possible.
452
476
 
477
+ if (!canRemoveBlocks) {
478
+ return;
479
+ }
453
480
 
454
- if (!canRemoveBlocks) {
455
- return;
456
- }
481
+ const canInsertBlocks = select.canInsertBlocks(clientIds, toRootClientId); // If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block.
457
482
 
458
- const canInsertBlocks = yield controls.select(blockEditorStoreName, 'canInsertBlocks', clientIds, toRootClientId); // If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block.
483
+ if (!canInsertBlocks) {
484
+ return;
485
+ }
486
+ }
459
487
 
460
- if (canInsertBlocks) {
461
- yield action;
462
- }
463
- }
488
+ dispatch({
489
+ type: 'MOVE_BLOCKS_TO_POSITION',
490
+ fromRootClientId,
491
+ toRootClientId,
492
+ clientIds,
493
+ index
494
+ });
495
+ };
496
+ };
464
497
  /**
465
- * Returns an action object signalling that the given block should be moved to a
466
- * new position.
498
+ * Action that moves given block to a new position.
467
499
  *
468
500
  * @param {?string} clientId The client ID of the block.
469
501
  * @param {?string} fromRootClientId Root client ID source.
470
502
  * @param {?string} toRootClientId Root client ID destination.
471
503
  * @param {number} index The index to move the block to.
472
- *
473
- * @yield {Object} Action object.
474
504
  */
475
505
 
476
- export function* moveBlockToPosition(clientId, fromRootClientId = '', toRootClientId = '', index) {
477
- yield moveBlocksToPosition([clientId], fromRootClientId, toRootClientId, index);
506
+ export function moveBlockToPosition(clientId) {
507
+ let fromRootClientId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
508
+ let toRootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
509
+ let index = arguments.length > 3 ? arguments[3] : undefined;
510
+ return moveBlocksToPosition([clientId], fromRootClientId, toRootClientId, index);
478
511
  }
479
512
  /**
480
- * Returns an action object used in signalling that a single block should be
481
- * inserted, optionally at a specific index respective a root block list.
513
+ * Action that inserts a single block, optionally at a specific index respective a root block list.
482
514
  *
483
515
  * @param {Object} block Block object to insert.
484
516
  * @param {?number} index Index at which block should be inserted.
@@ -489,14 +521,13 @@ export function* moveBlockToPosition(clientId, fromRootClientId = '', toRootClie
489
521
  * @return {Object} Action object.
490
522
  */
491
523
 
492
- export function insertBlock(block, index, rootClientId, updateSelection = true, meta) {
524
+ export function insertBlock(block, index, rootClientId, updateSelection, meta) {
493
525
  return insertBlocks([block], index, rootClientId, updateSelection, 0, meta);
494
526
  }
495
527
  /* eslint-disable jsdoc/valid-types */
496
528
 
497
529
  /**
498
- * Returns an action object used in signalling that an array of blocks should
499
- * be inserted, optionally at a specific index respective a root block list.
530
+ * Action that inserts an array of blocks, optionally at a specific index respective a root block list.
500
531
  *
501
532
  * @param {Object[]} blocks Block objects to insert.
502
533
  * @param {?number} index Index at which block should be inserted.
@@ -507,45 +538,54 @@ export function insertBlock(block, index, rootClientId, updateSelection = true,
507
538
  * @return {Object} Action object.
508
539
  */
509
540
 
510
- export function* insertBlocks(blocks, index, rootClientId, updateSelection = true, initialPosition = 0, meta) {
511
- /* eslint-enable jsdoc/valid-types */
512
- if (isObject(initialPosition)) {
513
- meta = initialPosition;
514
- initialPosition = 0;
515
- deprecated("meta argument in wp.data.dispatch('core/block-editor')", {
516
- since: '10.1',
517
- plugin: 'Gutenberg',
518
- hint: 'The meta argument is now the 6th argument of the function'
519
- });
520
- }
541
+ export const insertBlocks = function (blocks, index, rootClientId) {
542
+ let updateSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
543
+ let initialPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
544
+ let meta = arguments.length > 5 ? arguments[5] : undefined;
545
+ return _ref10 => {
546
+ let {
547
+ select,
548
+ dispatch
549
+ } = _ref10;
550
+
551
+ /* eslint-enable jsdoc/valid-types */
552
+ if (isObject(initialPosition)) {
553
+ meta = initialPosition;
554
+ initialPosition = 0;
555
+ deprecated("meta argument in wp.data.dispatch('core/block-editor')", {
556
+ since: '10.1',
557
+ plugin: 'Gutenberg',
558
+ hint: 'The meta argument is now the 6th argument of the function'
559
+ });
560
+ }
521
561
 
522
- blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), yield controls.select(blockEditorStoreName, 'getSettings'));
523
- const allowedBlocks = [];
562
+ blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), select.getSettings());
563
+ const allowedBlocks = [];
524
564
 
525
- for (const block of blocks) {
526
- const isValid = yield controls.select(blockEditorStoreName, 'canInsertBlockType', block.name, rootClientId);
565
+ for (const block of blocks) {
566
+ const isValid = select.canInsertBlockType(block.name, rootClientId);
527
567
 
528
- if (isValid) {
529
- allowedBlocks.push(block);
568
+ if (isValid) {
569
+ allowedBlocks.push(block);
570
+ }
530
571
  }
531
- }
532
572
 
533
- if (allowedBlocks.length) {
534
- return {
535
- type: 'INSERT_BLOCKS',
536
- blocks: allowedBlocks,
537
- index,
538
- rootClientId,
539
- time: Date.now(),
540
- updateSelection,
541
- initialPosition: updateSelection ? initialPosition : null,
542
- meta
543
- };
544
- }
545
- }
573
+ if (allowedBlocks.length) {
574
+ dispatch({
575
+ type: 'INSERT_BLOCKS',
576
+ blocks: allowedBlocks,
577
+ index,
578
+ rootClientId,
579
+ time: Date.now(),
580
+ updateSelection,
581
+ initialPosition: updateSelection ? initialPosition : null,
582
+ meta
583
+ });
584
+ }
585
+ };
586
+ };
546
587
  /**
547
- * Returns an action object used in signalling that the insertion point should
548
- * be shown.
588
+ * Action that shows the insertion point.
549
589
  *
550
590
  * @param {?string} rootClientId Optional root client ID of block list on
551
591
  * which to insert.
@@ -555,7 +595,9 @@ export function* insertBlocks(blocks, index, rootClientId, updateSelection = tru
555
595
  * @return {Object} Action object.
556
596
  */
557
597
 
558
- export function showInsertionPoint(rootClientId, index, __unstableOptions = {}) {
598
+ export function showInsertionPoint(rootClientId, index) {
599
+ let __unstableOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
600
+
559
601
  const {
560
602
  __unstableWithInserter
561
603
  } = __unstableOptions;
@@ -567,7 +609,7 @@ export function showInsertionPoint(rootClientId, index, __unstableOptions = {})
567
609
  };
568
610
  }
569
611
  /**
570
- * Returns an action object hiding the insertion point.
612
+ * Action that hides the insertion point.
571
613
  *
572
614
  * @return {Object} Action object.
573
615
  */
@@ -578,7 +620,7 @@ export function hideInsertionPoint() {
578
620
  };
579
621
  }
580
622
  /**
581
- * Returns an action object resetting the template validity.
623
+ * Action that resets the template validity.
582
624
  *
583
625
  * @param {boolean} isValid template validity flag.
584
626
  *
@@ -592,49 +634,57 @@ export function setTemplateValidity(isValid) {
592
634
  };
593
635
  }
594
636
  /**
595
- * Returns an action object synchronize the template with the list of blocks
637
+ * Action that synchronizes the template with the list of blocks.
596
638
  *
597
639
  * @return {Object} Action object.
598
640
  */
599
641
 
600
- export function* synchronizeTemplate() {
601
- yield {
642
+ export const synchronizeTemplate = () => _ref11 => {
643
+ let {
644
+ select,
645
+ dispatch
646
+ } = _ref11;
647
+ dispatch({
602
648
  type: 'SYNCHRONIZE_TEMPLATE'
603
- };
604
- const blocks = yield controls.select(blockEditorStoreName, 'getBlocks');
605
- const template = yield controls.select(blockEditorStoreName, 'getTemplate');
649
+ });
650
+ const blocks = select.getBlocks();
651
+ const template = select.getTemplate();
606
652
  const updatedBlockList = synchronizeBlocksWithTemplate(blocks, template);
607
- return yield resetBlocks(updatedBlockList);
608
- }
653
+ dispatch.resetBlocks(updatedBlockList);
654
+ };
609
655
  /**
610
- * Returns an action object used in signalling that two blocks should be merged
656
+ * Action that merges two blocks.
611
657
  *
612
658
  * @param {string} firstBlockClientId Client ID of the first block to merge.
613
659
  * @param {string} secondBlockClientId Client ID of the second block to merge.
614
660
  */
615
661
 
616
- export function* mergeBlocks(firstBlockClientId, secondBlockClientId) {
662
+ export const mergeBlocks = (firstBlockClientId, secondBlockClientId) => _ref12 => {
663
+ let {
664
+ select,
665
+ dispatch
666
+ } = _ref12;
617
667
  const blocks = [firstBlockClientId, secondBlockClientId];
618
- yield {
668
+ dispatch({
619
669
  type: 'MERGE_BLOCKS',
620
670
  blocks
621
- };
671
+ });
622
672
  const [clientIdA, clientIdB] = blocks;
623
- const blockA = yield controls.select(blockEditorStoreName, 'getBlock', clientIdA);
673
+ const blockA = select.getBlock(clientIdA);
624
674
  const blockAType = getBlockType(blockA.name); // Only focus the previous block if it's not mergeable
625
675
 
626
676
  if (blockAType && !blockAType.merge) {
627
- yield selectBlock(blockA.clientId);
677
+ dispatch.selectBlock(blockA.clientId);
628
678
  return;
629
679
  }
630
680
 
631
- const blockB = yield controls.select(blockEditorStoreName, 'getBlock', clientIdB);
681
+ const blockB = select.getBlock(clientIdB);
632
682
  const blockBType = getBlockType(blockB.name);
633
683
  const {
634
684
  clientId,
635
685
  attributeKey,
636
686
  offset
637
- } = yield controls.select(blockEditorStoreName, 'getSelectionStart');
687
+ } = select.getSelectionStart();
638
688
  const selectedBlockType = clientId === clientIdA ? blockAType : blockBType;
639
689
  const attributeDefinition = selectedBlockType.attributes[attributeKey];
640
690
  const canRestoreTextSelection = (clientId === clientIdA || clientId === clientIdB) && attributeKey !== undefined && offset !== undefined && // We cannot restore text selection if the RichText identifier
@@ -712,16 +762,16 @@ export function* mergeBlocks(firstBlockClientId, secondBlockClientId) {
712
762
  preserveWhiteSpace
713
763
  });
714
764
  updatedAttributes[newAttributeKey] = newHtml;
715
- yield selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset);
765
+ dispatch.selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset);
716
766
  }
717
767
 
718
- yield* replaceBlocks([blockA.clientId, blockB.clientId], [{ ...blockA,
768
+ dispatch.replaceBlocks([blockA.clientId, blockB.clientId], [{ ...blockA,
719
769
  attributes: { ...blockA.attributes,
720
770
  ...updatedAttributes
721
771
  }
722
772
  }, ...blocksWithTheSameType.slice(1)], 0 // If we don't pass the `indexToSelect` it will default to the last block.
723
773
  );
724
- }
774
+ };
725
775
  /**
726
776
  * Yields action objects used in signalling that the blocks corresponding to
727
777
  * the set of specified client IDs are to be removed.
@@ -731,36 +781,39 @@ export function* mergeBlocks(firstBlockClientId, secondBlockClientId) {
731
781
  * selected when a block is removed.
732
782
  */
733
783
 
734
- export function* removeBlocks(clientIds, selectPrevious = true) {
735
- if (!clientIds || !clientIds.length) {
736
- return;
737
- }
784
+ export const removeBlocks = function (clientIds) {
785
+ let selectPrevious = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
786
+ return _ref13 => {
787
+ let {
788
+ select,
789
+ dispatch
790
+ } = _ref13;
738
791
 
739
- clientIds = castArray(clientIds);
740
- const rootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', clientIds[0]);
741
- const canRemoveBlocks = yield controls.select(blockEditorStoreName, 'canRemoveBlocks', clientIds, rootClientId);
792
+ if (!clientIds || !clientIds.length) {
793
+ return;
794
+ }
742
795
 
743
- if (!canRemoveBlocks) {
744
- return;
745
- }
796
+ clientIds = castArray(clientIds);
797
+ const rootClientId = select.getBlockRootClientId(clientIds[0]);
798
+ const canRemoveBlocks = select.canRemoveBlocks(clientIds, rootClientId);
746
799
 
747
- let previousBlockId;
800
+ if (!canRemoveBlocks) {
801
+ return;
802
+ }
748
803
 
749
- if (selectPrevious) {
750
- previousBlockId = yield selectPreviousBlock(clientIds[0]);
751
- } else {
752
- previousBlockId = yield controls.select(blockEditorStoreName, 'getPreviousBlockClientId', clientIds[0]);
753
- }
804
+ if (selectPrevious) {
805
+ dispatch.selectPreviousBlock(clientIds[0]);
806
+ }
754
807
 
755
- yield {
756
- type: 'REMOVE_BLOCKS',
757
- clientIds
758
- }; // To avoid a focus loss when removing the last block, assure there is
759
- // always a default block if the last of the blocks have been removed.
808
+ dispatch({
809
+ type: 'REMOVE_BLOCKS',
810
+ clientIds
811
+ }); // To avoid a focus loss when removing the last block, assure there is
812
+ // always a default block if the last of the blocks have been removed.
760
813
 
761
- const defaultBlockId = yield* ensureDefaultBlock();
762
- return [previousBlockId || defaultBlockId];
763
- }
814
+ dispatch(ensureDefaultBlock());
815
+ };
816
+ };
764
817
  /**
765
818
  * Returns an action object used in signalling that the block with the
766
819
  * specified client ID is to be removed.
@@ -788,7 +841,10 @@ export function removeBlock(clientId, selectPrevious) {
788
841
  * @return {Object} Action object.
789
842
  */
790
843
 
791
- export function replaceInnerBlocks(rootClientId, blocks, updateSelection = false, initialPosition = 0) {
844
+ export function replaceInnerBlocks(rootClientId, blocks) {
845
+ let updateSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
846
+ let initialPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
847
+
792
848
  /* eslint-enable jsdoc/valid-types */
793
849
  return {
794
850
  type: 'REPLACE_INNER_BLOCKS',
@@ -844,7 +900,8 @@ export function stopTyping() {
844
900
  * @return {Object} Action object.
845
901
  */
846
902
 
847
- export function startDraggingBlocks(clientIds = []) {
903
+ export function startDraggingBlocks() {
904
+ let clientIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
848
905
  return {
849
906
  type: 'START_DRAGGING_BLOCKS',
850
907
  clientIds
@@ -884,8 +941,7 @@ export function exitFormattedText() {
884
941
  };
885
942
  }
886
943
  /**
887
- * Returns an action object used in signalling that the user caret has changed
888
- * position.
944
+ * Action that changes the position of the user caret.
889
945
  *
890
946
  * @param {string} clientId The selected block client ID.
891
947
  * @param {string} attributeKey The selected block attribute key.
@@ -905,8 +961,7 @@ export function selectionChange(clientId, attributeKey, startOffset, endOffset)
905
961
  };
906
962
  }
907
963
  /**
908
- * Returns an action object used in signalling that a new block of the default
909
- * type should be added to the block list.
964
+ * Action that adds a new block of the default type to the block list.
910
965
  *
911
966
  * @param {?Object} attributes Optional attributes of the block to assign.
912
967
  * @param {?string} rootClientId Optional root client ID of block list on which
@@ -928,7 +983,7 @@ export function insertDefaultBlock(attributes, rootClientId, index) {
928
983
  return insertBlock(block, index, rootClientId);
929
984
  }
930
985
  /**
931
- * Returns an action object that changes the nested settings of a given block.
986
+ * Action that changes the nested settings of a given block.
932
987
  *
933
988
  * @param {string} clientId Client ID of the block whose nested setting are
934
989
  * being received.
@@ -945,7 +1000,7 @@ export function updateBlockListSettings(clientId, settings) {
945
1000
  };
946
1001
  }
947
1002
  /**
948
- * Returns an action object used in signalling that the block editor settings have been updated.
1003
+ * Action that updates the block editor settings.
949
1004
  *
950
1005
  * @param {Object} settings Updated settings
951
1006
  *
@@ -959,7 +1014,7 @@ export function updateSettings(settings) {
959
1014
  };
960
1015
  }
961
1016
  /**
962
- * Returns an action object used in signalling that a temporary reusable blocks have been saved
1017
+ * Action that signals that a temporary reusable block has been saved
963
1018
  * in order to switch its temporary id with the real id.
964
1019
  *
965
1020
  * @param {string} id Reusable block's id.
@@ -976,7 +1031,7 @@ export function __unstableSaveReusableBlock(id, updatedId) {
976
1031
  };
977
1032
  }
978
1033
  /**
979
- * Returns an action object used in signalling that the last block change should be marked explicitly as persistent.
1034
+ * Action that marks the last block change explicitly as persistent.
980
1035
  *
981
1036
  * @return {Object} Action object.
982
1037
  */
@@ -987,7 +1042,7 @@ export function __unstableMarkLastChangeAsPersistent() {
987
1042
  };
988
1043
  }
989
1044
  /**
990
- * Returns an action object used in signalling that the next block change should be marked explicitly as not persistent.
1045
+ * Action that signals that the next block change should be marked explicitly as not persistent.
991
1046
  *
992
1047
  * @return {Object} Action object.
993
1048
  */
@@ -998,138 +1053,174 @@ export function __unstableMarkNextChangeAsNotPersistent() {
998
1053
  };
999
1054
  }
1000
1055
  /**
1001
- * Returns an action object used in signalling that the last block change is
1002
- * an automatic change, meaning it was not performed by the user, and can be
1003
- * undone using the `Escape` and `Backspace` keys. This action must be called
1004
- * after the change was made, and any actions that are a consequence of it, so
1005
- * it is recommended to be called at the next idle period to ensure all
1056
+ * Action that marks the last block change as an automatic change, meaning it was not
1057
+ * performed by the user, and can be undone using the `Escape` and `Backspace` keys.
1058
+ * This action must be called after the change was made, and any actions that are a
1059
+ * consequence of it, so it is recommended to be called at the next idle period to ensure all
1006
1060
  * selection changes have been recorded.
1007
1061
  */
1008
1062
 
1009
- export function* __unstableMarkAutomaticChange() {
1010
- yield {
1063
+ export const __unstableMarkAutomaticChange = () => _ref14 => {
1064
+ let {
1065
+ dispatch
1066
+ } = _ref14;
1067
+ dispatch({
1011
1068
  type: 'MARK_AUTOMATIC_CHANGE'
1012
- };
1013
- yield __unstableMarkAutomaticChangeFinalControl();
1014
- }
1015
- export function __unstableMarkAutomaticChangeFinal() {
1016
- return {
1017
- type: 'MARK_AUTOMATIC_CHANGE_FINAL'
1018
- };
1019
- }
1069
+ });
1070
+ const {
1071
+ requestIdleCallback = cb => setTimeout(cb, 100)
1072
+ } = window;
1073
+ requestIdleCallback(() => {
1074
+ dispatch({
1075
+ type: 'MARK_AUTOMATIC_CHANGE_FINAL'
1076
+ });
1077
+ });
1078
+ };
1020
1079
  /**
1021
- * Generators that triggers an action used to enable or disable the navigation mode.
1080
+ * Action that enables or disables the navigation mode.
1022
1081
  *
1023
1082
  * @param {string} isNavigationMode Enable/Disable navigation mode.
1024
1083
  */
1025
1084
 
1026
- export function* setNavigationMode(isNavigationMode = true) {
1027
- yield {
1028
- type: 'SET_NAVIGATION_MODE',
1029
- isNavigationMode
1030
- };
1085
+ export const setNavigationMode = function () {
1086
+ let isNavigationMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
1087
+ return _ref15 => {
1088
+ let {
1089
+ dispatch
1090
+ } = _ref15;
1091
+ dispatch({
1092
+ type: 'SET_NAVIGATION_MODE',
1093
+ isNavigationMode
1094
+ });
1031
1095
 
1032
- if (isNavigationMode) {
1033
- speak(__('You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.'));
1034
- } else {
1035
- speak(__('You are currently in edit mode. To return to the navigation mode, press Escape.'));
1036
- }
1037
- }
1096
+ if (isNavigationMode) {
1097
+ speak(__('You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.'));
1098
+ } else {
1099
+ speak(__('You are currently in edit mode. To return to the navigation mode, press Escape.'));
1100
+ }
1101
+ };
1102
+ };
1038
1103
  /**
1039
- * Generator that triggers an action used to enable or disable the block moving mode.
1104
+ * Action that enables or disables the block moving mode.
1040
1105
  *
1041
1106
  * @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode.
1042
1107
  */
1043
1108
 
1044
- export function* setBlockMovingClientId(hasBlockMovingClientId = null) {
1045
- yield {
1046
- type: 'SET_BLOCK_MOVING_MODE',
1047
- hasBlockMovingClientId
1048
- };
1109
+ export const setBlockMovingClientId = function () {
1110
+ let hasBlockMovingClientId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1111
+ return _ref16 => {
1112
+ let {
1113
+ dispatch
1114
+ } = _ref16;
1115
+ dispatch({
1116
+ type: 'SET_BLOCK_MOVING_MODE',
1117
+ hasBlockMovingClientId
1118
+ });
1049
1119
 
1050
- if (hasBlockMovingClientId) {
1051
- speak(__('Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block.'));
1052
- }
1053
- }
1120
+ if (hasBlockMovingClientId) {
1121
+ speak(__('Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block.'));
1122
+ }
1123
+ };
1124
+ };
1054
1125
  /**
1055
- * Generator that triggers an action used to duplicate a list of blocks.
1126
+ * Action that duplicates a list of blocks.
1056
1127
  *
1057
1128
  * @param {string[]} clientIds
1058
1129
  * @param {boolean} updateSelection
1059
1130
  */
1060
1131
 
1061
- export function* duplicateBlocks(clientIds, updateSelection = true) {
1062
- if (!clientIds && !clientIds.length) {
1063
- return;
1064
- }
1132
+ export const duplicateBlocks = function (clientIds) {
1133
+ let updateSelection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1134
+ return _ref17 => {
1135
+ let {
1136
+ select,
1137
+ dispatch
1138
+ } = _ref17;
1065
1139
 
1066
- const blocks = yield controls.select(blockEditorStoreName, 'getBlocksByClientId', clientIds);
1067
- const rootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', clientIds[0]); // Return early if blocks don't exist.
1140
+ if (!clientIds || !clientIds.length) {
1141
+ return;
1142
+ } // Return early if blocks don't exist.
1068
1143
 
1069
- if (some(blocks, block => !block)) {
1070
- return;
1071
- }
1072
1144
 
1073
- const blockNames = blocks.map(block => block.name); // Return early if blocks don't support multiple usage.
1145
+ const blocks = select.getBlocksByClientId(clientIds);
1074
1146
 
1075
- if (some(blockNames, blockName => !hasBlockSupport(blockName, 'multiple', true))) {
1076
- return;
1077
- }
1147
+ if (some(blocks, block => !block)) {
1148
+ return;
1149
+ } // Return early if blocks don't support multiple usage.
1078
1150
 
1079
- const lastSelectedIndex = yield controls.select(blockEditorStoreName, 'getBlockIndex', last(castArray(clientIds)), rootClientId);
1080
- const clonedBlocks = blocks.map(block => __experimentalCloneSanitizedBlock(block));
1081
- yield insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection);
1082
1151
 
1083
- if (clonedBlocks.length > 1 && updateSelection) {
1084
- yield multiSelect(first(clonedBlocks).clientId, last(clonedBlocks).clientId);
1085
- }
1152
+ const blockNames = blocks.map(block => block.name);
1086
1153
 
1087
- return clonedBlocks.map(block => block.clientId);
1088
- }
1154
+ if (blockNames.some(blockName => !hasBlockSupport(blockName, 'multiple', true))) {
1155
+ return;
1156
+ }
1157
+
1158
+ const rootClientId = select.getBlockRootClientId(clientIds[0]);
1159
+ const lastSelectedIndex = select.getBlockIndex(last(castArray(clientIds)), rootClientId);
1160
+ const clonedBlocks = blocks.map(block => __experimentalCloneSanitizedBlock(block));
1161
+ dispatch.insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection);
1162
+
1163
+ if (clonedBlocks.length > 1 && updateSelection) {
1164
+ dispatch.multiSelect(first(clonedBlocks).clientId, last(clonedBlocks).clientId);
1165
+ }
1166
+
1167
+ return clonedBlocks.map(block => block.clientId);
1168
+ };
1169
+ };
1089
1170
  /**
1090
- * Generator used to insert an empty block after a given block.
1171
+ * Action that inserts an empty block before a given block.
1091
1172
  *
1092
1173
  * @param {string} clientId
1093
1174
  */
1094
1175
 
1095
- export function* insertBeforeBlock(clientId) {
1176
+ export const insertBeforeBlock = clientId => _ref18 => {
1177
+ let {
1178
+ select,
1179
+ dispatch
1180
+ } = _ref18;
1181
+
1096
1182
  if (!clientId) {
1097
1183
  return;
1098
1184
  }
1099
1185
 
1100
- const rootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', clientId);
1101
- const isLocked = yield controls.select(blockEditorStoreName, 'getTemplateLock', rootClientId);
1186
+ const rootClientId = select.getBlockRootClientId(clientId);
1187
+ const isLocked = select.getTemplateLock(rootClientId);
1102
1188
 
1103
1189
  if (isLocked) {
1104
1190
  return;
1105
1191
  }
1106
1192
 
1107
- const firstSelectedIndex = yield controls.select(blockEditorStoreName, 'getBlockIndex', clientId, rootClientId);
1108
- return yield insertDefaultBlock({}, rootClientId, firstSelectedIndex);
1109
- }
1193
+ const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId);
1194
+ return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex);
1195
+ };
1110
1196
  /**
1111
- * Generator used to insert an empty block before a given block.
1197
+ * Action that inserts an empty block after a given block.
1112
1198
  *
1113
1199
  * @param {string} clientId
1114
1200
  */
1115
1201
 
1116
- export function* insertAfterBlock(clientId) {
1202
+ export const insertAfterBlock = clientId => _ref19 => {
1203
+ let {
1204
+ select,
1205
+ dispatch
1206
+ } = _ref19;
1207
+
1117
1208
  if (!clientId) {
1118
1209
  return;
1119
1210
  }
1120
1211
 
1121
- const rootClientId = yield controls.select(blockEditorStoreName, 'getBlockRootClientId', clientId);
1122
- const isLocked = yield controls.select(blockEditorStoreName, 'getTemplateLock', rootClientId);
1212
+ const rootClientId = select.getBlockRootClientId(clientId);
1213
+ const isLocked = select.getTemplateLock(rootClientId);
1123
1214
 
1124
1215
  if (isLocked) {
1125
1216
  return;
1126
1217
  }
1127
1218
 
1128
- const firstSelectedIndex = yield controls.select(blockEditorStoreName, 'getBlockIndex', clientId, rootClientId);
1129
- return yield insertDefaultBlock({}, rootClientId, firstSelectedIndex + 1);
1130
- }
1219
+ const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId);
1220
+ return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex + 1);
1221
+ };
1131
1222
  /**
1132
- * Returns an action object that toggles the highlighted block state.
1223
+ * Action that toggles the highlighted block state.
1133
1224
  *
1134
1225
  * @param {string} clientId The block's clientId.
1135
1226
  * @param {boolean} isHighlighted The highlight state.
@@ -1143,22 +1234,21 @@ export function toggleBlockHighlight(clientId, isHighlighted) {
1143
1234
  };
1144
1235
  }
1145
1236
  /**
1146
- * Yields action objects used in signalling that the block corresponding to the
1147
- * given clientId should appear to "flash" by rhythmically highlighting it.
1237
+ * Action that "flashes" the block with a given `clientId` by rhythmically highlighting it.
1148
1238
  *
1149
1239
  * @param {string} clientId Target block client ID.
1150
1240
  */
1151
1241
 
1152
- export function* flashBlock(clientId) {
1153
- yield toggleBlockHighlight(clientId, true);
1154
- yield {
1155
- type: 'SLEEP',
1156
- duration: 150
1157
- };
1158
- yield toggleBlockHighlight(clientId, false);
1159
- }
1242
+ export const flashBlock = clientId => async _ref20 => {
1243
+ let {
1244
+ dispatch
1245
+ } = _ref20;
1246
+ dispatch(toggleBlockHighlight(clientId, true));
1247
+ await new Promise(resolve => setTimeout(resolve, 150));
1248
+ dispatch(toggleBlockHighlight(clientId, false));
1249
+ };
1160
1250
  /**
1161
- * Returns an action object that sets whether the block has controlled innerblocks.
1251
+ * Action that sets whether a block has controlled inner blocks.
1162
1252
  *
1163
1253
  * @param {string} clientId The block's clientId.
1164
1254
  * @param {boolean} hasControlledInnerBlocks True if the block's inner blocks are controlled.