@wordpress/block-editor 15.5.0 → 15.5.1-next.47f435fc9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2650) hide show
  1. package/README.md +0 -4
  2. package/build/autocompleters/block.js +117 -87
  3. package/build/autocompleters/block.js.map +7 -1
  4. package/build/autocompleters/link.js +58 -48
  5. package/build/autocompleters/link.js.map +7 -1
  6. package/build/components/alignment-control/index.js +44 -28
  7. package/build/components/alignment-control/index.js.map +7 -1
  8. package/build/components/alignment-control/ui.js +72 -54
  9. package/build/components/alignment-control/ui.js.map +7 -1
  10. package/build/components/autocomplete/index.js +64 -62
  11. package/build/components/autocomplete/index.js.map +7 -1
  12. package/build/components/background-image-control/index.js +494 -452
  13. package/build/components/background-image-control/index.js.map +7 -1
  14. package/build/components/block-actions/index.js +76 -62
  15. package/build/components/block-actions/index.js.map +7 -1
  16. package/build/components/block-alignment-control/constants.js +44 -25
  17. package/build/components/block-alignment-control/constants.js.map +7 -1
  18. package/build/components/block-alignment-control/index.js +44 -28
  19. package/build/components/block-alignment-control/index.js.map +7 -1
  20. package/build/components/block-alignment-control/ui.js +75 -71
  21. package/build/components/block-alignment-control/ui.js.map +7 -1
  22. package/build/components/block-alignment-control/use-available-alignments.js +60 -54
  23. package/build/components/block-alignment-control/use-available-alignments.js.map +7 -1
  24. package/build/components/block-alignment-matrix-control/index.js +66 -82
  25. package/build/components/block-alignment-matrix-control/index.js.map +7 -1
  26. package/build/components/block-allowed-blocks/allowed-blocks-control.js +99 -0
  27. package/build/components/block-allowed-blocks/allowed-blocks-control.js.map +7 -0
  28. package/build/components/block-allowed-blocks/index.js +42 -0
  29. package/build/components/block-allowed-blocks/index.js.map +7 -0
  30. package/build/components/block-allowed-blocks/modal.js +124 -0
  31. package/build/components/block-allowed-blocks/modal.js.map +7 -0
  32. package/build/components/block-breadcrumb/index.js +125 -103
  33. package/build/components/block-breadcrumb/index.js.map +7 -1
  34. package/build/components/block-canvas/index.js +121 -123
  35. package/build/components/block-canvas/index.js.map +7 -1
  36. package/build/components/block-card/index.js +92 -121
  37. package/build/components/block-card/index.js.map +7 -1
  38. package/build/components/block-compare/block-view.js +38 -35
  39. package/build/components/block-compare/block-view.js.map +7 -1
  40. package/build/components/block-compare/index.js +73 -60
  41. package/build/components/block-compare/index.js.map +7 -1
  42. package/build/components/block-content-overlay/index.js +31 -21
  43. package/build/components/block-content-overlay/index.js.map +7 -1
  44. package/build/components/block-context/index.js +39 -46
  45. package/build/components/block-context/index.js.map +7 -1
  46. package/build/components/block-controls/fill.js +51 -40
  47. package/build/components/block-controls/fill.js.map +7 -1
  48. package/build/components/block-controls/groups.js +29 -16
  49. package/build/components/block-controls/groups.js.map +7 -1
  50. package/build/components/block-controls/hook.js +39 -21
  51. package/build/components/block-controls/hook.js.map +7 -1
  52. package/build/components/block-controls/index.js +47 -29
  53. package/build/components/block-controls/index.js.map +7 -1
  54. package/build/components/block-controls/slot.js +58 -51
  55. package/build/components/block-controls/slot.js.map +7 -1
  56. package/build/components/block-draggable/draggable-chip.js +59 -44
  57. package/build/components/block-draggable/draggable-chip.js.map +7 -1
  58. package/build/components/block-draggable/index.js +165 -146
  59. package/build/components/block-draggable/index.js.map +7 -1
  60. package/build/components/block-draggable/use-scroll-when-dragging.js +58 -47
  61. package/build/components/block-draggable/use-scroll-when-dragging.js.map +7 -1
  62. package/build/components/block-edit/context.js +52 -30
  63. package/build/components/block-edit/context.js.map +7 -1
  64. package/build/components/block-edit/edit.js +236 -194
  65. package/build/components/block-edit/edit.js.map +7 -1
  66. package/build/components/block-edit/index.js +93 -72
  67. package/build/components/block-edit/index.js.map +7 -1
  68. package/build/components/block-edit/multiple-usage-warning.js +79 -41
  69. package/build/components/block-edit/multiple-usage-warning.js.map +7 -1
  70. package/build/components/block-edit-visually-button/index.js +40 -32
  71. package/build/components/block-edit-visually-button/index.js.map +7 -1
  72. package/build/components/block-editing-mode/index.js +42 -64
  73. package/build/components/block-editing-mode/index.js.map +7 -1
  74. package/build/components/block-full-height-alignment-control/index.js +38 -22
  75. package/build/components/block-full-height-alignment-control/index.js.map +7 -1
  76. package/build/components/block-heading-level-dropdown/heading-level-icon.js +35 -42
  77. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +7 -1
  78. package/build/components/block-heading-level-dropdown/index.js +64 -65
  79. package/build/components/block-heading-level-dropdown/index.js.map +7 -1
  80. package/build/components/block-icon/index.js +52 -43
  81. package/build/components/block-icon/index.js.map +7 -1
  82. package/build/components/block-inspector/edit-contents-button.js +53 -48
  83. package/build/components/block-inspector/edit-contents-button.js.map +7 -1
  84. package/build/components/block-inspector/index.js +237 -200
  85. package/build/components/block-inspector/index.js.map +7 -1
  86. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +44 -38
  87. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +7 -1
  88. package/build/components/block-list/block-crash-boundary.js +25 -12
  89. package/build/components/block-list/block-crash-boundary.js.map +7 -1
  90. package/build/components/block-list/block-crash-warning.js +37 -23
  91. package/build/components/block-list/block-crash-warning.js.map +7 -1
  92. package/build/components/block-list/block-html.js +65 -49
  93. package/build/components/block-list/block-html.js.map +7 -1
  94. package/build/components/block-list/block-invalid-warning.js +152 -106
  95. package/build/components/block-list/block-invalid-warning.js.map +7 -1
  96. package/build/components/block-list/block.js +356 -421
  97. package/build/components/block-list/block.js.map +7 -1
  98. package/build/components/block-list/index.js +210 -178
  99. package/build/components/block-list/index.js.map +7 -1
  100. package/build/components/block-list/layout.js +46 -48
  101. package/build/components/block-list/layout.js.map +7 -1
  102. package/build/components/block-list/private-block-context.js +29 -12
  103. package/build/components/block-list/private-block-context.js.map +7 -1
  104. package/build/components/block-list/subdirectory-icon.js +43 -26
  105. package/build/components/block-list/subdirectory-icon.js.map +7 -1
  106. package/build/components/block-list/use-block-props/index.js +118 -149
  107. package/build/components/block-list/use-block-props/index.js.map +7 -1
  108. package/build/components/block-list/use-block-props/use-block-refs.js +49 -59
  109. package/build/components/block-list/use-block-props/use-block-refs.js.map +7 -1
  110. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +42 -47
  111. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +7 -1
  112. package/build/components/block-list/use-block-props/use-focus-first-element.js +47 -62
  113. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +7 -1
  114. package/build/components/block-list/use-block-props/use-focus-handler.js +54 -65
  115. package/build/components/block-list/use-block-props/use-focus-handler.js.map +7 -1
  116. package/build/components/block-list/use-block-props/use-intersection-observer.js +41 -25
  117. package/build/components/block-list/use-block-props/use-intersection-observer.js.map +7 -1
  118. package/build/components/block-list/use-block-props/use-is-hovered.js +37 -24
  119. package/build/components/block-list/use-block-props/use-is-hovered.js.map +7 -1
  120. package/build/components/block-list/use-block-props/use-scroll-into-view.js +54 -40
  121. package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +7 -1
  122. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +205 -173
  123. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +7 -1
  124. package/build/components/block-list/use-in-between-inserter.js +122 -113
  125. package/build/components/block-list/use-in-between-inserter.js.map +7 -1
  126. package/build/components/block-list/zoom-out-separator.js +85 -80
  127. package/build/components/block-list/zoom-out-separator.js.map +7 -1
  128. package/build/components/block-list-appender/index.js +79 -86
  129. package/build/components/block-list-appender/index.js.map +7 -1
  130. package/build/components/block-lock/index.js +44 -31
  131. package/build/components/block-lock/index.js.map +7 -1
  132. package/build/components/block-lock/menu-item.js +59 -42
  133. package/build/components/block-lock/menu-item.js.map +7 -1
  134. package/build/components/block-lock/modal.js +233 -183
  135. package/build/components/block-lock/modal.js.map +7 -1
  136. package/build/components/block-lock/toolbar.js +59 -51
  137. package/build/components/block-lock/toolbar.js.map +7 -1
  138. package/build/components/block-lock/use-block-lock.js +48 -43
  139. package/build/components/block-lock/use-block-lock.js.map +7 -1
  140. package/build/components/block-manager/category.js +111 -65
  141. package/build/components/block-manager/category.js.map +7 -1
  142. package/build/components/block-manager/checklist.js +55 -36
  143. package/build/components/block-manager/checklist.js.map +7 -1
  144. package/build/components/block-manager/index.js +123 -91
  145. package/build/components/block-manager/index.js.map +7 -1
  146. package/build/components/block-mover/button.js +155 -133
  147. package/build/components/block-mover/button.js.map +7 -1
  148. package/build/components/block-mover/index.js +111 -95
  149. package/build/components/block-mover/index.js.map +7 -1
  150. package/build/components/block-mover/mover-description.js +243 -169
  151. package/build/components/block-mover/mover-description.js.map +7 -1
  152. package/build/components/block-navigation/dropdown.js +86 -72
  153. package/build/components/block-navigation/dropdown.js.map +7 -1
  154. package/build/components/block-parent-selector/index.js +73 -59
  155. package/build/components/block-parent-selector/index.js.map +7 -1
  156. package/build/components/block-pattern-setup/constants.js +29 -8
  157. package/build/components/block-pattern-setup/constants.js.map +7 -1
  158. package/build/components/block-pattern-setup/index.js +175 -147
  159. package/build/components/block-pattern-setup/index.js.map +7 -1
  160. package/build/components/block-pattern-setup/setup-toolbar.js +94 -73
  161. package/build/components/block-pattern-setup/setup-toolbar.js.map +7 -1
  162. package/build/components/block-pattern-setup/use-patterns-setup.js +42 -28
  163. package/build/components/block-pattern-setup/use-patterns-setup.js.map +7 -1
  164. package/build/components/block-patterns-list/index.js +189 -164
  165. package/build/components/block-patterns-list/index.js.map +7 -1
  166. package/build/components/block-patterns-paging/index.js +119 -84
  167. package/build/components/block-patterns-paging/index.js.map +7 -1
  168. package/build/components/block-popover/cover.js +54 -45
  169. package/build/components/block-popover/cover.js.map +7 -1
  170. package/build/components/block-popover/drop-zone.js +64 -54
  171. package/build/components/block-popover/drop-zone.js.map +7 -1
  172. package/build/components/block-popover/inbetween.js +127 -133
  173. package/build/components/block-popover/inbetween.js.map +7 -1
  174. package/build/components/block-popover/index.js +113 -91
  175. package/build/components/block-popover/index.js.map +7 -1
  176. package/build/components/block-popover/use-popover-scroll.js +48 -53
  177. package/build/components/block-popover/use-popover-scroll.js.map +7 -1
  178. package/build/components/block-preview/async.js +33 -35
  179. package/build/components/block-preview/async.js.map +7 -1
  180. package/build/components/block-preview/auto.js +114 -103
  181. package/build/components/block-preview/auto.js.map +7 -1
  182. package/build/components/block-preview/index.js +136 -116
  183. package/build/components/block-preview/index.js.map +7 -1
  184. package/build/components/block-quick-navigation/index.js +82 -76
  185. package/build/components/block-quick-navigation/index.js.map +7 -1
  186. package/build/components/block-removal-warning-modal/index.js +76 -55
  187. package/build/components/block-removal-warning-modal/index.js.map +7 -1
  188. package/build/components/block-rename/index.js +41 -24
  189. package/build/components/block-rename/index.js.map +7 -1
  190. package/build/components/block-rename/is-empty-string.js +22 -5
  191. package/build/components/block-rename/is-empty-string.js.map +7 -1
  192. package/build/components/block-rename/modal.js +135 -103
  193. package/build/components/block-rename/modal.js.map +7 -1
  194. package/build/components/block-rename/rename-control.js +59 -36
  195. package/build/components/block-rename/rename-control.js.map +7 -1
  196. package/build/components/block-rename/use-block-rename.js +24 -11
  197. package/build/components/block-rename/use-block-rename.js.map +7 -1
  198. package/build/components/block-selection-clearer/index.js +53 -57
  199. package/build/components/block-selection-clearer/index.js.map +7 -1
  200. package/build/components/block-settings-menu/block-html-convert-button.js +46 -34
  201. package/build/components/block-settings-menu/block-html-convert-button.js.map +7 -1
  202. package/build/components/block-settings-menu/block-mode-toggle.js +56 -53
  203. package/build/components/block-settings-menu/block-mode-toggle.js.map +7 -1
  204. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +59 -42
  205. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +7 -1
  206. package/build/components/block-settings-menu/block-settings-dropdown.js +287 -233
  207. package/build/components/block-settings-menu/block-settings-dropdown.js.map +7 -1
  208. package/build/components/block-settings-menu/block-settings-menu-first-item.js +27 -15
  209. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +7 -1
  210. package/build/components/block-settings-menu/index.js +53 -32
  211. package/build/components/block-settings-menu/index.js.map +7 -1
  212. package/build/components/block-settings-menu-controls/index.js +129 -107
  213. package/build/components/block-settings-menu-controls/index.js.map +7 -1
  214. package/build/components/block-styles/index.js +99 -75
  215. package/build/components/block-styles/index.js.map +7 -1
  216. package/build/components/block-styles/menu-items.js +60 -43
  217. package/build/components/block-styles/menu-items.js.map +7 -1
  218. package/build/components/block-styles/preview-panel.js +42 -26
  219. package/build/components/block-styles/preview-panel.js.map +7 -1
  220. package/build/components/block-styles/use-styles-for-block.js +53 -70
  221. package/build/components/block-styles/use-styles-for-block.js.map +7 -1
  222. package/build/components/block-styles/utils.js +61 -66
  223. package/build/components/block-styles/utils.js.map +7 -1
  224. package/build/components/block-switcher/block-styles-menu.js +46 -33
  225. package/build/components/block-switcher/block-styles-menu.js.map +7 -1
  226. package/build/components/block-switcher/block-transformations-menu.js +137 -126
  227. package/build/components/block-switcher/block-transformations-menu.js.map +7 -1
  228. package/build/components/block-switcher/block-variation-transformations.js +113 -85
  229. package/build/components/block-switcher/block-variation-transformations.js.map +7 -1
  230. package/build/components/block-switcher/index.js +247 -208
  231. package/build/components/block-switcher/index.js.map +7 -1
  232. package/build/components/block-switcher/pattern-transformations-menu.js +129 -99
  233. package/build/components/block-switcher/pattern-transformations-menu.js.map +7 -1
  234. package/build/components/block-switcher/preview-block-popover.js +48 -38
  235. package/build/components/block-switcher/preview-block-popover.js.map +7 -1
  236. package/build/components/block-switcher/use-transformed-patterns.js +62 -80
  237. package/build/components/block-switcher/use-transformed-patterns.js.map +7 -1
  238. package/build/components/block-switcher/utils.js +37 -45
  239. package/build/components/block-switcher/utils.js.map +7 -1
  240. package/build/components/block-title/index.js +35 -38
  241. package/build/components/block-title/index.js.map +7 -1
  242. package/build/components/block-title/use-block-display-title.js +48 -60
  243. package/build/components/block-title/use-block-display-title.js.map +7 -1
  244. package/build/components/block-toolbar/block-name-context.js +26 -13
  245. package/build/components/block-toolbar/block-name-context.js.map +7 -1
  246. package/build/components/block-toolbar/block-toolbar-last-item.js +27 -15
  247. package/build/components/block-toolbar/block-toolbar-last-item.js.map +7 -1
  248. package/build/components/block-toolbar/change-design.js +104 -92
  249. package/build/components/block-toolbar/change-design.js.map +7 -1
  250. package/build/components/block-toolbar/index.js +203 -186
  251. package/build/components/block-toolbar/index.js.map +7 -1
  252. package/build/components/block-toolbar/switch-section-style.js +111 -88
  253. package/build/components/block-toolbar/switch-section-style.js.map +7 -1
  254. package/build/components/block-toolbar/use-has-block-toolbar.js +33 -33
  255. package/build/components/block-toolbar/use-has-block-toolbar.js.map +7 -1
  256. package/build/components/block-toolbar/utils.js +63 -79
  257. package/build/components/block-toolbar/utils.js.map +7 -1
  258. package/build/components/block-tools/block-toolbar-popover.js +75 -72
  259. package/build/components/block-tools/block-toolbar-popover.js.map +7 -1
  260. package/build/components/block-tools/empty-block-inserter.js +64 -40
  261. package/build/components/block-tools/empty-block-inserter.js.map +7 -1
  262. package/build/components/block-tools/index.js +168 -119
  263. package/build/components/block-tools/index.js.map +7 -1
  264. package/build/components/block-tools/insertion-point.js +174 -159
  265. package/build/components/block-tools/insertion-point.js.map +7 -1
  266. package/build/components/block-tools/use-block-toolbar-popover-props.js +74 -101
  267. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +7 -1
  268. package/build/components/block-tools/use-selected-block-tool-props.js +58 -51
  269. package/build/components/block-tools/use-selected-block-tool-props.js.map +7 -1
  270. package/build/components/block-tools/use-show-block-tools.js +34 -31
  271. package/build/components/block-tools/use-show-block-tools.js.map +7 -1
  272. package/build/components/block-tools/zoom-out-mode-inserter-button.js +56 -31
  273. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +7 -1
  274. package/build/components/block-tools/zoom-out-mode-inserters.js +71 -54
  275. package/build/components/block-tools/zoom-out-mode-inserters.js.map +7 -1
  276. package/build/components/block-types-list/index.js +57 -35
  277. package/build/components/block-types-list/index.js.map +7 -1
  278. package/build/components/block-variation-picker/index.js +86 -58
  279. package/build/components/block-variation-picker/index.js.map +7 -1
  280. package/build/components/block-variation-transforms/index.js +155 -140
  281. package/build/components/block-variation-transforms/index.js.map +7 -1
  282. package/build/components/block-vertical-alignment-control/index.js +44 -28
  283. package/build/components/block-vertical-alignment-control/index.js.map +7 -1
  284. package/build/components/block-vertical-alignment-control/ui.js +62 -49
  285. package/build/components/block-vertical-alignment-control/ui.js.map +7 -1
  286. package/build/components/block-visibility/index.js +38 -17
  287. package/build/components/block-visibility/index.js.map +7 -1
  288. package/build/components/block-visibility/menu-item.js +99 -44
  289. package/build/components/block-visibility/menu-item.js.map +7 -1
  290. package/build/components/block-visibility/toolbar.js +75 -73
  291. package/build/components/block-visibility/toolbar.js.map +7 -1
  292. package/build/components/border-radius-control/constants.js +61 -32
  293. package/build/components/border-radius-control/constants.js.map +7 -1
  294. package/build/components/border-radius-control/index.js +106 -97
  295. package/build/components/border-radius-control/index.js.map +7 -1
  296. package/build/components/border-radius-control/linked-button.js +39 -26
  297. package/build/components/border-radius-control/linked-button.js.map +7 -1
  298. package/build/components/border-radius-control/single-input-control.js +171 -139
  299. package/build/components/border-radius-control/single-input-control.js.map +7 -1
  300. package/build/components/border-radius-control/utils.js +87 -181
  301. package/build/components/border-radius-control/utils.js.map +7 -1
  302. package/build/components/button-block-appender/index.js +105 -90
  303. package/build/components/button-block-appender/index.js.map +7 -1
  304. package/build/components/child-layout-control/index.js +317 -272
  305. package/build/components/child-layout-control/index.js.map +7 -1
  306. package/build/components/collab/block-comment-icon-slot.js +25 -12
  307. package/build/components/collab/block-comment-icon-slot.js.map +7 -1
  308. package/build/components/collab/block-comment-icon-toolbar-slot.js +27 -12
  309. package/build/components/collab/block-comment-icon-toolbar-slot.js.map +7 -1
  310. package/build/components/color-palette/control.js +44 -19
  311. package/build/components/color-palette/control.js.map +7 -1
  312. package/build/components/color-palette/index.js +35 -15
  313. package/build/components/color-palette/index.js.map +7 -1
  314. package/build/components/color-palette/with-color-context.js +58 -30
  315. package/build/components/color-palette/with-color-context.js.map +7 -1
  316. package/build/components/color-style-selector/index.js +72 -90
  317. package/build/components/color-style-selector/index.js.map +7 -1
  318. package/build/components/colors/index.js +44 -36
  319. package/build/components/colors/index.js.map +7 -1
  320. package/build/components/colors/utils.js +57 -81
  321. package/build/components/colors/utils.js.map +7 -1
  322. package/build/components/colors/with-colors.js +155 -192
  323. package/build/components/colors/with-colors.js.map +7 -1
  324. package/build/components/colors-gradients/control.js +140 -117
  325. package/build/components/colors-gradients/control.js.map +7 -1
  326. package/build/components/colors-gradients/dropdown.js +153 -159
  327. package/build/components/colors-gradients/dropdown.js.map +7 -1
  328. package/build/components/colors-gradients/panel-color-gradient-settings.js +120 -83
  329. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +7 -1
  330. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +92 -41
  331. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +7 -1
  332. package/build/components/content-lock/index.js +26 -10
  333. package/build/components/content-lock/index.js.map +7 -1
  334. package/build/components/content-lock/modify-content-lock-menu-item.js +61 -57
  335. package/build/components/content-lock/modify-content-lock-menu-item.js.map +7 -1
  336. package/build/components/contrast-checker/index.js +87 -73
  337. package/build/components/contrast-checker/index.js.map +7 -1
  338. package/build/components/convert-to-group-buttons/index.js +86 -60
  339. package/build/components/convert-to-group-buttons/index.js.map +7 -1
  340. package/build/components/convert-to-group-buttons/toolbar.js +104 -102
  341. package/build/components/convert-to-group-buttons/toolbar.js.map +7 -1
  342. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +49 -61
  343. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +7 -1
  344. package/build/components/copy-handler/index.js +50 -40
  345. package/build/components/copy-handler/index.js.map +7 -1
  346. package/build/components/date-format-picker/index.js +136 -110
  347. package/build/components/date-format-picker/index.js.map +7 -1
  348. package/build/components/default-block-appender/index.js +110 -98
  349. package/build/components/default-block-appender/index.js.map +7 -1
  350. package/build/components/dimensions-tool/aspect-ratio-tool.js +76 -73
  351. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +7 -1
  352. package/build/components/dimensions-tool/index.js +136 -190
  353. package/build/components/dimensions-tool/index.js.map +7 -1
  354. package/build/components/dimensions-tool/scale-tool.js +88 -93
  355. package/build/components/dimensions-tool/scale-tool.js.map +7 -1
  356. package/build/components/dimensions-tool/width-height-tool.js +93 -107
  357. package/build/components/dimensions-tool/width-height-tool.js.map +7 -1
  358. package/build/components/duotone/utils.js +40 -58
  359. package/build/components/duotone/utils.js.map +7 -1
  360. package/build/components/duotone-control/index.js +82 -69
  361. package/build/components/duotone-control/index.js.map +7 -1
  362. package/build/components/editable-text/index.js +40 -37
  363. package/build/components/editable-text/index.js.map +7 -1
  364. package/build/components/editor-styles/index.js +113 -100
  365. package/build/components/editor-styles/index.js.map +7 -1
  366. package/build/components/floating-toolbar/nav-up-icon.js +48 -29
  367. package/build/components/floating-toolbar/nav-up-icon.js.map +7 -1
  368. package/build/components/font-appearance-control/index.js +100 -118
  369. package/build/components/font-appearance-control/index.js.map +7 -1
  370. package/build/components/font-family/index.js +84 -66
  371. package/build/components/font-family/index.js.map +7 -1
  372. package/build/components/font-sizes/fluid-utils.js +81 -164
  373. package/build/components/font-sizes/fluid-utils.js.map +7 -1
  374. package/build/components/font-sizes/font-size-picker.js +38 -27
  375. package/build/components/font-sizes/font-size-picker.js.map +7 -1
  376. package/build/components/font-sizes/index.js +48 -43
  377. package/build/components/font-sizes/index.js.map +7 -1
  378. package/build/components/font-sizes/utils.js +37 -57
  379. package/build/components/font-sizes/utils.js.map +7 -1
  380. package/build/components/font-sizes/with-font-sizes.js +144 -119
  381. package/build/components/font-sizes/with-font-sizes.js.map +7 -1
  382. package/build/components/global-styles/advanced-panel.js +64 -51
  383. package/build/components/global-styles/advanced-panel.js.map +7 -1
  384. package/build/components/global-styles/background-panel.js +97 -88
  385. package/build/components/global-styles/background-panel.js.map +7 -1
  386. package/build/components/global-styles/border-panel.js +188 -156
  387. package/build/components/global-styles/border-panel.js.map +7 -1
  388. package/build/components/global-styles/color-panel.js +521 -401
  389. package/build/components/global-styles/color-panel.js.map +7 -1
  390. package/build/components/global-styles/context.js +36 -14
  391. package/build/components/global-styles/context.js.map +7 -1
  392. package/build/components/global-styles/dimensions-panel.js +427 -360
  393. package/build/components/global-styles/dimensions-panel.js.map +7 -1
  394. package/build/components/global-styles/filters-panel.js +153 -142
  395. package/build/components/global-styles/filters-panel.js.map +7 -1
  396. package/build/components/global-styles/get-block-css-selector.js +44 -79
  397. package/build/components/global-styles/get-block-css-selector.js.map +7 -1
  398. package/build/components/global-styles/get-global-styles-changes.js +152 -168
  399. package/build/components/global-styles/get-global-styles-changes.js.map +7 -1
  400. package/build/components/global-styles/hooks.js +259 -144
  401. package/build/components/global-styles/hooks.js.map +7 -1
  402. package/build/components/global-styles/image-settings-panel.js +62 -51
  403. package/build/components/global-styles/image-settings-panel.js.map +7 -1
  404. package/build/components/global-styles/index.js +107 -196
  405. package/build/components/global-styles/index.js.map +7 -1
  406. package/build/components/global-styles/shadow-panel-components.js +175 -164
  407. package/build/components/global-styles/shadow-panel-components.js.map +7 -1
  408. package/build/components/global-styles/typography-panel.js +421 -288
  409. package/build/components/global-styles/typography-panel.js.map +7 -1
  410. package/build/components/global-styles/typography-utils.js +92 -179
  411. package/build/components/global-styles/typography-utils.js.map +7 -1
  412. package/build/components/global-styles/use-global-styles-output.js +695 -761
  413. package/build/components/global-styles/use-global-styles-output.js.map +7 -1
  414. package/build/components/global-styles/utils.js +302 -358
  415. package/build/components/global-styles/utils.js.map +7 -1
  416. package/build/components/gradients/index.js +21 -15
  417. package/build/components/gradients/index.js.map +7 -1
  418. package/build/components/gradients/use-gradient.js +97 -83
  419. package/build/components/gradients/use-gradient.js.map +7 -1
  420. package/build/components/gradients/with-gradient.js +31 -20
  421. package/build/components/gradients/with-gradient.js.map +7 -1
  422. package/build/components/grid/grid-item-movers.js +160 -103
  423. package/build/components/grid/grid-item-movers.js.map +7 -1
  424. package/build/components/grid/grid-item-resizer.js +144 -108
  425. package/build/components/grid/grid-item-resizer.js.map +7 -1
  426. package/build/components/grid/grid-visualizer.js +279 -205
  427. package/build/components/grid/grid-visualizer.js.map +7 -1
  428. package/build/components/grid/index.js +34 -30
  429. package/build/components/grid/index.js.map +7 -1
  430. package/build/components/grid/use-get-number-of-blocks-before-cell.js +30 -24
  431. package/build/components/grid/use-get-number-of-blocks-before-cell.js.map +7 -1
  432. package/build/components/grid/use-grid-layout-sync.js +124 -118
  433. package/build/components/grid/use-grid-layout-sync.js.map +7 -1
  434. package/build/components/grid/utils.js +101 -80
  435. package/build/components/grid/utils.js.map +7 -1
  436. package/build/components/height-control/index.js +132 -196
  437. package/build/components/height-control/index.js.map +7 -1
  438. package/build/components/html-element-control/index.js +76 -91
  439. package/build/components/html-element-control/index.js.map +7 -1
  440. package/build/components/html-element-control/messages.js +58 -24
  441. package/build/components/html-element-control/messages.js.map +7 -1
  442. package/build/components/iframe/get-compatibility-styles.js +89 -87
  443. package/build/components/iframe/get-compatibility-styles.js.map +7 -1
  444. package/build/components/iframe/index.js +192 -214
  445. package/build/components/iframe/index.js.map +7 -1
  446. package/build/components/iframe/use-scale-canvas.js +164 -272
  447. package/build/components/iframe/use-scale-canvas.js.map +7 -1
  448. package/build/components/image-editor/aspect-ratio-dropdown.js +120 -106
  449. package/build/components/image-editor/aspect-ratio-dropdown.js.map +7 -1
  450. package/build/components/image-editor/constants.js +34 -9
  451. package/build/components/image-editor/constants.js.map +7 -1
  452. package/build/components/image-editor/context.js +54 -33
  453. package/build/components/image-editor/context.js.map +7 -1
  454. package/build/components/image-editor/cropper.js +85 -59
  455. package/build/components/image-editor/cropper.js.map +7 -1
  456. package/build/components/image-editor/form-controls.js +31 -32
  457. package/build/components/image-editor/form-controls.js.map +7 -1
  458. package/build/components/image-editor/index.js +73 -49
  459. package/build/components/image-editor/index.js.map +7 -1
  460. package/build/components/image-editor/rotation-button.js +37 -28
  461. package/build/components/image-editor/rotation-button.js.map +7 -1
  462. package/build/components/image-editor/use-save-image.js +98 -72
  463. package/build/components/image-editor/use-save-image.js.map +7 -1
  464. package/build/components/image-editor/use-transform-image.js +70 -45
  465. package/build/components/image-editor/use-transform-image.js.map +7 -1
  466. package/build/components/image-editor/zoom-dropdown.js +58 -50
  467. package/build/components/image-editor/zoom-dropdown.js.map +7 -1
  468. package/build/components/image-size-control/index.js +115 -102
  469. package/build/components/image-size-control/index.js.map +7 -1
  470. package/build/components/image-size-control/use-dimension-handler.js +40 -34
  471. package/build/components/image-size-control/use-dimension-handler.js.map +7 -1
  472. package/build/components/index.js +408 -1075
  473. package/build/components/index.js.map +7 -1
  474. package/build/components/inner-blocks/button-block-appender.js +49 -30
  475. package/build/components/inner-blocks/button-block-appender.js.map +7 -1
  476. package/build/components/inner-blocks/default-block-appender.js +37 -19
  477. package/build/components/inner-blocks/default-block-appender.js.map +7 -1
  478. package/build/components/inner-blocks/index.js +167 -190
  479. package/build/components/inner-blocks/index.js.map +7 -1
  480. package/build/components/inner-blocks/use-block-context.js +49 -37
  481. package/build/components/inner-blocks/use-block-context.js.map +7 -1
  482. package/build/components/inner-blocks/use-inner-block-template-sync.js +69 -73
  483. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +7 -1
  484. package/build/components/inner-blocks/use-nested-settings-update.js +82 -107
  485. package/build/components/inner-blocks/use-nested-settings-update.js.map +7 -1
  486. package/build/components/inserter/block-patterns-explorer/index.js +78 -59
  487. package/build/components/inserter/block-patterns-explorer/index.js.map +7 -1
  488. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +63 -49
  489. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +7 -1
  490. package/build/components/inserter/block-patterns-explorer/pattern-list.js +137 -85
  491. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +7 -1
  492. package/build/components/inserter/block-patterns-tab/index.js +89 -62
  493. package/build/components/inserter/block-patterns-tab/index.js.map +7 -1
  494. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +184 -114
  495. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +7 -1
  496. package/build/components/inserter/block-patterns-tab/patterns-filter.js +144 -104
  497. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +7 -1
  498. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +89 -38
  499. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +7 -1
  500. package/build/components/inserter/block-patterns-tab/utils.js +57 -42
  501. package/build/components/inserter/block-patterns-tab/utils.js.map +7 -1
  502. package/build/components/inserter/block-types-tab.js +173 -140
  503. package/build/components/inserter/block-types-tab.js.map +7 -1
  504. package/build/components/inserter/category-tabs/index.js +90 -71
  505. package/build/components/inserter/category-tabs/index.js.map +7 -1
  506. package/build/components/inserter/hooks/use-block-types-state.js +92 -68
  507. package/build/components/inserter/hooks/use-block-types-state.js.map +7 -1
  508. package/build/components/inserter/hooks/use-insertion-point.js +160 -127
  509. package/build/components/inserter/hooks/use-insertion-point.js.map +7 -1
  510. package/build/components/inserter/hooks/use-patterns-paging.js +47 -35
  511. package/build/components/inserter/hooks/use-patterns-paging.js.map +7 -1
  512. package/build/components/inserter/hooks/use-patterns-state.js +111 -84
  513. package/build/components/inserter/hooks/use-patterns-state.js.map +7 -1
  514. package/build/components/inserter/index.js +230 -237
  515. package/build/components/inserter/index.js.map +7 -1
  516. package/build/components/inserter/library.js +73 -53
  517. package/build/components/inserter/library.js.map +7 -1
  518. package/build/components/inserter/media-tab/hooks.js +88 -86
  519. package/build/components/inserter/media-tab/hooks.js.map +7 -1
  520. package/build/components/inserter/media-tab/index.js +41 -24
  521. package/build/components/inserter/media-tab/index.js.map +7 -1
  522. package/build/components/inserter/media-tab/media-list.js +45 -29
  523. package/build/components/inserter/media-tab/media-list.js.map +7 -1
  524. package/build/components/inserter/media-tab/media-panel.js +72 -52
  525. package/build/components/inserter/media-tab/media-panel.js.map +7 -1
  526. package/build/components/inserter/media-tab/media-preview.js +266 -238
  527. package/build/components/inserter/media-tab/media-preview.js.map +7 -1
  528. package/build/components/inserter/media-tab/media-tab.js +108 -84
  529. package/build/components/inserter/media-tab/media-tab.js.map +7 -1
  530. package/build/components/inserter/media-tab/utils.js +47 -45
  531. package/build/components/inserter/media-tab/utils.js.map +7 -1
  532. package/build/components/inserter/menu.js +317 -221
  533. package/build/components/inserter/menu.js.map +7 -1
  534. package/build/components/inserter/mobile-tab-navigation.js +82 -76
  535. package/build/components/inserter/mobile-tab-navigation.js.map +7 -1
  536. package/build/components/inserter/no-results.js +26 -18
  537. package/build/components/inserter/no-results.js.map +7 -1
  538. package/build/components/inserter/panel.js +33 -31
  539. package/build/components/inserter/panel.js.map +7 -1
  540. package/build/components/inserter/preview-panel.js +71 -64
  541. package/build/components/inserter/preview-panel.js.map +7 -1
  542. package/build/components/inserter/quick-inserter.js +114 -88
  543. package/build/components/inserter/quick-inserter.js.map +7 -1
  544. package/build/components/inserter/search-items.js +90 -114
  545. package/build/components/inserter/search-items.js.map +7 -1
  546. package/build/components/inserter/search-results.js +171 -115
  547. package/build/components/inserter/search-results.js.map +7 -1
  548. package/build/components/inserter/tips.js +55 -28
  549. package/build/components/inserter/tips.js.map +7 -1
  550. package/build/components/inserter-button/sparkles.js +30 -19
  551. package/build/components/inserter-button/sparkles.js.map +7 -1
  552. package/build/components/inserter-draggable-blocks/index.js +87 -75
  553. package/build/components/inserter-draggable-blocks/index.js.map +7 -1
  554. package/build/components/inserter-list-item/index.js +135 -100
  555. package/build/components/inserter-list-item/index.js.map +7 -1
  556. package/build/components/inserter-listbox/context.js +26 -13
  557. package/build/components/inserter-listbox/context.js.map +7 -1
  558. package/build/components/inserter-listbox/group.js +52 -32
  559. package/build/components/inserter-listbox/group.js.map +7 -1
  560. package/build/components/inserter-listbox/index.js +59 -52
  561. package/build/components/inserter-listbox/index.js.map +7 -1
  562. package/build/components/inserter-listbox/item.js +47 -47
  563. package/build/components/inserter-listbox/item.js.map +7 -1
  564. package/build/components/inserter-listbox/row.js +27 -18
  565. package/build/components/inserter-listbox/row.js.map +7 -1
  566. package/build/components/inserter-menu-extension/index.js +27 -15
  567. package/build/components/inserter-menu-extension/index.js.map +7 -1
  568. package/build/components/inspector-controls/block-support-slot-container.js +37 -28
  569. package/build/components/inspector-controls/block-support-slot-container.js.map +7 -1
  570. package/build/components/inspector-controls/block-support-tools-panel.js +74 -65
  571. package/build/components/inspector-controls/block-support-tools-panel.js.map +7 -1
  572. package/build/components/inspector-controls/fill.js +71 -74
  573. package/build/components/inspector-controls/fill.js.map +7 -1
  574. package/build/components/inspector-controls/groups.js +51 -24
  575. package/build/components/inspector-controls/groups.js.map +7 -1
  576. package/build/components/inspector-controls/index.js +48 -34
  577. package/build/components/inspector-controls/index.js.map +7 -1
  578. package/build/components/inspector-controls/slot.js +60 -46
  579. package/build/components/inspector-controls/slot.js.map +7 -1
  580. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +56 -30
  581. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +7 -1
  582. package/build/components/inspector-controls-tabs/content-tab.js +39 -28
  583. package/build/components/inspector-controls-tabs/content-tab.js.map +7 -1
  584. package/build/components/inspector-controls-tabs/index.js +86 -97
  585. package/build/components/inspector-controls-tabs/index.js.map +7 -1
  586. package/build/components/inspector-controls-tabs/position-controls-panel.js +90 -73
  587. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +7 -1
  588. package/build/components/inspector-controls-tabs/settings-tab.js +43 -24
  589. package/build/components/inspector-controls-tabs/settings-tab.js.map +7 -1
  590. package/build/components/inspector-controls-tabs/styles-tab.js +83 -56
  591. package/build/components/inspector-controls-tabs/styles-tab.js.map +7 -1
  592. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +67 -51
  593. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +7 -1
  594. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +30 -11
  595. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +7 -1
  596. package/build/components/inspector-controls-tabs/utils.js +54 -31
  597. package/build/components/inspector-controls-tabs/utils.js.map +7 -1
  598. package/build/components/inspector-popover-header/index.js +64 -46
  599. package/build/components/inspector-popover-header/index.js.map +7 -1
  600. package/build/components/justify-content-control/index.js +44 -28
  601. package/build/components/justify-content-control/index.js.map +7 -1
  602. package/build/components/justify-content-control/ui.js +86 -67
  603. package/build/components/justify-content-control/ui.js.map +7 -1
  604. package/build/components/keyboard-shortcuts/index.js +136 -107
  605. package/build/components/keyboard-shortcuts/index.js.map +7 -1
  606. package/build/components/letter-spacing-control/index.js +65 -55
  607. package/build/components/letter-spacing-control/index.js.map +7 -1
  608. package/build/components/line-height-control/index.js +75 -84
  609. package/build/components/line-height-control/index.js.map +7 -1
  610. package/build/components/line-height-control/utils.js +39 -33
  611. package/build/components/line-height-control/utils.js.map +7 -1
  612. package/build/components/link-control/constants.js +56 -23
  613. package/build/components/link-control/constants.js.map +7 -1
  614. package/build/components/link-control/index.js +336 -323
  615. package/build/components/link-control/index.js.map +7 -1
  616. package/build/components/link-control/is-url-like.js +31 -42
  617. package/build/components/link-control/is-url-like.js.map +7 -1
  618. package/build/components/link-control/link-preview.js +147 -140
  619. package/build/components/link-control/link-preview.js.map +7 -1
  620. package/build/components/link-control/search-create-button.js +53 -29
  621. package/build/components/link-control/search-create-button.js.map +7 -1
  622. package/build/components/link-control/search-input.js +154 -140
  623. package/build/components/link-control/search-input.js.map +7 -1
  624. package/build/components/link-control/search-item.js +108 -93
  625. package/build/components/link-control/search-item.js.map +7 -1
  626. package/build/components/link-control/search-results.js +100 -73
  627. package/build/components/link-control/search-results.js.map +7 -1
  628. package/build/components/link-control/settings-drawer.js +56 -51
  629. package/build/components/link-control/settings-drawer.js.map +7 -1
  630. package/build/components/link-control/settings.js +66 -35
  631. package/build/components/link-control/settings.js.map +7 -1
  632. package/build/components/link-control/use-create-page.js +44 -42
  633. package/build/components/link-control/use-create-page.js.map +7 -1
  634. package/build/components/link-control/use-internal-value.js +56 -35
  635. package/build/components/link-control/use-internal-value.js.map +7 -1
  636. package/build/components/link-control/use-rich-url-data.js +38 -38
  637. package/build/components/link-control/use-rich-url-data.js.map +7 -1
  638. package/build/components/link-control/use-search-handler.js +97 -87
  639. package/build/components/link-control/use-search-handler.js.map +7 -1
  640. package/build/components/link-control/viewer-slot.js +34 -17
  641. package/build/components/link-control/viewer-slot.js.map +7 -1
  642. package/build/components/list-view/appender.js +118 -98
  643. package/build/components/list-view/appender.js.map +7 -1
  644. package/build/components/list-view/aria-referenced-text.js +28 -32
  645. package/build/components/list-view/aria-referenced-text.js.map +7 -1
  646. package/build/components/list-view/block-contents.js +93 -78
  647. package/build/components/list-view/block-contents.js.map +7 -1
  648. package/build/components/list-view/block-select-button.js +146 -145
  649. package/build/components/list-view/block-select-button.js.map +7 -1
  650. package/build/components/list-view/block.js +386 -386
  651. package/build/components/list-view/block.js.map +7 -1
  652. package/build/components/list-view/branch.js +154 -147
  653. package/build/components/list-view/branch.js.map +7 -1
  654. package/build/components/list-view/context.js +32 -14
  655. package/build/components/list-view/context.js.map +7 -1
  656. package/build/components/list-view/drop-indicator.js +168 -172
  657. package/build/components/list-view/drop-indicator.js.map +7 -1
  658. package/build/components/list-view/expander.js +36 -27
  659. package/build/components/list-view/expander.js.map +7 -1
  660. package/build/components/list-view/index.js +279 -270
  661. package/build/components/list-view/index.js.map +7 -1
  662. package/build/components/list-view/leaf.js +74 -55
  663. package/build/components/list-view/leaf.js.map +7 -1
  664. package/build/components/list-view/use-block-selection.js +116 -108
  665. package/build/components/list-view/use-block-selection.js.map +7 -1
  666. package/build/components/list-view/use-clipboard-handler.js +71 -78
  667. package/build/components/list-view/use-clipboard-handler.js.map +7 -1
  668. package/build/components/list-view/use-list-view-block-indexes.js +26 -13
  669. package/build/components/list-view/use-list-view-block-indexes.js.map +7 -1
  670. package/build/components/list-view/use-list-view-client-ids.js +41 -32
  671. package/build/components/list-view/use-list-view-client-ids.js.map +7 -1
  672. package/build/components/list-view/use-list-view-collapse-items.js +32 -33
  673. package/build/components/list-view/use-list-view-collapse-items.js.map +7 -1
  674. package/build/components/list-view/use-list-view-drop-zone.js +189 -303
  675. package/build/components/list-view/use-list-view-drop-zone.js.map +7 -1
  676. package/build/components/list-view/use-list-view-expand-selected-item.js +46 -38
  677. package/build/components/list-view/use-list-view-expand-selected-item.js.map +7 -1
  678. package/build/components/list-view/use-list-view-images.js +44 -64
  679. package/build/components/list-view/use-list-view-images.js.map +7 -1
  680. package/build/components/list-view/use-list-view-scroll-into-view.js +27 -26
  681. package/build/components/list-view/use-list-view-scroll-into-view.js.map +7 -1
  682. package/build/components/list-view/utils.js +72 -120
  683. package/build/components/list-view/utils.js.map +7 -1
  684. package/build/components/media-placeholder/index.js +352 -298
  685. package/build/components/media-placeholder/index.js.map +7 -1
  686. package/build/components/media-replace-flow/index.js +181 -160
  687. package/build/components/media-replace-flow/index.js.map +7 -1
  688. package/build/components/media-upload/check.js +33 -29
  689. package/build/components/media-upload/check.js.map +7 -1
  690. package/build/components/media-upload/index.js +24 -22
  691. package/build/components/media-upload/index.js.map +7 -1
  692. package/build/components/media-upload-progress/constants.js +42 -11
  693. package/build/components/media-upload-progress/constants.js.map +7 -1
  694. package/build/components/multi-selection-inspector/index.js +59 -35
  695. package/build/components/multi-selection-inspector/index.js.map +7 -1
  696. package/build/components/navigable-toolbar/index.js +98 -103
  697. package/build/components/navigable-toolbar/index.js.map +7 -1
  698. package/build/components/observe-typing/index.js +142 -211
  699. package/build/components/observe-typing/index.js.map +7 -1
  700. package/build/components/panel-color-settings/index.js +47 -29
  701. package/build/components/panel-color-settings/index.js.map +7 -1
  702. package/build/components/plain-text/index.js +50 -79
  703. package/build/components/plain-text/index.js.map +7 -1
  704. package/build/components/preview-options/index.js +35 -13
  705. package/build/components/preview-options/index.js.map +7 -1
  706. package/build/components/provider/block-refs-provider.js +36 -27
  707. package/build/components/provider/block-refs-provider.js.map +7 -1
  708. package/build/components/provider/index.js +111 -97
  709. package/build/components/provider/index.js.map +7 -1
  710. package/build/components/provider/use-block-sync.js +57 -153
  711. package/build/components/provider/use-block-sync.js.map +7 -1
  712. package/build/components/provider/use-media-upload-settings.js +33 -24
  713. package/build/components/provider/use-media-upload-settings.js.map +7 -1
  714. package/build/components/provider/with-registry-provider.js +47 -43
  715. package/build/components/provider/with-registry-provider.js.map +7 -1
  716. package/build/components/publish-date-time-picker/index.js +76 -48
  717. package/build/components/publish-date-time-picker/index.js.map +7 -1
  718. package/build/components/recursion-provider/index.js +68 -93
  719. package/build/components/recursion-provider/index.js.map +7 -1
  720. package/build/components/resizable-box-popover/index.js +44 -25
  721. package/build/components/resizable-box-popover/index.js.map +7 -1
  722. package/build/components/resolution-tool/index.js +67 -43
  723. package/build/components/resolution-tool/index.js.map +7 -1
  724. package/build/components/responsive-block-control/index.js +114 -72
  725. package/build/components/responsive-block-control/index.js.map +7 -1
  726. package/build/components/responsive-block-control/label.js +40 -26
  727. package/build/components/responsive-block-control/label.js.map +7 -1
  728. package/build/components/rich-text/content.js +56 -48
  729. package/build/components/rich-text/content.js.map +7 -1
  730. package/build/components/rich-text/event-listeners/before-input-rules.js +45 -61
  731. package/build/components/rich-text/event-listeners/before-input-rules.js.map +7 -1
  732. package/build/components/rich-text/event-listeners/delete.js +34 -39
  733. package/build/components/rich-text/event-listeners/delete.js.map +7 -1
  734. package/build/components/rich-text/event-listeners/enter.js +43 -46
  735. package/build/components/rich-text/event-listeners/enter.js.map +7 -1
  736. package/build/components/rich-text/event-listeners/firefox-compat.js +31 -24
  737. package/build/components/rich-text/event-listeners/firefox-compat.js.map +7 -1
  738. package/build/components/rich-text/event-listeners/index.js +80 -40
  739. package/build/components/rich-text/event-listeners/index.js.map +7 -1
  740. package/build/components/rich-text/event-listeners/input-events.js +26 -12
  741. package/build/components/rich-text/event-listeners/input-events.js.map +7 -1
  742. package/build/components/rich-text/event-listeners/input-rules.js +68 -74
  743. package/build/components/rich-text/event-listeners/input-rules.js.map +7 -1
  744. package/build/components/rich-text/event-listeners/insert-replacement-text.js +29 -24
  745. package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +7 -1
  746. package/build/components/rich-text/event-listeners/paste-handler.js +59 -72
  747. package/build/components/rich-text/event-listeners/paste-handler.js.map +7 -1
  748. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -18
  749. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +7 -1
  750. package/build/components/rich-text/event-listeners/shortcuts.js +26 -12
  751. package/build/components/rich-text/event-listeners/shortcuts.js.map +7 -1
  752. package/build/components/rich-text/event-listeners/undo-automatic-change.js +32 -31
  753. package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +7 -1
  754. package/build/components/rich-text/format-edit.js +72 -57
  755. package/build/components/rich-text/format-edit.js.map +7 -1
  756. package/build/components/rich-text/format-toolbar/index.js +79 -61
  757. package/build/components/rich-text/format-toolbar/index.js.map +7 -1
  758. package/build/components/rich-text/format-toolbar-container.js +61 -52
  759. package/build/components/rich-text/format-toolbar-container.js.map +7 -1
  760. package/build/components/rich-text/get-rich-text-values.js +75 -54
  761. package/build/components/rich-text/get-rich-text-values.js.map +7 -1
  762. package/build/components/rich-text/index.js +340 -342
  763. package/build/components/rich-text/index.js.map +7 -1
  764. package/build/components/rich-text/input-event.js +32 -22
  765. package/build/components/rich-text/input-event.js.map +7 -1
  766. package/build/components/rich-text/multiline.js +104 -76
  767. package/build/components/rich-text/multiline.js.map +7 -1
  768. package/build/components/rich-text/native/format-edit.js +44 -30
  769. package/build/components/rich-text/native/format-edit.js.map +7 -1
  770. package/build/components/rich-text/native/index.js +24 -7
  771. package/build/components/rich-text/native/index.js.map +7 -1
  772. package/build/components/rich-text/native/use-format-types.js +89 -63
  773. package/build/components/rich-text/native/use-format-types.js.map +7 -1
  774. package/build/components/rich-text/prevent-event-discovery.js +31 -17
  775. package/build/components/rich-text/prevent-event-discovery.js.map +7 -1
  776. package/build/components/rich-text/shortcut.js +34 -25
  777. package/build/components/rich-text/shortcut.js.map +7 -1
  778. package/build/components/rich-text/toolbar-button.js +32 -21
  779. package/build/components/rich-text/toolbar-button.js.map +7 -1
  780. package/build/components/rich-text/use-format-types.js +127 -90
  781. package/build/components/rich-text/use-format-types.js.map +7 -1
  782. package/build/components/rich-text/use-mark-persistent.js +34 -32
  783. package/build/components/rich-text/use-mark-persistent.js.map +7 -1
  784. package/build/components/rich-text/utils.js +46 -45
  785. package/build/components/rich-text/utils.js.map +7 -1
  786. package/build/components/rich-text/with-deprecations.js +64 -37
  787. package/build/components/rich-text/with-deprecations.js.map +7 -1
  788. package/build/components/selection-scroll-into-view/index.js +40 -20
  789. package/build/components/selection-scroll-into-view/index.js.map +7 -1
  790. package/build/components/skip-to-selected-block/index.js +46 -33
  791. package/build/components/skip-to-selected-block/index.js.map +7 -1
  792. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +56 -39
  793. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +7 -1
  794. package/build/components/spacing-sizes-control/index.js +91 -113
  795. package/build/components/spacing-sizes-control/index.js.map +7 -1
  796. package/build/components/spacing-sizes-control/input-controls/axial.js +61 -38
  797. package/build/components/spacing-sizes-control/input-controls/axial.js.map +7 -1
  798. package/build/components/spacing-sizes-control/input-controls/separated.js +57 -32
  799. package/build/components/spacing-sizes-control/input-controls/separated.js.map +7 -1
  800. package/build/components/spacing-sizes-control/input-controls/single.js +56 -29
  801. package/build/components/spacing-sizes-control/input-controls/single.js.map +7 -1
  802. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +239 -276
  803. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +7 -1
  804. package/build/components/spacing-sizes-control/linked-button.js +38 -25
  805. package/build/components/spacing-sizes-control/linked-button.js.map +7 -1
  806. package/build/components/spacing-sizes-control/utils.js +112 -180
  807. package/build/components/spacing-sizes-control/utils.js.map +7 -1
  808. package/build/components/tabbed-sidebar/index.js +77 -99
  809. package/build/components/tabbed-sidebar/index.js.map +7 -1
  810. package/build/components/text-alignment-control/index.js +95 -69
  811. package/build/components/text-alignment-control/index.js.map +7 -1
  812. package/build/components/text-decoration-control/index.js +82 -61
  813. package/build/components/text-decoration-control/index.js.map +7 -1
  814. package/build/components/text-transform-control/index.js +88 -70
  815. package/build/components/text-transform-control/index.js.map +7 -1
  816. package/build/components/typewriter/index.js +173 -211
  817. package/build/components/typewriter/index.js.map +7 -1
  818. package/build/components/unit-control/index.js +30 -27
  819. package/build/components/unit-control/index.js.map +7 -1
  820. package/build/components/url-input/button.js +93 -74
  821. package/build/components/url-input/button.js.map +7 -1
  822. package/build/components/url-input/index.js +211 -247
  823. package/build/components/url-input/index.js.map +7 -1
  824. package/build/components/url-popover/image-url-input-ui.js +253 -202
  825. package/build/components/url-popover/image-url-input-ui.js.map +7 -1
  826. package/build/components/url-popover/index.js +113 -101
  827. package/build/components/url-popover/index.js.map +7 -1
  828. package/build/components/url-popover/link-editor.js +67 -38
  829. package/build/components/url-popover/link-editor.js.map +7 -1
  830. package/build/components/url-popover/link-viewer-url.js +43 -32
  831. package/build/components/url-popover/link-viewer-url.js.map +7 -1
  832. package/build/components/url-popover/link-viewer.js +67 -38
  833. package/build/components/url-popover/link-viewer.js.map +7 -1
  834. package/build/components/use-block-commands/index.js +181 -151
  835. package/build/components/use-block-commands/index.js.map +7 -1
  836. package/build/components/use-block-display-information/index.js +74 -105
  837. package/build/components/use-block-display-information/index.js.map +7 -1
  838. package/build/components/use-block-drop-zone/index.js +303 -313
  839. package/build/components/use-block-drop-zone/index.js.map +7 -1
  840. package/build/components/use-flash-editable-blocks/index.js +66 -52
  841. package/build/components/use-flash-editable-blocks/index.js.map +7 -1
  842. package/build/components/use-moving-animation/index.js +66 -111
  843. package/build/components/use-moving-animation/index.js.map +7 -1
  844. package/build/components/use-on-block-drop/index.js +201 -180
  845. package/build/components/use-on-block-drop/index.js.map +7 -1
  846. package/build/components/use-on-block-drop/types.js +16 -5
  847. package/build/components/use-on-block-drop/types.js.map +7 -1
  848. package/build/components/use-paste-styles/index.js +144 -142
  849. package/build/components/use-paste-styles/index.js.map +7 -1
  850. package/build/components/use-resize-canvas/index.js +38 -32
  851. package/build/components/use-resize-canvas/index.js.map +7 -1
  852. package/build/components/use-settings/index.js +55 -57
  853. package/build/components/use-settings/index.js.map +7 -1
  854. package/build/components/warning/index.js +73 -65
  855. package/build/components/warning/index.js.map +7 -1
  856. package/build/components/writing-flow/index.js +111 -72
  857. package/build/components/writing-flow/index.js.map +7 -1
  858. package/build/components/writing-flow/use-arrow-nav.js +115 -153
  859. package/build/components/writing-flow/use-arrow-nav.js.map +7 -1
  860. package/build/components/writing-flow/use-click-selection.js +55 -55
  861. package/build/components/writing-flow/use-click-selection.js.map +7 -1
  862. package/build/components/writing-flow/use-clipboard-handler.js +83 -87
  863. package/build/components/writing-flow/use-clipboard-handler.js.map +7 -1
  864. package/build/components/writing-flow/use-drag-selection.js +99 -149
  865. package/build/components/writing-flow/use-drag-selection.js.map +7 -1
  866. package/build/components/writing-flow/use-input.js +72 -62
  867. package/build/components/writing-flow/use-input.js.map +7 -1
  868. package/build/components/writing-flow/use-multi-selection.js +57 -61
  869. package/build/components/writing-flow/use-multi-selection.js.map +7 -1
  870. package/build/components/writing-flow/use-select-all.js +39 -37
  871. package/build/components/writing-flow/use-select-all.js.map +7 -1
  872. package/build/components/writing-flow/use-selection-observer.js +136 -188
  873. package/build/components/writing-flow/use-selection-observer.js.map +7 -1
  874. package/build/components/writing-flow/use-tab-nav.js +97 -147
  875. package/build/components/writing-flow/use-tab-nav.js.map +7 -1
  876. package/build/components/writing-flow/utils.js +59 -71
  877. package/build/components/writing-flow/utils.js.map +7 -1
  878. package/build/components/writing-mode-control/index.js +75 -62
  879. package/build/components/writing-mode-control/index.js.map +7 -1
  880. package/build/elements/index.js +30 -10
  881. package/build/elements/index.js.map +7 -1
  882. package/build/hooks/align.js +102 -133
  883. package/build/hooks/align.js.map +7 -1
  884. package/build/hooks/allowed-blocks.js +84 -0
  885. package/build/hooks/allowed-blocks.js.map +7 -0
  886. package/build/hooks/anchor.js +81 -88
  887. package/build/hooks/anchor.js.map +7 -1
  888. package/build/hooks/aria-label.js +43 -43
  889. package/build/hooks/aria-label.js.map +7 -1
  890. package/build/hooks/background.js +112 -112
  891. package/build/hooks/background.js.map +7 -1
  892. package/build/hooks/block-bindings.js +394 -253
  893. package/build/hooks/block-bindings.js.map +7 -1
  894. package/build/hooks/block-hooks.js +171 -163
  895. package/build/hooks/block-hooks.js.map +7 -1
  896. package/build/hooks/block-renaming.js +41 -32
  897. package/build/hooks/block-renaming.js.map +7 -1
  898. package/build/hooks/block-style-variation.js +152 -180
  899. package/build/hooks/block-style-variation.js.map +7 -1
  900. package/build/hooks/border.js +183 -254
  901. package/build/hooks/border.js.map +7 -1
  902. package/build/hooks/color.js +216 -195
  903. package/build/hooks/color.js.map +7 -1
  904. package/build/hooks/compat.js +10 -13
  905. package/build/hooks/compat.js.map +7 -1
  906. package/build/hooks/content-lock-ui.js +51 -58
  907. package/build/hooks/content-lock-ui.js.map +7 -1
  908. package/build/hooks/contrast-checker.js +67 -46
  909. package/build/hooks/contrast-checker.js.map +7 -1
  910. package/build/hooks/custom-class-name.js +84 -87
  911. package/build/hooks/custom-class-name.js.map +7 -1
  912. package/build/hooks/dimensions.js +153 -141
  913. package/build/hooks/dimensions.js.map +7 -1
  914. package/build/hooks/duotone.js +173 -194
  915. package/build/hooks/duotone.js.map +7 -1
  916. package/build/hooks/fit-text.js +206 -0
  917. package/build/hooks/fit-text.js.map +7 -0
  918. package/build/hooks/font-family.js +70 -78
  919. package/build/hooks/font-family.js.map +7 -1
  920. package/build/hooks/font-size.js +134 -127
  921. package/build/hooks/font-size.js.map +7 -1
  922. package/build/hooks/gap.js +33 -31
  923. package/build/hooks/gap.js.map +7 -1
  924. package/build/hooks/generated-class-name.js +42 -32
  925. package/build/hooks/generated-class-name.js.map +7 -1
  926. package/build/hooks/grid-visualizer.js +51 -60
  927. package/build/hooks/grid-visualizer.js.map +7 -1
  928. package/build/hooks/index.js +157 -147
  929. package/build/hooks/index.js.map +7 -1
  930. package/build/hooks/layout-child.js +128 -141
  931. package/build/hooks/layout-child.js.map +7 -1
  932. package/build/hooks/layout.js +260 -295
  933. package/build/hooks/layout.js.map +7 -1
  934. package/build/hooks/line-height.js +61 -55
  935. package/build/hooks/line-height.js.map +7 -1
  936. package/build/hooks/lock.js +30 -23
  937. package/build/hooks/lock.js.map +7 -1
  938. package/build/hooks/metadata.js +34 -23
  939. package/build/hooks/metadata.js.map +7 -1
  940. package/build/hooks/position.js +169 -240
  941. package/build/hooks/position.js.map +7 -1
  942. package/build/hooks/settings.js +10 -13
  943. package/build/hooks/settings.js.map +7 -1
  944. package/build/hooks/spacing-visualizer.js +108 -88
  945. package/build/hooks/spacing-visualizer.js.map +7 -1
  946. package/build/hooks/style.js +157 -281
  947. package/build/hooks/style.js.map +7 -1
  948. package/build/hooks/supports.js +145 -288
  949. package/build/hooks/supports.js.map +7 -1
  950. package/build/hooks/text-align.js +110 -101
  951. package/build/hooks/text-align.js.map +7 -1
  952. package/build/hooks/typography.js +139 -107
  953. package/build/hooks/typography.js.map +7 -1
  954. package/build/hooks/use-border-props.js +47 -52
  955. package/build/hooks/use-border-props.js.map +7 -1
  956. package/build/hooks/use-cached-truthy.js +29 -18
  957. package/build/hooks/use-cached-truthy.js.map +7 -1
  958. package/build/hooks/use-color-props.js +101 -89
  959. package/build/hooks/use-color-props.js.map +7 -1
  960. package/build/hooks/use-shadow-props.js +29 -25
  961. package/build/hooks/use-shadow-props.js.map +7 -1
  962. package/build/hooks/use-spacing-props.js +29 -30
  963. package/build/hooks/use-spacing-props.js.map +7 -1
  964. package/build/hooks/use-typography-props.js +55 -51
  965. package/build/hooks/use-typography-props.js.map +7 -1
  966. package/build/hooks/use-zoom-out.js +40 -56
  967. package/build/hooks/use-zoom-out.js.map +7 -1
  968. package/build/hooks/utils.js +421 -251
  969. package/build/hooks/utils.js.map +7 -1
  970. package/build/index.js +65 -150
  971. package/build/index.js.map +7 -1
  972. package/build/layouts/constrained.js +211 -211
  973. package/build/layouts/constrained.js.map +7 -1
  974. package/build/layouts/definitions.js +188 -144
  975. package/build/layouts/definitions.js.map +7 -1
  976. package/build/layouts/flex.js +250 -239
  977. package/build/layouts/flex.js.map +7 -1
  978. package/build/layouts/flow.js +59 -61
  979. package/build/layouts/flow.js.map +7 -1
  980. package/build/layouts/grid.js +247 -249
  981. package/build/layouts/grid.js.map +7 -1
  982. package/build/layouts/index.js +45 -31
  983. package/build/layouts/index.js.map +7 -1
  984. package/build/layouts/utils.js +51 -70
  985. package/build/layouts/utils.js.map +7 -1
  986. package/build/lock-unlock.js +31 -14
  987. package/build/lock-unlock.js.map +7 -1
  988. package/build/private-apis.js +119 -97
  989. package/build/private-apis.js.map +7 -1
  990. package/build/store/actions.js +620 -1283
  991. package/build/store/actions.js.map +7 -1
  992. package/build/store/array.js +38 -28
  993. package/build/store/array.js.map +7 -1
  994. package/build/store/constants.js +27 -6
  995. package/build/store/constants.js.map +7 -1
  996. package/build/store/defaults.js +191 -202
  997. package/build/store/defaults.js.map +7 -1
  998. package/build/store/get-block-settings.js +105 -96
  999. package/build/store/get-block-settings.js.map +7 -1
  1000. package/build/store/index.js +56 -56
  1001. package/build/store/index.js.map +7 -1
  1002. package/build/store/private-actions.js +158 -323
  1003. package/build/store/private-actions.js.map +7 -1
  1004. package/build/store/private-keys.js +45 -12
  1005. package/build/store/private-keys.js.map +7 -1
  1006. package/build/store/private-selectors.js +298 -468
  1007. package/build/store/private-selectors.js.map +7 -1
  1008. package/build/store/reducer.js +1142 -1819
  1009. package/build/store/reducer.js.map +7 -1
  1010. package/build/store/selectors.js +1191 -2198
  1011. package/build/store/selectors.js.map +7 -1
  1012. package/build/store/utils.js +87 -54
  1013. package/build/store/utils.js.map +7 -1
  1014. package/build/utils/block-bindings.js +46 -179
  1015. package/build/utils/block-bindings.js.map +7 -1
  1016. package/build/utils/dom.js +58 -105
  1017. package/build/utils/dom.js.map +7 -1
  1018. package/build/utils/fit-text-frontend.js +41 -0
  1019. package/build/utils/fit-text-frontend.js.map +7 -0
  1020. package/build/utils/fit-text-utils.js +63 -0
  1021. package/build/utils/fit-text-utils.js.map +7 -0
  1022. package/build/utils/format-font-style.js +35 -27
  1023. package/build/utils/format-font-style.js.map +7 -1
  1024. package/build/utils/format-font-weight.js +51 -43
  1025. package/build/utils/format-font-weight.js.map +7 -1
  1026. package/build/utils/get-editor-region.js +27 -25
  1027. package/build/utils/get-editor-region.js.map +7 -1
  1028. package/build/utils/get-font-styles-and-weights.js +113 -107
  1029. package/build/utils/get-font-styles-and-weights.js.map +7 -1
  1030. package/build/utils/get-px-from-css-unit.js +23 -14
  1031. package/build/utils/get-px-from-css-unit.js.map +7 -1
  1032. package/build/utils/index.js +41 -24
  1033. package/build/utils/index.js.map +7 -1
  1034. package/build/utils/math.js +40 -82
  1035. package/build/utils/math.js.map +7 -1
  1036. package/build/utils/object.js +37 -57
  1037. package/build/utils/object.js.map +7 -1
  1038. package/build/utils/order-inserter-block-items.js +27 -22
  1039. package/build/utils/order-inserter-block-items.js.map +7 -1
  1040. package/build/utils/pasting.js +41 -85
  1041. package/build/utils/pasting.js.map +7 -1
  1042. package/build/utils/selection.js +35 -29
  1043. package/build/utils/selection.js.map +7 -1
  1044. package/build/utils/sorting.js +32 -33
  1045. package/build/utils/sorting.js.map +7 -1
  1046. package/build/utils/transform-styles/index.js +101 -145
  1047. package/build/utils/transform-styles/index.js.map +7 -1
  1048. package/build/utils/use-notify-copy.js +81 -55
  1049. package/build/utils/use-notify-copy.js.map +7 -1
  1050. package/build-module/autocompleters/block.js +92 -79
  1051. package/build-module/autocompleters/block.js.map +7 -1
  1052. package/build-module/autocompleters/link.js +29 -41
  1053. package/build-module/autocompleters/link.js.map +7 -1
  1054. package/build-module/components/alignment-control/index.js +11 -21
  1055. package/build-module/components/alignment-control/index.js.map +7 -1
  1056. package/build-module/components/alignment-control/ui.js +52 -47
  1057. package/build-module/components/alignment-control/ui.js.map +7 -1
  1058. package/build-module/components/autocomplete/index.js +31 -53
  1059. package/build-module/components/autocomplete/index.js.map +7 -1
  1060. package/build-module/components/background-image-control/index.js +471 -432
  1061. package/build-module/components/background-image-control/index.js.map +7 -1
  1062. package/build-module/components/block-actions/index.js +51 -55
  1063. package/build-module/components/block-actions/index.js.map +7 -1
  1064. package/build-module/components/block-alignment-control/constants.js +22 -14
  1065. package/build-module/components/block-alignment-control/constants.js.map +7 -1
  1066. package/build-module/components/block-alignment-control/index.js +11 -21
  1067. package/build-module/components/block-alignment-control/index.js.map +7 -1
  1068. package/build-module/components/block-alignment-control/ui.js +47 -60
  1069. package/build-module/components/block-alignment-control/ui.js.map +7 -1
  1070. package/build-module/components/block-alignment-control/use-available-alignments.js +41 -48
  1071. package/build-module/components/block-alignment-control/use-available-alignments.js.map +7 -1
  1072. package/build-module/components/block-alignment-matrix-control/index.js +52 -77
  1073. package/build-module/components/block-alignment-matrix-control/index.js.map +7 -1
  1074. package/build-module/components/block-allowed-blocks/allowed-blocks-control.js +69 -0
  1075. package/build-module/components/block-allowed-blocks/allowed-blocks-control.js.map +7 -0
  1076. package/build-module/components/block-allowed-blocks/index.js +7 -0
  1077. package/build-module/components/block-allowed-blocks/index.js.map +7 -0
  1078. package/build-module/components/block-allowed-blocks/modal.js +101 -0
  1079. package/build-module/components/block-allowed-blocks/modal.js.map +7 -0
  1080. package/build-module/components/block-breadcrumb/index.js +94 -96
  1081. package/build-module/components/block-breadcrumb/index.js.map +7 -1
  1082. package/build-module/components/block-canvas/index.js +85 -113
  1083. package/build-module/components/block-canvas/index.js.map +7 -1
  1084. package/build-module/components/block-card/index.js +67 -115
  1085. package/build-module/components/block-card/index.js.map +7 -1
  1086. package/build-module/components/block-compare/block-view.js +21 -31
  1087. package/build-module/components/block-compare/block-view.js.map +7 -1
  1088. package/build-module/components/block-compare/index.js +44 -52
  1089. package/build-module/components/block-compare/index.js.map +7 -1
  1090. package/build-module/components/block-content-overlay/index.js +14 -17
  1091. package/build-module/components/block-content-overlay/index.js.map +7 -1
  1092. package/build-module/components/block-context/index.js +15 -40
  1093. package/build-module/components/block-context/index.js.map +7 -1
  1094. package/build-module/components/block-controls/fill.js +27 -35
  1095. package/build-module/components/block-controls/fill.js.map +7 -1
  1096. package/build-module/components/block-controls/groups.js +11 -11
  1097. package/build-module/components/block-controls/groups.js.map +7 -1
  1098. package/build-module/components/block-controls/hook.js +11 -11
  1099. package/build-module/components/block-controls/hook.js.map +7 -1
  1100. package/build-module/components/block-controls/index.js +13 -20
  1101. package/build-module/components/block-controls/index.js.map +7 -1
  1102. package/build-module/components/block-controls/slot.js +31 -41
  1103. package/build-module/components/block-controls/slot.js.map +7 -1
  1104. package/build-module/components/block-draggable/draggable-chip.js +32 -39
  1105. package/build-module/components/block-draggable/draggable-chip.js.map +7 -1
  1106. package/build-module/components/block-draggable/index.js +131 -134
  1107. package/build-module/components/block-draggable/index.js.map +7 -1
  1108. package/build-module/components/block-draggable/use-scroll-when-dragging.js +36 -38
  1109. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +7 -1
  1110. package/build-module/components/block-edit/context.js +22 -24
  1111. package/build-module/components/block-edit/context.js.map +7 -1
  1112. package/build-module/components/block-edit/edit.js +211 -185
  1113. package/build-module/components/block-edit/edit.js.map +7 -1
  1114. package/build-module/components/block-edit/index.js +70 -64
  1115. package/build-module/components/block-edit/index.js.map +7 -1
  1116. package/build-module/components/block-edit/multiple-usage-warning.js +47 -35
  1117. package/build-module/components/block-edit/multiple-usage-warning.js.map +7 -1
  1118. package/build-module/components/block-edit-visually-button/index.js +22 -27
  1119. package/build-module/components/block-edit-visually-button/index.js.map +7 -1
  1120. package/build-module/components/block-editing-mode/index.js +21 -58
  1121. package/build-module/components/block-editing-mode/index.js.map +7 -1
  1122. package/build-module/components/block-full-height-alignment-control/index.js +20 -17
  1123. package/build-module/components/block-full-height-alignment-control/index.js.map +7 -1
  1124. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +17 -31
  1125. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +7 -1
  1126. package/build-module/components/block-heading-level-dropdown/index.js +37 -60
  1127. package/build-module/components/block-heading-level-dropdown/index.js.map +7 -1
  1128. package/build-module/components/block-icon/index.js +23 -36
  1129. package/build-module/components/block-icon/index.js.map +7 -1
  1130. package/build-module/components/block-inspector/edit-contents-button.js +35 -43
  1131. package/build-module/components/block-inspector/edit-contents-button.js.map +7 -1
  1132. package/build-module/components/block-inspector/index.js +208 -189
  1133. package/build-module/components/block-inspector/index.js.map +7 -1
  1134. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +27 -34
  1135. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +7 -1
  1136. package/build-module/components/block-list/block-crash-boundary.js +6 -6
  1137. package/build-module/components/block-list/block-crash-boundary.js.map +7 -1
  1138. package/build-module/components/block-list/block-crash-warning.js +9 -16
  1139. package/build-module/components/block-list/block-crash-warning.js.map +7 -1
  1140. package/build-module/components/block-list/block-html.js +38 -38
  1141. package/build-module/components/block-list/block-html.js.map +7 -1
  1142. package/build-module/components/block-list/block-invalid-warning.js +123 -99
  1143. package/build-module/components/block-list/block-invalid-warning.js.map +7 -1
  1144. package/build-module/components/block-list/block.js +325 -401
  1145. package/build-module/components/block-list/block.js.map +7 -1
  1146. package/build-module/components/block-list/index.js +187 -167
  1147. package/build-module/components/block-list/index.js.map +7 -1
  1148. package/build-module/components/block-list/layout.js +19 -38
  1149. package/build-module/components/block-list/layout.js.map +7 -1
  1150. package/build-module/components/block-list/private-block-context.js +7 -7
  1151. package/build-module/components/block-list/private-block-context.js.map +7 -1
  1152. package/build-module/components/block-list/subdirectory-icon.js +25 -21
  1153. package/build-module/components/block-list/subdirectory-icon.js.map +7 -1
  1154. package/build-module/components/block-list/use-block-props/index.js +84 -139
  1155. package/build-module/components/block-list/use-block-props/index.js.map +7 -1
  1156. package/build-module/components/block-list/use-block-props/use-block-refs.js +26 -54
  1157. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +7 -1
  1158. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +21 -43
  1159. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +7 -1
  1160. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +23 -51
  1161. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +7 -1
  1162. package/build-module/components/block-list/use-block-props/use-focus-handler.js +33 -62
  1163. package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +7 -1
  1164. package/build-module/components/block-list/use-block-props/use-intersection-observer.js +19 -20
  1165. package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +7 -1
  1166. package/build-module/components/block-list/use-block-props/use-is-hovered.js +16 -20
  1167. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +7 -1
  1168. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +31 -34
  1169. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +7 -1
  1170. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +182 -167
  1171. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +7 -1
  1172. package/build-module/components/block-list/use-in-between-inserter.js +99 -107
  1173. package/build-module/components/block-list/use-in-between-inserter.js.map +7 -1
  1174. package/build-module/components/block-list/zoom-out-separator.js +54 -72
  1175. package/build-module/components/block-list/zoom-out-separator.js.map +7 -1
  1176. package/build-module/components/block-list-appender/index.js +52 -81
  1177. package/build-module/components/block-list-appender/index.js.map +7 -1
  1178. package/build-module/components/block-lock/index.js +11 -5
  1179. package/build-module/components/block-lock/index.js.map +7 -1
  1180. package/build-module/components/block-lock/menu-item.js +31 -36
  1181. package/build-module/components/block-lock/menu-item.js.map +7 -1
  1182. package/build-module/components/block-lock/modal.js +211 -176
  1183. package/build-module/components/block-lock/modal.js.map +7 -1
  1184. package/build-module/components/block-lock/toolbar.js +28 -42
  1185. package/build-module/components/block-lock/toolbar.js.map +7 -1
  1186. package/build-module/components/block-lock/use-block-lock.js +31 -40
  1187. package/build-module/components/block-lock/use-block-lock.js.map +7 -1
  1188. package/build-module/components/block-manager/category.js +82 -58
  1189. package/build-module/components/block-manager/category.js.map +7 -1
  1190. package/build-module/components/block-manager/checklist.js +27 -30
  1191. package/build-module/components/block-manager/checklist.js.map +7 -1
  1192. package/build-module/components/block-manager/index.js +95 -83
  1193. package/build-module/components/block-manager/index.js.map +7 -1
  1194. package/build-module/components/block-mover/button.js +124 -124
  1195. package/build-module/components/block-mover/button.js.map +7 -1
  1196. package/build-module/components/block-mover/index.js +83 -90
  1197. package/build-module/components/block-mover/index.js.map +7 -1
  1198. package/build-module/components/block-mover/mover-description.js +191 -134
  1199. package/build-module/components/block-mover/mover-description.js.map +7 -1
  1200. package/build-module/components/block-navigation/dropdown.js +58 -66
  1201. package/build-module/components/block-navigation/dropdown.js.map +7 -1
  1202. package/build-module/components/block-parent-selector/index.js +41 -51
  1203. package/build-module/components/block-parent-selector/index.js.map +7 -1
  1204. package/build-module/components/block-pattern-setup/constants.js +7 -4
  1205. package/build-module/components/block-pattern-setup/constants.js.map +7 -1
  1206. package/build-module/components/block-pattern-setup/index.js +142 -136
  1207. package/build-module/components/block-pattern-setup/index.js.map +7 -1
  1208. package/build-module/components/block-pattern-setup/setup-toolbar.js +80 -67
  1209. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +7 -1
  1210. package/build-module/components/block-pattern-setup/use-patterns-setup.js +24 -23
  1211. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +7 -1
  1212. package/build-module/components/block-patterns-list/index.js +160 -152
  1213. package/build-module/components/block-patterns-list/index.js.map +7 -1
  1214. package/build-module/components/block-patterns-paging/index.js +107 -80
  1215. package/build-module/components/block-patterns-paging/index.js.map +7 -1
  1216. package/build-module/components/block-popover/cover.js +31 -35
  1217. package/build-module/components/block-popover/cover.js.map +7 -1
  1218. package/build-module/components/block-popover/drop-zone.js +35 -47
  1219. package/build-module/components/block-popover/drop-zone.js.map +7 -1
  1220. package/build-module/components/block-popover/inbetween.js +90 -118
  1221. package/build-module/components/block-popover/inbetween.js.map +7 -1
  1222. package/build-module/components/block-popover/index.js +84 -83
  1223. package/build-module/components/block-popover/index.js.map +7 -1
  1224. package/build-module/components/block-popover/use-popover-scroll.js +30 -48
  1225. package/build-module/components/block-popover/use-popover-scroll.js.map +7 -1
  1226. package/build-module/components/block-preview/async.js +7 -26
  1227. package/build-module/components/block-preview/async.js.map +7 -1
  1228. package/build-module/components/block-preview/auto.js +84 -96
  1229. package/build-module/components/block-preview/auto.js.map +7 -1
  1230. package/build-module/components/block-preview/index.js +100 -106
  1231. package/build-module/components/block-preview/index.js.map +7 -1
  1232. package/build-module/components/block-quick-navigation/index.js +59 -68
  1233. package/build-module/components/block-quick-navigation/index.js.map +7 -1
  1234. package/build-module/components/block-removal-warning-modal/index.js +56 -48
  1235. package/build-module/components/block-removal-warning-modal/index.js.map +7 -1
  1236. package/build-module/components/block-rename/index.js +9 -4
  1237. package/build-module/components/block-rename/index.js.map +7 -1
  1238. package/build-module/components/block-rename/is-empty-string.js +5 -2
  1239. package/build-module/components/block-rename/is-empty-string.js.map +7 -1
  1240. package/build-module/components/block-rename/modal.js +110 -94
  1241. package/build-module/components/block-rename/modal.js.map +7 -1
  1242. package/build-module/components/block-rename/rename-control.js +30 -29
  1243. package/build-module/components/block-rename/rename-control.js.map +7 -1
  1244. package/build-module/components/block-rename/use-block-rename.js +7 -7
  1245. package/build-module/components/block-rename/use-block-rename.js.map +7 -1
  1246. package/build-module/components/block-selection-clearer/index.js +33 -54
  1247. package/build-module/components/block-selection-clearer/index.js.map +7 -1
  1248. package/build-module/components/block-settings-menu/block-html-convert-button.js +28 -29
  1249. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +7 -1
  1250. package/build-module/components/block-settings-menu/block-mode-toggle.js +38 -48
  1251. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +7 -1
  1252. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +30 -35
  1253. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +7 -1
  1254. package/build-module/components/block-settings-menu/block-settings-dropdown.js +259 -226
  1255. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +7 -1
  1256. package/build-module/components/block-settings-menu/block-settings-menu-first-item.js +9 -10
  1257. package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +7 -1
  1258. package/build-module/components/block-settings-menu/index.js +21 -25
  1259. package/build-module/components/block-settings-menu/index.js.map +7 -1
  1260. package/build-module/components/block-settings-menu-controls/index.js +107 -100
  1261. package/build-module/components/block-settings-menu-controls/index.js.map +7 -1
  1262. package/build-module/components/block-styles/index.js +72 -66
  1263. package/build-module/components/block-styles/index.js.map +7 -1
  1264. package/build-module/components/block-styles/menu-items.js +31 -36
  1265. package/build-module/components/block-styles/menu-items.js.map +7 -1
  1266. package/build-module/components/block-styles/preview-panel.js +12 -18
  1267. package/build-module/components/block-styles/preview-panel.js.map +7 -1
  1268. package/build-module/components/block-styles/use-styles-for-block.js +35 -61
  1269. package/build-module/components/block-styles/use-styles-for-block.js.map +7 -1
  1270. package/build-module/components/block-styles/utils.js +28 -60
  1271. package/build-module/components/block-styles/utils.js.map +7 -1
  1272. package/build-module/components/block-switcher/block-styles-menu.js +18 -27
  1273. package/build-module/components/block-switcher/block-styles-menu.js.map +7 -1
  1274. package/build-module/components/block-switcher/block-transformations-menu.js +109 -119
  1275. package/build-module/components/block-switcher/block-transformations-menu.js.map +7 -1
  1276. package/build-module/components/block-switcher/block-variation-transformations.js +83 -76
  1277. package/build-module/components/block-switcher/block-variation-transformations.js.map +7 -1
  1278. package/build-module/components/block-switcher/index.js +223 -197
  1279. package/build-module/components/block-switcher/index.js.map +7 -1
  1280. package/build-module/components/block-switcher/pattern-transformations-menu.js +105 -91
  1281. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +7 -1
  1282. package/build-module/components/block-switcher/preview-block-popover.js +20 -32
  1283. package/build-module/components/block-switcher/preview-block-popover.js.map +7 -1
  1284. package/build-module/components/block-switcher/use-transformed-patterns.js +41 -76
  1285. package/build-module/components/block-switcher/use-transformed-patterns.js.map +7 -1
  1286. package/build-module/components/block-switcher/utils.js +15 -40
  1287. package/build-module/components/block-switcher/utils.js.map +7 -1
  1288. package/build-module/components/block-title/index.js +7 -34
  1289. package/build-module/components/block-title/index.js.map +7 -1
  1290. package/build-module/components/block-title/use-block-display-title.js +34 -57
  1291. package/build-module/components/block-title/use-block-display-title.js.map +7 -1
  1292. package/build-module/components/block-toolbar/block-name-context.js +8 -8
  1293. package/build-module/components/block-toolbar/block-name-context.js.map +7 -1
  1294. package/build-module/components/block-toolbar/block-toolbar-last-item.js +9 -10
  1295. package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +7 -1
  1296. package/build-module/components/block-toolbar/change-design.js +79 -84
  1297. package/build-module/components/block-toolbar/change-design.js.map +7 -1
  1298. package/build-module/components/block-toolbar/index.js +169 -173
  1299. package/build-module/components/block-toolbar/index.js.map +7 -1
  1300. package/build-module/components/block-toolbar/switch-section-style.js +89 -82
  1301. package/build-module/components/block-toolbar/switch-section-style.js.map +7 -1
  1302. package/build-module/components/block-toolbar/use-has-block-toolbar.js +11 -28
  1303. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +7 -1
  1304. package/build-module/components/block-toolbar/utils.js +38 -71
  1305. package/build-module/components/block-toolbar/utils.js.map +7 -1
  1306. package/build-module/components/block-tools/block-toolbar-popover.js +43 -60
  1307. package/build-module/components/block-tools/block-toolbar-popover.js.map +7 -1
  1308. package/build-module/components/block-tools/empty-block-inserter.js +35 -33
  1309. package/build-module/components/block-tools/empty-block-inserter.js.map +7 -1
  1310. package/build-module/components/block-tools/index.js +139 -103
  1311. package/build-module/components/block-tools/index.js.map +7 -1
  1312. package/build-module/components/block-tools/insertion-point.js +144 -149
  1313. package/build-module/components/block-tools/insertion-point.js.map +7 -1
  1314. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +55 -90
  1315. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +7 -1
  1316. package/build-module/components/block-tools/use-selected-block-tool-props.js +41 -48
  1317. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +7 -1
  1318. package/build-module/components/block-tools/use-show-block-tools.js +12 -27
  1319. package/build-module/components/block-tools/use-show-block-tools.js.map +7 -1
  1320. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +28 -25
  1321. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +7 -1
  1322. package/build-module/components/block-tools/zoom-out-mode-inserters.js +40 -45
  1323. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +7 -1
  1324. package/build-module/components/block-types-list/index.js +28 -28
  1325. package/build-module/components/block-types-list/index.js.map +7 -1
  1326. package/build-module/components/block-variation-picker/index.js +57 -51
  1327. package/build-module/components/block-variation-picker/index.js.map +7 -1
  1328. package/build-module/components/block-variation-transforms/index.js +134 -133
  1329. package/build-module/components/block-variation-transforms/index.js.map +7 -1
  1330. package/build-module/components/block-vertical-alignment-control/index.js +11 -21
  1331. package/build-module/components/block-vertical-alignment-control/index.js.map +7 -1
  1332. package/build-module/components/block-vertical-alignment-control/ui.js +44 -38
  1333. package/build-module/components/block-vertical-alignment-control/ui.js.map +7 -1
  1334. package/build-module/components/block-visibility/index.js +7 -3
  1335. package/build-module/components/block-visibility/index.js.map +7 -1
  1336. package/build-module/components/block-visibility/menu-item.js +81 -39
  1337. package/build-module/components/block-visibility/menu-item.js.map +7 -1
  1338. package/build-module/components/block-visibility/toolbar.js +55 -66
  1339. package/build-module/components/block-visibility/toolbar.js.map +7 -1
  1340. package/build-module/components/border-radius-control/constants.js +34 -22
  1341. package/build-module/components/border-radius-control/constants.js.map +7 -1
  1342. package/build-module/components/border-radius-control/index.js +81 -84
  1343. package/build-module/components/border-radius-control/index.js.map +7 -1
  1344. package/build-module/components/border-radius-control/linked-button.js +21 -21
  1345. package/build-module/components/border-radius-control/linked-button.js.map +7 -1
  1346. package/build-module/components/border-radius-control/single-input-control.js +168 -126
  1347. package/build-module/components/border-radius-control/single-input-control.js.map +7 -1
  1348. package/build-module/components/border-radius-control/utils.js +66 -178
  1349. package/build-module/components/border-radius-control/utils.js.map +7 -1
  1350. package/build-module/components/button-block-appender/index.js +72 -83
  1351. package/build-module/components/button-block-appender/index.js.map +7 -1
  1352. package/build-module/components/child-layout-control/index.js +305 -266
  1353. package/build-module/components/child-layout-control/index.js.map +7 -1
  1354. package/build-module/components/collab/block-comment-icon-slot.js +7 -7
  1355. package/build-module/components/collab/block-comment-icon-slot.js.map +7 -1
  1356. package/build-module/components/collab/block-comment-icon-toolbar-slot.js +9 -7
  1357. package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +7 -1
  1358. package/build-module/components/color-palette/control.js +17 -14
  1359. package/build-module/components/color-palette/control.js.map +7 -1
  1360. package/build-module/components/color-palette/index.js +7 -11
  1361. package/build-module/components/color-palette/index.js.map +7 -1
  1362. package/build-module/components/color-palette/with-color-context.js +40 -27
  1363. package/build-module/components/color-palette/with-color-context.js.map +7 -1
  1364. package/build-module/components/color-style-selector/index.js +48 -82
  1365. package/build-module/components/color-style-selector/index.js.map +7 -1
  1366. package/build-module/components/colors/index.js +14 -3
  1367. package/build-module/components/colors/index.js.map +7 -1
  1368. package/build-module/components/colors/utils.js +24 -73
  1369. package/build-module/components/colors/utils.js.map +7 -1
  1370. package/build-module/components/colors/with-colors.js +140 -188
  1371. package/build-module/components/colors/with-colors.js.map +7 -1
  1372. package/build-module/components/colors-gradients/control.js +118 -111
  1373. package/build-module/components/colors-gradients/control.js.map +7 -1
  1374. package/build-module/components/colors-gradients/dropdown.js +134 -155
  1375. package/build-module/components/colors-gradients/dropdown.js.map +7 -1
  1376. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +90 -75
  1377. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +7 -1
  1378. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +73 -36
  1379. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +7 -1
  1380. package/build-module/components/content-lock/index.js +5 -2
  1381. package/build-module/components/content-lock/index.js.map +7 -1
  1382. package/build-module/components/content-lock/modify-content-lock-menu-item.js +38 -51
  1383. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +7 -1
  1384. package/build-module/components/contrast-checker/index.js +54 -62
  1385. package/build-module/components/contrast-checker/index.js.map +7 -1
  1386. package/build-module/components/convert-to-group-buttons/index.js +53 -44
  1387. package/build-module/components/convert-to-group-buttons/index.js.map +7 -1
  1388. package/build-module/components/convert-to-group-buttons/toolbar.js +86 -97
  1389. package/build-module/components/convert-to-group-buttons/toolbar.js.map +7 -1
  1390. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +32 -58
  1391. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +7 -1
  1392. package/build-module/components/copy-handler/index.js +19 -34
  1393. package/build-module/components/copy-handler/index.js.map +7 -1
  1394. package/build-module/components/date-format-picker/index.js +126 -107
  1395. package/build-module/components/date-format-picker/index.js.map +7 -1
  1396. package/build-module/components/default-block-appender/index.js +78 -92
  1397. package/build-module/components/default-block-appender/index.js.map +7 -1
  1398. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +61 -69
  1399. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +7 -1
  1400. package/build-module/components/dimensions-tool/index.js +105 -183
  1401. package/build-module/components/dimensions-tool/index.js.map +7 -1
  1402. package/build-module/components/dimensions-tool/scale-tool.js +74 -90
  1403. package/build-module/components/dimensions-tool/scale-tool.js.map +7 -1
  1404. package/build-module/components/dimensions-tool/width-height-tool.js +69 -106
  1405. package/build-module/components/dimensions-tool/width-height-tool.js.map +7 -1
  1406. package/build-module/components/duotone/utils.js +18 -54
  1407. package/build-module/components/duotone/utils.js.map +7 -1
  1408. package/build-module/components/duotone-control/index.js +71 -64
  1409. package/build-module/components/duotone-control/index.js.map +7 -1
  1410. package/build-module/components/editable-text/index.js +11 -30
  1411. package/build-module/components/editable-text/index.js.map +7 -1
  1412. package/build-module/components/editor-styles/index.js +83 -92
  1413. package/build-module/components/editor-styles/index.js.map +7 -1
  1414. package/build-module/components/floating-toolbar/nav-up-icon.js +30 -24
  1415. package/build-module/components/floating-toolbar/nav-up-icon.js.map +7 -1
  1416. package/build-module/components/font-appearance-control/index.js +68 -110
  1417. package/build-module/components/font-appearance-control/index.js.map +7 -1
  1418. package/build-module/components/font-family/index.js +57 -61
  1419. package/build-module/components/font-family/index.js.map +7 -1
  1420. package/build-module/components/font-sizes/fluid-utils.js +60 -161
  1421. package/build-module/components/font-sizes/fluid-utils.js.map +7 -1
  1422. package/build-module/components/font-sizes/font-size-picker.js +20 -22
  1423. package/build-module/components/font-sizes/font-size-picker.js.map +7 -1
  1424. package/build-module/components/font-sizes/index.js +17 -5
  1425. package/build-module/components/font-sizes/index.js.map +7 -1
  1426. package/build-module/components/font-sizes/utils.js +16 -52
  1427. package/build-module/components/font-sizes/utils.js.map +7 -1
  1428. package/build-module/components/font-sizes/with-font-sizes.js +126 -113
  1429. package/build-module/components/font-sizes/with-font-sizes.js.map +7 -1
  1430. package/build-module/components/global-styles/advanced-panel.js +40 -45
  1431. package/build-module/components/global-styles/advanced-panel.js.map +7 -1
  1432. package/build-module/components/global-styles/background-panel.js +69 -81
  1433. package/build-module/components/global-styles/background-panel.js.map +7 -1
  1434. package/build-module/components/global-styles/border-panel.js +157 -143
  1435. package/build-module/components/global-styles/border-panel.js.map +7 -1
  1436. package/build-module/components/global-styles/color-panel.js +491 -384
  1437. package/build-module/components/global-styles/color-panel.js.map +7 -1
  1438. package/build-module/components/global-styles/context.js +13 -9
  1439. package/build-module/components/global-styles/context.js.map +7 -1
  1440. package/build-module/components/global-styles/dimensions-panel.js +400 -351
  1441. package/build-module/components/global-styles/dimensions-panel.js.map +7 -1
  1442. package/build-module/components/global-styles/filters-panel.js +136 -136
  1443. package/build-module/components/global-styles/filters-panel.js.map +7 -1
  1444. package/build-module/components/global-styles/get-block-css-selector.js +20 -73
  1445. package/build-module/components/global-styles/get-block-css-selector.js.map +7 -1
  1446. package/build-module/components/global-styles/get-global-styles-changes.js +122 -163
  1447. package/build-module/components/global-styles/get-global-styles-changes.js.map +7 -1
  1448. package/build-module/components/global-styles/hooks.js +214 -124
  1449. package/build-module/components/global-styles/hooks.js.map +7 -1
  1450. package/build-module/components/global-styles/image-settings-panel.js +45 -46
  1451. package/build-module/components/global-styles/image-settings-panel.js.map +7 -1
  1452. package/build-module/components/global-styles/index.js +73 -15
  1453. package/build-module/components/global-styles/index.js.map +7 -1
  1454. package/build-module/components/global-styles/shadow-panel-components.js +147 -154
  1455. package/build-module/components/global-styles/shadow-panel-components.js.map +7 -1
  1456. package/build-module/components/global-styles/typography-panel.js +395 -279
  1457. package/build-module/components/global-styles/typography-panel.js.map +7 -1
  1458. package/build-module/components/global-styles/typography-utils.js +73 -175
  1459. package/build-module/components/global-styles/typography-utils.js.map +7 -1
  1460. package/build-module/components/global-styles/use-global-styles-output.js +667 -733
  1461. package/build-module/components/global-styles/use-global-styles-output.js.map +7 -1
  1462. package/build-module/components/global-styles/utils.js +264 -351
  1463. package/build-module/components/global-styles/utils.js.map +7 -1
  1464. package/build-module/components/gradients/index.js +2 -2
  1465. package/build-module/components/gradients/index.js.map +7 -1
  1466. package/build-module/components/gradients/use-gradient.js +76 -79
  1467. package/build-module/components/gradients/use-gradient.js.map +7 -1
  1468. package/build-module/components/gradients/with-gradient.js +9 -14
  1469. package/build-module/components/gradients/with-gradient.js.map +7 -1
  1470. package/build-module/components/grid/grid-item-movers.js +135 -95
  1471. package/build-module/components/grid/grid-item-movers.js.map +7 -1
  1472. package/build-module/components/grid/grid-item-resizer.js +109 -99
  1473. package/build-module/components/grid/grid-item-resizer.js.map +7 -1
  1474. package/build-module/components/grid/grid-visualizer.js +238 -190
  1475. package/build-module/components/grid/grid-visualizer.js.map +7 -1
  1476. package/build-module/components/grid/index.js +11 -5
  1477. package/build-module/components/grid/index.js.map +7 -1
  1478. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js +9 -20
  1479. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js.map +7 -1
  1480. package/build-module/components/grid/use-grid-layout-sync.js +98 -109
  1481. package/build-module/components/grid/use-grid-layout-sync.js.map +7 -1
  1482. package/build-module/components/grid/utils.js +79 -75
  1483. package/build-module/components/grid/utils.js.map +7 -1
  1484. package/build-module/components/height-control/index.js +122 -190
  1485. package/build-module/components/height-control/index.js.map +7 -1
  1486. package/build-module/components/html-element-control/index.js +62 -88
  1487. package/build-module/components/html-element-control/index.js.map +7 -1
  1488. package/build-module/components/html-element-control/messages.js +36 -20
  1489. package/build-module/components/html-element-control/messages.js.map +7 -1
  1490. package/build-module/components/iframe/get-compatibility-styles.js +68 -84
  1491. package/build-module/components/iframe/get-compatibility-styles.js.map +7 -1
  1492. package/build-module/components/iframe/index.js +161 -199
  1493. package/build-module/components/iframe/index.js.map +7 -1
  1494. package/build-module/components/iframe/use-scale-canvas.js +131 -257
  1495. package/build-module/components/iframe/use-scale-canvas.js.map +7 -1
  1496. package/build-module/components/image-editor/aspect-ratio-dropdown.js +99 -101
  1497. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +7 -1
  1498. package/build-module/components/image-editor/constants.js +10 -5
  1499. package/build-module/components/image-editor/constants.js.map +7 -1
  1500. package/build-module/components/image-editor/context.js +20 -23
  1501. package/build-module/components/image-editor/context.js.map +7 -1
  1502. package/build-module/components/image-editor/cropper.js +57 -53
  1503. package/build-module/components/image-editor/cropper.js.map +7 -1
  1504. package/build-module/components/image-editor/form-controls.js +14 -28
  1505. package/build-module/components/image-editor/form-controls.js.map +7 -1
  1506. package/build-module/components/image-editor/index.js +46 -44
  1507. package/build-module/components/image-editor/index.js.map +7 -1
  1508. package/build-module/components/image-editor/rotation-button.js +20 -25
  1509. package/build-module/components/image-editor/rotation-button.js.map +7 -1
  1510. package/build-module/components/image-editor/use-save-image.js +76 -63
  1511. package/build-module/components/image-editor/use-save-image.js.map +7 -1
  1512. package/build-module/components/image-editor/use-transform-image.js +47 -35
  1513. package/build-module/components/image-editor/use-transform-image.js.map +7 -1
  1514. package/build-module/components/image-editor/zoom-dropdown.js +46 -46
  1515. package/build-module/components/image-editor/zoom-dropdown.js.map +7 -1
  1516. package/build-module/components/image-size-control/index.js +95 -97
  1517. package/build-module/components/image-size-control/index.js.map +7 -1
  1518. package/build-module/components/image-size-control/use-dimension-handler.js +21 -28
  1519. package/build-module/components/image-size-control/use-dimension-handler.js.map +7 -1
  1520. package/build-module/components/index.js +293 -125
  1521. package/build-module/components/index.js.map +7 -1
  1522. package/build-module/components/inner-blocks/button-block-appender.js +22 -25
  1523. package/build-module/components/inner-blocks/button-block-appender.js.map +7 -1
  1524. package/build-module/components/inner-blocks/default-block-appender.js +10 -14
  1525. package/build-module/components/inner-blocks/default-block-appender.js.map +7 -1
  1526. package/build-module/components/inner-blocks/index.js +131 -175
  1527. package/build-module/components/inner-blocks/index.js.map +7 -1
  1528. package/build-module/components/inner-blocks/use-block-context.js +32 -34
  1529. package/build-module/components/inner-blocks/use-block-context.js.map +7 -1
  1530. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +37 -64
  1531. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +7 -1
  1532. package/build-module/components/inner-blocks/use-nested-settings-update.js +51 -99
  1533. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +7 -1
  1534. package/build-module/components/inserter/block-patterns-explorer/index.js +49 -52
  1535. package/build-module/components/inserter/block-patterns-explorer/index.js.map +7 -1
  1536. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +45 -44
  1537. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +7 -1
  1538. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +105 -70
  1539. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +7 -1
  1540. package/build-module/components/inserter/block-patterns-tab/index.js +59 -54
  1541. package/build-module/components/inserter/block-patterns-tab/index.js.map +7 -1
  1542. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +169 -107
  1543. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +7 -1
  1544. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +132 -98
  1545. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +7 -1
  1546. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +58 -27
  1547. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +7 -1
  1548. package/build-module/components/inserter/block-patterns-tab/utils.js +31 -37
  1549. package/build-module/components/inserter/block-patterns-tab/utils.js.map +7 -1
  1550. package/build-module/components/inserter/block-types-tab.js +135 -127
  1551. package/build-module/components/inserter/block-types-tab.js.map +7 -1
  1552. package/build-module/components/inserter/category-tabs/index.js +72 -63
  1553. package/build-module/components/inserter/category-tabs/index.js.map +7 -1
  1554. package/build-module/components/inserter/hooks/use-block-types-state.js +80 -64
  1555. package/build-module/components/inserter/hooks/use-block-types-state.js.map +7 -1
  1556. package/build-module/components/inserter/hooks/use-insertion-point.js +137 -117
  1557. package/build-module/components/inserter/hooks/use-insertion-point.js.map +7 -1
  1558. package/build-module/components/inserter/hooks/use-patterns-paging.js +25 -26
  1559. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +7 -1
  1560. package/build-module/components/inserter/hooks/use-patterns-state.js +92 -79
  1561. package/build-module/components/inserter/hooks/use-patterns-state.js.map +7 -1
  1562. package/build-module/components/inserter/index.js +199 -228
  1563. package/build-module/components/inserter/index.js.map +7 -1
  1564. package/build-module/components/inserter/library.js +51 -48
  1565. package/build-module/components/inserter/library.js.map +7 -1
  1566. package/build-module/components/inserter/media-tab/hooks.js +61 -77
  1567. package/build-module/components/inserter/media-tab/hooks.js.map +7 -1
  1568. package/build-module/components/inserter/media-tab/index.js +9 -4
  1569. package/build-module/components/inserter/media-tab/index.js.map +7 -1
  1570. package/build-module/components/inserter/media-tab/media-list.js +27 -24
  1571. package/build-module/components/inserter/media-tab/media-list.js.map +7 -1
  1572. package/build-module/components/inserter/media-tab/media-panel.js +39 -45
  1573. package/build-module/components/inserter/media-tab/media-panel.js.map +7 -1
  1574. package/build-module/components/inserter/media-tab/media-preview.js +241 -227
  1575. package/build-module/components/inserter/media-tab/media-preview.js.map +7 -1
  1576. package/build-module/components/inserter/media-tab/media-tab.js +79 -77
  1577. package/build-module/components/inserter/media-tab/media-tab.js.map +7 -1
  1578. package/build-module/components/inserter/media-tab/utils.js +25 -40
  1579. package/build-module/components/inserter/media-tab/utils.js.map +7 -1
  1580. package/build-module/components/inserter/menu.js +279 -202
  1581. package/build-module/components/inserter/menu.js.map +7 -1
  1582. package/build-module/components/inserter/mobile-tab-navigation.js +74 -71
  1583. package/build-module/components/inserter/mobile-tab-navigation.js.map +7 -1
  1584. package/build-module/components/inserter/no-results.js +8 -13
  1585. package/build-module/components/inserter/no-results.js.map +7 -1
  1586. package/build-module/components/inserter/panel.js +15 -26
  1587. package/build-module/components/inserter/panel.js.map +7 -1
  1588. package/build-module/components/inserter/preview-panel.js +43 -54
  1589. package/build-module/components/inserter/preview-panel.js.map +7 -1
  1590. package/build-module/components/inserter/quick-inserter.js +85 -81
  1591. package/build-module/components/inserter/quick-inserter.js.map +7 -1
  1592. package/build-module/components/inserter/search-items.js +53 -102
  1593. package/build-module/components/inserter/search-items.js.map +7 -1
  1594. package/build-module/components/inserter/search-results.js +136 -102
  1595. package/build-module/components/inserter/search-results.js.map +7 -1
  1596. package/build-module/components/inserter/tips.js +36 -22
  1597. package/build-module/components/inserter/tips.js.map +7 -1
  1598. package/build-module/components/inserter-button/sparkles.js +12 -14
  1599. package/build-module/components/inserter-button/sparkles.js.map +7 -1
  1600. package/build-module/components/inserter-draggable-blocks/index.js +58 -68
  1601. package/build-module/components/inserter-draggable-blocks/index.js.map +7 -1
  1602. package/build-module/components/inserter-list-item/index.js +111 -93
  1603. package/build-module/components/inserter-list-item/index.js.map +7 -1
  1604. package/build-module/components/inserter-listbox/context.js +7 -7
  1605. package/build-module/components/inserter-listbox/context.js.map +7 -1
  1606. package/build-module/components/inserter-listbox/group.js +32 -25
  1607. package/build-module/components/inserter-listbox/group.js.map +7 -1
  1608. package/build-module/components/inserter-listbox/index.js +26 -31
  1609. package/build-module/components/inserter-listbox/index.js.map +7 -1
  1610. package/build-module/components/inserter-listbox/item.js +29 -42
  1611. package/build-module/components/inserter-listbox/item.js.map +7 -1
  1612. package/build-module/components/inserter-listbox/row.js +9 -13
  1613. package/build-module/components/inserter-listbox/row.js.map +7 -1
  1614. package/build-module/components/inserter-menu-extension/index.js +9 -10
  1615. package/build-module/components/inserter-menu-extension/index.js.map +7 -1
  1616. package/build-module/components/inspector-controls/block-support-slot-container.js +19 -23
  1617. package/build-module/components/inspector-controls/block-support-slot-container.js.map +7 -1
  1618. package/build-module/components/inspector-controls/block-support-tools-panel.js +54 -58
  1619. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +7 -1
  1620. package/build-module/components/inspector-controls/fill.js +46 -65
  1621. package/build-module/components/inspector-controls/fill.js.map +7 -1
  1622. package/build-module/components/inspector-controls/groups.js +29 -19
  1623. package/build-module/components/inspector-controls/groups.js.map +7 -1
  1624. package/build-module/components/inspector-controls/index.js +14 -25
  1625. package/build-module/components/inspector-controls/index.js.map +7 -1
  1626. package/build-module/components/inspector-controls/slot.js +31 -39
  1627. package/build-module/components/inspector-controls/slot.js.map +7 -1
  1628. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +33 -22
  1629. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +7 -1
  1630. package/build-module/components/inspector-controls-tabs/content-tab.js +11 -22
  1631. package/build-module/components/inspector-controls-tabs/content-tab.js.map +7 -1
  1632. package/build-module/components/inspector-controls-tabs/index.js +62 -91
  1633. package/build-module/components/inspector-controls-tabs/index.js.map +7 -1
  1634. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +64 -65
  1635. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +7 -1
  1636. package/build-module/components/inspector-controls-tabs/settings-tab.js +15 -18
  1637. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +7 -1
  1638. package/build-module/components/inspector-controls-tabs/styles-tab.js +55 -50
  1639. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +7 -1
  1640. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +32 -38
  1641. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +7 -1
  1642. package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +8 -6
  1643. package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +7 -1
  1644. package/build-module/components/inspector-controls-tabs/utils.js +25 -22
  1645. package/build-module/components/inspector-controls-tabs/utils.js.map +7 -1
  1646. package/build-module/components/inspector-popover-header/index.js +54 -42
  1647. package/build-module/components/inspector-popover-header/index.js.map +7 -1
  1648. package/build-module/components/justify-content-control/index.js +11 -21
  1649. package/build-module/components/justify-content-control/index.js.map +7 -1
  1650. package/build-module/components/justify-content-control/ui.js +69 -57
  1651. package/build-module/components/justify-content-control/ui.js.map +7 -1
  1652. package/build-module/components/keyboard-shortcuts/index.js +117 -101
  1653. package/build-module/components/keyboard-shortcuts/index.js.map +7 -1
  1654. package/build-module/components/letter-spacing-control/index.js +39 -50
  1655. package/build-module/components/letter-spacing-control/index.js.map +7 -1
  1656. package/build-module/components/line-height-control/index.js +44 -69
  1657. package/build-module/components/line-height-control/index.js.map +7 -1
  1658. package/build-module/components/line-height-control/utils.js +14 -29
  1659. package/build-module/components/line-height-control/utils.js.map +7 -1
  1660. package/build-module/components/link-control/constants.js +28 -19
  1661. package/build-module/components/link-control/constants.js.map +7 -1
  1662. package/build-module/components/link-control/index.js +297 -305
  1663. package/build-module/components/link-control/index.js.map +7 -1
  1664. package/build-module/components/link-control/is-url-like.js +12 -37
  1665. package/build-module/components/link-control/is-url-like.js.map +7 -1
  1666. package/build-module/components/link-control/link-preview.js +128 -134
  1667. package/build-module/components/link-control/link-preview.js.map +7 -1
  1668. package/build-module/components/link-control/search-create-button.js +32 -24
  1669. package/build-module/components/link-control/search-create-button.js.map +7 -1
  1670. package/build-module/components/link-control/search-input.js +122 -134
  1671. package/build-module/components/link-control/search-input.js.map +7 -1
  1672. package/build-module/components/link-control/search-item.js +78 -78
  1673. package/build-module/components/link-control/search-item.js.map +7 -1
  1674. package/build-module/components/link-control/search-results.js +67 -65
  1675. package/build-module/components/link-control/search-results.js.map +7 -1
  1676. package/build-module/components/link-control/settings-drawer.js +40 -44
  1677. package/build-module/components/link-control/settings-drawer.js.map +7 -1
  1678. package/build-module/components/link-control/settings.js +48 -30
  1679. package/build-module/components/link-control/settings.js.map +7 -1
  1680. package/build-module/components/link-control/use-create-page.js +23 -34
  1681. package/build-module/components/link-control/use-create-page.js.map +7 -1
  1682. package/build-module/components/link-control/use-internal-value.js +26 -27
  1683. package/build-module/components/link-control/use-internal-value.js.map +7 -1
  1684. package/build-module/components/link-control/use-rich-url-data.js +18 -31
  1685. package/build-module/components/link-control/use-rich-url-data.js.map +7 -1
  1686. package/build-module/components/link-control/use-search-handler.js +66 -74
  1687. package/build-module/components/link-control/use-search-handler.js.map +7 -1
  1688. package/build-module/components/link-control/viewer-slot.js +11 -11
  1689. package/build-module/components/link-control/viewer-slot.js.map +7 -1
  1690. package/build-module/components/list-view/appender.js +87 -93
  1691. package/build-module/components/list-view/appender.js.map +7 -1
  1692. package/build-module/components/list-view/aria-referenced-text.js +8 -27
  1693. package/build-module/components/list-view/aria-referenced-text.js.map +7 -1
  1694. package/build-module/components/list-view/block-contents.js +65 -72
  1695. package/build-module/components/list-view/block-contents.js.map +7 -1
  1696. package/build-module/components/list-view/block-select-button.js +119 -136
  1697. package/build-module/components/list-view/block-select-button.js.map +7 -1
  1698. package/build-module/components/list-view/block.js +358 -360
  1699. package/build-module/components/list-view/block.js.map +7 -1
  1700. package/build-module/components/list-view/branch.js +125 -139
  1701. package/build-module/components/list-view/branch.js.map +7 -1
  1702. package/build-module/components/list-view/context.js +9 -8
  1703. package/build-module/components/list-view/context.js.map +7 -1
  1704. package/build-module/components/list-view/drop-indicator.js +135 -157
  1705. package/build-module/components/list-view/drop-indicator.js.map +7 -1
  1706. package/build-module/components/list-view/expander.js +18 -22
  1707. package/build-module/components/list-view/expander.js.map +7 -1
  1708. package/build-module/components/list-view/index.js +249 -252
  1709. package/build-module/components/list-view/index.js.map +7 -1
  1710. package/build-module/components/list-view/leaf.js +45 -48
  1711. package/build-module/components/list-view/leaf.js.map +7 -1
  1712. package/build-module/components/list-view/use-block-selection.js +98 -103
  1713. package/build-module/components/list-view/use-block-selection.js.map +7 -1
  1714. package/build-module/components/list-view/use-clipboard-handler.js +48 -69
  1715. package/build-module/components/list-view/use-clipboard-handler.js.map +7 -1
  1716. package/build-module/components/list-view/use-list-view-block-indexes.js +8 -8
  1717. package/build-module/components/list-view/use-list-view-block-indexes.js.map +7 -1
  1718. package/build-module/components/list-view/use-list-view-client-ids.js +23 -28
  1719. package/build-module/components/list-view/use-list-view-client-ids.js.map +7 -1
  1720. package/build-module/components/list-view/use-list-view-collapse-items.js +13 -27
  1721. package/build-module/components/list-view/use-list-view-collapse-items.js.map +7 -1
  1722. package/build-module/components/list-view/use-list-view-drop-zone.js +157 -290
  1723. package/build-module/components/list-view/use-list-view-drop-zone.js.map +7 -1
  1724. package/build-module/components/list-view/use-list-view-expand-selected-item.js +27 -32
  1725. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +7 -1
  1726. package/build-module/components/list-view/use-list-view-images.js +25 -59
  1727. package/build-module/components/list-view/use-list-view-images.js.map +7 -1
  1728. package/build-module/components/list-view/use-list-view-scroll-into-view.js +8 -20
  1729. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +7 -1
  1730. package/build-module/components/list-view/utils.js +48 -111
  1731. package/build-module/components/list-view/utils.js.map +7 -1
  1732. package/build-module/components/media-placeholder/index.js +326 -289
  1733. package/build-module/components/media-placeholder/index.js.map +7 -1
  1734. package/build-module/components/media-replace-flow/index.js +162 -152
  1735. package/build-module/components/media-replace-flow/index.js.map +7 -1
  1736. package/build-module/components/media-upload/check.js +11 -23
  1737. package/build-module/components/media-upload/check.js.map +7 -1
  1738. package/build-module/components/media-upload/index.js +6 -18
  1739. package/build-module/components/media-upload/index.js.map +7 -1
  1740. package/build-module/components/media-upload-progress/constants.js +15 -7
  1741. package/build-module/components/media-upload-progress/constants.js.map +7 -1
  1742. package/build-module/components/multi-selection-inspector/index.js +32 -30
  1743. package/build-module/components/multi-selection-inspector/index.js.map +7 -1
  1744. package/build-module/components/navigable-toolbar/index.js +65 -86
  1745. package/build-module/components/navigable-toolbar/index.js.map +7 -1
  1746. package/build-module/components/observe-typing/index.js +129 -207
  1747. package/build-module/components/observe-typing/index.js.map +7 -1
  1748. package/build-module/components/panel-color-settings/index.js +19 -23
  1749. package/build-module/components/panel-color-settings/index.js.map +7 -1
  1750. package/build-module/components/plain-text/index.js +22 -75
  1751. package/build-module/components/plain-text/index.js.map +7 -1
  1752. package/build-module/components/preview-options/index.js +8 -8
  1753. package/build-module/components/preview-options/index.js.map +7 -1
  1754. package/build-module/components/provider/block-refs-provider.js +13 -21
  1755. package/build-module/components/provider/block-refs-provider.js.map +7 -1
  1756. package/build-module/components/provider/index.js +80 -91
  1757. package/build-module/components/provider/index.js.map +7 -1
  1758. package/build-module/components/provider/use-block-sync.js +27 -136
  1759. package/build-module/components/provider/use-block-sync.js.map +7 -1
  1760. package/build-module/components/provider/use-media-upload-settings.js +15 -20
  1761. package/build-module/components/provider/use-media-upload-settings.js.map +7 -1
  1762. package/build-module/components/provider/with-registry-provider.js +27 -36
  1763. package/build-module/components/provider/with-registry-provider.js.map +7 -1
  1764. package/build-module/components/publish-date-time-picker/index.js +42 -39
  1765. package/build-module/components/publish-date-time-picker/index.js.map +7 -1
  1766. package/build-module/components/recursion-provider/index.js +31 -81
  1767. package/build-module/components/recursion-provider/index.js.map +7 -1
  1768. package/build-module/components/resizable-box-popover/index.js +17 -20
  1769. package/build-module/components/resizable-box-popover/index.js.map +7 -1
  1770. package/build-module/components/resolution-tool/index.js +53 -39
  1771. package/build-module/components/resolution-tool/index.js.map +7 -1
  1772. package/build-module/components/responsive-block-control/index.js +86 -66
  1773. package/build-module/components/responsive-block-control/index.js.map +7 -1
  1774. package/build-module/components/responsive-block-control/label.js +22 -21
  1775. package/build-module/components/responsive-block-control/label.js.map +7 -1
  1776. package/build-module/components/rich-text/content.js +22 -40
  1777. package/build-module/components/rich-text/content.js.map +7 -1
  1778. package/build-module/components/rich-text/event-listeners/before-input-rules.js +23 -52
  1779. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +7 -1
  1780. package/build-module/components/rich-text/event-listeners/delete.js +13 -31
  1781. package/build-module/components/rich-text/event-listeners/delete.js.map +7 -1
  1782. package/build-module/components/rich-text/event-listeners/enter.js +22 -38
  1783. package/build-module/components/rich-text/event-listeners/enter.js.map +7 -1
  1784. package/build-module/components/rich-text/event-listeners/firefox-compat.js +12 -18
  1785. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +7 -1
  1786. package/build-module/components/rich-text/event-listeners/index.js +47 -33
  1787. package/build-module/components/rich-text/event-listeners/index.js.map +7 -1
  1788. package/build-module/components/rich-text/event-listeners/input-events.js +8 -7
  1789. package/build-module/components/rich-text/event-listeners/input-events.js.map +7 -1
  1790. package/build-module/components/rich-text/event-listeners/input-rules.js +46 -64
  1791. package/build-module/components/rich-text/event-listeners/input-rules.js.map +7 -1
  1792. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +10 -19
  1793. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +7 -1
  1794. package/build-module/components/rich-text/event-listeners/paste-handler.js +36 -65
  1795. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +7 -1
  1796. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +9 -14
  1797. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +7 -1
  1798. package/build-module/components/rich-text/event-listeners/shortcuts.js +8 -7
  1799. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +7 -1
  1800. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +13 -26
  1801. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +7 -1
  1802. package/build-module/components/rich-text/format-edit.js +36 -46
  1803. package/build-module/components/rich-text/format-edit.js.map +7 -1
  1804. package/build-module/components/rich-text/format-toolbar/index.js +51 -55
  1805. package/build-module/components/rich-text/format-toolbar/index.js.map +7 -1
  1806. package/build-module/components/rich-text/format-toolbar-container.js +33 -46
  1807. package/build-module/components/rich-text/format-toolbar-container.js.map +7 -1
  1808. package/build-module/components/rich-text/get-rich-text-values.js +37 -43
  1809. package/build-module/components/rich-text/get-rich-text-values.js.map +7 -1
  1810. package/build-module/components/rich-text/index.js +298 -303
  1811. package/build-module/components/rich-text/index.js.map +7 -1
  1812. package/build-module/components/rich-text/input-event.js +7 -14
  1813. package/build-module/components/rich-text/input-event.js.map +7 -1
  1814. package/build-module/components/rich-text/multiline.js +74 -68
  1815. package/build-module/components/rich-text/multiline.js.map +7 -1
  1816. package/build-module/components/rich-text/native/format-edit.js +25 -24
  1817. package/build-module/components/rich-text/native/format-edit.js.map +7 -1
  1818. package/build-module/components/rich-text/native/index.js +6 -2
  1819. package/build-module/components/rich-text/native/index.js.map +7 -1
  1820. package/build-module/components/rich-text/native/use-format-types.js +64 -55
  1821. package/build-module/components/rich-text/native/use-format-types.js.map +7 -1
  1822. package/build-module/components/rich-text/prevent-event-discovery.js +9 -12
  1823. package/build-module/components/rich-text/prevent-event-discovery.js.map +7 -1
  1824. package/build-module/components/rich-text/shortcut.js +8 -16
  1825. package/build-module/components/rich-text/shortcut.js.map +7 -1
  1826. package/build-module/components/rich-text/toolbar-button.js +10 -16
  1827. package/build-module/components/rich-text/toolbar-button.js.map +7 -1
  1828. package/build-module/components/rich-text/use-format-types.js +102 -82
  1829. package/build-module/components/rich-text/use-format-types.js.map +7 -1
  1830. package/build-module/components/rich-text/use-mark-persistent.js +10 -25
  1831. package/build-module/components/rich-text/use-mark-persistent.js.map +7 -1
  1832. package/build-module/components/rich-text/utils.js +24 -40
  1833. package/build-module/components/rich-text/utils.js.map +7 -1
  1834. package/build-module/components/rich-text/with-deprecations.js +30 -29
  1835. package/build-module/components/rich-text/with-deprecations.js.map +7 -1
  1836. package/build-module/components/selection-scroll-into-view/index.js +9 -16
  1837. package/build-module/components/selection-scroll-into-view/index.js.map +7 -1
  1838. package/build-module/components/skip-to-selected-block/index.js +26 -28
  1839. package/build-module/components/skip-to-selected-block/index.js.map +7 -1
  1840. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -34
  1841. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +7 -1
  1842. package/build-module/components/spacing-sizes-control/index.js +65 -101
  1843. package/build-module/components/spacing-sizes-control/index.js.map +7 -1
  1844. package/build-module/components/spacing-sizes-control/input-controls/axial.js +37 -31
  1845. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +7 -1
  1846. package/build-module/components/spacing-sizes-control/input-controls/separated.js +33 -25
  1847. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +7 -1
  1848. package/build-module/components/spacing-sizes-control/input-controls/single.js +29 -24
  1849. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +7 -1
  1850. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +230 -263
  1851. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +7 -1
  1852. package/build-module/components/spacing-sizes-control/linked-button.js +20 -20
  1853. package/build-module/components/spacing-sizes-control/linked-button.js.map +7 -1
  1854. package/build-module/components/spacing-sizes-control/utils.js +85 -167
  1855. package/build-module/components/spacing-sizes-control/utils.js.map +7 -1
  1856. package/build-module/components/tabbed-sidebar/index.js +62 -94
  1857. package/build-module/components/tabbed-sidebar/index.js.map +7 -1
  1858. package/build-module/components/text-alignment-control/index.js +76 -64
  1859. package/build-module/components/text-alignment-control/index.js.map +7 -1
  1860. package/build-module/components/text-decoration-control/index.js +58 -56
  1861. package/build-module/components/text-decoration-control/index.js.map +7 -1
  1862. package/build-module/components/text-transform-control/index.js +68 -64
  1863. package/build-module/components/text-transform-control/index.js.map +7 -1
  1864. package/build-module/components/typewriter/index.js +152 -206
  1865. package/build-module/components/typewriter/index.js.map +7 -1
  1866. package/build-module/components/unit-control/index.js +14 -21
  1867. package/build-module/components/unit-control/index.js.map +7 -1
  1868. package/build-module/components/url-input/button.js +68 -70
  1869. package/build-module/components/url-input/button.js.map +7 -1
  1870. package/build-module/components/url-input/index.js +191 -239
  1871. package/build-module/components/url-input/index.js.map +7 -1
  1872. package/build-module/components/url-popover/image-url-input-ui.js +232 -186
  1873. package/build-module/components/url-popover/image-url-input-ui.js.map +7 -1
  1874. package/build-module/components/url-popover/index.js +87 -93
  1875. package/build-module/components/url-popover/index.js.map +7 -1
  1876. package/build-module/components/url-popover/link-editor.js +40 -33
  1877. package/build-module/components/url-popover/link-editor.js.map +7 -1
  1878. package/build-module/components/url-popover/link-viewer-url.js +15 -26
  1879. package/build-module/components/url-popover/link-viewer-url.js.map +7 -1
  1880. package/build-module/components/url-popover/link-viewer.js +40 -33
  1881. package/build-module/components/url-popover/link-viewer.js.map +7 -1
  1882. package/build-module/components/use-block-commands/index.js +151 -133
  1883. package/build-module/components/use-block-commands/index.js.map +7 -1
  1884. package/build-module/components/use-block-display-information/index.js +62 -102
  1885. package/build-module/components/use-block-display-information/index.js.map +7 -1
  1886. package/build-module/components/use-block-drop-zone/index.js +277 -301
  1887. package/build-module/components/use-block-drop-zone/index.js.map +7 -1
  1888. package/build-module/components/use-flash-editable-blocks/index.js +45 -48
  1889. package/build-module/components/use-flash-editable-blocks/index.js.map +7 -1
  1890. package/build-module/components/use-moving-animation/index.js +43 -102
  1891. package/build-module/components/use-moving-animation/index.js.map +7 -1
  1892. package/build-module/components/use-on-block-drop/index.js +184 -173
  1893. package/build-module/components/use-on-block-drop/index.js.map +7 -1
  1894. package/build-module/components/use-on-block-drop/types.js +1 -2
  1895. package/build-module/components/use-on-block-drop/types.js.map +7 -1
  1896. package/build-module/components/use-paste-styles/index.js +127 -127
  1897. package/build-module/components/use-paste-styles/index.js.map +7 -1
  1898. package/build-module/components/use-resize-canvas/index.js +19 -27
  1899. package/build-module/components/use-resize-canvas/index.js.map +7 -1
  1900. package/build-module/components/use-settings/index.js +24 -53
  1901. package/build-module/components/use-settings/index.js.map +7 -1
  1902. package/build-module/components/warning/index.js +45 -59
  1903. package/build-module/components/warning/index.js.map +7 -1
  1904. package/build-module/components/writing-flow/index.js +79 -65
  1905. package/build-module/components/writing-flow/index.js.map +7 -1
  1906. package/build-module/components/writing-flow/use-arrow-nav.js +89 -136
  1907. package/build-module/components/writing-flow/use-arrow-nav.js.map +7 -1
  1908. package/build-module/components/writing-flow/use-click-selection.js +38 -51
  1909. package/build-module/components/writing-flow/use-click-selection.js.map +7 -1
  1910. package/build-module/components/writing-flow/use-clipboard-handler.js +68 -76
  1911. package/build-module/components/writing-flow/use-clipboard-handler.js.map +7 -1
  1912. package/build-module/components/writing-flow/use-drag-selection.js +81 -145
  1913. package/build-module/components/writing-flow/use-drag-selection.js.map +7 -1
  1914. package/build-module/components/writing-flow/use-input.js +54 -52
  1915. package/build-module/components/writing-flow/use-input.js.map +7 -1
  1916. package/build-module/components/writing-flow/use-multi-selection.js +38 -55
  1917. package/build-module/components/writing-flow/use-multi-selection.js.map +7 -1
  1918. package/build-module/components/writing-flow/use-select-all.js +20 -31
  1919. package/build-module/components/writing-flow/use-select-all.js.map +7 -1
  1920. package/build-module/components/writing-flow/use-selection-observer.js +118 -184
  1921. package/build-module/components/writing-flow/use-selection-observer.js.map +7 -1
  1922. package/build-module/components/writing-flow/use-tab-nav.js +68 -131
  1923. package/build-module/components/writing-flow/use-tab-nav.js.map +7 -1
  1924. package/build-module/components/writing-flow/utils.js +40 -62
  1925. package/build-module/components/writing-flow/utils.js.map +7 -1
  1926. package/build-module/components/writing-mode-control/index.js +50 -56
  1927. package/build-module/components/writing-mode-control/index.js.map +7 -1
  1928. package/build-module/elements/index.js +8 -5
  1929. package/build-module/elements/index.js.map +7 -1
  1930. package/build-module/hooks/align.js +71 -125
  1931. package/build-module/hooks/align.js.map +7 -1
  1932. package/build-module/hooks/allowed-blocks.js +50 -0
  1933. package/build-module/hooks/allowed-blocks.js.map +7 -0
  1934. package/build-module/hooks/anchor.js +58 -84
  1935. package/build-module/hooks/anchor.js.map +7 -1
  1936. package/build-module/hooks/aria-label.js +22 -39
  1937. package/build-module/hooks/aria-label.js.map +7 -1
  1938. package/build-module/hooks/background.js +80 -100
  1939. package/build-module/hooks/background.js.map +7 -1
  1940. package/build-module/hooks/block-bindings.js +370 -245
  1941. package/build-module/hooks/block-bindings.js.map +7 -1
  1942. package/build-module/hooks/block-hooks.js +153 -158
  1943. package/build-module/hooks/block-hooks.js.map +7 -1
  1944. package/build-module/hooks/block-renaming.js +20 -29
  1945. package/build-module/hooks/block-renaming.js.map +7 -1
  1946. package/build-module/hooks/block-style-variation.js +127 -167
  1947. package/build-module/hooks/block-style-variation.js.map +7 -1
  1948. package/build-module/hooks/border.js +143 -231
  1949. package/build-module/hooks/border.js.map +7 -1
  1950. package/build-module/hooks/color.js +182 -174
  1951. package/build-module/hooks/color.js.map +7 -1
  1952. package/build-module/hooks/compat.js +10 -11
  1953. package/build-module/hooks/compat.js.map +7 -1
  1954. package/build-module/hooks/content-lock-ui.js +32 -53
  1955. package/build-module/hooks/content-lock-ui.js.map +7 -1
  1956. package/build-module/hooks/contrast-checker.js +36 -37
  1957. package/build-module/hooks/contrast-checker.js.map +7 -1
  1958. package/build-module/hooks/custom-class-name.js +52 -82
  1959. package/build-module/hooks/custom-class-name.js.map +7 -1
  1960. package/build-module/hooks/dimensions.js +113 -126
  1961. package/build-module/hooks/dimensions.js.map +7 -1
  1962. package/build-module/hooks/duotone.js +148 -178
  1963. package/build-module/hooks/duotone.js.map +7 -1
  1964. package/build-module/hooks/fit-text.js +174 -0
  1965. package/build-module/hooks/fit-text.js.map +7 -0
  1966. package/build-module/hooks/font-family.js +33 -68
  1967. package/build-module/hooks/font-family.js.map +7 -1
  1968. package/build-module/hooks/font-size.js +102 -111
  1969. package/build-module/hooks/font-size.js.map +7 -1
  1970. package/build-module/hooks/gap.js +9 -25
  1971. package/build-module/hooks/gap.js.map +7 -1
  1972. package/build-module/hooks/generated-class-name.js +20 -28
  1973. package/build-module/hooks/generated-class-name.js.map +7 -1
  1974. package/build-module/hooks/grid-visualizer.js +50 -57
  1975. package/build-module/hooks/grid-visualizer.js.map +7 -1
  1976. package/build-module/hooks/index.js +113 -48
  1977. package/build-module/hooks/index.js.map +7 -1
  1978. package/build-module/hooks/layout-child.js +109 -132
  1979. package/build-module/hooks/layout-child.js.map +7 -1
  1980. package/build-module/hooks/layout.js +229 -283
  1981. package/build-module/hooks/layout.js.map +7 -1
  1982. package/build-module/hooks/line-height.js +27 -47
  1983. package/build-module/hooks/line-height.js.map +7 -1
  1984. package/build-module/hooks/lock.js +9 -20
  1985. package/build-module/hooks/lock.js.map +7 -1
  1986. package/build-module/hooks/metadata.js +13 -19
  1987. package/build-module/hooks/metadata.js.map +7 -1
  1988. package/build-module/hooks/position.js +123 -221
  1989. package/build-module/hooks/position.js.map +7 -1
  1990. package/build-module/hooks/settings.js +10 -11
  1991. package/build-module/hooks/settings.js.map +7 -1
  1992. package/build-module/hooks/spacing-visualizer.js +69 -75
  1993. package/build-module/hooks/spacing-visualizer.js.map +7 -1
  1994. package/build-module/hooks/style.js +145 -271
  1995. package/build-module/hooks/style.js.map +7 -1
  1996. package/build-module/hooks/supports.js +95 -253
  1997. package/build-module/hooks/supports.js.map +7 -1
  1998. package/build-module/hooks/text-align.js +77 -89
  1999. package/build-module/hooks/text-align.js.map +7 -1
  2000. package/build-module/hooks/typography.js +105 -94
  2001. package/build-module/hooks/typography.js.map +7 -1
  2002. package/build-module/hooks/use-border-props.js +14 -46
  2003. package/build-module/hooks/use-border-props.js.map +7 -1
  2004. package/build-module/hooks/use-cached-truthy.js +6 -13
  2005. package/build-module/hooks/use-cached-truthy.js.map +7 -1
  2006. package/build-module/hooks/use-color-props.js +74 -83
  2007. package/build-module/hooks/use-color-props.js.map +7 -1
  2008. package/build-module/hooks/use-shadow-props.js +8 -22
  2009. package/build-module/hooks/use-shadow-props.js.map +7 -1
  2010. package/build-module/hooks/use-spacing-props.js +8 -27
  2011. package/build-module/hooks/use-spacing-props.js.map +7 -1
  2012. package/build-module/hooks/use-typography-props.js +24 -46
  2013. package/build-module/hooks/use-typography-props.js.map +7 -1
  2014. package/build-module/hooks/use-zoom-out.js +15 -49
  2015. package/build-module/hooks/use-zoom-out.js.map +7 -1
  2016. package/build-module/hooks/utils.js +384 -235
  2017. package/build-module/hooks/utils.js.map +7 -1
  2018. package/build-module/index.js +38 -12
  2019. package/build-module/index.js.map +7 -1
  2020. package/build-module/layouts/constrained.js +200 -201
  2021. package/build-module/layouts/constrained.js.map +7 -1
  2022. package/build-module/layouts/definitions.js +166 -140
  2023. package/build-module/layouts/definitions.js.map +7 -1
  2024. package/build-module/layouts/flex.js +246 -231
  2025. package/build-module/layouts/flex.js.map +7 -1
  2026. package/build-module/layouts/flow.js +36 -53
  2027. package/build-module/layouts/flow.js.map +7 -1
  2028. package/build-module/layouts/grid.js +237 -243
  2029. package/build-module/layouts/grid.js.map +7 -1
  2030. package/build-module/layouts/index.js +12 -24
  2031. package/build-module/layouts/index.js.map +7 -1
  2032. package/build-module/layouts/utils.js +28 -65
  2033. package/build-module/layouts/utils.js.map +7 -1
  2034. package/build-module/lock-unlock.js +8 -7
  2035. package/build-module/lock-unlock.js.map +7 -1
  2036. package/build-module/private-apis.js +63 -44
  2037. package/build-module/private-apis.js.map +7 -1
  2038. package/build-module/store/actions.js +536 -1191
  2039. package/build-module/store/actions.js.map +7 -1
  2040. package/build-module/store/array.js +17 -25
  2041. package/build-module/store/array.js.map +7 -1
  2042. package/build-module/store/constants.js +5 -2
  2043. package/build-module/store/constants.js.map +7 -1
  2044. package/build-module/store/defaults.js +168 -197
  2045. package/build-module/store/defaults.js.map +7 -1
  2046. package/build-module/store/get-block-settings.js +83 -88
  2047. package/build-module/store/get-block-settings.js.map +7 -1
  2048. package/build-module/store/index.js +17 -43
  2049. package/build-module/store/index.js.map +7 -1
  2050. package/build-module/store/private-actions.js +121 -310
  2051. package/build-module/store/private-actions.js.map +7 -1
  2052. package/build-module/store/private-keys.js +17 -8
  2053. package/build-module/store/private-keys.js.map +7 -1
  2054. package/build-module/store/private-selectors.js +282 -442
  2055. package/build-module/store/private-selectors.js.map +7 -1
  2056. package/build-module/store/reducer.js +1102 -1801
  2057. package/build-module/store/reducer.js.map +7 -1
  2058. package/build-module/store/selectors.js +1135 -2151
  2059. package/build-module/store/selectors.js.map +7 -1
  2060. package/build-module/store/utils.js +60 -42
  2061. package/build-module/store/utils.js.map +7 -1
  2062. package/build-module/utils/block-bindings.js +25 -175
  2063. package/build-module/utils/block-bindings.js.map +7 -1
  2064. package/build-module/utils/dom.js +36 -101
  2065. package/build-module/utils/dom.js.map +7 -1
  2066. package/build-module/utils/fit-text-frontend.js +40 -0
  2067. package/build-module/utils/fit-text-frontend.js.map +7 -0
  2068. package/build-module/utils/fit-text-utils.js +39 -0
  2069. package/build-module/utils/fit-text-utils.js.map +7 -0
  2070. package/build-module/utils/format-font-style.js +14 -24
  2071. package/build-module/utils/format-font-style.js.map +7 -1
  2072. package/build-module/utils/format-font-weight.js +30 -40
  2073. package/build-module/utils/format-font-weight.js.map +7 -1
  2074. package/build-module/utils/get-editor-region.js +10 -22
  2075. package/build-module/utils/get-editor-region.js.map +7 -1
  2076. package/build-module/utils/get-font-styles-and-weights.js +90 -101
  2077. package/build-module/utils/get-font-styles-and-weights.js.map +7 -1
  2078. package/build-module/utils/get-px-from-css-unit.js +5 -9
  2079. package/build-module/utils/get-px-from-css-unit.js.map +7 -1
  2080. package/build-module/utils/index.js +9 -4
  2081. package/build-module/utils/index.js.map +7 -1
  2082. package/build-module/utils/math.js +18 -78
  2083. package/build-module/utils/math.js.map +7 -1
  2084. package/build-module/utils/object.js +16 -53
  2085. package/build-module/utils/object.js.map +7 -1
  2086. package/build-module/utils/order-inserter-block-items.js +6 -18
  2087. package/build-module/utils/order-inserter-block-items.js.map +7 -1
  2088. package/build-module/utils/pasting.js +17 -79
  2089. package/build-module/utils/pasting.js.map +7 -1
  2090. package/build-module/utils/selection.js +13 -25
  2091. package/build-module/utils/selection.js.map +7 -1
  2092. package/build-module/utils/sorting.js +10 -29
  2093. package/build-module/utils/sorting.js.map +7 -1
  2094. package/build-module/utils/transform-styles/index.js +72 -136
  2095. package/build-module/utils/transform-styles/index.js.map +7 -1
  2096. package/build-module/utils/use-notify-copy.js +58 -49
  2097. package/build-module/utils/use-notify-copy.js.map +7 -1
  2098. package/build-style/content-rtl.css +64 -192
  2099. package/build-style/content.css +64 -192
  2100. package/build-style/default-editor-styles-rtl.css +3 -197
  2101. package/build-style/default-editor-styles.css +3 -197
  2102. package/build-style/style-rtl.css +140 -290
  2103. package/build-style/style.css +140 -290
  2104. package/package.json +56 -36
  2105. package/src/autocompleters/style.scss +2 -0
  2106. package/src/components/background-image-control/style.scss +4 -0
  2107. package/src/components/block-allowed-blocks/allowed-blocks-control.js +80 -0
  2108. package/src/components/block-allowed-blocks/index.js +2 -0
  2109. package/src/components/block-allowed-blocks/modal.js +100 -0
  2110. package/src/components/block-allowed-blocks/style.scss +27 -0
  2111. package/src/components/block-breadcrumb/style.scss +3 -0
  2112. package/src/components/block-canvas/style.scss +8 -1
  2113. package/src/components/block-card/index.js +37 -30
  2114. package/src/components/block-card/style.scss +3 -0
  2115. package/src/components/block-compare/style.scss +4 -0
  2116. package/src/components/block-draggable/content.scss +3 -2
  2117. package/src/components/block-draggable/style.scss +3 -0
  2118. package/src/components/block-icon/content.scss +7 -0
  2119. package/src/components/block-icon/style.scss +7 -0
  2120. package/src/components/block-inspector/index.js +27 -3
  2121. package/src/components/block-inspector/style.scss +3 -0
  2122. package/src/components/block-list/content.scss +19 -9
  2123. package/src/components/block-list/index.js +11 -6
  2124. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +132 -34
  2125. package/src/components/block-list-appender/content.scss +2 -0
  2126. package/src/components/block-lock/style.scss +4 -0
  2127. package/src/components/block-manager/index.js +32 -28
  2128. package/src/components/block-manager/style.scss +4 -26
  2129. package/src/components/block-mover/style.scss +3 -0
  2130. package/src/components/block-navigation/style.scss +3 -0
  2131. package/src/components/block-pattern-setup/style.scss +5 -0
  2132. package/src/components/block-patterns-list/style.scss +3 -0
  2133. package/src/components/block-patterns-paging/style.scss +3 -0
  2134. package/src/components/block-popover/style.scss +2 -0
  2135. package/src/components/block-rename/modal.js +3 -2
  2136. package/src/components/block-rename/style.scss +2 -0
  2137. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -9
  2138. package/src/components/block-styles/style.scss +5 -0
  2139. package/src/components/block-switcher/style.scss +3 -0
  2140. package/src/components/block-toolbar/index.js +2 -14
  2141. package/src/components/block-toolbar/style.scss +5 -1
  2142. package/src/components/block-tools/index.js +46 -1
  2143. package/src/components/block-tools/style.scss +4 -45
  2144. package/src/components/block-tools/use-show-block-tools.js +1 -8
  2145. package/src/components/block-variation-picker/content.scss +3 -0
  2146. package/src/components/block-variation-transforms/style.scss +3 -0
  2147. package/src/components/block-visibility/menu-item.js +45 -2
  2148. package/src/components/border-radius-control/style.scss +2 -0
  2149. package/src/components/button-block-appender/content.scss +3 -0
  2150. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  2151. package/src/components/colors-gradients/style.scss +4 -0
  2152. package/src/components/date-format-picker/style.scss +3 -0
  2153. package/src/components/default-block-appender/content.scss +4 -0
  2154. package/src/components/duotone-control/style.scss +4 -0
  2155. package/src/components/font-appearance-control/style.scss +2 -0
  2156. package/src/components/font-family/style.scss +2 -0
  2157. package/src/components/global-styles/color-panel.js +2 -0
  2158. package/src/components/global-styles/get-global-styles-changes.js +2 -0
  2159. package/src/components/global-styles/style.scss +3 -0
  2160. package/src/components/grid/style.scss +5 -0
  2161. package/src/components/iframe/content.scss +8 -1
  2162. package/src/components/iframe/style.scss +7 -0
  2163. package/src/components/index.js +0 -1
  2164. package/src/components/inserter/style.scss +6 -5
  2165. package/src/components/inserter-list-item/style.scss +2 -0
  2166. package/src/components/inspector-controls/groups.js +5 -0
  2167. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +7 -1
  2168. package/src/components/inspector-popover-header/style.scss +2 -0
  2169. package/src/components/keyboard-shortcuts/index.js +10 -0
  2170. package/src/components/link-control/index.js +118 -16
  2171. package/src/components/link-control/link-preview.js +9 -2
  2172. package/src/components/link-control/search-input.js +3 -1
  2173. package/src/components/link-control/settings.js +38 -11
  2174. package/src/components/link-control/style.scss +20 -3
  2175. package/src/components/link-control/test/index.js +511 -1
  2176. package/src/components/list-view/block.js +32 -0
  2177. package/src/components/list-view/style.scss +5 -0
  2178. package/src/components/media-placeholder/style.scss +2 -0
  2179. package/src/components/media-replace-flow/style.scss +3 -0
  2180. package/src/components/multi-selection-inspector/style.scss +2 -0
  2181. package/src/components/responsive-block-control/style.scss +3 -0
  2182. package/src/components/rich-text/content.scss +2 -0
  2183. package/src/components/rich-text/index.js +18 -17
  2184. package/src/components/rich-text/style.scss +3 -0
  2185. package/src/components/skip-to-selected-block/style.scss +2 -0
  2186. package/src/components/spacing-sizes-control/style.scss +2 -0
  2187. package/src/components/tabbed-sidebar/style.scss +3 -0
  2188. package/src/components/url-input/index.js +8 -4
  2189. package/src/components/url-input/style.scss +4 -0
  2190. package/src/components/url-popover/link-viewer.js +2 -2
  2191. package/src/components/url-popover/style.scss +3 -0
  2192. package/src/components/use-block-commands/index.js +40 -0
  2193. package/src/components/warning/content.scss +4 -0
  2194. package/src/content.scss +16 -14
  2195. package/src/default-editor-styles.scss +1 -0
  2196. package/src/hooks/allowed-blocks.js +74 -0
  2197. package/src/hooks/block-bindings.js +399 -200
  2198. package/src/hooks/block-hooks.scss +3 -0
  2199. package/src/hooks/color.scss +2 -0
  2200. package/src/hooks/fit-text.js +268 -0
  2201. package/src/hooks/index.js +6 -0
  2202. package/src/hooks/layout.scss +3 -0
  2203. package/src/hooks/typography.js +2 -0
  2204. package/src/private-apis.js +6 -1
  2205. package/src/store/actions.js +2 -15
  2206. package/src/store/private-actions.js +15 -0
  2207. package/src/store/private-selectors.js +13 -14
  2208. package/src/store/reducer.js +81 -265
  2209. package/src/store/selectors.js +2 -44
  2210. package/src/store/test/private-selectors.js +2 -9
  2211. package/src/store/test/reducer.js +1 -345
  2212. package/src/store/test/selectors.js +3 -1
  2213. package/src/store/utils.js +11 -12
  2214. package/src/style.scss +64 -62
  2215. package/src/utils/fit-text-frontend.js +84 -0
  2216. package/src/utils/fit-text-utils.js +75 -0
  2217. package/build/components/audio-player/audio-url-parser.native.js +0 -24
  2218. package/build/components/audio-player/audio-url-parser.native.js.map +0 -1
  2219. package/build/components/audio-player/index.native.js +0 -174
  2220. package/build/components/audio-player/index.native.js.map +0 -1
  2221. package/build/components/block-alignment-control/ui.native.js +0 -80
  2222. package/build/components/block-alignment-control/ui.native.js.map +0 -1
  2223. package/build/components/block-caption/index.native.js +0 -95
  2224. package/build/components/block-caption/index.native.js.map +0 -1
  2225. package/build/components/block-controls/slot.native.js +0 -46
  2226. package/build/components/block-controls/slot.native.js.map +0 -1
  2227. package/build/components/block-draggable/draggable-chip.native.js +0 -58
  2228. package/build/components/block-draggable/draggable-chip.native.js.map +0 -1
  2229. package/build/components/block-draggable/dropping-insertion-point.native.js +0 -134
  2230. package/build/components/block-draggable/dropping-insertion-point.native.js.map +0 -1
  2231. package/build/components/block-draggable/index.native.js +0 -432
  2232. package/build/components/block-draggable/index.native.js.map +0 -1
  2233. package/build/components/block-draggable/use-scroll-when-dragging.native.js +0 -118
  2234. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +0 -1
  2235. package/build/components/block-edit/edit.native.js +0 -51
  2236. package/build/components/block-edit/edit.native.js.map +0 -1
  2237. package/build/components/block-heading-level-dropdown/index.native.js +0 -68
  2238. package/build/components/block-heading-level-dropdown/index.native.js.map +0 -1
  2239. package/build/components/block-icon/index.native.js +0 -56
  2240. package/build/components/block-icon/index.native.js.map +0 -1
  2241. package/build/components/block-list/block-crash-boundary.native.js +0 -49
  2242. package/build/components/block-list/block-crash-boundary.native.js.map +0 -1
  2243. package/build/components/block-list/block-crash-warning.native.js +0 -24
  2244. package/build/components/block-list/block-crash-warning.native.js.map +0 -1
  2245. package/build/components/block-list/block-invalid-warning.native.js +0 -79
  2246. package/build/components/block-list/block-invalid-warning.native.js.map +0 -1
  2247. package/build/components/block-list/block-list-context.native.js +0 -170
  2248. package/build/components/block-list/block-list-context.native.js.map +0 -1
  2249. package/build/components/block-list/block-list-item-cell.native.js +0 -74
  2250. package/build/components/block-list/block-list-item-cell.native.js.map +0 -1
  2251. package/build/components/block-list/block-list-item.native.js +0 -191
  2252. package/build/components/block-list/block-list-item.native.js.map +0 -1
  2253. package/build/components/block-list/block-outline.native.js +0 -61
  2254. package/build/components/block-list/block-outline.native.js.map +0 -1
  2255. package/build/components/block-list/block-selection-button.native.js +0 -98
  2256. package/build/components/block-list/block-selection-button.native.js.map +0 -1
  2257. package/build/components/block-list/block.native.js +0 -538
  2258. package/build/components/block-list/block.native.js.map +0 -1
  2259. package/build/components/block-list/grid-item.native.js +0 -63
  2260. package/build/components/block-list/grid-item.native.js.map +0 -1
  2261. package/build/components/block-list/index.native.js +0 -351
  2262. package/build/components/block-list/index.native.js.map +0 -1
  2263. package/build/components/block-list/insertion-point.native.js +0 -45
  2264. package/build/components/block-list/insertion-point.native.js.map +0 -1
  2265. package/build/components/block-list/use-block-props/index.native.js +0 -24
  2266. package/build/components/block-list/use-block-props/index.native.js.map +0 -1
  2267. package/build/components/block-list/use-scroll-upon-insertion.native.js +0 -40
  2268. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +0 -1
  2269. package/build/components/block-list-appender/index.native.js +0 -69
  2270. package/build/components/block-list-appender/index.native.js.map +0 -1
  2271. package/build/components/block-media-update-progress/index.native.js +0 -287
  2272. package/build/components/block-media-update-progress/index.native.js.map +0 -1
  2273. package/build/components/block-mover/index.native.js +0 -173
  2274. package/build/components/block-mover/index.native.js.map +0 -1
  2275. package/build/components/block-mover/mover-description.native.js +0 -130
  2276. package/build/components/block-mover/mover-description.native.js.map +0 -1
  2277. package/build/components/block-settings/button.native.js +0 -44
  2278. package/build/components/block-settings/button.native.js.map +0 -1
  2279. package/build/components/block-settings/container.native.js +0 -84
  2280. package/build/components/block-settings/container.native.js.map +0 -1
  2281. package/build/components/block-settings/index.native.js +0 -29
  2282. package/build/components/block-settings/index.native.js.map +0 -1
  2283. package/build/components/block-styles/index.native.js +0 -89
  2284. package/build/components/block-styles/index.native.js.map +0 -1
  2285. package/build/components/block-styles/preview.native.js +0 -96
  2286. package/build/components/block-styles/preview.native.js.map +0 -1
  2287. package/build/components/block-switcher/block-transformations-menu.native.js +0 -79
  2288. package/build/components/block-switcher/block-transformations-menu.native.js.map +0 -1
  2289. package/build/components/block-toolbar/block-toolbar-menu.native.js +0 -378
  2290. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +0 -1
  2291. package/build/components/block-toolbar/index.native.js +0 -108
  2292. package/build/components/block-toolbar/index.native.js.map +0 -1
  2293. package/build/components/block-types-list/index.native.js +0 -141
  2294. package/build/components/block-types-list/index.native.js.map +0 -1
  2295. package/build/components/block-variation-picker/index.native.js +0 -91
  2296. package/build/components/block-variation-picker/index.native.js.map +0 -1
  2297. package/build/components/button-block-appender/index.native.js +0 -82
  2298. package/build/components/button-block-appender/index.native.js.map +0 -1
  2299. package/build/components/caption/index.native.js +0 -62
  2300. package/build/components/caption/index.native.js.map +0 -1
  2301. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +0 -62
  2302. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +0 -1
  2303. package/build/components/contrast-checker/index.native.js +0 -91
  2304. package/build/components/contrast-checker/index.native.js.map +0 -1
  2305. package/build/components/convert-to-group-buttons/index.native.js +0 -82
  2306. package/build/components/convert-to-group-buttons/index.native.js.map +0 -1
  2307. package/build/components/default-block-appender/index.native.js +0 -113
  2308. package/build/components/default-block-appender/index.native.js.map +0 -1
  2309. package/build/components/floating-toolbar/index.native.js +0 -126
  2310. package/build/components/floating-toolbar/index.native.js.map +0 -1
  2311. package/build/components/font-sizes/index.native.js +0 -40
  2312. package/build/components/font-sizes/index.native.js.map +0 -1
  2313. package/build/components/global-styles/color-panel.native.js +0 -146
  2314. package/build/components/global-styles/color-panel.native.js.map +0 -1
  2315. package/build/components/global-styles/use-global-styles-context.native.js +0 -456
  2316. package/build/components/global-styles/use-global-styles-context.native.js.map +0 -1
  2317. package/build/components/gradients/index.native.js +0 -28
  2318. package/build/components/gradients/index.native.js.map +0 -1
  2319. package/build/components/image-link-destinations/index.native.js +0 -127
  2320. package/build/components/image-link-destinations/index.native.js.map +0 -1
  2321. package/build/components/index.native.js +0 -657
  2322. package/build/components/index.native.js.map +0 -1
  2323. package/build/components/inner-blocks/constants.native.js +0 -12
  2324. package/build/components/inner-blocks/constants.native.js.map +0 -1
  2325. package/build/components/inner-blocks/index.native.js +0 -208
  2326. package/build/components/inner-blocks/index.native.js.map +0 -1
  2327. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +0 -95
  2328. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +0 -1
  2329. package/build/components/inserter/block-types-tab.native.js +0 -72
  2330. package/build/components/inserter/block-types-tab.native.js.map +0 -1
  2331. package/build/components/inserter/hooks/use-block-type-impressions.native.js +0 -62
  2332. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +0 -1
  2333. package/build/components/inserter/hooks/use-clipboard-block.native.js +0 -51
  2334. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +0 -1
  2335. package/build/components/inserter/index.native.js +0 -369
  2336. package/build/components/inserter/index.native.js.map +0 -1
  2337. package/build/components/inserter/menu.native.js +0 -189
  2338. package/build/components/inserter/menu.native.js.map +0 -1
  2339. package/build/components/inserter/no-results.native.js +0 -49
  2340. package/build/components/inserter/no-results.native.js.map +0 -1
  2341. package/build/components/inserter/reusable-blocks-tab.native.js +0 -57
  2342. package/build/components/inserter/reusable-blocks-tab.native.js.map +0 -1
  2343. package/build/components/inserter/search-results.native.js +0 -71
  2344. package/build/components/inserter/search-results.native.js.map +0 -1
  2345. package/build/components/inserter/tabs.native.js +0 -140
  2346. package/build/components/inserter/tabs.native.js.map +0 -1
  2347. package/build/components/inserter/utils.native.js +0 -56
  2348. package/build/components/inserter/utils.native.js.map +0 -1
  2349. package/build/components/inserter-button/index.native.js +0 -92
  2350. package/build/components/inserter-button/index.native.js.map +0 -1
  2351. package/build/components/inspector-controls/fill.native.js +0 -63
  2352. package/build/components/inspector-controls/fill.native.js.map +0 -1
  2353. package/build/components/inspector-controls/slot.native.js +0 -42
  2354. package/build/components/inspector-controls/slot.native.js.map +0 -1
  2355. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +0 -38
  2356. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +0 -1
  2357. package/build/components/line-height-control/index.native.js +0 -40
  2358. package/build/components/line-height-control/index.native.js.map +0 -1
  2359. package/build/components/media-placeholder/index.native.js +0 -200
  2360. package/build/components/media-placeholder/index.native.js.map +0 -1
  2361. package/build/components/media-replace-flow/index.native.js +0 -21
  2362. package/build/components/media-replace-flow/index.native.js.map +0 -1
  2363. package/build/components/media-upload/constants.native.js +0 -20
  2364. package/build/components/media-upload/constants.native.js.map +0 -1
  2365. package/build/components/media-upload/index.native.js +0 -294
  2366. package/build/components/media-upload/index.native.js.map +0 -1
  2367. package/build/components/media-upload-progress/index.native.js +0 -203
  2368. package/build/components/media-upload-progress/index.native.js.map +0 -1
  2369. package/build/components/plain-text/index.native.js +0 -157
  2370. package/build/components/plain-text/index.native.js.map +0 -1
  2371. package/build/components/provider/index.native.js +0 -42
  2372. package/build/components/provider/index.native.js.map +0 -1
  2373. package/build/components/rich-text/embed-handler-picker.native.js +0 -54
  2374. package/build/components/rich-text/embed-handler-picker.native.js.map +0 -1
  2375. package/build/components/rich-text/file-paste-handler.native.js +0 -10
  2376. package/build/components/rich-text/file-paste-handler.native.js.map +0 -1
  2377. package/build/components/rich-text/format-toolbar/index.native.js +0 -23
  2378. package/build/components/rich-text/format-toolbar/index.native.js.map +0 -1
  2379. package/build/components/rich-text/format-toolbar-container.native.js +0 -23
  2380. package/build/components/rich-text/format-toolbar-container.native.js.map +0 -1
  2381. package/build/components/rich-text/index.native.js +0 -601
  2382. package/build/components/rich-text/index.native.js.map +0 -1
  2383. package/build/components/rich-text/input-event.native.js +0 -18
  2384. package/build/components/rich-text/input-event.native.js.map +0 -1
  2385. package/build/components/rich-text/native/get-format-colors.native.js +0 -39
  2386. package/build/components/rich-text/native/get-format-colors.native.js.map +0 -1
  2387. package/build/components/rich-text/native/index.native.js +0 -1184
  2388. package/build/components/rich-text/native/index.native.js.map +0 -1
  2389. package/build/components/rich-text/native/toolbar-button-with-options.native.js +0 -60
  2390. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +0 -1
  2391. package/build/components/rich-text/remove-browser-shortcuts.native.js +0 -9
  2392. package/build/components/rich-text/remove-browser-shortcuts.native.js.map +0 -1
  2393. package/build/components/rich-text/shortcut.native.js +0 -18
  2394. package/build/components/rich-text/shortcut.native.js.map +0 -1
  2395. package/build/components/tool-selector/index.js +0 -90
  2396. package/build/components/tool-selector/index.js.map +0 -1
  2397. package/build/components/ungroup-button/index.native.js +0 -77
  2398. package/build/components/ungroup-button/index.native.js.map +0 -1
  2399. package/build/components/unsupported-block-details/index.native.js +0 -129
  2400. package/build/components/unsupported-block-details/index.native.js.map +0 -1
  2401. package/build/components/url-input/index.native.js +0 -39
  2402. package/build/components/url-input/index.native.js.map +0 -1
  2403. package/build/components/use-block-drop-zone/index.native.js +0 -192
  2404. package/build/components/use-block-drop-zone/index.native.js.map +0 -1
  2405. package/build/components/use-on-block-drop/index.native.js +0 -89
  2406. package/build/components/use-on-block-drop/index.native.js.map +0 -1
  2407. package/build/components/use-unsupported-block-editor/index.native.js +0 -57
  2408. package/build/components/use-unsupported-block-editor/index.native.js.map +0 -1
  2409. package/build/components/video-player/gridicon-play.native.js +0 -20
  2410. package/build/components/video-player/gridicon-play.native.js.map +0 -1
  2411. package/build/components/video-player/index.native.js +0 -135
  2412. package/build/components/video-player/index.native.js.map +0 -1
  2413. package/build/components/warning/index.native.js +0 -63
  2414. package/build/components/warning/index.native.js.map +0 -1
  2415. package/build/hooks/align.native.js +0 -56
  2416. package/build/hooks/align.native.js.map +0 -1
  2417. package/build/hooks/custom-class-name.native.js +0 -66
  2418. package/build/hooks/custom-class-name.native.js.map +0 -1
  2419. package/build/hooks/index.native.js +0 -85
  2420. package/build/hooks/index.native.js.map +0 -1
  2421. package/build/hooks/layout.native.js +0 -20
  2422. package/build/hooks/layout.native.js.map +0 -1
  2423. package/build/hooks/typography.native.js +0 -76
  2424. package/build/hooks/typography.native.js.map +0 -1
  2425. package/build/hooks/use-editor-wrapper-styles.native.js +0 -227
  2426. package/build/hooks/use-editor-wrapper-styles.native.js.map +0 -1
  2427. package/build/index.native.js +0 -28
  2428. package/build/index.native.js.map +0 -1
  2429. package/build/private-apis.native.js +0 -31
  2430. package/build/private-apis.native.js.map +0 -1
  2431. package/build/store/defaults.native.js +0 -31
  2432. package/build/store/defaults.native.js.map +0 -1
  2433. package/build-module/components/audio-player/audio-url-parser.native.js +0 -16
  2434. package/build-module/components/audio-player/audio-url-parser.native.js.map +0 -1
  2435. package/build-module/components/audio-player/index.native.js +0 -166
  2436. package/build-module/components/audio-player/index.native.js.map +0 -1
  2437. package/build-module/components/block-alignment-control/ui.native.js +0 -72
  2438. package/build-module/components/block-alignment-control/ui.native.js.map +0 -1
  2439. package/build-module/components/block-caption/index.native.js +0 -87
  2440. package/build-module/components/block-caption/index.native.js.map +0 -1
  2441. package/build-module/components/block-controls/slot.native.js +0 -38
  2442. package/build-module/components/block-controls/slot.native.js.map +0 -1
  2443. package/build-module/components/block-draggable/draggable-chip.native.js +0 -50
  2444. package/build-module/components/block-draggable/draggable-chip.native.js.map +0 -1
  2445. package/build-module/components/block-draggable/dropping-insertion-point.native.js +0 -126
  2446. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +0 -1
  2447. package/build-module/components/block-draggable/index.native.js +0 -422
  2448. package/build-module/components/block-draggable/index.native.js.map +0 -1
  2449. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +0 -111
  2450. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +0 -1
  2451. package/build-module/components/block-edit/edit.native.js +0 -44
  2452. package/build-module/components/block-edit/edit.native.js.map +0 -1
  2453. package/build-module/components/block-heading-level-dropdown/index.native.js +0 -60
  2454. package/build-module/components/block-heading-level-dropdown/index.native.js.map +0 -1
  2455. package/build-module/components/block-icon/index.native.js +0 -47
  2456. package/build-module/components/block-icon/index.native.js.map +0 -1
  2457. package/build-module/components/block-list/block-crash-boundary.native.js +0 -42
  2458. package/build-module/components/block-list/block-crash-boundary.native.js.map +0 -1
  2459. package/build-module/components/block-list/block-crash-warning.native.js +0 -15
  2460. package/build-module/components/block-list/block-crash-warning.native.js.map +0 -1
  2461. package/build-module/components/block-list/block-invalid-warning.native.js +0 -71
  2462. package/build-module/components/block-list/block-invalid-warning.native.js.map +0 -1
  2463. package/build-module/components/block-list/block-list-context.native.js +0 -160
  2464. package/build-module/components/block-list/block-list-context.native.js.map +0 -1
  2465. package/build-module/components/block-list/block-list-item-cell.native.js +0 -67
  2466. package/build-module/components/block-list/block-list-item-cell.native.js.map +0 -1
  2467. package/build-module/components/block-list/block-list-item.native.js +0 -185
  2468. package/build-module/components/block-list/block-list-item.native.js.map +0 -1
  2469. package/build-module/components/block-list/block-outline.native.js +0 -53
  2470. package/build-module/components/block-list/block-outline.native.js.map +0 -1
  2471. package/build-module/components/block-list/block-selection-button.native.js +0 -90
  2472. package/build-module/components/block-list/block-selection-button.native.js.map +0 -1
  2473. package/build-module/components/block-list/block.native.js +0 -530
  2474. package/build-module/components/block-list/block.native.js.map +0 -1
  2475. package/build-module/components/block-list/grid-item.native.js +0 -55
  2476. package/build-module/components/block-list/grid-item.native.js.map +0 -1
  2477. package/build-module/components/block-list/index.native.js +0 -343
  2478. package/build-module/components/block-list/index.native.js.map +0 -1
  2479. package/build-module/components/block-list/insertion-point.native.js +0 -37
  2480. package/build-module/components/block-list/insertion-point.native.js.map +0 -1
  2481. package/build-module/components/block-list/use-block-props/index.native.js +0 -17
  2482. package/build-module/components/block-list/use-block-props/index.native.js.map +0 -1
  2483. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +0 -33
  2484. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +0 -1
  2485. package/build-module/components/block-list-appender/index.native.js +0 -61
  2486. package/build-module/components/block-list-appender/index.native.js.map +0 -1
  2487. package/build-module/components/block-media-update-progress/index.native.js +0 -278
  2488. package/build-module/components/block-media-update-progress/index.native.js.map +0 -1
  2489. package/build-module/components/block-mover/index.native.js +0 -165
  2490. package/build-module/components/block-mover/index.native.js.map +0 -1
  2491. package/build-module/components/block-mover/mover-description.native.js +0 -122
  2492. package/build-module/components/block-mover/mover-description.native.js.map +0 -1
  2493. package/build-module/components/block-settings/button.native.js +0 -37
  2494. package/build-module/components/block-settings/button.native.js.map +0 -1
  2495. package/build-module/components/block-settings/container.native.js +0 -75
  2496. package/build-module/components/block-settings/container.native.js.map +0 -1
  2497. package/build-module/components/block-settings/index.native.js +0 -3
  2498. package/build-module/components/block-settings/index.native.js.map +0 -1
  2499. package/build-module/components/block-styles/index.native.js +0 -81
  2500. package/build-module/components/block-styles/index.native.js.map +0 -1
  2501. package/build-module/components/block-styles/preview.native.js +0 -88
  2502. package/build-module/components/block-styles/preview.native.js.map +0 -1
  2503. package/build-module/components/block-switcher/block-transformations-menu.native.js +0 -72
  2504. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +0 -1
  2505. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +0 -369
  2506. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +0 -1
  2507. package/build-module/components/block-toolbar/index.native.js +0 -100
  2508. package/build-module/components/block-toolbar/index.native.js.map +0 -1
  2509. package/build-module/components/block-types-list/index.native.js +0 -133
  2510. package/build-module/components/block-types-list/index.native.js.map +0 -1
  2511. package/build-module/components/block-variation-picker/index.native.js +0 -83
  2512. package/build-module/components/block-variation-picker/index.native.js.map +0 -1
  2513. package/build-module/components/button-block-appender/index.native.js +0 -74
  2514. package/build-module/components/button-block-appender/index.native.js.map +0 -1
  2515. package/build-module/components/caption/index.native.js +0 -55
  2516. package/build-module/components/caption/index.native.js.map +0 -1
  2517. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +0 -55
  2518. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +0 -1
  2519. package/build-module/components/contrast-checker/index.native.js +0 -82
  2520. package/build-module/components/contrast-checker/index.native.js.map +0 -1
  2521. package/build-module/components/convert-to-group-buttons/index.native.js +0 -69
  2522. package/build-module/components/convert-to-group-buttons/index.native.js.map +0 -1
  2523. package/build-module/components/default-block-appender/index.native.js +0 -104
  2524. package/build-module/components/default-block-appender/index.native.js.map +0 -1
  2525. package/build-module/components/floating-toolbar/index.native.js +0 -118
  2526. package/build-module/components/floating-toolbar/index.native.js.map +0 -1
  2527. package/build-module/components/font-sizes/index.native.js +0 -4
  2528. package/build-module/components/font-sizes/index.native.js.map +0 -1
  2529. package/build-module/components/global-styles/color-panel.native.js +0 -133
  2530. package/build-module/components/global-styles/color-panel.native.js.map +0 -1
  2531. package/build-module/components/global-styles/use-global-styles-context.native.js +0 -437
  2532. package/build-module/components/global-styles/use-global-styles-context.native.js.map +0 -1
  2533. package/build-module/components/gradients/index.native.js +0 -3
  2534. package/build-module/components/gradients/index.native.js.map +0 -1
  2535. package/build-module/components/image-link-destinations/index.native.js +0 -119
  2536. package/build-module/components/image-link-destinations/index.native.js.map +0 -1
  2537. package/build-module/components/index.native.js +0 -58
  2538. package/build-module/components/index.native.js.map +0 -1
  2539. package/build-module/components/inner-blocks/constants.native.js +0 -6
  2540. package/build-module/components/inner-blocks/constants.native.js.map +0 -1
  2541. package/build-module/components/inner-blocks/index.native.js +0 -200
  2542. package/build-module/components/inner-blocks/index.native.js.map +0 -1
  2543. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +0 -87
  2544. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +0 -1
  2545. package/build-module/components/inserter/block-types-tab.native.js +0 -64
  2546. package/build-module/components/inserter/block-types-tab.native.js.map +0 -1
  2547. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +0 -55
  2548. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +0 -1
  2549. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +0 -44
  2550. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +0 -1
  2551. package/build-module/components/inserter/index.native.js +0 -360
  2552. package/build-module/components/inserter/index.native.js.map +0 -1
  2553. package/build-module/components/inserter/menu.native.js +0 -181
  2554. package/build-module/components/inserter/menu.native.js.map +0 -1
  2555. package/build-module/components/inserter/no-results.native.js +0 -41
  2556. package/build-module/components/inserter/no-results.native.js.map +0 -1
  2557. package/build-module/components/inserter/reusable-blocks-tab.native.js +0 -49
  2558. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +0 -1
  2559. package/build-module/components/inserter/search-results.native.js +0 -63
  2560. package/build-module/components/inserter/search-results.native.js.map +0 -1
  2561. package/build-module/components/inserter/tabs.native.js +0 -132
  2562. package/build-module/components/inserter/tabs.native.js.map +0 -1
  2563. package/build-module/components/inserter/utils.native.js +0 -48
  2564. package/build-module/components/inserter/utils.native.js.map +0 -1
  2565. package/build-module/components/inserter-button/index.native.js +0 -84
  2566. package/build-module/components/inserter-button/index.native.js.map +0 -1
  2567. package/build-module/components/inspector-controls/fill.native.js +0 -55
  2568. package/build-module/components/inspector-controls/fill.native.js.map +0 -1
  2569. package/build-module/components/inspector-controls/slot.native.js +0 -34
  2570. package/build-module/components/inspector-controls/slot.native.js.map +0 -1
  2571. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +0 -30
  2572. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +0 -1
  2573. package/build-module/components/line-height-control/index.native.js +0 -32
  2574. package/build-module/components/line-height-control/index.native.js.map +0 -1
  2575. package/build-module/components/media-placeholder/index.native.js +0 -192
  2576. package/build-module/components/media-placeholder/index.native.js.map +0 -1
  2577. package/build-module/components/media-replace-flow/index.native.js +0 -15
  2578. package/build-module/components/media-replace-flow/index.native.js.map +0 -1
  2579. package/build-module/components/media-upload/constants.native.js +0 -13
  2580. package/build-module/components/media-upload/constants.native.js.map +0 -1
  2581. package/build-module/components/media-upload/index.native.js +0 -285
  2582. package/build-module/components/media-upload/index.native.js.map +0 -1
  2583. package/build-module/components/media-upload-progress/index.native.js +0 -194
  2584. package/build-module/components/media-upload-progress/index.native.js.map +0 -1
  2585. package/build-module/components/plain-text/index.native.js +0 -148
  2586. package/build-module/components/plain-text/index.native.js.map +0 -1
  2587. package/build-module/components/provider/index.native.js +0 -37
  2588. package/build-module/components/provider/index.native.js.map +0 -1
  2589. package/build-module/components/rich-text/embed-handler-picker.native.js +0 -47
  2590. package/build-module/components/rich-text/embed-handler-picker.native.js.map +0 -1
  2591. package/build-module/components/rich-text/file-paste-handler.native.js +0 -4
  2592. package/build-module/components/rich-text/file-paste-handler.native.js.map +0 -1
  2593. package/build-module/components/rich-text/format-toolbar/index.native.js +0 -17
  2594. package/build-module/components/rich-text/format-toolbar/index.native.js.map +0 -1
  2595. package/build-module/components/rich-text/format-toolbar-container.native.js +0 -15
  2596. package/build-module/components/rich-text/format-toolbar-container.native.js.map +0 -1
  2597. package/build-module/components/rich-text/index.native.js +0 -573
  2598. package/build-module/components/rich-text/index.native.js.map +0 -1
  2599. package/build-module/components/rich-text/input-event.native.js +0 -10
  2600. package/build-module/components/rich-text/input-event.native.js.map +0 -1
  2601. package/build-module/components/rich-text/native/get-format-colors.native.js +0 -32
  2602. package/build-module/components/rich-text/native/get-format-colors.native.js.map +0 -1
  2603. package/build-module/components/rich-text/native/index.native.js +0 -1176
  2604. package/build-module/components/rich-text/native/index.native.js.map +0 -1
  2605. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +0 -55
  2606. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +0 -1
  2607. package/build-module/components/rich-text/remove-browser-shortcuts.native.js +0 -2
  2608. package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +0 -1
  2609. package/build-module/components/rich-text/shortcut.native.js +0 -10
  2610. package/build-module/components/rich-text/shortcut.native.js.map +0 -1
  2611. package/build-module/components/tool-selector/index.js +0 -83
  2612. package/build-module/components/tool-selector/index.js.map +0 -1
  2613. package/build-module/components/ungroup-button/index.native.js +0 -69
  2614. package/build-module/components/ungroup-button/index.native.js.map +0 -1
  2615. package/build-module/components/unsupported-block-details/index.native.js +0 -121
  2616. package/build-module/components/unsupported-block-details/index.native.js.map +0 -1
  2617. package/build-module/components/url-input/index.native.js +0 -32
  2618. package/build-module/components/url-input/index.native.js.map +0 -1
  2619. package/build-module/components/use-block-drop-zone/index.native.js +0 -183
  2620. package/build-module/components/use-block-drop-zone/index.native.js.map +0 -1
  2621. package/build-module/components/use-on-block-drop/index.native.js +0 -82
  2622. package/build-module/components/use-on-block-drop/index.native.js.map +0 -1
  2623. package/build-module/components/use-unsupported-block-editor/index.native.js +0 -51
  2624. package/build-module/components/use-unsupported-block-editor/index.native.js.map +0 -1
  2625. package/build-module/components/video-player/gridicon-play.native.js +0 -14
  2626. package/build-module/components/video-player/gridicon-play.native.js.map +0 -1
  2627. package/build-module/components/video-player/index.native.js +0 -128
  2628. package/build-module/components/video-player/index.native.js.map +0 -1
  2629. package/build-module/components/warning/index.native.js +0 -55
  2630. package/build-module/components/warning/index.native.js.map +0 -1
  2631. package/build-module/hooks/align.native.js +0 -32
  2632. package/build-module/hooks/align.native.js.map +0 -1
  2633. package/build-module/hooks/custom-class-name.native.js +0 -57
  2634. package/build-module/hooks/custom-class-name.native.js.map +0 -1
  2635. package/build-module/hooks/index.native.js +0 -24
  2636. package/build-module/hooks/index.native.js.map +0 -1
  2637. package/build-module/hooks/layout.native.js +0 -18
  2638. package/build-module/hooks/layout.native.js.map +0 -1
  2639. package/build-module/hooks/typography.native.js +0 -68
  2640. package/build-module/hooks/typography.native.js.map +0 -1
  2641. package/build-module/hooks/use-editor-wrapper-styles.native.js +0 -219
  2642. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +0 -1
  2643. package/build-module/index.native.js +0 -6
  2644. package/build-module/index.native.js.map +0 -1
  2645. package/build-module/private-apis.native.js +0 -22
  2646. package/build-module/private-apis.native.js.map +0 -1
  2647. package/build-module/store/defaults.native.js +0 -19
  2648. package/build-module/store/defaults.native.js.map +0 -1
  2649. package/src/components/tool-selector/index.js +0 -107
  2650. package/src/components/tool-selector/style.scss +0 -15
@@ -1,569 +1,271 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { getBlockType, getBlockTypes, getBlockVariations, hasBlockSupport, getPossibleBlockTransformations, switchToBlockType, store as blocksStore, privateApis as blocksPrivateApis } from '@wordpress/blocks';
5
- import { Platform } from '@wordpress/element';
6
- import { applyFilters } from '@wordpress/hooks';
7
- import { symbol } from '@wordpress/icons';
8
- import { create, remove, toHTMLString } from '@wordpress/rich-text';
9
- import deprecated from '@wordpress/deprecated';
10
- import { createSelector, createRegistrySelector } from '@wordpress/data';
11
- import { store as preferencesStore } from '@wordpress/preferences';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import { isFiltered, checkAllowListRecursive, checkAllowList, getAllPatternsDependants, getInsertBlockTypeDependants, getParsedPattern, getGrammar, mapUserPattern } from './utils';
17
- import { orderBy } from '../utils/sorting';
18
- import { STORE_NAME } from './constants';
19
- import { unlock } from '../lock-unlock';
20
- import { getContentLockingParent, getTemporarilyEditingAsBlocks, getTemporarilyEditingFocusModeToRevert, getSectionRootClientId, isSectionBlock, getParentSectionBlock, isZoomOut, isContainerInsertableToInWriteMode } from './private-selectors';
21
- const {
22
- isContentBlock
23
- } = unlock(blocksPrivateApis);
24
-
25
- /**
26
- * A block selection object.
27
- *
28
- * @typedef {Object} WPBlockSelection
29
- *
30
- * @property {string} clientId A block client ID.
31
- * @property {string} attributeKey A block attribute key.
32
- * @property {number} offset An attribute value offset, based on the rich
33
- * text value. See `wp.richText.create`.
34
- */
35
-
36
- // Module constants.
37
- const MILLISECONDS_PER_HOUR = 3600 * 1000;
38
- const MILLISECONDS_PER_DAY = 24 * 3600 * 1000;
39
- const MILLISECONDS_PER_WEEK = 7 * 24 * 3600 * 1000;
40
-
41
- /**
42
- * Shared reference to an empty array for cases where it is important to avoid
43
- * returning a new array reference on every invocation, as in a connected or
44
- * other pure component which performs `shouldComponentUpdate` check on props.
45
- * This should be used as a last resort, since the normalized data should be
46
- * maintained by the reducer result in state.
47
- *
48
- * @type {Array}
49
- */
1
+ import {
2
+ getBlockType,
3
+ getBlockTypes,
4
+ getBlockVariations,
5
+ hasBlockSupport,
6
+ getPossibleBlockTransformations,
7
+ switchToBlockType,
8
+ store as blocksStore,
9
+ privateApis as blocksPrivateApis
10
+ } from "@wordpress/blocks";
11
+ import { Platform } from "@wordpress/element";
12
+ import { applyFilters } from "@wordpress/hooks";
13
+ import { symbol } from "@wordpress/icons";
14
+ import { create, remove, toHTMLString } from "@wordpress/rich-text";
15
+ import deprecated from "@wordpress/deprecated";
16
+ import { createSelector, createRegistrySelector } from "@wordpress/data";
17
+ import {
18
+ isFiltered,
19
+ checkAllowListRecursive,
20
+ checkAllowList,
21
+ getAllPatternsDependants,
22
+ getInsertBlockTypeDependants,
23
+ getParsedPattern,
24
+ getGrammar,
25
+ mapUserPattern
26
+ } from "./utils";
27
+ import { orderBy } from "../utils/sorting";
28
+ import { STORE_NAME } from "./constants";
29
+ import { unlock } from "../lock-unlock";
30
+ import {
31
+ getContentLockingParent,
32
+ getTemporarilyEditingAsBlocks,
33
+ getTemporarilyEditingFocusModeToRevert,
34
+ getSectionRootClientId,
35
+ isSectionBlock,
36
+ getParentSectionBlock,
37
+ isZoomOut,
38
+ isContainerInsertableToInWriteMode
39
+ } from "./private-selectors";
40
+ const { isContentBlock } = unlock(blocksPrivateApis);
41
+ const MILLISECONDS_PER_HOUR = 3600 * 1e3;
42
+ const MILLISECONDS_PER_DAY = 24 * 3600 * 1e3;
43
+ const MILLISECONDS_PER_WEEK = 7 * 24 * 3600 * 1e3;
50
44
  const EMPTY_ARRAY = [];
51
-
52
- /**
53
- * Shared reference to an empty Set for cases where it is important to avoid
54
- * returning a new Set reference on every invocation, as in a connected or
55
- * other pure component which performs `shouldComponentUpdate` check on props.
56
- * This should be used as a last resort, since the normalized data should be
57
- * maintained by the reducer result in state.
58
- *
59
- * @type {Set}
60
- */
61
- const EMPTY_SET = new Set();
45
+ const EMPTY_SET = /* @__PURE__ */ new Set();
62
46
  const DEFAULT_INSERTER_OPTIONS = {
63
47
  [isFiltered]: true
64
48
  };
65
-
66
- /**
67
- * Returns a block's name given its client ID, or null if no block exists with
68
- * the client ID.
69
- *
70
- * @param {Object} state Editor state.
71
- * @param {string} clientId Block client ID.
72
- *
73
- * @return {string} Block name.
74
- */
75
- export function getBlockName(state, clientId) {
49
+ function getBlockName(state, clientId) {
76
50
  const block = state.blocks.byClientId.get(clientId);
77
- const socialLinkName = 'core/social-link';
78
- if (Platform.OS !== 'web' && block?.name === socialLinkName) {
51
+ const socialLinkName = "core/social-link";
52
+ if (Platform.OS !== "web" && block?.name === socialLinkName) {
79
53
  const attributes = state.blocks.attributes.get(clientId);
80
- const {
81
- service
82
- } = attributes !== null && attributes !== void 0 ? attributes : {};
54
+ const { service } = attributes ?? {};
83
55
  return service ? `${socialLinkName}-${service}` : socialLinkName;
84
56
  }
85
57
  return block ? block.name : null;
86
58
  }
87
-
88
- /**
89
- * Returns whether a block is valid or not.
90
- *
91
- * @param {Object} state Editor state.
92
- * @param {string} clientId Block client ID.
93
- *
94
- * @return {boolean} Is Valid.
95
- */
96
- export function isBlockValid(state, clientId) {
59
+ function isBlockValid(state, clientId) {
97
60
  const block = state.blocks.byClientId.get(clientId);
98
61
  return !!block && block.isValid;
99
62
  }
100
-
101
- /**
102
- * Returns a block's attributes given its client ID, or null if no block exists with
103
- * the client ID.
104
- *
105
- * @param {Object} state Editor state.
106
- * @param {string} clientId Block client ID.
107
- *
108
- * @return {?Object} Block attributes.
109
- */
110
- export function getBlockAttributes(state, clientId) {
63
+ function getBlockAttributes(state, clientId) {
111
64
  const block = state.blocks.byClientId.get(clientId);
112
65
  if (!block) {
113
66
  return null;
114
67
  }
115
68
  return state.blocks.attributes.get(clientId);
116
69
  }
117
-
118
- /**
119
- * Returns a block given its client ID. This is a parsed copy of the block,
120
- * containing its `blockName`, `clientId`, and current `attributes` state. This
121
- * is not the block's registration settings, which must be retrieved from the
122
- * blocks module registration store.
123
- *
124
- * getBlock recurses through its inner blocks until all its children blocks have
125
- * been retrieved. Note that getBlock will not return the child inner blocks of
126
- * an inner block controller. This is because an inner block controller syncs
127
- * itself with its own entity, and should therefore not be included with the
128
- * blocks of a different entity. For example, say you call `getBlocks( TP )` to
129
- * get the blocks of a template part. If another template part is a child of TP,
130
- * then the nested template part's child blocks will not be returned. This way,
131
- * the template block itself is considered part of the parent, but the children
132
- * are not.
133
- *
134
- * @param {Object} state Editor state.
135
- * @param {string} clientId Block client ID.
136
- *
137
- * @return {Object} Parsed block object.
138
- */
139
- export function getBlock(state, clientId) {
70
+ function getBlock(state, clientId) {
140
71
  if (!state.blocks.byClientId.has(clientId)) {
141
72
  return null;
142
73
  }
143
74
  return state.blocks.tree.get(clientId);
144
75
  }
145
- export const __unstableGetBlockWithoutInnerBlocks = createSelector((state, clientId) => {
146
- const block = state.blocks.byClientId.get(clientId);
147
- if (!block) {
148
- return null;
149
- }
150
- return {
151
- ...block,
152
- attributes: getBlockAttributes(state, clientId)
153
- };
154
- }, (state, clientId) => [state.blocks.byClientId.get(clientId), state.blocks.attributes.get(clientId)]);
155
-
156
- /**
157
- * Returns all block objects for the current post being edited as an array in
158
- * the order they appear in the post. Note that this will exclude child blocks
159
- * of nested inner block controllers.
160
- *
161
- * @param {Object} state Editor state.
162
- * @param {?string} rootClientId Optional root client ID of block list.
163
- *
164
- * @return {Object[]} Post blocks.
165
- */
166
- export function getBlocks(state, rootClientId) {
167
- const treeKey = !rootClientId || !areInnerBlocksControlled(state, rootClientId) ? rootClientId || '' : 'controlled||' + rootClientId;
76
+ const __unstableGetBlockWithoutInnerBlocks = createSelector(
77
+ (state, clientId) => {
78
+ const block = state.blocks.byClientId.get(clientId);
79
+ if (!block) {
80
+ return null;
81
+ }
82
+ return {
83
+ ...block,
84
+ attributes: getBlockAttributes(state, clientId)
85
+ };
86
+ },
87
+ (state, clientId) => [
88
+ state.blocks.byClientId.get(clientId),
89
+ state.blocks.attributes.get(clientId)
90
+ ]
91
+ );
92
+ function getBlocks(state, rootClientId) {
93
+ const treeKey = !rootClientId || !areInnerBlocksControlled(state, rootClientId) ? rootClientId || "" : "controlled||" + rootClientId;
168
94
  return state.blocks.tree.get(treeKey)?.innerBlocks || EMPTY_ARRAY;
169
95
  }
170
-
171
- /**
172
- * Returns a stripped down block object containing only its client ID,
173
- * and its inner blocks' client IDs.
174
- *
175
- * @deprecated
176
- *
177
- * @param {Object} state Editor state.
178
- * @param {string} clientId Client ID of the block to get.
179
- *
180
- * @return {Object} Client IDs of the post blocks.
181
- */
182
- export const __unstableGetClientIdWithClientIdsTree = createSelector((state, clientId) => {
183
- deprecated("wp.data.select( 'core/block-editor' ).__unstableGetClientIdWithClientIdsTree", {
184
- since: '6.3',
185
- version: '6.5'
186
- });
187
- return {
188
- clientId,
189
- innerBlocks: __unstableGetClientIdsTree(state, clientId)
190
- };
191
- }, state => [state.blocks.order]);
192
-
193
- /**
194
- * Returns the block tree represented in the block-editor store from the
195
- * given root, consisting of stripped down block objects containing only
196
- * their client IDs, and their inner blocks' client IDs.
197
- *
198
- * @deprecated
199
- *
200
- * @param {Object} state Editor state.
201
- * @param {?string} rootClientId Optional root client ID of block list.
202
- *
203
- * @return {Object[]} Client IDs of the post blocks.
204
- */
205
- export const __unstableGetClientIdsTree = createSelector((state, rootClientId = '') => {
206
- deprecated("wp.data.select( 'core/block-editor' ).__unstableGetClientIdsTree", {
207
- since: '6.3',
208
- version: '6.5'
209
- });
210
- return getBlockOrder(state, rootClientId).map(clientId => __unstableGetClientIdWithClientIdsTree(state, clientId));
211
- }, state => [state.blocks.order]);
212
-
213
- /**
214
- * Returns an array containing the clientIds of all descendants of the blocks
215
- * given. Returned ids are ordered first by the order of the ids given, then
216
- * by the order that they appear in the editor.
217
- *
218
- * @param {Object} state Global application state.
219
- * @param {string|string[]} rootIds Client ID(s) for which descendant blocks are to be returned.
220
- *
221
- * @return {Array} Client IDs of descendants.
222
- */
223
- export const getClientIdsOfDescendants = createSelector((state, rootIds) => {
224
- rootIds = Array.isArray(rootIds) ? [...rootIds] : [rootIds];
225
- const ids = [];
226
-
227
- // Add the descendants of the root blocks first.
228
- for (const rootId of rootIds) {
229
- const order = state.blocks.order.get(rootId);
230
- if (order) {
231
- ids.push(...order);
96
+ const __unstableGetClientIdWithClientIdsTree = createSelector(
97
+ (state, clientId) => {
98
+ deprecated(
99
+ "wp.data.select( 'core/block-editor' ).__unstableGetClientIdWithClientIdsTree",
100
+ {
101
+ since: "6.3",
102
+ version: "6.5"
103
+ }
104
+ );
105
+ return {
106
+ clientId,
107
+ innerBlocks: __unstableGetClientIdsTree(state, clientId)
108
+ };
109
+ },
110
+ (state) => [state.blocks.order]
111
+ );
112
+ const __unstableGetClientIdsTree = createSelector(
113
+ (state, rootClientId = "") => {
114
+ deprecated(
115
+ "wp.data.select( 'core/block-editor' ).__unstableGetClientIdsTree",
116
+ {
117
+ since: "6.3",
118
+ version: "6.5"
119
+ }
120
+ );
121
+ return getBlockOrder(state, rootClientId).map(
122
+ (clientId) => __unstableGetClientIdWithClientIdsTree(state, clientId)
123
+ );
124
+ },
125
+ (state) => [state.blocks.order]
126
+ );
127
+ const getClientIdsOfDescendants = createSelector(
128
+ (state, rootIds) => {
129
+ rootIds = Array.isArray(rootIds) ? [...rootIds] : [rootIds];
130
+ const ids = [];
131
+ for (const rootId of rootIds) {
132
+ const order = state.blocks.order.get(rootId);
133
+ if (order) {
134
+ ids.push(...order);
135
+ }
232
136
  }
233
- }
234
- let index = 0;
235
-
236
- // Add the descendants of the descendants, recursively.
237
- while (index < ids.length) {
238
- const id = ids[index];
239
- const order = state.blocks.order.get(id);
240
- if (order) {
241
- ids.splice(index + 1, 0, ...order);
137
+ let index = 0;
138
+ while (index < ids.length) {
139
+ const id = ids[index];
140
+ const order = state.blocks.order.get(id);
141
+ if (order) {
142
+ ids.splice(index + 1, 0, ...order);
143
+ }
144
+ index++;
242
145
  }
243
- index++;
244
- }
245
- return ids;
246
- }, state => [state.blocks.order]);
247
-
248
- /**
249
- * Returns an array containing the clientIds of the top-level blocks and
250
- * their descendants of any depth (for nested blocks). Ids are returned
251
- * in the same order that they appear in the editor.
252
- *
253
- * @param {Object} state Global application state.
254
- *
255
- * @return {Array} ids of top-level and descendant blocks.
256
- */
257
- export const getClientIdsWithDescendants = state => getClientIdsOfDescendants(state, '');
258
-
259
- /**
260
- * Returns the total number of blocks, or the total number of blocks with a specific name in a post.
261
- * The number returned includes nested blocks.
262
- *
263
- * @param {Object} state Global application state.
264
- * @param {?string} blockName Optional block name, if specified only blocks of that type will be counted.
265
- *
266
- * @return {number} Number of blocks in the post, or number of blocks with name equal to blockName.
267
- */
268
- export const getGlobalBlockCount = createSelector((state, blockName) => {
269
- const clientIds = getClientIdsWithDescendants(state);
270
- if (!blockName) {
271
- return clientIds.length;
272
- }
273
- let count = 0;
274
- for (const clientId of clientIds) {
275
- const block = state.blocks.byClientId.get(clientId);
276
- if (block.name === blockName) {
277
- count++;
146
+ return ids;
147
+ },
148
+ (state) => [state.blocks.order]
149
+ );
150
+ const getClientIdsWithDescendants = (state) => getClientIdsOfDescendants(state, "");
151
+ const getGlobalBlockCount = createSelector(
152
+ (state, blockName) => {
153
+ const clientIds = getClientIdsWithDescendants(state);
154
+ if (!blockName) {
155
+ return clientIds.length;
278
156
  }
279
- }
280
- return count;
281
- }, state => [state.blocks.order, state.blocks.byClientId]);
282
-
283
- /**
284
- * Returns all blocks that match a blockName. Results include nested blocks.
285
- *
286
- * @param {Object} state Global application state.
287
- * @param {string[]} blockName Block name(s) for which clientIds are to be returned.
288
- *
289
- * @return {Array} Array of clientIds of blocks with name equal to blockName.
290
- */
291
- export const getBlocksByName = createSelector((state, blockName) => {
292
- if (!blockName) {
293
- return EMPTY_ARRAY;
294
- }
295
- const blockNames = Array.isArray(blockName) ? blockName : [blockName];
296
- const clientIds = getClientIdsWithDescendants(state);
297
- const foundBlocks = clientIds.filter(clientId => {
298
- const block = state.blocks.byClientId.get(clientId);
299
- return blockNames.includes(block.name);
300
- });
301
- return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
302
- }, state => [state.blocks.order, state.blocks.byClientId]);
303
-
304
- /**
305
- * Returns all global blocks that match a blockName. Results include nested blocks.
306
- *
307
- * @deprecated
308
- *
309
- * @param {Object} state Global application state.
310
- * @param {string[]} blockName Block name(s) for which clientIds are to be returned.
311
- *
312
- * @return {Array} Array of clientIds of blocks with name equal to blockName.
313
- */
314
- export function __experimentalGetGlobalBlocksByName(state, blockName) {
315
- deprecated("wp.data.select( 'core/block-editor' ).__experimentalGetGlobalBlocksByName", {
316
- since: '6.5',
317
- alternative: `wp.data.select( 'core/block-editor' ).getBlocksByName`
318
- });
157
+ let count = 0;
158
+ for (const clientId of clientIds) {
159
+ const block = state.blocks.byClientId.get(clientId);
160
+ if (block.name === blockName) {
161
+ count++;
162
+ }
163
+ }
164
+ return count;
165
+ },
166
+ (state) => [state.blocks.order, state.blocks.byClientId]
167
+ );
168
+ const getBlocksByName = createSelector(
169
+ (state, blockName) => {
170
+ if (!blockName) {
171
+ return EMPTY_ARRAY;
172
+ }
173
+ const blockNames = Array.isArray(blockName) ? blockName : [blockName];
174
+ const clientIds = getClientIdsWithDescendants(state);
175
+ const foundBlocks = clientIds.filter((clientId) => {
176
+ const block = state.blocks.byClientId.get(clientId);
177
+ return blockNames.includes(block.name);
178
+ });
179
+ return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
180
+ },
181
+ (state) => [state.blocks.order, state.blocks.byClientId]
182
+ );
183
+ function __experimentalGetGlobalBlocksByName(state, blockName) {
184
+ deprecated(
185
+ "wp.data.select( 'core/block-editor' ).__experimentalGetGlobalBlocksByName",
186
+ {
187
+ since: "6.5",
188
+ alternative: `wp.data.select( 'core/block-editor' ).getBlocksByName`
189
+ }
190
+ );
319
191
  return getBlocksByName(state, blockName);
320
192
  }
321
-
322
- /**
323
- * Given an array of block client IDs, returns the corresponding array of block
324
- * objects.
325
- *
326
- * @param {Object} state Editor state.
327
- * @param {string[]} clientIds Client IDs for which blocks are to be returned.
328
- *
329
- * @return {WPBlock[]} Block objects.
330
- */
331
- export const getBlocksByClientId = createSelector((state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(clientId => getBlock(state, clientId)), (state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(clientId => state.blocks.tree.get(clientId)));
332
-
333
- /**
334
- * Given an array of block client IDs, returns the corresponding array of block
335
- * names.
336
- *
337
- * @param {Object} state Editor state.
338
- * @param {string[]} clientIds Client IDs for which block names are to be returned.
339
- *
340
- * @return {string[]} Block names.
341
- */
342
- export const getBlockNamesByClientId = createSelector((state, clientIds) => getBlocksByClientId(state, clientIds).filter(Boolean).map(block => block.name), (state, clientIds) => getBlocksByClientId(state, clientIds));
343
-
344
- /**
345
- * Returns the number of blocks currently present in the post.
346
- *
347
- * @param {Object} state Editor state.
348
- * @param {?string} rootClientId Optional root client ID of block list.
349
- *
350
- * @return {number} Number of blocks in the post.
351
- */
352
- export function getBlockCount(state, rootClientId) {
193
+ const getBlocksByClientId = createSelector(
194
+ (state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(
195
+ (clientId) => getBlock(state, clientId)
196
+ ),
197
+ (state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(
198
+ (clientId) => state.blocks.tree.get(clientId)
199
+ )
200
+ );
201
+ const getBlockNamesByClientId = createSelector(
202
+ (state, clientIds) => getBlocksByClientId(state, clientIds).filter(Boolean).map((block) => block.name),
203
+ (state, clientIds) => getBlocksByClientId(state, clientIds)
204
+ );
205
+ function getBlockCount(state, rootClientId) {
353
206
  return getBlockOrder(state, rootClientId).length;
354
207
  }
355
-
356
- /**
357
- * Returns the current selection start block client ID, attribute key and text
358
- * offset.
359
- *
360
- * @param {Object} state Block editor state.
361
- *
362
- * @return {WPBlockSelection} Selection start information.
363
- */
364
- export function getSelectionStart(state) {
208
+ function getSelectionStart(state) {
365
209
  return state.selection.selectionStart;
366
210
  }
367
-
368
- /**
369
- * Returns the current selection end block client ID, attribute key and text
370
- * offset.
371
- *
372
- * @param {Object} state Block editor state.
373
- *
374
- * @return {WPBlockSelection} Selection end information.
375
- */
376
- export function getSelectionEnd(state) {
211
+ function getSelectionEnd(state) {
377
212
  return state.selection.selectionEnd;
378
213
  }
379
-
380
- /**
381
- * Returns the current block selection start. This value may be null, and it
382
- * may represent either a singular block selection or multi-selection start.
383
- * A selection is singular if its start and end match.
384
- *
385
- * @param {Object} state Global application state.
386
- *
387
- * @return {?string} Client ID of block selection start.
388
- */
389
- export function getBlockSelectionStart(state) {
214
+ function getBlockSelectionStart(state) {
390
215
  return state.selection.selectionStart.clientId;
391
216
  }
392
-
393
- /**
394
- * Returns the current block selection end. This value may be null, and it
395
- * may represent either a singular block selection or multi-selection end.
396
- * A selection is singular if its start and end match.
397
- *
398
- * @param {Object} state Global application state.
399
- *
400
- * @return {?string} Client ID of block selection end.
401
- */
402
- export function getBlockSelectionEnd(state) {
217
+ function getBlockSelectionEnd(state) {
403
218
  return state.selection.selectionEnd.clientId;
404
219
  }
405
-
406
- /**
407
- * Returns the number of blocks currently selected in the post.
408
- *
409
- * @param {Object} state Global application state.
410
- *
411
- * @return {number} Number of blocks selected in the post.
412
- */
413
- export function getSelectedBlockCount(state) {
220
+ function getSelectedBlockCount(state) {
414
221
  const multiSelectedBlockCount = getMultiSelectedBlockClientIds(state).length;
415
222
  if (multiSelectedBlockCount) {
416
223
  return multiSelectedBlockCount;
417
224
  }
418
225
  return state.selection.selectionStart.clientId ? 1 : 0;
419
226
  }
420
-
421
- /**
422
- * Returns true if there is a single selected block, or false otherwise.
423
- *
424
- * @param {Object} state Editor state.
425
- *
426
- * @return {boolean} Whether a single block is selected.
427
- */
428
- export function hasSelectedBlock(state) {
429
- const {
430
- selectionStart,
431
- selectionEnd
432
- } = state.selection;
227
+ function hasSelectedBlock(state) {
228
+ const { selectionStart, selectionEnd } = state.selection;
433
229
  return !!selectionStart.clientId && selectionStart.clientId === selectionEnd.clientId;
434
230
  }
435
-
436
- /**
437
- * Returns the currently selected block client ID, or null if there is no
438
- * selected block.
439
- *
440
- * @param {Object} state Editor state.
441
- *
442
- * @return {?string} Selected block client ID.
443
- */
444
- export function getSelectedBlockClientId(state) {
445
- const {
446
- selectionStart,
447
- selectionEnd
448
- } = state.selection;
449
- const {
450
- clientId
451
- } = selectionStart;
231
+ function getSelectedBlockClientId(state) {
232
+ const { selectionStart, selectionEnd } = state.selection;
233
+ const { clientId } = selectionStart;
452
234
  if (!clientId || clientId !== selectionEnd.clientId) {
453
235
  return null;
454
236
  }
455
237
  return clientId;
456
238
  }
457
-
458
- /**
459
- * Returns the currently selected block, or null if there is no selected block.
460
- *
461
- * @param {Object} state Global application state.
462
- *
463
- * @example
464
- *
465
- *```js
466
- * import { select } from '@wordpress/data'
467
- * import { store as blockEditorStore } from '@wordpress/block-editor'
468
- *
469
- * // Set initial active block client ID
470
- * let activeBlockClientId = null
471
- *
472
- * const getActiveBlockData = () => {
473
- * const activeBlock = select(blockEditorStore).getSelectedBlock()
474
- *
475
- * if (activeBlock && activeBlock.clientId !== activeBlockClientId) {
476
- * activeBlockClientId = activeBlock.clientId
477
- *
478
- * // Get active block name and attributes
479
- * const activeBlockName = activeBlock.name
480
- * const activeBlockAttributes = activeBlock.attributes
481
- *
482
- * // Log active block name and attributes
483
- * console.log(activeBlockName, activeBlockAttributes)
484
- * }
485
- * }
486
- *
487
- * // Subscribe to changes in the editor
488
- * // wp.data.subscribe(() => {
489
- * // getActiveBlockData()
490
- * // })
491
- *
492
- * // Update active block data on click
493
- * // onclick="getActiveBlockData()"
494
- *```
495
- *
496
- * @return {?Object} Selected block.
497
- */
498
- export function getSelectedBlock(state) {
239
+ function getSelectedBlock(state) {
499
240
  const clientId = getSelectedBlockClientId(state);
500
241
  return clientId ? getBlock(state, clientId) : null;
501
242
  }
502
-
503
- /**
504
- * Given a block client ID, returns the root block from which the block is
505
- * nested, an empty string for top-level blocks, or null if the block does not
506
- * exist.
507
- *
508
- * @param {Object} state Editor state.
509
- * @param {string} clientId Block from which to find root client ID.
510
- *
511
- * @return {?string} Root client ID, if exists
512
- */
513
- export function getBlockRootClientId(state, clientId) {
514
- var _state$blocks$parents;
515
- return (_state$blocks$parents = state.blocks.parents.get(clientId)) !== null && _state$blocks$parents !== void 0 ? _state$blocks$parents : null;
516
- }
517
-
518
- /**
519
- * Given a block client ID, returns the list of all its parents from top to bottom.
520
- *
521
- * @param {Object} state Editor state.
522
- * @param {string} clientId Block from which to find root client ID.
523
- * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false).
524
- *
525
- * @return {Array} ClientIDs of the parent blocks.
526
- */
527
- export const getBlockParents = createSelector((state, clientId, ascending = false) => {
528
- const parents = [];
529
- let current = clientId;
530
- while (current = state.blocks.parents.get(current)) {
531
- parents.push(current);
532
- }
533
- if (!parents.length) {
534
- return EMPTY_ARRAY;
535
- }
536
- return ascending ? parents : parents.reverse();
537
- }, state => [state.blocks.parents]);
538
-
539
- /**
540
- * Given a block client ID and a block name, returns the list of all its parents
541
- * from top to bottom, filtered by the given name(s). For example, if passed
542
- * 'core/group' as the blockName, it will only return parents which are group
543
- * blocks. If passed `[ 'core/group', 'core/cover']`, as the blockName, it will
544
- * return parents which are group blocks and parents which are cover blocks.
545
- *
546
- * @param {Object} state Editor state.
547
- * @param {string} clientId Block from which to find root client ID.
548
- * @param {string|string[]} blockName Block name(s) to filter.
549
- * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false).
550
- *
551
- * @return {Array} ClientIDs of the parent blocks.
552
- */
553
- export const getBlockParentsByBlockName = createSelector((state, clientId, blockName, ascending = false) => {
554
- const parents = getBlockParents(state, clientId, ascending);
555
- const hasName = Array.isArray(blockName) ? name => blockName.includes(name) : name => blockName === name;
556
- return parents.filter(id => hasName(getBlockName(state, id)));
557
- }, state => [state.blocks.parents]);
558
- /**
559
- * Given a block client ID, returns the root of the hierarchy from which the block is nested, return the block itself for root level blocks.
560
- *
561
- * @param {Object} state Editor state.
562
- * @param {string} clientId Block from which to find root client ID.
563
- *
564
- * @return {string} Root client ID
565
- */
566
- export function getBlockHierarchyRootClientId(state, clientId) {
243
+ function getBlockRootClientId(state, clientId) {
244
+ return state.blocks.parents.get(clientId) ?? null;
245
+ }
246
+ const getBlockParents = createSelector(
247
+ (state, clientId, ascending = false) => {
248
+ const parents = [];
249
+ let current = clientId;
250
+ while (current = state.blocks.parents.get(current)) {
251
+ parents.push(current);
252
+ }
253
+ if (!parents.length) {
254
+ return EMPTY_ARRAY;
255
+ }
256
+ return ascending ? parents : parents.reverse();
257
+ },
258
+ (state) => [state.blocks.parents]
259
+ );
260
+ const getBlockParentsByBlockName = createSelector(
261
+ (state, clientId, blockName, ascending = false) => {
262
+ const parents = getBlockParents(state, clientId, ascending);
263
+ const hasName = Array.isArray(blockName) ? (name) => blockName.includes(name) : (name) => blockName === name;
264
+ return parents.filter((id) => hasName(getBlockName(state, id)));
265
+ },
266
+ (state) => [state.blocks.parents]
267
+ );
268
+ function getBlockHierarchyRootClientId(state, clientId) {
567
269
  let current = clientId;
568
270
  let parent;
569
271
  do {
@@ -572,19 +274,13 @@ export function getBlockHierarchyRootClientId(state, clientId) {
572
274
  } while (current);
573
275
  return parent;
574
276
  }
575
-
576
- /**
577
- * Given a block client ID, returns the lowest common ancestor with selected client ID.
578
- *
579
- * @param {Object} state Editor state.
580
- * @param {string} clientId Block from which to find common ancestor client ID.
581
- *
582
- * @return {string} Common ancestor client ID or undefined
583
- */
584
- export function getLowestCommonAncestorWithSelectedBlock(state, clientId) {
277
+ function getLowestCommonAncestorWithSelectedBlock(state, clientId) {
585
278
  const selectedId = getSelectedBlockClientId(state);
586
279
  const clientParents = [...getBlockParents(state, clientId), clientId];
587
- const selectedParents = [...getBlockParents(state, selectedId), selectedId];
280
+ const selectedParents = [
281
+ ...getBlockParents(state, selectedId),
282
+ selectedId
283
+ ];
588
284
  let lowestCommonAncestor;
589
285
  const maxDepth = Math.min(clientParents.length, selectedParents.length);
590
286
  for (let index = 0; index < maxDepth; index++) {
@@ -596,368 +292,182 @@ export function getLowestCommonAncestorWithSelectedBlock(state, clientId) {
596
292
  }
597
293
  return lowestCommonAncestor;
598
294
  }
599
-
600
- /**
601
- * Returns the client ID of the block adjacent one at the given reference
602
- * startClientId and modifier directionality. Defaults start startClientId to
603
- * the selected block, and direction as next block. Returns null if there is no
604
- * adjacent block.
605
- *
606
- * @param {Object} state Editor state.
607
- * @param {?string} startClientId Optional client ID of block from which to
608
- * search.
609
- * @param {?number} modifier Directionality multiplier (1 next, -1
610
- * previous).
611
- *
612
- * @return {?string} Return the client ID of the block, or null if none exists.
613
- */
614
- export function getAdjacentBlockClientId(state, startClientId, modifier = 1) {
615
- // Default to selected block.
616
- if (startClientId === undefined) {
295
+ function getAdjacentBlockClientId(state, startClientId, modifier = 1) {
296
+ if (startClientId === void 0) {
617
297
  startClientId = getSelectedBlockClientId(state);
618
298
  }
619
-
620
- // Try multi-selection starting at extent based on modifier.
621
- if (startClientId === undefined) {
299
+ if (startClientId === void 0) {
622
300
  if (modifier < 0) {
623
301
  startClientId = getFirstMultiSelectedBlockClientId(state);
624
302
  } else {
625
303
  startClientId = getLastMultiSelectedBlockClientId(state);
626
304
  }
627
305
  }
628
-
629
- // Validate working start client ID.
630
306
  if (!startClientId) {
631
307
  return null;
632
308
  }
633
-
634
- // Retrieve start block root client ID, being careful to allow the falsey
635
- // empty string top-level root by explicitly testing against null.
636
309
  const rootClientId = getBlockRootClientId(state, startClientId);
637
310
  if (rootClientId === null) {
638
311
  return null;
639
312
  }
640
- const {
641
- order
642
- } = state.blocks;
313
+ const { order } = state.blocks;
643
314
  const orderSet = order.get(rootClientId);
644
315
  const index = orderSet.indexOf(startClientId);
645
316
  const nextIndex = index + 1 * modifier;
646
-
647
- // Block was first in set and we're attempting to get previous.
648
317
  if (nextIndex < 0) {
649
318
  return null;
650
319
  }
651
-
652
- // Block was last in set and we're attempting to get next.
653
320
  if (nextIndex === orderSet.length) {
654
321
  return null;
655
322
  }
656
-
657
- // Assume incremented index is within the set.
658
323
  return orderSet[nextIndex];
659
324
  }
660
-
661
- /**
662
- * Returns the previous block's client ID from the given reference start ID.
663
- * Defaults start to the selected block. Returns null if there is no previous
664
- * block.
665
- *
666
- * @param {Object} state Editor state.
667
- * @param {?string} startClientId Optional client ID of block from which to
668
- * search.
669
- *
670
- * @return {?string} Adjacent block's client ID, or null if none exists.
671
- */
672
- export function getPreviousBlockClientId(state, startClientId) {
325
+ function getPreviousBlockClientId(state, startClientId) {
673
326
  return getAdjacentBlockClientId(state, startClientId, -1);
674
327
  }
675
-
676
- /**
677
- * Returns the next block's client ID from the given reference start ID.
678
- * Defaults start to the selected block. Returns null if there is no next
679
- * block.
680
- *
681
- * @param {Object} state Editor state.
682
- * @param {?string} startClientId Optional client ID of block from which to
683
- * search.
684
- *
685
- * @return {?string} Adjacent block's client ID, or null if none exists.
686
- */
687
- export function getNextBlockClientId(state, startClientId) {
328
+ function getNextBlockClientId(state, startClientId) {
688
329
  return getAdjacentBlockClientId(state, startClientId, 1);
689
330
  }
690
-
691
- /* eslint-disable jsdoc/valid-types */
692
- /**
693
- * Returns the initial caret position for the selected block.
694
- * This position is to used to position the caret properly when the selected block changes.
695
- * If the current block is not a RichText, having initial position set to 0 means "focus block"
696
- *
697
- * @param {Object} state Global application state.
698
- *
699
- * @return {0|-1|null} Initial position.
700
- */
701
- export function getSelectedBlocksInitialCaretPosition(state) {
702
- /* eslint-enable jsdoc/valid-types */
331
+ function getSelectedBlocksInitialCaretPosition(state) {
703
332
  return state.initialPosition;
704
333
  }
705
-
706
- /**
707
- * Returns the current selection set of block client IDs (multiselection or single selection).
708
- *
709
- * @param {Object} state Editor state.
710
- *
711
- * @return {Array} Multi-selected block client IDs.
712
- */
713
- export const getSelectedBlockClientIds = createSelector(state => {
714
- const {
715
- selectionStart,
716
- selectionEnd
717
- } = state.selection;
718
- if (!selectionStart.clientId || !selectionEnd.clientId) {
719
- return EMPTY_ARRAY;
720
- }
721
- if (selectionStart.clientId === selectionEnd.clientId) {
722
- return [selectionStart.clientId];
723
- }
724
-
725
- // Retrieve root client ID to aid in retrieving relevant nested block
726
- // order, being careful to allow the falsey empty string top-level root
727
- // by explicitly testing against null.
728
- const rootClientId = getBlockRootClientId(state, selectionStart.clientId);
729
- if (rootClientId === null) {
730
- return EMPTY_ARRAY;
731
- }
732
- const blockOrder = getBlockOrder(state, rootClientId);
733
- const startIndex = blockOrder.indexOf(selectionStart.clientId);
734
- const endIndex = blockOrder.indexOf(selectionEnd.clientId);
735
- if (startIndex > endIndex) {
736
- return blockOrder.slice(endIndex, startIndex + 1);
737
- }
738
- return blockOrder.slice(startIndex, endIndex + 1);
739
- }, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]);
740
-
741
- /**
742
- * Returns the current multi-selection set of block client IDs, or an empty
743
- * array if there is no multi-selection.
744
- *
745
- * @param {Object} state Editor state.
746
- *
747
- * @return {Array} Multi-selected block client IDs.
748
- */
749
- export function getMultiSelectedBlockClientIds(state) {
750
- const {
751
- selectionStart,
752
- selectionEnd
753
- } = state.selection;
334
+ const getSelectedBlockClientIds = createSelector(
335
+ (state) => {
336
+ const { selectionStart, selectionEnd } = state.selection;
337
+ if (!selectionStart.clientId || !selectionEnd.clientId) {
338
+ return EMPTY_ARRAY;
339
+ }
340
+ if (selectionStart.clientId === selectionEnd.clientId) {
341
+ return [selectionStart.clientId];
342
+ }
343
+ const rootClientId = getBlockRootClientId(
344
+ state,
345
+ selectionStart.clientId
346
+ );
347
+ if (rootClientId === null) {
348
+ return EMPTY_ARRAY;
349
+ }
350
+ const blockOrder = getBlockOrder(state, rootClientId);
351
+ const startIndex = blockOrder.indexOf(selectionStart.clientId);
352
+ const endIndex = blockOrder.indexOf(selectionEnd.clientId);
353
+ if (startIndex > endIndex) {
354
+ return blockOrder.slice(endIndex, startIndex + 1);
355
+ }
356
+ return blockOrder.slice(startIndex, endIndex + 1);
357
+ },
358
+ (state) => [
359
+ state.blocks.order,
360
+ state.selection.selectionStart.clientId,
361
+ state.selection.selectionEnd.clientId
362
+ ]
363
+ );
364
+ function getMultiSelectedBlockClientIds(state) {
365
+ const { selectionStart, selectionEnd } = state.selection;
754
366
  if (selectionStart.clientId === selectionEnd.clientId) {
755
367
  return EMPTY_ARRAY;
756
368
  }
757
369
  return getSelectedBlockClientIds(state);
758
370
  }
759
-
760
- /**
761
- * Returns the current multi-selection set of blocks, or an empty array if
762
- * there is no multi-selection.
763
- *
764
- * @param {Object} state Editor state.
765
- *
766
- * @return {Array} Multi-selected block objects.
767
- */
768
- export const getMultiSelectedBlocks = createSelector(state => {
769
- const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state);
770
- if (!multiSelectedBlockClientIds.length) {
771
- return EMPTY_ARRAY;
772
- }
773
- return multiSelectedBlockClientIds.map(clientId => getBlock(state, clientId));
774
- }, state => [...getSelectedBlockClientIds.getDependants(state), state.blocks.byClientId, state.blocks.order, state.blocks.attributes]);
775
-
776
- /**
777
- * Returns the client ID of the first block in the multi-selection set, or null
778
- * if there is no multi-selection.
779
- *
780
- * @param {Object} state Editor state.
781
- *
782
- * @return {?string} First block client ID in the multi-selection set.
783
- */
784
- export function getFirstMultiSelectedBlockClientId(state) {
371
+ const getMultiSelectedBlocks = createSelector(
372
+ (state) => {
373
+ const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state);
374
+ if (!multiSelectedBlockClientIds.length) {
375
+ return EMPTY_ARRAY;
376
+ }
377
+ return multiSelectedBlockClientIds.map(
378
+ (clientId) => getBlock(state, clientId)
379
+ );
380
+ },
381
+ (state) => [
382
+ ...getSelectedBlockClientIds.getDependants(state),
383
+ state.blocks.byClientId,
384
+ state.blocks.order,
385
+ state.blocks.attributes
386
+ ]
387
+ );
388
+ function getFirstMultiSelectedBlockClientId(state) {
785
389
  return getMultiSelectedBlockClientIds(state)[0] || null;
786
390
  }
787
-
788
- /**
789
- * Returns the client ID of the last block in the multi-selection set, or null
790
- * if there is no multi-selection.
791
- *
792
- * @param {Object} state Editor state.
793
- *
794
- * @return {?string} Last block client ID in the multi-selection set.
795
- */
796
- export function getLastMultiSelectedBlockClientId(state) {
391
+ function getLastMultiSelectedBlockClientId(state) {
797
392
  const selectedClientIds = getMultiSelectedBlockClientIds(state);
798
393
  return selectedClientIds[selectedClientIds.length - 1] || null;
799
394
  }
800
-
801
- /**
802
- * Returns true if a multi-selection exists, and the block corresponding to the
803
- * specified client ID is the first block of the multi-selection set, or false
804
- * otherwise.
805
- *
806
- * @param {Object} state Editor state.
807
- * @param {string} clientId Block client ID.
808
- *
809
- * @return {boolean} Whether block is first in multi-selection.
810
- */
811
- export function isFirstMultiSelectedBlock(state, clientId) {
395
+ function isFirstMultiSelectedBlock(state, clientId) {
812
396
  return getFirstMultiSelectedBlockClientId(state) === clientId;
813
397
  }
814
-
815
- /**
816
- * Returns true if the client ID occurs within the block multi-selection, or
817
- * false otherwise.
818
- *
819
- * @param {Object} state Editor state.
820
- * @param {string} clientId Block client ID.
821
- *
822
- * @return {boolean} Whether block is in multi-selection set.
823
- */
824
- export function isBlockMultiSelected(state, clientId) {
398
+ function isBlockMultiSelected(state, clientId) {
825
399
  return getMultiSelectedBlockClientIds(state).indexOf(clientId) !== -1;
826
400
  }
827
-
828
- /**
829
- * Returns true if an ancestor of the block is multi-selected, or false
830
- * otherwise.
831
- *
832
- * @param {Object} state Editor state.
833
- * @param {string} clientId Block client ID.
834
- *
835
- * @return {boolean} Whether an ancestor of the block is in multi-selection
836
- * set.
837
- */
838
- export const isAncestorMultiSelected = createSelector((state, clientId) => {
839
- let ancestorClientId = clientId;
840
- let isMultiSelected = false;
841
- while (ancestorClientId && !isMultiSelected) {
842
- ancestorClientId = getBlockRootClientId(state, ancestorClientId);
843
- isMultiSelected = isBlockMultiSelected(state, ancestorClientId);
844
- }
845
- return isMultiSelected;
846
- }, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]);
847
-
848
- /**
849
- * Returns the client ID of the block which begins the multi-selection set, or
850
- * null if there is no multi-selection.
851
- *
852
- * This is not necessarily the first client ID in the selection.
853
- *
854
- * @see getFirstMultiSelectedBlockClientId
855
- *
856
- * @param {Object} state Editor state.
857
- *
858
- * @return {?string} Client ID of block beginning multi-selection.
859
- */
860
- export function getMultiSelectedBlocksStartClientId(state) {
861
- const {
862
- selectionStart,
863
- selectionEnd
864
- } = state.selection;
401
+ const isAncestorMultiSelected = createSelector(
402
+ (state, clientId) => {
403
+ let ancestorClientId = clientId;
404
+ let isMultiSelected = false;
405
+ while (ancestorClientId && !isMultiSelected) {
406
+ ancestorClientId = getBlockRootClientId(state, ancestorClientId);
407
+ isMultiSelected = isBlockMultiSelected(state, ancestorClientId);
408
+ }
409
+ return isMultiSelected;
410
+ },
411
+ (state) => [
412
+ state.blocks.order,
413
+ state.selection.selectionStart.clientId,
414
+ state.selection.selectionEnd.clientId
415
+ ]
416
+ );
417
+ function getMultiSelectedBlocksStartClientId(state) {
418
+ const { selectionStart, selectionEnd } = state.selection;
865
419
  if (selectionStart.clientId === selectionEnd.clientId) {
866
420
  return null;
867
421
  }
868
422
  return selectionStart.clientId || null;
869
423
  }
870
-
871
- /**
872
- * Returns the client ID of the block which ends the multi-selection set, or
873
- * null if there is no multi-selection.
874
- *
875
- * This is not necessarily the last client ID in the selection.
876
- *
877
- * @see getLastMultiSelectedBlockClientId
878
- *
879
- * @param {Object} state Editor state.
880
- *
881
- * @return {?string} Client ID of block ending multi-selection.
882
- */
883
- export function getMultiSelectedBlocksEndClientId(state) {
884
- const {
885
- selectionStart,
886
- selectionEnd
887
- } = state.selection;
424
+ function getMultiSelectedBlocksEndClientId(state) {
425
+ const { selectionStart, selectionEnd } = state.selection;
888
426
  if (selectionStart.clientId === selectionEnd.clientId) {
889
427
  return null;
890
428
  }
891
429
  return selectionEnd.clientId || null;
892
430
  }
893
-
894
- /**
895
- * Returns true if the selection is not partial.
896
- *
897
- * @param {Object} state Editor state.
898
- *
899
- * @return {boolean} Whether the selection is mergeable.
900
- */
901
- export function __unstableIsFullySelected(state) {
431
+ function __unstableIsFullySelected(state) {
902
432
  const selectionAnchor = getSelectionStart(state);
903
433
  const selectionFocus = getSelectionEnd(state);
904
- return !selectionAnchor.attributeKey && !selectionFocus.attributeKey && typeof selectionAnchor.offset === 'undefined' && typeof selectionFocus.offset === 'undefined';
905
- }
906
-
907
- /**
908
- * Returns true if the selection is collapsed.
909
- *
910
- * @param {Object} state Editor state.
911
- *
912
- * @return {boolean} Whether the selection is collapsed.
913
- */
914
- export function __unstableIsSelectionCollapsed(state) {
434
+ return !selectionAnchor.attributeKey && !selectionFocus.attributeKey && typeof selectionAnchor.offset === "undefined" && typeof selectionFocus.offset === "undefined";
435
+ }
436
+ function __unstableIsSelectionCollapsed(state) {
915
437
  const selectionAnchor = getSelectionStart(state);
916
438
  const selectionFocus = getSelectionEnd(state);
917
439
  return !!selectionAnchor && !!selectionFocus && selectionAnchor.clientId === selectionFocus.clientId && selectionAnchor.attributeKey === selectionFocus.attributeKey && selectionAnchor.offset === selectionFocus.offset;
918
440
  }
919
- export function __unstableSelectionHasUnmergeableBlock(state) {
920
- return getSelectedBlockClientIds(state).some(clientId => {
441
+ function __unstableSelectionHasUnmergeableBlock(state) {
442
+ return getSelectedBlockClientIds(state).some((clientId) => {
921
443
  const blockName = getBlockName(state, clientId);
922
444
  const blockType = getBlockType(blockName);
923
445
  return !blockType.merge;
924
446
  });
925
447
  }
926
-
927
- /**
928
- * Check whether the selection is mergeable.
929
- *
930
- * @param {Object} state Editor state.
931
- * @param {boolean} isForward Whether to merge forwards.
932
- *
933
- * @return {boolean} Whether the selection is mergeable.
934
- */
935
- export function __unstableIsSelectionMergeable(state, isForward) {
448
+ function __unstableIsSelectionMergeable(state, isForward) {
936
449
  const selectionAnchor = getSelectionStart(state);
937
450
  const selectionFocus = getSelectionEnd(state);
938
-
939
- // It's not mergeable if the start and end are within the same block.
940
451
  if (selectionAnchor.clientId === selectionFocus.clientId) {
941
452
  return false;
942
453
  }
943
-
944
- // It's not mergeable if there's no rich text selection.
945
- if (!selectionAnchor.attributeKey || !selectionFocus.attributeKey || typeof selectionAnchor.offset === 'undefined' || typeof selectionFocus.offset === 'undefined') {
454
+ if (!selectionAnchor.attributeKey || !selectionFocus.attributeKey || typeof selectionAnchor.offset === "undefined" || typeof selectionFocus.offset === "undefined") {
946
455
  return false;
947
456
  }
948
- const anchorRootClientId = getBlockRootClientId(state, selectionAnchor.clientId);
949
- const focusRootClientId = getBlockRootClientId(state, selectionFocus.clientId);
950
-
951
- // It's not mergeable if the selection doesn't start and end in the same
952
- // block list. Maybe in the future it should be allowed.
457
+ const anchorRootClientId = getBlockRootClientId(
458
+ state,
459
+ selectionAnchor.clientId
460
+ );
461
+ const focusRootClientId = getBlockRootClientId(
462
+ state,
463
+ selectionFocus.clientId
464
+ );
953
465
  if (anchorRootClientId !== focusRootClientId) {
954
466
  return false;
955
467
  }
956
468
  const blockOrder = getBlockOrder(state, anchorRootClientId);
957
469
  const anchorIndex = blockOrder.indexOf(selectionAnchor.clientId);
958
470
  const focusIndex = blockOrder.indexOf(selectionFocus.clientId);
959
-
960
- // Reassign selection start and end based on order.
961
471
  let selectionStart, selectionEnd;
962
472
  if (anchorIndex > focusIndex) {
963
473
  selectionStart = selectionFocus;
@@ -974,179 +484,103 @@ export function __unstableIsSelectionMergeable(state, isForward) {
974
484
  return false;
975
485
  }
976
486
  const blockToMerge = getBlock(state, blockToMergeClientId);
977
-
978
- // It's mergeable if the blocks are of the same type.
979
487
  if (blockToMerge.name === targetBlockName) {
980
488
  return true;
981
489
  }
982
-
983
- // If the blocks are of a different type, try to transform the block being
984
- // merged into the same type of block.
985
490
  const blocksToMerge = switchToBlockType(blockToMerge, targetBlockName);
986
491
  return blocksToMerge && blocksToMerge.length;
987
492
  }
988
-
989
- /**
990
- * Get partial selected blocks with their content updated
991
- * based on the selection.
992
- *
993
- * @param {Object} state Editor state.
994
- *
995
- * @return {Object[]} Updated partial selected blocks.
996
- */
997
- export const __unstableGetSelectedBlocksWithPartialSelection = state => {
493
+ const __unstableGetSelectedBlocksWithPartialSelection = (state) => {
998
494
  const selectionAnchor = getSelectionStart(state);
999
495
  const selectionFocus = getSelectionEnd(state);
1000
496
  if (selectionAnchor.clientId === selectionFocus.clientId) {
1001
497
  return EMPTY_ARRAY;
1002
498
  }
1003
-
1004
- // Can't split if the selection is not set.
1005
- if (!selectionAnchor.attributeKey || !selectionFocus.attributeKey || typeof selectionAnchor.offset === 'undefined' || typeof selectionFocus.offset === 'undefined') {
499
+ if (!selectionAnchor.attributeKey || !selectionFocus.attributeKey || typeof selectionAnchor.offset === "undefined" || typeof selectionFocus.offset === "undefined") {
1006
500
  return EMPTY_ARRAY;
1007
501
  }
1008
- const anchorRootClientId = getBlockRootClientId(state, selectionAnchor.clientId);
1009
- const focusRootClientId = getBlockRootClientId(state, selectionFocus.clientId);
1010
-
1011
- // It's not splittable if the selection doesn't start and end in the same
1012
- // block list. Maybe in the future it should be allowed.
502
+ const anchorRootClientId = getBlockRootClientId(
503
+ state,
504
+ selectionAnchor.clientId
505
+ );
506
+ const focusRootClientId = getBlockRootClientId(
507
+ state,
508
+ selectionFocus.clientId
509
+ );
1013
510
  if (anchorRootClientId !== focusRootClientId) {
1014
511
  return EMPTY_ARRAY;
1015
512
  }
1016
513
  const blockOrder = getBlockOrder(state, anchorRootClientId);
1017
514
  const anchorIndex = blockOrder.indexOf(selectionAnchor.clientId);
1018
515
  const focusIndex = blockOrder.indexOf(selectionFocus.clientId);
1019
-
1020
- // Reassign selection start and end based on order.
1021
516
  const [selectionStart, selectionEnd] = anchorIndex > focusIndex ? [selectionFocus, selectionAnchor] : [selectionAnchor, selectionFocus];
1022
517
  const blockA = getBlock(state, selectionStart.clientId);
1023
518
  const blockB = getBlock(state, selectionEnd.clientId);
1024
519
  const htmlA = blockA.attributes[selectionStart.attributeKey];
1025
520
  const htmlB = blockB.attributes[selectionEnd.attributeKey];
1026
- let valueA = create({
1027
- html: htmlA
1028
- });
1029
- let valueB = create({
1030
- html: htmlB
1031
- });
521
+ let valueA = create({ html: htmlA });
522
+ let valueB = create({ html: htmlB });
1032
523
  valueA = remove(valueA, 0, selectionStart.offset);
1033
524
  valueB = remove(valueB, selectionEnd.offset, valueB.text.length);
1034
- return [{
1035
- ...blockA,
1036
- attributes: {
1037
- ...blockA.attributes,
1038
- [selectionStart.attributeKey]: toHTMLString({
1039
- value: valueA
1040
- })
1041
- }
1042
- }, {
1043
- ...blockB,
1044
- attributes: {
1045
- ...blockB.attributes,
1046
- [selectionEnd.attributeKey]: toHTMLString({
1047
- value: valueB
1048
- })
525
+ return [
526
+ {
527
+ ...blockA,
528
+ attributes: {
529
+ ...blockA.attributes,
530
+ [selectionStart.attributeKey]: toHTMLString({
531
+ value: valueA
532
+ })
533
+ }
534
+ },
535
+ {
536
+ ...blockB,
537
+ attributes: {
538
+ ...blockB.attributes,
539
+ [selectionEnd.attributeKey]: toHTMLString({
540
+ value: valueB
541
+ })
542
+ }
1049
543
  }
1050
- }];
544
+ ];
1051
545
  };
1052
-
1053
- /**
1054
- * Returns an array containing all block client IDs in the editor in the order
1055
- * they appear. Optionally accepts a root client ID of the block list for which
1056
- * the order should be returned, defaulting to the top-level block order.
1057
- *
1058
- * @param {Object} state Editor state.
1059
- * @param {?string} rootClientId Optional root client ID of block list.
1060
- *
1061
- * @return {Array} Ordered client IDs of editor blocks.
1062
- */
1063
- export function getBlockOrder(state, rootClientId) {
1064
- return state.blocks.order.get(rootClientId || '') || EMPTY_ARRAY;
1065
- }
1066
-
1067
- /**
1068
- * Returns the index at which the block corresponding to the specified client
1069
- * ID occurs within the block order, or `-1` if the block does not exist.
1070
- *
1071
- * @param {Object} state Editor state.
1072
- * @param {string} clientId Block client ID.
1073
- *
1074
- * @return {number} Index at which block exists in order.
1075
- */
1076
- export function getBlockIndex(state, clientId) {
546
+ function getBlockOrder(state, rootClientId) {
547
+ return state.blocks.order.get(rootClientId || "") || EMPTY_ARRAY;
548
+ }
549
+ function getBlockIndex(state, clientId) {
1077
550
  const rootClientId = getBlockRootClientId(state, clientId);
1078
551
  return getBlockOrder(state, rootClientId).indexOf(clientId);
1079
552
  }
1080
-
1081
- /**
1082
- * Returns true if the block corresponding to the specified client ID is
1083
- * currently selected and no multi-selection exists, or false otherwise.
1084
- *
1085
- * @param {Object} state Editor state.
1086
- * @param {string} clientId Block client ID.
1087
- *
1088
- * @return {boolean} Whether block is selected and multi-selection exists.
1089
- */
1090
- export function isBlockSelected(state, clientId) {
1091
- const {
1092
- selectionStart,
1093
- selectionEnd
1094
- } = state.selection;
553
+ function isBlockSelected(state, clientId) {
554
+ const { selectionStart, selectionEnd } = state.selection;
1095
555
  if (selectionStart.clientId !== selectionEnd.clientId) {
1096
556
  return false;
1097
557
  }
1098
558
  return selectionStart.clientId === clientId;
1099
559
  }
1100
-
1101
- /**
1102
- * Returns true if one of the block's inner blocks is selected.
1103
- *
1104
- * @param {Object} state Editor state.
1105
- * @param {string} clientId Block client ID.
1106
- * @param {boolean} deep Perform a deep check.
1107
- *
1108
- * @return {boolean} Whether the block has an inner block selected
1109
- */
1110
- export function hasSelectedInnerBlock(state, clientId, deep = false) {
560
+ function hasSelectedInnerBlock(state, clientId, deep = false) {
1111
561
  const selectedBlockClientIds = getSelectedBlockClientIds(state);
1112
562
  if (!selectedBlockClientIds.length) {
1113
563
  return false;
1114
564
  }
1115
565
  if (deep) {
1116
- return selectedBlockClientIds.some(id =>
1117
- // Pass true because we don't care about order and it's more
1118
- // performant.
1119
- getBlockParents(state, id, true).includes(clientId));
1120
- }
1121
- return selectedBlockClientIds.some(id => getBlockRootClientId(state, id) === clientId);
1122
- }
1123
-
1124
- /**
1125
- * Returns true if one of the block's inner blocks is dragged.
1126
- *
1127
- * @param {Object} state Editor state.
1128
- * @param {string} clientId Block client ID.
1129
- * @param {boolean} deep Perform a deep check.
1130
- *
1131
- * @return {boolean} Whether the block has an inner block dragged
1132
- */
1133
- export function hasDraggedInnerBlock(state, clientId, deep = false) {
1134
- return getBlockOrder(state, clientId).some(innerClientId => isBlockBeingDragged(state, innerClientId) || deep && hasDraggedInnerBlock(state, innerClientId, deep));
1135
- }
1136
-
1137
- /**
1138
- * Returns true if the block corresponding to the specified client ID is
1139
- * currently selected but isn't the last of the selected blocks. Here "last"
1140
- * refers to the block sequence in the document, _not_ the sequence of
1141
- * multi-selection, which is why `state.selectionEnd` isn't used.
1142
- *
1143
- * @param {Object} state Editor state.
1144
- * @param {string} clientId Block client ID.
1145
- *
1146
- * @return {boolean} Whether block is selected and not the last in the
1147
- * selection.
1148
- */
1149
- export function isBlockWithinSelection(state, clientId) {
566
+ return selectedBlockClientIds.some(
567
+ (id) => (
568
+ // Pass true because we don't care about order and it's more
569
+ // performant.
570
+ getBlockParents(state, id, true).includes(clientId)
571
+ )
572
+ );
573
+ }
574
+ return selectedBlockClientIds.some(
575
+ (id) => getBlockRootClientId(state, id) === clientId
576
+ );
577
+ }
578
+ function hasDraggedInnerBlock(state, clientId, deep = false) {
579
+ return getBlockOrder(state, clientId).some(
580
+ (innerClientId) => isBlockBeingDragged(state, innerClientId) || deep && hasDraggedInnerBlock(state, innerClientId, deep)
581
+ );
582
+ }
583
+ function isBlockWithinSelection(state, clientId) {
1150
584
  if (!clientId) {
1151
585
  return false;
1152
586
  }
@@ -1154,247 +588,95 @@ export function isBlockWithinSelection(state, clientId) {
1154
588
  const index = clientIds.indexOf(clientId);
1155
589
  return index > -1 && index < clientIds.length - 1;
1156
590
  }
1157
-
1158
- /**
1159
- * Returns true if a multi-selection has been made, or false otherwise.
1160
- *
1161
- * @param {Object} state Editor state.
1162
- *
1163
- * @return {boolean} Whether multi-selection has been made.
1164
- */
1165
- export function hasMultiSelection(state) {
1166
- const {
1167
- selectionStart,
1168
- selectionEnd
1169
- } = state.selection;
591
+ function hasMultiSelection(state) {
592
+ const { selectionStart, selectionEnd } = state.selection;
1170
593
  return selectionStart.clientId !== selectionEnd.clientId;
1171
594
  }
1172
-
1173
- /**
1174
- * Whether in the process of multi-selecting or not. This flag is only true
1175
- * while the multi-selection is being selected (by mouse move), and is false
1176
- * once the multi-selection has been settled.
1177
- *
1178
- * @see hasMultiSelection
1179
- *
1180
- * @param {Object} state Global application state.
1181
- *
1182
- * @return {boolean} True if multi-selecting, false if not.
1183
- */
1184
- export function isMultiSelecting(state) {
595
+ function isMultiSelecting(state) {
1185
596
  return state.isMultiSelecting;
1186
597
  }
1187
-
1188
- /**
1189
- * Selector that returns if multi-selection is enabled or not.
1190
- *
1191
- * @param {Object} state Global application state.
1192
- *
1193
- * @return {boolean} True if it should be possible to multi-select blocks, false if multi-selection is disabled.
1194
- */
1195
- export function isSelectionEnabled(state) {
598
+ function isSelectionEnabled(state) {
1196
599
  return state.isSelectionEnabled;
1197
600
  }
1198
-
1199
- /**
1200
- * Returns the block's editing mode, defaulting to "visual" if not explicitly
1201
- * assigned.
1202
- *
1203
- * @param {Object} state Editor state.
1204
- * @param {string} clientId Block client ID.
1205
- *
1206
- * @return {Object} Block editing mode.
1207
- */
1208
- export function getBlockMode(state, clientId) {
1209
- return state.blocksMode[clientId] || 'visual';
1210
- }
1211
-
1212
- /**
1213
- * Returns true if the user is typing, or false otherwise.
1214
- *
1215
- * @param {Object} state Global application state.
1216
- *
1217
- * @return {boolean} Whether user is typing.
1218
- */
1219
- export function isTyping(state) {
601
+ function getBlockMode(state, clientId) {
602
+ return state.blocksMode[clientId] || "visual";
603
+ }
604
+ function isTyping(state) {
1220
605
  return state.isTyping;
1221
606
  }
1222
-
1223
- /**
1224
- * Returns true if the user is dragging blocks, or false otherwise.
1225
- *
1226
- * @param {Object} state Global application state.
1227
- *
1228
- * @return {boolean} Whether user is dragging blocks.
1229
- */
1230
- export function isDraggingBlocks(state) {
607
+ function isDraggingBlocks(state) {
1231
608
  return !!state.draggedBlocks.length;
1232
609
  }
1233
-
1234
- /**
1235
- * Returns the client ids of any blocks being directly dragged.
1236
- *
1237
- * This does not include children of a parent being dragged.
1238
- *
1239
- * @param {Object} state Global application state.
1240
- *
1241
- * @return {string[]} Array of dragged block client ids.
1242
- */
1243
- export function getDraggedBlockClientIds(state) {
610
+ function getDraggedBlockClientIds(state) {
1244
611
  return state.draggedBlocks;
1245
612
  }
1246
-
1247
- /**
1248
- * Returns whether the block is being dragged.
1249
- *
1250
- * Only returns true if the block is being directly dragged,
1251
- * not if the block is a child of a parent being dragged.
1252
- * See `isAncestorBeingDragged` for child blocks.
1253
- *
1254
- * @param {Object} state Global application state.
1255
- * @param {string} clientId Client id for block to check.
1256
- *
1257
- * @return {boolean} Whether the block is being dragged.
1258
- */
1259
- export function isBlockBeingDragged(state, clientId) {
613
+ function isBlockBeingDragged(state, clientId) {
1260
614
  return state.draggedBlocks.includes(clientId);
1261
615
  }
1262
-
1263
- /**
1264
- * Returns whether a parent/ancestor of the block is being dragged.
1265
- *
1266
- * @param {Object} state Global application state.
1267
- * @param {string} clientId Client id for block to check.
1268
- *
1269
- * @return {boolean} Whether the block's ancestor is being dragged.
1270
- */
1271
- export function isAncestorBeingDragged(state, clientId) {
1272
- // Return early if no blocks are being dragged rather than
1273
- // the more expensive check for parents.
616
+ function isAncestorBeingDragged(state, clientId) {
1274
617
  if (!isDraggingBlocks(state)) {
1275
618
  return false;
1276
619
  }
1277
620
  const parents = getBlockParents(state, clientId);
1278
- return parents.some(parentClientId => isBlockBeingDragged(state, parentClientId));
1279
- }
1280
-
1281
- /**
1282
- * Returns true if the caret is within formatted text, or false otherwise.
1283
- *
1284
- * @deprecated
1285
- *
1286
- * @return {boolean} Whether the caret is within formatted text.
1287
- */
1288
- export function isCaretWithinFormattedText() {
1289
- deprecated('wp.data.select( "core/block-editor" ).isCaretWithinFormattedText', {
1290
- since: '6.1',
1291
- version: '6.3'
1292
- });
621
+ return parents.some(
622
+ (parentClientId) => isBlockBeingDragged(state, parentClientId)
623
+ );
624
+ }
625
+ function isCaretWithinFormattedText() {
626
+ deprecated(
627
+ 'wp.data.select( "core/block-editor" ).isCaretWithinFormattedText',
628
+ {
629
+ since: "6.1",
630
+ version: "6.3"
631
+ }
632
+ );
1293
633
  return false;
1294
634
  }
1295
-
1296
- /**
1297
- * Returns the location of the insertion cue. Defaults to the last index.
1298
- *
1299
- * @param {Object} state Editor state.
1300
- *
1301
- * @return {Object} Insertion point object with `rootClientId`, `index`.
1302
- */
1303
- export const getBlockInsertionPoint = createSelector(state => {
1304
- let rootClientId, index;
1305
- const {
1306
- insertionCue,
1307
- selection: {
1308
- selectionEnd
635
+ const getBlockInsertionPoint = createSelector(
636
+ (state) => {
637
+ let rootClientId, index;
638
+ const {
639
+ insertionCue,
640
+ selection: { selectionEnd }
641
+ } = state;
642
+ if (insertionCue !== null) {
643
+ return insertionCue;
1309
644
  }
1310
- } = state;
1311
- if (insertionCue !== null) {
1312
- return insertionCue;
1313
- }
1314
- const {
1315
- clientId
1316
- } = selectionEnd;
1317
- if (clientId) {
1318
- rootClientId = getBlockRootClientId(state, clientId) || undefined;
1319
- index = getBlockIndex(state, selectionEnd.clientId) + 1;
1320
- } else {
1321
- index = getBlockOrder(state).length;
1322
- }
1323
- return {
1324
- rootClientId,
1325
- index
1326
- };
1327
- }, state => [state.insertionCue, state.selection.selectionEnd.clientId, state.blocks.parents, state.blocks.order]);
1328
-
1329
- /**
1330
- * Returns true if the block insertion point is visible.
1331
- *
1332
- * @param {Object} state Global application state.
1333
- *
1334
- * @return {?boolean} Whether the insertion point is visible or not.
1335
- */
1336
- export function isBlockInsertionPointVisible(state) {
645
+ const { clientId } = selectionEnd;
646
+ if (clientId) {
647
+ rootClientId = getBlockRootClientId(state, clientId) || void 0;
648
+ index = getBlockIndex(state, selectionEnd.clientId) + 1;
649
+ } else {
650
+ index = getBlockOrder(state).length;
651
+ }
652
+ return { rootClientId, index };
653
+ },
654
+ (state) => [
655
+ state.insertionCue,
656
+ state.selection.selectionEnd.clientId,
657
+ state.blocks.parents,
658
+ state.blocks.order
659
+ ]
660
+ );
661
+ function isBlockInsertionPointVisible(state) {
1337
662
  return state.insertionCue !== null;
1338
663
  }
1339
-
1340
- /**
1341
- * Returns whether the blocks matches the template or not.
1342
- *
1343
- * @param {boolean} state
1344
- * @return {?boolean} Whether the template is valid or not.
1345
- */
1346
- export function isValidTemplate(state) {
664
+ function isValidTemplate(state) {
1347
665
  return state.template.isValid;
1348
666
  }
1349
-
1350
- /**
1351
- * Returns the defined block template
1352
- *
1353
- * @param {boolean} state
1354
- *
1355
- * @return {?Array} Block Template.
1356
- */
1357
- export function getTemplate(state) {
667
+ function getTemplate(state) {
1358
668
  return state.settings.template;
1359
669
  }
1360
-
1361
- /**
1362
- * Returns the defined block template lock. Optionally accepts a root block
1363
- * client ID as context, otherwise defaulting to the global context.
1364
- *
1365
- * @param {Object} state Editor state.
1366
- * @param {?string} rootClientId Optional block root client ID.
1367
- *
1368
- * @return {string|false} Block Template Lock
1369
- */
1370
- export function getTemplateLock(state, rootClientId) {
1371
- var _getBlockListSettings;
670
+ function getTemplateLock(state, rootClientId) {
1372
671
  if (!rootClientId) {
1373
- var _state$settings$templ;
1374
- return (_state$settings$templ = state.settings.templateLock) !== null && _state$settings$templ !== void 0 ? _state$settings$templ : false;
1375
- }
1376
- return (_getBlockListSettings = getBlockListSettings(state, rootClientId)?.templateLock) !== null && _getBlockListSettings !== void 0 ? _getBlockListSettings : false;
1377
- }
1378
-
1379
- /**
1380
- * Determines if the given block type is visible in the inserter.
1381
- * Note that this is different than whether a block is allowed to be inserted.
1382
- * In some cases, the block is not allowed in a given position but
1383
- * it should still be visible in the inserter to be able to add it
1384
- * to a different position.
1385
- *
1386
- * @param {Object} state Editor state.
1387
- * @param {string|Object} blockNameOrType The block type object, e.g., the response
1388
- * from the block directory; or a string name of
1389
- * an installed block type, e.g.' core/paragraph'.
1390
- * @param {?string} rootClientId Optional root client ID of block list.
1391
- *
1392
- * @return {boolean} Whether the given block type is allowed to be inserted.
1393
- */
672
+ return state.settings.templateLock ?? false;
673
+ }
674
+ return getBlockListSettings(state, rootClientId)?.templateLock ?? false;
675
+ }
1394
676
  const isBlockVisibleInTheInserter = (state, blockNameOrType, rootClientId = null) => {
1395
677
  let blockType;
1396
678
  let blockName;
1397
- if (blockNameOrType && 'object' === typeof blockNameOrType) {
679
+ if (blockNameOrType && "object" === typeof blockNameOrType) {
1398
680
  blockType = blockNameOrType;
1399
681
  blockName = blockNameOrType.name;
1400
682
  } else {
@@ -1404,20 +686,18 @@ const isBlockVisibleInTheInserter = (state, blockNameOrType, rootClientId = null
1404
686
  if (!blockType) {
1405
687
  return false;
1406
688
  }
1407
- const {
1408
- allowedBlockTypes
1409
- } = getSettings(state);
1410
- const isBlockAllowedInEditor = checkAllowList(allowedBlockTypes, blockName, true);
689
+ const { allowedBlockTypes } = getSettings(state);
690
+ const isBlockAllowedInEditor = checkAllowList(
691
+ allowedBlockTypes,
692
+ blockName,
693
+ true
694
+ );
1411
695
  if (!isBlockAllowedInEditor) {
1412
696
  return false;
1413
697
  }
1414
-
1415
- // If parent blocks are not visible, child blocks should be hidden too.
1416
698
  const parents = (Array.isArray(blockType.parent) ? blockType.parent : []).concat(Array.isArray(blockType.ancestor) ? blockType.ancestor : []);
1417
699
  if (parents.length > 0) {
1418
- // This is an exception to the rule that says that all blocks are visible in the inserter.
1419
- // Blocks that require a given parent or ancestor are only visible if we're within that parent.
1420
- if (parents.includes('core/post-content')) {
700
+ if (parents.includes("core/post-content")) {
1421
701
  return true;
1422
702
  }
1423
703
  let current = rootClientId;
@@ -1433,26 +713,12 @@ const isBlockVisibleInTheInserter = (state, blockNameOrType, rootClientId = null
1433
713
  }
1434
714
  return true;
1435
715
  };
1436
-
1437
- /**
1438
- * Determines if the given block type is allowed to be inserted into the block list.
1439
- * This function is not exported and not memoized because using a memoized selector
1440
- * inside another memoized selector is just a waste of time.
1441
- *
1442
- * @param {Object} state Editor state.
1443
- * @param {string|Object} blockName The block type object, e.g., the response
1444
- * from the block directory; or a string name of
1445
- * an installed block type, e.g.' core/paragraph'.
1446
- * @param {?string} rootClientId Optional root client ID of block list.
1447
- *
1448
- * @return {boolean} Whether the given block type is allowed to be inserted.
1449
- */
1450
716
  const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) => {
1451
717
  if (!isBlockVisibleInTheInserter(state, blockName, rootClientId)) {
1452
718
  return false;
1453
719
  }
1454
720
  let blockType;
1455
- if (blockName && 'object' === typeof blockName) {
721
+ if (blockName && "object" === typeof blockName) {
1456
722
  blockType = blockName;
1457
723
  blockName = blockType.name;
1458
724
  } else {
@@ -1464,116 +730,94 @@ const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) =>
1464
730
  }
1465
731
  const isContentRoleBlock = isContentBlock(blockName);
1466
732
  const isParentSectionBlock = !!isSectionBlock(state, rootClientId);
1467
- // It shouldn't be possible to insert inside a section block unless in
1468
- // some cases when the block is a content block.
1469
733
  if (isParentSectionBlock && !isContentRoleBlock) {
1470
734
  return false;
1471
735
  }
1472
- const blockEditingMode = getBlockEditingMode(state, rootClientId !== null && rootClientId !== void 0 ? rootClientId : '');
1473
- if (blockEditingMode === 'disabled') {
736
+ const blockEditingMode = getBlockEditingMode(state, rootClientId ?? "");
737
+ if (blockEditingMode === "disabled") {
1474
738
  return false;
1475
739
  }
1476
740
  const parentBlockListSettings = getBlockListSettings(state, rootClientId);
1477
-
1478
- // The parent block doesn't have settings indicating it doesn't support
1479
- // inner blocks, return false.
1480
- if (rootClientId && parentBlockListSettings === undefined) {
741
+ if (rootClientId && parentBlockListSettings === void 0) {
1481
742
  return false;
1482
743
  }
1483
-
1484
- // In write mode, check if this container allows insertion.
1485
- if (blockEditingMode === 'contentOnly' && isNavigationMode(state) && !isContainerInsertableToInWriteMode(state, blockName, rootClientId)) {
744
+ if (blockEditingMode === "contentOnly" && !isContainerInsertableToInWriteMode(state, blockName, rootClientId)) {
1486
745
  return false;
1487
746
  }
1488
747
  const parentName = getBlockName(state, rootClientId);
1489
748
  const parentBlockType = getBlockType(parentName);
1490
-
1491
- // Look at the `blockType.allowedBlocks` field to determine whether this is an allowed child block.
1492
749
  const parentAllowedChildBlocks = parentBlockType?.allowedBlocks;
1493
- let hasParentAllowedBlock = checkAllowList(parentAllowedChildBlocks, blockName);
1494
-
1495
- // The `allowedBlocks` block list setting can further limit which blocks are allowed children.
750
+ let hasParentAllowedBlock = checkAllowList(
751
+ parentAllowedChildBlocks,
752
+ blockName
753
+ );
1496
754
  if (hasParentAllowedBlock !== false) {
1497
755
  const parentAllowedBlocks = parentBlockListSettings?.allowedBlocks;
1498
- const hasParentListAllowedBlock = checkAllowList(parentAllowedBlocks, blockName);
1499
- // Never downgrade the result from `true` to `null`
756
+ const hasParentListAllowedBlock = checkAllowList(
757
+ parentAllowedBlocks,
758
+ blockName
759
+ );
1500
760
  if (hasParentListAllowedBlock !== null) {
1501
761
  hasParentAllowedBlock = hasParentListAllowedBlock;
1502
762
  }
1503
763
  }
1504
764
  const blockAllowedParentBlocks = blockType.parent;
1505
- const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName);
765
+ const hasBlockAllowedParent = checkAllowList(
766
+ blockAllowedParentBlocks,
767
+ parentName
768
+ );
1506
769
  let hasBlockAllowedAncestor = true;
1507
770
  const blockAllowedAncestorBlocks = blockType.ancestor;
1508
771
  if (blockAllowedAncestorBlocks) {
1509
- const ancestors = [rootClientId, ...getBlockParents(state, rootClientId)];
1510
- hasBlockAllowedAncestor = ancestors.some(ancestorClientId => checkAllowList(blockAllowedAncestorBlocks, getBlockName(state, ancestorClientId)));
772
+ const ancestors = [
773
+ rootClientId,
774
+ ...getBlockParents(state, rootClientId)
775
+ ];
776
+ hasBlockAllowedAncestor = ancestors.some(
777
+ (ancestorClientId) => checkAllowList(
778
+ blockAllowedAncestorBlocks,
779
+ getBlockName(state, ancestorClientId)
780
+ )
781
+ );
1511
782
  }
1512
783
  const canInsert = hasBlockAllowedAncestor && (hasParentAllowedBlock === null && hasBlockAllowedParent === null || hasParentAllowedBlock === true || hasBlockAllowedParent === true);
1513
784
  if (!canInsert) {
1514
785
  return canInsert;
1515
786
  }
1516
-
1517
- /**
1518
- * This filter is an ad-hoc solution to prevent adding template parts inside post content.
1519
- * Conceptually, having a filter inside a selector is bad pattern so this code will be
1520
- * replaced by a declarative API that doesn't the following drawbacks:
1521
- *
1522
- * Filters are not reactive: Upon switching between "template mode" and non "template mode",
1523
- * the filter and selector won't necessarily be executed again. For now, it doesn't matter much
1524
- * because you can't switch between the two modes while the inserter stays open.
1525
- *
1526
- * Filters are global: Once they're defined, they will affect all editor instances and all registries.
1527
- * An ideal API would only affect specific editor instances.
1528
- */
1529
- return applyFilters('blockEditor.__unstableCanInsertBlockType', canInsert, blockType, rootClientId, {
1530
- // Pass bound selectors of the current registry. If we're in a nested
1531
- // context, the data will differ from the one selected from the root
1532
- // registry.
1533
- getBlock: getBlock.bind(null, state),
1534
- getBlockParentsByBlockName: getBlockParentsByBlockName.bind(null, state)
1535
- });
787
+ return applyFilters(
788
+ "blockEditor.__unstableCanInsertBlockType",
789
+ canInsert,
790
+ blockType,
791
+ rootClientId,
792
+ {
793
+ // Pass bound selectors of the current registry. If we're in a nested
794
+ // context, the data will differ from the one selected from the root
795
+ // registry.
796
+ getBlock: getBlock.bind(null, state),
797
+ getBlockParentsByBlockName: getBlockParentsByBlockName.bind(
798
+ null,
799
+ state
800
+ )
801
+ }
802
+ );
1536
803
  };
1537
-
1538
- /**
1539
- * Determines if the given block type is allowed to be inserted into the block list.
1540
- *
1541
- * @param {Object} state Editor state.
1542
- * @param {string} blockName The name of the block type, e.g.' core/paragraph'.
1543
- * @param {?string} rootClientId Optional root client ID of block list.
1544
- *
1545
- * @return {boolean} Whether the given block type is allowed to be inserted.
1546
- */
1547
- export const canInsertBlockType = createRegistrySelector(select => createSelector(canInsertBlockTypeUnmemoized, (state, blockName, rootClientId) => getInsertBlockTypeDependants(select)(state, rootClientId)));
1548
-
1549
- /**
1550
- * Determines if the given blocks are allowed to be inserted into the block
1551
- * list.
1552
- *
1553
- * @param {Object} state Editor state.
1554
- * @param {string[]} clientIds The block client IDs to be inserted.
1555
- * @param {?string} rootClientId Optional root client ID of block list.
1556
- *
1557
- * @return {boolean} Whether the given blocks are allowed to be inserted.
1558
- */
1559
- export function canInsertBlocks(state, clientIds, rootClientId = null) {
1560
- return clientIds.every(id => canInsertBlockType(state, getBlockName(state, id), rootClientId));
1561
- }
1562
-
1563
- /**
1564
- * Determines if the given block is allowed to be deleted.
1565
- *
1566
- * @param {Object} state Editor state.
1567
- * @param {string} clientId The block client Id.
1568
- *
1569
- * @return {boolean} Whether the given block is allowed to be removed.
1570
- */
1571
- export function canRemoveBlock(state, clientId) {
804
+ const canInsertBlockType = createRegistrySelector(
805
+ (select) => createSelector(
806
+ canInsertBlockTypeUnmemoized,
807
+ (state, blockName, rootClientId) => getInsertBlockTypeDependants(select)(state, rootClientId)
808
+ )
809
+ );
810
+ function canInsertBlocks(state, clientIds, rootClientId = null) {
811
+ return clientIds.every(
812
+ (id) => canInsertBlockType(state, getBlockName(state, id), rootClientId)
813
+ );
814
+ }
815
+ function canRemoveBlock(state, clientId) {
1572
816
  const attributes = getBlockAttributes(state, clientId);
1573
817
  if (attributes === null) {
1574
818
  return true;
1575
819
  }
1576
- if (attributes.lock?.remove !== undefined) {
820
+ if (attributes.lock?.remove !== void 0) {
1577
821
  return !attributes.lock.remove;
1578
822
  }
1579
823
  const rootClientId = getBlockRootClientId(state, clientId);
@@ -1581,148 +825,68 @@ export function canRemoveBlock(state, clientId) {
1581
825
  return false;
1582
826
  }
1583
827
  const isBlockWithinSection = !!getParentSectionBlock(state, clientId);
1584
- const isContentRoleBlock = isContentBlock(getBlockName(state, clientId));
828
+ const isContentRoleBlock = isContentBlock(
829
+ getBlockName(state, clientId)
830
+ );
1585
831
  if (isBlockWithinSection && !isContentRoleBlock) {
1586
832
  return false;
1587
833
  }
1588
834
  const blockEditingMode = getBlockEditingMode(state, rootClientId);
1589
-
1590
- // Check if the parent container allows insertion/removal in write mode
1591
- if (blockEditingMode === 'contentOnly' && isNavigationMode(state) && !isContainerInsertableToInWriteMode(state, getBlockName(state, rootClientId), rootClientId)) {
835
+ if (blockEditingMode === "contentOnly" && !isContainerInsertableToInWriteMode(
836
+ state,
837
+ getBlockName(state, rootClientId),
838
+ rootClientId
839
+ )) {
1592
840
  return false;
1593
841
  }
1594
- return blockEditingMode !== 'disabled';
1595
- }
1596
-
1597
- /**
1598
- * Determines if the given blocks are allowed to be removed.
1599
- *
1600
- * @param {Object} state Editor state.
1601
- * @param {string} clientIds The block client IDs to be removed.
1602
- *
1603
- * @return {boolean} Whether the given blocks are allowed to be removed.
1604
- */
1605
- export function canRemoveBlocks(state, clientIds) {
1606
- return clientIds.every(clientId => canRemoveBlock(state, clientId));
1607
- }
1608
-
1609
- /**
1610
- * Determines if the given block is allowed to be moved.
1611
- *
1612
- * @param {Object} state Editor state.
1613
- * @param {string} clientId The block client Id.
1614
- *
1615
- * @return {boolean} Whether the given block is allowed to be moved.
1616
- */
1617
- export function canMoveBlock(state, clientId) {
842
+ return blockEditingMode !== "disabled";
843
+ }
844
+ function canRemoveBlocks(state, clientIds) {
845
+ return clientIds.every((clientId) => canRemoveBlock(state, clientId));
846
+ }
847
+ function canMoveBlock(state, clientId) {
1618
848
  const attributes = getBlockAttributes(state, clientId);
1619
849
  if (attributes === null) {
1620
850
  return true;
1621
851
  }
1622
- if (attributes.lock?.move !== undefined) {
852
+ if (attributes.lock?.move !== void 0) {
1623
853
  return !attributes.lock.move;
1624
854
  }
1625
855
  const rootClientId = getBlockRootClientId(state, clientId);
1626
- if (getTemplateLock(state, rootClientId) === 'all') {
856
+ if (getTemplateLock(state, rootClientId) === "all") {
1627
857
  return false;
1628
858
  }
1629
- return getBlockEditingMode(state, rootClientId) !== 'disabled';
1630
- }
1631
-
1632
- /**
1633
- * Determines if the given blocks are allowed to be moved.
1634
- *
1635
- * @param {Object} state Editor state.
1636
- * @param {string} clientIds The block client IDs to be moved.
1637
- *
1638
- * @return {boolean} Whether the given blocks are allowed to be moved.
1639
- */
1640
- export function canMoveBlocks(state, clientIds) {
1641
- return clientIds.every(clientId => canMoveBlock(state, clientId));
1642
- }
1643
-
1644
- /**
1645
- * Determines if the given block is allowed to be edited.
1646
- *
1647
- * @param {Object} state Editor state.
1648
- * @param {string} clientId The block client Id.
1649
- *
1650
- * @return {boolean} Whether the given block is allowed to be edited.
1651
- */
1652
- export function canEditBlock(state, clientId) {
859
+ return getBlockEditingMode(state, rootClientId) !== "disabled";
860
+ }
861
+ function canMoveBlocks(state, clientIds) {
862
+ return clientIds.every((clientId) => canMoveBlock(state, clientId));
863
+ }
864
+ function canEditBlock(state, clientId) {
1653
865
  const attributes = getBlockAttributes(state, clientId);
1654
866
  if (attributes === null) {
1655
867
  return true;
1656
868
  }
1657
- const {
1658
- lock
1659
- } = attributes;
1660
-
1661
- // When the edit is true, we cannot edit the block.
869
+ const { lock } = attributes;
1662
870
  return !lock?.edit;
1663
871
  }
1664
-
1665
- /**
1666
- * Determines if the given block type can be locked/unlocked by a user.
1667
- *
1668
- * @param {Object} state Editor state.
1669
- * @param {(string|Object)} nameOrType Block name or type object.
1670
- *
1671
- * @return {boolean} Whether a given block type can be locked/unlocked.
1672
- */
1673
- export function canLockBlockType(state, nameOrType) {
1674
- if (!hasBlockSupport(nameOrType, 'lock', true)) {
872
+ function canLockBlockType(state, nameOrType) {
873
+ if (!hasBlockSupport(nameOrType, "lock", true)) {
1675
874
  return false;
1676
875
  }
1677
-
1678
- // Use block editor settings as the default value.
1679
876
  return !!state.settings?.canLockBlocks;
1680
877
  }
1681
-
1682
- /**
1683
- * Returns information about how recently and frequently a block has been inserted.
1684
- *
1685
- * @param {Object} state Global application state.
1686
- * @param {string} id A string which identifies the insert, e.g. 'core/block/12'
1687
- *
1688
- * @return {?{ time: number, count: number }} An object containing `time` which is when the last
1689
- * insert occurred as a UNIX epoch, and `count` which is
1690
- * the number of inserts that have occurred.
1691
- */
1692
878
  function getInsertUsage(state, id) {
1693
- var _state$preferences$in;
1694
- return (_state$preferences$in = state.preferences.insertUsage?.[id]) !== null && _state$preferences$in !== void 0 ? _state$preferences$in : null;
1695
- }
1696
-
1697
- /**
1698
- * Returns whether we can show a block type in the inserter
1699
- *
1700
- * @param {Object} state Global State
1701
- * @param {Object} blockType BlockType
1702
- * @param {?string} rootClientId Optional root client ID of block list.
1703
- *
1704
- * @return {boolean} Whether the given block type is allowed to be shown in the inserter.
1705
- */
879
+ return state.preferences.insertUsage?.[id] ?? null;
880
+ }
1706
881
  const canIncludeBlockTypeInInserter = (state, blockType, rootClientId) => {
1707
- if (!hasBlockSupport(blockType, 'inserter', true)) {
882
+ if (!hasBlockSupport(blockType, "inserter", true)) {
1708
883
  return false;
1709
884
  }
1710
885
  return canInsertBlockTypeUnmemoized(state, blockType.name, rootClientId);
1711
886
  };
1712
-
1713
- /**
1714
- * Return a function to be used to transform a block variation to an inserter item
1715
- *
1716
- * @param {Object} state Global State
1717
- * @param {Object} item Denormalized inserter item
1718
- * @return {Function} Function to transform a block variation to inserter item
1719
- */
1720
- const getItemFromVariation = (state, item) => variation => {
887
+ const getItemFromVariation = (state, item) => (variation) => {
1721
888
  const variationId = `${item.id}/${variation.name}`;
1722
- const {
1723
- time,
1724
- count = 0
1725
- } = getInsertUsage(state, variationId) || {};
889
+ const { time, count = 0 } = getInsertUsage(state, variationId) || {};
1726
890
  return {
1727
891
  ...item,
1728
892
  id: variationId,
@@ -1731,7 +895,7 @@ const getItemFromVariation = (state, item) => variation => {
1731
895
  description: variation.description || item.description,
1732
896
  category: variation.category || item.category,
1733
897
  // If `example` is explicitly undefined for the variation, the preview will not be shown.
1734
- example: variation.hasOwnProperty('example') ? variation.example : item.example,
898
+ example: variation.hasOwnProperty("example") ? variation.example : item.example,
1735
899
  initialAttributes: {
1736
900
  ...item.initialAttributes,
1737
901
  ...variation.attributes
@@ -1741,24 +905,10 @@ const getItemFromVariation = (state, item) => variation => {
1741
905
  frecency: calculateFrecency(time, count)
1742
906
  };
1743
907
  };
1744
-
1745
- /**
1746
- * Returns the calculated frecency.
1747
- *
1748
- * 'frecency' is a heuristic (https://en.wikipedia.org/wiki/Frecency)
1749
- * that combines block usage frequency and recency.
1750
- *
1751
- * @param {number} time When the last insert occurred as a UNIX epoch
1752
- * @param {number} count The number of inserts that have occurred.
1753
- *
1754
- * @return {number} The calculated frecency.
1755
- */
1756
908
  const calculateFrecency = (time, count) => {
1757
909
  if (!time) {
1758
910
  return count;
1759
911
  }
1760
- // The selector is cached, which means Date.now() is the last time that the
1761
- // relevant state changed. This suits our needs.
1762
912
  const duration = Date.now() - time;
1763
913
  switch (true) {
1764
914
  case duration < MILLISECONDS_PER_HOUR:
@@ -1771,31 +921,16 @@ const calculateFrecency = (time, count) => {
1771
921
  return count / 4;
1772
922
  }
1773
923
  };
1774
-
1775
- /**
1776
- * Returns a function that accepts a block type and builds an item to be shown
1777
- * in a specific context. It's used for building items for Inserter and available
1778
- * block Transforms list.
1779
- *
1780
- * @param {Object} state Editor state.
1781
- * @param {Object} options Options object for handling the building of a block type.
1782
- * @param {string} options.buildScope The scope for which the item is going to be used.
1783
- * @return {Function} Function returns an item to be shown in a specific context (Inserter|Transforms list).
1784
- */
1785
- const buildBlockTypeItem = (state, {
1786
- buildScope = 'inserter'
1787
- }) => blockType => {
924
+ const buildBlockTypeItem = (state, { buildScope = "inserter" }) => (blockType) => {
1788
925
  const id = blockType.name;
1789
926
  let isDisabled = false;
1790
- if (!hasBlockSupport(blockType.name, 'multiple', true)) {
1791
- isDisabled = getBlocksByClientId(state, getClientIdsWithDescendants(state)).some(({
1792
- name
1793
- }) => name === blockType.name);
1794
- }
1795
- const {
1796
- time,
1797
- count = 0
1798
- } = getInsertUsage(state, id) || {};
927
+ if (!hasBlockSupport(blockType.name, "multiple", true)) {
928
+ isDisabled = getBlocksByClientId(
929
+ state,
930
+ getClientIdsWithDescendants(state)
931
+ ).some(({ name }) => name === blockType.name);
932
+ }
933
+ const { time, count = 0 } = getInsertUsage(state, id) || {};
1799
934
  const blockItemBase = {
1800
935
  id,
1801
936
  name: blockType.name,
@@ -1804,10 +939,13 @@ const buildBlockTypeItem = (state, {
1804
939
  isDisabled,
1805
940
  frecency: calculateFrecency(time, count)
1806
941
  };
1807
- if (buildScope === 'transform') {
942
+ if (buildScope === "transform") {
1808
943
  return blockItemBase;
1809
944
  }
1810
- const inserterVariations = getBlockVariations(blockType.name, 'inserter');
945
+ const inserterVariations = getBlockVariations(
946
+ blockType.name,
947
+ "inserter"
948
+ );
1811
949
  return {
1812
950
  ...blockItemBase,
1813
951
  initialAttributes: {},
@@ -1818,255 +956,243 @@ const buildBlockTypeItem = (state, {
1818
956
  ancestor: blockType.ancestor,
1819
957
  variations: inserterVariations,
1820
958
  example: blockType.example,
1821
- utility: 1 // Deprecated.
959
+ utility: 1
960
+ // Deprecated.
1822
961
  };
1823
962
  };
1824
-
1825
- /**
1826
- * Determines the items that appear in the inserter. Includes both static
1827
- * items (e.g. a regular block type) and dynamic items (e.g. a reusable block).
1828
- *
1829
- * Each item object contains what's necessary to display a button in the
1830
- * inserter and handle its selection.
1831
- *
1832
- * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency)
1833
- * that combines block usage frequency and recency.
1834
- *
1835
- * Items are returned ordered descendingly by their 'utility' and 'frecency'.
1836
- *
1837
- * @param {Object} state Editor state.
1838
- * @param {?string} rootClientId Optional root client ID of block list.
1839
- *
1840
- * @return {WPEditorInserterItem[]} Items that appear in inserter.
1841
- *
1842
- * @typedef {Object} WPEditorInserterItem
1843
- * @property {string} id Unique identifier for the item.
1844
- * @property {string} name The type of block to create.
1845
- * @property {Object} initialAttributes Attributes to pass to the newly created block.
1846
- * @property {string} title Title of the item, as it appears in the inserter.
1847
- * @property {string} icon Dashicon for the item, as it appears in the inserter.
1848
- * @property {string} category Block category that the item is associated with.
1849
- * @property {string[]} keywords Keywords that can be searched to find this item.
1850
- * @property {boolean} isDisabled Whether or not the user should be prevented from inserting
1851
- * this item.
1852
- * @property {number} frecency Heuristic that combines frequency and recency.
1853
- */
1854
- export const getInserterItems = createRegistrySelector(select => createSelector((state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
1855
- const buildReusableBlockInserterItem = reusableBlock => {
1856
- const icon = !reusableBlock.wp_pattern_sync_status ? {
1857
- src: symbol,
1858
- foreground: 'var(--wp-block-synced-color)'
1859
- } : symbol;
1860
- const userPattern = mapUserPattern(reusableBlock);
1861
- const {
1862
- time,
1863
- count = 0
1864
- } = getInsertUsage(state, userPattern.name) || {};
1865
- const frecency = calculateFrecency(time, count);
1866
- return {
1867
- id: userPattern.name,
1868
- name: 'core/block',
1869
- initialAttributes: {
1870
- ref: reusableBlock.id
1871
- },
1872
- title: userPattern.title,
1873
- icon,
1874
- category: 'reusable',
1875
- keywords: ['reusable'],
1876
- isDisabled: false,
1877
- utility: 1,
1878
- // Deprecated.
1879
- frecency,
1880
- content: userPattern.content,
1881
- get blocks() {
1882
- return getParsedPattern(userPattern).blocks;
1883
- },
1884
- syncStatus: userPattern.syncStatus
1885
- };
1886
- };
1887
- const patternInserterItems = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) ? unlock(select(STORE_NAME)).getReusableBlocks().map(buildReusableBlockInserterItem) : [];
1888
- const buildBlockTypeInserterItem = buildBlockTypeItem(state, {
1889
- buildScope: 'inserter'
1890
- });
1891
- let blockTypeInserterItems = getBlockTypes().filter(blockType => hasBlockSupport(blockType, 'inserter', true)).map(buildBlockTypeInserterItem);
1892
- if (options[isFiltered] !== false) {
1893
- blockTypeInserterItems = blockTypeInserterItems.filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
1894
- } else {
1895
- blockTypeInserterItems = blockTypeInserterItems.filter(blockType => isBlockVisibleInTheInserter(state, blockType, rootClientId)).map(blockType => ({
1896
- ...blockType,
1897
- isAllowedInCurrentRoot: canIncludeBlockTypeInInserter(state, blockType, rootClientId)
1898
- }));
1899
- }
1900
- const items = blockTypeInserterItems.reduce((accumulator, item) => {
1901
- const {
1902
- variations = []
1903
- } = item;
1904
- // Exclude any block type item that is to be replaced by a default variation.
1905
- if (!variations.some(({
1906
- isDefault
1907
- }) => isDefault)) {
1908
- accumulator.push(item);
1909
- }
1910
- if (variations.length) {
1911
- const variationMapper = getItemFromVariation(state, item);
1912
- accumulator.push(...variations.map(variationMapper));
1913
- }
1914
- return accumulator;
1915
- }, []);
1916
-
1917
- // Ensure core blocks are prioritized in the returned results,
1918
- // because third party blocks can be registered earlier than
1919
- // the core blocks (usually by using the `init` action),
1920
- // thus affecting the display order.
1921
- // We don't sort reusable blocks as they are handled differently.
1922
- const groupByType = (blocks, block) => {
1923
- const {
1924
- core,
1925
- noncore
1926
- } = blocks;
1927
- const type = block.name.startsWith('core/') ? core : noncore;
1928
- type.push(block);
1929
- return blocks;
1930
- };
1931
- const {
1932
- core: coreItems,
1933
- noncore: nonCoreItems
1934
- } = items.reduce(groupByType, {
1935
- core: [],
1936
- noncore: []
1937
- });
1938
- const sortedBlockTypes = [...coreItems, ...nonCoreItems];
1939
- return [...sortedBlockTypes, ...patternInserterItems];
1940
- }, (state, rootClientId) => [getBlockTypes(), unlock(select(STORE_NAME)).getReusableBlocks(), state.blocks.order, state.preferences.insertUsage, ...getInsertBlockTypeDependants(select)(state, rootClientId)]));
1941
-
1942
- /**
1943
- * Determines the items that appear in the available block transforms list.
1944
- *
1945
- * Each item object contains what's necessary to display a menu item in the
1946
- * transform list and handle its selection.
1947
- *
1948
- * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency)
1949
- * that combines block usage frequency and recency.
1950
- *
1951
- * Items are returned ordered descendingly by their 'frecency'.
1952
- *
1953
- * @param {Object} state Editor state.
1954
- * @param {Object|Object[]} blocks Block object or array objects.
1955
- * @param {?string} rootClientId Optional root client ID of block list.
1956
- *
1957
- * @return {WPEditorTransformItem[]} Items that appear in inserter.
1958
- *
1959
- * @typedef {Object} WPEditorTransformItem
1960
- * @property {string} id Unique identifier for the item.
1961
- * @property {string} name The type of block to create.
1962
- * @property {string} title Title of the item, as it appears in the inserter.
1963
- * @property {string} icon Dashicon for the item, as it appears in the inserter.
1964
- * @property {boolean} isDisabled Whether or not the user should be prevented from inserting
1965
- * this item.
1966
- * @property {number} frecency Heuristic that combines frequency and recency.
1967
- */
1968
- export const getBlockTransformItems = createRegistrySelector(select => createSelector((state, blocks, rootClientId = null) => {
1969
- const normalizedBlocks = Array.isArray(blocks) ? blocks : [blocks];
1970
- const buildBlockTypeTransformItem = buildBlockTypeItem(state, {
1971
- buildScope: 'transform'
1972
- });
1973
- const blockTypeTransformItems = getBlockTypes().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeTransformItem);
1974
- const itemsByName = Object.fromEntries(Object.entries(blockTypeTransformItems).map(([, value]) => [value.name, value]));
1975
- const possibleTransforms = getPossibleBlockTransformations(normalizedBlocks).reduce((accumulator, block) => {
1976
- if (itemsByName[block?.name]) {
1977
- accumulator.push(itemsByName[block.name]);
1978
- }
1979
- return accumulator;
1980
- }, []);
1981
- return orderBy(possibleTransforms, block => itemsByName[block.name].frecency, 'desc');
1982
- }, (state, blocks, rootClientId) => [getBlockTypes(), state.preferences.insertUsage, ...getInsertBlockTypeDependants(select)(state, rootClientId)]));
1983
-
1984
- /**
1985
- * Determines whether there are items to show in the inserter.
1986
- *
1987
- * @param {Object} state Editor state.
1988
- * @param {?string} rootClientId Optional root client ID of block list.
1989
- *
1990
- * @return {boolean} Items that appear in inserter.
1991
- */
1992
- export const hasInserterItems = (state, rootClientId = null) => {
1993
- const hasBlockType = getBlockTypes().some(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
963
+ const getInserterItems = createRegistrySelector(
964
+ (select) => createSelector(
965
+ (state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
966
+ const buildReusableBlockInserterItem = (reusableBlock) => {
967
+ const icon = !reusableBlock.wp_pattern_sync_status ? {
968
+ src: symbol,
969
+ foreground: "var(--wp-block-synced-color)"
970
+ } : symbol;
971
+ const userPattern = mapUserPattern(reusableBlock);
972
+ const { time, count = 0 } = getInsertUsage(state, userPattern.name) || {};
973
+ const frecency = calculateFrecency(time, count);
974
+ return {
975
+ id: userPattern.name,
976
+ name: "core/block",
977
+ initialAttributes: { ref: reusableBlock.id },
978
+ title: userPattern.title,
979
+ icon,
980
+ category: "reusable",
981
+ keywords: ["reusable"],
982
+ isDisabled: false,
983
+ utility: 1,
984
+ // Deprecated.
985
+ frecency,
986
+ content: userPattern.content,
987
+ get blocks() {
988
+ return getParsedPattern(userPattern).blocks;
989
+ },
990
+ syncStatus: userPattern.syncStatus
991
+ };
992
+ };
993
+ const patternInserterItems = canInsertBlockTypeUnmemoized(
994
+ state,
995
+ "core/block",
996
+ rootClientId
997
+ ) ? unlock(select(STORE_NAME)).getReusableBlocks().map(buildReusableBlockInserterItem) : [];
998
+ const buildBlockTypeInserterItem = buildBlockTypeItem(state, {
999
+ buildScope: "inserter"
1000
+ });
1001
+ let blockTypeInserterItems = getBlockTypes().filter(
1002
+ (blockType) => hasBlockSupport(blockType, "inserter", true)
1003
+ ).map(buildBlockTypeInserterItem);
1004
+ if (options[isFiltered] !== false) {
1005
+ blockTypeInserterItems = blockTypeInserterItems.filter(
1006
+ (blockType) => canIncludeBlockTypeInInserter(
1007
+ state,
1008
+ blockType,
1009
+ rootClientId
1010
+ )
1011
+ );
1012
+ } else {
1013
+ blockTypeInserterItems = blockTypeInserterItems.filter(
1014
+ (blockType) => isBlockVisibleInTheInserter(
1015
+ state,
1016
+ blockType,
1017
+ rootClientId
1018
+ )
1019
+ ).map((blockType) => ({
1020
+ ...blockType,
1021
+ isAllowedInCurrentRoot: canIncludeBlockTypeInInserter(
1022
+ state,
1023
+ blockType,
1024
+ rootClientId
1025
+ )
1026
+ }));
1027
+ }
1028
+ const items = blockTypeInserterItems.reduce(
1029
+ (accumulator, item) => {
1030
+ const { variations = [] } = item;
1031
+ if (!variations.some(({ isDefault }) => isDefault)) {
1032
+ accumulator.push(item);
1033
+ }
1034
+ if (variations.length) {
1035
+ const variationMapper = getItemFromVariation(
1036
+ state,
1037
+ item
1038
+ );
1039
+ accumulator.push(
1040
+ ...variations.map(variationMapper)
1041
+ );
1042
+ }
1043
+ return accumulator;
1044
+ },
1045
+ []
1046
+ );
1047
+ const groupByType = (blocks, block) => {
1048
+ const { core, noncore } = blocks;
1049
+ const type = block.name.startsWith("core/") ? core : noncore;
1050
+ type.push(block);
1051
+ return blocks;
1052
+ };
1053
+ const { core: coreItems, noncore: nonCoreItems } = items.reduce(
1054
+ groupByType,
1055
+ { core: [], noncore: [] }
1056
+ );
1057
+ const sortedBlockTypes = [...coreItems, ...nonCoreItems];
1058
+ return [...sortedBlockTypes, ...patternInserterItems];
1059
+ },
1060
+ (state, rootClientId) => [
1061
+ getBlockTypes(),
1062
+ unlock(select(STORE_NAME)).getReusableBlocks(),
1063
+ state.blocks.order,
1064
+ state.preferences.insertUsage,
1065
+ ...getInsertBlockTypeDependants(select)(state, rootClientId)
1066
+ ]
1067
+ )
1068
+ );
1069
+ const getBlockTransformItems = createRegistrySelector(
1070
+ (select) => createSelector(
1071
+ (state, blocks, rootClientId = null) => {
1072
+ const normalizedBlocks = Array.isArray(blocks) ? blocks : [blocks];
1073
+ const buildBlockTypeTransformItem = buildBlockTypeItem(state, {
1074
+ buildScope: "transform"
1075
+ });
1076
+ const blockTypeTransformItems = getBlockTypes().filter(
1077
+ (blockType) => canIncludeBlockTypeInInserter(
1078
+ state,
1079
+ blockType,
1080
+ rootClientId
1081
+ )
1082
+ ).map(buildBlockTypeTransformItem);
1083
+ const itemsByName = Object.fromEntries(
1084
+ Object.entries(blockTypeTransformItems).map(
1085
+ ([, value]) => [value.name, value]
1086
+ )
1087
+ );
1088
+ const possibleTransforms = getPossibleBlockTransformations(
1089
+ normalizedBlocks
1090
+ ).reduce((accumulator, block) => {
1091
+ if (itemsByName[block?.name]) {
1092
+ accumulator.push(itemsByName[block.name]);
1093
+ }
1094
+ return accumulator;
1095
+ }, []);
1096
+ return orderBy(
1097
+ possibleTransforms,
1098
+ (block) => itemsByName[block.name].frecency,
1099
+ "desc"
1100
+ );
1101
+ },
1102
+ (state, blocks, rootClientId) => [
1103
+ getBlockTypes(),
1104
+ state.preferences.insertUsage,
1105
+ ...getInsertBlockTypeDependants(select)(state, rootClientId)
1106
+ ]
1107
+ )
1108
+ );
1109
+ const hasInserterItems = (state, rootClientId = null) => {
1110
+ const hasBlockType = getBlockTypes().some(
1111
+ (blockType) => canIncludeBlockTypeInInserter(state, blockType, rootClientId)
1112
+ );
1994
1113
  if (hasBlockType) {
1995
1114
  return true;
1996
1115
  }
1997
- const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId);
1116
+ const hasReusableBlock = canInsertBlockTypeUnmemoized(
1117
+ state,
1118
+ "core/block",
1119
+ rootClientId
1120
+ );
1998
1121
  return hasReusableBlock;
1999
1122
  };
2000
-
2001
- /**
2002
- * Returns the list of allowed inserter blocks for inner blocks children.
2003
- *
2004
- * @param {Object} state Editor state.
2005
- * @param {?string} rootClientId Optional root client ID of block list.
2006
- *
2007
- * @return {Array?} The list of allowed block types.
2008
- */
2009
- export const getAllowedBlocks = createRegistrySelector(select => createSelector((state, rootClientId = null) => {
2010
- if (!rootClientId) {
2011
- return;
2012
- }
2013
- const blockTypes = getBlockTypes().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
2014
- const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId);
2015
- if (hasReusableBlock) {
2016
- blockTypes.push('core/block');
2017
- }
2018
- return blockTypes;
2019
- }, (state, rootClientId) => [getBlockTypes(), ...getInsertBlockTypeDependants(select)(state, rootClientId)]));
2020
- export const __experimentalGetAllowedBlocks = createSelector((state, rootClientId = null) => {
2021
- deprecated('wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks', {
2022
- alternative: 'wp.data.select( "core/block-editor" ).getAllowedBlocks',
2023
- since: '6.2',
2024
- version: '6.4'
2025
- });
2026
- return getAllowedBlocks(state, rootClientId);
2027
- }, (state, rootClientId) => getAllowedBlocks.getDependants(state, rootClientId));
2028
-
2029
- /**
2030
- * Returns the block to be directly inserted by the block appender.
2031
- *
2032
- * @param {Object} state Editor state.
2033
- * @param {?string} rootClientId Optional root client ID of block list.
2034
- *
2035
- * @return {WPDirectInsertBlock|undefined} The block type to be directly inserted.
2036
- *
2037
- * @typedef {Object} WPDirectInsertBlock
2038
- * @property {string} name The type of block.
2039
- * @property {?Object} attributes Attributes to pass to the newly created block.
2040
- * @property {?Array<string>} attributesToCopy Attributes to be copied from adjacent blocks when inserted.
2041
- */
2042
- export function getDirectInsertBlock(state, rootClientId = null) {
2043
- var _state$blockListSetti;
1123
+ const getAllowedBlocks = createRegistrySelector(
1124
+ (select) => createSelector(
1125
+ (state, rootClientId = null) => {
1126
+ if (!rootClientId) {
1127
+ return;
1128
+ }
1129
+ const blockTypes = getBlockTypes().filter(
1130
+ (blockType) => canIncludeBlockTypeInInserter(state, blockType, rootClientId)
1131
+ );
1132
+ const hasReusableBlock = canInsertBlockTypeUnmemoized(
1133
+ state,
1134
+ "core/block",
1135
+ rootClientId
1136
+ );
1137
+ if (hasReusableBlock) {
1138
+ blockTypes.push("core/block");
1139
+ }
1140
+ return blockTypes;
1141
+ },
1142
+ (state, rootClientId) => [
1143
+ getBlockTypes(),
1144
+ ...getInsertBlockTypeDependants(select)(state, rootClientId)
1145
+ ]
1146
+ )
1147
+ );
1148
+ const __experimentalGetAllowedBlocks = createSelector(
1149
+ (state, rootClientId = null) => {
1150
+ deprecated(
1151
+ 'wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks',
1152
+ {
1153
+ alternative: 'wp.data.select( "core/block-editor" ).getAllowedBlocks',
1154
+ since: "6.2",
1155
+ version: "6.4"
1156
+ }
1157
+ );
1158
+ return getAllowedBlocks(state, rootClientId);
1159
+ },
1160
+ (state, rootClientId) => getAllowedBlocks.getDependants(state, rootClientId)
1161
+ );
1162
+ function getDirectInsertBlock(state, rootClientId = null) {
2044
1163
  if (!rootClientId) {
2045
1164
  return;
2046
1165
  }
2047
- const {
2048
- defaultBlock,
2049
- directInsert
2050
- } = (_state$blockListSetti = state.blockListSettings[rootClientId]) !== null && _state$blockListSetti !== void 0 ? _state$blockListSetti : {};
1166
+ const { defaultBlock, directInsert } = state.blockListSettings[rootClientId] ?? {};
2051
1167
  if (!defaultBlock || !directInsert) {
2052
1168
  return;
2053
1169
  }
2054
1170
  return defaultBlock;
2055
1171
  }
2056
- export function __experimentalGetDirectInsertBlock(state, rootClientId = null) {
2057
- deprecated('wp.data.select( "core/block-editor" ).__experimentalGetDirectInsertBlock', {
2058
- alternative: 'wp.data.select( "core/block-editor" ).getDirectInsertBlock',
2059
- since: '6.3',
2060
- version: '6.4'
2061
- });
1172
+ function __experimentalGetDirectInsertBlock(state, rootClientId = null) {
1173
+ deprecated(
1174
+ 'wp.data.select( "core/block-editor" ).__experimentalGetDirectInsertBlock',
1175
+ {
1176
+ alternative: 'wp.data.select( "core/block-editor" ).getDirectInsertBlock',
1177
+ since: "6.3",
1178
+ version: "6.4"
1179
+ }
1180
+ );
2062
1181
  return getDirectInsertBlock(state, rootClientId);
2063
1182
  }
2064
- export const __experimentalGetParsedPattern = createRegistrySelector(select => (state, patternName) => {
2065
- const pattern = unlock(select(STORE_NAME)).getPatternBySlug(patternName);
2066
- return pattern ? getParsedPattern(pattern) : null;
2067
- });
2068
- const getAllowedPatternsDependants = select => (state, rootClientId) => [...getAllPatternsDependants(select)(state), ...getInsertBlockTypeDependants(select)(state, rootClientId)];
2069
- const patternsWithParsedBlocks = new WeakMap();
1183
+ const __experimentalGetParsedPattern = createRegistrySelector(
1184
+ (select) => (state, patternName) => {
1185
+ const pattern = unlock(select(STORE_NAME)).getPatternBySlug(
1186
+ patternName
1187
+ );
1188
+ return pattern ? getParsedPattern(pattern) : null;
1189
+ }
1190
+ );
1191
+ const getAllowedPatternsDependants = (select) => (state, rootClientId) => [
1192
+ ...getAllPatternsDependants(select)(state),
1193
+ ...getInsertBlockTypeDependants(select)(state, rootClientId)
1194
+ ];
1195
+ const patternsWithParsedBlocks = /* @__PURE__ */ new WeakMap();
2070
1196
  function enhancePatternWithParsedBlocks(pattern) {
2071
1197
  let enhancedPattern = patternsWithParsedBlocks.get(pattern);
2072
1198
  if (!enhancedPattern) {
@@ -2080,400 +1206,237 @@ function enhancePatternWithParsedBlocks(pattern) {
2080
1206
  }
2081
1207
  return enhancedPattern;
2082
1208
  }
2083
-
2084
- /**
2085
- * Returns the list of allowed patterns for inner blocks children.
2086
- *
2087
- * @param {Object} state Editor state.
2088
- * @param {?string} rootClientId Optional target root client ID.
2089
- *
2090
- * @return {Array?} The list of allowed patterns.
2091
- */
2092
- export const __experimentalGetAllowedPatterns = createRegistrySelector(select => {
2093
- return createSelector((state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
2094
- const {
2095
- getAllPatterns
2096
- } = unlock(select(STORE_NAME));
2097
- const patterns = getAllPatterns();
2098
- const {
2099
- allowedBlockTypes
2100
- } = getSettings(state);
2101
- const parsedPatterns = patterns.filter(({
2102
- inserter = true
2103
- }) => !!inserter).map(enhancePatternWithParsedBlocks);
2104
- const availableParsedPatterns = parsedPatterns.filter(pattern => checkAllowListRecursive(getGrammar(pattern), allowedBlockTypes));
2105
- const patternsAllowed = availableParsedPatterns.filter(pattern => getGrammar(pattern).every(({
2106
- blockName: name
2107
- }) => options[isFiltered] !== false ? canInsertBlockType(state, name, rootClientId) : isBlockVisibleInTheInserter(state, name, rootClientId)));
2108
- return patternsAllowed;
2109
- }, getAllowedPatternsDependants(select));
2110
- });
2111
-
2112
- /**
2113
- * Returns the list of patterns based on their declared `blockTypes`
2114
- * and a block's name.
2115
- * Patterns can use `blockTypes` to integrate in work flows like
2116
- * suggesting appropriate patterns in a Placeholder state(during insertion)
2117
- * or blocks transformations.
2118
- *
2119
- * @param {Object} state Editor state.
2120
- * @param {string|string[]} blockNames Block's name or array of block names to find matching patterns.
2121
- * @param {?string} rootClientId Optional target root client ID.
2122
- *
2123
- * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name.
2124
- */
2125
- export const getPatternsByBlockTypes = createRegistrySelector(select => createSelector((state, blockNames, rootClientId = null) => {
2126
- if (!blockNames) {
2127
- return EMPTY_ARRAY;
2128
- }
2129
- const patterns = select(STORE_NAME).__experimentalGetAllowedPatterns(rootClientId);
2130
- const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames];
2131
- const filteredPatterns = patterns.filter(pattern => pattern?.blockTypes?.some?.(blockName => normalizedBlockNames.includes(blockName)));
2132
- if (filteredPatterns.length === 0) {
2133
- return EMPTY_ARRAY;
2134
- }
2135
- return filteredPatterns;
2136
- }, (state, blockNames, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)));
2137
- export const __experimentalGetPatternsByBlockTypes = createRegistrySelector(select => {
2138
- deprecated('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes', {
2139
- alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',
2140
- since: '6.2',
2141
- version: '6.4'
2142
- });
2143
- return select(STORE_NAME).getPatternsByBlockTypes;
2144
- });
2145
-
2146
- /**
2147
- * Determines the items that appear in the available pattern transforms list.
2148
- *
2149
- * For now we only handle blocks without InnerBlocks and take into account
2150
- * the `role` property of blocks' attributes for the transformation.
2151
- *
2152
- * We return the first set of possible eligible block patterns,
2153
- * by checking the `blockTypes` property. We still have to recurse through
2154
- * block pattern's blocks and try to find matches from the selected blocks.
2155
- * Now this happens in the consumer to avoid heavy operations in the selector.
2156
- *
2157
- * @param {Object} state Editor state.
2158
- * @param {Object[]} blocks The selected blocks.
2159
- * @param {?string} rootClientId Optional root client ID of block list.
2160
- *
2161
- * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation.
2162
- */
2163
- export const __experimentalGetPatternTransformItems = createRegistrySelector(select => createSelector((state, blocks, rootClientId = null) => {
2164
- if (!blocks) {
2165
- return EMPTY_ARRAY;
2166
- }
2167
- /**
2168
- * For now we only handle blocks without InnerBlocks and take into account
2169
- * the `role` property of blocks' attributes for the transformation.
2170
- * Note that the blocks have been retrieved through `getBlock`, which doesn't
2171
- * return the inner blocks of an inner block controller, so we still need
2172
- * to check for this case too.
2173
- */
2174
- if (blocks.some(({
2175
- clientId,
2176
- innerBlocks
2177
- }) => innerBlocks.length || areInnerBlocksControlled(state, clientId))) {
2178
- return EMPTY_ARRAY;
2179
- }
2180
-
2181
- // Create a Set of the selected block names that is used in patterns filtering.
2182
- const selectedBlockNames = Array.from(new Set(blocks.map(({
2183
- name
2184
- }) => name)));
2185
- /**
2186
- * Here we will return first set of possible eligible block patterns,
2187
- * by checking the `blockTypes` property. We still have to recurse through
2188
- * block pattern's blocks and try to find matches from the selected blocks.
2189
- * Now this happens in the consumer to avoid heavy operations in the selector.
2190
- */
2191
- return select(STORE_NAME).getPatternsByBlockTypes(selectedBlockNames, rootClientId);
2192
- }, (state, blocks, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)));
2193
-
2194
- /**
2195
- * Returns the Block List settings of a block, if any exist.
2196
- *
2197
- * @param {Object} state Editor state.
2198
- * @param {?string} clientId Block client ID.
2199
- *
2200
- * @return {?Object} Block settings of the block if set.
2201
- */
2202
- export function getBlockListSettings(state, clientId) {
1209
+ const __experimentalGetAllowedPatterns = createRegistrySelector(
1210
+ (select) => {
1211
+ return createSelector(
1212
+ (state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
1213
+ const { getAllPatterns } = unlock(select(STORE_NAME));
1214
+ const patterns = getAllPatterns();
1215
+ const { allowedBlockTypes } = getSettings(state);
1216
+ const parsedPatterns = patterns.filter(({ inserter = true }) => !!inserter).map(enhancePatternWithParsedBlocks);
1217
+ const availableParsedPatterns = parsedPatterns.filter(
1218
+ (pattern) => checkAllowListRecursive(
1219
+ getGrammar(pattern),
1220
+ allowedBlockTypes
1221
+ )
1222
+ );
1223
+ const patternsAllowed = availableParsedPatterns.filter(
1224
+ (pattern) => getGrammar(pattern).every(
1225
+ ({ blockName: name }) => options[isFiltered] !== false ? canInsertBlockType(
1226
+ state,
1227
+ name,
1228
+ rootClientId
1229
+ ) : isBlockVisibleInTheInserter(
1230
+ state,
1231
+ name,
1232
+ rootClientId
1233
+ )
1234
+ )
1235
+ );
1236
+ return patternsAllowed;
1237
+ },
1238
+ getAllowedPatternsDependants(select)
1239
+ );
1240
+ }
1241
+ );
1242
+ const getPatternsByBlockTypes = createRegistrySelector(
1243
+ (select) => createSelector(
1244
+ (state, blockNames, rootClientId = null) => {
1245
+ if (!blockNames) {
1246
+ return EMPTY_ARRAY;
1247
+ }
1248
+ const patterns = select(STORE_NAME).__experimentalGetAllowedPatterns(
1249
+ rootClientId
1250
+ );
1251
+ const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames];
1252
+ const filteredPatterns = patterns.filter(
1253
+ (pattern) => pattern?.blockTypes?.some?.(
1254
+ (blockName) => normalizedBlockNames.includes(blockName)
1255
+ )
1256
+ );
1257
+ if (filteredPatterns.length === 0) {
1258
+ return EMPTY_ARRAY;
1259
+ }
1260
+ return filteredPatterns;
1261
+ },
1262
+ (state, blockNames, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)
1263
+ )
1264
+ );
1265
+ const __experimentalGetPatternsByBlockTypes = createRegistrySelector(
1266
+ (select) => {
1267
+ deprecated(
1268
+ 'wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes',
1269
+ {
1270
+ alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',
1271
+ since: "6.2",
1272
+ version: "6.4"
1273
+ }
1274
+ );
1275
+ return select(STORE_NAME).getPatternsByBlockTypes;
1276
+ }
1277
+ );
1278
+ const __experimentalGetPatternTransformItems = createRegistrySelector(
1279
+ (select) => createSelector(
1280
+ (state, blocks, rootClientId = null) => {
1281
+ if (!blocks) {
1282
+ return EMPTY_ARRAY;
1283
+ }
1284
+ if (blocks.some(
1285
+ ({ clientId, innerBlocks }) => innerBlocks.length || areInnerBlocksControlled(state, clientId)
1286
+ )) {
1287
+ return EMPTY_ARRAY;
1288
+ }
1289
+ const selectedBlockNames = Array.from(
1290
+ new Set(blocks.map(({ name }) => name))
1291
+ );
1292
+ return select(STORE_NAME).getPatternsByBlockTypes(
1293
+ selectedBlockNames,
1294
+ rootClientId
1295
+ );
1296
+ },
1297
+ (state, blocks, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)
1298
+ )
1299
+ );
1300
+ function getBlockListSettings(state, clientId) {
2203
1301
  return state.blockListSettings[clientId];
2204
1302
  }
2205
-
2206
- /**
2207
- * Returns the editor settings.
2208
- *
2209
- * @param {Object} state Editor state.
2210
- *
2211
- * @return {Object} The editor settings object.
2212
- */
2213
- export function getSettings(state) {
1303
+ function getSettings(state) {
2214
1304
  return state.settings;
2215
1305
  }
2216
-
2217
- /**
2218
- * Returns true if the most recent block change is be considered persistent, or
2219
- * false otherwise. A persistent change is one committed by BlockEditorProvider
2220
- * via its `onChange` callback, in addition to `onInput`.
2221
- *
2222
- * @param {Object} state Block editor state.
2223
- *
2224
- * @return {boolean} Whether the most recent block change was persistent.
2225
- */
2226
- export function isLastBlockChangePersistent(state) {
1306
+ function isLastBlockChangePersistent(state) {
2227
1307
  return state.blocks.isPersistentChange;
2228
1308
  }
2229
-
2230
- /**
2231
- * Returns the block list settings for an array of blocks, if any exist.
2232
- *
2233
- * @param {Object} state Editor state.
2234
- * @param {Array} clientIds Block client IDs.
2235
- *
2236
- * @return {Object} An object where the keys are client ids and the values are
2237
- * a block list setting object.
2238
- */
2239
- export const __experimentalGetBlockListSettingsForBlocks = createSelector((state, clientIds = []) => {
2240
- return clientIds.reduce((blockListSettingsForBlocks, clientId) => {
2241
- if (!state.blockListSettings[clientId]) {
2242
- return blockListSettingsForBlocks;
2243
- }
2244
- return {
2245
- ...blockListSettingsForBlocks,
2246
- [clientId]: state.blockListSettings[clientId]
2247
- };
2248
- }, {});
2249
- }, state => [state.blockListSettings]);
2250
-
2251
- /**
2252
- * Returns the title of a given reusable block
2253
- *
2254
- * @param {Object} state Global application state.
2255
- * @param {number|string} ref The shared block's ID.
2256
- *
2257
- * @return {string} The reusable block saved title.
2258
- */
2259
- export const __experimentalGetReusableBlockTitle = createRegistrySelector(select => createSelector((state, ref) => {
2260
- deprecated("wp.data.select( 'core/block-editor' ).__experimentalGetReusableBlockTitle", {
2261
- since: '6.6',
2262
- version: '6.8'
2263
- });
2264
- const reusableBlock = unlock(select(STORE_NAME)).getReusableBlocks().find(block => block.id === ref);
2265
- if (!reusableBlock) {
2266
- return null;
2267
- }
2268
- return reusableBlock.title?.raw;
2269
- }, () => [unlock(select(STORE_NAME)).getReusableBlocks()]));
2270
-
2271
- /**
2272
- * Returns true if the most recent block change is be considered ignored, or
2273
- * false otherwise. An ignored change is one not to be committed by
2274
- * BlockEditorProvider, neither via `onChange` nor `onInput`.
2275
- *
2276
- * @param {Object} state Block editor state.
2277
- *
2278
- * @return {boolean} Whether the most recent block change was ignored.
2279
- */
2280
- export function __unstableIsLastBlockChangeIgnored(state) {
2281
- // TODO: Removal Plan: Changes incurred by RECEIVE_BLOCKS should not be
2282
- // ignored if in-fact they result in a change in blocks state. The current
2283
- // need to ignore changes not a result of user interaction should be
2284
- // accounted for in the refactoring of reusable blocks as occurring within
2285
- // their own separate block editor / state (#7119).
1309
+ const __experimentalGetBlockListSettingsForBlocks = createSelector(
1310
+ (state, clientIds = []) => {
1311
+ return clientIds.reduce((blockListSettingsForBlocks, clientId) => {
1312
+ if (!state.blockListSettings[clientId]) {
1313
+ return blockListSettingsForBlocks;
1314
+ }
1315
+ return {
1316
+ ...blockListSettingsForBlocks,
1317
+ [clientId]: state.blockListSettings[clientId]
1318
+ };
1319
+ }, {});
1320
+ },
1321
+ (state) => [state.blockListSettings]
1322
+ );
1323
+ const __experimentalGetReusableBlockTitle = createRegistrySelector(
1324
+ (select) => createSelector(
1325
+ (state, ref) => {
1326
+ deprecated(
1327
+ "wp.data.select( 'core/block-editor' ).__experimentalGetReusableBlockTitle",
1328
+ {
1329
+ since: "6.6",
1330
+ version: "6.8"
1331
+ }
1332
+ );
1333
+ const reusableBlock = unlock(select(STORE_NAME)).getReusableBlocks().find((block) => block.id === ref);
1334
+ if (!reusableBlock) {
1335
+ return null;
1336
+ }
1337
+ return reusableBlock.title?.raw;
1338
+ },
1339
+ () => [unlock(select(STORE_NAME)).getReusableBlocks()]
1340
+ )
1341
+ );
1342
+ function __unstableIsLastBlockChangeIgnored(state) {
2286
1343
  return state.blocks.isIgnoredChange;
2287
1344
  }
2288
-
2289
- /**
2290
- * Returns the block attributes changed as a result of the last dispatched
2291
- * action.
2292
- *
2293
- * @param {Object} state Block editor state.
2294
- *
2295
- * @return {Object<string,Object>} Subsets of block attributes changed, keyed
2296
- * by block client ID.
2297
- */
2298
- export function __experimentalGetLastBlockAttributeChanges(state) {
1345
+ function __experimentalGetLastBlockAttributeChanges(state) {
2299
1346
  return state.lastBlockAttributesChange;
2300
1347
  }
2301
-
2302
- /**
2303
- * Returns whether the navigation mode is enabled.
2304
- *
2305
- * @param {Object} state Editor state.
2306
- *
2307
- * @return {boolean} Is navigation mode enabled.
2308
- */
2309
- export function isNavigationMode(state) {
2310
- return __unstableGetEditorMode(state) === 'navigation';
2311
- }
2312
-
2313
- /**
2314
- * Returns the current editor mode.
2315
- *
2316
- * @param {Object} state Editor state.
2317
- *
2318
- * @return {string} the editor mode.
2319
- */
2320
- export const __unstableGetEditorMode = createRegistrySelector(select => state => {
2321
- var _state$settings$edito;
2322
- if (!window?.__experimentalEditorWriteMode) {
2323
- return 'edit';
2324
- }
2325
- return (_state$settings$edito = state.settings.editorTool) !== null && _state$settings$edito !== void 0 ? _state$settings$edito : select(preferencesStore).get('core', 'editorTool');
2326
- });
2327
-
2328
- /**
2329
- * Returns whether block moving mode is enabled.
2330
- *
2331
- * @deprecated
2332
- */
2333
- export function hasBlockMovingClientId() {
2334
- deprecated('wp.data.select( "core/block-editor" ).hasBlockMovingClientId', {
2335
- since: '6.7',
2336
- hint: 'Block moving mode feature has been removed'
2337
- });
1348
+ function hasBlockMovingClientId() {
1349
+ deprecated(
1350
+ 'wp.data.select( "core/block-editor" ).hasBlockMovingClientId',
1351
+ {
1352
+ since: "6.7",
1353
+ hint: "Block moving mode feature has been removed"
1354
+ }
1355
+ );
2338
1356
  return false;
2339
1357
  }
2340
-
2341
- /**
2342
- * Returns true if the last change was an automatic change, false otherwise.
2343
- *
2344
- * @param {Object} state Global application state.
2345
- *
2346
- * @return {boolean} Whether the last change was automatic.
2347
- */
2348
- export function didAutomaticChange(state) {
1358
+ function didAutomaticChange(state) {
2349
1359
  return !!state.automaticChangeStatus;
2350
1360
  }
2351
-
2352
- /**
2353
- * Returns true if the current highlighted block matches the block clientId.
2354
- *
2355
- * @param {Object} state Global application state.
2356
- * @param {string} clientId The block to check.
2357
- *
2358
- * @return {boolean} Whether the block is currently highlighted.
2359
- */
2360
- export function isBlockHighlighted(state, clientId) {
1361
+ function isBlockHighlighted(state, clientId) {
2361
1362
  return state.highlightedBlock === clientId;
2362
1363
  }
2363
-
2364
- /**
2365
- * Checks if a given block has controlled inner blocks.
2366
- *
2367
- * @param {Object} state Global application state.
2368
- * @param {string} clientId The block to check.
2369
- *
2370
- * @return {boolean} True if the block has controlled inner blocks.
2371
- */
2372
- export function areInnerBlocksControlled(state, clientId) {
1364
+ function areInnerBlocksControlled(state, clientId) {
2373
1365
  return !!state.blocks.controlledInnerBlocks[clientId];
2374
1366
  }
2375
-
2376
- /**
2377
- * Returns the clientId for the first 'active' block of a given array of block names.
2378
- * A block is 'active' if it (or a child) is the selected block.
2379
- * Returns the first match moving up the DOM from the selected block.
2380
- *
2381
- * @param {Object} state Global application state.
2382
- * @param {string[]} validBlocksNames The names of block types to check for.
2383
- *
2384
- * @return {string} The matching block's clientId.
2385
- */
2386
- export const __experimentalGetActiveBlockIdByBlockNames = createSelector((state, validBlockNames) => {
2387
- if (!validBlockNames.length) {
1367
+ const __experimentalGetActiveBlockIdByBlockNames = createSelector(
1368
+ (state, validBlockNames) => {
1369
+ if (!validBlockNames.length) {
1370
+ return null;
1371
+ }
1372
+ const selectedBlockClientId = getSelectedBlockClientId(state);
1373
+ if (validBlockNames.includes(
1374
+ getBlockName(state, selectedBlockClientId)
1375
+ )) {
1376
+ return selectedBlockClientId;
1377
+ }
1378
+ const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state);
1379
+ const entityAreaParents = getBlockParentsByBlockName(
1380
+ state,
1381
+ selectedBlockClientId || multiSelectedBlockClientIds[0],
1382
+ validBlockNames
1383
+ );
1384
+ if (entityAreaParents) {
1385
+ return entityAreaParents[entityAreaParents.length - 1];
1386
+ }
2388
1387
  return null;
2389
- }
2390
- // Check if selected block is a valid entity area.
2391
- const selectedBlockClientId = getSelectedBlockClientId(state);
2392
- if (validBlockNames.includes(getBlockName(state, selectedBlockClientId))) {
2393
- return selectedBlockClientId;
2394
- }
2395
- // Check if first selected block is a child of a valid entity area.
2396
- const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state);
2397
- const entityAreaParents = getBlockParentsByBlockName(state, selectedBlockClientId || multiSelectedBlockClientIds[0], validBlockNames);
2398
- if (entityAreaParents) {
2399
- // Last parent closest/most interior.
2400
- return entityAreaParents[entityAreaParents.length - 1];
2401
- }
2402
- return null;
2403
- }, (state, validBlockNames) => [state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId, validBlockNames]);
2404
-
2405
- /**
2406
- * Tells if the block with the passed clientId was just inserted.
2407
- *
2408
- * @param {Object} state Global application state.
2409
- * @param {Object} clientId Client Id of the block.
2410
- * @param {?string} source Optional insertion source of the block.
2411
- * @return {boolean} True if the block matches the last block inserted from the specified source.
2412
- */
2413
- export function wasBlockJustInserted(state, clientId, source) {
2414
- const {
2415
- lastBlockInserted
2416
- } = state;
1388
+ },
1389
+ (state, validBlockNames) => [
1390
+ state.selection.selectionStart.clientId,
1391
+ state.selection.selectionEnd.clientId,
1392
+ validBlockNames
1393
+ ]
1394
+ );
1395
+ function wasBlockJustInserted(state, clientId, source) {
1396
+ const { lastBlockInserted } = state;
2417
1397
  return lastBlockInserted.clientIds?.includes(clientId) && lastBlockInserted.source === source;
2418
1398
  }
2419
-
2420
- /**
2421
- * Tells if the block is visible on the canvas or not.
2422
- *
2423
- * @param {Object} state Global application state.
2424
- * @param {Object} clientId Client Id of the block.
2425
- * @return {boolean} True if the block is visible.
2426
- */
2427
- export function isBlockVisible(state, clientId) {
2428
- var _state$blockVisibilit;
2429
- return (_state$blockVisibilit = state.blockVisibility?.[clientId]) !== null && _state$blockVisibilit !== void 0 ? _state$blockVisibilit : true;
2430
- }
2431
-
2432
- /**
2433
- * Returns the currently hovered block.
2434
- *
2435
- * @deprecated
2436
- */
2437
- export function getHoveredBlockClientId() {
2438
- deprecated("wp.data.select( 'core/block-editor' ).getHoveredBlockClientId", {
2439
- since: '6.9',
2440
- version: '7.1'
2441
- });
2442
- return undefined;
2443
- }
2444
-
2445
- /**
2446
- * Returns the list of all hidden blocks.
2447
- *
2448
- * @param {Object} state Global application state.
2449
- * @return {[string]} List of hidden blocks.
2450
- */
2451
- export const __unstableGetVisibleBlocks = createSelector(state => {
2452
- const visibleBlocks = new Set(Object.keys(state.blockVisibility).filter(key => state.blockVisibility[key]));
2453
- if (visibleBlocks.size === 0) {
2454
- return EMPTY_SET;
2455
- }
2456
- return visibleBlocks;
2457
- }, state => [state.blockVisibility]);
2458
- export function __unstableHasActiveBlockOverlayActive(state, clientId) {
2459
- // Prevent overlay on blocks with a non-default editing mode. If the mode is
2460
- // 'disabled' then the overlay is redundant since the block can't be
2461
- // selected. If the mode is 'contentOnly' then the overlay is redundant
2462
- // since there will be no controls to interact with once selected.
2463
- if (getBlockEditingMode(state, clientId) !== 'default') {
1399
+ function isBlockVisible(state, clientId) {
1400
+ return state.blockVisibility?.[clientId] ?? true;
1401
+ }
1402
+ function getHoveredBlockClientId() {
1403
+ deprecated(
1404
+ "wp.data.select( 'core/block-editor' ).getHoveredBlockClientId",
1405
+ {
1406
+ since: "6.9",
1407
+ version: "7.1"
1408
+ }
1409
+ );
1410
+ return void 0;
1411
+ }
1412
+ const __unstableGetVisibleBlocks = createSelector(
1413
+ (state) => {
1414
+ const visibleBlocks = new Set(
1415
+ Object.keys(state.blockVisibility).filter(
1416
+ (key) => state.blockVisibility[key]
1417
+ )
1418
+ );
1419
+ if (visibleBlocks.size === 0) {
1420
+ return EMPTY_SET;
1421
+ }
1422
+ return visibleBlocks;
1423
+ },
1424
+ (state) => [state.blockVisibility]
1425
+ );
1426
+ function __unstableHasActiveBlockOverlayActive(state, clientId) {
1427
+ if (getBlockEditingMode(state, clientId) !== "default") {
2464
1428
  return false;
2465
1429
  }
2466
-
2467
- // If the block editing is locked, the block overlay is always active.
2468
1430
  if (!canEditBlock(state, clientId)) {
2469
1431
  return true;
2470
1432
  }
2471
-
2472
- // In zoom-out mode, the block overlay is always active for section level blocks.
2473
1433
  if (isZoomOut(state)) {
2474
1434
  const sectionRootClientId = getSectionRootClientId(state);
2475
1435
  if (sectionRootClientId) {
2476
- const sectionClientIds = getBlockOrder(state, sectionRootClientId);
1436
+ const sectionClientIds = getBlockOrder(
1437
+ state,
1438
+ sectionRootClientId
1439
+ );
2477
1440
  if (sectionClientIds?.includes(clientId)) {
2478
1441
  return true;
2479
1442
  }
@@ -2481,17 +1444,15 @@ export function __unstableHasActiveBlockOverlayActive(state, clientId) {
2481
1444
  return true;
2482
1445
  }
2483
1446
  }
2484
-
2485
- // In navigation mode, the block overlay is active when the block is not
2486
- // selected (and doesn't contain a selected child). The same behavior is
2487
- // also enabled in all modes for blocks that have controlled children
2488
- // (reusable block, template part, navigation), unless explicitly disabled
2489
- // with `supports.__experimentalDisableBlockOverlay`.
2490
- const blockSupportDisable = hasBlockSupport(getBlockName(state, clientId), '__experimentalDisableBlockOverlay', false);
1447
+ const blockSupportDisable = hasBlockSupport(
1448
+ getBlockName(state, clientId),
1449
+ "__experimentalDisableBlockOverlay",
1450
+ false
1451
+ );
2491
1452
  const shouldEnableIfUnselected = blockSupportDisable ? false : areInnerBlocksControlled(state, clientId);
2492
1453
  return shouldEnableIfUnselected && !isBlockSelected(state, clientId) && !hasSelectedInnerBlock(state, clientId, true);
2493
1454
  }
2494
- export function __unstableIsWithinBlockOverlay(state, clientId) {
1455
+ function __unstableIsWithinBlockOverlay(state, clientId) {
2495
1456
  let parent = state.blocks.parents.get(clientId);
2496
1457
  while (!!parent) {
2497
1458
  if (__unstableHasActiveBlockOverlayActive(state, parent)) {
@@ -2501,166 +1462,189 @@ export function __unstableIsWithinBlockOverlay(state, clientId) {
2501
1462
  }
2502
1463
  return false;
2503
1464
  }
2504
-
2505
- /**
2506
- * @typedef {import('../components/block-editing-mode').BlockEditingMode} BlockEditingMode
2507
- */
2508
-
2509
- /**
2510
- * Returns the block editing mode for a given block.
2511
- *
2512
- * The mode can be one of three options:
2513
- *
2514
- * - `'disabled'`: Prevents editing the block entirely, i.e. it cannot be
2515
- * selected.
2516
- * - `'contentOnly'`: Hides all non-content UI, e.g. auxiliary controls in the
2517
- * toolbar, the block movers, block settings.
2518
- * - `'default'`: Allows editing the block as normal.
2519
- *
2520
- * Blocks can set a mode using the `useBlockEditingMode` hook.
2521
- *
2522
- * The mode is inherited by all of the block's inner blocks, unless they have
2523
- * their own mode.
2524
- *
2525
- * A template lock can also set a mode. If the template lock is `'contentOnly'`,
2526
- * the block's mode is overridden to `'contentOnly'` if the block has a content
2527
- * role attribute, or `'disabled'` otherwise.
2528
- *
2529
- * @see useBlockEditingMode
2530
- *
2531
- * @param {Object} state Global application state.
2532
- * @param {string} clientId The block client ID, or `''` for the root container.
2533
- *
2534
- * @return {BlockEditingMode} The block editing mode. One of `'disabled'`,
2535
- * `'contentOnly'`, or `'default'`.
2536
- */
2537
- export function getBlockEditingMode(state, clientId = '') {
2538
- // Some selectors that call this provide `null` as the default
2539
- // rootClientId, but the default rootClientId is actually `''`.
1465
+ function getBlockEditingMode(state, clientId = "") {
2540
1466
  if (clientId === null) {
2541
- clientId = '';
2542
- }
2543
- const isNavMode = isNavigationMode(state);
2544
-
2545
- // If the editor is currently not in navigation mode, check if the clientId
2546
- // has an editing mode set in the regular derived map.
2547
- // There may be an editing mode set here for synced patterns or in zoomed out
2548
- // mode.
2549
- if (!isNavMode && state.derivedBlockEditingModes?.has(clientId)) {
2550
- return state.derivedBlockEditingModes.get(clientId);
1467
+ clientId = "";
2551
1468
  }
2552
-
2553
- // If the editor *is* in navigation mode, the block editing mode states
2554
- // are stored in the derivedNavModeBlockEditingModes map.
2555
- if (isNavMode && state.derivedNavModeBlockEditingModes?.has(clientId)) {
2556
- return state.derivedNavModeBlockEditingModes.get(clientId);
1469
+ if (state.derivedBlockEditingModes?.has(clientId)) {
1470
+ return state.derivedBlockEditingModes.get(clientId);
2557
1471
  }
2558
-
2559
- // In normal mode, consider that an explicitly set editing mode takes over.
2560
1472
  if (state.blockEditingModes.has(clientId)) {
2561
1473
  return state.blockEditingModes.get(clientId);
2562
1474
  }
2563
- return 'default';
2564
- }
2565
-
2566
- /**
2567
- * Indicates if a block is ungroupable.
2568
- * A block is ungroupable if it is a single grouping block with inner blocks.
2569
- * If a block has an `ungroup` transform, it is also ungroupable, without the
2570
- * requirement of being the default grouping block.
2571
- * Additionally a block can only be ungrouped if it has inner blocks and can
2572
- * be removed.
2573
- *
2574
- * @param {Object} state Global application state.
2575
- * @param {string} clientId Client Id of the block. If not passed the selected block's client id will be used.
2576
- * @return {boolean} True if the block is ungroupable.
2577
- */
2578
- export const isUngroupable = createRegistrySelector(select => (state, clientId = '') => {
2579
- const _clientId = clientId || getSelectedBlockClientId(state);
2580
- if (!_clientId) {
2581
- return false;
2582
- }
2583
- const {
2584
- getGroupingBlockName
2585
- } = select(blocksStore);
2586
- const block = getBlock(state, _clientId);
2587
- const groupingBlockName = getGroupingBlockName();
2588
- const _isUngroupable = block && (block.name === groupingBlockName || getBlockType(block.name)?.transforms?.ungroup) && !!block.innerBlocks.length;
2589
- return _isUngroupable && canRemoveBlock(state, _clientId);
2590
- });
2591
-
2592
- /**
2593
- * Indicates if the provided blocks(by client ids) are groupable.
2594
- * We need to have at least one block, have a grouping block name set and
2595
- * be able to remove these blocks.
2596
- *
2597
- * @param {Object} state Global application state.
2598
- * @param {string[]} clientIds Block client ids. If not passed the selected blocks client ids will be used.
2599
- * @return {boolean} True if the blocks are groupable.
2600
- */
2601
- export const isGroupable = createRegistrySelector(select => (state, clientIds = EMPTY_ARRAY) => {
2602
- const {
2603
- getGroupingBlockName
2604
- } = select(blocksStore);
2605
- const groupingBlockName = getGroupingBlockName();
2606
- const _clientIds = clientIds?.length ? clientIds : getSelectedBlockClientIds(state);
2607
- const rootClientId = _clientIds?.length ? getBlockRootClientId(state, _clientIds[0]) : undefined;
2608
- const groupingBlockAvailable = canInsertBlockType(state, groupingBlockName, rootClientId);
2609
- const _isGroupable = groupingBlockAvailable && _clientIds.length;
2610
- return _isGroupable && canRemoveBlocks(state, _clientIds);
2611
- });
2612
-
2613
- /**
2614
- * DO-NOT-USE in production.
2615
- * This selector is created for internal/experimental only usage and may be
2616
- * removed anytime without any warning, causing breakage on any plugin or theme invoking it.
2617
- *
2618
- * @deprecated
2619
- *
2620
- * @param {Object} state Global application state.
2621
- * @param {Object} clientId Client Id of the block.
2622
- *
2623
- * @return {?string} Client ID of the ancestor block that is content locking the block.
2624
- */
2625
- export const __unstableGetContentLockingParent = (state, clientId) => {
2626
- deprecated("wp.data.select( 'core/block-editor' ).__unstableGetContentLockingParent", {
2627
- since: '6.1',
2628
- version: '6.7'
2629
- });
1475
+ return "default";
1476
+ }
1477
+ const isUngroupable = createRegistrySelector(
1478
+ (select) => (state, clientId = "") => {
1479
+ const _clientId = clientId || getSelectedBlockClientId(state);
1480
+ if (!_clientId) {
1481
+ return false;
1482
+ }
1483
+ const { getGroupingBlockName } = select(blocksStore);
1484
+ const block = getBlock(state, _clientId);
1485
+ const groupingBlockName = getGroupingBlockName();
1486
+ const _isUngroupable = block && (block.name === groupingBlockName || getBlockType(block.name)?.transforms?.ungroup) && !!block.innerBlocks.length;
1487
+ return _isUngroupable && canRemoveBlock(state, _clientId);
1488
+ }
1489
+ );
1490
+ const isGroupable = createRegistrySelector(
1491
+ (select) => (state, clientIds = EMPTY_ARRAY) => {
1492
+ const { getGroupingBlockName } = select(blocksStore);
1493
+ const groupingBlockName = getGroupingBlockName();
1494
+ const _clientIds = clientIds?.length ? clientIds : getSelectedBlockClientIds(state);
1495
+ const rootClientId = _clientIds?.length ? getBlockRootClientId(state, _clientIds[0]) : void 0;
1496
+ const groupingBlockAvailable = canInsertBlockType(
1497
+ state,
1498
+ groupingBlockName,
1499
+ rootClientId
1500
+ );
1501
+ const _isGroupable = groupingBlockAvailable && _clientIds.length;
1502
+ return _isGroupable && canRemoveBlocks(state, _clientIds);
1503
+ }
1504
+ );
1505
+ const __unstableGetContentLockingParent = (state, clientId) => {
1506
+ deprecated(
1507
+ "wp.data.select( 'core/block-editor' ).__unstableGetContentLockingParent",
1508
+ {
1509
+ since: "6.1",
1510
+ version: "6.7"
1511
+ }
1512
+ );
2630
1513
  return getContentLockingParent(state, clientId);
2631
1514
  };
2632
-
2633
- /**
2634
- * DO-NOT-USE in production.
2635
- * This selector is created for internal/experimental only usage and may be
2636
- * removed anytime without any warning, causing breakage on any plugin or theme invoking it.
2637
- *
2638
- * @deprecated
2639
- *
2640
- * @param {Object} state Global application state.
2641
- */
2642
- export function __unstableGetTemporarilyEditingAsBlocks(state) {
2643
- deprecated("wp.data.select( 'core/block-editor' ).__unstableGetTemporarilyEditingAsBlocks", {
2644
- since: '6.1',
2645
- version: '6.7'
2646
- });
1515
+ function __unstableGetTemporarilyEditingAsBlocks(state) {
1516
+ deprecated(
1517
+ "wp.data.select( 'core/block-editor' ).__unstableGetTemporarilyEditingAsBlocks",
1518
+ {
1519
+ since: "6.1",
1520
+ version: "6.7"
1521
+ }
1522
+ );
2647
1523
  return getTemporarilyEditingAsBlocks(state);
2648
1524
  }
2649
-
2650
- /**
2651
- * DO-NOT-USE in production.
2652
- * This selector is created for internal/experimental only usage and may be
2653
- * removed anytime without any warning, causing breakage on any plugin or theme invoking it.
2654
- *
2655
- * @deprecated
2656
- *
2657
- * @param {Object} state Global application state.
2658
- */
2659
- export function __unstableGetTemporarilyEditingFocusModeToRevert(state) {
2660
- deprecated("wp.data.select( 'core/block-editor' ).__unstableGetTemporarilyEditingFocusModeToRevert", {
2661
- since: '6.5',
2662
- version: '6.7'
2663
- });
1525
+ function __unstableGetTemporarilyEditingFocusModeToRevert(state) {
1526
+ deprecated(
1527
+ "wp.data.select( 'core/block-editor' ).__unstableGetTemporarilyEditingFocusModeToRevert",
1528
+ {
1529
+ since: "6.5",
1530
+ version: "6.7"
1531
+ }
1532
+ );
2664
1533
  return getTemporarilyEditingFocusModeToRevert(state);
2665
1534
  }
2666
- //# sourceMappingURL=selectors.js.map
1535
+ export {
1536
+ __experimentalGetActiveBlockIdByBlockNames,
1537
+ __experimentalGetAllowedBlocks,
1538
+ __experimentalGetAllowedPatterns,
1539
+ __experimentalGetBlockListSettingsForBlocks,
1540
+ __experimentalGetDirectInsertBlock,
1541
+ __experimentalGetGlobalBlocksByName,
1542
+ __experimentalGetLastBlockAttributeChanges,
1543
+ __experimentalGetParsedPattern,
1544
+ __experimentalGetPatternTransformItems,
1545
+ __experimentalGetPatternsByBlockTypes,
1546
+ __experimentalGetReusableBlockTitle,
1547
+ __unstableGetBlockWithoutInnerBlocks,
1548
+ __unstableGetClientIdWithClientIdsTree,
1549
+ __unstableGetClientIdsTree,
1550
+ __unstableGetContentLockingParent,
1551
+ __unstableGetSelectedBlocksWithPartialSelection,
1552
+ __unstableGetTemporarilyEditingAsBlocks,
1553
+ __unstableGetTemporarilyEditingFocusModeToRevert,
1554
+ __unstableGetVisibleBlocks,
1555
+ __unstableHasActiveBlockOverlayActive,
1556
+ __unstableIsFullySelected,
1557
+ __unstableIsLastBlockChangeIgnored,
1558
+ __unstableIsSelectionCollapsed,
1559
+ __unstableIsSelectionMergeable,
1560
+ __unstableIsWithinBlockOverlay,
1561
+ __unstableSelectionHasUnmergeableBlock,
1562
+ areInnerBlocksControlled,
1563
+ canEditBlock,
1564
+ canInsertBlockType,
1565
+ canInsertBlocks,
1566
+ canLockBlockType,
1567
+ canMoveBlock,
1568
+ canMoveBlocks,
1569
+ canRemoveBlock,
1570
+ canRemoveBlocks,
1571
+ didAutomaticChange,
1572
+ getAdjacentBlockClientId,
1573
+ getAllowedBlocks,
1574
+ getBlock,
1575
+ getBlockAttributes,
1576
+ getBlockCount,
1577
+ getBlockEditingMode,
1578
+ getBlockHierarchyRootClientId,
1579
+ getBlockIndex,
1580
+ getBlockInsertionPoint,
1581
+ getBlockListSettings,
1582
+ getBlockMode,
1583
+ getBlockName,
1584
+ getBlockNamesByClientId,
1585
+ getBlockOrder,
1586
+ getBlockParents,
1587
+ getBlockParentsByBlockName,
1588
+ getBlockRootClientId,
1589
+ getBlockSelectionEnd,
1590
+ getBlockSelectionStart,
1591
+ getBlockTransformItems,
1592
+ getBlocks,
1593
+ getBlocksByClientId,
1594
+ getBlocksByName,
1595
+ getClientIdsOfDescendants,
1596
+ getClientIdsWithDescendants,
1597
+ getDirectInsertBlock,
1598
+ getDraggedBlockClientIds,
1599
+ getFirstMultiSelectedBlockClientId,
1600
+ getGlobalBlockCount,
1601
+ getHoveredBlockClientId,
1602
+ getInserterItems,
1603
+ getLastMultiSelectedBlockClientId,
1604
+ getLowestCommonAncestorWithSelectedBlock,
1605
+ getMultiSelectedBlockClientIds,
1606
+ getMultiSelectedBlocks,
1607
+ getMultiSelectedBlocksEndClientId,
1608
+ getMultiSelectedBlocksStartClientId,
1609
+ getNextBlockClientId,
1610
+ getPatternsByBlockTypes,
1611
+ getPreviousBlockClientId,
1612
+ getSelectedBlock,
1613
+ getSelectedBlockClientId,
1614
+ getSelectedBlockClientIds,
1615
+ getSelectedBlockCount,
1616
+ getSelectedBlocksInitialCaretPosition,
1617
+ getSelectionEnd,
1618
+ getSelectionStart,
1619
+ getSettings,
1620
+ getTemplate,
1621
+ getTemplateLock,
1622
+ hasBlockMovingClientId,
1623
+ hasDraggedInnerBlock,
1624
+ hasInserterItems,
1625
+ hasMultiSelection,
1626
+ hasSelectedBlock,
1627
+ hasSelectedInnerBlock,
1628
+ isAncestorBeingDragged,
1629
+ isAncestorMultiSelected,
1630
+ isBlockBeingDragged,
1631
+ isBlockHighlighted,
1632
+ isBlockInsertionPointVisible,
1633
+ isBlockMultiSelected,
1634
+ isBlockSelected,
1635
+ isBlockValid,
1636
+ isBlockVisible,
1637
+ isBlockWithinSelection,
1638
+ isCaretWithinFormattedText,
1639
+ isDraggingBlocks,
1640
+ isFirstMultiSelectedBlock,
1641
+ isGroupable,
1642
+ isLastBlockChangePersistent,
1643
+ isMultiSelecting,
1644
+ isSelectionEnabled,
1645
+ isTyping,
1646
+ isUngroupable,
1647
+ isValidTemplate,
1648
+ wasBlockJustInserted
1649
+ };
1650
+ //# sourceMappingURL=selectors.js.map